@font-face{font-family:Vazir;src:url('assets/vazirmatn.woff2') format('woff2');font-weight:100 900;font-display:swap}@font-face{font-family:Pixel;src:url('assets/pixel.woff2') format('woff2');font-weight:400 700;font-display:swap}
:root{--ink:#492b60;--muted:#795782;--cream:#fff7e9;--accent:#e45196;--edge:#7b4e91}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;overscroll-behavior:none}body{font-family:Vazir,Tahoma,sans-serif;background:#e5d3f1;color:var(--ink);-webkit-font-smoothing:antialiased;transition:color .4s}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{font:inherit;color:inherit;cursor:pointer;border:0}button:focus-visible,a:focus-visible{outline:3px solid #fa77b3;outline-offset:6px}a{color:inherit;text-decoration:none}[hidden]{display:none!important}h1,h2,h3,p{margin:0}::selection{background:#e877ac;color:white}#universe{position:fixed;inset:0;overflow:hidden;isolation:isolate;touch-action:none;user-select:none}#world{position:absolute;inset:0;width:100%;height:100%;image-rendering:pixelated;image-rendering:crisp-edges;touch-action:none}.vignette{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 43%,transparent 45%,#6f3a8e13 100%);pointer-events:none}.screen-edge{position:absolute;inset:12px;border:1px solid #835c8d20;pointer-events:none;z-index:5}.screen-edge:before,.screen-edge:after{content:'+';position:absolute;font:17px Pixel,monospace;opacity:.35;top:-10px}.screen-edge:before{left:-6px}.screen-edge:after{right:-6px}.hud{position:absolute;z-index:10;top:max(32px,env(safe-area-inset-top));left:4.5%;right:4.5%;display:flex;align-items:center;justify-content:space-between;direction:ltr}.brand{display:flex;align-items:center;gap:13px;font:600 22px/1 Pixel,'Courier New',monospace;letter-spacing:1px}.brand-sub{display:block;font:400 9px/1.6 Pixel,'Courier New',monospace;letter-spacing:.3px;opacity:.6;margin-top:5px}.brand-heart{width:24px;height:21px;background:#e55c9b;clip-path:polygon(0 14%,14% 14%,14% 0,43% 0,43% 14%,57% 14%,57% 0,86% 0,86% 14%,100% 14%,100% 57%,86% 57%,86% 71%,71% 71%,71% 86%,57% 86%,57% 100%,43% 100%,43% 86%,29% 86%,29% 71%,14% 71%,14% 57%,0 57%);filter:drop-shadow(0 3px #74366c)}.hud-right{display:flex;gap:9px;align-items:center;direction:rtl}.hud-right button{background:#fff7f436;border:1px solid #84609244;height:36px;min-width:36px;display:flex;justify-content:center;align-items:center;gap:9px;font-size:10px;transition:background .2s,padding .2s;padding:0 12px}.hud-right button:hover{background:#fff6}.sound-icon{font:21px Pixel,monospace}.hud-right .help-button{font:19px Pixel,monospace;padding:0}.hud-right button[aria-pressed=true] .sound-icon{animation:sound-bounce .8s steps(2,end) infinite}.chapter-name{position:absolute;top:116px;left:4.5%;display:flex;gap:7px;align-items:center;font:10px Pixel,'Courier New',monospace;letter-spacing:1px;z-index:4;opacity:.6}.live-dot{width:5px;height:5px;background:currentColor}.scene-copy{position:absolute;top:17%;left:7%;right:7%;text-align:center;z-index:3;pointer-events:none;will-change:opacity,transform}.pixel-tag{display:block;font:11px Pixel,'Courier New',monospace;letter-spacing:1.5px;opacity:.65}.scene-copy h1,.scene-copy h2{font-weight:600;letter-spacing:-.7px;line-height:1.8;margin-top:8px;font-size:clamp(26px,3vw,41px)}.scene-copy p{font-size:12px;line-height:2;color:var(--muted);margin-top:1px}.floating-note{position:absolute;top:45%;left:20%;z-index:3;transform:rotate(-9deg);font-size:11px;pointer-events:none}.floating-note span{background:#fff1ce;padding:7px 11px;box-shadow:3px 3px 0 #89608622}.floating-note i{display:block;font:36px Georgia;margin:9px 0 0 45px;color:#a26e94;transform:rotate(-15deg)}.heart-footer{position:absolute;bottom:19%;left:5%;right:5%;z-index:3;text-align:center;font-size:11px;pointer-events:none;color:var(--muted)}.travel-hud{position:absolute;bottom:max(29px,calc(env(safe-area-inset-bottom) + 17px));left:50%;transform:translateX(-50%);width:250px;z-index:10;text-align:center;display:flex;flex-direction:column;align-items:center;gap:13px}.travel-button{background:transparent;font-size:11px;display:flex;flex-direction:column;align-items:center;gap:10px;padding:8px 12px;min-width:180px}.travel-arrow{font:22px Pixel,monospace;animation:arrow-bob 1.4s steps(4,end) infinite;color:var(--accent)}.journey-meter{height:3px;width:150px;background:#9f7ea72b;direction:ltr;position:relative}.journey-meter>i{display:block;height:3px;width:100%;background:var(--accent);transform-origin:left;transform:scaleX(0)}.checkpoint{position:absolute;top:-2px;width:7px;height:7px;background:#ad88b6;border:2px solid #d7b8df}.checkpoint.one{left:0}.checkpoint.two{left:59%}.checkpoint.three{right:0}.checkpoint.active{background:#f278b4;border-color:#8b4f92}.travel-detail{font:8px Pixel,'Courier New',monospace;letter-spacing:1.4px;opacity:.45}.cake-copy{top:15%}.cake-controls{position:absolute;bottom:145px;left:5%;right:5%;text-align:center;z-index:6}.cake-controls>p{font-size:12px;margin-bottom:14px;min-height:25px;line-height:1.8}.cake-actions{display:flex;justify-content:center;align-items:center;gap:19px}.pixel-button{padding:12px 20px;background:#fff2d8;border:2px solid #76507f;box-shadow:4px 4px 0 #76507f;display:inline-flex;align-items:center;justify-content:center;gap:14px;font-size:11px;min-height:47px;transition:transform .1s,box-shadow .1s;line-height:1.8}.pixel-button.primary{background:#593068;color:#fff1f9;border-color:#3e2151;box-shadow:4px 4px 0 #b985b5}.pixel-button:hover{transform:translate(-1px,-1px);box-shadow:5px 5px 0 #76507f}.pixel-button:active{transform:translate(3px,3px);box-shadow:1px 1px 0 #76507f}.manual-button{background:transparent;font-size:10px;min-height:44px;padding:9px 5px;text-decoration:underline;text-underline-offset:6px;text-decoration-color:#ab7f9b88}.manual-button span{margin-right:8px;font-size:20px}.privacy-note{font-size:8px;color:var(--muted);display:block;margin-top:14px}.breath-meter{height:4px;overflow:hidden;width:140px;margin:18px auto 0;background:#cb9ebd;direction:ltr}.breath-meter i{display:block;width:100%;height:100%;background:#df518f;transform:scaleX(0);transform-origin:left}.wish-success{position:absolute;left:6%;right:6%;top:18%;text-align:center;z-index:4;pointer-events:none}.wish-success h2{font-size:29px;font-weight:500;margin:10px 0}.wish-success p{font-size:12px}.finale-copy{top:15%}.finale-copy h2{font:600 clamp(32px,5vw,72px)/1.4 Pixel,'Courier New',monospace;letter-spacing:1px;margin:8px 0 0;text-shadow:4px 4px 0 #9e4f9755}.finale-copy p{font-size:11px}.finale-footer{position:absolute;bottom:110px;left:5%;right:5%;z-index:5;text-align:center}.finale-footer h3{font-size:20px;font-weight:550}.finale-footer>p{font-size:11px;line-height:2;margin-top:9px;color:var(--muted)}.finale-buttons{margin-top:19px;display:flex;align-items:center;justify-content:center;gap:17px}.finale-buttons .pixel-button{border-color:#a979b4;box-shadow:4px 4px 0 #774c91;color:#5d316c;background:#fff0cf}.confetti-button{font:35px Pixel,monospace;background:transparent;width:45px;height:45px;color:#ffd69e;transition:transform .4s steps(4,end)}.confetti-button:hover{transform:rotate(90deg)}.replay-button{background:transparent;font-size:9px;padding:14px;margin-top:7px;color:var(--muted);min-height:40px}.gate-hint{position:absolute;bottom:115px;left:50%;transform:translateX(-50%);padding:9px 14px;background:#fff1da;color:#7f4d7b;white-space:nowrap;font-size:10px;box-shadow:3px 3px 0 #b281ad;z-index:20}.audio-notice{position:absolute;top:90px;right:5%;max-width:250px;font-size:10px;background:#fff1da;color:#593068;padding:10px 15px;z-index:30}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.noscript{position:fixed;inset:20%;background:#fff1da;color:#593068;padding:30px;z-index:50;line-height:2}body[data-phase=inside],body[data-phase=finale]{--ink:#fff0ed;--muted:#e0b3da;--accent:#ffca95;--edge:#a877bb}body[data-phase=inside] .hud-right button,body[data-phase=finale] .hud-right button{border-color:#d8a9eb40;background:#d2b6e20d}body[data-phase=inside] .screen-edge,body[data-phase=finale] .screen-edge{border-color:#d2b6e217}body[data-phase=finale] .travel-hud{gap:8px}body[data-phase=finale] .travel-button{display:none}body[data-phase=finale] .travel-detail{opacity:.45}dialog{background:#fff4e3;border:3px solid #85538e;color:#5c3665;box-shadow:9px 9px 0 #4f26577a;width:440px;max-width:calc(100vw - 48px);max-height:83svh;padding:43px 32px 25px;overflow-y:auto;line-height:2;overscroll-behavior:contain}dialog::backdrop{background:#2d123d9e;backdrop-filter:blur(4px)}dialog .pixel-tag{font-size:8px;text-align:center;letter-spacing:1px}dialog h2{font-size:23px;font-weight:550;margin:15px 0}dialog p{font-size:12px;line-height:2.3;margin-bottom:15px}.close-modal{position:absolute;left:9px;top:4px;font:28px Pixel,monospace;background:transparent;min-width:40px;min-height:40px;color:#794b80}.letter-spark{font:60px Georgia;color:#e576a7;display:block;text-align:center;margin-top:5px}.letter-sign{border-top:1px dashed #c7a2b5;padding-top:15px;color:#93628a;font-size:10px}.letter-sign strong{font-size:14px;line-height:3}#help .pixel-button{margin-top:8px}.world-paused .travel-arrow{animation-play-state:paused}
@keyframes arrow-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}@keyframes sound-bounce{50%{transform:translateY(-3px)}}
@media(min-width:1600px){.floating-note{left:26%}.cake-controls{bottom:17%}.heart-footer{bottom:20%}.finale-footer{bottom:12%}}
@media(max-width:700px){.screen-edge{inset:8px}.hud{top:max(24px,env(safe-area-inset-top));left:7%;right:7%}.brand{font-size:19px;gap:10px}.brand-sub{font-size:7px;margin-top:4px}.brand-heart{width:20px;height:18px}.hud-right{gap:7px}.hud-right button{height:33px;min-width:33px;padding:0 10px;font-size:9px}.hud-right .help-button{font-size:17px}.chapter-name{top:95px;left:7%;font-size:8px;letter-spacing:.5px}.scene-copy{top:18%;left:5%;right:5%}.pixel-tag{font-size:8px;letter-spacing:.8px}.scene-copy h1,.scene-copy h2{font-size:27px;letter-spacing:-.5px;margin-top:6px}.scene-copy p{font-size:10px;margin-top:3px}.floating-note{left:9%;top:40%;font-size:8px}.floating-note span{padding:5px 7px;box-shadow:2px 2px 0 #89608633}.floating-note i{font-size:25px;margin:9px 0 0 12px}.heart-footer{bottom:23%;font-size:10px}.travel-hud{bottom:max(27px,calc(env(safe-area-inset-bottom) + 18px));gap:9px;width:230px}.travel-button{font-size:10px;gap:9px}.travel-arrow{font-size:19px}.travel-detail{font-size:7px;letter-spacing:1px}.journey-meter{width:125px}.cake-copy{top:16%}.cake-copy h2{font-size:25px}.cake-copy .pixel-tag{font-size:7px}.cake-copy p{font-size:9px}.cake-controls{bottom:131px;left:6%;right:6%}.cake-controls>p{font-size:10px;margin-bottom:11px;min-height:20px}.cake-actions{gap:9px;flex-direction:column}.pixel-button{font-size:10px;padding:10px 17px;min-height:45px;gap:10px;box-shadow:3px 3px 0 #76507f}.manual-button{font-size:9px;min-height:31px;padding:4px 6px}.manual-button span{font-size:16px}.privacy-note{font-size:7px;margin-top:7px}.breath-meter{margin-top:10px;width:125px}.wish-success{top:19%}.wish-success .pixel-tag{font-size:7px}.wish-success h2{font-size:26px}.wish-success p{font-size:10px}.finale-copy{top:17%}.finale-copy h2{font-size:37px;text-shadow:3px 3px 0 #9e4f9755;letter-spacing:0}.finale-copy .pixel-tag{font-size:7px}.finale-copy p{font-size:9px}.finale-footer{bottom:103px}.finale-footer h3{font-size:17px}.finale-footer>p{font-size:9px;line-height:2}.finale-buttons{margin-top:15px;gap:11px}.replay-button{margin-top:2px;font-size:8px;padding:10px}.confetti-button{font-size:30px}.gate-hint{bottom:111px;font-size:9px;max-width:90%;text-align:center;white-space:normal}.audio-notice{top:70px;font-size:9px}dialog{padding:40px 24px 20px}dialog h2{font-size:21px}dialog p{font-size:11px}.letter-spark{font-size:50px}}
@media(max-height:700px){.chapter-name{top:77px}.scene-copy{top:17%}.scene-copy h1,.scene-copy h2{font-size:24px}.scene-copy p{font-size:9px}.cake-controls{bottom:110px}.cake-controls>p{font-size:9px;margin-bottom:8px}.cake-actions{gap:4px}.privacy-note{display:none}.heart-footer{bottom:22%;font-size:9px}.travel-hud{bottom:22px;gap:7px}.finale-footer{bottom:75px}.finale-footer>p{font-size:8px;margin-top:4px}.finale-footer h3{font-size:15px}.finale-buttons{margin-top:10px}.replay-button{min-height:28px;padding:8px}.finale-copy h2{font-size:32px}.finale-copy p{font-size:8px}.hud{top:21px}.wish-success{top:17%}.floating-note{top:42%}.finale-footer .pixel-button{min-height:38px;padding:8px 13px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.scene-copy{will-change:auto}.vignette{display:none}}
