@font-face{font-family:"Baloo 2";src:url(/fonts/Baloo2-Variable.ttf)format("truetype");font-style:normal;font-weight:400 800;font-display:swap}@font-face{font-family:Bangers;src:url(/fonts/Bangers-Regular.ttf)format("truetype");font-style:normal;font-weight:400;font-display:swap}:root{color:#e9eefc;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--ink:#e9eefc;--muted:#8d98b5;--line:#b0c2eb2b;--glass:#080c1bb8;--accent:#91b8ff;background:#050711;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}body{background:radial-gradient(circle at 50% 38%,#23335842,#0000 38%),#050711;min-width:320px;min-height:100dvh}button,canvas{-webkit-tap-highlight-color:transparent}.app-shell,.scene-root,#scene-canvas{position:absolute;inset:0}.app-shell{isolation:isolate;background:#050711}.scene-root{touch-action:none}#scene-canvas{outline:none;width:100%;height:100%;display:block}#scene-canvas:focus-visible{box-shadow:inset 0 0 0 1px #91b8ff8c}#scene-canvas[data-object-hover=true]{cursor:pointer}.app-shell:after{z-index:1;pointer-events:none;content:"";background:linear-gradient(#01030a38,#0000 22% 72%,#01030a61),radial-gradient(circle,#0000 48%,#00020857 100%);position:absolute;inset:0}.scene-info,.interaction-hint{z-index:2;transition:opacity .18s,visibility .18s;position:absolute}.app-shell[data-dialogue-visible=true] .scene-info,.app-shell[data-dialogue-visible=true] .interaction-hint{opacity:0;visibility:hidden}.app-shell[data-authoring-mode=false] .scene-info,.app-shell[data-authoring-mode=false] .interaction-hint{display:none}.eyebrow{color:var(--muted);letter-spacing:.18em;text-transform:uppercase;margin:0 0 8px;font-family:SFMono-Regular,Consolas,Liberation Mono,ui-monospace,monospace;font-size:10px;font-weight:500}.scene-info,.interaction-hint{border:1px solid var(--line);background:var(--glass);-webkit-backdrop-filter:blur(14px);box-shadow:0 16px 50px #0000002e}.scene-info{right:max(24px, env(safe-area-inset-right));bottom:max(24px, env(safe-area-inset-bottom));color:#aeb9d5;letter-spacing:.04em;text-transform:uppercase;border-radius:999px;align-items:center;gap:9px;padding:9px 12px;font-family:SFMono-Regular,Consolas,Liberation Mono,ui-monospace,monospace;font-size:9px;display:flex}.status-dot{background:#ffc96c;border-radius:50%;width:6px;height:6px;box-shadow:0 0 12px #ffc96cbf}.scene-info[data-state=ready] .status-dot{background:#8ce2ba;box-shadow:0 0 12px #8ce2babf}.scene-info[data-state=warning] .status-dot,.scene-info[data-state=error] .status-dot{background:#ff8b8b;box-shadow:0 0 12px #ff8b8bbf}.interaction-hint{bottom:max(24px, env(safe-area-inset-bottom));color:#7e89a5;letter-spacing:.04em;text-transform:uppercase;pointer-events:none;border-radius:999px;align-items:center;gap:10px;padding:9px 12px;font-family:SFMono-Regular,Consolas,Liberation Mono,ui-monospace,monospace;font-size:9px;display:flex;left:50%;transform:translate(-50%)}.interaction-hint i{background:var(--line);width:1px;height:10px}.objective-panel{top:max(24px, env(safe-area-inset-top));left:max(24px, env(safe-area-inset-left));z-index:3;color:#17213d;transform-origin:0 0;opacity:0;visibility:hidden;pointer-events:none;background:radial-gradient(circle at 11px 11px,#17213d14 2px,#0000 2.4px) 0 0/25px 25px,#fff7dc;border:3px solid #17213d;border-radius:15px 19px 15px 12px;width:min(330px,100vw - 48px);padding:17px 20px 16px 24px;transition:opacity .18s,visibility .18s,transform .28s cubic-bezier(.2,.88,.28,1.14);position:absolute;overflow:hidden;transform:translate(-28px)rotate(-1deg)scale(.96);box-shadow:7px 7px #17213d,0 18px 48px #00000047}.objective-panel:before{content:"";background:#ff6f73;width:8px;position:absolute;top:0;bottom:0;left:0;box-shadow:8px 0 #ffd064}.objective-panel[data-visible=true]{opacity:1;visibility:visible;transform:translate(0)rotate(-1deg)scale(1)}.objective-panel[data-state=complete]:before{background:#5bc99b;box-shadow:8px 0 #b8f1d8}.objective-panel[data-state=complete]{animation:.42s cubic-bezier(.18,.92,.26,1.24) both objective-complete-pop}.objective-label{color:#ee5664;letter-spacing:.075em;text-transform:uppercase;margin-bottom:4px;font-family:Bangers,Impact,sans-serif;font-size:17px;line-height:1;display:inline-block}.objective-panel[data-state=complete] .objective-label{color:#258863}.objective-title{letter-spacing:-.015em;font-family:"Baloo 2",ui-rounded,sans-serif;font-size:clamp(20px,2vw,25px);font-weight:800;line-height:1.06;display:block}.objective-instructions{color:#5c6073;margin:5px 0 0;font-family:"Baloo 2",ui-rounded,sans-serif;font-size:14px;font-weight:600;line-height:1.3}.achievement-trail{top:max(24px, env(safe-area-inset-top));right:max(24px, env(safe-area-inset-right));z-index:5;opacity:0;visibility:hidden;pointer-events:none;transform-origin:100% 0;width:max-content;max-width:calc(100vw - 48px);transition:opacity .18s,visibility .18s,transform .26s cubic-bezier(.2,.88,.28,1.14);position:absolute;transform:translateY(-8px)scale(.94)}.achievement-trail[data-visible=true]{opacity:1;visibility:visible;transform:translateY(0)scale(1)}.achievement-trail-list{align-items:center;gap:14px;margin:0;padding:0;list-style:none;display:flex}.achievement-trail-item{opacity:0;flex:0 0 54px;width:54px;height:54px;display:block;position:relative;transform:translateY(-10px)scale(.76)}.achievement-trail-item[data-unlocked=true]{animation:.48s cubic-bezier(.18,.92,.26,1.22) both achievement-node-unlock}.achievement-trail-item:not(:last-child):after{z-index:0;content:"";background:repeating-linear-gradient(90deg,#ffd064 0 5px,#fff7dc 5px 9px);border:2px solid #17213d;border-radius:2px;width:16px;height:8px;position:absolute;top:50%;left:calc(100% - 1px);transform:translateY(-50%);box-shadow:0 2px #0000002e}.achievement-trail-node{z-index:1;color:#17213d;appearance:none;cursor:help;pointer-events:auto;background:radial-gradient(circle at 36% 30%,#fff6c8 0 13%,#0000 14%),#ffd064;border:3px solid #17213d;border-radius:50%;place-items:center;width:54px;height:54px;margin:0;padding:0;transition:transform .15s,filter .15s;display:grid;position:relative;box-shadow:4px 5px #17213d,0 12px 28px #0000004d}.achievement-trail-node:is(:hover,:focus-visible){filter:brightness(1.06);outline:none;transform:translateY(-3px)rotate(-2deg)}.achievement-trail-node:focus-visible{box-shadow:0 0 0 3px #fff7dc,0 0 0 6px #ff6376,4px 5px #17213d,0 12px 28px #0000004d}.achievement-trail-node:after{border-radius:inherit;content:"";border:1px dashed #17213d52;position:absolute;inset:5px}.achievement-trail-node svg{z-index:1;fill:none;stroke:currentColor;stroke-width:2.3px;stroke-linecap:round;stroke-linejoin:round;width:31px;height:31px;position:relative;overflow:visible;transform:rotate(-8deg)}.achievement-trail-tooltip{z-index:4;color:#17213d;opacity:0;visibility:hidden;pointer-events:none;transform-origin:100% 0;background:#fff7dc;border:2px solid #17213d;border-radius:10px 8px 11px 7px;width:max-content;max-width:min(190px,100vw - 28px);padding:9px 11px 8px;font-family:"Baloo 2",ui-rounded,sans-serif;font-size:12px;font-weight:700;line-height:1.15;transition:opacity .13s,visibility .13s,transform .16s;display:grid;position:absolute;top:calc(100% + 13px);right:0;transform:translateY(-5px)scale(.96);box-shadow:3px 4px #17213d}.achievement-trail-tooltip strong{color:#e94f64;letter-spacing:.055em;font-family:Bangers,Impact,sans-serif;font-size:14px;font-weight:400}.achievement-trail-node:is(:hover,:focus-visible)+.achievement-trail-tooltip{opacity:1;visibility:visible;transform:translateY(0)scale(1)}.gameplay-feedback{z-index:6;color:#17213d;opacity:0;visibility:hidden;pointer-events:none;background:#fff7dc;border:2px solid #17213d;border-radius:11px 8px 12px 7px;width:max-content;max-width:min(260px,100vw - 28px);padding:8px 13px 7px;font-family:"Baloo 2",ui-rounded,sans-serif;font-size:14px;font-weight:800;line-height:1.1;position:absolute;transform:translate(-50%,calc(-100% - 8px))rotate(-2deg)scale(.78);box-shadow:3px 4px #17213d,0 10px 24px #00000038}.gameplay-feedback[data-tone=hint]{color:#17213d;background:#ffd064}.gameplay-feedback[data-visible=true]{visibility:visible;animation:.95s cubic-bezier(.18,.92,.26,1.16) both gameplay-feedback-pop}.gameplay-feedback[data-tone=hint][data-visible=true]{animation-duration:1.9s}.story-action-prompt{z-index:7;padding:max(24px, env(safe-area-inset-top)) max(20px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left));opacity:0;visibility:hidden;pointer-events:none;background:radial-gradient(circle,#ffd06421,#0000 31%);place-items:center;transition:opacity .18s,visibility .18s;display:grid;position:absolute;inset:0}.story-action-prompt[data-visible=true]{opacity:1;visibility:visible;pointer-events:none}.story-action-prompt-button{color:#17213d;letter-spacing:-.015em;appearance:none;cursor:pointer;pointer-events:auto;opacity:0;background:radial-gradient(circle at 10px 10px,#17213d12 1.8px,#0000 2.2px) 0 0/25px 25px,#ffd064;border:4px solid #17213d;border-radius:19px 14px 21px 12px;max-width:min(560px,100vw - 40px);padding:17px 28px 14px;font-family:"Baloo 2",ui-rounded,sans-serif;font-size:clamp(22px,3.1vw,34px);font-weight:800;line-height:1.05;transition:transform .13s,box-shadow .13s,filter .13s;position:relative;transform:translateY(18px)rotate(-1deg)scale(.92);box-shadow:8px 9px #17213d,0 24px 65px #00000061}.story-action-prompt[data-visible=true] .story-action-prompt-button{animation:.39s cubic-bezier(.18,.92,.28,1.2) both story-action-prompt-enter}.story-action-prompt-button:hover,.story-action-prompt-button:focus-visible{filter:brightness(1.07)saturate(1.04);outline:none;transform:translate(-1px,-3px)rotate(-1deg);box-shadow:9px 12px #17213d,0 28px 72px #0000006b}.story-action-prompt-button:focus-visible{outline-offset:7px;outline:3px solid #fff7dc}.story-action-prompt-button:active{transform:translate(5px,6px)rotate(-1deg);box-shadow:3px 3px #17213d,0 13px 35px #00000057}.gameplay-tutorial{z-index:7;padding:max(26px, env(safe-area-inset-top)) 20px max(26px, env(safe-area-inset-bottom));opacity:0;visibility:hidden;pointer-events:none;-webkit-backdrop-filter:blur(5px);background:radial-gradient(circle at 50% 45%,#ffd0642b,#0000 34%),#040711a8;place-items:center;transition:opacity .18s,visibility .18s;display:grid;position:absolute;inset:0}.gameplay-tutorial[data-visible=true]{opacity:1;visibility:visible;pointer-events:auto}.gameplay-tutorial-card{color:#17213d;text-align:center;opacity:0;background:radial-gradient(circle at 11px 11px,#17213d0f 2px,#0000 2.5px) 0 0/27px 27px,#fff8e6;border:4px solid #17213d;border-radius:25px 19px 28px 17px;width:min(480px,100vw - 40px);padding:30px 34px 28px;position:relative;transform:translateY(24px)rotate(1deg)scale(.94);box-shadow:10px 11px #17213d,0 34px 85px #0000006b}.gameplay-tutorial[data-visible=true] .gameplay-tutorial-card{animation:.36s cubic-bezier(.18,.92,.28,1.16) both gameplay-tutorial-enter}.gameplay-tutorial-kicker{color:#fffdf5;letter-spacing:.08em;text-transform:uppercase;background:#ff6f73;border:3px solid #17213d;border-radius:999px;padding:7px 13px 5px;font-family:Bangers,Impact,sans-serif;font-size:17px;line-height:1;display:inline-block;box-shadow:4px 4px #17213d}.gameplay-tutorial-gesture{width:116px;height:116px;margin:17px auto 8px}.gameplay-tutorial-gesture svg{fill:none;stroke:#283352;stroke-width:5px;stroke-linecap:round;stroke-linejoin:round;width:100%;height:100%;overflow:visible}.gameplay-tutorial-gesture circle{fill:#ffd064;stroke:#17213d}.gameplay-tutorial-gesture .gameplay-tutorial-pointer{fill:#fffdf5;stroke-width:4px;animation:1.7s ease-in-out infinite gameplay-pointer-drift}.gameplay-tutorial-card h2{letter-spacing:-.025em;margin:0;font-family:"Baloo 2",ui-rounded,sans-serif;font-size:clamp(25px,4vw,34px);font-weight:800;line-height:1.05}.gameplay-tutorial-card ul{color:#555b70;gap:8px;margin:16px 0 21px;padding:0;font-family:"Baloo 2",ui-rounded,sans-serif;font-size:17px;font-weight:600;line-height:1.35;list-style:none;display:grid}.gameplay-tutorial-card li:before{color:#ee5664;content:"◆";vertical-align:2px;margin-right:8px;font-size:10px}.gameplay-tutorial-confirm{color:#17213d;letter-spacing:.075em;text-transform:uppercase;cursor:pointer;background:#ffd064;border:3px solid #17213d;border-radius:14px 11px 16px 10px;min-width:160px;padding:12px 23px 10px;font-family:Bangers,Impact,sans-serif;font-size:23px;line-height:1;transition:transform .12s,box-shadow .12s,background .12s;transform:translateY(0);box-shadow:5px 6px #17213d}.gameplay-tutorial-confirm:hover,.gameplay-tutorial-confirm:focus-visible{background:#ffe49b;outline:none;transform:translateY(-2px);box-shadow:5px 8px #17213d}.gameplay-tutorial-confirm:active{transform:translate(3px,4px);box-shadow:2px 2px #17213d}@keyframes gameplay-tutorial-enter{0%{opacity:0;transform:translateY(24px)rotate(1deg)scale(.94)}to{opacity:1;transform:translateY(0)rotate(1deg)scale(1)}}@keyframes story-action-prompt-enter{0%{opacity:0;transform:translateY(18px)rotate(2deg)scale(.92)}68%{opacity:1;transform:translateY(-3px)rotate(-1.6deg)scale(1.04)}to{opacity:1;transform:translateY(0)rotate(-1deg)scale(1)}}.app-shell[data-scene-ui-hidden=true] .scene-info,.app-shell[data-scene-ui-hidden=true] .interaction-hint,.app-shell[data-scene-ui-hidden=true] .objective-panel,.app-shell[data-scene-ui-hidden=true] .achievement-trail,.app-shell[data-scene-ui-hidden=true] .gameplay-feedback{opacity:0!important;visibility:hidden!important;pointer-events:none!important}@keyframes gameplay-pointer-drift{0%,to{transform:translate(0)}25%{transform:translate(3px,-3px)}50%{transform:translateY(2px)}75%{transform:translate(-3px,-1px)}}@keyframes objective-complete-pop{0%{transform:translate(0)rotate(-1deg)scale(1)}45%{transform:translate(0)rotate(1deg)scale(1.055)}to{transform:translate(0)rotate(-1deg)scale(1)}}@keyframes achievement-node-unlock{0%{opacity:0;transform:translateY(-10px)rotate(8deg)scale(.72)}55%{opacity:1;transform:translateY(2px)rotate(-3deg)scale(1.08)}to{opacity:1;transform:translateY(0)rotate(0)scale(1)}}@keyframes gameplay-feedback-pop{0%{opacity:0;transform:translate(-50%,calc(-100% - 2px))rotate(4deg)scale(.72)}18%,72%{opacity:1;transform:translate(-50%,calc(-100% - 10px))rotate(-2deg)scale(1)}to{opacity:0;transform:translate(-50%,calc(-100% - 14px))rotate(-1deg)scale(.96)}}.app-shell[data-scene-event-visible=true] .scene-info,.app-shell[data-scene-event-visible=true] .interaction-hint{opacity:0;visibility:hidden}.scene-event-overlay{z-index:5;opacity:0;visibility:hidden;pointer-events:none;background:radial-gradient(circle at 50% 48%,#ffd2573b,#0000 24%),#04071257;place-items:center;padding:24px;transition:opacity .15s,visibility .15s;display:grid;position:absolute;inset:0;overflow:hidden}.scene-event-overlay:before{content:"";background:radial-gradient(circle,#0000 16%,#02040c2e 72%);position:absolute;inset:0}.scene-event-overlay[data-visible=true]{opacity:1;visibility:visible}.scene-event-stage{z-index:1;place-items:center;gap:14px;display:grid;position:relative;transform:translateY(-2vh)}.scene-event-symbol{aspect-ratio:1;place-items:center;width:clamp(122px,14vw,164px);display:grid;position:relative}.scene-event-ring{opacity:0;border:3px solid #fff4c6e0;border-radius:50%;position:absolute;inset:12%;box-shadow:0 0 22px #ffcf4a57}.scene-event-ring:nth-child(2){inset:4%}.scene-event-overlay[data-visible=true] .scene-event-ring{animation:.72s ease-out .12s both scene-event-ring}.scene-event-overlay[data-visible=true] .scene-event-ring:nth-child(2){animation-delay:.28s}.scene-event-phone-badge{background:radial-gradient(circle at 26% 22%,#ffffff7a,#0000 18%),#ffcf58;border:4px solid #17213d;border-radius:34px 28px 37px 27px;place-items:center;width:104px;height:116px;display:grid;position:relative;transform:rotate(-7deg)scale(.62);box-shadow:8px 9px #17213d,0 22px 48px #00000061,0 0 42px #ffd2575c}.scene-event-overlay[data-visible=true] .scene-event-phone-badge{animation:.3s cubic-bezier(.18,.92,.28,1.28) both scene-event-phone-pop}.scene-event-phone-art{filter:drop-shadow(2px 3px #17213d2e);transform-origin:50% 68%;width:92px;overflow:visible}.scene-event-overlay[data-visible=true] .scene-event-phone-art{animation:90ms linear .31s 6 scene-event-phone-vibrate}.scene-event-phone-shadow{fill:#17213d;opacity:.88}.scene-event-phone-shell{fill:#fff7dc;stroke:#17213d;stroke-width:4px}.scene-event-phone-screen{fill:#5277d4;stroke:#17213d;stroke-width:3px}.scene-event-phone-speaker,.scene-event-phone-home{fill:#17213d}.scene-event-phone-message{fill:#ff8179;stroke:#17213d;stroke-linejoin:round;stroke-width:3px}.scene-event-phone-dot{fill:#fff8e7}.scene-event-text{color:#17213d;letter-spacing:.075em;text-align:center;text-transform:uppercase;opacity:0;background:#fff7dc;border:4px solid #17213d;border-radius:18px 14px 20px 13px;margin:0;padding:10px 25px 8px;font-family:Bangers,Impact,fantasy;font-size:clamp(31px,4.6vw,52px);font-weight:400;line-height:1;transform:translateY(18px)rotate(1.5deg)scale(.88);box-shadow:7px 7px #17213d,0 18px 38px #0000004d}.scene-event-overlay[data-visible=true] .scene-event-text{animation:.31s cubic-bezier(.18,.92,.28,1.18) .18s both scene-event-text-arrive}.dialogue-overlay{z-index:4;padding:32px 40px max(42px, env(safe-area-inset-bottom));opacity:0;visibility:hidden;pointer-events:none;justify-content:center;align-items:flex-end;transition:opacity .18s,visibility .18s;display:flex;position:absolute;inset:0}.dialogue-overlay[data-visible=true]{opacity:1;visibility:visible}.dialogue-stage{transform-origin:50% 100%;width:min(880px,100vw - 80px);transition:transform .26s cubic-bezier(.2,.88,.28,1.16);position:relative;transform:translateY(26px)scale(.98)}.dialogue-overlay[data-visible=true] .dialogue-stage{transform:translateY(0)scale(1)}.phone-reader{display:none}.dialogue-overlay[data-delivery=phone-text]{padding:max(14px, env(safe-area-inset-top)) 12px max(14px, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(5px)saturate(.82);background:radial-gradient(circle at 50% 38%,#6784de33,#0000 34%),#030611c2;align-items:center}.dialogue-overlay[data-delivery=phone-text] .dialogue-stage{transform-origin:50%;width:min(430px,100vw - 24px);height:min(780px,100dvh - 28px);transition:height .36s cubic-bezier(.2,.82,.24,1),transform .26s cubic-bezier(.2,.88,.28,1.16);transform:none}.dialogue-overlay[data-delivery=phone-text] .dialogue-card,.dialogue-overlay[data-delivery=phone-text] .dialogue-phone{display:none}.dialogue-overlay[data-delivery=phone-text] .phone-reader{pointer-events:auto;width:100%;height:100%;display:block;position:relative}.phone-reader-shell{transform-origin:50% 62%;background:linear-gradient(118deg,#ffffff70,#0000 24%),linear-gradient(145deg,#ffcf58 0 54%,#ff746f 54% 100%);border:5px solid #17213d;border-radius:49px 43px 52px 40px;width:100%;height:100%;padding:13px;position:relative;box-shadow:11px 13px #17213d,0 34px 90px #00000080,0 0 58px #6889e533}.dialogue-overlay[data-visible=true][data-delivery=phone-text] .phone-reader-shell{animation:.52s cubic-bezier(.16,.9,.25,1.16) both phone-reader-enter}.phone-reader-screen{color:#1d2745;background:#fff9e9;border:4px solid #17213d;border-radius:35px 31px 38px 29px;flex-direction:column;width:100%;height:100%;min-height:0;display:flex;position:relative;overflow:hidden}.phone-reader-notch{z-index:4;background:#17213d;border:3px solid #17213d;border-top:0;border-radius:0 0 15px 15px;width:94px;height:22px;position:absolute;top:20px;left:50%;transform:translate(-50%)}.phone-reader-side-button{z-index:-1;background:#ff746f;border:4px solid #17213d;border-left:0;border-radius:0 9px 9px 0;width:10px;height:62px;position:absolute;right:-10px}.phone-reader-side-button--top{top:128px}.phone-reader-side-button--bottom{background:#ffcf58;height:42px;top:210px}.phone-reader-status{z-index:3;color:#17213d;background:#fff9e9;justify-content:space-between;align-items:center;min-height:38px;padding:8px 18px 3px;font-family:"Baloo 2",ui-rounded,system-ui,sans-serif;font-size:12px;font-weight:800;display:flex;position:relative}.phone-reader-status-icons{align-items:center;gap:7px;display:flex}.phone-reader-signal{align-items:flex-end;gap:2px;height:12px;display:flex}.phone-reader-signal i{background:#17213d;border-radius:2px 2px 0 0;width:3px;height:5px;display:block}.phone-reader-signal i:nth-child(2){height:8px}.phone-reader-signal i:nth-child(3){height:11px}.phone-reader-wifi{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;flex:none;width:14px;height:12px;display:block;overflow:visible}.phone-reader-wifi circle{fill:currentColor;stroke:none}.phone-reader-battery{border:2px solid #17213d;border-radius:3px;width:20px;height:10px;padding:1px;position:relative}.phone-reader-battery:after{content:"";background:#17213d;border-radius:0 2px 2px 0;width:2px;height:4px;position:absolute;top:2px;right:-4px}.phone-reader-battery i{background:#5ec8a2;border-radius:1px;width:72%;height:100%;display:block}.phone-reader-contact{z-index:2;background:radial-gradient(circle at 10px 10px,#17213d0e 1.4px,#0000 1.6px) 0 0/19px 19px,#ffe7a8;border-top:2px solid #17213d14;border-bottom:3px solid #17213d;grid-template-columns:24px 50px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:72px;padding:8px 14px 10px;display:grid;position:relative}.phone-reader-back{color:#4267c5;font-family:ui-sans-serif,system-ui,sans-serif;font-size:38px;font-weight:400;line-height:1;transform:translateY(-2px)}.phone-reader-avatar{color:#fff9e9;letter-spacing:.04em;background:#ff746f;border:3px solid #17213d;border-radius:50% 46% 52% 44%;place-items:center;width:46px;height:46px;font-family:Bangers,Impact,fantasy;font-size:27px;display:grid;box-shadow:3px 3px #17213d}.phone-reader-contact-name{min-width:0}.phone-reader-contact strong{text-overflow:ellipsis;white-space:nowrap;letter-spacing:.055em;font-family:Bangers,Impact,fantasy;font-size:27px;font-weight:400;line-height:1;display:block;overflow:hidden}.phone-reader-contact-actions{color:#4267c5;justify-content:flex-end;align-items:center;gap:8px;display:flex}.phone-reader-contact-icon{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.15px;flex:none;width:21px;height:21px;display:block}.phone-reader-thread{overscroll-behavior:contain;scrollbar-color:#849be0 #17213d14;scrollbar-width:thin;-webkit-overflow-scrolling:touch;background:linear-gradient(150deg,#ffffffad,#0000 42%),radial-gradient(circle at 14px 14px,#4b63a412 1.7px,#0000 1.9px) 0 0/28px 28px,#f4efff;flex-direction:column;flex:1;align-items:flex-start;min-height:0;padding:16px 18px 22px;display:flex;position:relative;overflow:hidden auto}.phone-reader-thread::-webkit-scrollbar{width:7px}.phone-reader-thread::-webkit-scrollbar-track{background:#17213d0f}.phone-reader-thread::-webkit-scrollbar-thumb{background:#849be0 padding-box padding-box;border:2px solid #0000;border-radius:999px}.phone-reader-thread:focus-visible{outline-offset:-4px;outline:3px solid #597bd7}.phone-reader-day{color:#786f91;letter-spacing:.08em;text-transform:uppercase;background:#fff9e9db;border:2px solid #17213d29;border-radius:999px;align-self:center;margin-bottom:12px;padding:4px 10px 3px;font-family:"Baloo 2",ui-rounded,system-ui,sans-serif;font-size:10px;font-weight:800}.phone-reader-history{flex-direction:column;flex:none;gap:14px;width:100%;margin-bottom:18px;display:flex}.phone-reader-history[hidden]{display:none}.phone-reader-history-group{flex-direction:column;gap:9px;width:100%;display:flex}.phone-reader-history-date{margin-bottom:3px}.phone-reader-history-message{border:2px solid #17213d;width:-moz-fit-content;width:fit-content;max-width:84%;padding:8px 11px 7px;font-family:"Baloo 2",ui-rounded,system-ui,sans-serif;box-shadow:3px 4px #17213d}.phone-reader-history-message[data-direction=sent]{color:#fff;background:#597bd7;border-radius:16px 16px 5px;align-self:flex-end}.phone-reader-history-message[data-direction=received]{color:#202a48;background:#ffd4d1;border-radius:16px 16px 16px 5px;align-self:flex-start}.phone-reader-history-message p{margin:0;font-size:14px;font-weight:650;line-height:1.3}.phone-reader-history-time{color:currentColor;letter-spacing:.025em;opacity:.72;text-align:right;white-space:nowrap;margin-top:4px;font-size:9px;font-weight:750;line-height:1;display:block}.phone-reader-bubble{color:#202a48;background:linear-gradient(135deg,#ffffff75,#0000 32%),#ffd4d1;border:3px solid #17213d;border-radius:20px 22px 22px;width:min(94%,342px);padding:16px 16px 11px;position:relative;box-shadow:5px 6px #17213d}.phone-reader-bubble p{letter-spacing:.002em;white-space:pre-line;margin:0;font-family:"Baloo 2",ui-rounded,system-ui,sans-serif;font-size:16px;font-weight:600;line-height:1.4}.phone-reader-bubble time{color:#7d718d;text-align:right;margin-top:9px;font-family:"Baloo 2",ui-rounded,system-ui,sans-serif;font-size:10px;font-weight:700;display:block}.dialogue-overlay[data-visible=true][data-delivery=phone-text] .phone-reader-bubble{animation:.43s cubic-bezier(.16,.9,.25,1.12) .26s both phone-message-arrive}.phone-reader-footer{background:#fff9e9;border-top:3px solid #17213d;grid-template-columns:1fr;gap:7px;padding:9px 12px 12px;display:grid;position:relative}.phone-reader-composer{color:#263152;letter-spacing:.002em;scrollbar-width:none;background:#f1ecf5;border:2px solid #17213d47;border-radius:999px;align-items:flex-end;gap:7px;min-height:36px;max-height:72px;padding:7px 42px 6px 12px;font-family:"Baloo 2",ui-rounded,system-ui,sans-serif;font-size:16px;font-weight:600;line-height:1.4;transition:border-color .18s,background .18s,border-radius .18s;display:flex;position:relative;overflow:hidden auto}.phone-reader-composer::-webkit-scrollbar{display:none}.phone-reader-composer-copy{white-space:pre-wrap;min-width:0}.phone-reader-composer-copy[data-empty=true]{color:#a099ac;font-weight:600}.dialogue-overlay[data-phone-stage=typing] .phone-reader-composer-copy:after{content:"";vertical-align:-.14em;background:#405ca9;width:2px;height:1em;margin-left:2px;animation:.78s step-end infinite phone-typing-caret;display:inline-block}.phone-reader-send{color:#fff;background:#597bd7;border:2px solid #17213d;border-radius:50%;place-items:center;width:26px;height:26px;font-family:ui-sans-serif,system-ui,sans-serif;font-size:16px;font-weight:900;line-height:1;transition:opacity .16s,transform .16s;display:grid;position:absolute;bottom:4px;right:5px}.phone-send-spinner{opacity:0;border:3px solid #5277d438;border-top-color:#5277d4;border-radius:50%;width:20px;height:20px;display:block;position:absolute;bottom:7px;right:8px;transform:scale(.7)}.phone-reader-advance-hint{color:#526aa9;letter-spacing:.08em;text-transform:uppercase;justify-content:center;align-items:center;gap:8px;min-height:23px;font-family:"Baloo 2",ui-rounded,system-ui,sans-serif;font-size:10px;font-weight:850;transition:opacity .16s,max-height .2s;display:flex}.phone-reader-advance-hint b{font-family:ui-sans-serif,system-ui,sans-serif;font-size:24px;line-height:1;animation:.9s ease-in-out infinite paused dialogue-nudge}.dialogue-overlay[data-visible=true] .phone-reader-advance-hint b{animation-play-state:running}.phone-keyboard{opacity:0;flex-direction:column;gap:5px;max-height:0;transition:max-height .32s cubic-bezier(.2,.8,.24,1),opacity .22s,transform .32s cubic-bezier(.2,.8,.24,1);display:flex;overflow:hidden;transform:translateY(28px)}.phone-keyboard-row{justify-content:center;gap:4px;display:flex}.phone-keyboard-key{color:#1e2948;text-transform:uppercase;background:#fff;border:2px solid #17213d;border-radius:7px 6px 8px 5px;flex:1 1 0;place-items:center;min-width:0;height:32px;font-family:"Baloo 2",ui-rounded,system-ui,sans-serif;font-size:10px;font-weight:850;line-height:1;transition:transform 55ms,background 55ms,box-shadow 55ms;display:grid;transform:translateY(0);box-shadow:0 3px #aeb7cf}.phone-keyboard-row[data-row="2"]{padding-inline:10px}.phone-keyboard-row[data-row="3"]{padding-inline:18px}.phone-keyboard-row[data-row="4"]{margin-top:2px}.phone-keyboard-key[data-key="123"],.phone-keyboard-key[data-key=abc],.phone-keyboard-key[data-key=return]{background:#d8deec;flex:0 0 58px;font-size:8px}.phone-keyboard[data-switching=true] .phone-keyboard-row{animation:.18s cubic-bezier(.2,.8,.24,1) phone-keyboard-layout-switch}.phone-keyboard-key[data-key=space]{flex:auto}.phone-keyboard-key[data-key=space]:after{color:#68718a;content:"space";letter-spacing:.04em;text-transform:lowercase;font-size:8px}.phone-keyboard-key[data-active=true]{background:#ffd066;transform:translateY(2px)scale(.95);box-shadow:0 1px #8390af}.phone-delivery-error{color:#8f1f2e;background:#ffd9dc;border:2px solid #a82938;border-radius:11px 9px 13px 8px;margin:0;padding:9px 11px 8px;font-family:"Baloo 2",ui-rounded,system-ui,sans-serif;font-size:11px;font-weight:800;line-height:1.24;display:none;box-shadow:3px 3px #a82938}.dialogue-overlay[data-phone-stage=typing] .phone-keyboard,.dialogue-overlay[data-phone-stage=sending] .phone-keyboard{opacity:1;max-height:180px;transform:translateY(0)}.dialogue-overlay[data-phone-stage=typing] .phone-reader-advance-hint,.dialogue-overlay[data-phone-stage=sending] .phone-reader-advance-hint,.dialogue-overlay[data-phone-stage=reaction] .phone-reader-advance-hint{opacity:0;min-height:0;max-height:0;overflow:hidden}.dialogue-overlay[data-phone-stage=sending] .phone-keyboard{opacity:.48;pointer-events:none}.dialogue-overlay[data-phone-stage=sending] .phone-reader-send{opacity:0;transform:scale(.7)}.dialogue-overlay[data-phone-stage=sending] .phone-send-spinner{opacity:1;animation:.65s linear infinite phone-send-spin;transform:scale(1)}.dialogue-overlay[data-phone-stage=error] .phone-reader-composer{background:#fff3f3;border-color:#a82938b8;border-radius:14px 12px 15px 10px}.dialogue-overlay[data-phone-stage=error] .phone-reader-send{opacity:.38;filter:grayscale()}.dialogue-overlay[data-phone-stage=error] .phone-delivery-error{animation:.28s cubic-bezier(.16,.9,.25,1.14) both phone-delivery-error-arrive;display:block}.dialogue-card{color:#18203a;background:radial-gradient(circle at 12px 12px,#26335712 1.5px,#0000 1.7px) 0 0/24px 24px,linear-gradient(118deg,#fff9e9 0%,#fff4d5 100%);border:4px solid #17213d;border-radius:24px 19px 28px 17px;min-height:158px;padding:42px 34px 25px;position:relative;overflow:visible;box-shadow:11px 12px #17213d,0 28px 70px #00000057}.dialogue-overlay[data-delivery=phone-text][data-phone-stage=reaction] .dialogue-card{bottom:max(42px, env(safe-area-inset-bottom));z-index:10;width:min(880px,100vw - 80px);animation:.26s cubic-bezier(.2,.88,.28,1.16) both phone-dialogue-card-enter;display:block;position:fixed;left:50%;transform:translate(-50%)}.dialogue-card:before,.dialogue-card:after{content:"";pointer-events:none;position:absolute}.dialogue-card:before{background:#ff766f;border-radius:999px;width:6px;top:13px;bottom:13px;left:14px;box-shadow:10px 0 #ffd064}.dialogue-card:after{background:#fff4d5;border-bottom:4px solid #17213d;border-right:4px solid #17213d;width:27px;height:27px;bottom:-15px;left:64px;transform:skew(8deg)rotate(35deg)}.dialogue-header{pointer-events:none;justify-content:space-between;align-items:flex-start;display:flex;position:absolute;inset:0 0 auto}.dialogue-speaker{color:#fffaf0;letter-spacing:.055em;text-overflow:ellipsis;text-shadow:2px 2px #6a202e52;white-space:nowrap;background:#ff6d67;border:4px solid #17213d;border-radius:17px 15px 19px 13px;max-width:min(48vw,380px);margin:-25px 26px 0 auto;padding:9px 22px 7px;font-family:Bangers,Impact,fantasy;font-size:clamp(22px,2.8vw,34px);font-weight:400;line-height:.95;overflow:hidden;box-shadow:6px 6px #17213d}.dialogue-text{z-index:1;color:#1f2947;letter-spacing:.002em;pointer-events:auto;scrollbar-width:none;white-space:pre-line;margin:7px 42px 0 18px;font-family:"Baloo 2",ui-rounded,system-ui,sans-serif;font-size:clamp(20px,2.2vw,27px);font-weight:600;line-height:1.36;position:relative}.dialogue-text::-webkit-scrollbar{width:0;height:0}.dialogue-footer{color:#7c7890;letter-spacing:.13em;text-transform:uppercase;align-items:center;gap:8px;font-family:"Baloo 2",ui-rounded,system-ui,sans-serif;font-size:10px;font-weight:800;display:flex;position:absolute;bottom:15px;right:28px}.dialogue-footer b{color:#fff9e9;background:#597bd7;border:2px solid #17213d;border-radius:50%;place-items:center;width:22px;height:22px;font-family:ui-sans-serif,system-ui,sans-serif;font-size:20px;line-height:1;animation:1.4s ease-in-out infinite paused dialogue-nudge;display:grid;box-shadow:3px 3px #17213d}.dialogue-overlay[data-visible=true] .dialogue-footer b{animation-play-state:running}.dialogue-next-chevron{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.5px;width:13px;height:13px;display:block;overflow:visible}.dialogue-phone{z-index:3;opacity:0;transform-origin:50% 100%;perspective:500px;width:76px;height:112px;transition:opacity .16s,transform .28s cubic-bezier(.2,.9,.3,1.2);position:absolute;top:-72px;left:-28px;transform:translate(-12px,14px)rotate(-14deg)scale(.78)}.dialogue-overlay[data-source=phone] .dialogue-phone{opacity:1;transform:translate(0)rotate(-9deg)scale(1)}.dialogue-phone-shell{background:#ffcf58;border:4px solid #17213d;border-radius:17px 15px 19px 14px;padding:11px 7px 13px;position:absolute;inset:0;transform:rotateY(-10deg)rotateX(4deg);box-shadow:8px 8px #17213d,15px 18px 24px #00000047}.dialogue-phone-speaker{background:#17213d;border-radius:999px;width:20px;height:3px;position:absolute;top:5px;left:50%;transform:translate(-50%)}.dialogue-phone-screen{background:linear-gradient(145deg,#fff3,#0000 38%),#4970cd;border:3px solid #17213d;border-radius:9px;width:100%;height:100%;position:relative;overflow:hidden}.dialogue-phone-screen:before{content:"";background:radial-gradient(circle at 75% 18%,#ffffff57,#0000 28%);position:absolute;inset:0}.dialogue-phone-message{background:#fff8e7;border:2px solid #17213d;border-radius:8px 8px 3px;height:12px;transition:opacity .16s,transform .18s;position:absolute;box-shadow:2px 2px #17213da6}.dialogue-phone-message:first-child{width:31px;top:17px;right:7px}.dialogue-phone-message:nth-child(2){background:#ff9189;border-radius:8px 8px 8px 3px;width:37px;top:38px;left:7px}.dialogue-phone-message:nth-child(3){width:25px;top:59px;right:7px}.dialogue-audio-orb{opacity:0;background:#365dc1;border:3px solid #17213d;border-radius:50%;justify-content:center;align-items:center;gap:3px;width:44px;height:44px;transition:opacity .16s,transform .22s cubic-bezier(.2,.9,.3,1.2);display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(.72);box-shadow:3px 3px #17213db8,inset 0 0 0 2px #ffffff24}.dialogue-audio-orb span{transform-origin:50%;background:#fff;border-radius:999px;width:3px;height:19px;animation:.62s ease-in-out infinite alternate paused phone-audio-bars;box-shadow:0 0 5px #ffffff57}.dialogue-audio-orb span:nth-child(2){height:12px;animation-delay:-180ms}.dialogue-audio-orb span:nth-child(3){height:23px;animation-delay:-390ms}.dialogue-audio-orb span:nth-child(4){height:15px;animation-delay:-90ms}.dialogue-audio-orb span:nth-child(5){height:20px;animation-delay:-280ms}.dialogue-overlay[data-delivery=phone-audio] .dialogue-phone-message{opacity:0;transform:translateY(4px)scale(.8)}.dialogue-overlay[data-delivery=phone-audio] .dialogue-audio-orb{opacity:1;transform:translate(-50%,-50%)scale(1)}.dialogue-overlay[data-visible=true][data-delivery=phone-audio] .dialogue-audio-orb span{animation-play-state:running}.dialogue-phone-home{border:1px solid #17213d;border-radius:50%;width:5px;height:5px;position:absolute;bottom:4px;left:50%;transform:translate(-50%)}.dialogue-overlay[data-source=phone] .dialogue-speaker{color:#18203a;text-shadow:2px 2px #ffffff52;background:#ffce56}.dialogue-overlay[data-kind=narration] .dialogue-card:before{background:#718ee4;box-shadow:10px 0 #9be1cf}.dialogue-overlay[data-kind=narration] .dialogue-speaker{background:#5e7bd3}@keyframes dialogue-nudge{0%,to{transform:translate(0)}50%{transform:translate(3px)}}@keyframes phone-audio-bars{0%{transform:scaleY(.34)}48%{transform:scaleY(1)}to{transform:scaleY(.58)}}@keyframes phone-reader-enter{0%{opacity:0;transform:translateY(36px)rotate(5deg)scale(.78)}68%{opacity:1;transform:translateY(-5px)rotate(-1.5deg)scale(1.025)}to{opacity:1;transform:translateY(0)rotate(0)scale(1)}}@keyframes phone-message-arrive{0%{opacity:0;transform:translate(-14px,9px)scale(.92)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes phone-dialogue-card-enter{0%{opacity:0;transform:translate(-50%,22px)scale(.98)}to{opacity:1;transform:translate(-50%)scale(1)}}@keyframes phone-typing-caret{0%,46%{opacity:1}47%,to{opacity:0}}@keyframes phone-keyboard-layout-switch{0%{opacity:.35;transform:translateY(4px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes phone-send-spin{to{transform:rotate(1turn)scale(1)}}@keyframes phone-delivery-error-arrive{0%{opacity:0;transform:translateY(8px)rotate(1deg)scale(.96)}to{opacity:1;transform:translateY(0)rotate(0)scale(1)}}@keyframes scene-event-ring{0%{opacity:.9;transform:scale(.42)}to{opacity:0;transform:scale(1.34)}}@keyframes scene-event-phone-pop{0%{opacity:0;transform:translateY(18px)rotate(-15deg)scale(.62)}72%{opacity:1;transform:translateY(-3px)rotate(-4deg)scale(1.06)}to{opacity:1;transform:translateY(0)rotate(-7deg)scale(1)}}@keyframes scene-event-phone-vibrate{0%,to{transform:translate(0)rotate(0)}25%{transform:translate(-4px)rotate(-3deg)}75%{transform:translate(4px)rotate(3deg)}}@keyframes scene-event-text-arrive{0%{opacity:0;transform:translateY(18px)rotate(1.5deg)scale(.88)}72%{opacity:1;transform:translateY(-2px)rotate(-1deg)scale(1.04)}to{opacity:1;transform:translateY(0)rotate(0)scale(1)}}.loading-overlay{z-index:10;padding:max(26px, env(safe-area-inset-top)) max(26px, env(safe-area-inset-right)) max(26px, env(safe-area-inset-bottom)) max(26px, env(safe-area-inset-left));color:#17213d;opacity:1;visibility:visible;background:radial-gradient(circle at 12px 12px,#17213d14 2px,#0000 2.4px) 0 0/34px 34px,linear-gradient(145deg,#ffd06447,#0000 42%),#fff7dc;place-items:center;transition:opacity .5s,visibility .5s;display:grid;position:absolute;inset:0;overflow:hidden}.loading-overlay:before{aspect-ratio:1;content:"";background:radial-gradient(circle at 44% 45%,#0000 0 37%,#17213d1a 37.5% 39%,#0000 39.5%),#ff6f73;border:5px solid #17213d;border-radius:50%;width:min(48vw,620px);position:absolute;top:min(-13vw,-80px);right:min(-9vw,-58px);transform:rotate(8deg);box-shadow:-18px 18px #ffd064,-23px 23px #17213d}.loading-overlay:after{aspect-ratio:1;content:"";background:repeating-linear-gradient(-45deg,#17213d21 0 8px,#0000 8px 19px),#ffd064;border:5px solid #17213d;border-radius:45% 55% 48% 52%;width:min(42vw,520px);position:absolute;bottom:min(-17vw,-120px);left:min(-12vw,-82px);transform:rotate(-16deg);box-shadow:16px -16px #17213d}.loading-overlay.is-hidden{opacity:0;visibility:hidden;pointer-events:none}.loading-card{z-index:1;background:radial-gradient(circle at 11px 11px,#17213d11 1.8px,#0000 2.2px) 0 0/26px 26px,#fffdf2;border:4px solid #17213d;border-radius:22px 28px 23px 17px;width:min(500px,100vw - 52px);padding:28px 30px 30px 38px;position:relative;overflow:hidden;transform:rotate(-.65deg);box-shadow:11px 12px #17213d,0 34px 75px #17213d45}.loading-card-stripe{background:#ff6f73;width:9px;position:absolute;inset:0 auto 0 0;box-shadow:9px 0 #ffd064}.loading-card-topline{justify-content:space-between;align-items:flex-start;gap:18px;min-height:34px;margin-bottom:8px;display:flex}.loading-kicker,.loading-state-stamp{letter-spacing:.09em;text-transform:uppercase;font-family:Bangers,Impact,fantasy;line-height:1}.loading-kicker{color:#ee5664;font-size:19px}.loading-state-stamp{color:#17213d;opacity:0;background:#8ee0b7;border:2px solid #17213d;border-radius:9px 12px 8px 10px;padding:6px 10px 4px;font-size:17px;transition:opacity .18s,transform .32s cubic-bezier(.18,.92,.28,1.24);transform:translateY(-14px)rotate(8deg)scale(.72);box-shadow:3px 3px #17213d}.loading-overlay[data-state=ready] .loading-state-stamp{opacity:1;transform:translateY(0)rotate(5deg)scale(1)}.loading-heading{color:#17213d;letter-spacing:.035em;text-transform:uppercase;align-items:center;gap:14px;margin-bottom:20px;font-family:Bangers,Impact,fantasy;font-size:clamp(34px,6vw,48px);font-weight:400;line-height:.95;display:flex}.loading-mark{background:#ffd064;border:3px solid #17213d;border-radius:50%;flex:0 0 31px;width:31px;height:31px;animation:1.6s ease-in-out infinite loading-pulse;position:relative;box-shadow:3px 4px #17213d}.loading-mark:before{border-radius:inherit;content:"";background:#ff6f73;position:absolute;inset:7px}.loading-mark:after{content:"";opacity:0;position:absolute}.loading-overlay.is-hidden .loading-mark{animation-play-state:paused}.loading-track{background:#f1e9cf;border:3px solid #17213d;border-radius:999px;height:20px;position:relative;overflow:hidden;box-shadow:3px 4px #17213d33}.loading-track span{background:repeating-linear-gradient(-45deg,#ffffff52 0 7px,#0000 7px 14px) 0 0/20px 20px,#ff6f73;border-right:3px solid #17213d;width:6%;min-width:12px;transition:width .26s;animation:.62s linear infinite loading-stripes;position:absolute;inset:0 auto 0 0}.loading-card>p{color:#5c6073;min-height:24px;margin:13px 0 0;font-family:"Baloo 2",ui-rounded,system-ui,sans-serif;font-size:16px;font-weight:700;line-height:1.35}.start-button{color:#17213d;cursor:pointer;opacity:0;background:radial-gradient(circle at 10px 10px,#17213d13 1.7px,#0000 2.1px) 0 0/25px 25px,#ffcc59;border:4px solid #17213d;border-radius:18px 14px 20px 12px;justify-content:space-between;align-items:center;gap:18px;width:100%;min-height:86px;margin-top:24px;padding:13px 17px 11px 25px;transition:transform .16s,box-shadow .16s,filter .16s,opacity .26s;display:flex;position:relative;overflow:hidden;transform:translateY(12px)scale(.98);box-shadow:7px 8px #17213d,0 22px 48px #17213d3d}.start-button[hidden]{display:none}.loading-overlay[data-state=ready] .start-button{opacity:1;transform:translateY(0)scale(1)}.start-button:before{content:"";pointer-events:none;border:1.5px dashed #17213d47;border-radius:12px 9px 14px 8px;position:absolute;inset:7px}.start-button-copy,.start-button-arrow{z-index:1;position:relative}.start-button-copy{justify-items:start;display:grid}.start-button strong{letter-spacing:.105em;text-transform:uppercase;font-family:Bangers,Impact,fantasy;font-size:37px;font-weight:400;line-height:.95}.start-button small{letter-spacing:.08em;text-transform:uppercase;font-family:"Baloo 2",ui-rounded,system-ui,sans-serif;font-size:12px;font-weight:800;line-height:1.2}.start-button-arrow{background:#fff7dc;border:3px solid #17213d;border-radius:50%;flex:0 0 48px;place-items:center;width:48px;height:48px;display:grid;box-shadow:3px 4px #17213d}.start-button-arrow svg{width:23px;height:23px;overflow:visible}.start-button-arrow path{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:3.4px}.start-button:hover:not(:disabled){filter:brightness(1.07)saturate(1.05);transform:translate(-1px,-2px);box-shadow:9px 11px #17213d,0 26px 65px #00000061,0 0 44px #ffcc5933}.start-button:active:not(:disabled){transform:translate(5px,6px);box-shadow:2px 2px #17213d,0 12px 32px #00000052}.start-button:focus-visible{outline-offset:7px;outline:3px solid #ff6f73}.start-button:disabled{cursor:wait;filter:grayscale(.22)brightness(.84)}.loading-overlay[data-state=ready] .loading-mark{background:#8ce2ba;animation:.38s cubic-bezier(.18,.92,.28,1.24) both loading-ready-pop}.loading-overlay[data-state=ready] .loading-mark:before{opacity:0}.loading-overlay[data-state=ready] .loading-mark:after{opacity:1;border:3px solid #17213d;border-width:0 3px 3px 0;width:7px;height:13px;top:5px;left:9px;transform:rotate(45deg)}.loading-overlay[data-state=ready] .loading-track span{background:#8ce2ba;border-right:0;animation:none}.loading-overlay[data-state=starting] .loading-mark,.loading-overlay[data-state=starting] .loading-track span{background:#ff6f73}.loading-overlay[data-state=starting] .loading-track span{animation:.62s linear infinite loading-stripes}.error-panel{z-index:20;background:#120811eb;border:1px solid #ff8b8b47;border-radius:16px;width:min(420px,100vw - 40px);padding:24px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 30px 90px #00000073}.error-panel h2{margin:0 0 10px;font-size:20px;font-weight:500}.error-panel>p:last-child{color:#b9a7b3;margin:0;font-size:13px;line-height:1.55}noscript{z-index:100;color:#fff;background:#050711;place-items:center;padding:24px;display:grid;position:fixed;inset:0}@keyframes loading-pulse{0%,to{opacity:.45;transform:scale(.78)}50%{opacity:1;transform:scale(1.1)}}@keyframes loading-stripes{to{background-position:20px 0,0 0}}@keyframes loading-ready-pop{0%{transform:scale(.72)rotate(-12deg)}72%{transform:scale(1.12)rotate(4deg)}to{transform:scale(1)rotate(0)}}@media (max-width:720px){.loading-overlay{padding:max(18px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) max(20px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left))}.loading-overlay:before{border-width:4px;width:min(64vw,290px);top:-60px;right:-72px;box-shadow:-12px 12px #ffd064,-16px 16px #17213d}.loading-overlay:after{border-width:4px;width:min(63vw,280px);bottom:-82px;left:-72px;box-shadow:11px -11px #17213d}.loading-card{border-width:3px;border-radius:18px 23px 19px 14px;width:min(460px,100vw - 36px);padding:23px 20px 24px 30px;box-shadow:8px 9px #17213d,0 25px 58px #17213d45}.loading-card-stripe{width:7px;box-shadow:7px 0 #ffd064}.loading-card-topline{min-height:30px;margin-bottom:7px}.loading-kicker{font-size:17px}.loading-state-stamp{padding:5px 8px 3px;font-size:15px}.loading-heading{gap:11px;margin-bottom:17px;font-size:clamp(31px,10vw,41px)}.loading-mark{border-width:2.5px;flex-basis:27px;width:27px;height:27px;box-shadow:3px 3px #17213d}.loading-mark:before{inset:6px}.loading-overlay[data-state=ready] .loading-mark:after{top:4px;left:8px}.loading-track{border-width:2.5px;height:18px}.loading-card>p{margin-top:11px;font-size:14px}.start-button{border-width:3px;min-height:76px;margin-top:19px;padding:11px 13px 9px 20px}.start-button strong{font-size:32px}.start-button small{font-size:10px}.start-button-arrow{flex-basis:43px;width:43px;height:43px}.story-action-prompt{padding-right:max(14px, env(safe-area-inset-right));padding-left:max(14px, env(safe-area-inset-left))}.story-action-prompt-button{border-width:3px;max-width:calc(100vw - 28px);padding:15px 20px 13px;font-size:clamp(20px,6.5vw,27px);box-shadow:6px 7px #17213d,0 20px 52px #00000061}.objective-panel{top:max(14px, env(safe-area-inset-top));left:max(14px, env(safe-area-inset-left));border-width:2.5px;border-radius:13px 16px 13px 10px;width:min(300px,100vw - 28px);padding:14px 16px 13px 21px;box-shadow:5px 6px #17213d,0 16px 38px #00000047}.objective-panel:before{width:6px;box-shadow:6px 0 #ffd064}.objective-panel[data-state=complete]:before{box-shadow:6px 0 #b8f1d8}.objective-label{font-size:15px}.objective-title{font-size:20px}.objective-instructions{font-size:13px}.achievement-trail{top:max(14px, env(safe-area-inset-top));right:max(14px, env(safe-area-inset-right));max-width:calc(100vw - 28px)}.achievement-trail-list{gap:10px}.achievement-trail-item{flex-basis:46px;width:46px;height:46px}.achievement-trail-item:not(:last-child):after{width:12px;height:7px;left:calc(100% - 1px)}.achievement-trail-node{border-width:2.5px;width:46px;height:46px;box-shadow:3px 4px #17213d,0 10px 24px #0000004d}.achievement-trail-node svg{width:26px;height:26px}.achievement-trail-tooltip{max-width:min(178px,100vw - 28px);padding:8px 9px 7px;font-size:11px;top:calc(100% + 11px)}.achievement-trail-tooltip strong{font-size:13px}.gameplay-feedback{padding:7px 11px 6px;font-size:13px}.gameplay-tutorial{padding:16px 12px max(18px, env(safe-area-inset-bottom));place-items:end center}.gameplay-tutorial-card{border-width:3px;border-radius:22px 16px 24px 14px;width:calc(100vw - 24px);padding:23px 20px 22px;box-shadow:7px 8px #17213d,0 26px 65px #0000006b}.gameplay-tutorial-gesture{width:88px;height:88px;margin:12px auto 5px}.gameplay-tutorial-card h2{font-size:27px}.gameplay-tutorial-card ul{gap:5px;margin:12px 0 17px;font-size:15px}.gameplay-tutorial-confirm{width:min(230px,100%);min-width:0;padding:12px 20px 10px;font-size:21px}.scene-info{right:auto;bottom:max(18px, env(safe-area-inset-bottom));left:max(18px, env(safe-area-inset-left))}.interaction-hint{display:none}.dialogue-overlay{padding:18px 12px max(16px, env(safe-area-inset-bottom))}.dialogue-stage{width:calc(100vw - 24px)}.dialogue-card{border-width:3px;border-radius:20px 15px 22px 14px;min-height:148px;max-height:min(42svh,310px);padding:43px 18px 21px;box-shadow:7px 8px #17213d,0 24px 55px #00000061}.dialogue-card:before{width:4px;top:11px;bottom:11px;left:10px;box-shadow:7px 0 #ffd064}.dialogue-card:after{border-bottom-width:3px;border-right-width:3px;width:20px;height:20px;bottom:-11px;left:42px}.dialogue-speaker{border-width:3px;border-radius:14px 12px 16px 10px;max-width:62vw;margin:-19px 14px 0 auto;padding:7px 15px 6px;font-size:clamp(21px,7vw,29px);box-shadow:4px 4px #17213d}.dialogue-text{max-height:calc(min(42svh,310px) - 82px);margin:4px 8px 0;font-size:clamp(17px,4.8vw,21px);line-height:1.34;overflow:auto}.dialogue-footer{bottom:10px;right:17px}.dialogue-footer span{display:none}.dialogue-phone{width:58px;height:86px;top:-57px;left:10px}.dialogue-phone-shell{border-width:3px;border-radius:14px 12px 15px 11px;padding:9px 5px 11px;box-shadow:5px 6px #17213d,10px 14px 18px #00000040}.dialogue-phone-screen{border-width:2px}.dialogue-phone-message:first-child{width:23px;top:12px}.dialogue-phone-message:nth-child(2){width:28px;top:29px}.dialogue-phone-message:nth-child(3){width:20px;top:46px}.dialogue-audio-orb{border-width:2px;gap:2px;width:34px;height:34px}.dialogue-audio-orb span{width:2px;height:15px}.dialogue-audio-orb span:nth-child(2){height:10px}.dialogue-audio-orb span:nth-child(3){height:18px}.dialogue-audio-orb span:nth-child(4){height:12px}.dialogue-audio-orb span:nth-child(5){height:16px}.scene-event-stage{gap:10px;transform:translateY(-1vh)}.scene-event-symbol{width:118px}.scene-event-phone-badge{border-width:3px;border-radius:28px 23px 30px 22px;width:86px;height:96px;box-shadow:6px 7px #17213d,0 18px 38px #00000061,0 0 34px #ffd25757}.scene-event-phone-art{width:76px}.scene-event-text{border-width:3px;border-radius:15px 12px 17px 11px;max-width:calc(100vw - 38px);padding:9px 19px 7px;font-size:clamp(29px,10vw,42px);box-shadow:5px 6px #17213d,0 16px 32px #0000004d}.dialogue-overlay[data-delivery=phone-text]{padding:max(8px, env(safe-area-inset-top)) 7px max(8px, env(safe-area-inset-bottom))}.dialogue-overlay[data-delivery=phone-text] .dialogue-stage{width:min(390px,100vw - 14px);height:min(800px,100dvh - 16px)}.dialogue-overlay[data-delivery=phone-text][data-phone-stage=reaction] .dialogue-card{bottom:max(16px, env(safe-area-inset-bottom));width:calc(100vw - 24px)}.phone-reader-shell{border-width:4px;border-radius:39px 34px 42px 32px;padding:9px;box-shadow:7px 8px #17213d,0 26px 64px #0000007a,0 0 42px #6889e52e}.phone-reader-screen{border-width:3px;border-radius:29px 26px 32px 24px}.phone-reader-notch{border-width:2px;width:80px;height:19px;top:15px}.phone-reader-status{min-height:33px;padding:6px 15px 2px;font-size:11px}.phone-reader-contact{border-bottom-width:2px;grid-template-columns:20px 43px minmax(0,1fr) auto;gap:7px;min-height:63px;padding:7px 11px 9px}.phone-reader-back{font-size:33px}.phone-reader-avatar{border-width:2px;width:40px;height:40px;font-size:24px;box-shadow:3px 3px #17213d}.phone-reader-contact strong{font-size:24px}.phone-reader-contact-actions{gap:7px}.phone-reader-contact-icon{width:19px;height:19px}.phone-reader-thread{padding:13px 14px 19px}.phone-reader-bubble{border-width:2px;width:96%;padding:13px 13px 10px;box-shadow:4px 5px #17213d}.phone-reader-bubble p{font-size:15px;line-height:1.37}.phone-reader-footer{border-top-width:2px;gap:6px;padding:7px 9px 10px}.phone-reader-composer{min-height:32px;max-height:76px;padding:5px 38px 5px 10px;font-size:15px;line-height:1.37}.phone-reader-send{width:24px;height:24px;bottom:3px;right:4px}.phone-send-spinner{width:18px;height:18px;bottom:6px;right:7px}.phone-keyboard{gap:4px}.phone-keyboard-row{gap:3px}.phone-keyboard-key{border-width:1.5px;height:30px;font-size:9px}.phone-keyboard-key[data-key="123"],.phone-keyboard-key[data-key=abc],.phone-keyboard-key[data-key=return]{flex-basis:52px}.phone-reader-advance-hint{min-height:20px}}@media (max-height:560px) and (orientation:landscape){.loading-overlay{padding:12px max(18px, env(safe-area-inset-right)) 14px max(18px, env(safe-area-inset-left))}.loading-card{width:min(620px,100vw - 46px);padding:15px 22px 16px 31px}.loading-card-topline{min-height:25px;margin-bottom:2px}.loading-kicker,.loading-state-stamp{font-size:14px}.loading-state-stamp{padding:4px 7px 2px}.loading-heading{margin-bottom:11px;font-size:clamp(28px,7vh,37px)}.loading-mark{flex-basis:25px;width:25px;height:25px}.loading-track{height:16px}.loading-card>p{min-height:19px;margin-top:8px;font-size:13px}.start-button{min-height:58px;margin-top:10px;padding:7px 12px 6px 19px}.start-button strong{font-size:28px}.start-button small{font-size:9px}.start-button-arrow{border-width:2px;flex-basis:36px;width:36px;height:36px}.start-button-arrow svg{width:19px;height:19px}.dialogue-overlay{padding-bottom:max(12px, env(safe-area-inset-bottom));align-items:flex-end}.dialogue-stage{width:min(760px,100vw - 44px)}.dialogue-card{min-height:112px;max-height:45svh;padding-top:34px}.dialogue-text{max-height:calc(45svh - 65px);font-size:17px}.dialogue-phone{transform-origin:0 100%}.dialogue-overlay[data-delivery=phone-text]{align-items:center;padding:6px 10px}.dialogue-overlay[data-delivery=phone-text] .dialogue-stage{width:min(570px,100vw - 20px);height:calc(100svh - 12px)}.phone-reader-shell{border-width:3px;border-radius:30px 27px 32px 25px;padding:7px}.phone-reader-screen{border-width:2px;border-radius:23px 21px 25px 19px}.phone-reader-notch{width:72px;height:14px;top:11px}.phone-reader-status{min-height:25px;padding-top:3px;padding-bottom:0}.phone-reader-contact{grid-template-columns:18px 34px minmax(0,1fr) auto;min-height:48px;padding:4px 10px 6px}.phone-reader-avatar{width:32px;height:32px;font-size:20px}.phone-reader-contact strong{font-size:21px}.phone-reader-contact-actions{gap:5px}.phone-reader-contact-icon{width:17px;height:17px}.phone-reader-thread{padding:9px 12px 14px}.phone-reader-day{margin-bottom:8px}.phone-reader-bubble p{font-size:14px;line-height:1.3}.phone-reader-footer{padding:6px 9px 8px}.phone-reader-composer{min-height:28px;max-height:50px;font-size:14px;line-height:1.3}.phone-reader-advance-hint{min-height:16px}.phone-keyboard,.phone-keyboard-row{gap:3px}.phone-keyboard-key{height:23px;font-size:8px}.phone-keyboard-key[data-key="123"],.phone-keyboard-key[data-key=abc],.phone-keyboard-key[data-key=return]{flex-basis:48px}.phone-delivery-error{padding:6px 9px 5px;font-size:9px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
