*{box-sizing:border-box}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#111412;min-width:20rem}body{color:#f5f0e7;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#111412;min-width:20rem;min-height:100svh;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input{font:inherit}a{color:inherit}:root{--ink:#f5f0e7;--ink-muted:#b8b0a4;--canvas:#111412;--surface:#1a1f1b;--surface-raised:#222821;--line:#f5f0e721;--accent:#d4a94f;--accent-strong:#efc96e;--danger:#e48e80;--success:#9dc997;--shadow:0 24px 80px #00000061}.app-frame{background:radial-gradient(circle at 50% -10%, #7a5f2b42, transparent 35rem), linear-gradient(180deg, #171b17 0%, var(--canvas) 48%, #0b0d0c 100%);min-height:100svh}.player-shell{width:min(100%,48rem);min-height:100svh;box-shadow:var(--shadow);background:#111412db;flex-direction:column;margin:0 auto;display:flex}.player-header{z-index:10;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#111412eb;justify-content:space-between;align-items:center;gap:1rem;min-height:4.25rem;padding:.75rem 1.1rem;display:flex;position:sticky;top:0}.wordmark{color:var(--ink);letter-spacing:.2em;flex-shrink:0;font-size:.86rem;font-weight:800}.header-actions{align-items:center;gap:.65rem;display:flex}.score-badge{min-width:5.2rem;color:var(--accent-strong);font-variant-numeric:tabular-nums;text-align:center;background:#d4a94f17;border:1px solid #d4a94f59;border-radius:999px;padding:.48rem .72rem;font-weight:750;animation:.22s ease-out score-in}@keyframes score-in{0%{opacity:.55;transform:scale(.94)}}.add-player-button,.text-button{color:var(--accent-strong);font:inherit;cursor:pointer;background:0 0;border:0;font-weight:700}.add-player-button{min-height:2.65rem;padding:.45rem .55rem;font-size:.78rem}.player-main{flex:1;width:100%;padding:clamp(1.25rem,5vw,2.75rem) clamp(1rem,5vw,2.5rem) 2.5rem}.node-view{gap:1.4rem;animation:.3s ease-out node-in;display:grid}@keyframes node-in{0%{opacity:0;transform:translateY(.45rem)}}.eyebrow{color:var(--accent);letter-spacing:.16em;text-transform:uppercase;margin:0 0 .65rem;font-size:.76rem;font-weight:750}.content-title,.start-title,.finish-title{color:var(--ink);letter-spacing:-.025em;margin:0;font-family:Georgia,Times New Roman,serif;font-weight:500}.content-title{font-size:clamp(1.8rem,8vw,3rem);line-height:1.08}.content-copy{color:var(--ink);gap:.95rem;font-size:clamp(1.06rem,4vw,1.15rem);line-height:1.66;display:grid}.content-copy p{margin:0}.instruction-card,.location-card,.hint-reveal,.feedback,.error-banner{border-radius:.85rem}.instruction-card{border-left:3px solid var(--accent);color:var(--ink);white-space:pre-line;background:#d4a94f17;padding:1rem 1.05rem;line-height:1.58}.media-list{gap:1rem;display:grid}.media-frame{border:1px solid var(--line);background:#090b0a;border-radius:1rem;overflow:hidden}.media-frame img,.media-frame video{object-fit:contain;width:100%;height:auto;max-height:34rem;display:block}.media-frame audio{width:calc(100% - 2rem);margin:1rem}.media-image-link{display:block}.media-list-story .media-frame,.media-list-hint .media-frame{place-items:center;display:grid}.media-list-story img,.media-list-story video{max-height:min(38svh,20rem)}.media-list-hint img,.media-list-hint video{max-height:min(46svh,22rem)}.media-fallback{color:var(--ink-muted);text-align:center;padding:1rem}.human-interaction-list{gap:1rem;display:grid}.human-interaction-card,.contact-action,.photo-interaction,.rating-interaction{border:1px solid var(--line);background:var(--surface);border-radius:.9rem;min-width:0;padding:1rem}.human-interaction-card,.human-interaction-location,.contact-action,.photo-interaction,.selected-file{gap:.75rem;display:grid}.human-interaction-card h2,.human-interaction-card p{margin:0}.human-interaction-location{border-top:1px solid var(--line);padding-top:.75rem}.interaction-disclaimer,.contact-action small,.photo-interaction>small,.selected-file small{color:var(--ink-muted);line-height:1.45}.contact-action-link{box-sizing:border-box;text-align:center;width:100%;text-decoration:none}.rating-interaction{gap:1rem;display:grid}.rating-interaction legend{color:var(--ink);padding:0 .25rem;font-weight:700}.rating-options{grid-template-columns:repeat(5,minmax(0,1fr));gap:.45rem;display:grid}.rating-option{border:1px solid var(--line);min-width:0;min-height:3.6rem;color:var(--ink);background:var(--surface-raised);cursor:pointer;border-radius:.7rem;place-content:center;gap:.15rem;display:grid}.rating-option span{font-size:1.3rem}.rating-option small{color:var(--ink-muted)}.rating-option[aria-pressed=true]{border-color:var(--accent-strong);color:var(--accent-strong);background:#d4a94f24}.rating-comment{resize:vertical;min-height:7rem}.file-input{box-sizing:border-box;width:100%;color:var(--ink)}.file-input::file-selector-button{border:1px solid var(--line);color:var(--ink);background:var(--surface-raised);cursor:pointer;border-radius:.65rem;margin-right:.7rem;padding:.65rem .8rem}.selected-file{overflow-wrap:anywhere;background:#d4a94f14;border-radius:.7rem;padding:.85rem}.location-card{border:1px solid var(--line);background:var(--surface);gap:.7rem;padding:1rem;display:grid}.location-label{color:var(--ink-muted);letter-spacing:.12em;text-transform:uppercase;font-size:.76rem}.location-card strong{color:var(--ink);font-size:1.05rem}.location-card p{color:var(--ink-muted);margin:0}.map-link{width:fit-content;min-height:2.8rem;color:var(--accent-strong);align-items:center;font-weight:700;display:inline-flex}.primary-button,.secondary-button,.hint-button{width:100%;min-height:3.35rem;font:inherit;cursor:pointer;border-radius:.75rem;font-weight:760;transition:transform .12s,background-color .12s}.primary-button{border:1px solid var(--accent);color:#18130b;background:var(--accent-strong);box-shadow:0 10px 30px #d4a94f26}.secondary-button,.hint-button{border:1px solid var(--line);color:var(--ink);background:var(--surface-raised)}.primary-button:hover:not(:disabled),.secondary-button:hover:not(:disabled),.hint-button:hover:not(:disabled){transform:translateY(-1px)}button:disabled{cursor:wait;opacity:.58}button:focus-visible,a:focus-visible,input:focus-visible{outline-offset:3px;outline:3px solid #efc96e8c}.challenge-form{gap:.75rem;display:grid}.challenge-node{gap:1.1rem}.choice-grid,.challenge-choice-grid{gap:.75rem;display:grid}.choice-card{width:100%;min-height:3.6rem;color:var(--ink);background:var(--surface-raised);font:inherit;text-align:left;cursor:pointer;border:1px solid #f5f0e73d;border-radius:.85rem;align-items:center;gap:.75rem;padding:.85rem 1rem;font-weight:700;display:flex}.choice-card[aria-pressed=true]{border-color:var(--accent);color:var(--accent-strong);background:#d4a94f24}.choice-fieldset{border:0;gap:.85rem;min-width:0;margin:0;padding:0;display:grid}.choice-fieldset legend{color:var(--ink);margin-bottom:.85rem;font-weight:700}.ordered-selection{gap:.55rem;margin:0;padding-left:2rem;display:grid}.ordered-selection li{min-height:3rem;color:var(--ink);background:#d4a94f17;border:1px solid #d4a94f52;border-radius:.7rem;padding:.55rem .7rem}.ordered-selection li,.remove-choice-button{align-items:center}.ordered-selection li{justify-content:space-between;gap:.75rem;display:flex}.remove-choice-button{min-height:2.25rem;color:var(--accent-strong);font:inherit;cursor:pointer;background:0 0;border:0;padding:.25rem .45rem;font-size:.82rem;font-weight:700}.choice-order-number{color:#18130b;background:var(--accent-strong);border-radius:999px;flex:0 0 1.65rem;place-items:center;width:1.65rem;height:1.65rem;font-size:.78rem;display:grid}.reset-order-button{justify-self:end}.input-label{color:var(--ink);font-weight:700}.answer-input{width:100%;min-height:3.75rem;color:var(--ink);font:inherit;background:#0d100e;border:1px solid #f5f0e742;border-radius:.75rem;padding:.8rem .95rem;font-size:1.12rem}.answer-input::placeholder{color:#777268}.feedback,.error-banner{padding:.9rem 1rem;line-height:1.45}.feedback-error,.error-banner{color:#f0b4aa;background:#963f3129;border:1px solid #e48e8059}.feedback-success{color:#bce0b7;background:#46794029;border:1px solid #9dc99759}.feedback-success-transition{margin-bottom:1.5rem}.hint-panel{border-top:1px solid var(--line);gap:.8rem;padding-top:1.2rem;display:grid}.contingency-panel{border-top:1px solid var(--line);gap:.85rem;padding-top:1.2rem;display:grid}.contingency-option{background:#d4a94f12;border:1px solid #d4a94f47;border-radius:.85rem;gap:.9rem;padding:1rem;display:grid}.contingency-option .content-copy{font-size:.95rem}.pause-node{max-width:38rem;margin-inline:auto}.pause-state{border:1px solid var(--line);color:var(--ink-muted);background:var(--surface);border-radius:.85rem;padding:1rem;line-height:1.55}.pause-actions{gap:.75rem;display:grid}.hint-panel h2{color:var(--ink);margin:0;font-size:1.05rem}.hint-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;display:grid}.hint-button{place-content:center;gap:.16rem;min-height:3.9rem;padding:.65rem;font-size:.9rem;display:grid}.hint-button small{color:var(--ink-muted);font-size:.72rem;font-weight:550}.hint-reveals{gap:.7rem;display:grid}.hint-reveal{color:var(--ink);background:#d4a94f12;border:1px solid #d4a94f3d;padding:1rem}.hint-reveal header{color:var(--accent-strong);justify-content:space-between;gap:.75rem;margin-bottom:.55rem;font-size:.82rem;font-weight:750;display:flex}.hint-reveal p{white-space:pre-line;margin:0;line-height:1.58}.loading-screen{align-content:center;min-height:calc(100svh - 8rem);display:grid}.start-screen,.finish-screen,.join-screen{align-content:start;display:grid}.start-screen{gap:1rem;padding:clamp(1.25rem,5vw,2rem) 0 2.5rem}.join-screen{gap:1rem;max-width:34rem;padding:clamp(2rem,10vw,5rem) 0 2.5rem}.join-form{gap:.8rem;display:grid}.session-code-input{text-transform:uppercase;letter-spacing:.12em;font-variant-numeric:tabular-nums}.text-button{text-underline-offset:.2rem;width:fit-content;min-height:2.75rem;padding:0;text-decoration:underline}.share-panel{color:var(--ink);background:#d4a94f14;border:1px solid #d4a94f59;border-radius:.85rem;gap:.75rem;margin-bottom:1rem;padding:1rem;display:grid}.share-panel h2,.share-panel p{margin:0}.share-panel h2{font-size:1.15rem}.share-panel p{color:var(--ink-muted);line-height:1.5}.qr-code-frame{background:#fff;border-radius:.85rem;width:min(100%,16rem);margin:.25rem auto 0;padding:.75rem}.qr-code-frame svg{width:100%;height:auto;display:block}.qr-instruction{text-align:center}.share-panel code{color:var(--accent-strong);letter-spacing:.08em;font-size:1.05rem;font-weight:800}.share-actions{gap:.65rem;display:grid}.share-actions .text-button{justify-self:center;width:100%}.session-code-fallback{border-top:1px solid var(--line);text-align:center;justify-items:center;gap:.3rem;padding-top:.75rem;display:grid}.session-code-fallback small{color:var(--ink-muted)}.recovery-actions{border-top:1px solid var(--line);gap:.75rem;margin-top:2rem;padding-top:1rem;display:grid}.recovery-actions h2{color:var(--ink-muted);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.78rem;font-weight:600}.recovery-action-buttons{flex-wrap:wrap;gap:.5rem 1rem;display:flex}.recovery-action-buttons button:disabled{opacity:.45;cursor:not-allowed}.dialog-backdrop{z-index:30;background:#000000b8;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.recovery-dialog{border:1px solid var(--line);width:min(100%,26rem);color:var(--ink);background:var(--surface);box-shadow:var(--shadow);border-radius:1rem;gap:.75rem;padding:1.25rem;display:grid}.recovery-dialog h2,.recovery-dialog p{margin:0}.recovery-dialog p{color:var(--ink-muted);line-height:1.5}.recovery-dialog form{gap:.8rem;display:grid}.dialog-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.sync-status{color:var(--ink-muted);text-align:center;margin-bottom:.75rem;font-size:.78rem}.start-mark{background:radial-gradient(circle,#272b26f5,#0c0e0dfa),#d4a94f14;border:1px solid #d4a94f6b;border-radius:50%;place-items:center;width:6.25rem;height:6.25rem;padding:.45rem;display:grid;box-shadow:inset 0 0 0 1px #f5f0e70d,0 12px 32px #00000047}.start-mark img{object-fit:contain;width:100%;height:auto;display:block}.start-title,.finish-title{max-width:12ch;font-size:clamp(2.5rem,13vw,4.5rem);line-height:.98}.start-copy,.finish-copy{max-width:34rem;color:var(--ink-muted);line-height:1.65}.language-selector{border:0;min-width:0;margin:.35rem 0 0;padding:0}.language-selector legend{color:var(--ink-muted);margin-bottom:.7rem;font-size:.88rem}.language-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;display:grid}.language-option{border:1px solid var(--line);min-height:3.65rem;color:var(--ink);background:var(--surface);cursor:pointer;border-radius:.85rem;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem .9rem;display:flex}.language-option small{color:var(--ink-muted);letter-spacing:.12em;font-size:.72rem}.language-option[aria-pressed=true]{border-color:var(--accent);background:#d4a94f1f;box-shadow:inset 0 0 0 1px #d4a94f2e}.language-option:disabled{cursor:not-allowed;opacity:.45}.setup-field{gap:.65rem;margin-top:.8rem;display:grid}.setup-field label{color:var(--ink);gap:.2rem;font-weight:700;display:grid}.setup-field label small{color:var(--ink-muted);font-size:.78rem;font-weight:500}.start-screen .primary-button,.finish-screen .primary-button{margin-top:.6rem}.finish-screen{gap:1rem;padding:clamp(1.25rem,5vw,2rem) 0 2.5rem}.final-score{color:var(--accent-strong);font-family:Georgia,Times New Roman,serif;font-size:2.15rem}.final-time{color:var(--ink-muted);gap:.35rem;display:grid}.final-time strong{color:var(--ink);font-variant-numeric:tabular-nums;font-size:1.75rem}.loading-screen{color:var(--ink-muted);text-align:center;place-items:center;gap:1rem}.spinner{border:3px solid #f5f0e724;border-top-color:var(--accent);border-radius:50%;width:2.25rem;height:2.25rem;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width>=42rem){.player-shell{border-inline:1px solid var(--line)}.player-main{padding-bottom:4rem}.action-row{justify-content:flex-end;display:flex}.action-row .primary-button{width:min(100%,20rem)}}@media (width<=23rem){.player-header{padding-inline:.75rem}.hint-grid{grid-template-columns:1fr}.wordmark{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
