:root{font-family:DM Sans,sans-serif;color:#f8f1e5;background:#14141b;font-synthesis:none}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,a:focus-visible{outline:2px solid #f0cd95;outline-offset:4px}[hidden]{display:none!important}#app{position:relative;width:100%;height:100dvh;min-height:520px;overflow:hidden;background:#16151d}#app:before{content:"";position:absolute;inset:-6%;background:linear-gradient(90deg,#0e0d1499,#0e0d141f),url(/assets/10-mechanical-theatre-BqZ4PsUR.png) center/cover no-repeat;filter:blur(30px) saturate(.82) brightness(.64);transition:background-image .5s,filter .5s;transform:scale(1.04)}#app[data-scene=canyon]:before{background:linear-gradient(90deg,#1c273940,#1c27390a),url(/assets/01-cliffside-library-B1u2_Hca.png) center/cover no-repeat;filter:blur(27px) saturate(.9) brightness(.82)}#world{position:absolute;z-index:0;inset:0;width:100%;height:100%;display:block;touch-action:none}.vignette{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(12,13,19,.84),rgba(12,13,19,.26) 38%,transparent 69%),linear-gradient(0deg,rgba(8,10,16,.76),transparent 25%,transparent 77%,rgba(7,9,15,.32))}#app[data-scene=canyon] .vignette{background:linear-gradient(90deg,rgba(21,31,43,.86),rgba(21,31,43,.2) 38%,transparent 72%),linear-gradient(0deg,rgba(21,31,43,.55),transparent 25%,transparent 85%,rgba(21,31,43,.2))}.scene-transition{position:absolute;inset:0;z-index:15;background:#14131b;opacity:0;pointer-events:none;transition:opacity .48s ease}.scene-transition.is-dark{opacity:1}.topbar{position:absolute;top:0;left:0;right:0;z-index:9;display:flex;align-items:center;justify-content:space-between;padding:27px clamp(23px,4.8vw,82px);gap:20px}.brand{display:flex;gap:12px;align-items:center;color:#fff7eb;text-decoration:none;font-family:Fraunces,serif;font-size:23px;letter-spacing:-.055em;line-height:1}.brand i{font-weight:300}.brand-mark{font-family:serif;font-size:37px;color:#e8b879;font-weight:400;line-height:0}.top-note{font-size:10px;color:#dbc3a5;letter-spacing:.22em;font-weight:700;opacity:.7}.sound-button{border:1px solid rgba(243,221,188,.25);border-radius:99px;color:#fff1dc;background:#14171d57;padding:10px 17px;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);white-space:nowrap}.sound-button span{font-size:11px;margin-left:7px;letter-spacing:.07em}.intro{position:absolute;z-index:4;left:clamp(26px,8vw,150px);top:50%;transform:translateY(-45%);width:min(560px,48vw);max-height:calc(100dvh - 126px);overflow:auto;scrollbar-width:none}.intro::-webkit-scrollbar{display:none}.eyebrow{display:flex;align-items:center;gap:14px;color:#e7bb82;font-size:10px;letter-spacing:.19em;font-weight:700}.eyebrow span{display:block;width:27px;height:1px;background:#e7bb82}.intro h1,.ending h2{font-family:Fraunces,serif;font-size:clamp(65px,6.6vw,112px);line-height:.98;letter-spacing:-.073em;font-weight:300;margin:24px 0;text-wrap:balance;text-shadow:0 4px 35px rgba(0,0,0,.24)}.intro h1 em,.ending h2 em{color:#efc18b;font-weight:300}.intro-copy{font-size:15px;line-height:1.72;color:#d8d1c9;max-width:395px;margin:0 0 29px}.world-form{margin-bottom:25px}.world-form label,.field-label{display:block;color:#ecc695;font-size:10px;letter-spacing:.15em;font-weight:700;margin:0 0 10px}.world-form input{display:block;width:min(370px,100%);padding:14px 15px;border:1px solid rgba(233,213,184,.32);border-radius:3px;color:#fff7e9;background:#11131980;margin:0 0 20px;outline:none;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.world-form input::placeholder{color:#aea8a1}.world-form input:focus{border-color:#e6be88}.seed-options{display:flex;flex-wrap:wrap;gap:8px}.seed-options button{border:1px solid rgba(232,217,190,.27);background:#14181d8a;color:#e0d7ce;padding:10px 14px;border-radius:3px;font-size:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:background .2s,border-color .2s}.seed-options button:hover,.seed-options button[aria-pressed=true]{border-color:#e8c18a;background:#b7824c3b;color:#fff}.primary-button{display:inline-flex;justify-content:space-between;align-items:center;gap:33px;min-width:200px;border:0;border-radius:3px;padding:16px 20px;color:#2d2522;background:#eac394;text-align:left;font-size:12px;font-weight:700;letter-spacing:.06em;transition:background .2s,transform .2s}.primary-button:hover{background:#f8d7a9;transform:translateY(-2px)}.primary-button span{font-size:19px;font-weight:400;line-height:11px}.intro-footnote{font-size:9px;letter-spacing:.14em;color:#c9bba8;opacity:.7;margin-top:28px;font-weight:700}.location-heading{position:absolute;z-index:4;top:100px;left:clamp(26px,4.8vw,82px);display:flex;flex-direction:column;gap:7px;text-shadow:0 2px 10px #13131a}.location-heading span{font-size:10px;color:#e8bb83;letter-spacing:.21em;font-weight:700}.location-heading strong{font-family:Fraunces,serif;font-size:27px;font-weight:300;letter-spacing:-.04em}.tour-panel{position:absolute;z-index:4;left:clamp(26px,4.8vw,82px);top:50%;transform:translateY(-38%);width:min(365px,34vw);padding:23px 25px 26px;background:#14161dcf;border:1px solid rgba(237,215,182,.28);box-shadow:0 28px 90px #0000003d;-webkit-backdrop-filter:blur(27px);backdrop-filter:blur(27px);transition:opacity .35s,transform .35s}.tour-panel.is-closed{opacity:0;pointer-events:none;transform:translate(-20px,-38%)}.panel-top{display:flex;justify-content:space-between;align-items:center;color:#e4b986;font-size:10px;font-weight:700;letter-spacing:.16em;padding-bottom:24px;border-bottom:1px solid rgba(235,210,175,.2)}.panel-top button{border:0;background:none;color:#e9e0d4;font-size:25px;line-height:15px;padding:0}.stop-kicker{display:block;color:#e5b781;font-size:10px;letter-spacing:.17em;font-weight:700;margin-top:26px}.tour-panel h2{font-family:Fraunces,serif;font-size:clamp(34px,3vw,50px);font-weight:300;letter-spacing:-.06em;line-height:1.08;margin:12px 0 18px}.tour-panel p{color:#d0ceca;font-size:13px;line-height:1.8;margin:0 0 28px}.panel-actions{display:flex;flex-direction:column;align-items:flex-start;gap:18px;padding-top:23px;border-top:1px solid rgba(235,210,175,.18)}.panel-actions .primary-button{min-width:100%;padding:13px 15px}.panel-actions .primary-button:disabled{background:#81715f;color:#ddd0bc;cursor:not-allowed;transform:none}.theatre-target{font-family:Georgia,serif;font-size:37px;letter-spacing:.12em;color:#f1cd91;text-align:center;padding:12px 0;border:1px solid rgba(234,194,143,.28);background:#e7ad6314;margin:-8px 0 14px}.game-status{min-height:20px;font-size:12px;color:#eac18e;margin:0 0 14px}.direction-pad{display:flex;flex-direction:column;align-items:center;gap:5px;margin:-5px 0 12px}.direction-pad span{display:flex;gap:5px}.direction-pad button{width:46px;height:42px;border:1px solid rgba(234,194,143,.45);border-radius:4px;background:#eac28f21;color:#f2d2a6;font-size:22px;line-height:1;touch-action:manipulation}.direction-pad button:hover,.direction-pad button:active{background:#eac28f54}.scene-tabs button:disabled{opacity:.45;cursor:not-allowed}.quiet-button{border:0;background:none;color:#e2c19a;font-size:12px;letter-spacing:.03em;padding:0}.quiet-button:hover{text-decoration:underline}.show-panel{position:absolute;z-index:5;left:clamp(26px,4.8vw,82px);bottom:114px;border:1px solid rgba(239,215,185,.4);border-radius:3px;background:#14161dc2;color:#ffe2b9;padding:11px 15px;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);font-size:12px}.tour-bottom{position:absolute;z-index:5;left:clamp(26px,4.8vw,82px);right:clamp(26px,4.8vw,82px);bottom:31px;display:flex;justify-content:space-between;align-items:center;gap:15px}.scene-tabs{display:flex;gap:12px;align-items:center}.scene-tabs button{border:1px solid rgba(236,216,181,.24);background:#11141a99;color:#cfc8be;padding:11px 15px;border-radius:2px;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);font-size:12px;white-space:nowrap}.scene-tabs button[aria-current=true],.scene-tabs button:hover{color:#fff5e8;border-color:#e2b681;background:#4f362ac2}.scene-tabs button span{color:#e9c08a;font-size:10px;font-weight:700;margin-right:8px}.journey-line{width:40px;height:1px;background:#eac28f8c}.control-hint{font-size:10px;color:#d7c3a7;letter-spacing:.13em;font-weight:700;text-shadow:0 2px 9px #12151a}.ending{position:absolute;inset:0;z-index:6;background:linear-gradient(90deg,#0e1017f5,#0e1017a6 55%,#0e101721)}.ending-inner{position:absolute;top:50%;left:clamp(26px,8vw,150px);transform:translateY(-46%);width:min(590px,65vw)}.ending h2{font-size:clamp(65px,6.5vw,105px)}.ending p{color:#d8d0c8;line-height:1.7;font-size:15px;max-width:430px;margin:0 0 28px}.end-actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:27px}.outline-button{border:1px solid rgba(235,204,166,.63);border-radius:3px;background:#1c1c2366;color:#f4d1a2;padding:15px 19px;font-size:12px;font-weight:700;letter-spacing:.05em}.share-feedback{display:block;color:#e8be8b;font-size:12px;min-height:20px;margin-top:17px}.loading{position:absolute;inset:0;z-index:20;display:flex;justify-content:center;align-items:center;flex-direction:column;gap:12px;background:#15141c;color:#eac796;transition:opacity .65s}.loading.is-gone{opacity:0;pointer-events:none}.loading span{font-family:serif;font-size:52px;animation:spin 6s linear infinite}.loading small{font-size:10px;letter-spacing:.2em;font-weight:700}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:800px){.topbar{padding:18px 22px}.brand{font-size:18px}.brand-mark{font-size:29px}.top-note{display:none}.sound-button{padding:8px 11px}.sound-button span{display:none}.vignette{background:linear-gradient(0deg,#090b11f0,#090b1166 60%,#090b111f),linear-gradient(90deg,rgba(9,11,17,.45),transparent 85%)}.intro{inset:auto 24px 45px;transform:none;width:auto;max-height:calc(100dvh - 122px)}.intro h1{font-size:clamp(58px,12vw,84px);margin:15px 0}.intro-copy{font-size:13px;margin-bottom:17px;max-width:355px}.world-form{margin-bottom:15px}.world-form input{margin-bottom:13px;padding:11px}.seed-options button{font-size:11px;padding:8px 10px}.primary-button{padding:13px 17px}.intro-footnote{display:none}.location-heading{top:73px;left:22px}.location-heading strong{font-size:21px}.tour-panel{inset:auto 16px 91px;transform:none;width:auto;padding:16px 19px 18px;max-height:min(50dvh,390px);overflow:auto}.tour-panel.is-closed{transform:translateY(20px)}.panel-top{padding-bottom:13px}.stop-kicker{margin-top:15px}.tour-panel h2{font-size:33px;margin:8px 0 10px}.tour-panel p{font-size:12px;line-height:1.55;margin-bottom:14px}.panel-actions{padding-top:13px;gap:11px}.panel-actions .primary-button{min-width:0;width:100%}.theatre-target{font-size:29px;padding:5px 0;margin:-2px 0 8px}.game-status{font-size:11px;margin-bottom:7px}.direction-pad button{width:43px;height:36px}.direction-pad{margin:0 0 4px}.show-panel{left:17px;bottom:94px}.tour-bottom{left:16px;right:16px;bottom:19px}.scene-tabs{gap:5px}.scene-tabs button{padding:10px;font-size:10px}.scene-tabs button span{margin-right:4px}.journey-line{width:15px}.control-hint{display:none}#app[data-scene=canyon] .tour-panel{padding:11px 16px 10px;max-height:none}#app[data-scene=canyon] .panel-top{padding-bottom:7px}#app[data-scene=canyon] .stop-kicker,#app[data-scene=canyon] .tour-panel h2,#app[data-scene=canyon] #stop-copy,#app[data-scene=canyon] .panel-actions{display:none}#app[data-scene=canyon] .game-status{margin:9px 0 5px;text-align:center}#app[data-scene=canyon] .direction-pad{gap:2px;margin:0}#app[data-scene=canyon] .direction-pad button{height:33px;width:43px}.ending-inner{left:24px;right:24px;width:auto}.ending h2{font-size:clamp(57px,12vw,84px)}.ending p{font-size:13px}.end-actions{flex-direction:column;align-items:flex-start}}@media(max-height:700px)and (min-width:801px){.intro h1{font-size:70px}.intro-copy{margin-bottom:15px}.intro-footnote{display:none}.tour-panel{transform:translateY(-35%);padding:17px 20px}.panel-top{padding-bottom:15px}.stop-kicker{margin-top:17px}.tour-panel h2{font-size:35px;margin:7px 0}.tour-panel p{margin-bottom:14px}.panel-actions{padding-top:14px}}
