@font-face{font-family:Pixel;src:url(../pixel.ttf) format("truetype");font-display:swap}*{box-sizing:border-box}html{color-scheme:light}body{margin:0;background:#eee8d9;color:#1f3e3b;font-family:Verdana,sans-serif;font-size:14px;line-height:1.55}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer;border:1px solid #bdc5ad;background:#f4eedf;color:#254843;padding:10px 14px;border-radius:3px;font-weight:700;box-shadow:0 2px #adb19b}button:hover{background:#e1e8cf}button:active{transform:translateY(2px);box-shadow:none}button:disabled{opacity:.5;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,canvas:focus-visible{outline:3px solid #d39647;outline-offset:3px}a{color:inherit}h1,h2,h3,p{margin:0}h1{font-family:Georgia,serif;font-size:clamp(24px,2.4vw,36px);line-height:1.25;letter-spacing:-1px}h2{font-family:Georgia,serif;font-size:28px;line-height:1.2}p{margin:16px 0}.eyebrow{font:9px/1.8 Pixel,monospace;letter-spacing:1px;color:#617a6c}.topbar{display:flex;align-items:center;gap:16px;padding:18px 4vw;background:#193e3b;color:#f2eccf;border-bottom:4px solid #e0ba72}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;font:11px/1.6 Pixel,monospace}.brand small{display:block;font:8px/2.4 monospace;letter-spacing:2px;color:#b6c8aa}.brand-mark{font:32px/1 Georgia;background:#d2b374;color:#214943;width:40px;height:40px;display:grid;place-items:center;box-shadow:4px 4px #112e2b}.wallet{display:flex;gap:14px;margin-left:auto;font:11px monospace;color:#ead9a0}.icon-button{background:transparent;border-color:#597967;color:#ead9a0;box-shadow:none;font-size:22px;padding:2px 11px}.layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:26px;padding:30px 4vw 16px;max-width:1700px;margin:auto}.world-heading{display:flex;justify-content:space-between;gap:16px;align-items:end;margin-bottom:20px}.save-status{font:10px monospace;white-space:nowrap;color:#70806b;padding-bottom:6px}.canvas-wrap{position:relative;border:6px solid #294c42;box-shadow:0 6px #b2bda0;background:#739b69;height:min(68vh,720px);min-height:450px;overflow:hidden}canvas{display:block;width:100%;height:100%;image-rendering:pixelated;outline-offset:-5px!important}.scene-caption{position:absolute;left:16px;top:14px;background:#183a34e8;padding:6px 10px;color:#f0e7c4;font:11px monospace;max-width:calc(100% - 150px)}.world-action{position:absolute;bottom:18px;left:18px;display:flex;gap:8px}.primary{background:#d4ad66;color:#283e32;border-color:#b18e50;box-shadow:0 3px #8b713e}.primary:hover{background:#e3c382}.full{width:100%}kbd{background:#204b3f;color:#f5e7bd;padding:3px 6px;margin-left:8px;font:11px monospace}.controls-line{display:flex;align-items:center;gap:10px;margin-top:18px;font:10px monospace;color:#536b5d}.controls-line span{flex:1}.controls-line button{font-size:10px;padding:6px 9px}.journal{border-left:1px solid #c9ccb6;padding-left:26px}.journal-top{display:flex;justify-content:space-between;align-items:center;margin:3px 0 19px}.journal-top>span:last-child{font:12px monospace}.journal h2{font-size:26px}.journal>p{font-size:12px;color:#647461;margin:12px 0 16px}.chapter-progress{height:5px;background:#d0d6bd;margin-bottom:16px}.chapter-progress div{height:100%;background:#527d5d}.section-title{font:9px/1.8 monospace;letter-spacing:1.8px;margin:26px 0 10px;display:flex;justify-content:space-between}.section-title span{color:#86917b;font-size:8px;letter-spacing:0}.neighbours{display:grid;gap:2px}.neighbour{display:flex;gap:10px;align-items:center;padding:8px 0;text-align:left;border:0;border-bottom:1px solid #d7d8c5;box-shadow:none;background:transparent}.neighbour>span{flex:1;font-size:12px}.neighbour small{display:block;font-weight:400;color:#687b69;font-size:10px;margin-top:2px}.neighbour b{color:#708f65}.portrait{width:26px;height:40px;object-fit:none;object-position:left;image-rendering:pixelated;border-radius:0;background:#ddd9c5}.journal-tools{display:grid;gap:8px}.journal-tools button{text-align:left;padding:10px 12px;font-size:12px;background:#e0e5d0}.journal-tools span{display:block;font:10px/1.8 monospace;color:#71866e}.journal-note{font:10px/1.8 monospace!important;border-top:1px solid #cbd1ba;padding-top:17px}.journal-note strong{color:#42654e}footer{display:flex;justify-content:space-between;padding:18px 4vw 25px;font:10px monospace;color:#6c7c66;gap:10px}footer button{font-size:10px;box-shadow:none;background:transparent;border:0;padding:0}dialog{border:3px solid #2c5147;border-radius:3px;padding:0;width:min(540px,calc(100% - 28px));max-height:calc(100dvh - 36px);background:#f3eedd;color:#25443d;box-shadow:9px 9px #112e2b60}dialog::backdrop{background:#14312b9e;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}#panel-content{padding:28px;overflow:auto}#panel-content p{font-size:13px}.modal-heading{display:flex;align-items:start;gap:12px;margin-bottom:20px}.modal-heading>div{flex:1}.modal-heading h2{margin-top:6px}.close-panel{box-shadow:none;background:transparent;border:0;font-size:23px;padding:0 6px}.button-row{display:flex;gap:10px;margin-top:24px;flex-wrap:wrap}.dialogue-art{display:flex;align-items:center;gap:22px}.speaker{width:64px;height:100px;object-fit:none;object-position:left top;image-rendering:pixelated;flex-shrink:0;background:#dde3ce}.quest-stamp{display:flex;justify-content:space-between;font:10px monospace;border-block:1px dashed #b6c4a6;padding:14px 0;gap:10px}.quest-stamp strong{color:#92753b}.welcome-stamp{font:68px/1 Georgia;color:#ac854d;margin:6px 0 20px}.welcome-controls{display:grid;gap:9px;font:11px monospace;margin:24px 0;color:#587654}.welcome-controls span{border-bottom:1px solid #d8ddc3;padding-bottom:9px}.welcome-stamp~h2{font-size:42px;margin-top:8px}.muted{font:11px/1.6 monospace!important;color:#6a7d67}.field-label{display:block;font-size:12px;font-weight:700;margin:22px 0 8px}select{display:block;width:100%;padding:12px;background:#fbf6e8;border:1px solid #a9b999;color:#294d42;border-radius:2px}.arena-options{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px}.arena-options small{display:block;font-size:10px;font-weight:400;margin-top:7px}.battle-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.battle-stage{background:#48665f;border:3px solid #26463e;overflow:hidden}.battle-land{position:relative;height:110px;background:linear-gradient(#637d75 70%,#9b9566 70%,#9b9566 76%,#5b735a 76%);image-rendering:pixelated}.battle-hero{position:absolute;left:45px;bottom:10px;width:48px;height:96px;object-fit:none;object-position:left top;image-rendering:pixelated}.battle-monster{position:absolute;right:65px;bottom:7px;width:96px;height:100px;object-fit:contain;image-rendering:pixelated;animation:bob 2.5s ease-in-out infinite}.boss-stage .battle-land{background:linear-gradient(#3f354e 70%,#8c745e 70%,#8c745e 76%,#443e4c 76%)}.battle-status{display:flex;justify-content:space-between;color:#eee4bf;background:#294c43;padding:8px 12px;font:11px monospace}.battle-status>span:first-child{color:#e6ad87}.battle-body{padding-top:19px}.question-top{display:flex;justify-content:space-between;color:#708266;font:10px monospace;gap:10px}#equation{font-family:Georgia,serif;text-align:center;font-size:clamp(26px,4vw,42px);margin:20px 0 7px;font-weight:700;letter-spacing:-.5px}#equation:has(+p){line-height:1.3}.answer-prompt{text-align:center;font:10px monospace!important;color:#7f8b72;margin:4px 0 18px!important}#answer-form{display:flex;gap:9px}#answer{min-width:0;width:100%;flex:1;background:#fffaf0;border:2px solid #8fa57d;border-radius:2px;font:27px monospace;text-align:center;color:#294d42;padding:12px}#answer-form button{font-size:11px;white-space:nowrap}#answer-feedback{min-height:46px;font:12px/1.6 monospace;margin-top:12px}#answer-feedback.correct{color:#39704e}#answer-feedback.incorrect{color:#a7613e}.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;max-width:280px;margin:0 auto 14px}.keypad button{font:16px monospace;padding:7px;min-height:37px;box-shadow:0 1px #bbc0a7}.keypad #clear-answer{grid-column:span 2;font-size:12px}.battle-footer{display:flex;justify-content:space-between;align-items:center;margin:16px 0 7px;font:10px monospace;gap:10px}.battle-footer button{background:transparent;box-shadow:none;border:0;border-bottom:1px dotted #90a77e;padding:5px 0;font:11px monospace}#method{padding:14px;background:#e3e9cf;font:12px/1.6 monospace;margin:14px 0}.hit .battle-monster{animation:hit .4s steps(3)}.hit .battle-beam{position:absolute;width:100px;height:4px;background:#f9d87d;left:130px;top:66px;animation:beam .4s steps(4) forwards}.result-stamp{font:65px Georgia;text-align:center;color:#bc914d}.result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0}.result-grid div{background:#e3e8d1;padding:13px 8px;text-align:center}.result-grid strong{display:block;font:24px Georgia}.result-grid span{font:10px monospace;color:#70846c}.reward-line{font:12px monospace!important;color:#9c7940;text-align:center;background:#e9e0c1;padding:12px}.shop-list article{display:flex;gap:12px;align-items:center;border-bottom:1px solid #c5ceb1;padding:14px 0}.shop-list article>div{flex:1}.shop-list p{font:11px/1.6 monospace!important;margin:5px 0!important}.shop-list button{font-size:10px;white-space:nowrap}.notes-list{max-height:300px;overflow:auto;margin-top:20px}.notes-list article{padding:15px;background:#e4e8d2;margin-bottom:7px;font:12px monospace}.notes-list p{font:11px/1.7 monospace!important;margin:7px 0 0!important}.empty-note{padding:30px;background:#e4e8d2;font:12px monospace}.setting-row{display:flex;align-items:center;gap:12px;padding:15px 0;border-bottom:1px solid #cbd3b8}.setting-row input{width:20px;height:20px;accent-color:#537c56}.touch-controls{display:flex;justify-content:center;gap:9px;margin-top:15px}.touch-controls button{font:22px monospace;min-width:54px;min-height:50px;touch-action:none;-webkit-user-select:none;user-select:none}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);opacity:0;pointer-events:none;z-index:10;background:#21493f;color:#f6e8bd;padding:12px 18px;font:12px/1.5 monospace;max-width:calc(100% - 30px);box-shadow:3px 3px #d4b373;transition:.2s}#toast.show{opacity:1;transform:translate(-50%)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@keyframes bob{50%{transform:translateY(-5px)}}@keyframes hit{25%{transform:translate(14px);filter:brightness(2)}75%{transform:translate(-5px)}}@keyframes beam{to{transform:translate(130px);opacity:0}}@media(max-width:1100px){.layout{gap:18px;padding-inline:20px;grid-template-columns:minmax(0,1fr) 250px}.journal{padding-left:18px}.scene-caption,.save-status{display:none}.canvas-wrap{min-height:460px}.controls-line{flex-wrap:wrap}.controls-line span{flex-basis:100%}.brand small{font-size:7px}}@media(max-width:780px){.topbar{padding:14px 18px;gap:9px}.brand{font-size:8px;gap:9px}.brand small{font-size:6px;letter-spacing:1px}.brand-mark{width:32px;height:32px;font-size:27px}.wallet{flex-direction:column;gap:2px;font-size:10px}.icon-button{font-size:20px;padding:2px 7px}.layout{display:block;padding:23px 14px 10px}.world-heading{margin-bottom:16px}.canvas-wrap{height:60vh;min-height:390px}.world-action{left:10px;right:10px;bottom:12px;gap:6px}.world-action button{font-size:10px;padding:10px 9px}.world-action kbd{display:none}.world-action>button:first-child{flex:1}.journal{border-left:0;border-top:1px solid #bdc9ac;padding:23px 0 0;margin-top:24px}.neighbours{grid-template-columns:1fr 1fr;gap:8px 12px}.journal-tools{grid-template-columns:1fr 1fr}.journal-top{margin-bottom:13px}.journal>p{font-size:12px}.journal h2{font-size:25px}.section-title{margin-top:22px}footer{padding:16px;font-size:9px;flex-wrap:wrap}#panel-content{padding:20px}.welcome-stamp~h2{font-size:36px}#equation{font-size:30px}.keypad{max-width:250px}.dialogue-art{gap:14px}.speaker{width:48px}.quest-stamp{flex-direction:column;gap:6px}.arena-options{grid-template-columns:1fr}.battle-land{height:96px}.battle-monster{width:80px;height:86px;right:36px}.battle-hero{left:24px}.battle-beam{left:110px!important}.result-grid{gap:7px}.modal-heading h2{font-size:26px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}body.reduce-motion *,body.reduce-motion *:before{animation:none!important;transition:none!important}.portrait,.speaker,.battle-hero{object-fit:contain;object-position:center;image-rendering:pixelated}.speaker{background:transparent;width:60px;height:120px}.portrait{background:#dedfc9;width:26px;height:42px;padding:3px}.battle-hero{object-position:center bottom}.play-area{position:sticky;top:20px;align-self:start}@media(max-width:780px){.play-area{position:static}}.intro{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:grid;place-items:center;background:#15362f;color:#fff1cd;padding:clamp(14px,3vw,46px);overflow:auto}.intro-card{position:relative;width:min(1120px,100%);background:#1e4238;border:4px solid #d4b47c;box-shadow:9px 9px #0e2726}.intro-art{position:relative;aspect-ratio:16/9;overflow:hidden;background:#efd1a2}.intro-art canvas{width:100%;height:100%;image-rendering:pixelated}.intro-art:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;box-shadow:inset 0 0 60px #332f3733;pointer-events:none}.intro-title{position:absolute;inset:7% 3% auto;text-align:center;pointer-events:none}.intro-title .eyebrow{color:#385b45;font-size:clamp(6px,1.1vw,11px);letter-spacing:3px}.intro-title h1{font-family:Georgia,serif;font-size:clamp(24px,6.5vw,76px);font-weight:900;line-height:.95;letter-spacing:-3px;color:#fff0c1;text-shadow:3px 3px 0 #2b5148,-2px -2px 0 #2b5148,2px -2px 0 #2b5148,-2px 2px 0 #2b5148,5px 6px 0 #8a734b}.intro-title p{font:clamp(9px,1.4vw,16px)/1.4 monospace;color:#254b3d;letter-spacing:3px;margin:12px 0 0;font-weight:700}.intro-bottom{display:grid;grid-template-columns:1fr auto;gap:25px;align-items:center;padding:20px 27px;background:#21463b}.intro-tagline{font:18px Georgia;margin:0 0 12px!important;color:#f6e4bc}.intro-loading{max-width:380px;height:6px;background:#365a48;border:1px solid #7d9370}.intro-loading>div{height:100%;background:#debf80;width:0;transition:width .1s}.intro-status{font:10px/1.6 monospace;margin:7px 0 0!important;color:#bacdad}.intro button{min-height:47px}.intro-kicker{position:absolute;bottom:13px;left:16px;color:#f4e1b9;background:#244438dc;padding:4px 9px;font:9px monospace;letter-spacing:1px}.intro-controls{font:10px/1.7 monospace;color:#b8caa6;margin:9px 0 0;text-align:right}.village-life-line{display:flex;gap:8px;align-items:center;margin:12px 0 0;font:11px/1.5 monospace;color:#59734d}.village-life-line:before{content:"";background:#8caa62;width:7px;height:7px;flex-shrink:0;box-shadow:0 0 0 3px #dce4c7}.neighbour .activity{color:#82916d;font-size:9px;font-style:italic}#intro-retry{font-size:12px;margin-left:10px}@media(max-width:780px){.intro{padding:12px}.intro-art{aspect-ratio:4/3}.intro-art canvas{position:absolute;left:50%;transform:translate(-50%);height:100%;width:auto;min-width:100%;aspect-ratio:16/9}.intro-title{top:8%}.intro-title h1{font-size:clamp(28px,8vw,50px);letter-spacing:-1px;text-shadow:2px 2px 0 #2b5148,-1px -1px 0 #2b5148,2px -1px 0 #2b5148,-1px 2px 0 #2b5148,3px 4px 0 #8a734b}.intro-title .eyebrow{font-size:7px;letter-spacing:1px}.intro-title p{font-size:9px;letter-spacing:1.5px;margin-top:9px}.intro-bottom{display:block;padding:18px}.intro-tagline{font-size:17px}.intro-bottom button.primary{width:100%;margin-top:18px;font-size:12px}.intro-controls{text-align:center;font-size:9px}.intro-kicker{font-size:7px;bottom:10px;left:10px}.village-life-line{font-size:10px;min-height:30px}}@media(prefers-reduced-motion:reduce){.intro-loading>div{transition:none}}body{background:#ede0c6;color:#342f29}.topbar{background:#252c29;border-bottom-color:#b48345}.brand-mark,button.primary{background:#cfa76b;color:#292d28;border-color:#9d7441;box-shadow:0 3px #705335}button{border-color:#b8a68b;color:#3a3c30;background:#f2e6cf;box-shadow:0 2px #b3a087}button:hover{background:#e2cda8}.canvas-wrap{border-color:#665a40;background:#776b4a;box-shadow:5px 5px #c7ae7c}.scene-caption{background:#303b33e8;color:#f6dfae}.journal{border-color:#c1a678}.chapter-progress{background:#d7c49f}.chapter-progress>div{background:#7c8550}.eyebrow,.save-status,.section-title,.journal-note,.controls-line,.village-life-line{color:#73624c}.neighbour{background:transparent;border-color:#d7c5a5}.neighbour:hover{background:#e0c9a1}.journal-tools button{background:#e4d4b4;border-color:#c0a67d}#character-open{display:flex;align-items:center;gap:9px;background:#3a4438;color:#f3d9a9;border:1px solid #9b875d;font-size:11px;box-shadow:none;min-height:48px}.hero-mini,.hero-face{display:inline-block;image-rendering:pixelated;background-repeat:no-repeat;flex-shrink:0}.neighbour>.hero-mini{flex:0 0 16px;overflow:hidden}#character-open .hero-mini{transform:scale(.65);margin:-12px -4px}.character-name{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.intro{background:#282d29}.intro-card{border-color:#bf945c;background:#343d31;box-shadow:9px 9px #191d20}.intro-bottom{background:#343d31}.intro-title h1{color:#ffe2a5;text-shadow:3px 3px #3f4232,-2px -2px #3f4232,2px -2px #3f4232,-2px 2px #3f4232,5px 6px #8a5b39}.intro-title p,.intro-title .eyebrow{color:#494934}.intro-kicker{background:#3b4435e8}.intro-tagline{color:#f7dfae}.intro-loading{background:#4c5640}.intro-loading>div{background:#d4ac6c}.intro-choices{display:flex;gap:10px;align-items:center;justify-content:flex-end;flex-wrap:wrap}#intro-wardrobe{background:#43513e;color:#f6dfae;border-color:#8e986b;font-size:11px}.battle-land{background:linear-gradient(#a99566 70%,#c6aa77 70%,#c6aa77 76%,#777b4c 76%)}.wardrobe-panel{max-width:1120px;width:calc(100% - 28px)}.wardrobe-panel #panel-content{padding:26px}.wardrobe-intro{color:#75634e;margin:12px 0 22px}.wardrobe-layout{display:grid;grid-template-columns:300px 1fr;gap:28px}.wardrobe-dressing{background:#e7d6b5;padding:18px;border:1px solid #bfa476;align-self:start}.wardrobe-dressing label{display:block;margin:12px 0 5px;font-size:12px;font-weight:700}.wardrobe-dressing select,.wardrobe-dressing>input,.wardrobe-browse input,.wardrobe-browse select{width:100%;background:#fbf2df;color:#393b2e;border:1px solid #a99470;padding:10px;border-radius:2px;min-height:42px}.wardrobe-stage{display:flex;align-items:center;gap:14px;padding-bottom:14px;border-bottom:1px solid #c6ad82}.wardrobe-stage>span{image-rendering:pixelated;flex-shrink:0;background-repeat:no-repeat}.wardrobe-stage h3{font-size:18px;font-family:Georgia,serif}.wardrobe-stage p{font-size:11px;line-height:1.55;margin:8px 0}.wardrobe-free{font-size:10px;color:#616744}.wardrobe-angles{display:flex;justify-content:space-around;padding:14px 4px;background:#d4c49b;margin-top:16px}.wardrobe-angles figure{margin:0;text-align:center}.wardrobe-angles canvas{width:32px;height:64px;image-rendering:pixelated}.wardrobe-angles figcaption{font-size:9px;color:#685940}.wardrobe-dressing .wardrobe-walk{display:flex;align-items:center;gap:8px;font-weight:400}.wardrobe-save{font-size:10px;color:#746449;margin:14px 0 0}.wardrobe-dressing .button-row{display:grid;gap:8px;margin-top:14px}.wardrobe-dressing button{font-size:12px;min-height:43px}.wardrobe-browse{display:grid;grid-template-columns:1fr 155px;gap:8px;align-items:center}.wardrobe-browse label{grid-column:1/-1;font-size:12px;font-weight:700}.wardrobe-catalogue>p{font:11px monospace;color:#7b664a;margin:12px 0}.hero-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;max-height:540px;overflow:auto;padding:4px}.hero-card{display:flex;flex-direction:column;align-items:center;gap:7px;padding:12px 6px;min-height:116px;font-size:10px;box-shadow:none;border:1px solid #c7b18c;background:#f5ead2;color:#4a4538;text-align:center}.hero-card small{display:block;font-size:9px;margin-top:3px;font-weight:400;color:#826b50}.hero-card.chosen{border:2px solid #735839;background:#dbc292;box-shadow:inset 0 0 0 2px #fff1cf}.wardrobe-pages{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:14px;font-size:11px}.wardrobe-pages button{min-width:42px}.wardrobe-panel .modal-heading h2{font-size:27px}@media(max-width:780px){.topbar{gap:8px;flex-wrap:wrap}.wallet{margin-left:auto}#character-open{order:4;min-height:37px;padding:2px 10px}.character-name{max-width:160px}.intro-choices{display:block}.intro-choices button{width:100%;margin-top:10px}.wardrobe-layout{grid-template-columns:1fr}.wardrobe-panel #panel-content{padding:16px}.wardrobe-stage{min-height:130px}.wardrobe-dressing{padding:14px}.hero-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-height:450px}.wardrobe-browse{grid-template-columns:1fr}.wardrobe-panel .modal-heading h2{font-size:23px}.wardrobe-stage h3{font-size:20px}}@media(max-width:380px){.hero-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wardrobe-panel{width:calc(100% - 12px)}.wardrobe-panel #panel-content{padding:12px}.wardrobe-stage{gap:8px}.wardrobe-stage h3{font-size:17px}}html,body{width:100%;height:100%;overflow:hidden;overscroll-behavior:none;background:#756b4b}.trail-tools{position:absolute;top:96px;left:14px;display:flex;gap:6px}.trail-tools button{background:#263d35ef;color:#f7e6b8;border:1px solid #aa9063;font:11px monospace;padding:9px 12px;min-height:38px;box-shadow:2px 3px #24271b55}.pet-card{display:flex;align-items:center;gap:18px;margin:20px 0}.pet-card canvas{width:128px;height:96px;image-rendering:pixelated;flex:0 0 128px;border:2px solid #b6a071}.pet-card p{margin:8px 0}.pet-name-row{display:flex;gap:8px}.pet-name-row input{flex:1;min-width:0}.pet-commands{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}#country-map{display:block;width:100%;height:auto;image-rendering:pixelated;border:3px solid #566650;margin-top:20px}.map-destinations{display:grid;grid-template-columns:1fr 1fr;gap:8px}.map-destinations button{text-align:left;padding:12px}.map-destinations span{display:block;font:10px monospace;margin-top:5px;color:#5c6a4e}.place-icon{display:grid;place-items:center;width:36px;height:36px;background:#d8c698;font-size:24px;flex-shrink:0}.online-hud{top:146px!important}@media(max-width:700px){.trail-tools{top:75px;left:8px;gap:4px}.trail-tools button{padding:7px 9px;font-size:10px}.online-hud{top:125px!important}.pet-card{gap:12px}.pet-card canvas{flex-basis:96px;width:96px;height:72px}.map-destinations{grid-template-columns:1fr}}[hidden]{display:none!important}.game-shell{position:fixed;top:0;right:0;bottom:0;left:0;isolation:isolate;height:100dvh;overflow:hidden}.game-shell #world{display:block;position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0;border-radius:0;image-rendering:pixelated;touch-action:none;outline-offset:-4px}.game-hud{position:absolute;top:max(14px,env(safe-area-inset-top));left:max(14px,env(safe-area-inset-left));right:max(14px,env(safe-area-inset-right));display:flex;align-items:flex-start;justify-content:space-between;gap:12px;pointer-events:none}.game-hud button,.game-hud .player-hud{pointer-events:auto}.quest-hud,.player-hud,.online-hud{background:#263d35f2;color:#f7e6b8;border:2px solid #aa9063;border-radius:2px;box-shadow:3px 4px #24271b66}.quest-hud{display:flex;align-items:center;gap:12px;text-align:left;padding:9px 12px;min-width:245px;max-width:350px}.quest-hud:hover,.player-hud button:hover,.online-hud:hover{background:#3a5140}.hud-book{font-size:25px;color:#e6b864}.quest-hud>span:nth-child(2){flex:1;min-width:0}.quest-hud small{display:block;font:9px/1.6 monospace;letter-spacing:1px;color:#dbc794}.quest-hud strong{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hud-progress{display:block;height:3px;background:#111e1b;margin-top:6px}.hud-progress i{display:block;height:100%;background:#e9bb60;width:0}.game-shell kbd{font:10px/1 monospace;padding:3px 4px;border:1px solid currentColor;opacity:.7;margin-left:6px}.player-hud{display:flex;gap:3px;align-items:center;padding:3px 5px}.hud-wallet{display:grid;font:11px/1.7 monospace;padding:0 7px;color:#e6c46e}.player-hud button{background:transparent;color:#f7e6b8;box-shadow:none;border:0;padding:6px 10px;min-height:44px}.player-hud #character-open{margin:0;gap:7px;max-width:170px}.player-hud .hero-mini{width:32px;height:32px;flex-shrink:0}.player-hud #fullscreen,.player-hud #settings{font-size:22px}.game-actions{position:absolute;left:50%;right:auto;bottom:max(18px,env(safe-area-inset-bottom));transform:translate(-50%);display:flex;gap:6px;width:max-content;max-width:calc(100% - 24px);padding:0}.game-actions button{min-height:48px;padding:10px 16px;box-shadow:2px 4px #3e3b2366;border:2px solid #a38b60;background:#f3e6c2;color:#2b3d30}.game-actions button:hover{background:#fff4d6}.game-actions .primary{background:#d9ad62;color:#263b30}.game-actions .connected{background:#2c5145;color:#f8e9bc}.online-hud{position:absolute;top:92px;left:14px;padding:7px 10px;text-align:left;font:11px/1.7 monospace}.online-hud b{letter-spacing:2px;margin-right:10px}.game-dpad{position:absolute;left:18px;bottom:85px;display:grid;grid-template-columns:repeat(3,44px);gap:4px;background:transparent;padding:0;border:0}.game-dpad button{background:#283e35e8;color:#f8e9bc;border:2px solid #c2ac75;min-width:44px;min-height:44px;padding:0;font-size:20px;box-shadow:none}.game-dpad button:nth-child(1){grid-column:2}.game-dpad button:nth-child(2){grid-row:2;grid-column:1}.game-dpad button:nth-child(3){grid-row:2;grid-column:2}.game-dpad button:nth-child(4){grid-row:2;grid-column:3}.journal-drawer{position:fixed;inset:0 0 0 auto;margin:0;width:min(390px,100%);height:100dvh;max-height:100dvh;max-width:100%;overflow:auto;padding:30px 24px;border:0;border-left:4px solid #ac925f;border-radius:0;background:#eee4c9;color:#273d32;box-shadow:-8px 0 #29362b44}.journal-drawer::backdrop{background:#18261c44}.drawer-close{float:right;font-size:22px;padding:0 10px;margin:0 0 8px 12px}.journal-drawer .journal-top{clear:both}.journal-drawer .neighbours,.journal-drawer .journal-tools{display:grid;grid-template-columns:1fr}#toast{bottom:82px;max-width:calc(100% - 24px)}.journal-menu{margin-top:24px;display:flex;gap:8px;flex-wrap:wrap}.journal-menu small{display:block;width:100%;font-size:10px}#panel{max-height:calc(100dvh - 24px)}.online-identity{display:flex;gap:12px;align-items:center;margin:20px 0}.online-identity>span:last-child{color:#6b7156;font-size:11px}.online-divider{margin:22px 0 12px;text-align:center;font:10px monospace;letter-spacing:2px}#join-room{display:flex;align-items:end;gap:10px}#join-room label{flex:1}#room-input{text-transform:uppercase;letter-spacing:3px}.online-fine{font-size:11px;line-height:1.7}.online-close{font-size:24px;padding:0 10px}.room-code{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:20px}.room-code span{font:10px monospace}.room-code strong{font:24px monospace;letter-spacing:4px}.online-players{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:20px 0}.online-player{display:flex;align-items:center;gap:10px;padding:8px;background:#e0d9b8;border:1px solid #c3bb99}.online-player span:nth-child(2){overflow:hidden;text-overflow:ellipsis}.online-player small{display:block;font:10px monospace;color:#65704e}.online-race-options{display:flex;gap:12px}.online-race-options label{flex:1;min-width:0}.online-buttons{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}.race-top{display:flex;justify-content:space-between;margin-top:14px;font:13px monospace}.race-top strong{color:#745431}.online-question{font:32px/1.4 Georgia,serif;margin:24px 0}.online-answer-row{display:flex;gap:8px}.online-answer-row input{min-width:0;flex:1;font-size:22px}#online-feedback{min-height:45px;font-size:13px}.online-scores{list-style:none;padding:0;margin:20px 0;border-top:1px solid #bcb68e}.online-scores li{display:flex;gap:10px;padding:8px;border-bottom:1px solid #bcb68e}.online-scores li>span{flex:1}.online-scores small{color:#3a6544}@media(min-width:1500px){.game-actions{bottom:24px}.game-hud{top:20px;left:20px;right:20px}}@media(max-width:700px){.game-hud{top:8px;left:8px;right:8px;gap:6px}.quest-hud{min-width:0;max-width:52%;gap:6px;padding:7px 9px}.quest-hud .hud-book,.quest-hud kbd{display:none}.quest-hud small{font-size:8px;letter-spacing:0}.quest-hud strong{font-size:11px}.player-hud{padding:2px;gap:0}.player-hud button{padding:4px 6px;min-height:40px}.player-hud .character-name,.player-hud #character-open>span:last-child{display:none}.player-hud #character-open{width:38px}.hud-wallet{padding:0 4px;font-size:9px}.game-actions{bottom:max(12px,env(safe-area-inset-bottom));gap:4px;max-width:calc(100% - 16px)}.game-actions button{padding:8px 10px;min-height:44px;font-size:11px}.game-actions kbd{display:none}.game-actions #help-route{max-width:90px}.online-hud{top:78px;left:8px;display:grid;gap:0;font-size:10px}.online-players{grid-template-columns:1fr}.online-identity{flex-wrap:wrap}.online-question{font-size:26px}.online-race-options{flex-direction:column}}@media(max-height:500px){.game-actions{bottom:max(8px,env(safe-area-inset-bottom))}.game-dpad{bottom:65px}.intro{overflow:auto}}.trail-tools{left:max(14px,env(safe-area-inset-left));top:calc(max(14px,env(safe-area-inset-top)) + 82px)}.trail-tools button{min-height:44px;min-width:44px}.player-hud button{min-width:44px}.online-hud{left:max(14px,env(safe-area-inset-left));top:calc(max(14px,env(safe-area-inset-top)) + 132px)!important}.game-dpad{left:max(18px,env(safe-area-inset-left));bottom:calc(max(18px,env(safe-area-inset-bottom)) + 67px)}.journal-drawer{padding-top:max(30px,env(safe-area-inset-top));padding-right:max(24px,env(safe-area-inset-right));padding-bottom:max(30px,env(safe-area-inset-bottom))}@media(max-width:700px){.game-hud{top:max(8px,env(safe-area-inset-top));left:max(8px,env(safe-area-inset-left));right:max(8px,env(safe-area-inset-right))}.quest-hud{flex:1;min-width:0}.player-hud{flex-shrink:0}.player-hud button,.player-hud #character-open{min-width:44px;min-height:44px;width:44px}.trail-tools{left:max(8px,env(safe-area-inset-left));top:calc(max(8px,env(safe-area-inset-top)) + 67px)}.online-hud{left:max(8px,env(safe-area-inset-left));top:calc(max(8px,env(safe-area-inset-top)) + 117px)!important}.game-actions{display:grid;grid-template-columns:44px minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) 44px;width:calc(100% - max(8px,env(safe-area-inset-left)) - max(8px,env(safe-area-inset-right)));max-width:none;left:max(8px,env(safe-area-inset-left));right:max(8px,env(safe-area-inset-right));transform:none}.game-actions button{min-width:44px;padding:8px 4px}.game-dpad{bottom:calc(max(12px,env(safe-area-inset-bottom)) + 70px)}#panel-content{padding:20px 16px}}:root{--game-ink: #24352e;--game-paper: #f0e8d2;--game-paper-edge: #cec3a3;--game-frame: #263c32;--game-frame-edge: #899277;--game-gold: #dfb66b;--game-type: "Courier New", Courier, monospace}body{font-family:var(--game-type);color:var(--game-ink)}button,input,select{border-radius:0}button{font-family:var(--game-type);border:2px solid #71816d;box-shadow:0 2px #66745e;background:var(--game-paper);color:var(--game-ink);font-size:13px;font-weight:700;min-height:44px}button:hover{background:#fff6de}button.primary{background:var(--game-gold);border-color:#997d49;color:#26362a;box-shadow:0 2px #816941}button:disabled{opacity:.5}h1,h2,h3,.wardrobe-stage h3,.wardrobe-panel .modal-heading h2{font-family:Pixel,var(--game-type);font-weight:400;line-height:1.65;letter-spacing:0;font-size:16px;overflow-wrap:anywhere}.eyebrow{font:11px/1.5 var(--game-type);letter-spacing:0;color:#65745d}.muted,.online-fine,.wardrobe-intro{color:#58674f}.muted{font:12px/1.6 var(--game-type)!important}.game-icon{width:18px;height:18px;display:block;flex-shrink:0}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid #3d7864;outline-offset:3px}.game-shell #world:focus-visible{outline:1px solid #dad1a1;outline-offset:-1px}.quest-hud,.player-hud,.online-hud{background:var(--game-frame);border:2px solid var(--game-frame-edge);box-shadow:0 2px #192a22;color:var(--game-paper)}.quest-hud{padding:8px 12px;gap:10px}.quest-hud .hud-book{display:grid;place-items:center;color:var(--game-gold)}.quest-hud small{font:10px/1.4 var(--game-type);color:#bfc7ab;letter-spacing:0}.quest-hud strong{font:bold 13px/1.6 var(--game-type)}.hud-progress{background:#152a20;margin-top:5px}.hud-progress i{background:var(--game-gold)}.player-hud button{box-shadow:none}.hud-wallet{font:11px/1.65 var(--game-type);font-variant-numeric:tabular-nums;color:#e1c58e}.game-hud kbd{font:10px/1.2 var(--game-type);border-color:#a5af91;opacity:1}.game-actions{background:var(--game-frame);border:2px solid var(--game-frame-edge);box-shadow:0 2px #192a22;padding:3px;gap:3px}.game-actions button{background:transparent;color:var(--game-paper);border:0;box-shadow:none;padding:8px 14px;font-size:13px}.game-actions button:hover{background:#405341}.game-actions .primary{background:var(--game-gold);color:#273629}.game-actions kbd{display:none}.game-actions #menu-open{display:grid;place-items:center;min-width:44px}.trail-tools button{background:var(--game-frame);border:1px solid #899277;color:#ece4c8;box-shadow:none;font:bold 12px var(--game-type)}dialog,.journal-drawer{background:var(--game-paper);border:2px solid #4b6450;color:var(--game-ink);box-shadow:0 4px #172c2299;border-radius:0}dialog::backdrop{background:#152a229e;-webkit-backdrop-filter:none;backdrop-filter:none}#panel{width:min(540px,calc(100% - 28px))}#panel-content{padding:22px}#panel-content p{font:14px/1.6 var(--game-type)}.modal-heading{margin-bottom:16px;align-items:flex-start}.modal-heading h2{margin-top:4px}.close-panel,.online-close,.drawer-close{display:grid;place-items:center;min-width:44px;min-height:44px;padding:10px;background:transparent;color:#344b37;border:0;box-shadow:none;font-family:var(--game-type)}.close-panel:hover,.online-close:hover,.drawer-close:hover{background:#ded6bd}.journal-drawer{border-right:0;border-top:0;border-bottom:0}.journal-drawer .section-title{font:bold 12px var(--game-type);letter-spacing:0}.neighbour,.journal-tools button{background:transparent;border:0;border-bottom:1px solid #c5c6ab;box-shadow:none}.neighbour:hover,.journal-tools button:hover{background:#e2dfc9}.neighbour small,.journal-tools span{color:#637359}.battle-header{margin-bottom:10px}.battle-header .eyebrow{font:bold 12px var(--game-type);color:#3d563e}.battle-stage{border:2px solid #53694d}.battle-land{height:96px;background:linear-gradient(#849569 72%,#c7ac7c 72%,#c7ac7c 80%,#64784d 80%)}.battle-monster{animation:none}.battle-status{background:var(--game-frame);padding:8px 10px;font:bold 12px var(--game-type)}.battle-body{padding-top:14px}.question-top{font:12px var(--game-type);color:#596b50}#equation,.online-question{font:bold clamp(24px,4vw,32px)/1.35 var(--game-type);letter-spacing:0;margin:18px 0 10px}.answer-prompt{font:12px var(--game-type)!important;color:#637359;margin-bottom:12px!important}#answer{border:2px solid #70876a;font:bold 24px var(--game-type);padding:10px;background:#fff8e5}#answer-form button{font:bold 13px var(--game-type)}#answer-feedback{font:13px/1.5 var(--game-type);min-height:32px;margin-top:10px}.keypad{gap:4px;margin-bottom:10px}.keypad button{font:bold 16px var(--game-type);box-shadow:none}.battle-footer{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.battle-footer button{font:bold 12px var(--game-type)}#streak{margin-left:auto;font:11px var(--game-type)}.quest-stamp{font:12px var(--game-type);border:0;border-bottom:1px solid #c3c7aa}.result-stamp{display:none}.result-grid strong{font-family:var(--game-type)}.wardrobe-dressing,.wardrobe-angles,.hero-card{background:#e4dfc6}.hero-card{box-shadow:none;border-color:#bbc2a5}.hero-card.chosen{border-color:#46664c;background:#ced8ba;box-shadow:none}.intro{background:#1d3027;padding:24px}.intro-card{width:min(760px,max(540px,calc((100dvh - 390px) * 16 / 9)),100%);border:2px solid #879375;background:#263d30;box-shadow:0 4px #14291e}.intro-heading{padding:24px 28px 20px}.intro-heading .eyebrow{color:#a8bc99}.intro-heading h1{color:#f2dfaa;font-size:clamp(18px,3vw,28px);margin-top:10px;line-height:1.5}.intro-heading p{color:#a6b992;margin:8px 0 0;font:12px var(--game-type)}.intro-art{aspect-ratio:16/9;border-block:2px solid #879375}.intro-art:after{box-shadow:none}.intro-art canvas{position:static;width:100%;height:100%;transform:none;aspect-ratio:auto}.intro-bottom{padding:20px 28px;background:#263d30;display:block}.intro-tagline{font:14px/1.6 var(--game-type);margin-bottom:12px!important;color:#dedfba;max-width:650px}.intro-status{color:#aab998;font:11px/1.5 var(--game-type)}.intro-loading{max-width:none;height:4px;border:0;background:#172d20}.intro-loading>div{background:#bbc791}.intro-choices{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:8px;margin-top:18px}.intro-choices button{margin:0!important;width:auto!important;font:bold 13px var(--game-type);padding:10px 18px}#intro-wardrobe,#intro-online{background:#344d37;border-color:#8a9b7a;color:#ede8c9;box-shadow:none}.intro-controls{display:none}@media(max-width:700px){.intro{padding:12px}.intro-heading{padding:18px 18px 14px}.intro-bottom{padding:16px 18px}.intro-heading h1{font-size:18px}.intro-choices{display:grid;grid-template-columns:1fr 1fr}.intro-choices #intro-start{grid-column:1 / -1}.intro-choices button{padding:10px 6px;font-size:12px}.game-actions{grid-template-columns:44px minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) 44px;gap:0;padding:2px}.game-actions button{font-size:11px;padding:8px 4px;min-height:44px}.quest-hud{padding:7px 8px}.quest-hud strong{font-size:12px}.quest-hud small{font-size:9px}.hud-wallet{font-size:10px;padding:0 3px}.trail-tools button{font-size:11px}#panel-content{padding:16px}.wardrobe-panel .modal-heading h2{font-size:14px}.speaker{width:48px;height:96px}.dialogue-art{gap:14px}}@media(min-width:701px)and (max-height:500px){.intro-card{width:min(760px,100%);display:grid;grid-template-columns:1fr 1fr}.intro-heading{grid-column:1 / -1;padding:12px 20px}.intro-heading p{display:none}.intro-art{align-self:center;border:0}.intro-bottom{padding:12px 16px}.intro-choices{margin-top:10px;gap:6px}.intro-choices button{padding:8px 10px;font-size:12px}}
