@charset "UTF-8";
:root{color-scheme:dark;font-family:"Microsoft YaHei",system-ui,sans-serif;background:#101e1b;color:#f0e7ce;font-size:15px;--gold:#d4b67a;--line:#6a71574d;--surface:#172e29;--muted:#9fae9a}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{margin:0;overscroll-behavior:none}button,input,textarea,select{font:inherit}button{border:1px solid #7b856655;color:#e8dec5;background:#243b32;border-radius:8px;padding:11px 15px;cursor:pointer;min-height:44px}button:active{background:#496247;transform:translateY(1px)}button:disabled{opacity:.45;cursor:default}button.primary{background:#cbb17a;color:#243329;border-color:#e4cf9b;font-weight:bold}input,textarea,select{color:#eee4cb;background:#10241f;border:1px solid #68806b;border-radius:7px;padding:12px;width:100%;min-height:46px}input:focus,textarea:focus{outline:2px solid var(--gold);outline-offset:2px}button:focus-visible{outline:2px solid var(--gold)}label{display:grid;gap:8px;color:#c7cdb7;font-size:14px}textarea{min-height:150px;resize:vertical;font-size:13px;line-height:1.6}p{line-height:1.8}.muted{color:var(--muted);font-size:13px}.loading{display:grid;place-items:center;min-height:100dvh}.welcome{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 25px;background:linear-gradient(#10261c55,#071a16ef 85%),url('art/peach.png') center/cover;position:relative}.welcome .overline{letter-spacing:8px;font-size:12px;color:#d0dcba}.welcome h1{font-family:serif;font-size:clamp(54px,12vw,100px);font-weight:500;letter-spacing:14px;margin:15px 0 10px;text-shadow:0 3px 25px #000}.welcome .tag{font-family:serif;letter-spacing:4px;color:#d8d6ba;margin:0 0 45px}.welcome-card{background:#12281feb;border:1px solid #c0ba8555;border-radius:15px;padding:25px;width:min(100%,370px);box-shadow:0 20px 60px #0005}.welcome-card h2{font-size:19px;margin:0 0 20px;font-weight:500}.welcome-card button{width:100%;margin-top:15px}.welcome-foot{max-width:340px;text-align:center;font-size:12px;color:#a1b19c;margin-top:22px}.game{position:relative;height:100dvh;min-height:540px;max-width:1000px;margin:auto;overflow:hidden;background:#10271c;touch-action:none}.hud{position:absolute;z-index:2;top:0;left:0;right:0;padding:calc(env(safe-area-inset-top) + 10px) 14px 12px;background:linear-gradient(#102921fa,#102921e8);border-bottom:1px solid #cfbd7755;display:flex;align-items:center;gap:12px}.portrait{width:46px;height:46px;display:grid;place-items:center;border:1px solid #a4a27a;border-radius:50%;font-family:serif;font-size:24px;background:#385042}.identity{min-width:0;flex:1}.identity strong{font-size:16px;font-weight:500}.identity small{font-size:12px;margin-left:10px;color:#c9bf99}.bars{margin-top:6px;display:grid;gap:4px;max-width:260px}.bar{height:10px;border-radius:3px;background:#091b14;overflow:hidden;position:relative;border:1px solid #55735b66}.bar span{display:block;height:100%;background:#b95047;transition:width .15s}.bar.blue span{background:#568794}.hud .menu{padding:8px 11px;min-height:38px}.scene-label{position:absolute;z-index:2;right:12px;top:calc(env(safe-area-inset-top) + 94px);background:#112820cc;border:1px solid #c9b37066;padding:8px 15px;border-radius:6px;text-align:right;font-family:serif;font-size:17px;pointer-events:none}.scene-label small{display:block;font-family:sans-serif;font-size:10px;color:#c2caa8;margin-top:5px}.quest-chip{position:absolute;top:calc(env(safe-area-inset-top) + 102px);left:12px;z-index:2;border:1px solid #a59e6544;font-size:12px;padding:8px 10px;color:#e9e2c8;background:#142f23cc;border-radius:5px;max-width:50%;pointer-events:none}.canvas-wrap{position:absolute;inset:84px 0 156px}canvas{width:100%;height:100%;display:block;image-rendering:pixelated}.controls{position:absolute;left:0;right:0;bottom:0;z-index:2;background:linear-gradient(#10271cdc,#10241e);padding:12px 18px calc(env(safe-area-inset-bottom) + 12px);height:170px;border-top:1px solid #8c9f6844;display:flex;align-items:center;justify-content:space-between;gap:12px}.dpad{display:grid;grid-template-columns:44px 44px 44px;grid-template-rows:44px 44px 44px;gap:2px}.dpad button{padding:0;min-height:44px;border-radius:8px;background:#2d493be8;font-size:18px;user-select:none}.dpad .up{grid-column:2}.dpad .left{grid-row:2;grid-column:1}.dpad .center{grid-row:2;grid-column:2;display:grid;place-items:center;color:#929b74;font-family:serif;font-size:18px}.dpad .right{grid-row:2;grid-column:3}.dpad .down{grid-row:3;grid-column:2}.action-pad{display:grid;grid-template-columns:70px 86px;gap:9px;align-items:center}.action-pad .attack{grid-row:span 2;border-radius:50%;height:86px;min-width:86px;border:2px solid #d7b978;background:#564b2d;font-family:serif;font-size:25px;box-shadow:inset 0 0 0 4px #15281b66}.action-pad .subaction{font-size:13px;padding:8px 12px;min-height:39px}.bottom-note{position:absolute;bottom:calc(env(safe-area-inset-bottom) + 4px);left:175px;right:180px;text-align:center;font-size:10px;color:#8a9a86;pointer-events:none}.battle{position:absolute;z-index:3;inset:0;background:linear-gradient(#0b201bf5,#173126c9 35%,#091c16fa);display:flex;flex-direction:column;padding:calc(env(safe-area-inset-top) + 28px) 20px calc(env(safe-area-inset-bottom) + 22px);touch-action:auto}.battle-head{display:flex;justify-content:space-between;align-items:start}.battle h2{font-family:serif;font-size:25px;font-weight:500;margin:0 0 8px}.battle .round{font-size:12px;color:#c5b980}.arena{flex:1;min-height:130px;position:relative;display:flex;justify-content:space-around;align-items:center}.combatant{text-align:center;min-width:110px}.combatant canvas{width:110px;height:120px;image-rendering:pixelated;margin:auto}.combatant p{margin:3px;font-size:14px}.combatant .bar{margin:8px auto 4px;width:110px}.combatant small{font-size:11px;color:#bdc7ae}.vs{font-family:serif;color:#d6b979;font-size:28px}.battle-log{background:#0a1b1577;border-top:1px solid #80926655;border-bottom:1px solid #80926655;padding:14px;margin:10px 0 15px;min-height:116px;max-height:150px;overflow:auto;font-size:13px;line-height:1.9;color:#c7d1b6}.battle-log p{margin:0}.battle-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.battle-actions button{padding:13px;font-size:15px}.battle-actions small{font-size:11px;color:#aebb9f}.battle-actions .primary small{color:#44543b}dialog{color:#ede5cf;background:#172e27;border:1px solid #a697655f;border-radius:15px;width:min(560px,calc(100% - 26px));padding:24px;max-height:88dvh;overflow:auto;box-shadow:0 20px 80px #0007;touch-action:auto}dialog::backdrop{background:#081d17c7}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.dialog-head h2{font-family:serif;font-weight:500;margin:0;font-size:24px}.dialog-head button{font-size:21px;border:0;background:none;min-height:32px;padding:0 8px}.form{display:grid;gap:15px}.two{display:grid;grid-template-columns:1fr 1fr;gap:13px}.menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.menu-grid button{padding:16px;text-align:left}.menu-grid small{display:block;color:#a5b59b;font-size:11px;margin-top:7px}.error{color:#f2a29a;font-size:13px;line-height:1.7}.detail{border:1px solid #71836655;border-radius:8px;padding:15px;margin-bottom:12px}.detail h3{font-size:17px;margin:0 0 8px}.detail p{font-size:13px;margin:5px 0;color:#acbba4}.detail button{margin-top:8px}.balance{display:flex;gap:20px;color:#d9c38c;margin-bottom:18px;font-size:14px}.log-row{padding:12px 0;border-bottom:1px solid #72806033;font-size:13px;line-height:1.8}.log-row small{display:block;color:#99aa91;font-size:11px}.full{width:100%}.spaced{margin-top:15px}.badge{font-size:11px;padding:3px 7px;color:#d1c596;background:#42523b;border-radius:4px}.warning{background:#4c41242f;border:1px solid #ac9b5944;border-radius:7px;padding:12px;font-size:12px;color:#c9c69d;line-height:1.8}#toast{display:none;position:fixed;z-index:10;left:50%;bottom:185px;transform:translateX(-50%);background:#e3d3a9;color:#233628;border:1px solid #f2e6c8;border-radius:8px;padding:13px 20px;width:max-content;max-width:90%;font-size:14px;box-shadow:0 5px 30px #0005;pointer-events:none}#toast.has-bar{width:220px}#toast .toast-text{margin-bottom:7px;text-align:center;overflow-wrap:anywhere}#toast .toast-bar{width:100%}.job-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.job-row label{background:#263d30;border:1px solid #7e91604d;border-radius:9px;padding:14px 6px;text-align:center;gap:10px}.job-row input{width:16px;min-height:16px;height:16px;margin:auto}.job-row strong{font-family:serif;font-size:21px;color:#dfd0a5}.job-row small{font-size:11px;color:#a3b39a}.download{display:inline-block;color:#e7d39a;margin-top:8px;font-size:13px}@media(min-width:700px){.game{max-width:780px;border-left:1px solid #53654a;border-right:1px solid #53654a}.controls{padding-left:45px;padding-right:45px}.dpad{grid-template-columns:47px 47px 47px}.action-pad{grid-template-columns:90px 90px}.hud{padding-left:25px;padding-right:25px}}@media(orientation:landscape) and (max-height:600px){.game{max-width:none;min-height:300px}.hud{width:330px;right:auto;padding:7px 14px;background:#102921df}.canvas-wrap{inset:0 0 0 0}.scene-label{top:12px}.quest-chip{top:78px}.controls{background:none;border:0;pointer-events:none;height:150px}.controls>*{pointer-events:auto}.bottom-note{display:none}.battle{padding:14px 25px}.arena{min-height:120px}.battle-log{position:absolute;right:25px;top:55px;width:35%;font-size:12px;max-height:140px}.arena{width:60%;align-self:flex-start}.battle-actions{grid-template-columns:repeat(4,1fr)}.battle-head{margin-bottom:0}.battle h2{font-size:20px}dialog{max-height:94dvh}}

@media(max-width:600px){.bottom-note{display:none}}
