@font-face{font-family:Vazirmatn;src:url('/fonts/Vazirmatn.woff2') format('woff2');font-display:swap}
:root{color-scheme:dark;--night:#1c101d;--surface:#2c1929;--raised:#362136;--cream:#f7ecdf;--muted:#c1a9b8;--accent:#e0b47b;--rose:#e4a0b4;--line:rgba(234,191,180,.18);--shadow:0 1.5rem 5rem rgba(10,4,17,.24);font-family:Vazirmatn,sans-serif}
:root[data-theme=underworld]{--night:#101626;--surface:#1b2439;--raised:#26314a;--cream:#eee9e9;--muted:#aab4ce;--accent:#d8c1a1;--rose:#a8bce7;--line:rgba(176,190,226,.2)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:6rem}body{margin:0;background:radial-gradient(ellipse at 90% 0,rgba(140,37,76,.16),transparent 45rem),radial-gradient(ellipse at 4% 38%,rgba(44,66,116,.2),transparent 45rem),var(--night);color:var(--cream);line-height:1.8;min-width:20rem}button,input,textarea,select{font:inherit}a{color:inherit;text-decoration:none}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:.12rem solid var(--accent);outline-offset:.25rem}p{overflow-wrap:anywhere}h1,h2,h3,p{margin-top:0}h2{font-size:1.7rem;font-weight:500}h3{font-size:1.1rem;font-weight:500}.muted,small{color:var(--muted)}.eyebrow{font-size:.7rem;color:var(--accent);letter-spacing:.025em}.story-copy{white-space:pre-wrap;line-height:2.1;color:var(--muted);font-size:.94rem;overflow-wrap:anywhere}.skip-link{position:absolute;top:-5rem;z-index:100;background:var(--cream);color:var(--night);padding:.5rem}.skip-link:focus{top:0}.loading-screen{min-height:100vh;display:grid;place-content:center;text-align:center}.loading-star{font-size:2.5rem;color:var(--accent)}
.story-shell{max-width:83rem;margin:auto;padding:0 3rem}.world-header{display:flex;align-items:center;gap:1.5rem;padding:1.4rem 0;border-bottom:1px solid var(--line);flex-wrap:wrap}.world-header>.action-row{margin-inline-start:auto}.story-brand{font-family:Georgia,serif;font-size:1.8rem;letter-spacing:-.07em;color:var(--cream)}.story-brand::after{content:' ✧';color:var(--accent);font-size:1.2rem}.action-row{display:flex;align-items:center;flex-wrap:wrap;gap:.7rem}.button,.date-field-button,.slot-button{display:inline-flex;justify-content:center;align-items:center;min-height:2.75rem;padding:.65rem 1.2rem;border:1px solid var(--line);border-radius:.8rem;color:var(--cream);background:var(--raised);font-size:.8rem;transition:transform .2s,background .2s}.button:hover,.slot-button:hover{transform:translateY(-.12rem);background:var(--surface)}.button-primary{background:var(--accent);color:#2a1723;border-color:var(--accent)}.button-primary:hover{background:#f0cd9c}.button-quiet{background:transparent}.text-button{background:none;border:0;color:var(--rose);padding:.45rem .15rem;font-size:.77rem;min-height:2.5rem}.text-button:hover{text-decoration:underline}.story-hero{display:grid;grid-template-columns:1.5fr 1fr;align-items:center;gap:5rem;padding:5rem 1rem 3rem}.hero-letter h1{font-size:clamp(2.2rem,4vw,3.5rem);font-weight:400;line-height:1.7;letter-spacing:-.06em;white-space:pre-line;margin:1rem 0 1.5rem}.hero-letter>.story-copy{max-width:34rem}.hero-letter>.action-row{margin-top:2rem}.story-portrait{position:relative;max-width:19rem;margin:auto;transform:rotate(-4deg);padding:.7rem .7rem 3rem;background:#f0dfc8;box-shadow:var(--shadow);border-radius:.3rem}.story-portrait::before{content:'✧';position:absolute;left:-2rem;top:-1.5rem;color:var(--accent);font-size:3rem;z-index:2}.story-portrait .story-photo{aspect-ratio:4/5;max-height:none;border-radius:.1rem;object-position:center 30%}.portrait-caption{position:absolute;bottom:.8rem;inset-inline:0;text-align:center;font-size:.7rem;color:#5c3347}.living-world{position:relative;border-top:1px solid var(--line);padding-top:1rem}.living-world>.action-row{justify-content:center}.world-mount{height:29rem;position:relative;overflow:hidden;background:radial-gradient(ellipse,rgba(155,96,130,.08),transparent 64%);isolation:isolate}.world-mount canvas{position:absolute;inset:0;width:100%;height:100%}.mind-node{position:absolute;z-index:2;padding:.55rem .9rem;border-radius:2rem;border:1px solid var(--line);background:var(--surface);color:var(--cream);font-size:.75rem;box-shadow:0 0 2rem rgba(158,102,139,.12);transition:transform .25s}.mind-node:hover{transform:scale(1.08)}.mind-node-0{top:18%;right:24%}.mind-node-1{top:47%;right:15%}.mind-node-2{bottom:14%;right:27%}.mind-node-3{top:18%;left:23%}.mind-node-4{top:47%;left:15%}.mind-node-5{bottom:14%;left:25%}.globe-labels{position:absolute;inset:0;pointer-events:none}.globe-city{position:absolute;pointer-events:auto;display:flex;gap:.4rem;align-items:center;transform:translate(-50%,-50%);border:1px solid var(--line);background:var(--surface);color:var(--cream);padding:.4rem .7rem;border-radius:1rem;font-size:.75rem}.globe-connectors{position:absolute;inset:0;width:100%;height:100%;stroke:var(--accent);stroke-width:1;opacity:.4}.globe-city-icon{font-size:1rem}.globe-loading{position:absolute;bottom:.5rem;inset-inline:0;text-align:center;font-size:.75rem;color:var(--muted)}
.story-nav{position:sticky;top:0;z-index:5;display:flex;gap:.4rem;overflow:auto;padding:.75rem .25rem;border-block:1px solid var(--line);background:var(--night);scrollbar-width:thin;scrollbar-color:var(--raised) transparent}.nav-button{border:0;background:transparent;color:var(--muted);font-size:.75rem;white-space:nowrap;padding:.6rem .9rem;border-radius:2rem;min-height:2.75rem}.nav-button[aria-current=page]{color:var(--cream);background:var(--raised)}.story-panel{min-height:20rem;padding:3rem 0 5rem;scroll-margin-top:6rem}.story-panel>h2{margin:.5rem 0 1.5rem}.story-panel>.action-row{margin-bottom:1.5rem}.story-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1.5rem 0}.story-card{min-width:0;position:relative;border:1px solid var(--line);padding:1.5rem;border-radius:1.2rem;background:linear-gradient(140deg,var(--surface),var(--night));margin-bottom:1rem;overflow:hidden}.story-card h3{margin:.6rem 0}.story-card>.story-copy{font-size:.85rem;margin-bottom:1rem}.story-card>.story-photo{margin-bottom:1rem}.story-photo{display:block;width:100%;max-height:24rem;object-fit:cover;border-radius:.7rem}.photo-grid,.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.5rem}.photo-grid .story-card{padding:.7rem}.photo-grid .story-photo{aspect-ratio:3/4;object-fit:cover}.review-grid .story-card{padding:1rem}.review-grid .story-copy{max-height:16rem;overflow:auto}.review-label{display:flex;align-items:center;justify-content:space-between;font-size:.7rem;color:var(--muted)}.review-label input{width:auto}.media-audio{display:grid;gap:.3rem;margin:1rem 0}.media-audio audio{width:100%;height:2.8rem}.empty-message{color:var(--muted);border:1px dashed var(--line);padding:2rem;border-radius:1rem;font-size:.85rem;grid-column:1/-1}.story-footer{padding:2rem 0 3rem;border-top:1px solid var(--line);text-align:center;color:var(--muted);font-size:.75rem}.story-panel>details{margin:2rem 0;color:var(--muted);font-size:.8rem}.countdown{font-size:2rem;color:var(--accent);margin:1.5rem 0}
.entrance{min-height:100vh;display:grid;place-items:center;padding:2rem 1rem;background:radial-gradient(ellipse at 50% 20%,rgba(131,49,84,.22),transparent 40rem)}.entrance-card{max-width:31rem;width:100%;padding:2.5rem;border:1px solid var(--line);border-radius:1.6rem;background:var(--surface);box-shadow:var(--shadow)}.entrance-card h1{font-size:2rem;font-weight:400;line-height:1.8;white-space:pre-line;margin:1rem 0 2rem}.entrance-card>.muted{font-size:.75rem;margin-top:1rem}.story-form{display:grid;gap:1rem}.form-field{display:grid;gap:.4rem;color:var(--cream);font-size:.8rem}.form-field:has(input[type=checkbox]){display:flex;align-items:center;gap:.75rem}.form-field input[type=checkbox]{width:1.2rem;height:1.2rem}.form-field input[type=file]{font-size:.7rem}.story-form details{border:1px solid var(--line);border-radius:.6rem;padding:.75rem;color:var(--muted);font-size:.8rem}.story-form details .form-field{margin-top:.75rem}input,textarea,select{width:100%;min-width:0;padding:.75rem;border:1px solid var(--line);border-radius:.65rem;background:var(--night);color:var(--cream);font-size:.85rem}input[type=time],input[type=password],input[type=email],input[type=url],input[type=number]{direction:ltr}textarea{resize:vertical;line-height:1.9}.date-field-button{justify-content:flex-start;width:100%}.form-error{color:#f5b4b1;font-size:.8rem;white-space:pre-wrap;margin:0}.story-dialog{border:1px solid var(--line);border-radius:1.4rem;padding:0;background:var(--surface);color:var(--cream);width:min(94vw,38rem);max-height:90vh;overflow:auto;box-shadow:var(--shadow)}.story-dialog::backdrop{background:rgba(10,5,17,.8);backdrop-filter:blur(.5rem)}.dialog-content{padding:2rem;perspective:60rem}.dialog-content>.action-row{justify-content:space-between}.dialog-content>h2{font-size:1.4rem;margin:1rem 0 1.5rem}.dialog-content>small{display:block;margin-top:1rem}.close-button{border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--cream);width:2.5rem;height:2.5rem;font-size:1.4rem}.upload-preview .story-photo{max-height:14rem;object-fit:contain}.upload-field{padding:1rem;border:1px dashed var(--line);border-radius:.8rem}.upload-field input{padding:.4rem}.signal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem;margin:2rem 0}.signal-button{border:1px solid var(--line);background:var(--surface);color:var(--rose);border-radius:1rem;padding:1.1rem .75rem;font-size:.85rem;transition:transform .2s}.signal-button:hover{transform:translateY(-.2rem)}.gentle-paper{position:relative;transform-style:preserve-3d;background:#f2e1c9;color:#4b2837;border-radius:.3rem;padding:2rem 1.5rem;margin:1rem 0;box-shadow:0 1rem 2rem rgba(0,0,0,.15)}.gentle-paper p{white-space:pre-wrap;line-height:2.2}.gentle-paper textarea{background:#ead6ba;color:#4b2837;border-color:#b99b83;margin:1rem 0}.gentle-paper .eyebrow{color:#79512d}.gentle-paper .button{margin-top:.5rem}.gentle-paper .muted{color:#795b6c}.sensitive-copy{direction:inherit;overflow-wrap:anywhere}
.visual-layer{position:absolute;inset:0}
@property --burn{syntax:'<percentage>';inherits:false;initial-value:0%}.burning-paper{--burn:0%;pointer-events:none;animation:releasePaper 2.4s ease-in forwards;clip-path:polygon(0 var(--burn),18% calc(var(--burn) - 3%),35% calc(var(--burn) + 2%),55% calc(var(--burn) - 2%),76% calc(var(--burn) + 4%),100% var(--burn),100% 100%,0 100%);filter:drop-shadow(0 -.2rem .4rem #e67c39)}.burning-paper::after{content:'';position:absolute;inset-inline:0;top:var(--burn);height:2rem;background:linear-gradient(#f2c278,#bb502c,transparent);filter:blur(.4rem);animation:fireFlicker .2s infinite alternate}.ember{position:absolute;left:var(--left);top:30%;width:.2rem;height:.3rem;background:#ffc580;border-radius:50%;box-shadow:0 0 .75rem #ef8e51;animation:emberRise 1.5s ease-out var(--delay) infinite;pointer-events:none}.paper-fade{opacity:0;transition:opacity .25s}@keyframes releasePaper{0%{--burn:0%;transform:rotateX(0) rotateZ(0)}65%{opacity:1}100%{--burn:105%;transform:translateY(1rem) rotateX(24deg) rotateZ(-4deg) scale(.93);opacity:0}}@keyframes fireFlicker{to{opacity:.65;transform:scaleY(1.3)}}@keyframes emberRise{to{transform:translate(var(--drift),-12rem) rotate(160deg);opacity:0}}
.calendar-layout{display:grid;grid-template-columns:minmax(17rem,.8fr) minmax(0,1.2fr);gap:1.5rem;align-items:start;margin-top:1.5rem}.calendar-card{border:1px solid var(--line);border-radius:1.2rem;padding:1rem;background:var(--surface)}.calendar-head{display:flex;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:1rem}.calendar-head button{background:transparent;border:0;color:var(--accent);padding:.6rem;font-size:.72rem}.calendar-head strong{font-size:.9rem;font-weight:500}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.25rem;text-align:center}.calendar-grid>span{padding:.5rem;font-size:.7rem;color:var(--muted)}.calendar-grid button{position:relative;background:transparent;color:var(--cream);border:1px solid transparent;min-height:2.7rem;border-radius:.6rem;font-size:.85rem}.calendar-grid button:hover{border-color:var(--line)}.calendar-grid .selected{background:var(--accent);color:var(--night)}.calendar-grid .has-event::after{content:'';position:absolute;bottom:.2rem;left:calc(50% - .13rem);width:.26rem;height:.26rem;border-radius:50%;background:var(--rose)}.availability{border-top:1px solid var(--line);padding-top:1rem;font-size:.8rem}.availability input{max-width:4rem;padding:.5rem}.availability .action-row{margin-bottom:.75rem}.slot-button{padding:.35rem .7rem;font-size:.75rem}.story-panel>.action-row>select{flex:1;max-width:15rem}.agenda .story-card{margin:1rem 0}.agenda .story-photo{max-height:12rem}
#toast{position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%,1rem);opacity:0;z-index:100;pointer-events:none;background:var(--raised);color:var(--cream);border:1px solid var(--line);border-radius:1rem;padding:.8rem 1.3rem;font-size:.8rem;max-width:90vw;transition:.25s}#toast.visible{opacity:1;transform:translate(-50%,0)}
@media(max-width:850px){.story-shell{padding:0 1.5rem}.story-hero{gap:2rem;padding:3rem 0}.story-portrait{max-width:15rem}.photo-grid,.review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.world-header{gap:1rem}.calendar-layout{grid-template-columns:1fr}.calendar-card{max-width:30rem;width:100%;margin:auto}.mind-node-0{right:15%}.mind-node-1{right:4%}.mind-node-2{right:18%}.mind-node-3{left:15%}.mind-node-4{left:4%}.mind-node-5{left:18%}}
@media(max-width:560px){.story-shell{padding:0 1rem}.world-header{gap:.6rem;padding:1rem 0}.world-header>.eyebrow{margin-inline-start:auto}.world-header>.action-row{width:100%;justify-content:space-between}.world-header .button{font-size:.7rem;padding:.45rem .8rem;min-height:2.4rem}.story-hero{grid-template-columns:1fr;padding:2.5rem .5rem 2rem;gap:3rem}.hero-letter h1{font-size:2.25rem}.hero-letter>.story-copy{font-size:.85rem}.story-portrait{max-width:13rem;transform:rotate(-3deg)}.story-grid{grid-template-columns:1fr}.photo-grid,.review-grid{gap:.6rem}.review-grid{grid-template-columns:1fr}.photo-grid .story-card h3{font-size:.85rem}.photo-grid .story-card .story-copy{font-size:.75rem}.world-mount{height:23rem}.mind-node{font-size:.65rem;padding:.4rem .6rem}.mind-node-0{right:5%;top:14%}.mind-node-3{left:5%;top:14%}.mind-node-1{right:0}.mind-node-4{left:0}.mind-node-2{right:8%;bottom:12%}.mind-node-5{left:8%;bottom:12%}.living-world>.action-row>.eyebrow{width:100%;text-align:center}.signal-grid{grid-template-columns:repeat(2,1fr)}.dialog-content{padding:1.25rem}.entrance-card{padding:1.6rem}.story-panel{padding-top:2rem}.story-nav{margin-inline:-1rem;padding-inline:1rem}.gentle-paper{padding:1.5rem 1rem}.story-card{padding:1.2rem}.story-panel>.action-row>select{max-width:none;flex:1 1 40%}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}.burning-paper{opacity:0}}
