:root{--screen-top: 52px;--banner-h: 34px;--banner-top: 15px;--banner-left: 138px;--screen-side: 12px;--screen-bottom: 12px;--screen-radius: 36px;--nav-h: 42px;--content-bottom: calc(var(--screen-bottom) + var(--nav-h))}.phone-mockup{position:relative;width:375px;height:720px;flex-shrink:0;background:#1a1a1e;border-radius:48px;padding:12px;box-shadow:0 0 0 3px #2c2c34,0 25px 60px #000000b3}.phone-notch{pointer-events:none;position:absolute;top:12px;left:50%;transform:translate(-50%);width:14px;height:30px;background:transparent;z-index:20}.phone-camera{position:absolute;top:9px;left:50%;transform:translate(-50%);width:10px;height:10px;border-radius:50%;background:#0a0a12;box-shadow:0 0 0 1.5px #ffffff14}.phone-status-bar{position:relative;z-index:15;display:flex;justify-content:space-between;align-items:center;padding:8px 22px 4px;font-size:13px;font-weight:600;color:#fff}.phone-time{letter-spacing:.5px}.phone-status-icons{display:flex;gap:6px;align-items:center;font-size:11px;opacity:.9}.phone-content{position:absolute;top:var(--screen-top);left:var(--screen-side);right:var(--screen-side);bottom:var(--content-bottom);border-radius:var(--screen-radius) var(--screen-radius) 0 0;overflow-y:auto;background:linear-gradient(180deg,#171722,#101018)}.phone-home-bar{position:absolute;bottom:20px;left:50%;transform:translate(-50%);width:130px;height:5px;border-radius:3px;background:#fff6;z-index:20}.phone-status-left{display:flex;align-items:center;gap:10px}.notif-bell{display:flex;align-items:center;color:inherit;font:inherit;position:relative;background:none;border:none;padding:0 4px;font-size:12px;line-height:1;cursor:pointer}.notif-count{position:absolute;top:-7px;right:-8px;min-width:15px;height:15px;padding:0 3px;border-radius:8px;background:#ff3b30;color:#fff;font-size:9px;font-weight:700;display:flex;align-items:center;justify-content:center;font-variant-numeric:tabular-nums}.phone-navbar{position:absolute;left:var(--screen-side);right:var(--screen-side);bottom:var(--screen-bottom);height:var(--nav-h);z-index:22;display:flex;justify-content:center;align-items:center;gap:48px;background:#0d0d14;border-radius:0 0 var(--screen-radius) var(--screen-radius);border-top:1px solid rgba(255,255,255,.06)}.phone-nav-btn{width:44px;height:34px;border:none;border-radius:17px;background:none;color:#d8d8e4;display:flex;align-items:center;justify-content:center;cursor:pointer}.phone-nav-btn:hover,.phone-nav-btn:focus-visible{background:#ffffff1a}.phone-nav-btn:active{background:#ffffff2e}.sound-toggle{display:flex;align-items:center;background:none;border:none;color:inherit;padding:0 2px;cursor:pointer}.phone-mockup.ringing{animation:phone-buzz 3s linear infinite}@keyframes phone-buzz{0%,2%,4%,6%,8%,10%,12%,14%,16%,18%,20%,22%{transform:translate(0)}1%,5%,9%,13%,17%,21%{transform:translate(-2px) rotate(-.4deg)}3%,7%,11%,15%,19%{transform:translate(2px) rotate(.4deg)}23%,33%{transform:none}34%,38%,42%,46%,50%,54%{transform:translate(-2px) rotate(-.4deg)}36%,40%,44%,48%,52%{transform:translate(2px) rotate(.4deg)}35%,37%,39%,41%,43%,45%,47%,49%,51%,53%,56%,to{transform:translate(0)}}@media (prefers-reduced-motion: reduce){.phone-mockup.ringing{animation:none}}.countdown-pill{margin-left:4px;padding:1px 7px;border-radius:999px;background:#ff9f0a2e;color:#ffb340;font-size:11px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.countdown-pill.urgent{background:#ff453a38;color:#ff6b61}.recent-apps{position:absolute;left:var(--screen-side);right:var(--screen-side);top:0;bottom:calc(var(--screen-bottom) + var(--nav-h));z-index:21;display:flex;align-items:center;background:#08080ee0;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.recent-apps-row{display:flex;gap:14px;padding:12px 18px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.recent-card-wrap{position:relative;flex:none;scroll-snap-align:center}.recent-card{flex:none;width:128px;height:200px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;border:1px solid rgba(255,255,255,.12);border-radius:18px;background:#1b1b28;color:#ececf4;font:inherit;cursor:pointer;scroll-snap-align:center}.recent-card:hover,.recent-card:focus-visible{border-color:#ffffff59}.recent-card.scene{background:#262033}.recent-icon{font-size:34px;line-height:1}.recent-name{font-weight:600}.recent-what{font-size:12px;color:#a8a8bc}.recent-close{position:absolute;top:-8px;right:-8px;width:26px;height:26px;border:none;border-radius:13px;background:#3a3a4c;color:#fff;font-size:12px;cursor:pointer}.recent-none{align-self:center;color:#a8a8bc;margin:0 8px}.phone-time-half{font-size:.75em;font-weight:600}.phone-home{min-height:100%;display:flex;flex-direction:column;justify-content:center;padding:8px 20px 24px}.app-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px 8px}.app-icon{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;background:none;border:none;cursor:pointer;padding:0}.app-icon .icon-tile{width:58px;height:58px;border-radius:14px;display:flex;align-items:center;justify-content:center;overflow:hidden;box-shadow:0 4px 12px #00000073;transition:transform .12s ease}.app-icon:active .icon-tile{transform:scale(.94)}.app-glyph{display:block}.toast-icon,.notif-icon{display:flex;flex-shrink:0}.toast-icon .app-glyph,.notif-icon .app-glyph{border-radius:8px!important}.app-icon .icon-label{color:#d8d8e4;font-size:11px;text-align:center}.app-icon.disabled{cursor:default;opacity:.55}.badge{position:absolute;top:-6px;right:8px;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:#ff3b30;color:#fff;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center}.phone-toast{position:absolute;top:var(--banner-top);height:var(--banner-h);box-sizing:border-box;left:var(--banner-left);right:calc(var(--screen-side) + 6px);z-index:25;background:#262632fa;border-radius:12px;padding:0 6px 0 8px;display:flex;gap:8px;align-items:center;box-shadow:0 6px 18px #00000080;animation:toast-in .25s ease-out;border:none;font:inherit;color:inherit;text-align:left;cursor:pointer}.toast-more{margin-left:6px;padding:0 6px;border-radius:8px;background:#ffffff24;color:#c8c8d6;font-size:10px;font-weight:600}@media (prefers-reduced-motion: reduce){.phone-toast{animation:none}}@keyframes toast-in{0%{transform:translateY(-6px);opacity:0}}.phone-toast .toast-icon{font-size:24px}.phone-toast .toast-body{flex:1;min-width:0;display:flex;align-items:baseline;gap:6px}.phone-toast .toast-sender{color:#fff;font-size:12px;font-weight:600;white-space:nowrap;flex-shrink:0;max-width:55%;overflow:hidden;text-overflow:ellipsis}.phone-toast .toast-text{color:#b8b8c8;font-size:12px;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.phone-app{height:100%;display:flex;flex-direction:column;min-height:0}.phone-app>.app-header{display:flex;align-items:center;gap:8px;padding:6px 14px 10px;border-bottom:1px solid rgba(255,255,255,.08);z-index:2}.phone-app .app-header .back-btn{background:none;border:none;color:#6ea3ff;font-size:14px;cursor:pointer;padding:4px}.phone-app .app-header h2{margin:0;font-size:17px;color:#fff;flex:1}.app-list{flex:1;overflow-y:auto;padding:8px 12px 24px}.empty-state{color:#6a6a7a;text-align:center;font-size:13px;padding:40px 16px}.convo-row,.email-row,.call-row{display:flex;align-items:center;gap:10px;width:100%;background:none;border:none;border-radius:12px;padding:10px;cursor:pointer;text-align:left}.convo-row:hover,.email-row:hover,.call-row:hover{background:#ffffff0f}.avatar-circle{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;background:#2c2c3a;flex-shrink:0}.row-main{flex:1;min-width:0}.row-title{color:#fff;font-size:14px;font-weight:600;display:flex;justify-content:space-between;gap:8px}.row-time{color:#7a7a8c;font-size:11px;font-weight:400;flex-shrink:0}.row-preview{color:#9a9aac;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.unread-dot{width:9px;height:9px;border-radius:50%;background:#6ea3ff;flex-shrink:0}.thread-list{display:flex;flex-direction:column;gap:8px}.thread-bubble{max-width:82%;background:#26263a;color:#e8e8f0;border-radius:14px;padding:8px 12px;font-size:13px;line-height:1.4;white-space:pre-wrap}.thread-bubble.outgoing{align-self:flex-end;background:#0a84ff;color:#fff}.thread-bubble.outgoing .bubble-time{color:#ffffffb3}.thread-bubble.outgoing .inline-link{color:#fff}.thread-bubble.typing{color:#8a8a9c;letter-spacing:2px}.thread-bubble .bubble-time{display:block;margin-top:4px;font-size:10px;color:#8a8a9c;text-align:right}.email-subject{color:#fff;font-size:13px;font-weight:600}.email-row .email-body{margin:4px 0 8px 50px;color:#c8c8d8;font-size:12.5px;line-height:1.5;white-space:pre-wrap}.email-open{display:flex;flex-direction:column;gap:8px;padding:6px 4px}.email-open h3{margin:0;color:#fff;font-size:17px;line-height:1.3}.email-meta{color:#8a8a9c;font-size:12px}.email-open .email-body{margin:8px 0;color:#d8d8e6;font-size:13.5px;line-height:1.55;white-space:pre-wrap}.phone-app .app-header .header-action{background:none;border:none;font-size:17px;cursor:pointer;padding:4px 6px;color:#6ea3ff}.phone-app .app-header .header-action:disabled{opacity:.35;cursor:default}.list-caption{color:#8a8a9c;font-size:11px;text-transform:uppercase;letter-spacing:.05em;padding:8px 10px 4px}.inline-link{background:none;border:none;padding:0;font:inherit;color:#6ea3ff;text-decoration:underline;cursor:pointer;word-break:break-all;text-align:left}.thread-error{color:#ff8a80;font-size:12px;text-align:center;padding:6px}.avatar-circle.contact-initials{font-size:13px;font-weight:700;color:#fff;background:linear-gradient(160deg,#4a4a66,#2c2c3a)}.contact-card{display:flex;flex-direction:column;gap:16px}.contact-hero{display:flex;flex-direction:column;align-items:center;gap:4px;padding-top:8px;text-align:center}.contact-avatar{width:76px;height:76px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:700;color:#fff;background:linear-gradient(160deg,#5a5a7c,#2c2c3a)}.contact-hero h3{margin:6px 0 0;color:#fff;font-size:20px}.contact-hero p{margin:0;color:#8a8a9c;font-size:12px}.contact-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.contact-actions button{display:flex;flex-direction:column;align-items:center;gap:4px;background:#22222f;border:none;border-radius:12px;padding:10px 4px;color:#6ea3ff;font-size:12px;cursor:pointer}.contact-actions button span{font-size:18px}.contact-actions button:disabled{color:#5a5a6a;cursor:default}.contact-actions button:disabled span{opacity:.4}.contact-fields{margin:0;background:#1c1c28;border-radius:12px;overflow:hidden}.contact-fields>div{padding:10px 14px;border-bottom:1px solid rgba(255,255,255,.06)}.contact-fields>div:last-child{border-bottom:none}.contact-fields dt{color:#8a8a9c;font-size:11px}.contact-fields dd{margin:2px 0 0;color:#fff;font-size:14px}.call-status{font-size:11px;font-weight:600}.call-status.missed{color:#ff5f57}.call-status.incoming{color:#8a8a9c}.call-overlay{position:absolute;inset:var(--screen-side);border-radius:var(--screen-radius);overflow:hidden;z-index:40;background:linear-gradient(180deg,#171722f7,#101018fc);display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:80px 32px 60px}.call-overlay .caller-avatar{width:96px;height:96px;border-radius:50%;background:#2c2c3a;display:flex;align-items:center;justify-content:center;font-size:44px;animation:call-pulse 1.6s ease-in-out infinite}@keyframes call-pulse{0%,to{box-shadow:0 0 #6ea3ff73}50%{box-shadow:0 0 0 18px #6ea3ff00}}.call-overlay .caller-name{color:#fff;font-size:24px;font-weight:700;margin-top:20px}.call-overlay .caller-status{color:#9a9aac;font-size:13px;margin-top:6px}.call-actions{display:flex;gap:56px;align-items:center}.call-action-btn{width:68px;height:68px;border-radius:50%;border:none;font-size:28px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff}.call-action-btn.decline{background:#ff3b30}.call-action-btn.answer{background:#2ecc71}.active-call .call-timer{color:#9a9aac;font-size:14px;margin-top:8px;font-variant-numeric:tabular-nums}.active-call .call-timer.lost{color:#ff453a;font-weight:600}.active-call{padding-top:48px;padding-bottom:40px;gap:16px}.active-call .caller-avatar{width:72px;height:72px;font-size:34px}.active-call .caller-name{margin-top:12px;text-align:center}.call-transcript{flex:1;min-height:0;width:100%;overflow-y:auto;display:flex;flex-direction:column;justify-content:flex-end;gap:8px}.call-transcript p{margin:0;color:#9a9aac;font-size:14px;line-height:1.45;text-align:center}.call-transcript p.current{color:#fff}.call-replies{width:100%}.call-action-btn.mute{background:#3a3a4c;font-size:22px;width:56px;height:56px}.reply-choices{display:flex;flex-direction:column;gap:6px;padding:8px 12px 16px;border-top:1px solid rgba(255,255,255,.08)}.email-open .reply-choices,.call-replies .reply-choices{border-top:none;padding:4px 0 0}.reply-choice{background:#0a84ff24;color:#8ab8ff;border:1px solid rgba(10,132,255,.4);border-radius:16px;padding:9px 14px;font-size:13.5px;text-align:left;cursor:pointer}.reply-choice:hover{background:#0a84ff3d}.call-missed-name{color:#ff6b6b}.voicemail{display:flex;flex-direction:column;gap:16px}.vm-head{display:flex;flex-direction:column;align-items:center;gap:4px;padding-top:8px}.vm-head strong{color:#fff;font-size:18px;margin-top:6px}.vm-time{color:#8a8a9c;font-size:12px}.vm-play{margin-top:8px;background:#0a84ff;color:#fff;border:none;border-radius:18px;padding:8px 22px;font-size:14px;font-weight:600;cursor:pointer}.vm-label{display:block;color:#8a8a9c;font-size:11px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}.vm-transcript{background:#1c1c28;border-radius:12px;padding:12px}.vm-transcript p{margin:0 0 6px;color:#b8b8c8;font-size:14px;line-height:1.45}.vm-transcript p.current{color:#fff}.vm-reply .reply-choices{border-top:none;padding:0}.vm-replied{color:#8a8a9c;font-size:13px}.phone-toast .toast-body{flex:1;min-width:0}.toast-dismiss{background:none;border:none;color:#8a8a9c;font-size:13px;padding:4px;cursor:pointer;align-self:flex-start}.toast-dismiss:hover{color:#fff}.notif-center{position:absolute;inset:var(--screen-top) var(--screen-side) var(--content-bottom);z-index:26;border-radius:0;background:#101018f7;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;flex-direction:column;animation:notif-in .2s ease-out}@keyframes notif-in{0%{transform:translateY(-12px);opacity:0}}@media (prefers-reduced-motion: reduce){.notif-center{animation:none}}.notif-head{display:flex;justify-content:space-between;align-items:center;padding:10px 16px 8px}.notif-head h2{margin:0;color:#fff;font-size:22px;font-weight:700}.notif-close{background:#ffffff1a;border:none;border-radius:50%;width:28px;height:28px;color:#fff;cursor:pointer}.notif-list{flex:1;overflow-y:auto;padding:4px 12px 20px;display:flex;flex-direction:column;gap:8px}.notif-row{display:flex;gap:10px;align-items:flex-start;width:100%;padding:10px 12px;border:none;border-radius:14px;background:#262632e6;text-align:left;cursor:pointer}.notif-row:hover{background:#323242f2}.notif-row.unread{box-shadow:inset 3px 0 #0a84ff}.notif-icon{font-size:18px;line-height:1.4}.notif-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.notif-top{display:flex;justify-content:space-between;gap:8px}.notif-sender{color:#fff;font-size:13px;font-weight:600}.notif-time{color:#8a8a9c;font-size:11px;flex-shrink:0}.notif-text{color:#c8c8d6;font-size:13px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.notif-section-row{display:flex;justify-content:space-between;align-items:center}.notif-section{margin:8px 2px 0;color:#8a8a9c;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.notif-clear,.notif-archived-toggle{background:none;border:none;color:#6ea3ff;font-size:12px;cursor:pointer;padding:8px 2px 0;text-align:left}.notif-archived-toggle{margin-top:6px;color:#8a8a9c}.notif-row.read{opacity:.55;background:#26263299}.notif-row.read:hover{opacity:.85}.convo-row.my-card{cursor:default;border-bottom:1px solid rgba(255,255,255,.08);border-radius:0;margin-bottom:4px}.convo-row.my-card:hover{background:none}.scare-overlay{position:absolute;inset:var(--screen-side);border-radius:var(--screen-radius);z-index:80;background:#000;display:flex;align-items:center;justify-content:center;overflow:hidden;cursor:pointer;animation:scare-hit .35s ease-out;transition:opacity .45s ease-in}.scare-overlay.fading{opacity:0}.scare-overlay img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;filter:contrast(1.25) saturate(.6)}.scare-text{position:relative;padding:0 20px;color:#f2ede4;font-family:Georgia,Times New Roman,serif;font-size:44px;font-weight:700;line-height:1.05;letter-spacing:.04em;text-align:center;text-transform:uppercase;text-shadow:0 0 18px rgba(200,20,20,.85),0 2px 0 #000;text-wrap:balance}.scare-text.long{font-size:26px;line-height:1.15;letter-spacing:.02em}@keyframes scare-hit{0%{transform:scale(1.18) translate(3px,-2px)}20%{transform:scale(1.1) translate(-4px,3px)}40%{transform:scale(1.05) translate(3px,2px)}60%{transform:scale(1.02) translate(-2px,-1px)}to{transform:none}}@media (prefers-reduced-motion: reduce){.scare-overlay{animation:none}}.bubble-image{display:block;max-width:100%;border-radius:10px;margin:2px 0 6px}.location-bubble{isolation:isolate;display:block;width:200px;max-width:100%;padding:0;margin:2px 0 6px;border:none;border-radius:10px;overflow:hidden;background:#1a1a24;cursor:pointer;text-align:left}.location-map{height:110px;pointer-events:none;background:#22222e}.location-label{display:block;padding:6px 9px;font-size:12px;color:#e8e8f0}.shared-pin{fill:#ff453a;fill-opacity:1;stroke:#fff;stroke-width:3}.voice-note{display:flex;flex-direction:column;gap:4px;margin-top:6px;min-width:200px;white-space:normal}.voice-note-bar{display:flex;align-items:center;gap:8px}.voice-note-bar button{width:30px;height:30px;border-radius:50%;border:none;background:#0a84ff;color:#fff;font-size:12px;cursor:pointer;flex-shrink:0}.voice-wave{display:flex;align-items:center;gap:2px;flex:1}.voice-wave i{display:block;width:3px;border-radius:2px;background:#ffffff73}.voice-wave.playing i{background:#7cc4ff;animation:voice-pulse .9s ease-in-out infinite alternate}.voice-wave.playing i:nth-child(odd){animation-delay:.3s}@keyframes voice-pulse{0%{transform:scaleY(.5)}to{transform:scaleY(1.2)}}@media (prefers-reduced-motion: reduce){.voice-wave.playing i{animation:none}}.voice-meta,.voice-by{color:#9a9aac;font-size:11px}.voice-show{align-self:flex-start;background:none;border:none;padding:0;color:#7cc4ff;font-size:12px;cursor:pointer}.voice-transcript p{margin:2px 0;font-size:12px;color:#c8c8d4}.voice-transcript p.current{color:#fff}.has-photo{padding:0;overflow:hidden}.has-photo img{width:100%;height:100%;object-fit:cover;display:block}.phone-app>.app-header.thread-header{position:relative;justify-content:center;padding-bottom:8px}.phone-app .thread-header .back-btn{position:absolute;left:10px;top:6px}.thread-who{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0;max-width:60%}.avatar-circle.thread-face{width:44px;height:44px;font-size:14px}.phone-app .thread-header h2{flex:none;font-size:13px;font-weight:600;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.puzzle-link{display:flex;align-items:center;gap:10px;margin-top:6px;padding:9px 12px;width:100%;border-radius:12px;border:1px solid rgba(247,207,90,.5);background:#f7cf5a1a;color:#f7cf5a;font:inherit;text-align:left;cursor:pointer}.puzzle-link strong,.puzzle-link small{display:block}.puzzle-link small{color:#c9b77a;font-size:11px}.puzzle-link-icon{font-size:20px}.puzzle-link.solved{border-color:#34c75980;background:#34c75914;color:#7ddc98}.story-loader{display:flex;flex-direction:column;align-items:center;gap:1rem;text-align:center;max-width:420px}.loader-icon{font-size:3rem}.story-loader h2{color:var(--text-primary)}.story-loader p{color:var(--text-secondary);font-size:.95rem}.drop-zone{width:100%;padding:2.5rem 1rem;border:2px dashed var(--border-color);border-radius:16px;background:var(--bg-card);color:var(--text-secondary);cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:.5rem;transition:border-color var(--transition-speed),background var(--transition-speed)}.drop-zone:hover,.drop-zone.active{border-color:var(--accent-gold);background:var(--bg-card-hover)}.drop-icon{font-size:2rem}.error-message{white-space:pre-line;text-align:left;color:var(--accent-red);font-size:.9rem}.example-stories{display:flex;flex-direction:column;align-items:center;gap:.75rem;margin-top:1rem}.example-stories h3{color:var(--text-secondary);font-size:.85rem;text-transform:uppercase;letter-spacing:1px}.continue-card{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;padding:1rem 1.25rem;border:1px solid var(--accent-gold);border-radius:16px;background:var(--bg-card);color:var(--text-primary);text-align:left;cursor:pointer;transition:background var(--transition-speed)}.continue-card:hover,.continue-card:focus-visible{background:var(--bg-card-hover)}.continue-label{color:var(--accent-gold);font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.continue-title{font-size:1.15rem;font-weight:700}.continue-meta{color:var(--text-secondary);font-size:.85rem}.player-setup{width:100%}.setup-field{width:100%;display:flex;flex-direction:column;align-items:stretch;gap:.4rem;border:none;padding:0;margin:0;text-align:left;color:var(--text-secondary);font-size:.85rem}.setup-field legend{padding:0;margin-bottom:.4rem}.setup-field input{font:inherit;font-size:1rem;color:var(--text-primary);background:var(--bg-card);border:1px solid var(--border-color);border-radius:10px;padding:.65rem .8rem}.setup-field input:focus{outline:2px solid var(--accent-gold);border-color:transparent}.pronoun-options{display:flex;flex-wrap:wrap;gap:.5rem}.pronoun-option{flex:1 1 0;min-width:6.5rem;font:inherit;color:var(--text-primary);background:var(--bg-card);border:1px solid var(--border-color);border-radius:999px;padding:.55rem .8rem;cursor:pointer}.pronoun-option.active{border-color:var(--accent-gold);background:var(--bg-card-hover);font-weight:600}.setup-actions{display:flex;gap:.75rem;justify-content:center}.story-loader .setup-note{font-size:.8rem}.title-name{font-size:2.4rem;letter-spacing:.04em;margin:0 0 .3rem}.title-tagline{color:#a0a0b8;margin:0 0 1.6rem}.episode-list{display:flex;flex-direction:column;gap:8px;width:100%;max-width:420px}.episode-row{display:flex;align-items:baseline;gap:14px;width:100%;padding:14px 18px;border-radius:14px;border:1px solid #2c2c40;background:#17172a;color:#fff;font:inherit;text-align:left;cursor:pointer}.episode-row:hover,.episode-row:focus-visible{border-color:#f0c040;background:#1e1e36}.episode-number{color:#f0c040;font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.episode-title{font-size:1.05rem;font-weight:600}.writer-tools{margin-top:2rem;width:100%;max-width:420px;display:flex;flex-direction:column;gap:10px;opacity:.75}.writer-tools h3{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:#8a8a9c;margin:0}.writer-tools .drop-zone{padding:14px;font-size:.85rem}.story-loader .setup-hint{margin:.4rem 0 0;color:var(--text-secondary);font-size:.8rem;line-height:1.4}.map-view{background:#1a1a2e;border-radius:8px;padding:16px}.map-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.map-header h3{margin:0;font-size:14px;text-transform:uppercase;letter-spacing:1px;color:#8b7cf6}.location-count{font-size:11px;color:#7ee29a}.no-locations p{color:#666;font-style:italic;margin:0}.map-container{overflow-y:auto;max-height:300px}.location-grid{display:grid;gap:8px}.location-card{background:#16213e;border:1px solid #2a2a4a;border-radius:8px;padding:10px 12px}.location-card h4{margin:0 0 4px;font-size:13px;color:#e0e0e0}.location-card small{color:#666;font-size:11px}.location-card.verified{border-color:#2ecc71}.location-clues{margin:6px 0 0;font-size:12px;color:#f39c12}.gate-overlay{position:absolute;inset:var(--screen-top) var(--screen-side) var(--content-bottom);z-index:35;border-radius:var(--screen-radius);background:#0a0a10eb;display:flex;align-items:center;justify-content:center;padding:16px}.gate-sheet{width:100%;background:#1c1c28;border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:14px;display:flex;flex-direction:column;gap:12px;color:#fff}.gate-top{display:flex;justify-content:space-between;align-items:center}.gate-tag{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#f0c040}.gate-close{background:none;border:none;color:#8a8a9c;font-size:16px;cursor:pointer}.gate-foot{text-align:center;color:#8a8a9c;font-size:12px;font-variant-numeric:tabular-nums}.gate-primary{background:#0a84ff;color:#fff;border:none;border-radius:12px;padding:10px;font-size:14px;font-weight:600;cursor:pointer}.ad-body{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;padding:18px 8px;border-radius:14px;background:linear-gradient(160deg,#2a2a40,#16161f)}.ad-art{font-size:44px}.ad-body p{margin:0;color:#9a9aac;font-size:12px}.memory-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.memory-card{aspect-ratio:1;border-radius:10px;border:none;background:#2c2c40;font-size:26px;cursor:pointer}.memory-card.shown{background:#3a3a55}.memory-card.matched{background:#30d15840}.engine{display:flex;flex-direction:column;align-items:center;gap:.75rem;margin-top:.75rem}.engine-label{display:block;font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-secondary)}.engine-controls{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;justify-content:center}.engine-controls button,.seq-move button{background:var(--bg-card-hover);color:var(--text-primary);border:1px solid var(--border-color);border-radius:8px;padding:.4rem .8rem;font-size:.85rem;cursor:pointer}.engine-controls button:disabled,.seq-move button:disabled{opacity:.4;cursor:default}.engine-note{color:var(--text-secondary);font-size:.8rem;text-align:center}.cipher-note{text-align:center}.cipher-note strong{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:1.4rem;letter-spacing:.3em;color:var(--text-primary)}.cipher-wheel.solved .cipher-note strong{color:var(--accent-green)}.wheel{width:min(240px,100%);height:auto;font-family:ui-monospace,SF Mono,Menlo,monospace;font-weight:700}.wheel-outer{fill:#2a2418;stroke:#8a6d3b;stroke-width:2}.wheel-inner{fill:#3b3222;stroke:#8a6d3b;stroke-width:1.5}.wheel-hub{fill:#1a160f;stroke:#8a6d3b}.wheel-pointer{fill:var(--accent-gold)}.ring-plain text{fill:#f0dfb6;font-size:11px}.ring-cipher{transition:transform .3s ease}.ring-cipher text{fill:var(--accent-gold);font-size:10px}.wheel-shift{fill:#f0dfb6;font-size:12px}@media (prefers-reduced-motion: reduce){.ring-cipher{transition:none}}.lock-body{position:relative;padding:2.6rem 1rem 1rem}.lock-shackle{position:absolute;top:0;left:50%;width:70px;height:52px;margin-left:-35px;border:8px solid #b8b8c4;border-bottom:none;border-radius:36px 36px 0 0;transition:transform .35s ease}.combo-lock.open .lock-shackle{transform:translateY(-14px)}.lock-dials{position:relative;display:flex;gap:6px;padding:12px 14px;border-radius:14px;background:linear-gradient(180deg,#d9a441,#9c6b1c);box-shadow:inset 0 2px #ffffff59,0 6px 16px #00000080}.lock-dial{display:flex;flex-direction:column;align-items:center}.lock-dial button{background:none;border:none;color:#3a2608;font-size:.8rem;cursor:pointer;padding:2px 8px}.lock-digit{width:34px;height:42px;border-radius:6px;background:linear-gradient(180deg,#1c1c22,#34343e 50%,#1c1c22);color:#fff;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:1.4rem;font-weight:700;display:flex;align-items:center;justify-content:center;font-variant-numeric:tabular-nums}.combo-lock.wrong .lock-dials{animation:engine-rattle .4s}.combo-lock.open .lock-digit{color:var(--accent-green)}@keyframes engine-rattle{20%{transform:translate(-5px) rotate(-1deg)}40%{transform:translate(5px) rotate(1deg)}60%{transform:translate(-3px)}80%{transform:translate(3px)}}@media (prefers-reduced-motion: reduce){.combo-lock.wrong .lock-dials{animation:none}.lock-shackle{transition:none}}.seq-list{list-style:none;width:100%;display:flex;flex-direction:column;gap:6px}.seq-card{display:flex;align-items:center;gap:.6rem;padding:.5rem .6rem;border-radius:10px;background:var(--bg-card-hover);border:1px solid var(--border-color)}.sequence.right .seq-card{border-color:var(--accent-green)}.sequence.wrong .seq-card{border-color:#ff475780}.seq-pos{width:1.5rem;height:1.5rem;border-radius:50%;background:var(--accent-gold);color:#000;font-size:.75rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.seq-label{flex:1;font-size:.85rem}.seq-move{display:flex;gap:4px}.seq-move button{padding:.2rem .5rem}.hotspot-frame{position:relative;width:100%;border-radius:10px;overflow:hidden;cursor:crosshair;touch-action:manipulation}.hotspot-frame img{display:block;width:100%;height:auto;-webkit-user-select:none;user-select:none}.hotspot-tap{position:absolute;width:34px;height:34px;margin:-17px 0 0 -17px;border-radius:50%;border:3px solid #fff;pointer-events:none;animation:tap-ripple .6s ease-out forwards}.hotspot-tap.ok{border-color:var(--accent-green);animation:none;box-shadow:0 0 0 4px #2ed57359}@keyframes tap-ripple{to{transform:scale(1.8);opacity:0}}@media (prefers-reduced-motion: reduce){.hotspot-tap{animation:none}}.engine-credit{align-self:flex-start;margin-top:-.4rem;color:var(--text-muted);font-size:.7rem}.mark-list{list-style:none;width:100%;display:flex;flex-direction:column;gap:6px}.mark-item{width:100%;display:flex;align-items:flex-start;justify-content:space-between;gap:.6rem;padding:.55rem .7rem;border-radius:10px;background:var(--bg-card-hover);border:1px solid var(--border-color);color:var(--text-primary);font:inherit;font-size:.85rem;line-height:1.35;text-align:left;cursor:pointer}.mark-item.marked{border-color:#ff453a}.mark-item.marked .mark-label{text-decoration:line-through;text-decoration-color:#ff453a}.mark-flag{flex-shrink:0;color:#ff453a;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.mark-text.right .mark-item.marked{border-color:var(--accent-green)}.overlay-frame{position:relative;width:100%;border-radius:10px;overflow:hidden;cursor:grab;touch-action:none}.overlay-frame:active{cursor:grabbing}.overlay-frame img{display:block;width:100%;height:auto;-webkit-user-select:none;user-select:none;pointer-events:none}.overlay-frame img.overlay-sheet{position:absolute;top:0;right:0;bottom:0;left:0;height:100%;opacity:.88;filter:drop-shadow(0 2px 5px rgba(0,0,0,.35))}.overlay.right .overlay-sheet{transition:transform .35s ease-out}.overlay.right .overlay-frame{cursor:default;outline:2px solid var(--success, #4caf50)}.overlay-controls input[type=range]{flex:1 1 8rem;min-width:6rem}.cipher-wrong{display:block;margin-top:4px;color:#ff9a9a;font-size:.8rem}.mechanism .mech-face{position:relative;width:min(100%,360px,42vh);margin:0 auto;aspect-ratio:1}.mechanism .mech-face img{width:100%;height:100%;display:block;-webkit-user-select:none;user-select:none}.mechanism .mech-parts{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.mechanism .mech-pointer{transition:transform .25s ease}.mechanism .mech-pointer polygon{fill:#b98a44;stroke:#2b1d0c;stroke-width:.5}.mechanism .mech-pointer circle{fill:#8d6630;stroke:#2b1d0c;stroke-width:.5}.mechanism .mech-shadow{fill:#1e1206;stroke:#1e1206;stroke-width:2.4;stroke-linejoin:round;opacity:.5}.mechanism .mech-stud{fill:#5d5a55;stroke:#1b1a18;stroke-width:.6;transition:transform .15s ease,fill .15s ease}.mechanism .mech-stud.in{fill:#2e2c29;stroke:#000}.mechanism .mech-turn{position:absolute;transform:translate(-50%,70%);display:flex;gap:4px}.mechanism .mech-turn button,.mechanism .mech-press{cursor:pointer}.mechanism .mech-turn button{background:#0a0a10bf;color:#f2e6cf;border:1px solid rgba(255,255,255,.25);border-radius:999px;width:30px;height:30px;font-size:16px}.mechanism .mech-press{position:absolute;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;border:none;background:transparent}.mechanism .mech-press:focus-visible{outline:2px solid #f2c94c}.mechanism.wrong .mech-face{animation:mech-grind .35s linear 2}@keyframes mech-grind{25%{transform:translate(-2px,1px) rotate(-.6deg)}75%{transform:translate(2px,-1px) rotate(.6deg)}}.mechanism.open .mech-face img{filter:brightness(1.15)}.mechanism .mech-block{fill:transparent;stroke:none;transition:fill .15s ease}.mechanism .mech-block.in{fill:#1e180e61;stroke:#14100ab3;stroke-width:.8}.route .route-map{position:relative;width:min(100%,420px,44vh);margin:0 auto;aspect-ratio:1}.route .route-map img{width:100%;height:100%;display:block;-webkit-user-select:none;user-select:none}.route .route-ink{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.route .route-ink polyline{fill:none;stroke:#9b1c1c;stroke-width:1.4;stroke-linejoin:round;stroke-linecap:round;stroke-dasharray:2.4 1.4}.route .route-node{position:absolute;width:26px;height:26px;transform:translate(-50%,-50%);border-radius:50%;border:3px solid #3b2a12;background:#efe2c2;cursor:pointer}.route .route-node.next{border-color:#9b1c1c;box-shadow:0 0 0 3px #9b1c1c40}.route .route-node.on{background:#9b1c1c}.route .route-node.last{box-shadow:0 0 0 4px #9b1c1c73}.route.wrong .route-map{animation:mech-grind .35s linear 2}.puzzle-panel{background:#1a1a2e;border-radius:8px;padding:16px}.puzzle-panel h3{margin:0 0 12px;font-size:14px;text-transform:uppercase;letter-spacing:1px;color:#8b7cf6}.no-puzzles p{color:#666;font-style:italic;margin:0}.puzzle-card{background:#16213e;border:1px solid #2a2a4a;border-radius:8px;padding:12px;margin-bottom:10px}.puzzle-card.completed{opacity:.6;border-color:#2ecc71}.puzzle-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.puzzle-header h4{margin:0;font-size:13px;color:#e0e0e0}.puzzle-status{font-size:10px;padding:2px 8px;border-radius:10px;letter-spacing:.5px}.puzzle-status.active{background:#4a3f8f;color:#c9bfff}.puzzle-status.solved{background:#1e4620;color:#7ee29a}.puzzle-description{margin:0 0 10px;font-size:13px;color:#aaa}.puzzle-input-group{display:flex;gap:8px}.puzzle-input{flex:1;background:#0f0f23;border:1px solid #2a2a4a;border-radius:6px;padding:8px 10px;color:#e0e0e0;font-size:13px}.puzzle-input:focus{outline:none;border-color:#8b7cf6}.puzzle-feedback{margin:8px 0 0;font-size:12px;color:#e74c3c}.puzzle-solved{margin-top:8px;font-size:12px;color:#7ee29a}.puzzle-action{margin-top:.5rem;color:var(--accent-gold);font-size:.85rem;font-weight:600}.letter-tiles{display:flex;flex-direction:column;gap:.75rem;margin-top:.75rem}.tile-slots,.tile-pool{display:flex;flex-wrap:wrap;gap:6px}.tile{width:34px;height:40px;border-radius:8px;border:1px solid var(--border-color);background:var(--bg-card-hover);color:var(--text-primary);font-size:1rem;font-weight:700;cursor:pointer}.tile:disabled{opacity:.25;cursor:default}.tile.slot{background:transparent;border-style:dashed;border-color:var(--text-muted)}.tile-slots.wrong .tile.slot{border-color:var(--accent-red);color:var(--accent-red);animation:tile-shake .35s}@keyframes tile-shake{25%{transform:translate(-4px)}75%{transform:translate(4px)}}@media (prefers-reduced-motion: reduce){.tile-slots.wrong .tile.slot{animation:none}}.hint-credits{color:var(--text-secondary);font-size:.85rem;margin-bottom:.75rem}.hint-credits b{color:var(--accent-gold);font-variant-numeric:tabular-nums}.hint-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.75rem}.hint-btn{font-size:.8rem;padding:.35rem .7rem}.hint-note{color:var(--text-secondary);font-size:.8rem}.lead-list{list-style:none;margin:0 0 1rem;padding:0}.lead{display:flex;gap:.6rem;padding:.6rem .2rem;border-bottom:1px solid var(--border-color);color:var(--text-primary);font-size:.9rem}.lead p{margin:.25rem 0 0;color:var(--text-secondary);font-size:.85rem}.lead-mark{width:1rem;flex-shrink:0;color:var(--text-muted)}.lead.done strong{font-weight:400;color:var(--text-muted);text-decoration:line-through}.lead.done .lead-mark{color:var(--accent-green)}.puzzle-reference{margin:.5rem 0 .75rem;padding:.6rem .75rem;border-radius:10px;background:#f0c04012;border:1px solid rgba(240,192,64,.25);font-size:.85rem;line-height:1.45}.puzzle-reference summary{cursor:pointer;color:var(--accent-gold, #f0c040);font-weight:600}.puzzle-reference p{margin:.4rem 0 0;overflow-wrap:anywhere}.send-to{margin-top:8px}.send-to-btn{background:#ffffff14;border:1px solid rgba(255,255,255,.14);border-radius:999px;color:inherit;font:inherit;font-size:13px;padding:6px 12px;cursor:pointer}.send-to-btn:hover,.send-to-btn:focus-visible{background:#ffffff24}.send-to-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.send-to-row{background:#2a2a3a;border:none;border-radius:999px;color:#fff;font:inherit;font-size:13px;padding:6px 12px;cursor:pointer}.send-to-row:hover,.send-to-row:focus-visible{background:#3a3a50}.send-to-none,.send-to-sent{font-size:13px;color:#a8a8bc}.inventory-view{max-width:400px;width:100%}.inventory-view h3{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin-bottom:1rem}.empty-inventory{text-align:center;padding:2rem 1rem;background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px}.empty-icon{font-size:2rem;display:block;margin-bottom:.5rem}.empty-inventory p{color:var(--text-secondary);font-size:.9rem;margin-bottom:.25rem}.empty-inventory small{color:var(--text-muted);font-size:.8rem}.inventory-grid{display:grid;grid-template-columns:1fr;gap:.75rem;margin-bottom:1rem}.inventory-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;transition:all var(--transition-speed)}.inventory-item:hover{background:var(--bg-card-hover);border-color:#ff47574d}.inventory-item.blurred{filter:blur(3px);opacity:.5}.item-icon{font-size:1.5rem;flex-shrink:0}.item-details h4{font-size:.875rem;font-weight:600;color:var(--text-primary);margin-bottom:.15rem}.item-type{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.25rem}.item-description{font-size:.8rem;color:var(--text-secondary);line-height:1.4;margin-bottom:.25rem}.item-function{color:var(--accent-blue)}.undiscovered-section h4{font-size:.85rem;color:var(--text-muted);margin-bottom:.5rem}.item-work{margin-top:.5rem;background:none;border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:.85rem;padding:.35rem .7rem;cursor:pointer}.item-picture{display:block;width:100%;max-width:420px;margin:.4rem 0;border-radius:8px}.inventory-item.chosen{outline:2px solid #f2c94c}.inventory-said{margin:0 0 .75rem;padding:.6rem .8rem;border-radius:10px;background:var(--bg-card);border:1px solid var(--border-color);font-size:.9rem;cursor:pointer}.inventory-item .item-picture{max-height:96px;max-width:100%;width:auto;object-fit:contain;display:block;margin:.3rem 0}.item-money{font-size:.85rem;font-weight:600;margin-bottom:.25rem}.settings-app{position:relative}.settings-profile{display:flex;align-items:center;gap:12px;padding:12px 10px 16px}.settings-profile .contact-avatar{width:52px;height:52px;font-size:18px}.settings-profile div{display:flex;flex-direction:column;gap:2px}.settings-profile strong{color:#fff;font-size:17px}.settings-profile span{color:#8a8a9c;font-size:12px}.settings-section{background:#1c1c26;border-radius:14px;padding:4px 0;margin:0 4px 16px}.settings-caption{color:#8a8a9c;font-size:11px;text-transform:uppercase;letter-spacing:.06em;padding:8px 12px 4px}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;color:#e8e8f0;font-size:13px;border-top:1px solid rgba(255,255,255,.05)}.settings-row.muted,.settings-row .muted{color:#8a8a9c}.device-icon{font-size:20px;width:26px;text-align:center}.device-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.device-name{color:#fff}.device-sub,.device-this{color:#8a8a9c;font-size:11px}.device-signout{background:none;border:1px solid rgba(255,69,58,.6);color:#ff6b61;border-radius:999px;padding:4px 10px;font-size:12px;cursor:pointer}.settings-note{color:#8a8a9c;font-size:11px;padding:8px 12px 10px;line-height:1.4}.settings-confirm{position:absolute;left:16px;right:16px;bottom:24px;z-index:5;background:#26263a;border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:6px;box-shadow:0 -8px 30px #00000080;color:#e8e8f0;font-size:13px}.settings-confirm strong{color:#fff;font-size:15px}.settings-confirm span{color:#8a8a9c;font-size:12px}.settings-confirm-actions{display:flex;gap:8px;margin-top:8px}.settings-confirm-actions button{flex:1;border:none;border-radius:10px;padding:9px;font-size:14px;background:#3a3a50;color:#fff;cursor:pointer}.settings-confirm-actions button.danger{background:#ff453a}.locked-app{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;text-align:center;color:#e8e8f0}.locked-app .lock-glyph{font-size:40px}.locked-app strong{font-size:17px;color:#fff}.locked-app p{margin:0;color:#9a9aac;font-size:13px;line-height:1.45;max-width:260px}.app-icon .lock-badge{position:absolute;top:-4px;right:2px;font-size:13px;background:#1c1c26;border-radius:999px;padding:1px 3px}.settings-start-over{width:100%;border:0;background:none;font:inherit;text-align:left;cursor:pointer;color:#ff6b6b}.settings-switch{cursor:pointer}.settings-switch input{width:20px;height:20px;accent-color:#34c759}.mail-attachments{margin:14px 0 6px;padding-top:10px;border-top:1px solid rgba(255,255,255,.08)}.mail-attachments-head{font-size:.75rem;color:var(--text-secondary, #9aa0aa);margin-bottom:6px}.mail-attachment{display:flex;align-items:center;gap:10px;width:100%;padding:6px;margin-bottom:6px;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:#ffffff0a;color:inherit;font:inherit;text-align:left;cursor:pointer}.mail-attachment img,.mail-attachment-letter{width:52px;height:52px;flex-shrink:0;border-radius:6px;object-fit:cover;background:#efe4c8}.mail-attachment-letter{display:flex;align-items:center;justify-content:center;color:#6b5634;font-size:1.5rem}.mail-attachment-name{font-size:.8rem;word-break:break-all}.mail-viewer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3000;display:flex;align-items:center;justify-content:center;padding:44px 10px 16px;background:#000000eb;overflow:auto}.mail-viewer>img{max-width:min(100%,720px);max-height:100%;background:#fff}.mail-viewer-close{position:absolute;top:10px;right:10px;width:32px;height:32px;border:none;border-radius:50%;background:#ffffff26;color:#fff;font-size:1rem;cursor:pointer}.letter-page{align-self:flex-start;width:min(100%,480px);box-sizing:border-box;padding:26px 22px 30px;background:radial-gradient(ellipse at center,#fffaeb00 55%,#966e3c47),repeating-linear-gradient(0deg,rgba(120,90,50,.05) 0 1px,transparent 1px 4px),#eadfc2;color:#2b2418;box-shadow:0 4px 18px #0009;transform:rotate(-.6deg);font-family:Snell Roundhand,Apple Chancery,Savoye LET,Segoe Script,cursive;font-size:1.08rem;line-height:1.5}.letter-page p{margin:0 0 .8em;text-indent:1.4em}.letter-page .letter-date{text-align:right;text-indent:0;font-size:.95rem}.letter-page .letter-sign{text-align:right;text-indent:0;font-size:1.3rem;margin-top:.4em}.mail-app .app-header{border-bottom:none;padding-bottom:0}.mail-titlebar{padding:0 16px 8px;border-bottom:1px solid rgba(255,255,255,.08)}.mail-titlebar h1{margin:0 0 8px;color:#fff;font-size:28px;font-weight:700;letter-spacing:-.01em}.mail-boxes{display:flex;background:#ffffff14;border-radius:9px;padding:2px}.mail-boxes button{flex:1;background:none;border:none;border-radius:7px;color:#c8c8d6;font-size:12px;padding:5px 4px;cursor:pointer}.mail-boxes button.active{background:#3a3a4c;color:#fff;font-weight:600}.mail-list{padding:0}.mail-row{display:flex;gap:6px;width:100%;padding:10px 14px 10px 6px;background:none;border:none;border-bottom:1px solid rgba(255,255,255,.07);text-align:left;cursor:pointer}.mail-row:hover{background:#ffffff0a}.mail-dot{width:10px;height:10px;margin-top:5px;border-radius:50%;flex-shrink:0}.mail-row.unread .mail-dot{background:#0a84ff}.mail-row-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.mail-row-top{display:flex;justify-content:space-between;gap:8px}.mail-from{color:#fff;font-size:15px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mail-time{color:#8a8a9c;font-size:12px;flex-shrink:0}.mail-subject{color:#e2e2ec;font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mail-row.unread .mail-subject{color:#fff;font-weight:600}.mail-flag{color:#0a84ff;margin-right:4px}.mail-preview{color:#8a8a9c;font-size:13px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.mail-message{padding:4px 16px 24px;display:flex;flex-direction:column;gap:14px}.mail-message-subject{margin:0;color:#fff;font-size:21px;font-weight:700;line-height:1.25;text-wrap:balance}.mail-headers{display:flex;gap:10px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.08)}.mail-avatar{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:14px;font-weight:700;color:#fff;background:linear-gradient(160deg,#5a5a7c,#2c2c3a)}.mail-headers-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px;font-size:12.5px;color:#8a8a9c}.mail-headers-top{display:flex;justify-content:space-between;gap:8px}.mail-headers-top strong{color:#fff;font-size:15px}.mail-address{color:#6ea3ff}.mail-body{color:#e6e6ee;font-size:15px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.mail-replied{display:flex;flex-direction:column;gap:4px;color:#8a8a9c;font-size:12px}.mail-replied blockquote{margin:0;padding:6px 10px;border-left:3px solid #0a84ff;color:#d8d8e6;font-size:14px}.mail-reply-card{background:#1c1c28;border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:12px}.mail-reply-to{color:#8a8a9c;font-size:12px;margin-bottom:4px}.mail-reply-card .reply-choices{border-top:none;padding:4px 0 0}.mail-album-link{display:block;width:100%;margin:10px 0 6px;padding:10px 12px;border:1px solid rgba(255,255,255,.16);border-radius:10px;background:#ffffff0f;color:inherit;font:inherit;text-align:left;cursor:pointer}.mail-album-link:hover,.mail-album-link:focus-visible{background:#ffffff1f}.chase-bar{display:flex;flex-direction:column;gap:2px;padding:8px 12px;border-radius:10px;background:#1e3c28f2;color:#fff;font-size:12.5px;line-height:1.35;animation:chase-in .35s ease-out}.chase-bar.danger{background:#781814f2}.chase-bar.scene{margin:0 0 8px}.chase-bar.maps{position:absolute;top:10px;left:10px;right:10px;z-index:1000}.chase-line{font-weight:600}.chase-goal{opacity:.92}.chase-news{font-size:15px}.chase-bar.news.good,.chase-news.good{color:#b8f5c4}.chase-bar.news.bad,.chase-news.bad{color:#ffb4ab}@keyframes chase-in{0%{transform:translateY(-6px);opacity:0}to{transform:none;opacity:1}}@media (prefers-reduced-motion: reduce){.chase-bar{animation:none}}.scene-exit.leads-safe .scene-exit-arrow,.scene-go.leads-safe{animation:way-out 1.6s ease-in-out infinite;color:#b8f5c4}.scene-exit.leads-him .scene-exit-arrow,.scene-go.leads-him{color:#ffb4ab}.scene-exit.leads-safe .scene-spot-label,.scene-exit.leads-him .scene-spot-label{opacity:1}.scene-exit-lead{font-style:normal;opacity:.85}@keyframes way-out{50%{filter:drop-shadow(0 0 6px rgba(184,245,196,.9))}}@media (prefers-reduced-motion: reduce){.scene-exit.leads-safe .scene-exit-arrow,.scene-go.leads-safe{animation:none}}.maps-toolbar{padding:8px 12px}.maps-segment{display:flex;background:#ffffff14;border-radius:9px;padding:2px}.maps-segment button{flex:1;background:none;border:none;border-radius:7px;color:#c8c8d6;font-size:12px;padding:6px 4px;cursor:pointer}.maps-segment button.active{background:#3a3a4c;color:#fff;font-weight:600}.maps-canvas{position:relative;flex:1;min-height:0;isolation:isolate}.maps-leaflet{position:absolute;top:0;right:0;bottom:0;left:0;background:#1c1c26}.maps-fabs{position:absolute;right:10px;bottom:24px;z-index:1000;display:flex;flex-direction:column;gap:8px}.maps-fabs button{width:36px;height:36px;border-radius:18px;border:none;background:#1e1e2aeb;color:#fff;font-size:18px;cursor:pointer;box-shadow:0 2px 8px #0006}.maps-notice{position:absolute;top:10px;left:10px;right:10px;z-index:1000;display:flex;gap:8px;align-items:center;justify-content:space-between;background:#1e1e2af2;color:#fff;font-size:13px;padding:10px 12px;border-radius:12px;cursor:pointer;box-shadow:0 4px 12px #0006}.maps-notice a{color:#6ea3ff;white-space:nowrap}.maps-sheet{padding:10px 14px 18px;border-top:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;gap:8px}.maps-hint{color:#a8a8b8;font-size:12px}.maps-nearest{display:flex;justify-content:space-between;color:#fff;font-size:14px}.maps-distance{color:#6ea3ff;font-variant-numeric:tabular-nums}.maps-controls{display:flex;gap:10px;align-items:center}.maps-controls label{display:flex;flex-direction:column;gap:2px;color:#8a8a9a;font-size:10px;text-transform:uppercase;letter-spacing:.04em}.maps-controls select{background:#262634;color:#fff;border:1px solid rgba(255,255,255,.12);border-radius:6px;font-size:12px;padding:3px 4px}.maps-stop{margin-left:auto;background:#ff3b30;color:#fff;border:none;border-radius:8px;font-size:12px;padding:6px 12px;cursor:pointer}.sim-player-dot{width:18px;height:18px;border-radius:50%;background:#0a84ff;border:3px solid #fff;box-shadow:0 0 0 4px #0a84ff4d;box-sizing:border-box;cursor:grab}.sim-accuracy{stroke:#0a84ff;stroke-width:1;fill:#0a84ff;fill-opacity:.12}.sim-route{stroke:#0a84ff;stroke-width:3;stroke-dasharray:6 6;fill:none}.sim-zone{stroke:#ff9f0a;stroke-width:2;stroke-dasharray:5 4;fill:#ff9f0a;fill-opacity:.15}.sim-zone.verified{stroke:#30d158;stroke-dasharray:none;fill:#30d158}.sim-hotspot{stroke:#bf5af2;stroke-width:2;fill:#bf5af2;fill-opacity:.25}.leaflet-tooltip.sim-zone-label{font-size:11px;padding:2px 6px}.sim-contact-pin{width:28px;height:28px;border-radius:50%;background:#bf5af2;border:2px solid #fff;color:#fff;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;box-sizing:border-box;box-shadow:0 2px 6px #0006}.sim-contact-popup{display:flex;flex-direction:column;gap:2px;font-size:12px}.sim-contact-popup button{margin-top:6px;align-self:flex-start;background:#0a84ff;color:#fff;border:none;border-radius:6px;padding:4px 10px;font-size:12px;cursor:pointer}.maps-hint.problem{color:#ffb3ad}.maps-zoom{display:flex;flex-direction:column;border-radius:18px;overflow:hidden;box-shadow:0 2px 8px #0006}.maps-fabs .maps-zoom button{border-radius:0;box-shadow:none;font-size:20px;line-height:1}.maps-fabs .maps-zoom button+button{border-top:1px solid rgba(255,255,255,.12)}.directions{display:flex;flex-direction:column;gap:8px}.maps-sheet{max-height:48%;overflow-y:auto;flex-shrink:0}.directions-head{display:flex;justify-content:space-between;align-items:center;color:#fff;font-size:14px}.directions-x{background:none;border:none;color:#8a8a9c;cursor:pointer;font-size:14px}.plan-options{display:flex;flex-direction:column;gap:6px}.plan-option{display:flex;flex-direction:column;align-items:stretch;gap:6px;padding:8px 10px;border-radius:12px;border:1px solid rgba(255,255,255,.1);background:#1c1c28;color:#fff;text-align:left;cursor:pointer}.plan-option.active{border-color:#0a84ff;background:#0a84ff1f}.plan-icon{font-size:18px}.plan-main{display:flex;flex-direction:column;gap:2px;font-size:12px;color:#b8b8c8}.plan-main strong{color:#fff;font-size:15px}.plan-lines{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.plan-arrow,.plan-walk{color:#8a8a9c}.line-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 4px;border-radius:10px;font-size:11px;font-weight:800;vertical-align:middle}.line-badge.bus{padding:0 6px;border-radius:4px;white-space:nowrap}.plan-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:12.5px;color:#e2e2ec}.plan-steps li{display:flex;gap:8px;padding:6px 8px;border-radius:8px}.plan-steps li.current{background:#0a84ff29}.plan-steps li.done{opacity:.45}.step-sub{color:#9a9aac;font-size:11.5px;margin-top:2px}.step-time{margin-left:6px;color:#6ea3ff;font-variant-numeric:tabular-nums}.directions-status{flex:1;color:#fff;font-size:13px}.maps-go{margin-left:auto;background:#0a84ff;color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:700;padding:7px 18px;cursor:pointer}.maps-go:disabled{opacity:.4;cursor:default}.sim-dest{stroke:#fff;stroke-width:3;fill:#ff3b30;fill-opacity:1}.sim-ride{stroke-linecap:round;stroke-linejoin:round}.sim-pursuer-dot{width:18px;height:18px;border-radius:50%;background:#ff453a;border:3px solid #fff;box-shadow:0 0 0 6px #ff453a40}.leaflet-tooltip.sim-pursuer-label{font-size:11px;padding:2px 6px;background:#ff453a;border-color:#ff453a;color:#fff}.sim-cover{stroke:#30d158;stroke-width:1;stroke-dasharray:2 5;fill:#30d158;fill-opacity:.18}.leaflet-tooltip.sim-cover-label{background:none;border:none;box-shadow:none;color:#b9f5c8;font-size:11px;font-style:italic}.maps-chase{position:absolute;top:10px;left:10px;right:10px;z-index:1000;display:flex;flex-direction:column;gap:2px;background:#1e3c28f2;color:#fff;font-size:12px;padding:9px 12px;border-radius:12px}.maps-chase.seen{background:#6e1814f2}.maps-chase strong{font-size:14px}.maps-finder{position:absolute;top:10px;left:10px;right:10px;z-index:1000;display:flex;flex-direction:column;gap:2px;background:#282c3cf2;color:#fff;font-size:12px;padding:9px 12px;border-radius:12px}.maps-finder.warmer{background:#96460af2}.maps-finder.colder{background:#143c6ef2}.maps-finder strong{font-size:14px}.maps-find{display:flex;gap:6px;padding:6px 12px 8px}.maps-find input{flex:1;min-width:0;background:#ffffff14;border:1px solid transparent;border-radius:9px;color:#fff;font-size:14px;padding:7px 10px}.maps-find input:focus{outline:none;border-color:#6ea3ff}.maps-find button{background:#2f6fed;border:none;border-radius:9px;color:#fff;font-size:13px;font-weight:600;padding:0 12px;cursor:pointer}.maps-find button:disabled{opacity:.4;cursor:default}.maps-places{position:absolute;top:6px;left:10px;right:10px;z-index:1000;max-height:70%;overflow-y:auto;background:#1c1f2e;border:1px solid rgba(255,255,255,.12);border-radius:10px;box-shadow:0 8px 24px #00000080}.maps-places button{display:flex;flex-direction:column;gap:2px;width:100%;background:none;border:none;border-bottom:1px solid rgba(255,255,255,.07);color:#fff;font-size:14px;text-align:left;padding:9px 12px;cursor:pointer}.maps-places button span{color:#9a9fb5;font-size:12px}.maps-places-note{color:#9a9fb5;font-size:13px;padding:10px 12px}.maps-canvas.with-directions .maps-zoom{display:none}.plan-head{display:flex;align-items:center;gap:10px}.plan-option .plan-steps{margin:2px 0 0}.plan-option[aria-disabled=true]{cursor:default}.plan-pay{margin-left:6px;font-size:11px;color:#9fd59f}.plan-pay.declined{color:#ff8a80}.maps-pay-note{padding:6px 12px;font-size:12px;color:#ffb4ab;background:#ff3b301f}.maps-ask{display:block;margin-top:6px;background:#2c2c2e;color:#fff;border:1px solid #48484a;border-radius:8px;font-size:12px;padding:6px 12px;cursor:pointer}.browser-bar{padding:8px 12px}.browser-bar input{width:100%;box-sizing:border-box;background:#22222f;color:#fff;border:none;border-radius:10px;padding:8px 12px;font-size:13px;text-align:center}.browser-bar input:focus{text-align:left;outline:2px solid #0a84ff}.lead-row,.result-row{display:flex;width:100%;background:none;border:none;border-radius:12px;padding:10px;cursor:pointer;text-align:left}.lead-row:hover,.result-row:hover{background:#ffffff0f}.lead-row{align-items:center;gap:10px}.lead-icon{width:34px;height:34px;border-radius:10px;background:#22222f;display:flex;align-items:center;justify-content:center;flex-shrink:0}.lead-main{display:flex;flex-direction:column;min-width:0}.lead-title{color:#fff;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lead-sub{color:#8a8a9c;font-size:11px}.result-row{flex-direction:column;gap:2px}.result-host{color:#8a8a9c;font-size:11px}.result-title{color:#8ab4ff;font-size:15px}.result-snippet{color:#b8b8c8;font-size:12px;line-height:1.4}.result-web{display:block;padding:14px 10px;color:#6ea3ff;font-size:13px}.browser-page{flex:1;min-height:0;display:flex;flex-direction:column}.browser-page iframe{flex:1;width:100%;border:none;background:#fff}.browser-escape{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px 14px;font-size:11px;color:#8a8a9c;border-top:1px solid rgba(255,255,255,.08)}.browser-escape a{color:#6ea3ff;white-space:nowrap;font-size:12px}.story-page{flex:1;overflow-y:auto;background:#fbfaf7;color:#1f1d1a;padding:14px 16px 24px;font-family:Georgia,Times New Roman,serif;line-height:1.5}.story-page-site{display:flex;justify-content:space-between;align-items:baseline;gap:8px;border-bottom:2px solid #1f1d1a;padding-bottom:6px;margin-bottom:12px}.story-page-masthead{font-weight:700;font-size:17px;letter-spacing:.02em}.story-page-host{font-family:-apple-system,system-ui,sans-serif;font-size:10px;color:#6b665e}.story-page h1{font-size:21px;line-height:1.25;margin:0 0 6px;text-wrap:balance}.story-page-meta{font-family:-apple-system,system-ui,sans-serif;font-size:11px;color:#6b665e;margin:0 0 12px}.story-page figure{margin:0 0 12px}.story-page img{width:100%;display:block;border-radius:4px}.story-page figcaption{font-family:-apple-system,system-ui,sans-serif;font-size:10px;color:#6b665e;margin-top:4px}.story-page p{font-size:15px;margin:0 0 12px}.story-page .inline-link{color:#1a4fb3}.browser-app{position:relative}.share-sheet{position:absolute;left:8px;right:8px;bottom:8px;z-index:5;background:#1c1c26;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:10px;box-shadow:0 -8px 30px #00000080;display:flex;flex-direction:column;gap:2px;max-height:60%;overflow-y:auto}.share-head{display:flex;justify-content:space-between;align-items:center;color:#fff;font-size:14px;padding:4px 6px 8px}.share-head button{background:none;border:none;color:#8a8a9c;font-size:15px;cursor:pointer}.share-row{display:flex;flex-direction:column;align-items:flex-start;gap:1px;width:100%;background:none;border:none;border-radius:10px;padding:9px 10px;cursor:pointer;text-align:left}.share-row:hover{background:#ffffff0f}.share-name{color:#fff;font-size:14px}.share-sub{color:#8a8a9c;font-size:11px}.share-sent{position:absolute;left:50%;bottom:18px;transform:translate(-50%);z-index:6;background:#282834f2;color:#fff;font-size:13px;padding:8px 14px;border-radius:999px;white-space:nowrap}.browser-empty{flex:1;display:flex;align-items:center;justify-content:center;padding:24px;color:#8e8e93;font-size:15px;text-align:center}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3px}.photo-thumb{position:relative;aspect-ratio:1;padding:0;border:none;background:#22222f;cursor:pointer;overflow:hidden}.photo-thumb img{width:100%;height:100%;object-fit:cover;display:block}.photo-badge{position:absolute;left:4px;bottom:4px;background:#0009;color:#f0c040;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:2px 5px;border-radius:4px}.photos-notice{background:#22222f;color:#fff;font-size:13px;padding:10px 12px;border-radius:10px;margin-bottom:8px;cursor:pointer}.photo-viewer{flex:1;min-height:0;display:flex;flex-direction:column;background:#000}.photo-viewer img{flex:1;min-height:0;width:100%;object-fit:contain}.photo-info{display:flex;flex-direction:column;gap:4px;padding:10px 14px 18px;background:#101018;color:#8a8a9c;font-size:12px}.photo-info strong{color:#fff;font-size:14px}.photo-actions{display:flex;gap:8px;margin-top:6px}.photo-actions button{background:#22222f;color:#6ea3ff;border:none;border-radius:8px;padding:6px 12px;font-size:12px;cursor:pointer}.photo-actions button.danger{color:#ff6b6b}.album-list h3{margin:4px 4px 8px;color:#9a9fb5;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.album-row{display:flex;align-items:center;gap:12px;width:100%;margin-bottom:12px;padding:8px;background:#ffffff0d;border:none;border-radius:12px;color:#fff;text-align:left;cursor:pointer}.album-cover{width:56px;height:56px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:10px;background:linear-gradient(160deg,#3a3f5c,#23263a);font-size:24px}.album-row-main{display:flex;flex-direction:column;gap:3px;min-width:0;font-size:15px}.album-row-main span{color:#9a9fb5;font-size:12px}.album-lock,.album-open{flex:1;overflow-y:auto;display:flex;flex-direction:column;align-items:center;padding:18px 16px 24px;color:#fff}.album-lock-icon{font-size:34px;margin-bottom:6px}.album-meta{margin:0;color:#9a9fb5;font-size:13px}.album-ask{margin:14px 0 12px;font-size:15px}.album-dots{display:flex;gap:14px}.album-dots span{width:13px;height:13px;border-radius:50%;border:1.5px solid #c8c8d6;box-sizing:border-box}.album-dots span.filled{background:#fff;border-color:#fff}.album-dots.wrong{animation:album-shake .35s}.album-wrong{margin:8px 0 6px;min-height:18px;color:#ff6b61;font-size:13px}.album-keys{display:grid;grid-template-columns:repeat(3,64px);gap:12px 20px}.album-keys button{width:64px;height:64px;border-radius:50%;border:none;background:#ffffff1f;color:#fff;font-size:24px;cursor:pointer}.album-keys button:active{background:#ffffff4d}.album-photo{width:100%;margin:14px 0 0}.album-photo img,.album-photo-blank{width:100%;border-radius:10px;display:block}.album-photo-blank{aspect-ratio:4 / 3;display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,#3a3f5c,#23263a);font-size:40px}.album-photo figcaption{margin-top:6px;color:#c8c8d6;font-size:13px}@keyframes album-shake{25%{transform:translate(-8px)}50%{transform:translate(8px)}75%{transform:translate(-5px)}}@media (prefers-reduced-motion: reduce){.album-dots.wrong{animation:none}}.photo-stage{position:relative;touch-action:pan-y;-webkit-user-select:none;user-select:none}.photo-step{position:absolute;top:50%;transform:translateY(-50%);width:34px;height:34px;border:none;border-radius:50%;background:#0a0a108c;color:#fff;font-size:22px;line-height:1;cursor:pointer}.photo-step.prev{left:8px}.photo-step.next{right:8px}.photo-viewer .photo-stage{flex:1;min-height:0;display:flex}.photo-viewer .photo-stage img{height:100%}.cc-page{padding:8px 10px 16px}.cc-help{min-height:2.5em;line-height:1.25;margin:4px 2px 10px;font-size:.8rem;color:var(--text-secondary, #9aa0aa)}.cc-board{position:relative;display:grid;grid-template-columns:1fr 1fr;column-gap:34px;align-items:start}.cc-col{display:flex;flex-direction:column;gap:10px;position:relative;z-index:1}.cc-card{display:flex;align-items:center;gap:8px;min-height:52px;padding:8px;border:1px solid rgba(255,255,255,.16);border-radius:10px;background:#171a24;color:inherit;font:inherit;font-size:.78rem;line-height:1.2;text-align:left;cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none}.cc-card img{width:34px;height:34px;flex-shrink:0;border-radius:5px;object-fit:cover}.cc-card.picked{border-color:var(--accent-gold, #f0c040);box-shadow:0 0 0 2px #f0c04059}.cc-card.target{border-color:#f0c04073}.cc-card.done{border-color:#50c878b3;opacity:.75;cursor:default}.cc-lines{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;overflow:visible;z-index:2}.cc-line{stroke-width:3;stroke-linecap:round}.cc-line.live{stroke:var(--accent-gold, #f0c040);stroke-dasharray:6 5}.cc-line.ok{stroke:#50c878}.cc-line.no{stroke:#ff6b6b;animation:cc-fade .9s ease forwards}@keyframes cc-fade{0%,60%{opacity:1}to{opacity:0}}.cf-connect-link{border-color:#f0c04080}.cf-count{color:#f0c040;font-size:13px;font-weight:700;font-variant-numeric:tabular-nums}.cf-sticky{position:sticky;top:0;z-index:3;background:#0f0f18;padding-bottom:6px}.cf-instruction{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:8px 12px 0;padding:8px 12px;border-radius:10px;background:#1c1c28;color:#9a9aac;font-size:12px}.cf-instruction.active{background:#f0c0401f;color:#f0c040}.cf-result{margin:8px 12px 0;padding:10px 12px;border-radius:12px;display:flex;flex-direction:column;gap:4px;font-size:13px;cursor:pointer}.cf-result.ok{background:#30d15824;border:1px solid rgba(48,209,88,.45);color:#e8ffe9}.cf-result.no{background:#ff453a1f;border:1px solid rgba(255,69,58,.4);color:#ffb3ad}.cf-list section{margin-bottom:14px}.cf-list h3{margin:4px 2px 8px;color:#8a8a9c;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.cf-grid{display:flex;flex-direction:column;gap:6px}.cf-card{display:grid;grid-template-columns:44px minmax(0,1fr);grid-template-rows:auto auto;column-gap:10px;align-items:center;width:100%;box-sizing:border-box;padding:8px 10px;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:#1c1c28;color:#fff;font:inherit;text-align:left;cursor:pointer}.cf-card.selected{border-color:#f0c040;box-shadow:0 0 0 2px #f0c04059}.cf-card img,.cf-card .cf-icon{grid-row:1 / span 2;width:44px;height:44px;object-fit:cover;border-radius:8px;display:flex;align-items:center;justify-content:center}.cf-icon{font-size:22px}.cf-title{font-size:14px;font-weight:600;line-height:1.25;overflow-wrap:anywhere}.cf-desc{color:#8a8a9c;font-size:12px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.cf-card .cf-title:last-child{grid-row:1 / span 2}.cf-note{display:flex;flex-direction:column;gap:10px;padding:14px 16px 20px}.cf-note img{width:100%;max-height:46vh;object-fit:contain;border-radius:10px;background:#0c0c12}.cf-note .cf-icon{font-size:34px}.cf-note h3{font-size:18px;color:#fff;overflow-wrap:anywhere}.cf-note p{color:#dcdce6;font-size:15px;line-height:1.5;overflow-wrap:anywhere;white-space:pre-wrap}.cf-connect{align-self:flex-start;margin-top:6px;padding:9px 14px;border-radius:999px;border:1px solid rgba(240,192,64,.5);background:#f0c0401a;color:#f0c040;font:inherit;font-size:13px;cursor:pointer}.cf-deduction{padding:10px 12px;border-radius:12px;background:#f0c04014;border:1px solid rgba(240,192,64,.3);margin-bottom:8px}.cf-deduction strong{color:#f0c040;font-size:14px}.cf-deduction p{margin:4px 0;color:#e6e6ee;font-size:13px;line-height:1.45}.cf-link{color:#8a8a9c;font-size:11px}.cf-board-link,.cf-places-link{display:block;width:calc(100% - 16px);margin:4px 8px 8px;padding:9px 12px;border:1px solid rgba(247,207,90,.35);border-radius:12px;background:#f7cf5a14;color:#f7cf5a;font-size:13px;text-align:left;cursor:pointer}.cf-places-link{border-color:#6ea3ff59;background:#6ea3ff14;color:#8fb8ff}.cf-cancel{flex:none;padding:4px 10px;border-radius:999px;border:1px solid rgba(240,192,64,.5);background:none;color:#f0c040;font:inherit;cursor:pointer}.cf-row{position:relative}.cf-row .cf-card{padding-right:52px}.cf-pick{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:38px;height:38px;border-radius:50%;border:1px solid rgba(240,192,64,.45);background:#f0c0401a;font-size:16px;cursor:pointer}.cf-card.target{border-color:#f0c04059}.cf-conclusions{margin-bottom:14px;padding:8px 10px 10px;border:1px solid rgba(212,175,55,.35);border-radius:10px;background:#d4af370f}.cf-empty-part{margin:4px 0 0;font-size:13px;opacity:.7}.cf-list h4.cf-group{margin:10px 0 6px;font-size:12px;text-transform:uppercase;letter-spacing:.06em;opacity:.6}.camera-app{background:#000}.camera-top{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 12px}.camera-source{display:flex;background:#ffffff1f;border-radius:8px;padding:2px}.camera-source button{background:none;border:none;color:#c8c8d6;font-size:11px;padding:4px 8px;border-radius:6px;cursor:pointer}.camera-source button.active{background:#fff;color:#000;font-weight:600}.camera-viewfinder{position:relative;flex:1;min-height:0;overflow:hidden;background:#111}.camera-viewfinder video,.camera-viewfinder>img{width:100%;height:100%;object-fit:cover;display:block}.camera-grid{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:linear-gradient(to right,transparent 33%,rgba(255,255,255,.25) 33%,rgba(255,255,255,.25) calc(33% + 1px),transparent calc(33% + 1px),transparent 66%,rgba(255,255,255,.25) 66%,rgba(255,255,255,.25) calc(66% + 1px),transparent calc(66% + 1px)),linear-gradient(to bottom,transparent 33%,rgba(255,255,255,.25) 33%,rgba(255,255,255,.25) calc(33% + 1px),transparent calc(33% + 1px),transparent 66%,rgba(255,255,255,.25) 66%,rgba(255,255,255,.25) calc(66% + 1px),transparent calc(66% + 1px))}.camera-placeholder{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:24px;text-align:center;color:#fff;background:linear-gradient(180deg,#4a5568,#1a202c)}.camera-placeholder small{color:#c8c8d6}.camera-place{position:absolute;top:10px;left:50%;transform:translate(-50%);background:#0000008c;color:#fff;font-size:12px;padding:4px 10px;border-radius:12px;white-space:nowrap}.camera-flash{position:absolute;top:0;right:0;bottom:0;left:0;background:#fff;opacity:.85}.camera-notice{position:absolute;left:12px;right:12px;bottom:12px;background:#14141ce6;color:#fff;font-size:13px;padding:10px 12px;border-radius:12px;cursor:pointer}.camera-controls{display:flex;align-items:center;justify-content:space-between;padding:16px 28px 22px}.camera-shutter{width:66px;height:66px;border-radius:50%;background:#fff;border:4px solid #000;box-shadow:0 0 0 3px #fff;cursor:pointer}.camera-shutter:active{transform:scale(.94)}.camera-thumb{width:44px;height:44px;border-radius:8px;border:2px solid rgba(255,255,255,.6);background:#222;padding:0;overflow:hidden;cursor:pointer}.camera-thumb img{width:100%;height:100%;object-fit:cover}.camera-spacer{width:44px}.playtest-panel{width:340px;max-width:100%;max-height:720px;overflow-y:auto;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;padding:1rem;display:flex;flex-direction:column;gap:1rem;font-size:.85rem;color:var(--text-primary)}.playtest-panel header,.pt-section-head{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.playtest-panel h2{font-size:1rem;color:var(--accent-gold)}.playtest-panel h3{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);margin-bottom:.5rem}.pt-section-head h3{margin-bottom:0}.playtest-panel button{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-color);border-radius:8px;padding:.3rem .6rem;font-size:.78rem;cursor:pointer;white-space:nowrap}.playtest-panel button:hover:not(:disabled){border-color:var(--accent-gold)}.playtest-panel button:disabled{opacity:.4;cursor:default}.pt-close{border:none!important}.pt-stats{display:flex;flex-wrap:wrap;gap:.75rem;color:var(--text-secondary)}.pt-stats b{color:var(--text-primary);font-variant-numeric:tabular-nums}.pt-row{display:flex;gap:.4rem;margin-bottom:.4rem}.pt-check{display:flex;align-items:center;gap:.4rem;font-size:.85rem;margin-bottom:.3rem}.pt-row select{flex:1;min-width:0;background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-color);border-radius:8px;padding:.3rem;font-size:.78rem}.pt-steps{list-style:none;display:flex;flex-direction:column;gap:.4rem;margin-top:.5rem}.pt-step{background:var(--bg-card);border:1px solid var(--border-color);border-radius:10px;padding:.5rem .6rem;display:flex;flex-direction:column;gap:.2rem}.pt-step.done{opacity:.6}.pt-step-head{display:flex;align-items:center;gap:.5rem}.pt-step-head code{font-size:.8rem;color:var(--text-primary)}.pt-chip{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:.1rem .4rem;border-radius:999px;background:var(--bg-card-hover);color:var(--text-secondary);font-variant-numeric:tabular-nums}.pt-chip.done{color:var(--accent-green)}.pt-chip.pending{color:var(--accent-gold)}.pt-chip.waiting{color:#6ea3ff}.pt-step-meta{color:var(--text-secondary);font-size:.75rem;overflow-wrap:anywhere}.pt-step-actions{display:flex;gap:.4rem;margin-top:.2rem}.pt-empty{color:var(--text-secondary)}.pt-note{color:var(--text-secondary);font-size:.75rem;align-self:center}.pt-vars{display:flex;flex-wrap:wrap;gap:.4rem .9rem;color:var(--text-secondary);font-variant-numeric:tabular-nums}.pt-vars b{color:var(--accent-gold)}.pt-now{border:1px solid var(--accent-gold);border-radius:10px;padding:.6rem .7rem}.pt-where{margin:0 0 .2rem;font-size:1rem}.pt-help{margin:0 0 .45rem;font-size:.75rem;line-height:1.35;color:var(--text-muted, #9aa0b4)}.pt-recent{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.3rem;font-size:.8rem}.pt-more{margin-top:.4rem;width:100%}.playtest-panel button.on{border-color:var(--accent-gold);color:var(--accent-gold)}.scene-panel{position:relative;width:min(760px,100%);max-height:min(720px,calc(100dvh - 200px));display:flex;flex-direction:column;gap:.5rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;padding:.9rem;color:var(--text-primary);box-sizing:border-box}.scene-panel.empty p{color:var(--text-secondary)}.scene-panel header{display:flex;justify-content:space-between;align-items:center;gap:.75rem;flex-wrap:wrap}.scene-title{display:flex;align-items:baseline;gap:.6rem}.scene-panel h2{font-size:1.05rem}.scene-progress{color:var(--text-secondary);font-size:.8rem;font-variant-numeric:tabular-nums}.scene-tools{display:flex;gap:.4rem;align-items:center}.scene-tools select,.scene-tools button{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-color);border-radius:8px;padding:.3rem .6rem;font-size:.8rem;cursor:pointer}.scene-close{border:none!important;background:none!important}.scene-viewport{position:relative;flex:1;min-height:0;overflow:auto;border-radius:12px;background:#000;overscroll-behavior:contain}.scene-viewport.panorama{cursor:grab;overflow-y:hidden}.scene-viewport.panorama:active{cursor:grabbing}.scene-canvas{position:relative;width:100%}.scene-viewport.panorama .scene-canvas{width:max-content;height:min(460px,calc(100dvh - 330px));min-height:260px}.scene-canvas img{display:block;width:100%;height:auto;-webkit-user-select:none;user-select:none}.scene-viewport.panorama .scene-canvas img{width:auto;height:100%}.scene-spot{position:absolute;z-index:100000;padding:0;border:none;background:transparent;cursor:pointer}.scene-spot:after,.scene-exit:after{content:"";position:absolute;left:50%;top:50%;width:max(100%,32px);height:max(100%,32px);translate:-50% -50%}.scene-spot:focus{outline:none}.scene-spot.unfound .scene-spot-label{display:none}.scene-spot-label{position:absolute;left:50%;bottom:calc(100% + 6px);transform:translate(-50%);white-space:nowrap;background:#0a0a10e6;color:#fff;font-size:.75rem;padding:.2rem .5rem;border-radius:6px;opacity:0;pointer-events:none;transition:opacity .15s}.scene-spot:hover .scene-spot-label,.scene-spot:focus-visible .scene-spot-label{opacity:1}.scene-hint,.scene-credit{color:var(--text-muted);font-size:.72rem}.scene-hint{color:var(--text-secondary)}.scene-examine{position:absolute;left:.9rem;right:.9rem;bottom:.9rem;max-height:75%;overflow-y:auto;background:#161622f7;border:1px solid rgba(240,192,64,.4);border-radius:14px;padding:.9rem 1rem;box-shadow:0 10px 30px #0009;display:flex;flex-direction:column;gap:.5rem}.scene-examine:has(.image-hotspot){top:.9rem;max-height:none}.scene-examine:has(.image-hotspot) .hotspot-frame img{max-height:calc(100% - 4rem);object-fit:contain}.scene-examine-head{display:flex;justify-content:space-between;align-items:center}.scene-examine-head h3{color:var(--accent-gold);font-size:1rem}.scene-examine-head button{background:none;border:none;color:var(--text-secondary);cursor:pointer}.scene-examine p{font-size:.9rem;line-height:1.5}.scene-examine img{max-width:100%;border-radius:8px}.scene-added{color:var(--accent-green);font-size:.85rem}.scene-where{color:var(--accent-gold);font-size:.85rem}.scene-canvas.crop{overflow:hidden;aspect-ratio:16 / 10}.scene-canvas.crop .scene-crop-img{position:absolute;max-width:none}.scene-exit{position:absolute;padding:0;border:none;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center}.scene-exit:hover .scene-spot-label,.scene-exit:focus-visible .scene-spot-label{opacity:1}.scene-exit:focus{outline:none}.held-puzzle.solved{pointer-events:none}.scene-nav{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,11rem),1fr));gap:.4rem}.scene-nav .scene-back,.scene-nav .scene-go{display:flex;align-items:center;justify-content:center;text-align:center;min-height:2.4rem;border-radius:12px}.scene-nav:empty{display:none}.scene-back,.scene-go{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-color);border-radius:999px;padding:.35rem .8rem;font-size:.8rem;cursor:pointer}.scene-back,.scene-go{border-color:#0a84ff99;color:#8ab8ff}.scene-examine .scene-go{align-self:flex-start}.scene-canvas img.scene-layer{position:absolute;object-fit:fill;pointer-events:none}.scene-canvas img.scene-layer.feather{-webkit-mask-image:linear-gradient(to right,transparent,#000 8%,#000 92%,transparent),linear-gradient(to bottom,transparent,#000 8%,#000 92%,transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,transparent,#000 8%,#000 92%,transparent),linear-gradient(to bottom,transparent,#000 8%,#000 92%,transparent);mask-composite:intersect}.scene-viewport.surround{overflow:hidden;height:min(460px,calc(100dvh - 330px));min-height:260px;flex:none;cursor:grab;touch-action:pan-y;-webkit-user-select:none;user-select:none}.scene-viewport.surround:active{cursor:grabbing}.scene-viewport.surround:focus-visible{outline:2px solid var(--accent-gold);outline-offset:2px}.surround-strip{display:flex;height:100%;width:max-content;will-change:transform}.surround-strip .scene-canvas{flex:none;width:auto;height:100%;overflow:hidden}.surround-strip .scene-canvas>img:first-child{width:auto;height:100%}.surround-turn{position:absolute;top:50%;transform:translateY(-50%);width:34px;height:56px;border:none;border-radius:10px;background:#0a0a1073;color:#fff;font-size:1.6rem;line-height:1;cursor:pointer;opacity:.55;transition:opacity .15s}.surround-turn:hover,.surround-turn:focus-visible{opacity:1}.surround-turn.left{left:6px}.surround-turn.right{right:6px}.surround-compass{position:absolute;top:8px;left:50%;transform:translate(-50%);min-width:1.6rem;text-align:center;padding:.1rem .4rem;border-radius:999px;background:#0a0a1099;color:var(--accent-gold);font-size:.75rem;font-weight:700;pointer-events:none}.surround-tilt{position:absolute;right:8px;bottom:8px;padding:.3rem .7rem;border-radius:999px;border:1px solid rgba(255,255,255,.25);background:#0a0a1099;color:#fff;font-size:.72rem;cursor:pointer}.surround-tilt.on{border-color:var(--accent-gold);color:var(--accent-gold)}.scene-canvas{overflow:hidden}.scene-mover{position:absolute;pointer-events:none}.scene-mover span,.scene-mover img{display:block;width:100%;height:100%}.scene-mover img{object-fit:fill}.scene-mover.bob span{transform-origin:50% 100%;animation:layer-stride 1.1s ease-in-out infinite}@keyframes layer-stride{0%,to{transform:rotate(-1.1deg)}50%{transform:rotate(1.1deg)}}@keyframes layer-step{0%,to{transform:translateY(0)}50%{transform:translateY(-2.2%)}}.scene-canvas img.scene-layer.effect-flicker{animation:layer-flicker 5.3s steps(1,end) infinite}@keyframes layer-flicker{0%,to{opacity:1}41%{opacity:.55}43%{opacity:1}77%{opacity:.7}78%{opacity:1}91%{opacity:.4}93%{opacity:1}}.scene-canvas img.scene-layer.effect-sway{transform-origin:50% 100%;animation:layer-sway 6s ease-in-out infinite}@keyframes layer-sway{0%,to{transform:rotate(-1.2deg)}50%{transform:rotate(1.2deg)}}.scene-canvas img.scene-layer.effect-drift{animation:layer-drift 7s linear infinite}@keyframes layer-drift{0%{transform:translateY(12%) scale(.92);opacity:0}20%{opacity:.85}to{transform:translateY(-30%) scale(1.15);opacity:0}}.scene-canvas img.scene-layer.effect-bob{animation:layer-step 3.4s ease-in-out infinite}.scene-still .scene-mover.bob span,.scene-still .scene-mover .walk img,.scene-still .scene-mover .walk-strip img,.scene-still .scene-canvas img.scene-layer[class*=effect-],.scene-still .ride-inside.jolts,.scene-still .ride-riders.jolts{animation:none}.scene-still .scene-mover .walk img:first-child{opacity:1!important}.scene-canvas img.scene-layer.flip{scale:-1 1}.scene-plan{display:flex;flex-direction:column;gap:.3rem}.scene-plan-map{position:relative;height:var(--plan-h, 116px);border-radius:10px;background:#ffffff08;border:1px solid var(--border-color)}.plan-joins{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.plan-join{stroke:#ffffff47;stroke-width:2px;stroke-linecap:round;vector-effect:non-scaling-stroke}.plan-room{position:absolute;box-sizing:border-box;display:flex;align-items:center;justify-content:center;padding:0 4px;border:1px solid rgba(255,255,255,.22);border-radius:5px;background:linear-gradient(#ffffff0d,#ffffff0d),#10121a;color:var(--text-secondary);font:inherit;font-size:.66rem;line-height:1.1;text-align:center}.plan-room span{overflow:hidden;text-overflow:ellipsis}button.plan-room.way{cursor:pointer;border-color:#0a84ffb3;color:#8ab8ff}.plan-room.here{border-color:var(--accent-gold);color:var(--accent-gold);background:linear-gradient(#f0c0401f,#f0c0401f),#10121a}.plan-you{position:absolute;right:4px;top:4px;width:7px;height:7px;border-radius:50%;background:var(--accent-gold)}.plan-room.them{border-color:#ff5a5a;color:#ff9a9a;background:#ff464624;animation:plan-them 1.1s ease-in-out infinite}@keyframes plan-them{0%,to{background:#ff46461a}50%{background:#ff464642}}.scene-plan-status{font-size:.8rem;color:#ff9a9a}@media (prefers-reduced-motion: reduce){.plan-room.them{animation:none}}.scene-grounds{border-radius:10px;background:#ffffff08;border:1px solid var(--border-color)}.grounds-map{display:block;width:100%;height:auto;max-height:120px}.grounds-path{fill:none;stroke:#ffffff47;stroke-width:2;stroke-dasharray:4 3;stroke-linecap:round}.grounds-place circle{fill:#ffffff1f;stroke:#ffffff73;stroke-width:1.2}.grounds-place text{fill:var(--text-secondary);font-size:11px;paint-order:stroke;stroke:#0a0c14d9;stroke-width:3px}.grounds-place.way{cursor:pointer}.grounds-place.way circle{fill:#0a84ff4d;stroke:#4c9dff}.grounds-place.way text{fill:#8ab8ff}.grounds-place.way:hover circle,.grounds-place.way:focus-visible circle{fill:#0a84ff99}.grounds-place.here circle{fill:#f0c04059;stroke:var(--accent-gold)}.grounds-place.here text{fill:var(--accent-gold)}.grounds-place.exit circle{stroke:#5ad17a;stroke-width:2}.grounds-place.exit text{fill:#8fe3a5}.grounds-you{fill:var(--accent-gold)}.grounds-them{fill:#ff5a5a;animation:grounds-them 1.1s ease-in-out infinite}@keyframes grounds-them{0%,to{opacity:1}50%{opacity:.45}}@media (prefers-reduced-motion: reduce){.grounds-them{animation:none}}.scene-panel.has-plan .scene-viewport.surround{flex:none;height:clamp(160px,calc(100dvh - 420px),340px);min-height:0}.scene-panel.has-plan{overflow-y:auto}.scene-stage{position:relative;display:flex;flex-direction:column;flex:1;min-height:0;isolation:isolate}.mini-map.low{top:auto;bottom:10px}.mini-map{position:absolute;right:10px;top:10px;width:190px;height:160px;padding:0;border:2px solid rgba(255,255,255,.55);border-radius:14px;overflow:hidden;background:#10141f;box-shadow:0 6px 18px #0000008c;cursor:pointer;z-index:5}.mini-map-view{width:100%;height:100%;pointer-events:none}.mini-map .leaflet-control-attribution{font-size:7px;line-height:1.2;padding:0 3px}.talk{position:relative;z-index:1;display:flex;flex-direction:column;gap:.5rem;border-top:1px solid var(--border-color);padding-top:.6rem}.talk-who{display:flex;align-items:center;gap:.5rem;color:var(--accent-gold);font-size:.85rem}.talk-who img{width:34px;height:34px;border-radius:50%;object-fit:cover}.talk-lines{display:flex;flex-direction:column;gap:.35rem}.scene-examine .talk-line{max-width:88%;padding:.45rem .7rem;border-radius:14px;font-size:.9rem;line-height:1.4}.talk-line.them{align-self:flex-start;background:#ffffff17;border-bottom-left-radius:4px}.talk-line.you{align-self:flex-end;background:#0a84ffd9;color:#fff;border-bottom-right-radius:4px}.talk-replies{display:flex;flex-direction:column;gap:.35rem}.talk-replies button{text-align:left;padding:.5rem .75rem;border-radius:12px;border:1px solid rgba(10,132,255,.6);background:#0a84ff1a;color:#a9cdff;font:inherit;font-size:.88rem;cursor:pointer}.scene-exit,.scene-viewport.surround .scene-spot,.scene-viewport.panorama .scene-spot{cursor:pointer}.scene-canvas img.street-follower{position:absolute;left:6%;bottom:22%;width:3.2%;height:auto;opacity:0;pointer-events:none;animation:follower 47s ease-in-out 9s infinite}@keyframes follower{0%,12%,to{opacity:0}3%,9%{opacity:.92}}@media (prefers-reduced-motion: reduce){.scene-canvas img.street-follower{animation:none;opacity:.6}}.scene-ride{padding:.6rem .8rem;border-left:3px solid var(--accent-gold);background:#ffffff0a;border-radius:0 10px 10px 0;font-size:.9rem;line-height:1.45;color:var(--text-primary)}.scene-listen{display:flex;flex-direction:column;gap:.5rem;border-top:1px solid var(--border-color);padding-top:.6rem}.ride-window{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.ride-glass{position:absolute;overflow:hidden}.ride-pass{position:absolute;top:0;left:0;height:100%;display:flex;width:max-content;animation:ride-pass linear infinite;will-change:transform}.ride-pass img{height:100%;width:auto;max-width:none;display:block;filter:blur(.6px)}.ride-pass.ride-near img{filter:blur(1.2px)}.ride-wall-box{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.ride-wall-layer{position:absolute;top:0;right:0;bottom:0;left:0;transition:opacity 1.2s ease}.ride-wall-layer.away{opacity:0}.ride-wall{position:absolute;top:0;left:0;transform-origin:0 0;overflow:hidden}.ride-wall-strip{position:absolute;left:0;background-repeat:repeat;animation:ride-pass linear infinite;will-change:transform;filter:blur(.6px)}.ride-wall-strip.ride-near{filter:blur(1.2px)}.ride-dim{position:absolute;top:0;right:0;bottom:0;left:0;background:#060a14}@keyframes ride-pass{0%{transform:translateZ(0)}to{transform:translate3d(-50%,0,0)}}.scene-canvas .ride-ahead{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:50% 58%}.scene-canvas .ride-ahead.drift{opacity:0;animation:ride-ahead linear infinite;will-change:transform,opacity}@keyframes ride-ahead{0%{transform:scale(1);opacity:0}20%{opacity:1}80%{opacity:1}to{transform:scale(1.3);opacity:0}}.scene-canvas.ride-behind>img:first-child{position:relative;z-index:1}.scene-canvas.ride-behind .ride-window{z-index:0}.scene-canvas .ride-around .ride-ahead{inset:auto;top:0;height:100%;object-fit:cover;object-position:50% 50%}.scene-canvas .ride-around .ride-clip-box{overflow:hidden;container-type:size}.ride-clip-frame{position:absolute;left:50%;top:50%;width:max(100cqw,360cqh);height:max(100cqh,calc(100cqw / 3.6));translate:-50% -50%}.ride-clip{position:absolute;top:0;left:50%;height:100%;width:auto;translate:-50% 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}.scene-canvas .ride-around .ride-ahead.drift{animation-name:ride-around}@keyframes ride-around{0%{transform:scale(1);opacity:0}20%{opacity:1}80%{opacity:1}to{transform:scale(var(--closer, 1.1));opacity:0}}.ride-riders{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none}.ride-inside.jolts,.ride-riders.jolts{animation:ride-jolt linear infinite;transform-origin:50% 100%;will-change:transform;scale:1.02}@keyframes ride-jolt{0%,to{transform:translateZ(0) rotate(0)}6%{transform:translate3d(0,calc(var(--bump) * var(--soft, 1) * -1%),0) rotate(calc(var(--sway) * var(--soft, 1) * -.4))}10%{transform:translate3d(0,calc(var(--bump) * var(--soft, 1) * .55%),0) rotate(calc(var(--sway) * var(--soft, 1) * .2))}14%{transform:translateZ(0) rotate(0)}41%{transform:translateZ(0) rotate(0)}47%{transform:translate3d(0,calc(var(--bump) * var(--soft, 1) * -.45%),0) rotate(calc(var(--sway) * var(--soft, 1)))}55%{transform:translate3d(0,calc(var(--bump) * var(--soft, 1) * .2%),0) rotate(calc(var(--sway) * var(--soft, 1) * .5))}63%{transform:translateZ(0) rotate(0)}78%{transform:translate3d(0,calc(var(--bump) * var(--soft, 1) * -.7%),0) rotate(calc(var(--sway) * var(--soft, 1) * -.6))}81%{transform:translate3d(0,calc(var(--bump) * var(--soft, 1) * .35%),0) rotate(0)}85%{transform:translateZ(0) rotate(0)}}@media (prefers-reduced-motion: reduce){.ride-inside.jolts,.ride-riders.jolts{--soft: .5}}.scene-mover .walk{position:relative;display:block;width:100%;height:100%}.scene-mover .walk img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}@keyframes walk-step-2{0%{opacity:1}50%{opacity:0}to{opacity:0}}@keyframes walk-step-3{0%{opacity:1}33.34%{opacity:0}to{opacity:0}}@keyframes walk-step-4{0%{opacity:1}25%{opacity:0}to{opacity:0}}@keyframes walk-step-5{0%{opacity:1}20%{opacity:0}to{opacity:0}}@keyframes walk-step-6{0%{opacity:1}16.67%{opacity:0}to{opacity:0}}@keyframes walk-step-7{0%{opacity:1}14.29%{opacity:0}to{opacity:0}}@keyframes walk-step-8{0%{opacity:1}12.5%{opacity:0}to{opacity:0}}@keyframes walk-step-9{0%{opacity:1}11.111%{opacity:0}to{opacity:0}}@keyframes walk-step-10{0%{opacity:1}10.0%{opacity:0}to{opacity:0}}@keyframes walk-step-11{0%{opacity:1}9.091%{opacity:0}to{opacity:0}}@keyframes walk-step-12{0%{opacity:1}8.333%{opacity:0}to{opacity:0}}.scene-mover .walk-strip{display:block;width:100%;height:100%;overflow:hidden}.scene-mover .walk-strip img{max-width:none;height:100%;will-change:transform}@keyframes strip-step{0%{transform:translate(0)}to{transform:translate(-100%)}}.scene-mover.effect-flap span{transform-origin:50% 55%;animation:layer-flap .34s ease-in-out infinite}@keyframes layer-flap{0%,to{transform:scaleY(1)}50%{transform:scaleY(.38) translateY(8%)}}.scene-mover.effect-waddle span{transform-origin:50% 100%;animation:layer-waddle .36s steps(2,jump-none) infinite,layer-peck 5.3s ease-in-out infinite;animation-composition:add}@keyframes layer-waddle{0%{transform:rotate(-7deg) translateY(0)}to{transform:rotate(7deg) translateY(-3%)}}@keyframes layer-peck{0%,82%,to{transform:rotate(0)}88%{transform:rotate(24deg)}92%{transform:rotate(4deg)}96%{transform:rotate(24deg)}}.scene-still .scene-mover.effect-flap span,.scene-still .scene-mover.effect-waddle span{animation:none}.scene-canvas img.scene-front{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.live-people{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.live-person{position:absolute;display:none;pointer-events:none}.scene-walking,.scene-holding{margin:0;font-size:.85rem;color:#8ab8ff;display:flex;align-items:center;gap:.5rem}.scene-walk-stop{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-color);border-radius:999px;padding:.2rem .7rem;font-size:.8rem;cursor:pointer}.scene-found{margin:0;font-size:.8rem;color:var(--text-muted)}.scene-exit-arrow{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#0a0a108c;border:1.5px solid #4c9dff;color:#8ab8ff;font-size:13px;line-height:1;box-shadow:0 2px 8px #00000073;animation:exit-breathe 3.2s ease-in-out infinite;pointer-events:none}.scene-exit:hover .scene-exit-arrow,.scene-exit:focus-visible .scene-exit-arrow{background:#4c9dff;color:#0b1220}.scene-exit .scene-spot-label{color:#8ab8ff}@keyframes exit-breathe{0%,to{transform:scale(1);opacity:.85}50%{transform:scale(1.08);opacity:1}}@media (hover: none){.scene-exit .scene-spot-label{opacity:1;bottom:auto;top:calc(50% + 18px);background:#0a0a10c7;border:1px solid rgba(76,157,255,.6);white-space:normal;width:max-content;max-width:7.5rem;text-align:center;line-height:1.25}}.scene-stage>*{transition:transform .32s ease-in,opacity .32s ease-in}.scene-stage{animation:scene-arrive .3s ease-out}@keyframes scene-arrive{0%{opacity:.35}to{opacity:1}}.scene-stage.leaving-forward>*,.scene-stage.leaving-in>*,.scene-stage.leaving-up>*{transform:scale(1.16);opacity:.15}.scene-stage.leaving-back>*,.scene-stage.leaving-out>*,.scene-stage.leaving-down>*{transform:scale(.9);opacity:.15}.scene-stage.leaving-left>*{transform:translate(10%);opacity:.15}.scene-stage.leaving-right>*{transform:translate(-10%);opacity:.15}@media (prefers-reduced-motion: reduce){.scene-stage,.scene-exit-arrow{animation:none}}.scene-tap{position:absolute;width:26px;height:26px;translate:-50% -50%;border:2px solid rgba(255,255,255,.7);border-radius:50%;pointer-events:none;animation:scene-tap .6s ease-out forwards}@keyframes scene-tap{0%{scale:.4;opacity:1}to{scale:1.4;opacity:0}}@media (prefers-reduced-motion: reduce){.scene-tap{animation:none;opacity:.6}}.scene-canvas.holding,.scene-canvas.holding .scene-spot{cursor:copy}.scene-arrived{margin:0;padding:.5rem .75rem;border-left:3px solid var(--accent-gold, #e3b51c);background:var(--bg-card);font-size:.9rem;line-height:1.45}.scene-exit{z-index:100000}.scene-spot:hover,.scene-spot:focus-visible,.scene-exit:hover,.scene-exit:focus-visible{z-index:100001}.scene-canvas{isolation:isolate}.ride-streaks{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.scene-canvas.scene-moment img{animation:scene-moment-in .45s ease-out}@keyframes scene-moment-in{0%{opacity:0;transform:scale(1.03)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.scene-canvas.scene-moment img{animation:none}}.credits-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#0009;display:flex;align-items:center;justify-content:center;padding:16px}.credits{width:min(560px,100%);max-height:80dvh;overflow-y:auto;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;padding:1.25rem 1.5rem;color:var(--text-primary)}.credits header{display:flex;justify-content:space-between;align-items:center}.credits header button{background:none;border:none;color:var(--text-secondary);font-size:1rem;cursor:pointer}.credits-episode{color:var(--accent-gold);margin:.25rem 0 1rem}.credits dl{margin:0;display:flex;flex-direction:column;gap:.6rem}.credits dt{color:var(--text-secondary);font-size:.78rem}.credits dd{margin:.1rem 0 0;font-size:.9rem}.credits-link{background:none;border:none;color:var(--text-muted);font-size:.75rem;text-decoration:underline;cursor:pointer;padding:0;margin-left:.75rem}.credits-fiction{font-size:.8rem;line-height:1.45;color:var(--text-secondary);margin:0 0 12px}.end-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#06060cd1;display:flex;align-items:flex-start;justify-content:center;overflow-y:auto;padding:32px 16px}.end-card{margin:auto 0;width:100%;max-width:420px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:18px;padding:24px;display:flex;flex-direction:column;gap:10px;text-align:center}.end-kicker{color:var(--accent-gold);font-size:.75rem;letter-spacing:.12em;text-transform:uppercase}.end-card h2{margin:0;color:var(--text-primary);font-size:1.6rem}.end-line{margin:0;color:var(--text-secondary)}.end-stats{list-style:none;padding:0;margin:6px 0;color:var(--text-secondary);font-size:.85rem;display:flex;flex-direction:column;gap:4px}.end-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:8px}.end-paper{width:100%;max-width:640px;background:#f6f2e8;color:#1c1a16;border-radius:4px;padding:24px 28px 28px;font-family:Georgia,Times New Roman,serif;line-height:1.55;box-shadow:0 20px 60px #00000080}.end-masthead{display:flex;flex-direction:column;align-items:center;gap:2px;border-bottom:3px double #1c1a16;padding-bottom:8px;margin-bottom:16px}.end-paper-name{font-size:2rem;font-weight:700;letter-spacing:.02em}.end-paper-date{font-family:-apple-system,system-ui,sans-serif;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:#5d574c}.end-paper h1{font-size:2.1rem;line-height:1.12;margin:0 0 8px;text-wrap:balance}.end-subhead{font-style:italic;font-size:1.1rem;color:#3d3830;margin:0 0 14px}.end-paper p{margin:0 0 12px;font-size:1rem}.end-paper.tone-bitter h1{color:#5a1c16}.end-footer{display:flex;flex-direction:column;gap:2px;border-top:1px solid #b8b0a0;padding-top:10px;margin-top:16px;font-family:-apple-system,system-ui,sans-serif;font-size:.8rem;color:#5d574c}.end-paper .end-actions .btn-outline{color:#1c1a16;border-color:#1c1a16}@media (max-width: 480px){.end-paper{padding:18px 16px 22px}.end-paper h1{font-size:1.6rem}}.end-backdrop.chapter{background:#07070b}.chapter-card{display:flex;flex-direction:column;align-items:center;gap:.6rem;padding:2rem 1.5rem;max-width:420px;text-align:center;color:#fff;animation:chapter-in 1.2s ease-out both}.chapter-part{color:var(--accent-gold, #f0c040);font-size:.85rem;letter-spacing:.3em;text-transform:uppercase}.chapter-card h2{font-size:2rem;line-height:1.15;margin:0 0 .6rem}.chapter-bar{width:160px;height:2px;background:linear-gradient(to right,var(--accent-gold, #f0c040) 50%,rgba(255,255,255,.15) 50%);background-size:200% 100%;background-position:100% 0;animation:chapter-fill linear forwards;margin-bottom:.8rem}@keyframes chapter-fill{to{background-position:0 0}}@keyframes chapter-in{0%{opacity:0;transform:translateY(8px)}}@media (prefers-reduced-motion: reduce){.chapter-card{animation:none}}:root{--bg-primary: #0a0a0f;--bg-secondary: #12121a;--bg-card: #1a1a2e;--bg-card-hover: #22223a;--text-primary: #eaeaea;--text-secondary: #8888aa;--text-muted: #555577;--accent-red: #ff4757;--accent-red-hover: #ff6b7a;--accent-gold: #f0c040;--accent-blue: #3b4cca;--accent-blue-hover: #4a5dd9;--accent-green: #2ed573;--border-color: rgba(255, 255, 255, .08);--shadow-color: rgba(0, 0, 0, .5);--transition-speed: .3s}*{margin:0;padding:0;box-sizing:border-box}body{background:var(--bg-primary);color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;min-height:100vh}#root{min-height:100vh}.app{display:flex;flex-direction:column;min-height:100vh}.app-header{background:var(--bg-secondary);border-bottom:1px solid var(--border-color);padding:.75rem 1.5rem;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100}.logo{display:flex;align-items:center;gap:.5rem;font-size:1.25rem;font-weight:700;color:var(--text-primary);text-decoration:none}.logo-icon{font-size:1.5rem}.header-controls{display:flex;align-items:center;gap:1rem}.view-toggle{display:flex;background:var(--bg-card);border-radius:8px;overflow:hidden;border:1px solid var(--border-color)}.view-btn{padding:.5rem 1rem;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;font-size:.875rem;transition:all var(--transition-speed)}.view-btn:hover{color:var(--text-primary);background:var(--bg-card-hover)}.view-btn.active{background:var(--accent-red);color:#fff}.episode-badge{background:var(--accent-gold);color:#000;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.main-content{flex:1;display:flex;justify-content:center;align-items:flex-start;padding:2rem 1rem;gap:2rem}.app-footer{background:var(--bg-secondary);border-top:1px solid var(--border-color);padding:.75rem 1.5rem;text-align:center;font-size:.875rem;color:var(--text-secondary)}.progress-bar{width:100%;height:4px;background:var(--bg-card);border-radius:2px;margin-bottom:.5rem;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--accent-red),var(--accent-gold));transition:width .5s ease}.btn{padding:.5rem 1rem;border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all var(--transition-speed);display:inline-flex;align-items:center;gap:.5rem}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent-red);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-red-hover)}.btn-secondary{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover:not(:disabled){background:var(--bg-card-hover)}.btn-outline{background:transparent;color:var(--accent-red);border:1px solid var(--accent-red)}.btn-outline:hover:not(:disabled){background:var(--accent-red);color:#fff}.loading{display:flex;align-items:center;justify-content:center;padding:2rem}.spinner{width:40px;height:40px;border:3px solid var(--border-color);border-top-color:var(--accent-red);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 768px){.main-content{flex-direction:column;padding:1rem}.header-controls{gap:.5rem}.view-toggle{display:none}}.feedback-panel{position:fixed;right:16px;bottom:16px;z-index:200000;width:min(360px,calc(100vw - 32px));background:#1d1f26;color:#eee;border:1px solid #3a3e4a;border-radius:12px;padding:12px;box-shadow:0 8px 30px #00000073;display:flex;flex-direction:column;gap:8px;font-size:14px}.feedback-panel header{display:flex;justify-content:space-between;align-items:center}.feedback-panel header button{background:none;border:0;color:#aaa;font-size:16px;cursor:pointer}.feedback-panel textarea{width:100%;box-sizing:border-box;background:#12141a;color:#eee;border:1px solid #3a3e4a;border-radius:8px;padding:8px;font:inherit;resize:vertical}.feedback-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.feedback-row button{background:#2b2f3a;color:#eee;border:1px solid #454a58;border-radius:8px;padding:6px 10px;cursor:pointer}.feedback-row button.primary{background:#c99a2e;color:#111;border-color:#c99a2e}.feedback-row button:disabled{opacity:.5;cursor:default}.feedback-row button[aria-pressed=true]{outline:2px solid #c99a2e}.feedback-spot,.feedback-said,.feedback-help{color:#aab;font-size:13px}.feedback-help{margin:0}body.feedback-pointing .scene-canvas{cursor:crosshair;outline:3px dashed #c99a2e;outline-offset:-3px}@media (min-width: 601px){html .phone-mockup{width:auto;height:min(720px,calc(100dvh - 200px));min-height:540px;aspect-ratio:375 / 720}}@media (min-width: 601px) and (max-width: 1100px){html .app-header{padding:.6rem 1rem;gap:.75rem}html .app-header h1{font-size:1.15rem;white-space:nowrap}html .header-controls{gap:.4rem;flex-wrap:wrap;justify-content:flex-end}html .header-controls .btn{padding:.4rem .7rem;font-size:.8rem;white-space:nowrap}}@media (max-width: 600px){:root{--screen-top: 42px;--banner-top: 4px;--banner-left: 118px;--screen-side: 0px;--screen-bottom: 0px;--screen-radius: 0px;--nav-h: calc(46px + env(safe-area-inset-bottom, 0px)) }html,body,#root{height:100%}html .app-container{height:100dvh;min-height:0;padding-top:env(safe-area-inset-top,0px);box-sizing:border-box}html .app-header{position:static;flex-shrink:0;padding:6px 8px}html .app-header h1{display:none}html .header-controls{width:100%;gap:6px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}html .header-controls::-webkit-scrollbar{display:none}html .header-controls .btn{flex-shrink:0;padding:6px 10px;font-size:12px;white-space:nowrap}html .app-main{flex:1;min-height:0;padding:0;gap:0;align-items:stretch;flex-direction:column;flex-wrap:nowrap;overflow-y:auto}html .story-loader{margin:auto;padding:24px 16px;max-width:100%;box-sizing:border-box}html .phone-mockup{width:100%;height:100%;min-height:0;flex:1 0 100%;border-radius:0;padding:0;box-shadow:none;background:#101018}html .phone-notch,html .phone-home-bar,html .phone-status-icons{display:none}html .phone-status-bar{padding:6px 12px 0;height:var(--screen-top);box-sizing:border-box}html .call-overlay{padding-top:48px;padding-bottom:calc(32px + env(safe-area-inset-bottom,0px))}html .playtest-panel{width:100%;max-height:none;border-radius:0;box-sizing:border-box}html .app-footer{flex-shrink:0;padding:4px 12px calc(4px + env(safe-area-inset-bottom,0px));font-size:11px}html .app-footer .progress-bar{margin-bottom:2px}}.scene-panel{flex:0 1 760px;min-width:0}.view-tabs{display:none}@media (max-width: 1200px){html .view-tabs{display:flex;flex-shrink:0;gap:4px;margin:6px 12px 0;padding:3px;background:#ffffff14;border-radius:10px}html .view-tabs button{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;background:none;border:none;border-radius:8px;color:#c8c8d6;font-size:14px;padding:7px 4px;cursor:pointer}html .view-tabs button.active{background:#3a3a4c;color:#fff;font-weight:600}html .view-tab-count{min-width:18px;height:18px;padding:0 5px;box-sizing:border-box;border-radius:9px;background:#ff3b30;color:#fff;font-size:11px;font-weight:700;line-height:18px;animation:view-tab-pulse 1.6s ease-in-out 3}html .view-tab-dot{width:8px;height:8px;border-radius:50%;background:#f0c040}html .header-controls .side-toggle,html .app-main.scene-open .phone-mockup{display:none}html .app-main.scene-open .scene-panel{flex:1 1 auto;width:100%}}@keyframes view-tab-pulse{50%{transform:scale(1.25)}}@media (prefers-reduced-motion: reduce){html .view-tab-count{animation:none}}@media (max-width: 600px){html .scene-panel{width:100%;max-height:none;height:100%;border-radius:0;border:none}html .scene-viewport.panorama .scene-canvas{height:100%;min-height:0}}@media (max-width: 600px){html .phone-navbar{box-sizing:border-box;padding-bottom:env(safe-area-inset-bottom,0px);border-radius:0}}.bag-panel{align-self:flex-start;flex-basis:420px;overflow-y:auto}.bag-panel .inventory-view{max-width:none}@media (max-width: 600px){html .app-header.phone-bare{display:none}}@media (max-width: 600px) and (orientation: portrait){html .scene-viewport.surround,html .scene-viewport.panorama{flex:none;height:40dvh;min-height:0}html .scene-viewport:not(.surround):not(.panorama){flex:none;height:auto;min-height:0;overflow:hidden}}@media (max-width: 600px) and (orientation: portrait){html .scene-panel{overflow-y:auto}html .scene-panel.has-plan .scene-viewport.panorama,html .scene-panel.has-plan .scene-viewport.surround{height:34dvh;min-height:0}html .scene-stage{flex:none}html .mini-map{width:150px;height:126px}html .scene-plan-map{height:calc(var(--plan-h, 116px) * .83)}}@media (max-width: 600px){html .phone-mockup{position:relative;box-sizing:border-box;border:7px solid #191922;border-radius:38px;overflow:hidden;background:#101018;box-shadow:0 0 0 2px #6c6c82,0 0 0 3px #0a0a0f,0 10px 26px #000000b3}html .app-main:not(.scene-open){padding:8px 12px 12px;box-sizing:border-box}}@media (max-width: 600px) and (orientation: portrait){html .scene-panel{overflow-y:auto}html .scene-panel.has-plan .scene-viewport{height:34dvh}html .scene-stage{flex:none}html .mini-map{width:150px;height:126px}html .mini-map.low{width:118px;height:92px}html .scene-plan-map{height:calc(var(--plan-h, 116px) * .83)}}@media (max-width: 600px){html .phone-mockup{position:relative;border-radius:30px;overflow:hidden;background:#101018}html .phone-mockup:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:30px;border:3px solid #3b3b4a;box-shadow:inset 0 0 0 1px #ffffff14,inset 0 0 14px #0000008c;pointer-events:none;z-index:60}html .app-main:not(.scene-open){padding:4px 5px 6px;box-sizing:border-box}}.app-container{display:flex;flex-direction:column;min-height:100vh}.app-main{flex:1;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:1.5rem;padding:2rem 1rem}
