:root{color-scheme:light;--forest:#173f32;--ink:#203c31;--muted:#7b897a;--paper:#f5f4e9;--gold:#e3ba68;--line:#dedfd0;--serif:Georgia,'Times New Roman',serif;--sans:'Segoe UI',Arial,sans-serif}
*{box-sizing:border-box}body{margin:0;font-family:var(--sans);color:var(--ink);background:var(--paper);overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid var(--gold);outline-offset:4px}button{color:inherit}button:disabled{opacity:.35;cursor:default}.app{height:100dvh;min-height:420px;display:flex;flex-direction:column}.topbar{height:88px;flex-shrink:0;padding:0 34px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #d3d8c8;background:var(--paper);z-index:5}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--forest);font:700 23px var(--serif);letter-spacing:-.8px}.brand small{display:block;margin-top:6px;font:600 8px var(--sans);letter-spacing:2.1px}.brand-mark{width:44px;height:44px;background:var(--forest);display:grid;place-items:center;border-radius:50%}.brand-mark svg{width:31px;fill:none;stroke:#f4e6b4;stroke-width:1.8;stroke-linejoin:round}.brand-mark circle{fill:#f4e6b4;stroke:none}.park-name{font-size:10px;letter-spacing:1.6px;display:flex;align-items:center;gap:9px;font-weight:700}.park-name>span:last-child{color:#899080;font-size:9px}.park-divider{color:#b4bba9;margin:0 4px}.status-dot{height:6px;width:6px;background:#7b9b65;border-radius:50%;box-shadow:0 0 0 4px #e5e9da}.tools{display:flex;align-items:center;gap:12px}.icon-button{width:35px;height:36px;display:grid;place-items:center;background:transparent;border:0;position:relative;border-radius:9px}.icon-button:hover{background:#e7eadd}.icon-button svg{width:21px;fill:none;stroke:var(--forest);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.sound-off{width:24px;height:1px;background:#425f4d;position:absolute;transform:rotate(-45deg)}[aria-pressed=true] .sound-off{display:none}.outline-button{display:flex;align-items:center;gap:9px;border:1px solid #d5dacb;border-radius:7px;background:transparent;padding:9px 14px;font-size:11px;font-weight:600}.outline-button:hover{background:#e9ecdf}.outline-button>span:first-child{font-weight:800;font-size:15px}.game-shell{position:relative;isolation:isolate;overflow:hidden;flex:1;background:#416947;min-height:0}.game-shell:fullscreen{height:100dvh;width:100vw}.game-shell canvas#game{display:block;width:100%;height:100%;outline:none;touch-action:none;cursor:crosshair}.scene-vignette{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 57% 45%,transparent 45%,#062b3028 100%);z-index:1}.hud-card{background:#f8f5e9ee;box-shadow:0 8px 30px #082d2315;border:1px solid #f9faed99;border-radius:12px;backdrop-filter:blur(10px)}.location-card{position:absolute;top:29px;left:30px;width:275px;padding:23px 24px 18px;z-index:2}.eyebrow{font-size:8px;letter-spacing:1.65px;font-weight:700;color:#78866e;display:block}.tiny-leaf{color:#7b9865;font-size:13px;margin-right:5px}.location-card h1{font:normal 37px var(--serif);letter-spacing:-1.6px;margin:12px 0 6px}.location-card h1 span{color:#9aa975}.location-card p{font-size:12px;color:#7c8776;margin:0}.location-meta{border-top:1px solid #dfe2d2;margin-top:18px;padding-top:13px;display:flex;gap:8px;align-items:center;font-size:9px;color:#75816e}.sun-icon{font-size:15px;color:#ba9350;font-style:normal;margin-right:4px}.meta-dot{color:#a8ad9b}.compass{position:absolute;right:37px;top:29px;color:#f7f2d9;display:grid;place-items:center;gap:3px;z-index:2;filter:drop-shadow(0 2px 5px #153e3560)}.compass span{font-size:9px;letter-spacing:2px}.compass svg{width:46px;fill:none;stroke:#edf1d0;stroke-width:1}.compass svg path:nth-child(2){fill:#f1e4b5}.discovery{position:absolute;left:30px;top:239px;width:275px;display:flex;gap:12px;padding:16px 18px;z-index:2}.discovery-icon{font-size:27px;color:#82996a}.discovery>div{flex:1}.discovery .eyebrow{font-size:7px;letter-spacing:1.2px}.discovery p{font-size:10px;margin:8px 0 9px;display:flex;justify-content:space-between;align-items:center;gap:12px}.discovery b{font-size:12px}.discovery b span{color:#9ca48e;font-weight:400;font-size:10px}.progress-track{height:3px;border-radius:3px;background:#dfe4d1;overflow:hidden}.progress-track i{display:block;height:100%;width:0;background:#859969;transition:width .6s}.bottom-left{position:absolute;left:30px;bottom:30px;z-index:2;color:#f0f0d9;pointer-events:none}.terrain-pill{display:flex;align-items:center;gap:8px;font-size:10px;letter-spacing:.2px;margin-bottom:18px;text-shadow:0 2px 5px #123f31}.terrain-dot{width:7px;height:7px;border-radius:50%;background:#b8d880}.terrain-separator{color:#afc6a88a;margin:0 3px}#motion-label{color:#d2dfc5;font-size:9px}.keyboard-hint{display:flex;align-items:center;gap:12px}.keyboard-hint>span:last-child{font-size:12px;font-weight:600;text-shadow:0 1px 5px #123d2f}.keyboard-hint small{display:block;font-size:9px;color:#c5d8bb;margin-top:5px;font-weight:400}.key-cluster{display:flex;align-items:center;flex-direction:column;gap:3px}.key-cluster>span{display:flex;gap:3px}kbd{font:10px var(--sans);border:1px solid #dce6c75c;border-bottom-width:2px;border-radius:4px;padding:2px 5px;color:inherit;background:#163d3233}.key-cluster kbd{width:21px;height:20px;text-align:center;line-height:14px;background:#24493399}.map-panel{position:absolute;right:28px;bottom:29px;width:226px;border:1px solid #eef0d130;border-radius:10px;background:#173d33e8;box-shadow:0 5px 20px #153b2822;color:#d8e2c6;padding:10px;z-index:2;backdrop-filter:blur(8px)}.map-heading{display:flex;justify-content:space-between;align-items:center;font-size:8px;letter-spacing:1.6px;padding:1px 2px 6px}.map-heading button{width:22px;height:18px;line-height:14px;color:#d5dfc4;border:0;background:transparent;font-size:18px}.map-panel canvas{width:204px;height:128px;display:block}.map-foot{display:flex;justify-content:space-between;align-items:center;font-size:8px;padding-top:8px;border-top:1px solid #e3e7ca20;color:#9db899}.map-foot i{display:inline-block;width:5px;height:5px;border-radius:50%;background:#edcb7d;margin-right:4px}.map-panel.collapsed canvas,.map-panel.collapsed .map-foot{display:none}.map-panel.collapsed{width:150px}.map-panel.collapsed .map-heading{padding-bottom:0}.zoom-controls{position:absolute;top:110px;right:30px;display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px;background:#f7f5e7ed;border:1px solid #f8fae899;border-radius:9px;z-index:2;box-shadow:0 5px 25px #113d3020}.zoom-controls button{border:0;background:transparent;width:30px;height:29px;font-size:20px;border-radius:5px;display:grid;place-items:center}.zoom-controls button:hover{background:#e5e9d8}.zoom-controls svg{width:18px;stroke:#406348;stroke-width:1.3;fill:none}#zoom-label{font-size:8px;color:#869078;padding:3px 0}.zoom-divider{width:19px;border-top:1px solid #d7deca;margin:3px 0}.footer{height:39px;flex-shrink:0;display:flex;justify-content:space-between;align-items:center;padding:0 32px;background:var(--paper);z-index:4}.footer>span:first-child{font-size:8px;letter-spacing:1.4px;font-weight:600}.footer i{display:inline-block;width:5px;height:5px;background:#8ba172;border-radius:50%;margin-right:6px}.footer>span:nth-child(2){font:italic 12px var(--serif);color:#8a927d}.footer button{border:0;background:transparent;font-size:9px;color:#75816c;display:flex;gap:8px;align-items:center}.footer kbd{padding:1px 4px;background:transparent;border-color:#dce1ce;font-size:8px}.toast{position:absolute;bottom:140px;left:50%;transform:translate(-50%,14px);padding:12px 19px;background:#f7f3e6f2;border:1px solid #fdf5d4;box-shadow:0 6px 25px #123b2826;border-radius:9px;color:#38523e;font-size:12px;z-index:4;opacity:0;transition:opacity .25s,transform .25s;pointer-events:none;text-align:center;max-width:460px;line-height:1.7}.toast.visible{opacity:1;transform:translate(-50%,0)}.toast strong{font-family:var(--serif);font-size:18px;font-weight:400}.destination-hint{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);font-size:9px;color:#e2eccda8;pointer-events:none;text-shadow:0 1px 5px #1a4130;z-index:2}.loading{position:absolute;inset:0;background:#e9eddd;display:flex;align-items:center;justify-content:center;flex-direction:column;z-index:8;transition:opacity .4s}.loading.done{opacity:0;pointer-events:none}.loading-leaf{font-size:48px;color:#829b70;animation:breathe 1.5s ease-in-out infinite}.loading h2{font:30px var(--serif);letter-spacing:-.6px}.loading p{color:#7e8d76;font-size:12px}.overlay{position:absolute;inset:0;display:grid;place-items:center;background:#133d3270;backdrop-filter:blur(5px);z-index:7}[hidden]{display:none!important}.modal-card{padding:38px;background:#f7f5e9;color:var(--ink);border-radius:15px;max-width:460px;position:relative}.modal-card h2{font:35px var(--serif);letter-spacing:-1px;margin:14px 0}.modal-card p{font-size:12px;line-height:1.9;color:#7d8975}.primary-button{border:0;background:var(--forest);color:#eff0d8;font-size:12px;padding:15px 19px;border-radius:7px;display:flex;justify-content:space-between;gap:30px;width:100%;margin-top:24px}.primary-button:hover{background:#2a5840}.primary-button span{color:#e4c47a}.pause-card{text-align:center}.pause-card .primary-button{text-align:left}dialog{padding:0;border:1px solid #ffffffa0;border-radius:16px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 40px);background:var(--paper);box-shadow:0 30px 150px #082c3450}dialog::backdrop{background:#133c3266;backdrop-filter:blur(5px)}.close-button{position:absolute;top:13px;right:15px;font-size:24px;border:0;background:transparent;color:#8b977f}.control-list{margin:20px 0}.control-list>div{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid #dfe3d3;padding:9px 0;font-size:10px}.control-list dt{font-weight:600}.control-list dd{margin:0;color:#7b8973;text-align:right}.modal-card .help-note{font-size:10px;line-height:1.8}.touch-pad{position:absolute;bottom:24px;left:20px;display:none;grid-template-columns:repeat(3,36px);gap:3px;z-index:3;touch-action:none}.touch-pad button{width:36px;height:36px;border:1px solid #e1e9c540;border-radius:7px;background:#183f32bb;color:#f6edcb;font-size:18px;touch-action:none;user-select:none}.touch-pad button:active{background:#93ac65;color:#183f32}.game-shell.help-open #game{pointer-events:none}@keyframes breathe{50%{transform:translateY(-6px);opacity:.6}}
@media(min-width:1600px){.topbar{padding:0 45px}.location-card{top:38px;left:40px}.discovery{top:248px;left:40px}.bottom-left{left:40px;bottom:40px}.map-panel{right:38px;bottom:38px}}
@media(max-width:1050px){.park-name{display:none}.topbar{height:76px;padding:0 23px}.location-card{left:20px;top:20px;width:240px;padding:19px}.location-card h1{font-size:32px}.discovery{left:20px;top:207px;width:240px}.bottom-left{left:22px}.destination-hint{display:none}.map-panel{right:20px;bottom:24px}}
@media(max-width:680px){.app{min-height:400px}.topbar{height:65px;padding:0 15px;gap:10px}.brand{font-size:19px;gap:8px}.brand small{font-size:6px;letter-spacing:1.3px;margin-top:4px}.brand-mark{width:35px;height:35px}.brand-mark svg{width:26px}.tools{gap:3px}.icon-button{width:31px}.outline-button{padding:7px 10px}.pause-text{display:none}.location-card{width:193px;left:14px;top:14px;padding:15px}.location-card h1{font-size:28px;margin:8px 0 5px}.location-card p{font-size:10px}.eyebrow{font-size:6px;letter-spacing:1.2px}.location-meta{margin-top:12px;padding-top:10px;font-size:7px;gap:5px}.sun-icon{font-size:12px}.discovery{top:171px;left:14px;width:193px;padding:12px;gap:8px}.discovery .eyebrow{font-size:6px;letter-spacing:.8px}.discovery p{font-size:9px;margin:6px 0 8px}.discovery-icon{font-size:24px}.compass{right:20px;top:16px}.compass svg{width:34px}.zoom-controls{right:17px;top:88px}.bottom-left{left:17px;bottom:22px}.keyboard-hint{display:none}.terrain-pill{font-size:9px;margin:0}#motion-label,.terrain-separator{display:none}.map-panel{width:155px;right:14px;bottom:20px;padding:8px}.map-panel canvas{width:137px;height:86px}.map-heading{font-size:6px;letter-spacing:1px}.map-foot{font-size:6px;padding-top:6px}.map-foot>span:last-child{display:none}.footer{height:31px;padding:0 16px}.footer>span:first-child{font-size:6px}.footer>span:nth-child(2){display:none}.footer button{font-size:8px}.toast{bottom:175px;font-size:10px;max-width:75vw;width:320px;padding:12px}.toast strong{font-size:16px}.modal-card{padding:28px}.modal-card h2{font-size:30px}}
@media(pointer:coarse){.touch-pad{display:grid}.bottom-left{bottom:154px}.keyboard-hint{display:none}}
@media(max-height:580px){.location-card{top:12px;padding:13px 17px}.location-card h1{font-size:27px;margin:7px 0}.location-card p,.location-meta,.discovery{display:none}.compass{top:12px}.zoom-controls{top:80px}.keyboard-hint{display:none}.bottom-left{bottom:18px}.map-panel{bottom:16px}.map-panel canvas{height:86px}.toast{bottom:70px}}
@media(max-height:580px) and (pointer:coarse){.bottom-left{bottom:146px}.touch-pad{bottom:16px}.toast{bottom:146px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

/* O botão de equipamento compartilha a linha do nome para reduzir a altura da mochila. */
.item-detail-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;margin-bottom:7px}
.item-detail-heading h3{flex:1;min-width:0;margin:0;color:#f0ddab;font:19px Georgia,serif;overflow-wrap:anywhere}
.item-detail .equip-action{flex:0 0 auto;margin:0;white-space:nowrap}
@media(max-width:680px){.item-detail-heading{gap:7px}.item-detail-heading h3{font-size:16px}.item-detail .equip-action{padding:7px 9px;font-size:9px}}

/* A janela da mochila fica 5% mais baixa e não exibe a rolagem externa. */
#bag-dialog{max-height:calc(95dvh - 32px);overflow-y:auto;scrollbar-width:none}
#bag-dialog::-webkit-scrollbar{display:none}
@media(max-width:680px){#bag-dialog{max-height:calc(95dvh - 20px)}}

/* Estilo de rolagem reutilizável, seguindo as cores do botão de equipamento. */
.RolagemPadrao{scrollbar-color:#c4a46b #273f30;scrollbar-width:thin}
.RolagemPadrao::-webkit-scrollbar{width:11px;height:11px}
.RolagemPadrao::-webkit-scrollbar-track{background:#273f30;border:1px solid #e3c68f;border-radius:8px}
.RolagemPadrao::-webkit-scrollbar-thumb{background:#c4a46b;border:2px solid #273f30;border-radius:8px}
.RolagemPadrao::-webkit-scrollbar-thumb:hover{background:#d5b77e}

/* Barra única de controles: a cena ocupa toda a janela. */
.app{min-height:0}
.zoom-controls .icon-button{position:relative;padding:0;flex-shrink:0}
.zoom-controls .icon-button svg{width:18px;height:18px}
.zoom-controls .sound-off{width:21px}
.zoom-controls .pause-text{display:none}
.zoom-controls #pause-button>span:first-child{font-size:18px;line-height:1}
.zoom-controls{max-height:calc(100% - 125px);overflow-y:auto;scrollbar-width:thin}
@media(max-width:680px){.zoom-controls{max-height:calc(100% - 103px)}}
@media(max-height:480px){.zoom-controls{top:68px;gap:0}.zoom-controls button{height:24px}.zoom-controls .zoom-divider{margin:2px 0}}
.zoom-controls{z-index:9}

/* Oculta os painéis informativos e a dica de teclado indicados pelo usuário. */
.location-card,.discovery,.keyboard-hint{display:none!important}

/* Escavação: aviso junto do personagem e inventário discreto no minimapa. */
.dig-bubble{position:absolute;transform:translate(-50%,-100%);z-index:4;pointer-events:none;background:#f6f1dcf5;color:#34533c;border:1px solid #fdf5d4;box-shadow:0 5px 18px #123b2826;border-radius:7px;padding:10px 13px;white-space:nowrap;text-align:center;font-size:11px}
.dig-bubble:after{content:'';position:absolute;top:100%;left:calc(50% - 6px);border-left:6px solid transparent;border-right:6px solid transparent;border-top:7px solid #f6f1dc}
.dig-bubble small{display:block;font-size:10px;color:#84916c;margin-top:5px}
.fishing-bubble{max-width:min(270px,calc(100vw - 32px));white-space:normal;line-height:1.5}
.fishing-challenge{position:absolute;left:22px;top:50%;transform:translateY(-50%);z-index:4;width:74px;padding:10px 8px 9px;border:1px solid #e5d6a877;border-radius:9px;background:#173d33e8;box-shadow:0 5px 20px #153b2840;color:#f3e6bf;display:flex;align-items:center;flex-direction:column;gap:7px;pointer-events:none}.fishing-challenge-title{font-size:7px;letter-spacing:1.3px}.fishing-meter-track{position:relative;width:15px;height:190px;border:1px solid #d6d7a877;border-radius:99px;background:#0f2d28;overflow:visible}.fishing-meter-track>i{position:absolute;left:0;right:0;bottom:0;height:50%;border-radius:99px;background:linear-gradient(to top,#c95c50 0%,#e8c95f 50%,#76a675 100%);transition:height .12s ease}.fishing-meter-track svg{position:absolute;left:50%;bottom:50%;width:40px;height:24px;overflow:visible;transform:translate(-50%,50%);fill:#f0d18c;stroke:#304b3a;stroke-width:1.5;filter:drop-shadow(0 2px 2px #10251d88);transition:bottom .12s ease}.fishing-meter-track svg circle{fill:#263f35;stroke:none}.fishing-challenge>b{font:600 10px ui-monospace,Consolas,monospace;font-variant-numeric:tabular-nums}
.rock-bubble{max-width:min(270px,calc(100vw - 32px));white-space:normal;line-height:1.5}
.rock-challenge{position:absolute;left:112px;top:50%;transform:translateY(-50%);z-index:4;width:74px;padding:10px 8px 9px;border:1px solid #e5d6a877;border-radius:9px;background:#173d33e8;box-shadow:0 5px 20px #153b2840;color:#f3e6bf;display:flex;align-items:center;flex-direction:column;gap:7px;pointer-events:none}.rock-challenge-title{font-size:7px;letter-spacing:1.1px}.rock-challenge kbd{min-width:28px;padding:3px 6px;border:1px solid #ead9a988;border-radius:4px;background:#294c3e;color:#fff0c2;text-align:center;font:700 13px ui-monospace,Consolas,monospace}.rock-meter-track{position:relative;width:15px;height:190px;border:1px solid #d6d7a877;border-radius:99px;background:#0f2d28;overflow:hidden}.rock-meter-track>i{position:absolute;left:0;right:0;bottom:0;height:50%;border-radius:99px;background:linear-gradient(to top,#c95c50 0%,#e8c95f 50%,#76a675 100%);transition:height .08s linear}.rock-challenge>b{font:600 10px ui-monospace,Consolas,monospace;font-variant-numeric:tabular-nums}
.dig-track{height:3px;margin-top:6px;background:#dce2cc;border-radius:3px;overflow:hidden}.dig-track i{display:block;height:100%;background:#819764}
.season-clock{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #e3e7ca20;margin-top:8px;padding:7px 2px 0;font-size:9px;color:#b7c89f}.clock-value{display:flex;align-items:center;gap:5px;color:#edd29a;font-size:11px;font-variant-numeric:tabular-nums}.clock-value svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.map-panel.collapsed .season-clock{display:none}
@media(max-width:680px){.dig-bubble{font-size:10px;padding:8px 10px}.season-clock{font-size:8px}.fishing-challenge{left:8px;width:62px;padding:8px 6px}.fishing-meter-track{height:150px}}
@media(max-width:680px){.rock-challenge{left:84px;width:62px;padding:8px 6px}.rock-meter-track{height:150px}}

/* Mochila e livro de selos */
.collection-buttons{position:absolute;left:0;bottom:calc(100% + 12px);display:flex;gap:10px;pointer-events:auto}
.collection-buttons button{width:64px;height:64px;position:relative;background:linear-gradient(145deg,#3b4b32ed,#263d2eee);border:1px solid #d0ae6f99;box-shadow:0 4px 14px #12302650,inset 0 0 0 3px #e1c79015;border-radius:12px;padding:5px;transition:transform .15s}
.collection-buttons button:hover{transform:translateY(-3px);background:#596147}.collection-buttons img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 2px 2px #17271d)}.collection-buttons kbd{position:absolute;right:-3px;bottom:-4px;background:#f0e3bd;color:#46523b;border-color:#7c724f;font-size:9px;line-height:12px}
.collection-dialog{width:min(880px,calc(100vw - 32px));max-width:880px;max-height:calc(100dvh - 32px);border:2px solid #a9814e;border-radius:17px;color:#f0e6c6;background:#4b5138;overflow:auto;box-shadow:0 28px 100px #0c211cb0}
.leather-window,.book-cover{padding:23px;background:radial-gradient(ellipse at 10% 5%,#a27a4938,transparent 60%),repeating-linear-gradient(35deg,#ffffff03 0 1px,transparent 1px 4px),linear-gradient(120deg,#66503a,#3c5039);border:1px dashed #b4a474;border-radius:12px;margin:7px}
.collection-heading{position:relative;display:flex;align-items:center;gap:15px;padding:0 35px 18px 0;border-bottom:1px solid #e8d7a329}.collection-heading>img{width:72px;height:72px;object-fit:contain;filter:drop-shadow(0 4px 3px #17271d55)}.collection-eyebrow{font-size:8px;letter-spacing:1.9px;color:#c9bc91}.collection-heading h2{font:36px Georgia,serif;letter-spacing:-1px;color:#f5e8bd;margin:5px 0}.collection-heading p{font-size:10px;color:#bfc3a4;margin:0}.menu-close{position:absolute;right:0;top:0;width:30px;height:30px;background:#1b2c2638;border:1px solid #cbbb8760;border-radius:50%;font-size:23px;color:#f3e5bf;line-height:1}
.bag-layout{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:24px;margin-top:21px}.inventory-tabs{display:flex;gap:4px;margin-bottom:15px;flex-wrap:wrap}.inventory-tabs button{font-size:10px;border:1px solid transparent;border-radius:5px;padding:8px 10px;background:transparent;color:#c6c6a7}.inventory-tabs button[aria-pressed=true]{color:#f4e6bd;background:#a88b502e;border-color:#baa06a66}.bag-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;min-height:210px;align-content:start;max-height:315px;overflow-y:auto;padding:2px}.item-tile{position:relative;min-height:100px;border:1px solid #a5a07755;border-radius:8px;background:linear-gradient(135deg,#293d2bcc,#3c4933);color:#e5dfbd;padding:8px 6px;display:flex;align-items:center;flex-direction:column;justify-content:center;gap:5px}.item-tile:hover,.item-tile.selected{border-color:#e2c68b;background:#4f5d3f;box-shadow:inset 0 0 0 1px #d3b67944}.item-tile svg,.slot-body svg{width:38px;height:38px;stroke:#d5bb80;stroke-width:2.5;fill:none;stroke-linecap:round;stroke-linejoin:round}.item-tile img{width:54px;height:48px;object-fit:contain}.slot-body img{width:45px;height:38px;object-fit:contain}.item-name{font-size:9px;line-height:1.3;text-align:center}.item-quantity{position:absolute;right:6px;top:5px;font-size:9px;font-weight:400;color:#bdc8a8}.inventory-empty{grid-column:1/-1;padding:35px 12px;font:italic 15px/1.7 Georgia,serif;text-align:center;color:#c2c5a7}.equipment-panel{border-left:1px dashed #b4a47455;padding-left:23px}.equipment-panel h3{font:22px Georgia,serif;margin:5px 0;color:#e4d5a9}.equipment-panel>p{font-size:9px;color:#aebc9c;margin:7px 0 17px}.equipment-slot{position:relative;border:1px dashed #aaab7e55;border-radius:8px;text-align:center;padding:10px;margin-bottom:12px;min-height:90px;background:#172b252a}.slot-label{font-size:8px;letter-spacing:1.6px;text-transform:uppercase;color:#c8c99f;display:block}.slot-empty{font-size:26px;color:#8a9c7560;margin:3px}.equipment-slot small{font-size:9px;color:#98ab87}.slot-body{display:flex;align-items:center;justify-content:center;gap:8px;margin:8px 0}.slot-body span{font-size:10px}.slot-remove{font-size:9px;color:#d8c594;background:transparent;border:0;text-decoration:underline;text-underline-offset:3px}.item-detail{border-top:1px solid #bec09344;padding-top:13px;margin-top:14px;min-height:108px}.item-detail h3{font:19px Georgia,serif;margin:0 0 7px;color:#f0ddab}.item-detail p{font-size:11px;line-height:1.7;color:#bbc4a4;margin:0}.equip-action{background:#c4a46b;color:#273f30;border:1px solid #e3c68f;padding:8px 13px;border-radius:5px;font-size:10px;font-weight:600;margin-top:12px}.collection-footer{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #bfb78233;padding-top:15px;margin-top:14px;color:#adb695;font-size:9px;line-height:1.6}.collection-footer kbd{font-size:8px}
.book-dialog{background:#604b32}.book-cover{background:linear-gradient(100deg,#71513b,#4d5137);padding:21px}.book-paper{position:relative;background:linear-gradient(90deg,#e6d5aa 0%,#f3e7c7 46%,#c4b48f 49.8%,#b7a882 50%,#ecdfb9 51%,#f4e9cd 98%,#d8c69d 100%);color:#5c6446;margin-top:18px;padding:20px 28px 12px;border-radius:3px;box-shadow:0 4px 0 #c5b48d,0 7px 0 #a99572,0 8px 16px #18282140}.book-intro{font:italic 13px Georgia,serif;text-align:center;margin:0 0 17px;color:#7e795b}.stamp-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 20px}.stamp-empty{height:104px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:9px}.stamp-empty{border:1px dashed #8e977248;border-radius:5px;color:#8d927064;transform:rotate(-1deg)}.stamp-empty:nth-child(even){transform:rotate(1deg)}.stamp-empty>span{font:32px Georgia,serif}.stamp-empty small{font-size:9px;letter-spacing:.6px}.fish-stamp{height:104px;min-width:0;display:flex;align-items:center;gap:12px;padding:8px;background:#f8efd4;border:1px solid #d5c697;box-shadow:2px 4px 6px #6b5b3020;color:#455c40;overflow:hidden}.fish-image-frame{flex:0 0 82px;width:82px;height:82px;display:flex;align-items:center;justify-content:center;background:#efe3c2;border:1px solid #cabb92}.fish-image-frame img,.fish-image-frame svg{width:100%;height:100%;object-fit:contain}.fish-info{min-width:0;display:flex;flex-direction:column;gap:5px}.fish-name{font-weight:700;font-size:12px;line-height:1.25;color:#455c40}.fish-description{max-height:65px;overflow:auto;margin:0;font-size:9px;line-height:1.45;color:#5f674c}.book-pagination{display:grid;grid-template-columns:1fr 1fr;align-items:center;margin-top:18px;color:#8c8667;font:italic 11px Georgia,serif}.book-page-left,.book-page-right{position:relative;min-width:0;min-height:27px;display:flex;align-items:center;justify-content:space-between}.book-page-left>span,.book-page-right>span{position:absolute;left:50%;transform:translateX(-50%);text-align:center;font-variant-numeric:tabular-nums}.book-page-right{justify-content:flex-end}.book-pagination button{min-height:27px;padding:3px 8px;background:#f4e9cd;border:1px solid #b6ac8750;border-radius:4px;color:#596347;font-family:inherit;font-size:10px;font-weight:600;white-space:nowrap}.book-pagination button[hidden]{display:none}
@media(max-width:680px){.collection-buttons{gap:8px;bottom:calc(100% + 10px)}.collection-buttons button{width:49px;height:49px}.collection-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 20px)}.leather-window,.book-cover{padding:15px;margin:4px}.collection-heading{gap:10px}.collection-heading>img{width:50px;height:50px}.collection-heading h2{font-size:27px}.collection-eyebrow{font-size:6px;letter-spacing:1.2px}.bag-layout{grid-template-columns:1fr;gap:14px}.bag-grid{grid-template-columns:repeat(3,minmax(0,1fr));min-height:110px;max-height:230px}.equipment-panel{border-left:0;border-top:1px dashed #b4a47455;padding-left:0;padding-top:12px}#equipment-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.equipment-slot{padding:8px 4px}.slot-body{flex-direction:column}.slot-body span{font-size:9px}.slot-label{font-size:7px}.equipment-slot small{font-size:8px}.collection-footer{font-size:8px;flex-wrap:wrap}.book-paper{padding:17px 14px 10px}.stamp-grid{gap:15px 23px}.stamp-empty,.fish-stamp{height:98px}.book-intro{font-size:11px;line-height:1.6}.item-detail{min-height:0}.inventory-tabs button{padding:7px 8px}}
@media(max-height:570px){.collection-buttons{bottom:calc(100% + 8px)}.collection-buttons button{width:48px;height:48px}}

@media(max-height:740px){.book-dialog .collection-heading>img{width:52px;height:52px}.book-dialog .collection-heading h2{font-size:29px}.book-dialog .stamp-empty,.book-dialog .fish-stamp{height:80px}.book-dialog .book-paper{padding-top:16px}.book-dialog .stamp-grid{row-gap:14px}}
.toast.item-toast{display:flex;align-items:center;gap:15px;width:min(390px,calc(100vw - 32px));min-height:92px;padding:13px 18px;text-align:left}.item-toast>img{display:block;flex:0 0 64px;width:64px;height:64px;object-fit:contain;filter:drop-shadow(0 2px 3px #293d3028)}.item-toast-copy{min-width:0;display:flex;align-items:flex-start}.item-toast.item-toast strong{font:19px/1.45 var(--serif);color:#38523e}
.debug-dialog{width:min(460px,calc(100vw - 28px));border:1px solid #b69863;background:#344b38;color:#f1e7c6;overflow:visible}
.debug-window{position:relative;padding:30px;background:radial-gradient(ellipse at 10% 0%,#b7984830,transparent 65%),linear-gradient(140deg,#46533a,#273d34);border-radius:15px}
.debug-window h2{font:29px Georgia,serif;margin:7px 0 23px;color:#f2e5bd}.debug-window label{display:block;margin-bottom:8px;font-size:11px;color:#d0c69e}
.debug-entry{display:flex;gap:8px}.debug-entry input{min-width:0;flex:1;border:1px solid #b8aa7566;border-radius:6px;padding:11px;background:#182e27;color:#f5edcf;font:14px ui-monospace,Consolas,monospace;outline:none}.debug-entry input:focus{border-color:#e2c786;box-shadow:0 0 0 2px #d4b77530}.debug-entry button{border:1px solid #e2c786;border-radius:6px;background:#d7bd80;color:#293e32;padding:0 14px;font-size:11px;font-weight:700}.debug-window>p{min-height:18px;margin:13px 0 22px;color:#bec8aa;font-size:10px}.debug-window code{color:#ebd492}.debug-window footer{border-top:1px solid #d8cc9730;padding-top:13px;color:#aeb99b;font-size:9px}.debug-window kbd{margin:0 3px}
.npc-dialog{width:min(350px,calc(100vw - 30px));border:1px solid #b9a16c;background:#354b39;color:#f1e7c6;overflow:visible}.npc-window{position:relative;padding:27px;background:radial-gradient(ellipse at 10% 0%,#b7984830,transparent 65%),linear-gradient(140deg,#46533a,#273d34);border-radius:14px}.npc-window h2{font:32px Georgia,serif;margin:7px 0 16px;color:#f2e5bd}.npc-options{display:grid;gap:8px}.npc-options button{border:1px solid #cbb77e66;border-radius:6px;background:#f3e8c5;color:#38503b;padding:11px 14px;text-align:left;font-weight:600;font-size:12px;transition:background .15s,transform .15s}.npc-options button:hover{background:#dfca91;transform:translateX(2px)}.npc-options #npc-exit{background:#243a31;color:#e9dfbd;border-color:#cbb77e55}.npc-options #npc-exit:hover{background:#526145}.npc-response{margin:0 0 15px;padding:10px 12px;border-left:2px solid #d9bc78;background:#182e2744;color:#e3d8b4;font-size:11px;line-height:1.7}
.pinha-hunger{display:grid;gap:6px;margin:-7px 0 14px;color:#eadcaf;font-size:10px}.pinha-hunger-track{height:9px;overflow:hidden;border:1px solid #d8c68b66;border-radius:8px;background:#1c332c}.pinha-hunger-track i{display:block;width:0;height:100%;background:linear-gradient(90deg,#a9b96c,#e8c86e);transition:width .25s}
.cooking-status{position:absolute;top:22px;left:50%;transform:translateX(-50%);z-index:4;width:min(300px,calc(100vw - 32px));padding:12px 15px;border:1px solid #d8c68b66;border-radius:9px;background:#243c32ed;box-shadow:0 7px 24px #102c2455;color:#eadcaf;font-size:10px;text-align:center;pointer-events:none}.cooking-status .pinha-hunger-track{margin-top:7px}.cooking-status .pinha-hunger-track i{background:linear-gradient(90deg,#d8b869,#f0dc9e)}
.cook-item{cursor:pointer;transition:border-color .15s,background .15s}.cook-item:hover,.cook-item.selected{border-color:#e6ce87;background:linear-gradient(135deg,#46533a,#5a5b3d)}.cook-item:focus-visible{outline:2px solid #e6ce87;outline-offset:2px}
.trader-dialog .leather-window{margin:7px}.trader-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin-top:18px}.trade-item{min-width:0;display:flex;align-items:center;gap:12px;padding:12px;border:1px solid #c5b27a55;border-radius:8px;background:linear-gradient(135deg,#293d2bcc,#3c4933);color:#e5dfbd}.trade-item>img{flex:0 0 68px;width:68px;height:64px;object-fit:contain;filter:drop-shadow(0 2px 3px #17271d55)}.trade-details{min-width:0;flex:1}.trade-details h3{font:16px Georgia,serif;color:#f0ddab;margin:0 0 7px}.trade-details p{font-size:9px;line-height:1.5;color:#c0c5a4;margin:0}.trade-item .equip-action{flex:0 0 auto;margin:0;padding:8px 10px}.trade-item .equip-action:disabled{opacity:.4;cursor:default}.trade-message{padding:10px 12px;margin:14px 0 0;border-left:2px solid #d9bc78;background:#182e2744;color:#e3d8b4;font-size:10px;line-height:1.6}.sale-value{flex:0 0 112px;text-align:right;color:#dfca91;font-size:9px;line-height:1.5}.trader-dialog .collection-footer{align-items:center}.trader-dialog .collection-footer button{border:1px solid #bda97177;border-radius:5px;background:#263d32;color:#eee2be;padding:7px 13px;font-size:10px}
@media(max-width:680px){.trader-grid{grid-template-columns:1fr;gap:8px}.trade-item>img{flex-basis:56px;width:56px;height:54px}.trade-details h3{font-size:14px}.sale-value{flex-basis:105px}}
.sale-heading{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.sale-heading h3{margin-bottom:5px}.sale-value{flex:0 0 auto;white-space:nowrap}.sell-quantity{display:flex;align-items:center;gap:7px;color:#e5d7ab;font-size:12px}.sell-quantity input{width:54px;min-height:30px;padding:4px 6px;border:1px solid #d3bf8066;border-radius:5px;background:#192d26;color:#fff0c6;text-align:center;font:600 12px ui-monospace,Consolas,monospace;outline:none}.sell-quantity input:focus{border-color:#e2c786;box-shadow:0 0 0 2px #d4b77530}.sell-quantity input:disabled{opacity:.5}.quantity-slash{color:#aeb695}.quantity-total{min-width:14px;color:#d4ca9f}.trader-dialog .collection-footer button:disabled{opacity:.45;cursor:not-allowed}
#sell-dialog .collection-footer{justify-content:flex-end}

@media(max-width:680px){.fish-stamp{height:98px;gap:8px;padding:6px}.fish-image-frame{flex-basis:68px;width:68px;height:68px}.fish-name{font-size:11px}.fish-description{font-size:8px;line-height:1.35}}
@media(max-height:740px){.book-dialog .fish-stamp{height:80px}.book-dialog .fish-image-frame{flex-basis:62px;width:62px;height:62px}.book-dialog .fish-description{max-height:58px}}
