@charset "UTF-8";
:root{color-scheme:dark;--cream:#f6efd9;--dim:#c9cbb9;--gold:#dfbd76;--forest:#142c24;--panel:#14251fe8;--line:#d2c39a3b;font-family:Arial,Helvetica,sans-serif;color:var(--cream);font-synthesis:none}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#1c332b}button,a,input,select{-webkit-tap-highlight-color:transparent}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:5px}button{color:inherit}button:disabled{opacity:.5;cursor:wait}[hidden]{display:none!important}h1,h2,h3,p{margin:0}button{border:0}#game,#world,.vignette{position:absolute;inset:0;width:100%;height:100%}#world{display:block;outline:none;touch-action:none}.vignette{pointer-events:none;background:radial-gradient(ellipse at 55% 45%,transparent 35%,#0b1a1845 100%);z-index:1}.eyebrow{text-transform:uppercase;letter-spacing:2.1px;font-size:10px;line-height:1.7;color:var(--gold);font-weight:600}.loading{position:fixed;inset:0;background:#172d27;z-index:30;display:flex;flex-direction:column;gap:25px;align-items:center;justify-content:center;font-size:12px;letter-spacing:2px}.sun-mark{font:70px Georgia;color:var(--gold);animation:breathe 2s ease-in-out infinite}@keyframes breathe{50%{opacity:.35;transform:scale(.9)}}.menu{position:absolute;inset:0;z-index:10;display:flex;align-items:center}.menu-shade{position:absolute;inset:0;background:linear-gradient(90deg,#102820f0,#132a23c9 33%,#17352e25 70%,#0c201926)}.menu-content{position:relative;margin:4vh 0 0 7vw;max-width:620px}.ornament{display:block;font:42px Georgia;color:var(--gold);margin:24px 0 18px}.menu h1{font:clamp(58px,6.4vw,100px)/.98 Georgia,'Times New Roman',serif;letter-spacing:-3px;text-shadow:0 4px 30px #0c211e88}.menu h1 em{font-weight:400;color:#e3c993}.menu-subtitle{font:18px Georgia;margin-top:25px;letter-spacing:.8px}.fine-rule{width:70px;height:1px;background:var(--gold);margin:24px 0}.menu-copy{font:15px/1.9 Georgia;color:#dbdfcc;margin-bottom:26px}.primary{display:flex;align-items:center;justify-content:space-between;gap:45px;background:var(--cream);color:#1b3128;padding:17px 25px;border:1px solid #f9f4e5;font-size:12px;letter-spacing:1px;text-align:left;min-width:260px;transition:background .2s,transform .2s}.primary:hover{background:#e9cf97;transform:translateY(-1px)}.primary span{font-size:20px}.text-button{background:transparent;border-bottom:1px solid #dfbd7655;padding:8px 0;color:var(--cream);font-size:12px;text-align:left}.text-button:hover{color:var(--gold)}#resume{margin:12px 0 0}.menu-links{display:flex;align-items:center;gap:16px;margin-top:15px;color:var(--gold)}.build-note{font-size:8px;letter-spacing:1.5px;line-height:1.9;color:#aebfb0;margin-top:27px}.report-link{position:absolute;bottom:24px;left:7vw;font-size:10px;color:#d7ddca;text-decoration:none;letter-spacing:.5px}.menu-corner{position:absolute;bottom:24px;right:30px;font-size:8px;letter-spacing:2px;color:#c9d3be}
#hud{position:absolute;inset:0;z-index:2;pointer-events:none}#hud button,#hud a{pointer-events:auto}.hud-header{display:flex;align-items:center;gap:22px;padding:25px 35px;background:linear-gradient(#10251fb5,transparent)}.brand-button{font:39px Georgia;background:transparent;color:var(--gold);padding:0 6px}.chapter-heading h2{font:clamp(20px,2.3vw,31px)/1.25 Georgia;margin-top:4px;text-shadow:0 2px 5px #172d27}.hud-tools{display:flex;gap:14px;margin-left:auto;align-items:center}.icon-button{padding:11px 14px;background:#12281e75;border:1px solid #d2c39a40;font-size:11px;letter-spacing:.5px;backdrop-filter:blur(10px)}kbd{font:9px Arial,sans-serif;border:1px solid #d5d0b559;padding:3px 5px;border-radius:3px;white-space:nowrap;color:#e7dfc5}.hud-tools kbd{margin-left:8px}.objective-card{position:absolute;left:35px;top:138px;width:285px;padding:19px 21px;background:linear-gradient(120deg,#172c24e8,#192b22bb);border:1px solid var(--line);backdrop-filter:blur(12px)}.objective-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}#objective-count{font-size:10px;color:var(--dim)}.objective-line{display:flex;gap:10px;align-items:flex-start}.objective-diamond{font-size:22px;line-height:1;color:var(--gold)}.objective-line h3{font:18px/1.3 Georgia}.objective-card>p{font-size:11px;line-height:1.7;color:var(--dim);margin:11px 0 18px}.progress-track{height:2px;background:#bdc3a32e}.progress-track span{display:block;height:100%;background:var(--gold);transition:width .6s}.waypoint{position:absolute;text-align:center;transform:translate(-50%,-50%);filter:drop-shadow(0 2px 3px #15231e)}.waypoint>span{font:36px Georgia;color:#ffe2a1;display:block;line-height:1}.waypoint small{font-size:10px;color:#fff5db}.crosshair{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:36px;text-shadow:0 1px 3px #172d27}.interaction{position:absolute;bottom:155px;left:50%;transform:translateX(-50%);min-width:220px;background:#152b23ed;border:1px solid #d9c58c99;text-align:center;backdrop-filter:blur(10px)}.interaction button{background:none;padding:15px 22px;font-size:12px;display:flex;align-items:center;justify-content:center;gap:13px;width:100%}.interaction kbd{font-size:12px;color:var(--gold);padding:5px 8px}.interaction>div{height:3px;background:var(--gold);width:0}.hud-footer{position:absolute;bottom:0;width:100%;padding:30px 35px 23px;display:flex;justify-content:space-between;align-items:flex-end;gap:20px;background:linear-gradient(transparent,#0b211bc2)}#control-hint{display:flex;gap:10px;align-items:center;font-size:10px;color:var(--dim)}#control-hint>span{opacity:.5}.camera-switch{display:flex;border:1px solid #b3ba964f;background:#1b3028ba;backdrop-filter:blur(10px)}.camera-switch button{padding:11px 14px;background:none;color:var(--dim);font-size:10px}.camera-switch button.active{background:#f1e7cb;color:#23382c}.camera-switch button.active kbd{border-color:#23382c55;color:#23382c}.camera-switch kbd{margin-left:6px}.dialogue{position:absolute;left:24px;top:136px;bottom:auto;width:min(360px,calc(100% - 48px));transform:none;padding:24px 33px 17px;background:linear-gradient(120deg,#13281ff7,#21382cf0);border-top:1px solid #d9bd76;border-bottom:1px solid #d9bd7655;backdrop-filter:blur(16px);pointer-events:auto}.dialogue>p:nth-child(2){font:clamp(18px,2.1vw,25px)/1.5 Georgia;margin:10px 0 17px;color:#fff5dc}.dialogue-footer{display:flex;justify-content:space-between;align-items:center;gap:12px}.dialogue-footer>span{font-size:9px;color:#b9c5ad}#next-line{background:none;color:var(--gold);padding:6px 0;font-size:11px}#next-line kbd{margin-left:8px}.chapter-banner{position:absolute;top:116px;left:24px;transform:none;width:min(340px,calc(100% - 48px));text-align:left;animation:reveal 4.5s both;text-shadow:0 2px 20px #0c211e}.chapter-banner h2{font:clamp(18px,2vw,24px) Georgia;margin:6px 0}.chapter-banner>p{font-size:12px;color:#e1e5ce}@keyframes reveal{0%{opacity:0;filter:blur(8px)}15%,70%{opacity:1;filter:none}100%{opacity:0}}.chapter-complete{position:absolute;right:35px;bottom:115px;width:370px;padding:28px 29px;background:#172d25f5;border:1px solid var(--line);pointer-events:auto;backdrop-filter:blur(15px)}.chapter-complete h2{font:29px/1.2 Georgia;margin:12px 0 15px}.chapter-complete>p:not(.eyebrow){font:15px/1.7 Georgia;color:#d4dcc3;margin-bottom:23px}.chapter-complete .primary{width:100%;min-width:0}.chapter-complete .text-button{margin-top:12px}.toast{position:absolute;top:100px;left:50%;transform:translateX(-50%);padding:12px 22px;background:#162c25f0;border:1px solid var(--line);font-size:11px;color:var(--cream);max-width:90%;text-align:center}
dialog{color:var(--cream);background:#172d25;border:1px solid #a9ac7a66;padding:0;box-shadow:0 30px 150px #061610;max-height:86vh;width:min(880px,calc(100% - 40px));z-index:20}dialog::backdrop{background:#071f17b5;backdrop-filter:blur(6px)}.dialog-header{padding:28px 30px 19px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.dialog-header h2{font:34px Georgia;margin-top:5px}.close-button{font-size:30px;background:none;padding:5px;color:var(--dim);line-height:1}.journal-tabs{display:flex;gap:25px;padding:0 30px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#172d25;z-index:1}.journal-tabs button{background:none;padding:17px 0;font-size:11px;color:var(--dim);border-bottom:2px solid transparent}.journal-tabs button.active{color:var(--gold);border-bottom-color:var(--gold)}#journal-content{padding:17px 30px;min-height:170px}.chapter-list{display:grid;grid-template-columns:1fr 1fr;gap:8px}.chapter-choice{display:flex;gap:14px;text-align:left;background:#d9ddba08;border:1px solid #c0c4a42c;padding:13px;color:var(--cream);align-items:center}.chapter-choice:hover,.chapter-choice.current{border-color:var(--gold);background:#d4cc9910}.chapter-choice>span{font:22px Georgia;color:#cdb67f;min-width:28px}.chapter-choice strong{display:block;font:16px/1.3 Georgia;font-weight:400}.chapter-choice small{display:block;font-size:9px;color:#b4c1a5;margin-top:5px;line-height:1.6}.chapter-choice .tick{color:#b4d79d;font-size:16px;margin-left:auto;min-width:0}.journal-section-heading{font:21px Georgia;color:var(--gold);margin:20px 0 15px;grid-column:1/-1}.journal-footnote{padding:19px 30px;font-size:10px;line-height:1.7;color:#a9ba9f;border-top:1px solid var(--line)}.history-title{font:27px Georgia;margin:13px 0}.history-copy{font:17px/1.8 Georgia;color:#d6dfc6;margin:18px 0}.source-links{padding:0;list-style:none;margin:20px 0}.source-links li{margin:10px 0}.source-links a{color:var(--gold);font-size:12px;text-underline-offset:4px}.history-status{font-size:10px;color:#bac8ae;line-height:1.8}.cast-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.cast-card{padding:17px;border:1px solid var(--line);background:#e4daa306}.cast-card h3{font:19px Georgia}.cast-card p{font-size:11px;line-height:1.7;color:#b7c5aa;margin:9px 0}.cast-card small{font-size:9px;color:var(--gold)}.settings{width:min(600px,calc(100% - 35px));padding-bottom:25px}.setting-row{display:flex;justify-content:space-between;align-items:center;padding:17px 30px;border-bottom:1px solid var(--line);font-size:13px;gap:15px}.setting-row small{display:block;font-size:10px;color:#a5b99e;margin-top:6px}.setting-row input[type=checkbox]{accent-color:var(--gold);width:18px;height:18px}.setting-row input[type=range]{accent-color:var(--gold);width:130px}.setting-row select{background:#203c2d;color:var(--cream);padding:6px;border:1px solid #c1ba8e66}.control-list{margin:23px 30px;font-size:11px;line-height:2.4;color:#c9d2bb}.settings>.text-button{margin:0 30px}.danger{color:#e3a797}.small-note{margin:22px 30px 0;font-size:10px;line-height:1.8;color:#a3b69a}.fatal{position:fixed;inset:0;background:#172d27;z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:25px;padding:30px;text-align:center}.fatal h1{font:36px Georgia}.fatal p{max-width:700px;line-height:1.7}.fatal a{color:var(--gold)}.fatal button{padding:12px 25px;background:var(--cream);color:var(--forest)}.touch-controls{display:none}.inspecting .vignette{background:radial-gradient(ellipse at center,transparent 15%,#0b1a1888)}
@media(max-width:900px){.hud-header{padding:18px 22px;gap:12px}.objective-card{left:22px;top:112px;width:245px;padding:15px}.hud-footer{padding:20px 22px}.hud-tools{gap:7px}.icon-button{padding:9px}.chapter-complete{right:22px;width:325px}.menu-content{margin-left:7vw}.menu-corner{display:none}#control-hint{font-size:9px;gap:5px}.camera-switch button{padding:10px}.camera-switch kbd{display:none}}@media(max-height:750px) and (min-width:650px){.menu-content{margin-top:0}.ornament{margin:15px 0 10px;font-size:28px}.menu h1{font-size:72px}.menu-subtitle{margin-top:15px}.fine-rule{margin:17px 0}.menu-copy{font-size:13px;margin-bottom:18px}.build-note{margin-top:17px}.objective-card{top:110px}.dialogue{bottom:70px;padding:16px 25px}.dialogue>p:nth-child(2){font-size:20px;margin-bottom:12px}}
@media(max-width:600px){.menu-content{margin:0 24px;max-width:90%}.menu h1{font-size:64px;letter-spacing:-2px}.menu .eyebrow{font-size:8px}.ornament{font-size:29px;margin:20px 0 16px}.menu-subtitle{font-size:16px;margin-top:20px}.fine-rule{margin:20px 0}.menu-copy{font-size:13px}.build-note{font-size:7px;letter-spacing:1px}.menu-links{gap:12px}.menu-links button{font-size:11px}.report-link{left:24px;bottom:18px;font-size:9px}.hud-header{padding:15px 15px;gap:10px}.brand-button{font-size:30px}.chapter-heading h2{font-size:18px;max-width:225px}.chapter-heading .eyebrow{font-size:7px;letter-spacing:1px}.hud-tools kbd{display:none}.hud-tools{gap:5px}.icon-button{font-size:9px;padding:8px}.objective-card{top:92px;left:15px;max-width:65%;width:245px;padding:13px 15px}.objective-line h3{font-size:16px}.objective-card>p{font-size:10px;margin-bottom:11px}.objective-top{margin-bottom:8px}.objective-top .eyebrow{font-size:8px}.hud-footer{padding:15px;align-items:end}#control-hint{display:none}.camera-switch{margin-left:auto}.camera-switch button{font-size:9px;padding:10px}.dialogue{bottom:135px;width:calc(100% - 30px);padding:17px 20px}.dialogue>p:nth-child(2){font-size:18px}.dialogue-footer>span{font-size:8px;max-width:150px}#next-line{font-size:10px}#next-line kbd{display:none}.interaction{bottom:195px;min-width:180px}.interaction button{font-size:11px;padding:11px}.chapter-complete{right:15px;left:15px;width:auto;bottom:140px;padding:22px}.chapter-complete h2{font-size:25px}.chapter-complete>p:not(.eyebrow){font-size:14px;margin-bottom:16px}.dialog-header{padding:22px 20px 17px}.journal-tabs{padding:0 20px;gap:20px}#journal-content{padding:15px 20px}.chapter-list,.cast-grid{grid-template-columns:1fr}.chapter-choice strong{font-size:16px}.journal-footnote{padding:16px 20px;font-size:9px}.dialog-header h2{font-size:29px}.setting-row{padding:15px 20px;font-size:12px}.control-list{margin:20px;font-size:10px}.touch-controls{display:flex;position:absolute;bottom:65px;left:15px;right:15px;justify-content:space-between;align-items:end;pointer-events:none}.touch-controls button{width:42px;height:38px;background:#182e24c9;border:1px solid #d3c58b66;pointer-events:auto;touch-action:none;font-size:18px}.touch-walk{text-align:center}.touch-walk>div{display:flex;gap:4px;margin-top:4px}#touch-act{border-radius:50%;width:63px;height:63px;color:var(--gold);font-size:12px;margin:0 2px 7px}.chapter-banner{top:48%}.chapter-banner h2{font-size:32px}.toast{font-size:10px;top:auto;bottom:245px}.menu-shade{background:linear-gradient(90deg,#102820ed,#132a23c7 65%,#17352e55)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

/* Touch locomotion shares the existing interaction controls. */
#touch-jump{width:64px;height:50px;font-size:13px}
