@font-face{font-family:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/nunito-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/nunito-latin-ext-400-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(assets/fonts/nunito-latin-600-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(assets/fonts/nunito-latin-ext-600-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(assets/fonts/nunito-latin-700-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(assets/fonts/nunito-latin-ext-700-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Fredoka;font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/fredoka-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Fredoka;font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/fredoka-latin-ext-400-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Fredoka;font-style:normal;font-weight:600;font-display:swap;src:url(assets/fonts/fredoka-latin-600-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Fredoka;font-style:normal;font-weight:600;font-display:swap;src:url(assets/fonts/fredoka-latin-ext-600-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Fredoka;font-style:normal;font-weight:700;font-display:swap;src:url(assets/fonts/fredoka-latin-700-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Fredoka;font-style:normal;font-weight:700;font-display:swap;src:url(assets/fonts/fredoka-latin-ext-700-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
*{box-sizing:border-box} :root{color-scheme:dark;--bg:#101e25;--panel:#142a31;--stroke:#35504f;--text:#eef1dc;--muted:#9db7ad;--mint:#a2e7c4;--gold:#ebc584;--danger:#f09488}html,body{margin:0;width:100%;min-height:100%;touch-action:manipulation;background:var(--bg);color:var(--text);font-family:Nunito,system-ui,sans-serif}body{overflow-x:hidden}button,input{font:inherit}button{cursor:pointer;color:inherit;touch-action:manipulation}button:disabled{cursor:default;opacity:.45}button:focus-visible,input:focus-visible{outline:3px solid var(--gold);outline-offset:3px}button{border:0}input{width:100%;background:#0e2229;border:1px solid #46615a;border-radius:8px;padding:12px 14px;color:var(--text);font-size:16px}.hidden{display:none!important}.overline{font:700 11px/1.4 Nunito,system-ui,sans-serif;letter-spacing:.19em;color:var(--mint)}.muted{color:var(--muted)}.loading{height:100dvh;display:grid;place-content:center;text-align:center;letter-spacing:.3em;font-weight:800}.loading small{font-size:12px;color:var(--muted);letter-spacing:0;margin-top:14px}.welcome{position:relative;min-height:100dvh;isolation:isolate;overflow:hidden}.cover-art{position:absolute;inset:0;z-index:-3;background:url('assets/aurora.jpg') 40% center/cover no-repeat;image-rendering:auto}.cover-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#081c28a6 0,#081c2822 42%,#081c28b3 70%,#081c28ed),linear-gradient(0deg,#081820dd,transparent 40%)}.welcome-inner{max-width:1450px;padding:58px 6vw 36px;margin:auto;display:grid;grid-template-columns:1.2fr 1fr;gap:7vw;align-items:center;min-height:calc(100dvh - 42px)}.wordmark{align-self:start;padding-top:30px;text-shadow:0 2px 20px #00131999}.wordmark h1{font-size:clamp(54px,7vw,102px);letter-spacing:-.065em;line-height:.88;margin:24px 0 18px;font-weight:950}.wordmark h1 span{color:#f1d498;font-size:.78em;letter-spacing:-.04em}.subtitle{display:flex;align-items:center;gap:12px;font:700 11px Nunito,system-ui,sans-serif;letter-spacing:.23em}.subtitle i{height:1px;width:28px;background:#d5c495}.wordmark p{font-size:clamp(16px,2vw,22px);line-height:1.6;color:#e4eee2;font-weight:500}.cover-features{display:flex;gap:16px;font:11px Nunito,system-ui,sans-serif;color:#e6e2cc;margin-top:24px}.cover-features span+span{border-left:1px solid #aec6b360;padding-left:16px}.creation-card{background:#112932ed;backdrop-filter:blur(16px);border:1px solid #76928170;border-radius:18px;padding:27px;box-shadow:0 24px 80px #05191e70;max-width:470px;width:100%;justify-self:end}.creation-card h2{font-size:27px;letter-spacing:-.04em;margin:6px 0 22px}.creation-card label{display:block;font:700 11px Nunito,system-ui,sans-serif;letter-spacing:.12em;color:#bad0bf;margin:17px 0 8px}.creator-row{display:flex;justify-content:space-between;align-items:center}.swatches{display:flex;gap:9px}.swatches button{width:27px;height:27px;border:3px solid transparent;border-radius:50%;box-shadow:inset 0 0 0 2px #102632}.swatches button.selected{border-color:#f0daac}#hero-preview{width:70px;height:70px;image-rendering:pixelated}.power-choice{display:grid;grid-template-columns:repeat(6,1fr);gap:5px}.power-choice button{background:#1b3940;border:1px solid #385c59;border-radius:7px;padding:9px 0;font:22px Fredoka,Georgia,serif;min-height:43px}.power-choice button.selected{border-color:var(--gold);background:#385246;box-shadow:inset 0 0 0 1px var(--gold)}.power-description{min-height:59px;font-size:12px;line-height:1.5;color:#b8ccc0;margin-top:9px}.power-description b{color:var(--gold);display:block;font-size:14px}.mode-choice{display:grid;grid-template-columns:1fr 1fr;gap:7px}.mode-choice button{background:#152f36;border:1px solid #3c5755;border-radius:8px;padding:12px 7px;text-align:left}.mode-choice button b{display:block;font-size:12px}.mode-choice button small{display:block;font-size:11px;color:var(--muted);margin-top:5px}.mode-choice button.selected{background:#284c47;border-color:#9bc5a7}.mode-note{font-size:11px;line-height:1.5}.cta{display:flex;align-items:center;justify-content:space-between;gap:14px;background:#dcd3a7;color:#142b30;border:1px solid #f0e2b7;border-radius:8px;padding:14px 18px;font-weight:800;font-size:14px;width:100%;margin-top:16px;box-shadow:0 4px 0 #051d2560}.cta:hover{background:#f0e1b6}.cta span{font-size:21px}.welcome footer{text-align:center;font:11px Nunito,system-ui,sans-serif;letter-spacing:.15em;padding:14px;color:#bfd1c2}#saved-summary{font-size:11px;color:var(--muted);margin-bottom:18px}.divider{display:flex;align-items:center;gap:10px;font:11px Nunito,system-ui,sans-serif;color:#8da89d;margin:21px 0}.divider:before,.divider:after{content:'';height:1px;background:#496258;flex:1}
.game{height:100dvh;max-width:1800px;margin:auto;display:flex;flex-direction:column;padding:0 22px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;height:62px;flex-shrink:0}.topbar button{background:transparent}.topbar #brand{display:flex;align-items:center;gap:10px;font-size:12px;letter-spacing:.08em}.brand-mark{color:var(--mint);font-size:36px;line-height:1}#brand b{color:var(--gold)}.area{font:11px Nunito,system-ui,sans-serif;letter-spacing:.14em;color:#b2c8bc}.top-actions{display:flex;align-items:center;gap:8px}.top-actions button{min-width:39px;min-height:39px;border:1px solid #47605a;border-radius:8px;font-size:19px}.top-actions .menu-btn{font-size:15px;padding:0 15px}.menu-btn span{margin-left:8px;font-size:12px}.playfield{position:relative;flex:1;min-height:190px;background:#2f594c;overflow:hidden;border:1px solid #567168;border-radius:12px;box-shadow:0 8px 24px #07141955}#world{position:absolute;inset:0;width:100%;height:100%;image-rendering:pixelated;display:block;touch-action:none}.vignette{position:absolute;inset:0;box-shadow:inset 0 0 65px #071c303d;pointer-events:none}.hud{position:absolute;top:15px;left:15px;right:15px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;pointer-events:none}.hero-vitals{display:flex;align-items:center;gap:10px;padding:9px 12px;background:#0c242ced;border:1px solid #6c908175;border-radius:9px;min-width:190px;box-shadow:0 3px 12px #09212640}.hero-vitals>div{flex:1}.level{display:grid;place-items:center;width:35px;height:35px;border:1px solid #a4c19d;border-radius:7px;color:#e6d6a5;font:700 14px Fredoka,system-ui,sans-serif}.vital-line{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:6px}.vital-line b{font-size:11px;max-width:105px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vital-line span{font:11px Nunito,system-ui,sans-serif;color:#acc6b6}.meter{height:5px;border-radius:2px;overflow:hidden;background:#081c25}.meter i{display:block;height:100%;width:100%;background:#91d4a6;transition:width .2s}.energy{height:3px;margin-top:4px}.energy i{background:#79b4cf}.quest-hud{pointer-events:auto;text-align:left;max-width:340px;background:#10262dea;box-shadow:0 3px 12px #061d2844;border:1px solid #8aa28570;border-radius:9px;padding:10px 14px;color:#edf1dc}.quest-hud>span{display:flex;justify-content:space-between;color:#ddc48c;font:11px Nunito,system-ui,sans-serif;letter-spacing:.17em;gap:15px}.quest-hud>span b{color:#91b6a1}.quest-hud strong{display:block;font-size:13px;font-weight:600;margin:5px 0 3px}.quest-hud small{display:block;font-size:11px;color:#adc7b8;line-height:1.45}.target-hud{position:absolute;top:93px;left:50%;transform:translateX(-50%);min-width:220px;max-width:70%;padding:9px 14px;border:1px solid #a5867777;background:#222730eb;border-radius:8px;text-align:center;font-size:11px}.enemy-meter{margin:6px 0;height:6px}.enemy-meter i{background:#d8937f}.target-hud small{color:#e7ba88;font-size:11px}.guide{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);background:#0b252bbe;border:1px solid #b3d2b03d;border-radius:30px;padding:7px 14px;font-size:11px;color:#d2e4cc;white-space:nowrap;pointer-events:none}.toast{position:absolute;left:50%;top:42%;transform:translate(-50%,-50%);background:#132e32f2;border:1px solid #b7cf9f;border-radius:10px;padding:13px 20px;max-width:85%;box-shadow:0 8px 30px #00182055;text-align:center;color:#f0e5bd;font-size:13px;pointer-events:none}.location-toast{position:absolute;left:25px;bottom:25px;font:22px Fredoka,system-ui,sans-serif;color:#f1e4bb;text-shadow:0 2px 5px #173134;pointer-events:none}.battle-label{position:absolute;left:50%;top:70px;transform:translateX(-50%);font:11px Nunito,system-ui,sans-serif;letter-spacing:.2em;color:#e6e7cc}.controls{display:flex;justify-content:space-between;gap:26px;align-items:center;padding:15px 6px 6px;flex-shrink:0}.movement{display:flex;align-items:center;gap:20px}.dpad{display:grid;grid-template-columns:repeat(3,38px);grid-template-rows:repeat(3,29px);gap:2px;touch-action:none;user-select:none}.dpad button{background:#253d42;border:1px solid #557065;border-radius:7px;touch-action:none;font-size:13px;box-shadow:0 3px #091e26}.dpad button:active,.interact:active,.skill:active{filter:brightness(1.4);transform:translateY(1px)}[data-dir=up]{grid-column:2;grid-row:1}[data-dir=left]{grid-column:1;grid-row:2}[data-dir=right]{grid-column:3;grid-row:2}[data-dir=down]{grid-column:2;grid-row:3}.pad-center{grid-column:2;grid-row:2;display:grid;place-items:center;color:#658277;font-size:14px}.interact{border:1px solid #849d7e;background:#385346;border-radius:50%;height:66px;width:66px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;box-shadow:0 4px #0a2027;touch-action:none}.interact b{font:700 23px Fredoka,system-ui,sans-serif}.interact span{font:11px Nunito,system-ui,sans-serif}.combat-panel{max-width:680px;flex:1}.combat-top{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:8px;font:11px Nunito,system-ui,sans-serif;color:#9bb8a8}.combat-top>span:first-child{color:#dcc88e;white-space:nowrap}#combat-message{font-family:inherit;font-size:11px;text-align:right}.skills{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}.skill{position:relative;background:#213a40;border:1px solid #4b6962;border-radius:9px;min-height:58px;overflow:hidden;padding:7px 4px;box-shadow:0 3px #071d23}.skill:first-child{background:#486554;border-color:#9ab98f}.skill .glyph{font:19px Fredoka,Georgia,serif;display:block;color:#e7d29c;height:23px}.skill b{font-size:11px;display:block;line-height:1.3}.skill small{font:11px Nunito,system-ui,sans-serif;color:#a4beaf}.skill .cooldown{position:absolute;inset:0;background:#0a1b27a8;display:grid;place-items:center;font:16px Fredoka,system-ui,sans-serif;color:#eed7a4}.keyboard-hint{text-align:center;font:11px Nunito,system-ui,sans-serif;color:#6c8c7f;padding:9px 0 12px}.dialogue{position:absolute;left:4%;right:4%;bottom:20px;display:flex;align-items:center;gap:14px;background:#f0e9d1;color:#293e42;border:2px solid #596f64;border-radius:10px;box-shadow:0 0 0 3px #eedbbb,0 12px 35px #08202b66;padding:18px}.dialogue canvas{width:54px;height:60px;image-rendering:pixelated;background:#cbd6b6;border-radius:7px;flex-shrink:0}.dialogue>div{flex:1}.dialogue strong{font:700 11px Nunito,system-ui,sans-serif;letter-spacing:.1em;color:#557957;text-transform:uppercase}.dialogue p{margin:7px 0 0;font-size:13px;line-height:1.6;max-width:800px}.dialogue button{background:#d1dab8;color:#395649;border:1px solid #a0b18b;border-radius:7px;padding:12px;font-size:11px;flex-shrink:0}.dialogue button span{margin-left:12px}.chapter{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:28px;background:linear-gradient(#071d2bcc,#091b2bf2),var(--chapter-art,url('assets/aurora.jpg')) center/cover;z-index:10;backdrop-filter:blur(5px)}.chapter>span{font:11px Nunito,system-ui,sans-serif;color:var(--mint);letter-spacing:.22em}.chapter h2{font-size:clamp(28px,5vw,55px);line-height:1.05;letter-spacing:-.04em;margin:18px 0}.chapter p{font-size:14px;color:#a9c5b5}.chapter .cta{max-width:260px;margin-top:30px}
.modal{position:fixed;inset:0;z-index:50;background:#061a27bd;backdrop-filter:blur(9px);padding:24px;display:flex;align-items:center;justify-content:center}.menu-sheet{width:min(730px,100%);max-height:90dvh;background:#142c33;border:1px solid #5c7b6c;border-radius:18px;padding:25px;box-shadow:0 22px 90px #031622aa;overflow:auto}.menu-sheet header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.menu-sheet h2{margin:5px 0 0;font-size:25px;letter-spacing:-.04em}.close{background:#29444a;border:1px solid #557364;border-radius:9px;width:38px;height:38px}#menu-tabs{display:flex;border-bottom:1px solid #3b5b54;gap:5px;margin-bottom:22px;overflow:auto}#menu-tabs button{padding:12px 15px;background:transparent;color:#a7c0b0;font-size:12px;border-bottom:2px solid transparent;white-space:nowrap}#menu-tabs button.selected{border-bottom-color:var(--gold);color:var(--gold)}.hero-card{display:flex;gap:20px;align-items:center;padding:18px;border-radius:12px;background:#1c3a3d;border:1px solid #42604f}.hero-card canvas{width:82px;height:82px;image-rendering:pixelated}.hero-card h3{font-size:24px;margin:0 0 5px}.hero-card p{color:var(--muted);font-size:12px;margin:4px 0}.xp-meter{height:7px;margin-top:14px}.xp-meter i{background:var(--gold)}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0}.stat-box{padding:17px 14px;border:1px solid #3c5c54;border-radius:10px;background:#19353b}.stat-box small{display:block;font:11px Nunito,system-ui,sans-serif;color:#8ead9b;text-transform:uppercase;letter-spacing:.08em}.stat-box b{font-size:25px;font-weight:500;display:block;margin-top:7px;color:#e3d29e}.menu-copy{font-size:13px;line-height:1.7;color:#adc8b8}.skill-card{display:grid;grid-template-columns:45px 1fr auto;align-items:center;gap:14px;padding:15px;border:1px solid #456255;border-radius:10px;margin:9px 0;background:#18363b}.skill-card.locked{opacity:.48}.skill-card .icon{font:27px Fredoka,Georgia,serif;color:var(--gold);text-align:center}.skill-card h4{font-size:13px;margin:0 0 5px}.skill-card p{font-size:11px;color:#9ebaab;margin:0;line-height:1.6}.skill-card .badge{font:11px Nunito,system-ui,sans-serif;color:var(--gold)}.journal-item{border-left:2px solid #456253;padding:0 0 20px 17px;margin-left:6px;color:#789c88}.journal-item h4{font-size:13px;margin:0 0 5px}.journal-item p{font-size:11px;line-height:1.6;margin:0}.journal-item.done{border-color:#9bc3a0;color:#adccb5}.journal-item.current{color:#ecd49b;border-color:#ecd49b}.world-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.world-card{background:linear-gradient(135deg,#294944,#162e38);border:1px solid #5b7968;border-radius:12px;padding:19px;text-align:left;min-height:150px;display:flex;flex-direction:column;align-items:flex-start}.world-card b{font-size:19px;margin:8px 0}.world-card small{font:11px Nunito,system-ui,sans-serif;color:var(--gold)}.world-card span{font-size:11px;line-height:1.6;color:#a6c3af}.world-card em{font-size:11px;margin-top:14px;font-style:normal;color:#ebd6a3}.settings-block{margin:20px 0}.settings-block h3{font-size:13px;color:#d8d9b8}.secondary{border:1px solid #68816b;background:#243e40;color:#d0dfcb;border-radius:8px;padding:12px 16px;font-size:12px;margin:6px 6px 0 0}.danger{color:#eeb5a1}.result-card{background:#162e35;border:1px solid #6f8a6e;border-radius:18px;padding:32px;max-width:430px;width:100%;text-align:center;box-shadow:0 22px 90px #031622aa}.result-card h2{font-size:32px;letter-spacing:-.05em;color:var(--gold);margin:14px 0}.result-card p{font-size:13px;line-height:1.7;color:#b7cdbe}.result-rewards{display:flex;gap:12px;justify-content:center;margin:20px 0}.result-rewards span{background:#25463f;border:1px solid #597f63;border-radius:9px;padding:14px;font:12px Nunito,system-ui,sans-serif}.unlock{background:#3c5040;border:1px solid #adab75;border-radius:8px;padding:13px;font-size:13px;color:#f0dcac;margin:12px 0}
@media(min-width:1600px){.welcome-inner{padding-top:80px}.playfield{border-radius:16px}.controls{padding-top:20px}}
@media(max-width:760px){.welcome-inner{display:block;padding:32px 18px 24px}.wordmark{padding:0 6px 28px}.wordmark h1{font-size:58px}.wordmark>p{font-size:16px;margin-bottom:15px}.wordmark>.overline{font-size:11px}.cover-features{margin-top:12px;font-size:11px}.cover-art{background-position:30% top;background-size:auto 720px;background-repeat:no-repeat;background-color:#102630}.cover-shade{background:linear-gradient(0deg,#0e2530 35%,#0e253080 65%,#0e253040)}.creation-card{max-width:none;padding:22px;border-radius:16px}.creation-card h2{font-size:24px}.welcome footer{font-size:11px;line-height:1.7;padding:0 20px 18px}.game{padding:0;height:100dvh}.topbar{height:48px;padding:0 12px;gap:7px}.topbar #brand{font-size:11px;gap:5px}.brand-mark{font-size:27px}.area{font-size:11px;letter-spacing:.02em;max-width:95px;text-align:center}.top-actions{gap:5px}.top-actions button{min-width:32px;min-height:32px;font-size:17px}.top-actions .menu-btn{padding:0 9px}.menu-btn span{display:none}#fullscreen{display:none}.playfield{border-radius:0;border-left:0;border-right:0;min-height:190px}.hud{top:10px;left:10px;right:10px;gap:8px}.hero-vitals{min-width:0;width:130px;padding:7px;gap:7px;flex-shrink:0;border-radius:7px}.level{width:25px;height:29px;font-size:12px;flex-shrink:0}.vital-line b{font-size:11px;max-width:68px}.vital-line span{display:none}.quest-hud{padding:8px 9px;max-width:210px;border-radius:7px}.quest-hud>span{font-size:11px;letter-spacing:.08em}.quest-hud strong{font-size:11px;margin:4px 0;line-height:1.35}.quest-hud small{font-size:11px;line-height:1.35}.quest-hud>span b{font-size:11px}.controls{padding:11px 12px max(12px,env(safe-area-inset-bottom));gap:10px;align-items:flex-end;background:#10262e}.movement{display:flex;flex-direction:column;gap:7px}.dpad{grid-template-columns:repeat(3,34px);grid-template-rows:repeat(3,29px);gap:2px}.dpad button{font-size:12px;border-radius:6px}.interact{height:39px;width:100px;border-radius:9px;flex-direction:row;gap:10px}.interact b{font-size:17px}.interact span{font-size:11px}.combat-panel{min-width:0}.combat-top{font-size:11px;margin-bottom:6px;display:block;min-height:16px}#combat-message{display:none}.skills{grid-template-columns:repeat(3,1fr);gap:5px}.skill{min-height:61px;padding:6px 2px;border-radius:8px}.skill .glyph{font-size:19px;height:23px}.skill b{font-size:11px}.skill small{font-size:11px}.keyboard-hint{display:none}.dialogue{left:12px;right:12px;bottom:15px;padding:12px;gap:10px;display:grid;grid-template-columns:36px 1fr}.dialogue canvas{width:36px;height:40px;align-self:start}.dialogue strong{font-size:11px}.dialogue p{font-size:11px;line-height:1.55;margin-top:5px}.dialogue button{grid-column:2;justify-self:end;padding:8px 12px;font-size:11px}.guide{font-size:11px;bottom:11px;padding:6px 12px;max-width:90%;overflow:hidden;text-overflow:ellipsis}.target-hud{top:102px;min-width:180px;font-size:11px;padding:8px 12px}.battle-label{top:87px;font-size:11px}.modal{padding:12px}.menu-sheet{padding:18px;max-height:94dvh;border-radius:14px}.menu-sheet header{margin-bottom:15px}.menu-sheet h2{font-size:23px}#menu-tabs{gap:0}#menu-tabs button{padding:12px 11px;font-size:11px}.stat-grid{gap:6px}.stat-box{padding:12px 10px}.stat-box b{font-size:22px}.stat-box small{font-size:11px}.hero-card{padding:13px;gap:12px}.hero-card h3{font-size:22px}.hero-card canvas{width:65px;height:65px}.world-grid{grid-template-columns:1fr}.world-card{min-height:130px}.skill-card{grid-template-columns:30px 1fr auto;gap:9px;padding:12px}.skill-card h4{font-size:11px}.skill-card p{font-size:11px}.skill-card .badge{font-size:11px}.result-card{padding:25px}.chapter h2{font-size:32px}.chapter p{font-size:12px}}
@media(max-height:520px) and (orientation:landscape){.game{padding:0}.topbar{height:38px;padding:0 12px}.area{font-size:11px}.playfield{min-height:100px;border-radius:0}.controls{position:absolute;bottom:8px;left:12px;right:12px;padding:0;background:none;pointer-events:none;align-items:flex-end}.controls button{pointer-events:auto}.movement{flex-direction:row;gap:8px}.dpad{grid-template-columns:repeat(3,30px);grid-template-rows:repeat(3,25px)}.interact{width:43px;height:43px;border-radius:50%;flex-direction:column;gap:0}.interact span{font-size:5px}.combat-panel{flex:0 1 330px}.combat-top{display:none}.skills{grid-template-columns:repeat(6,1fr);gap:4px}.skill{min-height:48px;background:#143039ee}.skill b{font-size:11px}.skill small{font-size:11px}.skill .glyph{font-size:15px;height:18px}.hud{top:8px}.hero-vitals{padding:5px 8px}.quest-hud{max-width:230px}.guide{bottom:90px}.dialogue{bottom:95px;max-width:70%;margin:auto}.target-hud{top:75px}.keyboard-hint{display:none}.top-actions button{min-height:28px;min-width:30px}.battle-label{top:62px}.chapter .cta{margin-top:12px;padding:10px}.chapter h2{margin:12px 0}.chapter p{margin:5px}}
@media(prefers-reduced-motion:reduce){.meter i{transition:none}}

.controls{user-select:none;-webkit-user-select:none}@media(max-width:760px) and (orientation:portrait){.dpad{grid-template-columns:repeat(3,40px);grid-template-rows:repeat(3,34px)}.interact{width:124px}}

.turn-battle .combat-panel{margin:auto}.turn-battle .combat-top{display:flex;gap:10px}.turn-battle #combat-message{display:block;font-size:11px;line-height:1.5}.turn-battle .combat-top>span:first-child{font-size:11px}@media(max-width:760px){.turn-battle .combat-top{min-height:28px}.turn-battle .skills{gap:7px}.turn-battle .skill{min-height:63px}}
/* Academia — etapa 1. Remaining regions retain their existing layout. */
.academy-stage{background:#101f25;padding:0 16px}.academy-stage .topbar{height:52px}.academy-stage .area{font-family:inherit;letter-spacing:.1em;color:#d7c9a8;font-size:11px}.academy-stage .playfield{border:1px solid #87958166;border-radius:14px;box-shadow:0 12px 38px #040f1855}.academy-stage .vignette{box-shadow:inset 0 0 48px #12293922}.academy-stage .hero-vitals,.academy-stage .quest-hud{background:#102a30e8;border:1px solid #c8b68155;box-shadow:0 5px 20px #0a1c3033;backdrop-filter:none}.academy-stage .hero-vitals{min-width:168px;padding:8px 10px}.academy-stage .level{border-radius:50%;width:29px;height:29px;border-color:#d8c08c88}.academy-stage .quest-hud{max-width:280px;padding:9px 13px;border-radius:8px}.academy-stage .quest-hud>span{font-family:inherit;letter-spacing:.12em}.academy-stage .quest-hud strong{font-size:12px}.academy-stage .quest-hud small{font-size:11px}.academy-stage .controls{padding:10px 6px 4px;gap:24px}.academy-stage .skill{background:#19333c;border-color:#466266;border-radius:8px;box-shadow:none}.academy-stage .skill:first-child{background:#466253;border-color:#bbbd90}.academy-stage .dpad button{background:#223a43;border-color:#4f6765;box-shadow:none}.academy-stage .interact{background:#36594e;border-color:#aab68d;box-shadow:none}.academy-stage .guide{background:#102e36de;border-color:#c3b98d66}.academy-stage .dialogue{background:#112c35f5;border-color:#c7b38299;box-shadow:0 8px 25px #0c152d55}.academy-stage .dialogue canvas{image-rendering:pixelated;width:54px;height:60px}.academy-stage .dialogue strong{color:#ebd09a;letter-spacing:.1em}
@media(max-width:760px) and (orientation:portrait){.academy-stage{padding:0 7px}.academy-stage .topbar{height:48px;padding:0 5px}.academy-stage #brand>span:last-child{display:none}.academy-stage .area{font-size:11px;max-width:none}.academy-stage .top-actions button{min-width:40px;min-height:40px;border:0}.academy-stage .top-actions{gap:2px}.academy-stage .playfield{border:1px solid #87958166;border-radius:10px;min-height:200px}.academy-stage .hud{top:8px;left:8px;right:8px;gap:6px}.academy-stage .hero-vitals{min-width:0;width:112px;padding:7px;gap:6px}.academy-stage .level{width:23px;height:23px;font-size:11px}.academy-stage .quest-hud{padding:7px 9px;max-width:224px;flex:1}.academy-stage .quest-hud>span{font-size:11px}.academy-stage .quest-hud strong{font-size:11px;margin:3px 0}.academy-stage .quest-hud small{font-size:11px;line-height:1.35}.academy-stage .controls{background:transparent;gap:12px;padding:10px 2px max(8px,env(safe-area-inset-bottom));align-items:center}.academy-stage .movement{gap:6px}.academy-stage .dpad{grid-template-columns:repeat(3,36px);grid-template-rows:repeat(3,31px);gap:1px}.academy-stage .dpad button{font-size:12px}.academy-stage .interact{height:40px;width:110px;border-radius:8px}.academy-stage .combat-top{min-height:13px;margin-bottom:4px;font-size:11px}.academy-stage .skills{gap:5px}.academy-stage .skill{min-height:57px;padding:5px 1px}.academy-stage .skill .glyph{font-size:18px;height:20px}.academy-stage .skill b{font-size:11px}.academy-stage .skill small{font-size:11px}.academy-stage .dialogue{grid-template-columns:44px 1fr;bottom:10px;left:9px;right:9px;padding:12px;gap:10px}.academy-stage .dialogue canvas{width:44px;height:49px}.academy-stage .dialogue p{font-size:12px;line-height:1.5}.academy-stage .dialogue button{min-height:40px;font-size:11px}.academy-stage .guide{font-size:11px;bottom:10px}}
@media(max-height:520px) and (orientation:landscape){.academy-stage{padding:0}.academy-stage .topbar{height:38px}.academy-stage .controls{padding:0}.academy-stage .playfield{border-radius:0}.academy-stage .quest-hud small{display:none}}

.academy-stage .dialogue{color:#e6e7d5}.academy-stage .dialogue canvas{background:#203e45;border:1px solid #8d977266}

/* Stage 3A development tools are opt-in and absent from the normal campaign. */
.development{position:fixed;right:8px;top:58px;z-index:45;background:#122830ed;color:#eadcba;border:1px solid #58786c;border-radius:8px;padding:9px;font-size:12px;width:min(290px,80vw);box-shadow:0 5px 22px #08192399}.development summary{cursor:pointer;letter-spacing:.04em}.development label{display:block;margin:12px 0}.development select{width:100%;background:#223c41;color:#f3e5c2;border:1px solid #6c8c77;border-radius:4px;padding:8px;margin-top:5px}.development button,.development a{display:inline-block;color:#e4d7b1;background:#335250;border:1px solid #6c8c77;border-radius:4px;padding:7px;margin:3px;font-size:12px;text-decoration:none}#performance{max-width:96vw;font-size:11px!important}

.interior-stage .combat-panel{display:none}.interior-stage .controls{justify-content:center}.interior-stage .quest-hud{display:none}.interior-stage #keyboard-hint{font-size:0}.interior-stage #keyboard-hint:after{content:'WASD / setas · E portas e objetos · Esc menu';font-size:11px}.interior-stage .hero-vitals{opacity:.85}

.development:not([open]){width:auto;max-width:calc(100vw - 155px);padding:8px;font-size:11px}.development-mode .quest-hud{display:none}

.interior-stage .vila-note{display:none}

h1,h2,h3,.chapter h2,.wordmark h1{font-family:Fredoka,Georgia,serif}
.parallax-stage{position:absolute;inset:0;overflow:hidden;background:#0d1d2e;z-index:0;pointer-events:none}.parallax-layer{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;will-change:transform;user-select:none}
.cinema.has-parallax .cinema-painting{display:none}
.parallax-stage.parallax-bg{z-index:-1}.parallax-stage.dim::after{content:"";position:absolute;inset:0;background:linear-gradient(#071d2b99,#091b2bd9)}

h1,h2,h3,.chapter>span,.overline,.cta{font-family:Fredoka,system-ui,sans-serif}

/* Short landscape phones: notices sit near the top instead of over the floor. */
@media (orientation:landscape) and (max-height:500px){.toast{top:16%;font-size:12px;max-width:60%}}
.credits-block summary{cursor:pointer;font-weight:700}.credits-block h4{margin:.7em 0 .15em;font-size:.95em}.credits-block p{margin:.15em 0;font-size:.85em;line-height:1.35;opacity:.9}
