:root{font-family:Georgia,serif;color:#efdab3;background:#050a0b;color-scheme:dark}
*{box-sizing:border-box}body{margin:0;overflow:hidden}button,select,summary{font:12px ui-monospace,monospace}
#forge{width:100vw;height:100dvh;touch-action:none}canvas{display:block}
header{position:fixed;inset:22px 28px auto;display:flex;justify-content:space-between;gap:20px;pointer-events:none}
h1{font:700 19px/1.5 ui-monospace,monospace;color:#f1c874;margin:7px 0}
p{line-height:1.5;margin:5px 0}.eyebrow{font:10px/1.5 ui-monospace,monospace;letter-spacing:.14em;color:#b7a481}.eyebrow span{padding:0 6px}
#status{font:11px/1.4 ui-monospace,monospace;color:#92988b}nav{display:flex;align-items:start;gap:6px;pointer-events:auto}
button,select{background:#111914e8;border:1px solid #685532;color:#e8d5ae;padding:8px 11px;border-radius:2px;cursor:pointer}
button:hover{background:#293027;border-color:#d4a856}button:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid #eac478;outline-offset:3px}
button:disabled{opacity:.6;cursor:default}[hidden]{display:none!important}
#project{position:fixed;left:28px;bottom:73px;width:285px;padding:15px 17px;background:linear-gradient(110deg,#0b1310f2,#101713cf);border-left:2px solid #937242;box-shadow:0 8px 40px #0005}
#project h2{font-size:18px;font-weight:400;margin:4px 0 7px;color:#eed09a}#project-copy{font-size:13px;color:#c6c4b4;line-height:1.5}
#project-steps{display:flex;align-items:center;gap:9px;font:10px/1.7 ui-monospace,monospace;color:#808d83;margin-top:9px}
#project-steps i{font-style:normal;color:#544f3d}#project-steps .done{color:#91b398}#project-steps .current{color:#f1cc83}
.quiet-action{border:0;background:transparent;padding:8px 0 0;color:#ead09a;text-align:left}.quiet-action:hover{background:transparent;color:#fff0c6}.quiet-action span{margin-left:8px}
#dialogue{position:fixed;right:28px;bottom:73px;width:330px;padding:23px;background:#101713f7;border:1px solid #887047;box-shadow:0 12px 65px #0009;border-radius:3px;max-height:calc(100dvh - 155px);overflow:auto}
#dialogue h2{font-size:28px;margin:5px 0 12px;color:#f5cf86}#speech{min-height:60px;font-size:16px;color:#d8d4c3}
#close{position:absolute;right:9px;top:7px;border:0;background:transparent;font-size:22px;padding:0 7px}
#questions{display:grid;gap:6px;margin:16px 0 12px}#questions button{text-align:left;font:12px/1.4 ui-monospace,monospace}
.primary,.secondary{width:100%;text-align:left;font-weight:600}.primary{background:#80622e;color:#fff0ce;border-color:#bc9450}.secondary{margin-top:7px;background:transparent;font-weight:400;border-color:#435044}
#worker-state{font:10px/1.5 ui-monospace,monospace;color:#9fa790;margin-top:12px}
#nameplate{position:fixed;pointer-events:none;padding:5px 9px;background:#0b1412ef;border:1px solid #9e7f4a;color:#f4d699;font:12px ui-monospace,monospace;transform:translate(-50%,-100%);white-space:nowrap;box-shadow:0 4px 12px #0008}
footer{position:fixed;inset:auto 28px 20px;display:flex;align-items:end;gap:20px;justify-content:space-between;font:11px/1.5 ui-monospace,monospace;color:#aab1a0;pointer-events:none}
footer details{pointer-events:auto;text-align:right;position:relative}footer summary{cursor:pointer;color:#d5c59f}.options-panel{position:absolute;right:0;bottom:30px;width:265px;padding:15px;background:#101713fa;border:1px solid #685532;text-align:left;box-shadow:0 8px 30px #0008}
.options-panel button{width:100%;margin-bottom:13px}.options-panel label{display:block}.options-panel select{margin-left:8px;padding:5px}.options-panel p{font-size:10px;color:#999f91;margin-top:10px}
.keys{opacity:.65}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:1050px){nav{gap:4px}nav button{font-size:10px;padding:7px}header{inset:18px 22px auto}#project{left:22px;width:254px;padding:12px 14px}#dialogue{right:22px;width:300px}footer{left:22px;right:22px}.keys{display:none}}
@media(max-width:760px){header{inset:14px 15px auto;display:block}h1{font-size:15px;margin:4px 0}#status{font-size:9px}nav{margin-top:9px;gap:5px}nav button{font-size:10px;padding:7px 8px}#full{display:none}footer{inset:auto 15px 12px;font-size:10px;gap:10px}#hint{max-width:62%}#project{left:15px;right:15px;bottom:58px;width:auto;padding:10px 13px;max-width:330px}#project h2{font-size:16px;margin:2px 0}#project-copy{font-size:12px;margin-bottom:2px}#project-steps{margin-top:5px}.eyebrow{font-size:9px}#dialogue{right:15px;left:15px;bottom:57px;width:auto;padding:18px;max-height:calc(100dvh - 200px)}#dialogue h2{font-size:24px;margin-bottom:7px}#speech{font-size:15px;min-height:0}#questions{margin:11px 0 8px}body.conversing #project{display:none}#nameplate{font-size:11px}}
@media(max-width:390px){nav{gap:4px}nav button{font-size:9px;padding:6px}}

/* One predictable lower-screen channel: objective while walking, subtitles
   while talking. The camera reserves this measured band for the interface. */
#project{left:50%;right:auto;transform:translateX(-50%);bottom:62px;width:min(650px,calc(100vw - 36px));max-width:none;padding:10px 18px;display:grid;grid-template-columns:1fr auto;column-gap:22px;border:1px solid #665436;background:linear-gradient(110deg,#101913ed,#0a1210ed)}
#project .eyebrow,#project h2,#project-copy{grid-column:1}#project h2{font-size:17px;margin:1px 0}#project-copy{font-size:12px;margin:2px 0}#project-steps{grid-column:2;grid-row:1/3;margin:0;align-self:center}#next{grid-column:2;grid-row:3;padding:4px 0;align-self:center}
#dialogue{left:50%;right:auto;transform:translateX(-50%);bottom:62px;width:min(850px,calc(100vw - 36px));padding:16px 23px 12px;max-height:48dvh;background:linear-gradient(110deg,#111b15fa,#0a1311f7);border:1px solid #a08048;border-top:2px solid #c59e55;box-shadow:0 8px 40px #0009;z-index:15}
#dialogue h2{display:inline-block;font-size:24px;margin:0 12px 3px 0}#worker-role{display:inline-block;margin:0 35px 0 0;font-size:10px}#speech{font-size:17px;line-height:1.45;min-height:50px;margin:6px 0 9px;max-width:740px}#questions{display:flex;flex-wrap:wrap;gap:5px;margin:8px 0}#questions>button{font:11px/1.4 ui-monospace,monospace;padding:6px 9px;background:#18221a9c;border-color:#4f593f}.recipe-choices{display:flex;gap:5px;width:100%;margin-bottom:3px}.recipe-choices button{font-size:12px;padding:8px 13px}.recipe-choices button[aria-pressed=true]{border-color:#d8b56d;background:#49432a;color:#ffe8aa}#dialogue .primary{width:auto;min-width:200px;text-align:center;padding:10px 17px}#dialogue .secondary{width:auto;margin:0 0 0 9px;padding:8px 11px;border:0;color:#bdc4ad;font-size:10px}#worker-state{display:block;margin:7px 0 0;font-size:9px;opacity:.8}
body.conversing #project,body.conversing #room-note,body.conversing #nameplate,body.conversing #ambient-caption{display:none!important}
@media(max-width:760px){#project{bottom:58px;padding:9px 13px;column-gap:12px}#project-copy{max-width:250px}#project-steps{gap:4px;font-size:9px}#next{font-size:10px}#dialogue{bottom:58px;padding:12px 15px 10px;max-height:44dvh}#dialogue h2{font-size:21px}#worker-role{font-size:9px}#speech{font-size:15px;min-height:64px;margin:4px 0 7px}#questions>button{font-size:10px;padding:5px 7px}#dialogue .primary{font-size:11px;min-width:0;padding:8px 12px}#dialogue .secondary{font-size:9px;margin-left:4px;padding:5px 0}.recipe-choices button{font-size:11px;padding:7px 10px}#worker-state{font-size:8px}body.conversing #status{visibility:hidden}}
@media(max-width:470px){#project{display:block}#project-steps{display:inline-flex;margin-top:4px}#next{float:right;padding-top:5px}#project-copy{max-width:none}#dialogue .secondary{display:block;margin:5px 0 0}}
#finish-line{float:right;border:0;background:transparent;color:#b4b998;font-size:9px;padding:0 0 4px 8px}#finish-line:disabled{visibility:hidden}#questions{clear:both}
@media(max-width:760px){#speech{min-height:88px}#finish-line{font-size:8px}}
@media(max-height:560px) and (min-width:761px){header{inset:8px 18px auto}header .eyebrow,#status{display:none}h1{font-size:14px}#dialogue{bottom:35px;max-height:40dvh;padding:10px 16px}footer{bottom:8px}#project{bottom:35px}#camera-controls{top:48px}#speech{font-size:14px;min-height:40px}#questions{margin:5px 0}}
