:root{--bg:#9fd3ea;--panel:#182234e0;--panel-border:#ffffff1f;--text:#f3f6fa;--muted:#b5c2d3;--accent:#ffc23d;--danger:#ff6b5e;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);touch-action:none;-webkit-user-select:none;user-select:none;margin:0;overflow:hidden}#game{position:fixed;inset:0}#game canvas{display:block}.topbar{background:var(--panel);border:1px solid var(--panel-border);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:14px;align-items:center;gap:10px;padding:8px 12px;display:flex;position:fixed;top:12px;left:12px;right:12px}.title{letter-spacing:.01em;font-weight:700}.stat{color:var(--muted);font-size:14px}.spacer{flex:1}.icon-button{border:1px solid var(--panel-border);width:38px;height:38px;color:var(--text);cursor:pointer;background:#ffffff0f;border-radius:10px;font-size:20px;line-height:1}.icon-button:hover{background:#ffffff24}.hint-row{pointer-events:none;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;display:flex;position:fixed;bottom:124px;left:12px;right:12px}.hint{background:var(--panel);color:var(--muted);text-align:center;border-radius:999px;padding:6px 12px;font-size:13px}.hint:empty{display:none}.pill-button{pointer-events:auto;border:1px solid var(--panel-border);background:var(--panel);color:var(--text);font:inherit;cursor:pointer;border-radius:999px;padding:8px 14px;font-size:14px}.pill-button:hover{background:#28364ef2}.pill-button[hidden]{display:none}.pill-button.confirm{background:#2f9e4f;border-color:#58c878;padding:10px 18px;font-weight:600}.pill-button.confirm.danger{background:#c2392e;border-color:#ff6b5e}.loading{color:#17324a;pointer-events:none;justify-content:center;align-items:center;font-size:16px;display:flex;position:fixed;inset:0}.error-banner{color:#fff;z-index:10;background:#b3261e;border-radius:10px;padding:10px 12px;font-size:13px;position:fixed;top:72px;left:12px;right:12px}#game,#game canvas{touch-action:none}.toolbar{background:var(--panel);border:1px solid var(--panel-border);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:16px;gap:8px;max-width:calc(100vw - 24px);padding:8px;display:flex;position:fixed;bottom:12px;left:50%;overflow-x:auto;transform:translate(-50%)}.tool{width:92px;height:92px;color:var(--text);font:inherit;cursor:pointer;background:#ffffff0f;border:2px solid #0000;border-radius:12px;flex-direction:column;flex:none;justify-content:flex-end;align-items:center;gap:2px;padding:6px;font-size:12px;display:flex}.tool:hover{background:#ffffff24}.tool.active{border-color:var(--accent);background:#ffc23d29}.tool.danger.active{border-color:var(--danger);background:#ff6b5e29}.tool .thumb{background-position:50% 66%;background-repeat:no-repeat;background-size:180%;width:64px;height:46px}.tool .glyph{align-items:center;height:46px;font-size:30px;display:flex}.tool .price{color:var(--muted);font-size:11px}@media (width<=520px){.tool{width:78px;height:84px}.title{display:none}}.auth{z-index:20;background:linear-gradient(#9fd3ea,#cfe9c4);justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.auth[hidden]{display:none}.auth-card{border:1px solid var(--panel-border);background:var(--panel);width:min(360px,100%);color:var(--text);border-radius:16px;flex-direction:column;gap:12px;padding:24px;display:flex}.auth-card h1{color:var(--accent);margin:0;font-size:24px}.auth-card h2{color:var(--muted);margin:0 0 4px;font-size:16px;font-weight:500}.auth-card label{color:var(--muted);flex-direction:column;gap:4px;font-size:13px;display:flex}.auth-card input{border:1px solid var(--panel-border);color:var(--text);font:inherit;background:#ffffff14;border-radius:10px;padding:10px 12px;font-size:16px}.auth-card input:focus{outline:2px solid var(--accent);outline-offset:1px}.auth-message{min-height:18px;color:var(--danger);margin:0;font-size:13px}.auth-submit{background:var(--accent);color:#2b2105;font:inherit;cursor:pointer;border:0;border-radius:10px;padding:12px;font-weight:600}.auth-submit:disabled{opacity:.6;cursor:default}.auth-toggle{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;font-size:13px;text-decoration:underline}@media (width<=520px){#player-name{display:none}}.loading[hidden]{display:none}
