:root{--bg:#efefef;--panel:#fff;--line:#cecece;--text:#171717;--muted:#686868;--green:#149414;--green-dark:#0b620b}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.app{max-width:900px;height:100vh;height:100dvh;padding:max(8px, env(safe-area-inset-top)) max(8px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));flex-direction:column;gap:8px;margin:0 auto;display:flex}.top{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:8px;display:flex}.money{margin-right:auto;font-size:28px;font-weight:900;line-height:1}.sub{color:var(--muted);margin-top:4px;font-size:12px}button{background:var(--green);font:inherit;color:#fff;box-shadow:inset 0 2px 0 #ffffff40, 0 4px 0 var(--green-dark);border:1px solid #0d780d;border-radius:9px;margin-bottom:4px;padding:9px 12px;font-weight:700;transition:transform 80ms,box-shadow 80ms}button.active{background:var(--green-dark);color:#fff;border-color:var(--green-dark)}.panel{background:var(--panel);border:1px solid var(--line);border-radius:18px;flex-direction:column;flex:1;min-width:0;min-height:0;padding:10px;display:flex}.stage{flex:1;place-items:center;min-width:0;min-height:0;display:grid}canvas{touch-action:manipulation;background:#f1f1f1;border-radius:14px;width:0;height:0;display:block}.bottom{flex-wrap:wrap;flex-shrink:0;justify-content:space-between;gap:10px;margin-top:8px;display:flex}.state{color:var(--muted);font-size:13px}.debug,.version{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}button,a{touch-action:manipulation;min-height:44px}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid var(--green);outline-offset:3px}a{color:#202020;align-items:center;display:inline-flex}@media (max-width:480px){.top{gap:6px}button{padding:9px}}@media (orientation:landscape) and (max-height:500px){.bottom{flex-direction:column;gap:4px;margin-top:0}}button:active:not(:disabled){box-shadow:inset 0 2px 0 #ffffff30, 0 1px 0 var(--green-dark);transform:translateY(3px)}button:disabled{color:#666;cursor:default;background:#dedede;border-color:#c3c3c3;box-shadow:inset 0 2px #ffffff70,0 4px #aaa}.secondary{color:#333;background:#fff;border-color:#ccc;box-shadow:inset 0 2px #fff,0 4px #aaa}.station-dialog{color:#171717;text-align:center;background:#fff;border:2px solid #bcbcbc;border-radius:16px;width:min(290px,100vw - 28px);max-height:calc(100dvh - 24px);padding:22px 18px 18px;overflow-y:auto;box-shadow:0 7px #00000025,0 14px 40px #00000030}.station-dialog::backdrop{background:#00000035}.station-dialog h2{margin:0;font-size:25px}.station-name{color:#777;margin:6px 0 10px;font-size:14px}.dialog-close{width:32px;min-height:32px;box-shadow:none;border:0;padding:0;font-size:23px;position:absolute;top:5px;right:5px}.milestone-stars{color:var(--green);letter-spacing:1px;font-size:22px}.milestone-progress{width:100%;height:12px;accent-color:var(--green);background:#e7e7e7;border:none;border-radius:10px;margin-top:10px;overflow:hidden}.milestone-progress::-webkit-progress-bar{background:#e7e7e7;border-radius:10px}.milestone-progress::-webkit-progress-value{background:var(--green);border-radius:10px}.milestone-progress::-moz-progress-bar{background:var(--green);border-radius:10px}.milestone-caption{color:#777;margin:5px 0 16px;font-size:12px}.station-stats{justify-content:space-between;gap:12px;margin-bottom:16px;display:flex}.station-stats small{color:#777;margin-bottom:4px;font-size:11px;display:block}.station-stats strong{font-size:23px}.station-buy{width:100%;min-height:54px;font-size:24px}
