@import "https://fonts.googleapis.com/css2?family=DotGothic16&family=Zen+Kaku+Gothic+New:wght@400;500;700;900&display=swap";:root{color:#ece8ce;font-synthesis:none;-webkit-text-size-adjust:100%;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#0e1715;font-family:Zen Kaku Gothic New,Hiragino Kaku Gothic ProN,Yu Gothic,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button{font:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:disabled{cursor:not-allowed}button:focus-visible{outline-offset:3px;outline:3px solid #ead58d}.shell{width:min(100%,500px);min-height:100dvh;padding:max(env(safe-area-inset-top), 14px) 14px max(env(safe-area-inset-bottom), 16px);background:#182722;border-inline:1px solid #35443a;flex-direction:column;gap:10px;margin:0 auto;display:flex;box-shadow:0 12px 60px #0008}.masthead{justify-content:space-between;align-items:center;gap:10px;min-height:68px;display:flex}.eyebrow{color:#83a59c;letter-spacing:.22em;margin:0 0 1px;font-size:9px;font-weight:700}h1{letter-spacing:.04em;color:#f0e6bb;margin:0;font-size:clamp(22px,6vw,31px);font-weight:900;line-height:1.15}h1 span{color:#d8a65c}.meta-counter{flex-direction:column;align-items:end;min-width:88px;font-family:DotGothic16,monospace;display:flex}.meta-counter>span{letter-spacing:.12em;color:#bcae90;font-size:9px}.meta-counter>strong{color:#f0e6bb;font-size:23px;line-height:1.2}.meta-counter>small{color:#a5b5a1;white-space:nowrap;font-size:10px}.meta-counter>small span{color:#f3ce78}.last-record{color:#9aaf9e;padding:2px 0;font-size:11px}.game-window{background:#080c17;border:3px solid #d6d1b3;border-radius:4px;outline:2px solid #080c17;flex-shrink:0;height:clamp(278px,38dvh,370px);font-family:DotGothic16,monospace;position:relative;overflow:hidden;box-shadow:3px 4px #080e11}.screen-hud{color:#f2e8ca;z-index:2;background:#091321;border-bottom:2px solid #afaf9f;justify-content:space-between;align-items:center;height:36px;padding:0 10px;font-size:12px;display:flex;position:relative}.screen-label{align-items:center;gap:7px;display:flex}.status-light{background:#8bd4a3;width:5px;height:5px;box-shadow:0 0 8px #8bd4a388}.map-wrap{background:#3d7556;height:calc(100% - 36px);position:relative;overflow:hidden}.map-grid{width:100%;height:100%;image-rendering:pixelated;grid-template-rows:repeat(10,1fr);grid-template-columns:repeat(15,1fr);display:grid;position:absolute;inset:0}.map-tile{justify-content:center;align-items:end;display:flex;position:relative;overflow:visible}.tile-grass{background:#5c925d;border-top:2px solid #6da266}.tile-grass:nth-child(3n){background:#528957}.tile-path{background:#b9a174;box-shadow:inset 0 3px #c7ae7c}.tile-tree{background:#4d8155}.tile-tree:before{content:"";background:#2b6046;border-radius:3px 3px 0 0;width:72%;height:74%;position:absolute;top:2%;left:14%;box-shadow:inset 4px 3px #3b784f,3px 2px #1a493a}.tile-tree:after{content:"";background:#78593e;width:13%;height:35%;position:absolute;bottom:0;left:46%}.tile-flower{background:#5c925d}.tile-flower:after{content:"✳";color:#eecb81;margin-bottom:4px;font-size:12px}.tile-house{background:#617c54}.tile-house:before{content:"";background:#9e7853;border:2px solid #644b38;position:absolute;inset:8% 0 0}.tile-house:after{content:"";background:#a24f47;width:100%;height:42%;position:absolute;top:-4px;left:0;box-shadow:0 3px #713d3d}.sprite{image-rendering:pixelated;filter:drop-shadow(2px 3px #18272155);display:block;overflow:visible}.map-hero{z-index:3;width:170%;max-width:none;height:170%;position:relative;transform:translateY(-1px)}.map-caption{color:#eee4ca;background:#091321e3;border:1px solid #d4cbb5;padding:5px 7px;font-size:11px;position:absolute;top:12px;left:10px}.dialogue-box{z-index:4;background:#0b1425ed;border:2px solid #eee8d5;border-radius:4px;align-items:center;height:76px;padding:11px 14px;display:flex;position:absolute;bottom:9px;left:9px;right:9px;box-shadow:0 0 0 2px #10151e}.dialogue-box p{margin:0;padding-right:12px;font-size:13px;line-height:1.75}.dialogue-mark{color:#e8d39e;font-size:11px;animation:1s steps(2,end) infinite point;position:absolute;bottom:6px;right:8px}@keyframes point{50%{transform:translateY(3px)}}.battlefield{background:linear-gradient(#376178 0%,#658b86 54%,#8c9d77 54%,#5b7355 100%);height:calc(100% - 36px);position:relative;overflow:hidden}.battle-cloud{opacity:.5;background:#b9d3c3;width:70px;height:10px;position:absolute;top:22px;box-shadow:18px -9px #b9d3c3,36px 3px #b9d3c3}.cloud-one{left:10%}.cloud-two{top:39px;left:70%;transform:scale(.65)}.battle-horizon{clip-path:polygon(0 100%,0 40%,5% 20%,12% 70%,18% 10%,27% 66%,34% 12%,42% 56%,50% 10%,62% 65%,74% 26%,81% 70%,92% 14%,100% 40%,100% 100%);background:repeating-linear-gradient(90deg,#50755d 0 20px,#416951 20px 38px);height:15%;position:absolute;top:46%;left:0;right:0}.battle-ground{background:#385b47;border-radius:50%;width:112%;height:50px;position:absolute;bottom:38px;left:-6%;box-shadow:inset 0 10px #436c4e}.battle-actors{z-index:1;justify-content:space-between;align-items:end;display:flex;position:absolute;inset:8px 18px 50px}.enemy-combatant{flex-direction:column;align-items:center;gap:4px;width:41%;max-width:150px;display:flex}.enemy-sprite{filter:drop-shadow(5px 6px #28352e55);width:94px;max-width:100%;height:94px}.combatant-name{white-space:nowrap;background:#0c1620;border:1px solid #e3d7b7;padding:1px 8px;font-size:11px}.life-track{background:#1f3034;border:1px solid #101a22;width:70%;height:5px;display:block}.life-fill{background:#9bd49a;height:100%;transition:width .1s;display:block}.enemy-life{background:#eab383}.party-combatants{justify-content:center;align-items:end;gap:0;width:44%;display:flex}.battle-hero{width:80px;height:92px}.friend-sprite{width:56px;height:70px}.battle-caption{color:#fff5cf;text-shadow:1px 2px #264136;letter-spacing:.08em;font-size:11px;position:absolute;bottom:88px;right:10px}.was-hit{animation:.23s steps(2,end) hit}@keyframes hit{0%{opacity:1;transform:translate(0)}20%{opacity:.3;transform:translate(5px)}50%{opacity:1;transform:translate(-5px)}to{transform:translate(0)}}.section-heading{color:#f2e6c6;border-bottom:1px solid #456056;justify-content:space-between;align-items:center;gap:8px;padding:7px 9px;font-size:13px;font-weight:900;display:flex}.heading-sub{color:#9ab4a8;font-family:DotGothic16,monospace;font-size:10px;font-weight:400}.log-panel{background:#0e191c;border:1px solid #466156;flex-direction:column;height:clamp(157px,24dvh,230px);min-height:145px;display:flex}.log-lines{overscroll-behavior:contain;scrollbar-color:#3b6858 transparent;flex:1;margin:0;padding:10px 12px;list-style:none;overflow:auto}.log-line{color:#d6e2d5;align-items:flex-start;gap:7px;margin-bottom:6px;font-size:12px;line-height:1.65;display:flex}.log-caret{color:#728d7c}.log-story{color:#d3c8a7}.log-hurt,.log-loss{color:#e5a69b}.log-win,.log-gain{color:#b8d99c}.log-attack{color:#e5e7dc}.log-empty{color:#667c73;font-size:12px}.plan-panel{background:#1e302b;border:1px solid #506459}.budget-info{color:#eac67b;font-family:DotGothic16,monospace;font-size:14px}.budget-info small{color:#b8bba9;font-size:10px}.job-row{border-bottom:1px solid #3e554a;justify-content:space-between;align-items:center;padding:10px;font-size:12px;display:flex}.job-label{color:#a7b4a5;margin-right:6px}.job-row strong{color:#eacb98;font-size:14px}.job-locked{color:#80968a;font-size:10px}.choice-list{grid-template-columns:1fr;gap:5px;padding:8px;display:grid}.choice{text-align:left;color:#e8e8d9;background:#23372e;border:1px solid #4a6453;border-radius:2px;align-items:center;gap:9px;min-height:54px;padding:6px 10px;display:flex}.choice:hover:not(:disabled){background:#2e4738;border-color:#a7bf80}.choice-selected{background:#3e523b;border-color:#e0cf8d}.choice-locked{opacity:.45}.choice:disabled:not(.choice-locked){opacity:.65}.choice-check{color:#dfc879;width:15px;font-family:DotGothic16,monospace;font-size:16px}.choice-body{flex-direction:column;flex:1;gap:1px;display:flex}.choice-body strong{font-size:13px;font-weight:700}.choice-body small{color:#a8b7a8;font-size:11px}.choice-cost{white-space:nowrap;color:#efca84;font:11px DotGothic16,monospace}.plan-footer{border-top:1px solid #3e554a;flex-direction:column;gap:8px;padding:10px;display:flex}.plan-hint{color:#b0c3ad;font-size:11px}.primary-button,.secondary-button{border-radius:2px;min-height:46px;padding:10px 12px;font-size:13px;font-weight:900}.primary-button{color:#213527;background:#e8cf8e;border:2px solid #f9e5b3;box-shadow:2px 3px #111c1b}.primary-button:hover{background:#f5dfa4}.primary-button span{margin-left:6px}.secondary-button{color:#ebddbd;background:#263b36;border:2px solid #a2b6a2}.playback-controls{background:#20332d;border:1px solid #506459;padding:10px}.playback-top{justify-content:space-between;align-items:center;padding-bottom:8px;font-size:13px;font-weight:700;display:flex}.auto-label{color:#83c798;font-family:monospace;font-size:11px}.playback-buttons{flex-wrap:wrap;gap:5px;display:flex}.tiny-button{color:#e1e5d6;background:#172821;border:1px solid #687d6f;border-radius:2px;min-height:38px;padding:8px 9px;font-size:12px}.tiny-button.active,.tiny-button[aria-pressed=true]{color:#1e2e28;background:#e0ca8a;border-color:#efd49c;font-weight:900}.result-panel{background:#17232b;border:2px solid #d8c99d;padding:12px}.result-title{justify-content:space-between;align-items:center;margin-bottom:10px;font-size:15px;font-weight:900;display:flex}.result-title strong{color:#e3a99c;font:15px DotGothic16,monospace}.result-stats{grid-template-columns:repeat(3,1fr);gap:7px;display:grid}.result-stats>div{border:1px solid #465a54;flex-direction:column;gap:4px;padding:9px 6px;display:flex}.result-stats small{color:#a4b5a6;font-size:10px}.result-stats strong{color:#eee7cc;font:24px DotGothic16,monospace}.result-stats em{margin-left:2px;font-size:10px;font-style:normal}.result-stats .coin-reward{color:#e9c77d}.result-note{color:#aec0b3;margin:10px 0;font-size:11px}.result-buttons{grid-template-columns:1fr 1fr;gap:8px;display:grid}.page-footer{text-align:center;color:#798f85;letter-spacing:.05em;margin:4px 0 0;font-size:10px}.log-only .log-panel{height:max(55dvh,400px)}.log-only .log-lines{font-size:14px}@media (width<=360px){.shell{gap:8px;padding-inline:9px}.tiny-button{padding-inline:7px}.result-buttons{grid-template-columns:1fr}.job-locked{font-size:9px}}@media (width>=600px){.shell{padding-inline:20px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important}}.no-choices{color:#bdcbb8;padding:12px 8px;font-size:12px}
