@import"https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500;600;700&family=IM+Fell+English:ital@0;1&display=swap";:root{--paper: #f2e3c4;--ink: #3f3021;--muted: #685b43;--line: #bda780;--paper-surface: radial-gradient(ellipse at 30% 15%, #fff9e84d, transparent 70%), repeating-linear-gradient(4deg, #78532904 0 1px, transparent 1px 4px), #f2e3c4;--control-surface: linear-gradient(#fff3d5, #e5cca0);--orange: #9c4328;--green: #465b40;--mono: "DM Mono", monospace;--serif: "IM Fell English", Georgia, serif;--sans: "DM Sans", sans-serif;font-family:var(--sans);color:var(--ink);background:var(--ink);font-synthesis:none}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;overscroll-behavior:none}[hidden]{display:none!important}button{font:inherit;color:inherit;cursor:pointer;border:0;-webkit-tap-highlight-color:transparent}button:disabled{cursor:not-allowed;opacity:.43}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid var(--orange);outline-offset:2px}button:not(:disabled){transition:background .12s,transform .12s}button:active:not(:disabled){transform:translateY(2px)}.screen{position:fixed;inset:0;width:100%;height:100dvh;overflow:hidden;isolation:isolate;background:var(--ink);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}#game{display:block;width:100%;height:100%;image-rendering:pixelated;outline:none}.screen-vignette{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 100px #172c212b;z-index:1}.game-hud{position:absolute;top:0;left:0;right:0;display:flex;justify-content:space-between;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) 0 max(16px,env(safe-area-inset-left));pointer-events:none;z-index:3}.hud-group{display:flex;gap:8px}.hud-button{width:56px;height:58px;display:grid;place-items:center;align-content:center;gap:4px;color:#e8dbac;background:#25382e;border:1px solid #a8ad75;border-radius:4px;box-shadow:inset 0 0 0 2px #34483a,0 3px #15291e,0 4px 12px #151c2130;pointer-events:auto}.hud-button span{font:10px/1 var(--sans)}.hud-button svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linejoin:round;stroke-linecap:round}.hud-button:hover:not(:disabled),#travel-toggle:hover:not(:disabled){background:#3f5142}#sound-toggle[aria-pressed=false]{color:#c4c9a1}.hud-button:focus-visible,#travel-toggle:focus-visible,.dpad button:focus-visible,#touch-interact:focus-visible{outline-color:#f1d59b}.screen:not([data-mode=world]):not([data-mode=battle]) .game-hud .hud-group:last-child{visibility:hidden}.touch-controls{display:none;position:absolute;bottom:max(24px,env(safe-area-inset-bottom));left:max(20px,env(safe-area-inset-left));right:max(20px,env(safe-area-inset-right));align-items:end;justify-content:space-between;pointer-events:none;z-index:3}#travel-toggle{position:absolute;left:50%;bottom:max(28px,env(safe-area-inset-bottom));transform:translate(-50%);z-index:3;background:#25382e;color:#e8dbac;border:1px solid #a8ad75;border-radius:4px;padding:12px 14px;font:11px var(--mono);box-shadow:inset 0 0 0 2px #34483a,0 3px #15291e}#travel-toggle:active{transform:translate(-50%,2px)}.evolution-caption{position:absolute;bottom:max(5%,env(safe-area-inset-bottom));left:5%;width:90%;text-align:center;color:var(--ink);background:var(--paper-surface);border:1px solid #80603b;box-shadow:inset 0 0 0 3px #e7cfa4,0 3px #62472e;pointer-events:auto}.evolution-caption h2{font:clamp(28px,5vw,48px) var(--serif);margin:10px 0}.evolution-caption p{font:12px/1.5 var(--mono)}.evolution-caption .eyebrow{color:var(--orange)}.evolution-caption .action{margin-top:8px;background:#edc57e;color:var(--ink);border-color:#f1d29b}.evolution-caption .action:hover:not(:disabled){background:#ffe3a9}.cinematic-caption{position:absolute;inset:auto 0 0;padding:46px max(24px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));background:var(--paper-surface);color:var(--ink);border-top:3px double #80603b;text-align:center;pointer-events:auto}.cinematic-caption h2{margin:0 auto 10px;font:clamp(24px,4vw,38px) / 1.15 var(--serif);color:var(--orange)}.cinematic-caption p{max-width:740px;margin:0 auto 18px;font:clamp(17px,2.4vw,22px) / 1.45 var(--serif);text-wrap:pretty}.cinematic-actions{display:flex;justify-content:center;gap:12px}.cinematic-caption .action.secondary{min-height:44px;padding:10px 16px;color:var(--ink);border:1px solid #a58a61;background:var(--control-surface)}.cinematic-caption .action.secondary:hover:not(:disabled){background:#ffedc3}@media(max-height:500px)and (min-aspect-ratio:17/10){.cinematic-caption{left:48%;padding:20px 20px max(14px,env(safe-area-inset-bottom));background:var(--paper-surface)}.cinematic-caption h2{font-size:25px}.cinematic-caption p{font-size:17px;margin-bottom:12px}.cinematic-actions{gap:6px}.cinematic-caption .action{padding:8px;font-size:10px}}.dpad{display:grid;grid-template-columns:repeat(3,48px);grid-template-rows:repeat(2,46px);gap:4px}.dpad button,#touch-interact{pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none;background:#25382e;color:#e8dbac;border:2px solid #a8ad75;box-shadow:inset 0 0 0 2px #34483a,0 3px #15291e;border-radius:4px;font:25px var(--mono)}.dpad button:first-child{grid-column:2}.dpad button:nth-child(2){grid-column:1}.dpad button:hover,#touch-interact:hover{background:#3f5142}#touch-interact{width:68px;height:68px;border-radius:50%;font-size:28px}#touch-interact span{display:block;font:10px var(--sans)}#game-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:max(20px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));pointer-events:none;z-index:4}.panel{width:100%;max-width:640px;max-height:100%;overflow:auto;overscroll-behavior:contain;pointer-events:auto;background:var(--paper-surface);color:var(--ink);border:1px solid #80603b;border-radius:5px;box-shadow:inset 0 0 0 3px #e7cfa4,inset 0 0 0 4px #b18b59,0 0 0 3px #493321,0 18px 70px #20170c60;padding:24px;scrollbar-width:thin;scrollbar-color:#9c9e7a transparent;scroll-padding-block:82px 70px}.panel h2{font:32px/1.15 var(--serif);margin:7px 0 16px}.panel p{font:14px/1.65 var(--sans);margin:8px 0 15px}.book-reader{display:flex;flex-direction:column;max-width:700px;background:var(--paper-surface)}.book-reader .panel-header{flex-shrink:0}.book-meta{font:11px/1.5 var(--mono);color:#685b48;margin-bottom:16px}.book-page{min-height:0;overflow-y:auto;padding:0 12px 0 3px;overscroll-behavior:contain}.panel.book-reader .book-page p{font:18px/1.7 var(--serif);color:#382d28;white-space:pre-line}.book-page:focus-visible{outline:1px dashed #9a8059;outline-offset:2px}.book-navigation{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid #c5b695;padding-top:12px;margin-top:12px;font:12px var(--mono)}.book-reader .credits{flex-shrink:0;margin-bottom:0}.reading-index{display:grid;gap:8px}.reading-index .action{text-align:left}.eyebrow{font:10px/1.5 var(--mono);letter-spacing:1.5px;color:var(--muted)}.panel-header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);margin-bottom:16px;padding-bottom:12px;gap:16px}.panel-header h2{margin:0;font-size:28px}.close-button{flex:none;background:var(--control-surface);min-width:44px;min-height:44px;font-size:24px;border:1px solid #96734b;border-radius:3px;box-shadow:inset 0 0 0 2px #fff3d5,0 2px #a08660}.close-button:hover{background:#ffedc3}.panel-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.action{padding:12px 16px;min-height:44px;background:linear-gradient(#f0d097,#d8ab70);color:#3f2d1b;font:600 13px/1.4 var(--sans);border:1px solid #8b5832;border-radius:3px;box-shadow:inset 0 0 0 2px #f9e1b4,0 2px #9b754a}.action:hover:not(:disabled){background:#f9dda8}.action:disabled{opacity:1;background:#e7dbc2;color:#6c604c;border-color:#b7a78a;border-style:solid;box-shadow:none}.action.secondary:not(:disabled){color:var(--ink);background:var(--control-surface);border-color:#a58a61;box-shadow:inset 0 0 0 2px #fff3d5,0 2px #baa17a}.action.secondary:hover:not(:disabled){background:#ffedc3}.action small{display:block;font:11px/1.5 var(--mono);margin-top:4px}.welcome-panel{text-align:center;max-width:470px;padding:30px 40px;border-top:4px solid #9c4328}.welcome-panel h2{font-size:58px;letter-spacing:-1.5px;margin:12px 0 4px}.welcome-panel p{font:italic 18px/1.45 var(--serif)}.welcome-panel .panel-actions{justify-content:center;flex-direction:column;margin:24px 16px 18px}.screen[data-mode=dialogue] #game-overlay{align-items:end}.dialogue{max-width:760px}.dialogue .speaker{font:11px var(--mono);letter-spacing:1px;text-transform:uppercase;color:var(--muted)}.dialogue p{font-size:17px;min-height:44px}.dialogue .panel-actions{justify-content:flex-end}.starter-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.starter-card{background:var(--control-surface);border:1px solid #a58a61;padding:20px 8px;text-align:center;min-width:0}.starter-card:hover{background:#ffedc3}.starter-card canvas{width:100%;max-width:140px;height:auto;image-rendering:pixelated}.starter-card strong{display:block;font:22px var(--serif)}.starter-card small{font:9px/1.6 var(--mono);display:block;margin-top:8px}.location-toast,.toast{position:absolute;left:50%;transform:translate(-50%,-8px);max-width:calc(100% - 32px);background:var(--paper-surface);color:var(--ink);border:1px solid #80603b;padding:12px 20px;text-align:center;opacity:0;transition:.2s;z-index:6;pointer-events:none}.location-toast{display:none}.toast{bottom:max(24px,env(safe-area-inset-bottom));font:11px/1.5 var(--mono);border-radius:6px;z-index:7}.screen:not([data-mode=world]) .location-toast{visibility:hidden}.screen:not([data-mode=world]) .toast{visibility:hidden}.location-toast.visible,.toast.visible{opacity:1;transform:translate(-50%)}.screen[data-mode=cinematic] :is(.location-toast,.toast){visibility:hidden;transition:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.battle-overlay{position:absolute;inset:0;pointer-events:none}.battle-stat{position:absolute;background:var(--paper-surface);border:1px solid #80603b;border-radius:4px;padding:13px 16px;width:min(30%,320px);box-shadow:inset 0 0 0 2px #fff1d2,3px 3px #62472e80}.battle-stat.enemy{top:90px;left:max(24px,calc(50% - 480px))}.battle-stat.ally{right:max(24px,calc(50% - 480px));top:50%}.battle-stat .stat-name{font:23px var(--serif);display:flex;align-items:center;justify-content:space-between}.stat-label{font:10px/1.4 var(--mono);color:#5c674f;margin-bottom:4px}.battle-stat small{font:11px var(--mono);white-space:nowrap;margin-left:8px}.hp-track{height:8px;background:#c4c9a3;margin:8px 0 6px;border-radius:6px;overflow:hidden}.hp-fill{height:100%;background:#4e6c45;transition:width .4s}.hp-fill.low{background:#92763e}.hp-number{text-align:right;font:10px var(--mono)}.battle-panel{position:absolute;bottom:max(20px,env(safe-area-inset-bottom));left:50%;transform:translate(-50%);width:calc(100% - 40px);max-width:920px;padding:20px;pointer-events:auto}.battle-panel p{margin:0 0 12px;min-height:22px}.battle-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.battle-actions .action{text-align:left;display:flex;align-items:center;justify-content:space-between;gap:6px}.battle-actions .action:focus-visible{outline-offset:1px}.battle-actions .action small{margin:0}.list-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #bdc3a2}.list-row canvas{width:52px;height:52px;image-rendering:pixelated;flex:none}.row-info{flex:1;min-width:0}.row-info strong{font:21px var(--serif)}.row-info small{font:12px/1.6 var(--sans);display:block;margin-top:4px;color:#58634e}.list-row .action{padding:10px;font-size:12px}.map-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0}.map-place{background:var(--control-surface);border:1px solid #b49a70;padding:20px 8px;font:500 13px/1.6 var(--sans);border-radius:3px}.map-place:disabled{opacity:1;cursor:default;background:#e9ddc4;color:#685b43}.map-place.current{border:2px solid #9c4328;background:#e8cca0;color:var(--ink)}.map-place small{display:block;font:10px/1.6 var(--sans)}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:20px 0;font-size:14px}.settings-row input{width:50%;accent-color:#536d44}.credits{font:11px/1.7 var(--mono);color:var(--muted)}.journal{position:absolute;z-index:5;top:50%;left:50%;transform:translate(-50%,-50%);width:calc(100% - 40px);max-width:650px;max-height:calc(100% - 40px);height:min(790px,calc(100% - 40px));display:flex;flex-direction:column;overflow:hidden}.journal .panel-header,.journal-tabs{flex:none}#journal-body{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 4px 0 1px;scrollbar-width:thin;scroll-padding-block:12px 70px}#journal-body[data-section=bestiary]{display:flex;flex-direction:column;overflow:hidden}.guide-content{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 4px 4px}.guide-content,.reserve-list,#journal-body:not([data-section=bestiary]){scrollbar-width:auto;scrollbar-color:#947343 #e4d0a9}.guide-content::-webkit-scrollbar,.reserve-list::-webkit-scrollbar,#journal-body::-webkit-scrollbar{width:10px}.guide-content::-webkit-scrollbar-track,.reserve-list::-webkit-scrollbar-track,#journal-body::-webkit-scrollbar-track{background:#e4d0a9;border-radius:5px}.guide-content::-webkit-scrollbar-thumb,.reserve-list::-webkit-scrollbar-thumb,#journal-body::-webkit-scrollbar-thumb{background:#947343;border:2px solid #e4d0a9;border-radius:5px}.guide-content:before,.reserve-list:before{content:"↕ Scroll to browse this page";display:block;position:sticky;top:0;z-index:2;padding:5px 0;background:var(--paper);border-bottom:1px solid var(--line);color:#594831;font:12px/1.4 var(--sans)}.journal-tabs{display:flex;gap:8px;border-bottom:1px solid var(--line)}.journal-tabs button{padding:12px 16px;min-height:46px;background:linear-gradient(#f8ebd0,#e2cba3);border:1px solid #bda780;border-bottom:0;border-radius:3px 3px 0 0;font-size:14px}.journal-tabs .active{border-bottom:2px solid var(--orange);background:#fff2d5;font-weight:600}.chapter-kicker{font:10px var(--mono);letter-spacing:1px;color:var(--orange);margin:22px 0 10px}.quest-title{font:30px/1.12 var(--serif);margin:0 0 12px}.quest-copy{font-size:13px;line-height:1.7;color:#596650}.objective-list{list-style:none;padding:0 0 20px;display:flex;gap:14px;flex-direction:column;border-bottom:1px solid var(--line)}.objective-list li{font-size:13px;line-height:1.5;display:flex;align-items:center;gap:10px}.check{width:16px;height:16px;border:1px solid #899875;display:grid;place-items:center;flex:none}.objective-list .done .check{background:var(--green);color:var(--paper)}.party-heading{display:flex;align-items:center;justify-content:space-between;margin:20px 0 12px}.party-heading button{background:var(--control-surface);padding:8px;font:12px var(--mono);min-height:44px}.party-preview{display:flex;gap:10px}.party-mini{flex:1;padding:14px 4px;min-height:100px;border:1px solid var(--line);background:var(--control-surface);position:relative;text-align:center}.party-mini canvas{image-rendering:pixelated;width:48px;height:48px;display:block;margin:auto}.party-mini span{font:10px var(--mono);display:block;margin-top:8px}.party-mini small{position:absolute;right:4px;top:4px;font:8px var(--mono)}.party-mini.empty{border-style:dashed;display:grid;place-items:center;font-size:24px}.inventory-line{display:flex;justify-content:space-between;margin-top:16px;font:11px var(--mono)}.bestiary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.bestiary-item{background:var(--control-surface);border:1px solid var(--line);border-radius:6px;padding:8px 4px;text-align:center;display:flex;align-items:center;flex-direction:column;min-width:0;position:relative}.bestiary-item:hover,.bestiary-item[aria-pressed=true]{background:#f5dfb7;border-color:#9c4328}.bestiary-item[aria-pressed=true]{box-shadow:inset 0 0 0 1px #9c4328}.bestiary-item canvas{width:44px;height:44px;image-rendering:pixelated}.bestiary-item small{display:block;font:500 14px/1.3 var(--sans);margin-top:5px;overflow-wrap:anywhere}.bestiary-item.unknown{background:#e9ddc4;border-style:dashed;color:#59614b}.field-entry{margin-top:8px;padding:8px;display:flex;align-items:center;gap:10px;background:#ead8b5;border-left:3px solid var(--orange);border-radius:0 6px 6px 0}.field-entry canvas{width:48px;height:48px;flex:none;image-rendering:pixelated}.field-entry p{font-size:14px;line-height:1.6;margin:5px 0 0}.field-entry>div{min-width:0;flex:1}.entry-notes{overflow-wrap:anywhere}.note-identity{display:none}.entry-notes[open] .note-identity{display:inline;font-weight:600}.entry-notes[open] summary{position:sticky;top:27px;z-index:1;background:#ead8b5}.field-entry:has(.entry-notes[open]){display:grid;grid-template-columns:48px minmax(0,1fr);gap:0 10px}.field-entry:has(.entry-notes[open])>div{display:contents}.field-entry:has(.entry-notes[open])>canvas{grid-column:1;grid-row:1 / 4;align-self:center}.field-entry:has(.entry-notes[open]) .entry-number,.field-entry:has(.entry-notes[open]) strong,.field-entry:has(.entry-notes[open]) .type-label{grid-column:2}.field-entry:has(.entry-notes[open]) .entry-notes{grid-column:1 / -1}.source-link{display:inline-flex;min-height:44px;align-items:center;margin-top:8px;padding:8px 0;font:500 13px/1.5 var(--sans);color:var(--ink);text-decoration-thickness:1px;text-underline-offset:3px}.source-link:hover{color:var(--orange)}.card-status{font:12px/1.5 var(--sans);color:#59634a;margin-top:3px}.bestiary-item .card-status{position:absolute;top:6px;right:8px}.entry-notes summary{min-height:44px;padding:12px 0 8px;cursor:pointer;font:12px/1.5 var(--sans);text-decoration:underline;text-underline-offset:3px}.entry-notes .provenance{border-top:1px solid var(--line);padding-top:8px;margin-top:10px;color:#5c654d}.row-actions{display:flex;flex:none;gap:8px}.party-storage-link .action{width:100%;text-align:left;margin-bottom:6px}.party-row{align-items:flex-start}.party-row>canvas{margin-top:8px}.party-row .row-actions{padding-top:10px}.party-row .row-info>.action{margin-top:10px}.companion-identity{display:flex;align-items:center;gap:16px}.companion-identity canvas{width:88px;height:88px;flex:none;image-rendering:pixelated}.companion-identity>div{min-width:0}.companion-identity .eyebrow{font-size:11px}.companion-details .companion-glimmer{color:#735333;font-size:12px}.companion-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:16px 0}.companion-stats>div{background:#ead8b5;border:1px solid var(--line);border-radius:4px;padding:10px 6px;text-align:center}.companion-stats dt{font:12px/1.5 var(--sans)}.companion-stats dd{margin:4px 0 0;font:600 18px/1.4 var(--sans)}.companion-growth{padding:4px 12px;border-left:3px solid #947343;background:#ead8b5}.companion-growth p{margin:6px 0}.companion-details h3{font:24px var(--serif);margin:20px 0 6px}.companion-details h3 span{font:13px var(--mono);color:var(--muted)}.companion-details .companion-hint{font-size:12px;color:var(--muted);margin-bottom:10px}.companion-moves{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:10px}.companion-move{border:1px solid var(--line);border-radius:4px;padding:12px;background:#f8ebd0}.move-heading{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.move-heading h4{font:600 15px/1.4 var(--sans);overflow-wrap:anywhere;margin:0}.move-pp{flex:none;font:12px/1.5 var(--sans)}.move-pp.empty{color:#8b3523;font-weight:600}.companion-move p{font-size:13px;margin:8px 0 0}.companion-move .move-numbers{font-size:12px;color:#735333}.field-entry strong{font:24px var(--serif);display:block;overflow-wrap:anywhere}.world-status{display:none;position:absolute;z-index:2;top:18px;left:50%;transform:translate(-50%);padding:9px 22px;background:var(--paper-surface);color:var(--ink);border:1px solid #80603b;border-radius:3px;box-shadow:inset 0 0 0 2px #fff1d2,0 2px #62472e;text-align:center;pointer-events:none;max-width:calc(100% - 32px)}.screen[data-mode=world] .world-status{display:block}.world-status strong{display:block;font:22px/1.2 var(--serif)}.world-status span{display:block;font:11px/1.5 var(--sans);margin-top:3px}.world-status i{padding:0 5px}.screen:is([data-mode=menu],[data-mode=journal],[data-mode=starter],[data-mode=dialogue],[data-mode=title]) .screen-vignette{background:#17271c4d}.screen:is([data-mode=menu],[data-mode=journal],[data-mode=battle-menu],[data-mode=starter],[data-mode=dialogue]) .game-hud{visibility:hidden}.panel:not(.welcome-panel):not(.dialogue):not(.battle-panel)>.panel-header{position:sticky;top:-24px;z-index:2;background:var(--paper);padding-top:8px}.journal>.panel-header{position:static!important;margin-bottom:8px;padding-bottom:8px}.illuminated-title{display:flex;align-items:center;justify-content:center;gap:10px;text-align:left}.title-initial{display:block;flex:none;width:108px;height:auto;pointer-events:none}@media(max-width:600px){.title-initial{width:88px}}@media(max-height:500px){.welcome-panel:has(.title-initial){padding-block:8px}.welcome-panel:has(.title-initial) h2{margin-top:2px}.welcome-panel:has(.title-initial) .title-subtitle{margin-bottom:6px}.welcome-panel:has(.title-initial) p{margin-block:6px}.welcome-panel:has(.title-initial) .panel-actions{flex-direction:row;margin-block:8px 6px}.welcome-panel:has(.title-initial) .title-controls{display:none}}.title-subtitle{font:11px/1.5 var(--mono);letter-spacing:3px;color:var(--orange);margin-bottom:22px}.title-save{color:var(--muted);font:11px/1.6 var(--sans)}.title-controls{border-top:1px solid var(--line);padding-top:16px;margin-top:22px;font:11px/1.8 var(--sans);color:var(--muted)}.title-controls span{display:block}kbd{font:10px var(--mono);border:1px solid var(--line);border-radius:3px;padding:2px 4px;background:#e9e4ce}.dialogue-heading{display:flex;justify-content:space-between;align-items:center;padding-bottom:12px;border-bottom:1px solid var(--line)}.page-count{font:11px var(--mono);color:var(--muted)}.panel:has([data-action=resume]) .panel-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.panel:has([data-action=resume]) [data-action=resume]{grid-column:1 / -1}.panel:has([data-action=reserve]) .list-row{flex-wrap:wrap}.panel:has(.reserve-list){display:flex;flex-direction:column;overflow:hidden}.panel:has(.reserve-list)>:not(.reserve-list){flex:none}.panel:has(.reserve-list)>.panel-header{position:static!important}.reserve-list{min-height:0;overflow-y:auto;overscroll-behavior:contain;margin-top:10px;padding-right:4px}.instance-label{font:12px/1.5 var(--mono);color:var(--muted)}.unavailable-note{color:#685b43;font-weight:600}.route-current{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-top:14px;padding:16px;border:1px solid var(--line);border-left:3px solid var(--orange);border-radius:0 6px 6px 0;background:#ead8b5;font:12px/1.5 var(--sans)}.route-current strong{display:block;font:23px/1.2 var(--serif);margin-top:4px}.atlas-directory{border-top:1px solid var(--line)}.atlas-directory>summary{padding:16px 4px;min-height:52px;cursor:pointer;font:500 14px/1.5 var(--sans)}.collection-summary{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:8px 0;color:var(--muted);font:12px/1.5 var(--sans)}.collection-summary strong{font:26px var(--serif);color:var(--ink)}.collection-tools{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:8px}.collection-tools label{display:block;font:12px/1.5 var(--sans);font-weight:600;color:var(--muted);min-width:0}.collection-tools input,.collection-tools select{margin-top:4px;width:100%;min-height:44px;padding:10px;border:1px solid #aaa88b;border-radius:5px;background:#fff3d9;color:var(--ink);font:13px var(--sans)}.collection-tools input::placeholder{color:#68705b;opacity:1}.reserve-tools{grid-template-columns:2fr 1fr 1fr}.collection-pagination{display:flex;justify-content:space-between;align-items:center;gap:8px;flex:none;padding:12px 0 3px;margin-top:10px;background:var(--paper);border-top:1px solid var(--line)}.collection-pagination>div{display:grid;justify-items:center;gap:6px;text-align:center;font:12px/1.5 var(--sans)}.page-jump{display:flex;align-items:center;gap:4px;color:var(--muted);font:12px var(--sans)}.page-jump select{min-height:44px;border:1px solid var(--line);border-radius:5px;background:#fff3d9;color:var(--ink);font:13px var(--sans);padding:8px 3px}.entry-number{font:12px/1.4 var(--mono);color:#59614b}.bestiary-item>.entry-number{align-self:flex-start;margin-left:4px}.type-label{display:block;color:#735333;font:11px/1.5 var(--sans);margin-top:3px}.unknown-mark{font:40px/56px var(--serif);display:block;min-width:48px;height:56px;color:#7d8068;text-align:center}.empty-state{text-align:center;padding:38px 10px;color:var(--muted)}.empty-state strong{font:25px var(--serif);color:var(--ink)}@media(pointer:coarse),(max-width:760px){.screen[data-mode=world] .touch-controls{display:flex}#travel-toggle{bottom:max(144px,calc(env(safe-area-inset-bottom) + 120px))}}@media(max-width:600px){.game-hud{padding:max(12px,env(safe-area-inset-top)) 12px 0}.hud-group{gap:5px}.hud-button{width:46px;height:54px}#game-overlay{padding:12px}.panel{padding:18px}.panel:not(.welcome-panel):not(.dialogue):not(.battle-panel)>.panel-header{top:-18px}.panel-header{gap:8px;padding-bottom:10px;margin-bottom:10px}.panel h2{font-size:27px}.panel p{font-size:14px}.welcome-panel{padding:28px 20px}.welcome-panel h2{font-size:46px}.welcome-panel p{font-size:19px}.title-controls{display:none}.world-status{top:82px;padding:8px 18px;width:max-content}.world-status strong{font-size:20px}.location-toast{top:157px;font-size:18px}.journal{width:calc(100% - 24px);max-height:calc(100% - 24px);height:calc(100% - 24px);padding:14px}.journal .panel-header{padding-top:0;padding-bottom:8px;margin-bottom:2px}.journal .panel-header h2{font-size:25px}.journal .panel-header .eyebrow{font-size:9px;line-height:1.2}.journal-tabs button{padding-block:8px;min-height:44px}.collection-tools{grid-template-columns:1fr 1fr;gap:6px}.collection-tools label{line-height:1.2}.collection-tools .search-field{grid-column:1 / -1}.collection-tools input,.collection-tools select{font-size:16px}.collection-summary{margin:6px 0}.collection-summary strong{font-size:22px}.field-entry{padding:8px;gap:8px;margin-top:10px;align-items:flex-start}.field-entry canvas{width:40px;height:40px;margin-top:10px}.field-entry strong{font-size:22px}.field-entry .type-label{font-size:12px;line-height:1.3}.entry-notes summary{padding-top:10px;padding-bottom:10px}.field-entry p{font-size:14px}.bestiary-item canvas{width:44px;height:44px}.bestiary-item .unknown-mark{height:44px;line-height:44px}.bestiary-item small{font-size:14px}.bestiary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.bestiary-item{display:grid;grid-template-columns:44px 1fr;text-align:left;gap:0 6px;padding:6px;min-height:84px}.bestiary-item>.entry-number{grid-column:1 / -1;margin:0 0 4px}.bestiary-item>canvas,.bestiary-item>.unknown-mark{grid-row:2 / 4}.bestiary-item small{margin:0;align-self:end}.bestiary-item .card-status{grid-column:2;font-size:12px;align-self:start;position:static}.dialogue p{font-size:15px}.starter-card{padding:14px 4px}.starter-card strong{font-size:18px}.starter-card small{font-size:8px}.action{font-size:13px;padding:10px}.battle-stat{width:44%;padding:10px}.battle-stat.enemy{left:12px;top:78px}.battle-stat.ally{right:12px}.battle-stat .stat-name{font-size:20px;flex-wrap:wrap;gap:3px}.battle-stat small,.hp-number{font-size:10px}.battle-panel{width:calc(100% - 24px);padding:14px;bottom:max(12px,env(safe-area-inset-bottom))}.battle-actions{gap:6px}.battle-actions .action small{font-size:10px}.battle-actions .action{align-items:flex-start;flex-direction:column;justify-content:center;min-height:54px}.list-row{gap:8px}.list-row canvas{width:40px;height:40px}.row-info strong{font-size:18px}.row-info small{font-size:12px}.list-row .action{font-size:12px;padding:8px}.map-place{font-size:12px;padding:14px 8px}.map-place small{font-size:10px}.map-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.party-row{display:grid;grid-template-columns:40px 1fr}.party-row .row-info{grid-column:2}.party-row .row-actions{grid-column:2;padding:0}.party-row .row-actions .action{flex:1}.toast{bottom:194px;width:max-content;max-width:calc(100% - 48px)}}@media(max-height:700px)and (min-width:601px){.battle-stat.ally{top:40%}.battle-actions{grid-template-columns:repeat(3,1fr)}}@media(max-height:500px)and (min-width:601px){.evolution-caption{left:55%;width:40%;bottom:20%}.evolution-caption h2{font-size:30px}.game-hud{padding-top:10px}.hud-button{width:44px;height:48px}.battle-stat{width:26%;padding:8px}.battle-stat.enemy{top:62px;left:16px}.battle-stat.ally{top:38%;right:16px}.battle-stat .stat-name{font-size:17px}.battle-panel{padding:12px;bottom:10px}.battle-panel p{font-size:12px;margin-bottom:8px}.battle-actions{grid-template-columns:repeat(3,1fr);gap:6px}.battle-actions .action{min-height:44px;padding:7px;font-size:12px}.battle-actions .action small{font-size:10px}.panel{padding:16px}}.field-entry:has(.entry-notes:not([open]))>div{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:10px;align-items:center}.field-entry:has(.entry-notes:not([open])) .entry-number{grid-column:1 / -1}.field-entry:has(.entry-notes:not([open])) strong,.field-entry:has(.entry-notes:not([open])) .type-label{grid-column:1}.field-entry:has(.entry-notes:not([open])) .entry-notes{grid-column:2;grid-row:2 / 4}@media(max-height:500px){.panel:has(.reserve-list) .panel-header{padding:0 0 8px;margin-bottom:6px}.panel:has(.reserve-list) .collection-summary{margin:0}.panel:has(.reserve-list) .collection-summary strong{font-size:20px}.panel:has(.reserve-list) .collection-hint{margin:6px 0;font-size:12px;line-height:1.3}.collection-pagination{padding-top:6px;margin-top:6px}.collection-pagination>div{display:flex;align-items:center;gap:8px}}@media(max-height:500px)and (min-width:700px){.panel:has(.reserve-list){display:grid;grid-template-columns:minmax(250px,.9fr) minmax(0,1.3fr);grid-template-rows:auto auto auto minmax(0,1fr) auto;column-gap:20px;max-width:920px;height:100%;padding:12px}.panel:has(.reserve-list)>.panel-header,.panel:has(.reserve-list)>.collection-summary,.panel:has(.reserve-list)>.collection-hint,.panel:has(.reserve-list)>.reserve-tools{grid-column:1}.panel:has(.reserve-list) .panel-header h2{font-size:25px}.panel:has(.reserve-list)>.reserve-tools{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start}.panel:has(.reserve-list) .search-field{grid-column:1 / -1}.panel:has(.reserve-list)>.reserve-list{grid-column:2;grid-row:1 / 5;margin-top:0;padding-left:12px;border-left:1px solid var(--line)}.panel:has(.reserve-list)>.collection-pagination{grid-column:1 / -1;grid-row:5}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.room-status{position:absolute;z-index:8;right:16px;top:90px;padding:8px 12px;border:1px solid #d4c48d;border-radius:4px;background:#283c2def;color:#fff0c3;font:600 12px inherit;cursor:pointer}.room-status[hidden]{display:none}.room-form{display:grid;gap:12px;margin:16px 0}.room-form label,.room-invite{display:grid;gap:5px;font-size:13px}.room-form input,.room-form select,.room-invite input{min-width:0;width:100%;box-sizing:border-box;padding:10px;font:inherit;background:#fff7e4;color:#352e23;border:1px solid #b3a07a;border-radius:3px}.room-error{color:#8e3126}.room-roster{padding:0;list-style:none}.room-roster li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:5px;padding:8px 0;border-bottom:1px solid #b5a47c66}.room-roster span{font-size:12px}.room-combatants{display:flex;justify-content:space-around;gap:12px}.room-combatants>div{display:grid;justify-items:center;gap:4px}.room-combatants span,.room-team{font-size:12px}.room-battle-log{max-height:110px;overflow:auto;font-size:13px;background:#8b744b14;padding:8px}.room-battle-log p{margin:3px 0}.room-moves,.room-team{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:12px 0}.room-panel .map-grid{max-height:45vh;overflow:auto}.room-panel small{display:block}@media(max-width:600px){.room-status{top:78px;right:10px;font-size:11px}.room-combatants canvas{max-width:84px;height:auto}}
