:root{color-scheme:dark;--ink:#fff4db;--muted:#c6d5bf;--gold:#ecc17c;--panel:#143c32ee;--line:#c1d5a536;font:14px Arial,sans-serif}*{box-sizing:border-box}body{margin:0;overflow:hidden;background:#9bcfc5;color:var(--ink)}[hidden]{display:none!important}button,input{font:inherit}button{cursor:pointer;touch-action:manipulation}button:focus-visible,label:focus-within,canvas:focus-visible{outline:3px solid #ffe3a6;outline-offset:3px}canvas{display:block;width:100vw;height:100dvh;outline:none!important}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Georgia,serif;font-weight:normal}h1{font-size:52px;line-height:1.04;letter-spacing:-.03em;margin-bottom:22px}h1 em{color:var(--gold);font-style:normal}h2{font-size:28px;line-height:1.15;margin-bottom:14px}h3{font-size:21px;margin-bottom:12px}p{line-height:1.75;color:var(--muted)}.eyebrow{font-size:9px;letter-spacing:.19em;color:var(--gold);font-weight:bold;line-height:1.7}.fine{font-size:11px}.hud{position:fixed;z-index:2;pointer-events:auto}.top{left:22px;right:22px;top:18px;display:flex;align-items:start;justify-content:space-between;gap:20px;pointer-events:none}.top>*{pointer-events:auto}.identity{padding:16px 20px;border:1px solid var(--line);border-radius:12px;background:var(--panel);box-shadow:0 4px 24px #12352b22}.identity>span{display:block;font-size:8px;letter-spacing:.26em;color:var(--gold)}.identity strong{display:block;font:26px Georgia,serif;margin:6px 0}.identity small{font-size:8px;letter-spacing:.15em;color:var(--muted)}.top-actions{display:flex;align-items:center;gap:10px}.top-actions>span{font-size:10px;color:#153e34;padding:9px 12px;border-radius:20px;background:#edf1d8d9;box-shadow:0 3px 15px #173e3620}.quiet,.primary,.danger{min-height:44px;padding:12px 17px;border:1px solid var(--line);border-radius:7px;display:inline-flex;align-items:center;justify-content:center;gap:12px;font-size:12px;background:var(--panel);color:var(--ink)}.quiet:hover{background:#2c5140}.primary{background:var(--gold);border-color:var(--gold);color:#153b2e;font-weight:bold}.primary:hover{background:#ffe0a0}.danger{background:#6f3c35;border-color:#c97e6466;color:#fff2d8}.round{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:var(--panel);color:var(--ink);font-size:21px}.quest{left:22px;top:151px;width:264px;padding:20px;border:1px solid var(--line);border-radius:12px;background:var(--panel);box-shadow:0 6px 30px #143a321a}.quest h2{font-size:24px;margin-bottom:10px}.quest p:not(.eyebrow){font-size:12px;margin-bottom:14px;line-height:1.65}#milestones{display:flex;gap:7px}.milestone{width:28px;height:5px;background:#56785c;border-radius:5px}.milestone.done{background:var(--gold)}.resources{right:22px;top:83px;display:flex;gap:7px}.resource{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:11px 13px;min-width:62px;text-align:center}.resource>span{font-size:18px;display:block;color:var(--gold)}.resource strong{font-size:17px;display:block;margin-top:5px}.resource small{font-size:8px;color:var(--muted);display:block;margin-top:4px;letter-spacing:.06em}.compass{right:24px;top:186px;width:65px;text-align:center;background:var(--panel);border-radius:40px;padding:11px 5px;color:var(--gold)}.compass>span{font:10px Georgia,serif}.compass>div{font-size:27px;height:34px}.compass small{color:var(--muted);font-size:8px;display:block;margin-top:5px}.prompt{left:50%;bottom:93px;transform:translateX(-50%);display:flex;align-items:center;gap:12px;padding:12px 17px;border:1px solid var(--line);border-radius:30px;background:var(--panel);box-shadow:0 4px 20px #163b2c25;max-width:min(580px,calc(100vw - 40px));font-size:12px;min-height:50px}.prompt kbd{background:var(--gold);color:#183b2e;border:0;font-weight:bold;padding:6px 9px;flex-shrink:0}.prompt>button{border:0;border-left:1px solid var(--line);background:transparent;color:var(--gold);padding:5px 0 5px 12px;font-size:11px;min-height:28px}.controls{left:50%;bottom:20px;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;gap:20px;padding:10px 12px 10px 18px;border:1px solid var(--line);border-radius:10px;background:var(--panel);white-space:nowrap;font-size:9px;color:var(--muted)}kbd{font:9px Arial,sans-serif;color:var(--ink);background:#ffffff10;border:1px solid #c6d5bf30;padding:4px 6px;border-radius:4px;margin-right:4px}.controls .quiet{min-height:37px;background:#375c3d;border-color:#bbd78b44;color:#fff5dc;font-size:11px;padding:8px 14px}.build-bar{left:50%;bottom:152px;transform:translateX(-50%);padding:15px;background:#123b30f2;border:1px solid #e9c17b77;border-radius:12px;min-width:460px;box-shadow:0 8px 45px #13362935}.build-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:12px;font-size:9px;letter-spacing:.14em;color:var(--gold)}.text-btn{border:0;background:none;color:var(--gold);font-size:10px;text-decoration:underline;min-height:30px}.build-bar>p{font-size:10px;margin:12px 0 0;line-height:1.5;max-width:510px}#build-tools{display:flex;gap:8px}.build-tool{background:#244c36;border:1px solid #b8d09c40;border-radius:8px;color:var(--ink);padding:11px 12px;min-width:105px;text-align:left;font-size:11px}.build-tool>span{display:block;font-size:16px;margin-bottom:6px}.build-tool>small{display:block;font-size:8px;color:var(--muted);margin-top:5px}.build-tool[aria-pressed=true]{border-color:var(--gold);background:#456240;box-shadow:0 0 0 1px var(--gold)}#toast{position:fixed;top:25%;left:50%;transform:translateX(-50%);max-width:430px;padding:15px 22px;border:1px solid #e1c18c99;background:#163d31f0;border-radius:10px;font-size:13px;line-height:1.6;color:#fff4dc;pointer-events:none;opacity:0;transition:opacity .2s;z-index:4;text-align:center;box-shadow:0 6px 25px #173a3320}#toast.visible{opacity:1}dialog{max-width:540px;width:calc(100% - 40px);max-height:calc(100dvh - 40px);overflow-y:auto;border:1px solid #bfd19a55;border-radius:15px;background:#163a30;color:var(--ink);padding:34px;box-shadow:0 20px 100px #17392b50}dialog::backdrop{background:#0c292c9c;backdrop-filter:blur(5px)}dialog p{font-size:14px}dialog .primary{width:100%;min-height:49px}dialog .fine{font-size:11px}.welcome-controls{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:25px 0;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.welcome-controls p{font-size:11px;line-height:1.6;margin:0}.welcome-controls strong{display:block;color:var(--gold);font-size:12px;margin-bottom:5px}.welcome-controls span{display:block}.dialog-top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:14px}.dialog-top .eyebrow{margin:0}.dialog-top .round{margin:-12px -12px 0 0}.recipe-note{border-top:1px solid var(--line);padding-top:22px;margin-top:24px}.recipe-note p{font-size:12px}.recipe-note strong{color:var(--gold)}.journal-card{padding:20px 0;border-top:1px solid var(--line)}.journal-card h3{margin-bottom:8px}.journal-card p{font-size:12px;margin-bottom:8px}.journal-card small{color:var(--gold);font-size:10px}.save-tools,.dialog-buttons{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0}.file-label{cursor:pointer;position:relative;overflow:hidden}.file-label input{position:absolute;width:1px;height:1px;opacity:0}.settings-row{display:grid;gap:13px;font-size:12px;margin-top:24px;color:var(--muted)}.settings-row input{accent-color:var(--gold);margin-right:8px}#unsupported{position:fixed;inset:0;padding:10vh 15vw;background:#163b33;z-index:20}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}@media(max-width:1000px){.identity{padding:12px 16px}.identity strong{font-size:23px}.quest{top:137px;width:223px;padding:17px}.quest h2{font-size:22px}.resources{top:79px}.resource{min-width:53px;padding:9px}.controls{gap:11px;font-size:8px;padding-inline:10px}.controls>span:nth-child(3){display:none}.compass{top:178px}.top-actions>span{max-width:105px;text-align:center;line-height:1.5}}@media(max-width:700px){.top{top:10px;left:10px;right:10px}.identity{padding:10px}.identity strong{font-size:20px}.identity>span{font-size:7px}.identity small{font-size:6px}.top-actions{gap:6px}.top-actions>span{display:none}.top-actions .quiet{padding:10px;font-size:10px}.round{width:37px;height:37px}.quest{left:10px;top:119px;width:190px;padding:13px}.quest h2{font-size:20px}.quest p:not(.eyebrow){font-size:10px}.quest .eyebrow{font-size:7px}.resources{right:10px;top:75px;display:grid;grid-template-columns:1fr 1fr;gap:5px}.resource{min-width:44px;padding:7px}.resource>span{font-size:13px}.resource strong{font-size:14px}.resource small{font-size:6px}.compass{top:237px;right:14px;width:47px}.controls{width:calc(100% - 20px);bottom:12px;white-space:normal;gap:9px;justify-content:space-between}.controls>span{display:none}.controls>span:first-child,.controls>span:nth-child(4){display:block;font-size:8px}.prompt{bottom:84px;border-radius:12px;width:calc(100% - 30px);font-size:10px;gap:8px}.build-bar{bottom:145px;min-width:0;width:calc(100% - 24px);padding:12px}.build-tool{padding:9px 7px;min-width:0;flex:1;font-size:10px}#build-tools{gap:5px}.build-tool small{font-size:7px}dialog{padding:27px}h1{font-size:43px}.welcome-controls{grid-template-columns:1fr}#toast{top:45%;width:calc(100% - 50px);font-size:12px}}

/* Welcome Woods reward and learning layer */
.scoreline{left:50%;top:18px;transform:translateX(-50%);display:flex;gap:0;padding:12px 5px;background:#153d33f2;border:1px solid #eac17a80;border-radius:12px;color:var(--gold);box-shadow:0 6px 25px #173c3420}
.scoreline>span{padding:0 15px;font-size:8px;letter-spacing:.11em;border-right:1px solid var(--line)}.scoreline>span:last-child{border:0}.scoreline strong{display:block;color:var(--ink);font:26px Georgia,serif;margin-top:4px}
.profile-fields{border-top:1px solid var(--line);margin-top:20px;padding-top:18px;display:grid;gap:16px}.profile-fields label{display:grid;gap:8px;color:var(--gold);font-size:12px}.profile-fields select{width:100%;padding:12px;border-radius:7px;border:1px solid #c1d5a577;background:#244b3d;color:var(--ink);font:14px Arial,sans-serif;min-height:44px}.profile-fields p{margin:0}
#trail-target{display:flex;gap:10px;align-items:center;border-top:1px solid var(--line);padding-top:12px;margin:0;font-size:11px!important;color:var(--gold)}.trail-arrow{display:inline-block;font-size:25px;flex:none;width:26px;text-align:center}.quest #trail-btn{margin-top:8px;text-align:left;line-height:1.5;font-size:11px;min-height:35px}.trail-row{padding:17px 0;border-top:1px solid var(--line)}.trail-row strong{font:20px Georgia,serif;color:var(--ink)}.trail-row p{font-size:12px;margin:8px 0 12px}.trail-row button{margin-right:8px;margin-bottom:6px}#reflection-list{display:grid;gap:10px;margin-bottom:30px}#trail{max-width:640px}#trail>h3{margin-top:28px}#answer-options{display:grid;gap:10px;margin:20px 0}.answer-option{padding:15px 17px;min-height:58px;font-size:14px;line-height:1.6;background:#294e3e;border:1px solid #bbd49b66;border-radius:9px;color:var(--ink);text-align:left}.answer-option:hover{background:#3c6148;border-color:var(--gold)}#answer-feedback:not(:empty){background:#234b3b;border-left:3px solid var(--gold);padding:17px;margin:20px 0}#answer-feedback strong{color:var(--gold);font-size:12px}#answer-feedback p{font-size:13px;margin:12px 0 0}#encounter-footer{display:grid;gap:12px}#treasure-symbols{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap}#treasure-symbols button{min-width:95px;font-size:17px}#treasure-sequence{padding:15px;background:#2a4e3d;border-radius:7px;color:var(--gold)}.score-total{padding:18px;background:#2b513e;border-radius:9px;color:var(--gold);font:22px/1.55 Georgia,serif}
@media(max-width:1100px){.scoreline{top:90px}.quest{top:168px}.resources{top:90px}.compass{top:200px}}
@media(max-width:850px){.scoreline{left:10px;top:100px;transform:none;max-width:calc(100% - 120px)}.scoreline>span{padding:0 11px;font-size:7px}.scoreline strong{font-size:22px}.quest{top:182px;max-height:calc(100dvh - 340px);overflow-y:auto}.resources{top:100px}.compass{top:280px}.top-actions>span{display:none}}
@media(max-width:500px){.scoreline>span{padding:0 8px;font-size:6px}.scoreline strong{font-size:20px}.quest{width:195px}.score-total{font-size:20px}.answer-option{font-size:14px}dialog{width:calc(100% - 24px);padding:24px;max-height:calc(100dvh - 24px)}.dialog-top{gap:10px}}

/* Playtest input alternatives and readable panels */
canvas{touch-action:none}canvas:focus-visible{outline:3px solid #ffe5a0!important;outline-offset:-4px}
.reading-tools{display:flex;gap:18px;border-top:1px solid var(--line);margin-top:22px;padding-top:10px}.reading-tools button{font-size:12px;min-height:44px}
.build-access{margin-top:12px;border-top:1px solid var(--line);padding-top:10px}.build-access>span{display:block;font-size:12px;margin-bottom:9px;color:#fff4db}.build-access>div{display:flex;gap:6px;flex-wrap:wrap}.build-access button{min-width:44px;min-height:44px;border:1px solid #b4cba877;border-radius:7px;background:#345943;color:var(--ink)}.build-access button.primary{background:var(--gold);color:#153b2e;width:auto;padding:10px 16px}.build-access button:disabled{opacity:.55;cursor:not-allowed}
#touch-controls{display:none;left:12px;right:12px;bottom:14px;justify-content:space-between;pointer-events:none;gap:15px}.move-pad,.look-pad{display:grid;grid-template-columns:repeat(3,48px);gap:6px;pointer-events:auto;background:#143c32ef;padding:9px;border-radius:13px;border:1px solid var(--line)}.move-pad button,.look-pad button{font-size:25px;background:#345b45;color:var(--ink);border:1px solid #e1c17b66;border-radius:8px;width:48px;height:48px;touch-action:none;user-select:none}.move-pad button:first-child{grid-column:2}.move-pad button:nth-child(2){grid-column:1;grid-row:2}.move-pad button:nth-child(3){grid-column:2;grid-row:2}.move-pad button:nth-child(4){grid-column:3;grid-row:2}.look-pad{grid-template-columns:repeat(2,44px);align-self:end}.look-pad button{width:44px;height:48px;font-size:22px}.touch-ui #touch-controls{display:flex}.touch-ui .controls{bottom:150px;left:auto;right:12px;transform:none;width:auto;padding:6px}.touch-ui .controls>span{display:none}.touch-ui .prompt{bottom:210px;max-width:calc(100% - 24px);border-radius:12px}.touch-ui .build-bar{bottom:265px;max-height:calc(100dvh - 290px);overflow-y:auto}.touch-ui .quest{max-height:170px;overflow-y:auto}.touch-ui #event-caption{bottom:155px;max-width:calc(100% - 120px);left:12px;transform:none;font-size:10px;text-align:left}
#event-caption{pointer-events:none;left:50%;bottom:155px;transform:translateX(-50%);max-width:460px;border-radius:9px;background:#153b32ec;color:#fff4db;padding:9px 14px;font-size:11px;line-height:1.6;z-index:3}#event-caption:empty{display:none}#adventures{max-width:650px}#adventures h3{margin-top:28px}#adventures .trail-row button{font-size:12px}#companion-options,#plant-choices{display:grid;gap:12px}#companion-options button,#plant-choices button{font-size:14px;min-height:52px;text-align:left;justify-content:flex-start}.top-actions{flex-wrap:wrap;justify-content:flex-end}.top-actions .quiet{min-height:44px}
.large-reading dialog p,.large-reading dialog button,.large-reading dialog select{font-size:17px;line-height:1.65}.large-reading .quest p:not(.eyebrow){font-size:14px}.large-reading .prompt{font-size:15px}.large-reading #event-caption{font-size:14px}.high-contrast{--panel:#09281f;--muted:#f1f5df;--line:#d6e4bf99}.high-contrast dialog,.high-contrast .hud:not(.top):not(#touch-controls){background:#09281f}.high-contrast .answer-option{background:#193e2f;border-color:#fff0c7}.high-contrast .scoreline{border-width:2px}.high-contrast button:focus-visible{outline:4px solid white;outline-offset:3px}
@media(max-width:700px){.top-actions .quiet{padding:9px;font-size:10px}.identity{max-width:170px}.identity strong{font-size:19px}.scoreline{top:100px}.resources{top:100px}.quest{top:182px}#adventures-btn{min-width:78px}.prompt>button{min-height:44px;font-size:12px}.build-access button.primary{min-height:44px}.touch-ui .quest{max-width:165px;max-height:145px}.touch-ui .quest h2{font-size:18px}.touch-ui .quest p:not(.eyebrow):not(#trail-target){display:none}.touch-ui .quest .eyebrow{display:none}.touch-ui #trail-target{padding-top:7px}.touch-ui #trail-btn{font-size:10px}.touch-ui #milestones{display:none}.touch-ui .compass{top:300px}.touch-ui #toast{top:43%;max-height:150px;overflow-y:auto}.touch-ui .build-tool{font-size:10px}.touch-ui .build-tool small{font-size:8px}.touch-ui .build-bar{width:calc(100% - 16px)}}
@media(max-height:550px){.touch-ui .quest{max-height:100px;width:150px;top:170px}.touch-ui .prompt{bottom:165px}.touch-ui .controls{bottom:110px}.touch-ui #touch-controls{bottom:6px}.move-pad,.look-pad{padding:5px;gap:3px}.move-pad button,.look-pad button{height:42px}.touch-ui #event-caption{display:none}.touch-ui .build-bar{bottom:170px;max-height:calc(100dvh - 190px)}}

.touch-ui.building .prompt{display:none}

.look-pad{grid-template-columns:repeat(3,44px)}@media(max-width:380px){#touch-controls{gap:8px}.move-pad{grid-template-columns:repeat(3,44px)}.move-pad button{width:44px}.look-pad{grid-template-columns:repeat(3,42px)}.look-pad button{width:42px}}

@media(max-width:700px){.top{gap:8px}.identity{width:146px;min-width:146px}.identity strong{font-size:17px;white-space:nowrap}.identity small{font-size:5.8px;letter-spacing:.06em;white-space:nowrap}.top-actions{gap:5px}.touch-ui .quest{max-height:160px}.touch-ui .quest h2{margin-bottom:6px}.touch-ui #trail-target{font-size:10px!important;line-height:1.5}.touch-ui .prompt{bottom:230px}.touch-ui #event-caption{bottom:146px;max-height:68px;overflow:auto;pointer-events:auto;font-size:11px!important;line-height:1.5}.touch-ui.captions-on #toast{clip-path:inset(50%);width:1px;height:1px;padding:0;overflow:hidden}}

.touch-ui .text-btn{min-height:44px}dialog a{color:#ffe0a0;text-underline-offset:4px}dialog a:focus-visible{outline:3px solid #ffe0a0;outline-offset:4px}

.touch-ui.building .controls,.touch-ui.building .quest,.touch-ui.building #event-caption{display:none}.touch-ui .build-bar{bottom:150px;max-height:280px;overscroll-behavior:contain}.touch-ui #rotate-piece{width:44px;padding:0}.touch-ui .build-access button.primary{font-size:12px;padding:10px}.touch-ui .build-access>div{gap:5px}@media(max-height:550px){.touch-ui .build-bar{bottom:115px;max-height:calc(100dvh - 140px)}}

@media(max-height:550px) and (min-width:701px){.touch-ui .scoreline{top:12px;left:50%;transform:translateX(-50%)}.touch-ui .quest{top:102px;max-height:105px;width:170px}.touch-ui .resources{top:90px}.touch-ui .prompt{bottom:110px;max-width:320px;padding:6px 10px;min-height:38px;font-size:10px}.touch-ui .controls{bottom:110px}.touch-ui #toast{top:95px;max-width:300px;padding:10px 14px}.touch-ui .compass{display:none}}

.touch-ui .quest{max-height:170px}

#touch-controls button{-webkit-touch-callout:none}@media(max-height:550px) and (min-width:701px){.touch-ui .quest{top:112px;max-height:160px}.touch-ui .quest p:not(.eyebrow):not(#trail-target),.touch-ui .quest .eyebrow{display:none}}

#build-materials{font-size:10px;margin:9px 0 0}@media(max-height:550px) and (min-width:701px){.touch-ui.building .build-bar{left:auto;right:10px;bottom:12px;transform:none;min-width:0;width:310px;max-height:calc(100dvh - 24px)}.touch-ui.building .look-pad{visibility:hidden}.touch-ui.building .resources{display:none}}

.touch-ui:has(#stop-walk:not([hidden])) #event-caption{max-width:calc(100% - 230px)}

.game-home-link{color:inherit;text-decoration:underline;text-underline-offset:3px;font:600 12px/1.5 Arial,sans-serif;display:inline-block;padding:4px 0}.game-home-link:focus-visible{outline:2px solid #f4c369;outline-offset:3px}
