@charset "UTF-8";
:root{--paper:#e8efe9;--panel:#f6f7ef;--ink:#3e564f;--muted:#829188;--jade:#6e9781;--jade-dark:#466957;--gold:#bb9b62;--border:#d3dfd3;--red:#c98e7a}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 30% -20%,#d0e1d8,transparent 65%),var(--paper);color:var(--ink);font-family:"Microsoft YaHei UI","Microsoft YaHei",sans-serif}button,input{font:inherit}button{cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button{transition:background .15s,transform .15s}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,input:focus-visible,a:focus-visible,.world:focus-visible{outline:3px solid #b99d69;outline-offset:3px}.shell{max-width:1560px;margin:auto;padding:27px 35px}.header{display:flex;justify-content:space-between;align-items:center;padding-bottom:23px;border-bottom:1px solid var(--border);gap:15px}.brand{display:flex;align-items:center;gap:14px}.seal{display:grid;place-items:center;background:#527d65;color:#f4efd6;width:44px;height:49px;border-radius:8px 8px 14px 8px;font:29px "STKaiti","KaiTi",serif;box-shadow:inset 0 0 0 4px #527d65,inset 0 0 0 5px #c6d3b3}.brand strong{font-family:"STKaiti","KaiTi","Microsoft YaHei",serif;font-size:27px;letter-spacing:4px;font-weight:600}.brand small{display:block;font-size:9px;letter-spacing:3px;color:var(--muted);margin-top:6px}.header-actions{display:flex;align-items:center;gap:9px}.header-actions>span{font-size:10px;color:var(--muted);margin-right:12px}.header-actions button{background:#f3f6ec;border:1px solid var(--border);color:var(--ink);padding:8px 13px;font-size:10px;border-radius:6px}.header-actions button:hover{background:#dce8d8}.layout{display:grid;grid-template-columns:216px minmax(0,1fr) 208px;gap:22px;margin-top:26px;align-items:start}.profile{background:var(--panel);border:1px solid var(--border);border-radius:15px;padding:22px 19px 14px}.profile-head{text-align:center}.profile-head #portrait{width:105px;height:128px;margin:-10px auto 0;position:relative}.profile-head #portrait:before{content:'';position:absolute;inset:17px 0 13px;border-radius:50%;background:#e0e9d9;z-index:0}.profile-head svg{position:relative;width:100%;height:100%}h1{font-family:"STKaiti","KaiTi",serif;font-size:25px;font-weight:500;letter-spacing:3px;margin:6px 0 8px}#sect-name{font-size:10px;color:var(--muted)}.level{display:flex;justify-content:space-between;align-items:center;padding:17px 0;border-bottom:1px solid var(--border);font-size:9px;color:var(--muted)}.level span:first-child{color:var(--gold)}.vitals{padding-top:17px}.vitals>div:not(.meter){display:flex;justify-content:space-between;font-size:9px;margin-bottom:7px}.vitals strong{font-size:9px;font-weight:400;color:var(--muted)}.meter{height:5px;background:#e3e8d9;border-radius:5px;overflow:hidden;margin-bottom:15px}.meter i{display:block;background:#bc8d7c;width:100%;height:100%;transition:width .25s;border-radius:5px}.meter.mana i{background:#82a6a4}.meter.xp i{background:#b6a578}.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px 8px;padding:6px 0 20px;border-bottom:1px solid var(--border)}.stat-grid>div{display:flex;align-items:center;justify-content:space-between;font-size:9px;color:var(--muted);padding-right:9px}.stat-grid strong{font-size:17px;color:var(--ink);font-weight:500}.stat-grid>div:nth-child(3) strong{color:#b6935e}.equipment h2{font-size:11px;font-weight:500;margin:18px 0 12px}.equipment>div{display:flex;align-items:center;gap:12px;margin-bottom:15px}.equipment>div>span{display:grid;place-items:center;width:30px;height:33px;border:1px solid #d5dcc8;border-radius:6px;background:#ebeddf;font-family:"STKaiti","KaiTi",serif;color:#8c9878}.equipment p{font-size:10px;margin:0}.equipment small{display:block;font-size:8px;color:var(--muted);margin-top:5px}.bag-button{width:100%;display:flex;justify-content:space-between;align-items:center;background:#e3eadb;border:1px solid #d3dfc9;border-radius:7px;color:var(--ink);padding:11px;font-size:10px;margin-top:17px}.bag-button>span:first-child{color:var(--gold);font-size:17px}.bag-button>span:last-child{font-size:9px}.profile-note{font-size:8px;text-align:center;color:#97a18e;margin:14px 0 0}.adventure{min-width:0}.scene-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding:0 3px}.scene-heading>div>span{font-size:9px;letter-spacing:2px;color:var(--muted)}.scene-heading h2{font:30px "STKaiti","KaiTi",serif;letter-spacing:3px;margin:9px 0 7px}.scene-heading p{font-size:10px;color:var(--muted);margin:0}.weather{display:flex;align-items:center;gap:10px;font-size:10px}.weather>span{font-size:25px;color:#bd9f65}.weather small{display:block;font-size:8px;color:var(--muted);margin-top:5px}.world-wrap{border:1px solid #c0d0bc;border-radius:15px;overflow:hidden;background:#d7e1c8;box-shadow:0 6px 0 #dce4d6}.world{position:relative;aspect-ratio:1050/650;overflow:hidden;touch-action:manipulation;cursor:default}.world>#landscape,.world #landscape>svg{position:absolute;inset:0;width:100%;height:100%}#entities{position:absolute;inset:0;pointer-events:none}.entity{position:absolute;transform:translate(-50%,-100%);width:9.7%;padding:0;background:none;border:0;pointer-events:auto;color:#42594f;display:flex;align-items:center;flex-direction:column}.entity .sprite{width:100%;line-height:0;filter:drop-shadow(0 2px 0 #fff2);transition:transform .18s}.entity .sprite svg{width:100%;height:auto}.entity:hover .sprite{transform:translateY(-4px)}.entity .npc-label{background:#f5f1dcdd;font-size:clamp(8px,.72vw,11px);border-radius:5px;padding:4px 8px;white-space:nowrap;box-shadow:0 1px 0 #6f8d6e33;min-width:50px}.entity .quest-dot{position:absolute;top:-15px;left:50%;transform:translateX(-50%);border-radius:50%;width:19px;height:19px;display:grid;place-items:center;background:#e4c377;border:2px solid #fff5cf;color:#7e6636;font-size:11px;font-weight:700}.entity.herb-entity{width:7%;}.hero-actor{position:absolute;width:9.9%;transform:translate(-50%,-100%);pointer-events:none;z-index:2;display:flex;align-items:center;flex-direction:column}.hero-actor svg{display:block;width:100%;height:auto}.hero-actor>span{color:#eff7e8;background:#527c63e6;border-radius:5px;padding:4px 9px;font-size:clamp(8px,.72vw,11px);white-space:nowrap}.scene-tag{position:absolute;top:18px;left:19px;pointer-events:none;background:#f9f8e9d9;border:1px solid #fefff155;border-radius:8px;padding:10px 13px}.scene-tag>span{font:17px "STKaiti","KaiTi",serif;letter-spacing:2px}.scene-tag small{display:block;font-size:8px;color:#81917b;margin-top:5px}.world-caption{padding:10px 13px;display:flex;justify-content:space-between;align-items:center;font-size:8px;color:#63735e;background:#e9ecd9}.world-caption>span{display:flex;align-items:center;gap:6px}.world-caption i{width:4px;height:4px;background:#86a478;border-radius:50%}.world-caption button{background:none;border:0;color:#5a705a;font-size:8px;padding:4px}.world-caption kbd{margin-left:4px;background:#d4ddc4;border-radius:3px;padding:2px 4px;font-family:inherit}.travel{display:flex;gap:6px;margin-top:22px;justify-content:space-between}.travel button{display:flex;align-items:center;justify-content:center;gap:7px;flex:1;padding:11px 5px;font-size:9px;border:1px solid #ccd9c8;color:#758573;border-radius:7px;background:#eff3e8;white-space:nowrap}.travel button>span{font:16px "STKaiti","KaiTi",serif}.travel button:hover{background:#dce7d5}.travel button.active{background:#63876e;color:#f3f4e7;border-color:#63876e}.journal{margin-top:24px;padding:15px 18px;background:#f0f3e9;border:1px solid var(--border);border-radius:10px}.journal-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.journal h3{font-size:11px;font-weight:500;margin:0}.journal-title>span{font-size:8px;color:#9ba58f}#journal p{font-size:9px;line-height:1.8;color:#849180;margin:5px 0}#journal p:last-child{color:#526c57}#journal p:before{content:'·';color:#b5a071;margin-right:9px}.quest-card{background:#f4f2e4;border:1px solid #dbdcc8;border-radius:12px;padding:18px}.quest-top{display:flex;align-items:center;justify-content:space-between;font-size:9px;color:#9a9b7b}.quest-top>span:last-child{font-size:8px}.quest-emblem{font:32px "STKaiti","KaiTi",serif;display:grid;place-items:center;border:1px solid #d8d2b5;border-radius:50%;width:63px;height:63px;background:#eeead5;color:#b5a478;margin:23px auto 19px;box-shadow:0 0 0 7px #eeead557}.quest-card h2{font-family:"STKaiti","KaiTi",serif;font-size:23px;font-weight:400;margin:0 0 12px;text-align:center}.quest-card p{font-size:10px;line-height:1.9;color:#8c907b;min-height:60px}.quest-card button{border:1px solid #cfd1b6;background:#e6e6d0;border-radius:6px;color:#7a8261;padding:10px;width:100%;display:flex;justify-content:space-between;font-size:9px}.quest-progress{height:3px;background:#e3dfc9;border-radius:4px;margin-top:18px}.quest-progress i{display:block;width:5%;height:100%;background:#b8a777;border-radius:4px}.guide{padding:24px 4px 4px}.guide h3{font-size:11px;font-weight:500;margin:0 0 16px}.guide>div{display:flex;align-items:flex-start;gap:11px;margin-bottom:18px}.guide>div>span{font-size:20px;color:#9aa784}.guide p{font-size:9px;line-height:1.85;margin:0;color:#879580}.guide strong{display:block;font-size:10px;font-weight:500;color:#687d64;margin-bottom:4px}.martial-button{display:flex;align-items:center;flex-wrap:wrap;column-gap:10px;padding:15px;background:#e3e9da;border:1px solid #d0dac7;border-radius:8px;width:100%;color:var(--ink)}.martial-button>span{color:#ad9c73;font-size:24px;grid-row:1/3}.martial-button strong{font-size:11px;font-weight:500}.martial-button small{font-size:8px;display:block;flex-basis:100%;text-align:left;margin:4px 0 0 32px;color:#87947f}.keyboard{font-size:8px;line-height:1.9;color:#97a18e;text-align:center;margin-top:20px}footer{display:flex;justify-content:space-between;gap:15px;border-top:1px solid var(--border);padding-top:18px;margin-top:28px;color:#95a08e;font-size:9px}dialog{background:#f7f7ec;color:var(--ink);border:1px solid #bacbb7;border-radius:17px;padding:29px;width:calc(100% - 28px);max-width:500px;box-shadow:0 20px 90px #243f3c30}dialog::backdrop{background:#2c453f80;backdrop-filter:blur(5px)}dialog h2{font:28px "STKaiti","KaiTi",serif;letter-spacing:1px;margin:7px 0 10px}dialog p{font-size:12px;line-height:1.9;color:#7a8b76}.close{position:absolute;right:15px;top:14px;width:27px;height:27px;border-radius:50%;border:1px solid #d2dbca;background:#edf1e5;color:#879780;font-size:20px;z-index:2}.dialogue-top{display:flex;align-items:center;gap:18px}#npc-portrait{width:82px;height:108px;background:#e4edda;border-radius:40px 40px 15px 15px}#npc-portrait svg{width:100%;height:100%}.dialogue-top span{font-size:10px;color:#b29b70}.dialogue-top h2{font-size:27px}.dialogue-actions{display:flex;flex-direction:column;gap:9px;margin-top:21px}.dialogue-actions button{display:flex;align-items:center;justify-content:space-between;text-align:left;border:1px solid #d0dbc7;background:#e9efdf;border-radius:8px;color:#557256;font-size:12px;padding:13px 15px}.dialogue-actions button:hover{background:#dce8d4}.dialogue-actions button small{font-size:9px;color:#8a997c;margin-left:10px}.dialogue-actions button.primary,.primary{display:flex;align-items:center;justify-content:space-between;width:100%;background:#628b71;color:#f5f7e8;border:1px solid #628b71;border-radius:8px;padding:14px 19px;font-size:13px}.primary:hover{background:#507c5e}.quiet{width:100%;padding:12px;margin-top:9px;font-size:11px;background:none;border:0;color:#7b8a73}.creation-stamp{display:inline-block;padding:5px 9px;border:1px solid #c5cfb4;color:#96a278;border-radius:4px;font-size:10px;margin-bottom:8px}#creation>p{font-size:11px}#create-form>label{display:block;font-size:10px;margin:22px 0 8px}#name-input{width:100%;padding:13px 15px;border:1px solid #c9d5bf;background:#eff3e5;border-radius:7px;color:var(--ink);font-size:14px}fieldset{display:flex;gap:12px;border:0;padding:0;margin:20px 0}legend{font-size:10px;margin-bottom:12px}.look-choice{position:relative;flex:1;text-align:center;border:1px solid #d0d7c2;border-radius:10px;background:#eef1df;padding:13px;cursor:pointer}.look-choice:has(input:checked){border-color:#6f987c;background:#e1ebd5;box-shadow:inset 0 0 0 1px #6f987c}.look-choice input{position:absolute;top:10px;left:10px;accent-color:#63896d}.look-choice svg{width:85px;height:108px;display:block;margin:auto}.look-choice strong{font-size:10px;font-weight:500}#creation-warning{color:#b17c64;font-size:10px}#toast{position:fixed;bottom:23px;left:50%;transform:translate(-50%,12px);padding:12px 20px;border-radius:8px;background:#3f6051;color:#f2f3dd;font-size:12px;opacity:0;pointer-events:none;transition:.2s;z-index:10;max-width:calc(100% - 25px);text-align:center}#toast.show{opacity:1;transform:translate(-50%,0)}#combat{max-width:660px;padding:24px}.battle-top{display:flex;justify-content:space-between;font-size:10px;color:#8d987b}.battle-stage{position:relative;display:flex;justify-content:space-between;align-items:flex-end;overflow:hidden;border-radius:11px;margin-top:19px;padding:29px 38px 18px;background:linear-gradient(#dce7dc,#ebeedc);min-height:260px}.battle-mountains{position:absolute;inset:0;background:#a9c3aa;clip-path:polygon(0 60%,10% 38%,22% 58%,38% 24%,54% 51%,68% 29%,83% 55%,100% 40%,100% 100%,0 100%);opacity:.35}.fighter{position:relative;width:38%;text-align:center;z-index:1}.fighter svg{width:120px;height:155px;max-width:100%;display:block;margin:0 auto 6px}.fighter strong{font:20px "STKaiti","KaiTi",serif}.fighter .meter{height:6px;max-width:150px;margin:11px auto 6px}.fighter small{font-size:9px;color:#7d8e78}.meter.enemy i{background:#a096b2}.versus{position:absolute;left:50%;top:41%;transform:translateX(-50%);font:20px "STKaiti","KaiTi",serif;color:#a3a688}.enemy-intent{display:flex;gap:10px;align-items:center;background:#eae9d8;padding:10px 13px;border-radius:7px;margin-top:14px}.enemy-intent>span{display:grid;place-items:center;background:#d4c5a0;color:#847459;width:20px;height:20px;border-radius:50%;font-size:10px}.enemy-intent p{margin:0;font-size:10px;color:#8f8b6e}.enemy-intent.heavy{background:#f0dfcb}.enemy-intent.heavy p{color:#ad7961}.combat-log{padding:10px 0;font-size:10px;color:#6b7b64;line-height:1.8;min-height:54px}.combat-log p{font-size:10px;margin:0;line-height:1.8}#combat-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}#combat-actions button{text-align:left;padding:12px;border:1px solid #c8d5c0;border-radius:7px;background:#e6eddc;color:#5d7a5e}#combat-actions button strong{display:block;font-size:11px;font-weight:500}#combat-actions button small{display:block;font-size:8px;color:#8e9b7d;margin-top:6px}#combat-actions button[data-action=skill]{background:#dee8d2;border-color:#94b18c}#combat-actions button:hover{background:#d3e1c8}.combat-end #combat-actions{display:none}#damage-number{position:absolute;right:19%;top:26%;font-size:30px;font-weight:700;color:#b9786c;pointer-events:none;opacity:0}.hit #damage-number{animation:damage .65s ease-out}.hit .enemy-fighter svg{animation:hit .3s ease-out}#battle-done{justify-content:center}[hidden]{display:none!important}@keyframes damage{0%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(-35px)}}@keyframes hit{25%{transform:translateX(6px)}75%{transform:translateX(-4px)}}.walking #hero-art{animation:walk .32s infinite alternate ease-in-out}@keyframes walk{to{transform:translateY(-3px) rotate(2deg)}}@media(max-width:1200px){.shell{padding:24px}.layout{grid-template-columns:185px minmax(0,1fr) 180px;gap:16px}.profile{padding:19px 14px}.quest-card{padding:15px}.world-caption>span{font-size:7px}.travel button{font-size:8px;gap:4px}.travel button>span{font-size:14px}.scene-heading h2{font-size:27px}}@media(max-width:1000px){.layout{grid-template-columns:170px minmax(0,1fr)}.quest-column{grid-column:2;display:grid;grid-template-columns:1.1fr 1fr;gap:16px}.quest-card{grid-row:1/3}.quest-emblem{display:none}.quest-card h2{text-align:left;margin-top:15px}.quest-card p{min-height:unset}.guide{padding:12px 4px}.guide>div{margin-bottom:10px}.guide>div:last-child{display:none}.martial-button{align-self:start}.keyboard{display:none}.world-caption>span{font-size:8px}.entity{width:11.5%}.hero-actor{width:11.5%}.scene-tag{top:13px;left:13px}.scene-tag small{font-size:7px}}@media(max-width:700px){.shell{padding:18px 13px}.header{padding-bottom:17px}.brand{gap:10px}.seal{width:37px;height:42px;font-size:25px}.brand strong{font-size:23px;letter-spacing:2px}.brand small{font-size:8px;letter-spacing:1px}.header-actions{gap:5px}.header-actions>span{display:none}.header-actions button{padding:7px 9px;font-size:9px}.layout{display:flex;flex-direction:column;gap:19px;margin-top:19px}.profile{width:100%;padding:12px 14px;display:grid;grid-template-columns:110px 1fr;gap:0 17px;border-radius:11px}.profile-head{grid-row:1/3;position:relative;text-align:left;padding-left:51px;display:flex;flex-direction:column;justify-content:center}.profile-head #portrait{position:absolute;left:-8px;top:5px;width:59px;height:80px;margin:0}.profile-head #portrait:before{inset:14px 0 6px}.profile-head h1{font-size:18px;letter-spacing:0;margin:6px 0}#sect-name{font-size:8px;line-height:1.8}.level{border:0;display:block;padding:0;font-size:8px;line-height:1.9}.level #level{font-size:7px}.level #day{display:block}.vitals{padding-top:2px;display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.vitals>div:nth-child(1){grid-column:1}.vitals>div:nth-child(2){grid-column:1;grid-row:2}.vitals>div:nth-child(3){grid-column:2;grid-row:1}.vitals>div:nth-child(4){grid-column:2;grid-row:2}.vitals>div:nth-child(5),.vitals>div:nth-child(6){display:none}.vitals>div:not(.meter){font-size:8px}.vitals strong{font-size:8px}.vitals .meter{margin-bottom:10px}.stat-grid{display:flex;justify-content:space-between;border:0;gap:7px;padding:0}.stat-grid>div{display:block;font-size:7px;padding:0}.stat-grid strong{display:block;font-size:13px;margin-top:4px}.equipment,.profile-note{display:none}.bag-button{grid-column:1/3;padding:7px 12px;margin-top:11px;font-size:9px}.bag-button>span:first-child{font-size:14px}.adventure{width:100%}.scene-heading{margin-bottom:14px}.scene-heading h2{font-size:26px;margin:7px 0}.scene-heading p{font-size:9px}.scene-heading>div>span{font-size:8px}.weather>span{font-size:22px}.world-wrap{border-radius:11px}.world{aspect-ratio:1050/650}.entity{width:13.8%}.hero-actor{width:13.5%}.entity.herb-entity{width:9%}.entity .npc-label,.hero-actor>span{font-size:8px;padding:3px 5px;min-width:unset}.entity .quest-dot{top:-16px;width:17px;height:17px;font-size:10px}.scene-tag{padding:7px 9px;top:9px;left:9px}.scene-tag>span{font-size:14px}.scene-tag small{display:none}.world-caption{padding:9px;font-size:7px;gap:5px}.world-caption>span{font-size:7px}.world-caption button{font-size:7px}.world-caption kbd{display:none}.travel{gap:5px;margin-top:17px}.travel button{flex-direction:column;padding:9px 3px;gap:5px;font-size:8px}.travel button>span{font-size:16px}.journal{margin-top:17px;padding:13px}.journal h3{font-size:10px}#journal p{font-size:9px}.quest-column{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:12px}.quest-card{padding:14px;grid-row:1/3}.quest-card h2{font-size:20px}.quest-card p{font-size:9px}.quest-card button{font-size:8px;padding:8px}.quest-top{font-size:8px}.guide{padding:8px 1px}.guide h3{font-size:10px;margin-bottom:11px}.guide p{font-size:8px}.guide strong{font-size:9px}.guide>div{gap:7px}.guide>div>span{font-size:17px}.martial-button{padding:10px}.martial-button strong{font-size:10px}.martial-button>span{font-size:19px}.martial-button small{margin-left:28px}.quest-progress{margin-top:12px}footer{font-size:8px;margin-top:22px}.battle-stage{min-height:220px;padding:21px 13px 17px}.fighter{width:40%}.fighter svg{width:98px;height:130px}.fighter strong{font-size:18px}#combat{padding:19px}#combat-actions button{padding:11px 9px}#combat-actions button strong{font-size:10px}#combat-actions button small{font-size:8px}.versus{font-size:17px}.enemy-intent p{font-size:9px}dialog{padding:24px}.dialogue-top{gap:15px}#npc-portrait{width:75px;height:98px}.dialogue-top h2{font-size:25px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
/* Game viewport and diegetic overlays. */
html,body{height:100%;margin:0;overflow:hidden;background:#cbdccc}.game-screen{position:relative;height:100dvh;width:100%;overflow:hidden;background:#cbdccc;color:#243d2f;font-size:14px}.camera{position:absolute;inset:0;overflow:hidden}.world{position:absolute;left:0;top:0;width:1050px;height:650px;aspect-ratio:auto;transform-origin:0 0;overflow:visible;border-radius:0;outline:none}.world #landscape,.world #entities{position:absolute;inset:0}.entity{width:105px!important}.entity.herb-entity{width:78px!important}.hero-actor{width:105px!important}.entity .npc-label,.hero-actor>span{font-size:12px!important;min-width:54px;padding:5px 9px;color:#253c2e;background:#fff8e4f2}.entity .quest-dot{width:24px;height:24px;font-size:15px;top:-22px}.hud-top{position:absolute;top:16px;left:18px;right:18px;display:flex;align-items:flex-start;justify-content:space-between;gap:18px;pointer-events:none}.hud-top>*{pointer-events:auto}.avatar-hud{display:flex;gap:10px;align-items:center;text-align:left;padding:8px 16px 8px 6px;background:#fff8e8ed;border:0;border-radius:10px;box-shadow:0 6px 22px #24483226;min-width:190px;color:#2c4734}#hud-avatar{width:52px;height:69px;display:block}#hud-avatar svg{width:100%;height:100%}.avatar-hud strong{font-size:19px;display:block}.avatar-hud small{font-size:11px;display:block;margin-top:5px}.mini-meter{display:block;height:5px;width:115px;background:#d8d7bd;margin-top:5px;border-radius:5px;overflow:hidden}.mini-meter i{display:block;height:100%;background:#b26753}.location-hud{text-align:center;background:#fff8e8de;padding:10px 25px;border-radius:0 0 12px 12px}.scene-heading{margin:0;display:block}.scene-heading h2{margin:0;font-size:27px;color:#304a39}.scene-heading p{margin:5px 0 0;font-size:11px;color:#52644a}.hud-top>button:last-child{background:#fff8e8ed;min-height:44px;padding:10px 18px;color:#314c39;font-size:13px;border-radius:8px;border:0;box-shadow:0 5px 18px #24483226}.quest-hud{position:absolute;top:130px;left:18px;padding:13px 17px;text-align:left;background:#fff8e8ed;border:0;border-radius:9px;box-shadow:0 6px 20px #24483226;color:#2d4533;max-width:220px}.quest-hud span,.quest-hud small{display:block;font-size:10px;color:#647052}.quest-hud strong{display:block;font-size:17px;margin:6px 0}.action-dock{position:absolute;bottom:22px;right:22px;display:flex;gap:9px;align-items:stretch}.action-dock>button{margin:0;display:block;width:auto;min-width:76px;background:#fff8e8f5;padding:12px 16px;color:#2e4a35;border:0;box-shadow:0 6px 20px #24483230;border-radius:9px;font-size:13px;min-height:56px}.action-dock>button:hover,.hud-top button:hover,.quest-hud:hover{background:#f7e9ba}.action-dock .bag-button>span:first-child,.action-dock .martial-button>span{display:none}.action-dock .bag-button>span:last-child{display:inline;margin-left:5px}.action-dock .martial-button strong{font-size:13px}.action-dock .martial-button small{margin:3px 0 0;font-size:10px;color:#52644a}.action-dock kbd{display:none}.scene-hint{position:absolute;bottom:22px;left:22px;font-size:12px;color:#284333;background:#fff8e8d9;padding:10px 14px;border-radius:7px;pointer-events:none}.movement-pad{display:none}.game-screen dialog{color:#2e4435;background:#fff8e8;border:0;width:min(570px,calc(100% - 24px));padding:28px;max-height:calc(100dvh - 28px);overflow:auto;box-shadow:0 20px 70px #183e3855;border-radius:14px;font-size:14px}.game-screen dialog::backdrop{background:#142e27a6}.game-screen dialog h2{font-size:27px;color:#2b4434}.game-screen dialog p{font-size:14px;color:#536347;line-height:1.8}.game-screen dialog button{font-size:13px;min-height:44px}.game-screen dialog .close{min-height:34px;font-size:24px;color:#3f543e}.game-screen .profile{width:100%;padding:0;background:none;border:0;display:block;box-shadow:none}.profile-head{display:block!important;padding:0!important;text-align:center!important;position:relative}.profile-head #portrait{position:relative!important;width:90px!important;height:115px!important;margin:0 auto!important;left:auto!important;top:auto!important}.profile-head h1{font-size:25px;margin:4px 0}.level{font-size:13px;padding:10px}.vitals{display:block!important;padding-top:12px}.vitals>div:not(.meter){font-size:12px;display:flex!important;justify-content:space-between}.vitals strong{font-size:13px}.vitals .meter{margin-bottom:14px}.stat-grid{display:grid!important;grid-template-columns:1fr 1fr;gap:14px;padding:10px 0!important}.stat-grid>div{font-size:13px!important}.stat-grid strong{font-size:18px!important;display:inline!important}.equipment{display:block!important}.equipment p{font-size:13px!important}.equipment small{font-size:11px}.travel{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0 0}.travel button{padding:20px 10px;font-size:14px!important;flex-direction:row!important}.travel button:last-child{grid-column:1/3}.quest-card{background:none;padding:0;border:0}.quest-emblem{display:none}.quest-card h2{text-align:left;font-size:23px!important}.quest-card p{min-height:0}.quest-top{font-size:12px}.quest-progress{margin-bottom:15px}.journal{background:#e8ecd9;padding:16px;margin:20px 0 0}.journal h3{font-size:15px}#journal p{font-size:13px}.header-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.header-actions>span{display:block;grid-column:1/4;font-size:12px;color:#536347}.header-actions button{padding:14px 10px;background:#e2e9d5;color:#314d38}#menu-panel a{display:block;margin-top:24px;color:#35563f;text-underline-offset:4px}#dialogue .dialogue-top h2{font-size:29px}#npc-copy{font-size:15px}.dialogue-actions button small{font-size:11px}.dialogue-actions button{padding:14px}.game-screen #combat{width:min(900px,calc(100% - 28px));background:#f2eedc}.battle-stage{min-height:250px}.fighter svg{width:140px;height:185px}.fighter strong{font-size:22px}.fighter small{font-size:12px}.enemy-intent p{font-size:13px!important}.combat-log{min-height:72px}.combat-log p{font-size:13px!important;margin:0!important}#combat-actions button{padding:13px}#combat-actions button strong{font-size:14px}#combat-actions button small{font-size:11px}.game-screen #toast{position:absolute;bottom:100px;max-width:85%;font-size:13px;background:#294b38;color:#fff6dd;padding:13px 20px;z-index:100}input{caret-color:#38593e}::selection{background:#acbd83;color:#20352a}button:focus-visible,a:focus-visible{outline:3px solid #7b6427;outline-offset:3px}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-thumb{background:#8ea17a;border-radius:4px}
@media(max-width:700px){.hud-top{top:10px;left:10px;right:10px;gap:9px}.avatar-hud{min-width:145px;padding:5px 9px 5px 2px;gap:3px}#hud-avatar{width:44px;height:59px}.avatar-hud strong{font-size:15px}.avatar-hud small{font-size:10px}.mini-meter{width:94px}.location-hud{position:absolute;top:100px;left:50%;transform:translateX(-50%);padding:7px 15px;white-space:nowrap}.scene-heading h2{font-size:19px}.scene-heading p{display:none}.hud-top>button:last-child{font-size:12px;padding:10px 13px}.quest-hud{left:10px;top:91px;padding:10px;max-width:138px}.quest-hud strong{font-size:14px;margin:4px 0}.quest-hud small{font-size:9px}.action-dock{bottom:20px;right:10px;left:134px;display:grid;grid-template-columns:1fr 1fr;gap:6px}.action-dock>button{min-width:0;font-size:12px;min-height:47px;padding:8px 5px}.action-dock .martial-button strong{font-size:12px}.action-dock .martial-button small{display:none}.movement-pad{position:absolute;bottom:25px;left:10px;display:grid;grid-template-columns:repeat(3,36px);grid-template-rows:repeat(2,36px);gap:4px}.movement-pad button{padding:0;background:#fff8e8e8;font-size:23px;border:0;color:#35533b;touch-action:none}.movement-pad button:nth-child(1){grid-column:2}.movement-pad button:nth-child(2){grid-column:1;grid-row:2}.movement-pad button:nth-child(3){grid-column:2;grid-row:2}.movement-pad button:nth-child(4){grid-column:3;grid-row:2}.scene-hint{bottom:135px;left:10px;font-size:10px;padding:7px 10px;max-width:90%}.game-screen dialog{padding:22px;max-height:calc(100dvh - 20px)}.game-screen #combat{padding:18px}.battle-stage{min-height:200px;padding:16px}.fighter svg{width:100px;height:135px}.fighter strong{font-size:17px}.fighter .meter{width:110px}.enemy-intent p{font-size:11px!important}.combat-log{min-height:65px}.combat-log p{font-size:11px!important}#combat-actions button{padding:10px 8px}#combat-actions button strong{font-size:12px}#combat-actions button small{font-size:9px}.game-screen #toast{bottom:180px}#place-name{font-size:19px}}
@media(max-height:520px) and (min-width:600px){.hud-top{top:8px;left:10px;right:10px}.avatar-hud{padding:3px 12px 3px 3px;min-width:170px}#hud-avatar{height:53px;width:41px}.quest-hud{top:90px;font-size:12px;padding:9px}.quest-hud strong{font-size:14px}.action-dock{bottom:10px;right:10px}.action-dock>button{min-height:45px;padding:8px 12px}.scene-hint{bottom:10px;left:10px}.game-screen #combat{padding:15px;max-height:calc(100dvh - 16px);width:760px}.battle-stage{min-height:145px;padding:8px 20px}.fighter svg{width:75px;height:98px}.fighter strong{font-size:14px}.fighter .meter{margin:5px auto}.combat-log{min-height:0;padding:5px 0}.enemy-intent{margin-top:6px;padding:6px 10px}#combat-actions{grid-template-columns:repeat(6,1fr)}#combat-actions button{padding:8px}.battle-top{font-size:11px}}
@media(max-width:700px){.action-dock .bag-button{grid-column:auto}.action-dock .martial-button{align-self:stretch}}
.avatar-hud small,.quest-hud span,.quest-hud small,.action-dock .martial-button small,.scene-hint{font-size:11px}.game-screen dialog small{font-size:11px}#combat-actions button small{font-size:11px}
.scene-hint{display:none}
