:root{--bg: #0d0e1a;--bg-2: #171933;--surface: rgba(255, 255, 255, .06);--surface-2: rgba(255, 255, 255, .1);--line: rgba(255, 255, 255, .14);--ink: #f4f5ff;--muted: #9498c0;--accent: #7c5cff;--accent-ink: #12081f;--cyan: #00e5ff;--gold: #ffcf5c;--danger: #ff5c7a;--ok: #33e19b;--radius: 18px;--radius-sm: 12px;--pad: 16px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);color-scheme:dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;height:100%;overscroll-behavior:none;background:var(--bg)}body{color:var(--ink);font-family:Segoe UI,system-ui,-apple-system,Roboto,sans-serif;-webkit-font-smoothing:antialiased;touch-action:none;overflow:hidden}#app{min-height:100dvh;display:flex;justify-content:center;align-items:stretch;background:radial-gradient(circle at 50% -10%,var(--bg-2),var(--bg) 60%)}#game-root{width:100%;max-width:520px;min-height:100dvh;position:relative;display:flex}#game-root canvas{touch-action:none}.overlay-root{position:fixed;inset:0;z-index:50;display:flex;justify-content:center;align-items:center;padding:24px;background:#060610b8;backdrop-filter:blur(6px)}.overlay-root[hidden]{display:none}.sheet{width:100%;max-width:420px;max-height:calc(100dvh - 48px);overflow-y:auto;background:linear-gradient(180deg,var(--bg-2),var(--bg));border:1px solid var(--line);border-radius:22px;padding:20px;display:flex;flex-direction:column;gap:12px;animation:sheet-in .22s ease}@keyframes sheet-in{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}.sheet__topbar{display:flex;align-items:center;gap:12px}.sheet__back{width:36px;height:36px;border-radius:10px;background:var(--surface-2);border:none;color:var(--ink);font-size:1.1rem;display:grid;place-items:center;cursor:pointer}.sheet__title{font-size:1.15rem;font-weight:800;flex:1}.sheet p{margin:0;color:var(--muted);font-size:.92rem;line-height:1.5}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:14px}.card--accent{background:linear-gradient(135deg,#7c5cff38,#00e5ff1f);border-color:#7c5cff66}.row{display:flex;align-items:center;gap:10px}.row--between{justify-content:space-between}.field{width:100%;padding:14px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface-2);color:var(--ink);font-size:1rem;text-align:center}.field::placeholder{color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px 18px;border:none;border-radius:999px;font-weight:700;font-size:1rem;cursor:pointer;color:var(--ink);background:var(--surface-2);border:1px solid var(--line);transition:transform .12s ease,filter .12s ease}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.5;pointer-events:none}.btn--primary{background:linear-gradient(135deg,var(--accent),#b28cff);color:#fff;border-color:transparent;box-shadow:0 10px 24px #7c5cff59}.btn--gold{background:linear-gradient(135deg,var(--gold),#ffb14a);color:#2b1a00;border-color:transparent}.btn--ghost{background:transparent}.btn--sm{width:auto;padding:8px 16px;font-size:.88rem}.list{display:flex;flex-direction:column;gap:10px}.product{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--line)}.product__info{flex:1;display:flex;flex-direction:column;gap:2px}.product__title{font-weight:800}.faint{color:var(--muted);font-size:.8rem}.spinner{width:34px;height:34px;margin:6px auto;border-radius:50%;border:3px solid var(--line);border-top-color:var(--accent);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.center{text-align:center;align-items:center}.error-text{color:var(--danger);font-size:.85rem;margin:0}.toast-root{position:fixed;left:50%;bottom:calc(20px + var(--safe-bottom));transform:translate(-50%);z-index:80;display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none}.toast{background:var(--surface-2);border:1px solid var(--line);color:var(--ink);padding:10px 18px;border-radius:999px;font-size:.88rem;max-width:88vw;text-align:center;animation:toast-in .2s ease;backdrop-filter:blur(6px)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}
