@font-face{font-family:NeoDGM;src:url(/fonts/neodgm.woff2)format("woff2");font-display:swap}:root{--canvas:#f3f5f2;--surface:#fff;--ink:#243b3b;--muted:#526563;--line:#ced9d3;--primary:#256d61;--water:#a8d7df;--grass:#bed3a2;--warn:#965c27;--danger:#a34338;color:var(--ink);background:var(--canvas);font-synthesis:none;font-family:NeoDGM,Apple SD Gothic Neo,sans-serif}*{box-sizing:border-box}body{min-height:100dvh;margin:0;overflow:hidden}button,input{font:inherit}button{border:1px solid var(--line);background:var(--surface);min-width:44px;min-height:44px;color:var(--ink);cursor:pointer;border-radius:3px;padding:8px 14px}button:hover{border-color:var(--primary)}button:active{transform:translateY(1px)}button:disabled{opacity:.5;cursor:wait}button:focus-visible,input:focus-visible{outline:3px solid var(--primary);outline-offset:3px}button[hidden],form[hidden]{display:none}h1,h2,p{margin:0}h1{font-size:24px;line-height:1.4}h2{font-size:20px}.small{color:var(--muted);font-size:14px;line-height:1.7}.primary{background:var(--primary);color:var(--surface);border-color:var(--primary)}.text-button{color:var(--primary);background:0 0;border-color:#0000}#screen{width:100dvw;height:100dvh;min-height:0;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);background:var(--canvas);grid-template-rows:52px minmax(0,1fr) 60px;display:grid}.topbar{border-bottom:2px solid var(--line);align-items:center;gap:20px;padding:0 20px;display:flex}.wordmark{background:0 0;border:0;padding-left:0;font-size:23px}.clock,#wallet{font-variant-numeric:tabular-nums;font-family:NeoDGM,monospace}#save-state{color:var(--muted);margin-left:auto;font-size:13px}#sound{background:0 0;border:0;padding:6px;font-size:13px}.actions{border-top:2px solid var(--line);grid-template-columns:repeat(6,minmax(0,1fr));gap:2px;padding:5px 12px;display:grid}.actions button{white-space:nowrap;background:0 0;border:0;font-size:15px}.actions button:hover{background:var(--surface)}.nav-symbol{color:var(--primary);vertical-align:middle;margin-right:8px;font-size:21px;display:inline-block}#map{background:var(--grass);min-height:0;position:relative;overflow:hidden}#game{touch-action:none;place-items:center;display:grid;position:absolute;inset:0}canvas{image-rendering:pixelated;display:block}.map-note{pointer-events:none;text-shadow:1px 1px var(--canvas);font-size:21px;position:absolute;top:18px;left:20px}.map-note span{color:var(--muted);margin-top:5px;font-size:13px;display:block}.avatar-label{background:var(--canvas);border:1px solid var(--line);align-items:center;gap:10px;padding:0 10px 0 0;display:flex;position:absolute;top:16px;right:20px}.avatar-label button{color:var(--primary);background:0 0;border:0}.notice{background:var(--canvas);border:1px solid var(--line);text-align:center;pointer-events:none;max-width:calc(100% - 32px);padding:9px 16px;font-size:14px;line-height:1.4;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}dialog{border:2px solid var(--primary);color:var(--ink);background:var(--canvas);border-radius:4px;width:min(560px,100% - 32px);max-height:calc(100% - 24px);padding:24px;overflow:auto;box-shadow:6px 6px #243b3b2b}dialog::backdrop{background:#243b3b4d}.panel-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px;display:flex}.panel-heading h1{margin-top:5px}#panel-kicker{color:var(--muted);font-size:13px}#close-panel{background:0 0}.panel-message{color:var(--primary);min-height:21px;margin-top:16px;font-size:14px;line-height:1.5}.item-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:16px 0;display:flex}.item-row p{color:var(--muted);margin-top:8px;font-size:14px}.badge{border:1px solid var(--line);padding:4px 8px;font-size:13px;display:inline-block}.empty{color:var(--muted);padding:20px 0;line-height:1.8}.practice{gap:14px;display:grid}.practice p{color:var(--muted);font-size:14px;line-height:1.6}.meter{border:2px solid var(--ink);background:var(--surface);height:32px;position:relative;overflow:hidden}.meter .zone{background:var(--grass);width:30%;height:100%;position:absolute;left:35%}.meter .needle{background:var(--primary);width:4px;height:100%;position:absolute;top:0;left:0}.practice-controls{gap:12px;display:flex}.practice-controls button{touch-action:none;flex:1;min-height:48px}.battle-log{white-space:pre-wrap;background:var(--surface);max-height:120px;padding:12px;font-size:13px;line-height:1.5;overflow:auto}.battle-hp{grid-template-columns:1fr 1fr;gap:12px;display:grid}.battle-hp p{color:var(--ink);font-size:15px}progress{width:100%;accent-color:var(--primary)}#welcome{text-align:center;width:min(440px,100% - 32px);padding:24px 32px}.welcome-brand{color:var(--primary);margin-bottom:12px;font-size:32px}#welcome h1{font-size:19px}#welcome p{margin:14px 0;font-size:15px;line-height:1.7}#welcome .primary{width:100%}#welcome .small{font-size:12px}label{text-align:left;gap:6px;margin:12px 0;font-size:14px;display:grid}input{border:1px solid var(--line);background:var(--surface);width:100%;min-height:44px;color:var(--ink);padding:8px}@media (orientation:portrait){#screen{width:100dvh;height:100dvw;padding:env(safe-area-inset-left) env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom);position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)rotate(90deg)}dialog,#welcome{width:min(560px,100dvh - 32px);max-height:calc(100dvw - 24px);transform:rotate(90deg)}#welcome{width:min(440px,100dvh - 32px)}}@media (height<=450px) and (orientation:landscape){#screen{grid-template-rows:48px minmax(0,1fr) 54px}.topbar{gap:12px}.map-note,.avatar-label{top:10px}.notice{bottom:8px}.actions{padding:3px 8px}dialog{padding:16px}.panel-heading{margin-bottom:12px}}@media (prefers-reduced-motion:reduce){button:active{transform:none}}.map-labels{pointer-events:none;z-index:1;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.map-place-label{background:var(--canvas);color:var(--ink);white-space:nowrap;padding:3px 6px;font-size:13px;line-height:1.2;position:absolute;transform:translate(-50%)}@media (width>=1100px) and (height>=700px) and (pointer:fine){body{background:#e4eae5;place-items:center;display:grid}#screen{border:1px solid var(--line);width:min(1120px,100dvw - 64px);height:520px;max-height:calc(100dvh - 64px);box-shadow:0 12px 40px #243b3b14}dialog{max-height:min(496px,100dvh - 48px)}}
