:root{--bg-0: #08090b;--bg-1: #0e1013;--bg-2: #15181d;--bg-3: #1d2127;--ink-0: #f4f6f8;--ink-1: #a8b0ba;--ink-2: #6b7480;--ink-3: #434a54;--accent: #e0a94a;--accent-dim: #8a6a33;--accent-glow: rgba(224, 169, 74, .16);--cool: #5fb3c9;--good: #6fc08a;--bad: #d2705f;--line: rgba(255, 255, 255, .08);--line-strong: rgba(255, 255, 255, .16);--radius: 4px;--radius-lg: 6px;--font: "Inter", "SF Pro Display", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--mono: "SF Mono", "JetBrains Mono", "Roboto Mono", ui-monospace, monospace;--ease: cubic-bezier(.22, .61, .36, 1)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{margin:0;padding:0;height:100%;overflow:hidden;background:var(--bg-0);color:var(--ink-0);font-family:var(--font);font-feature-settings:"tnum" 1,"cv02" 1,"cv03" 1;-webkit-font-smoothing:antialiased;overscroll-behavior:none}.app{position:relative;width:100%;height:100%}canvas{display:block;touch-action:none;outline:none}.btn{font:inherit;font-size:13px;font-weight:600;letter-spacing:.02em;color:var(--ink-0);background:transparent;border:1px solid var(--line-strong);border-radius:var(--radius);padding:10px 18px;cursor:pointer;transition:background .16s var(--ease),border-color .16s var(--ease),transform .08s var(--ease)}.btn:hover{background:#ffffff0a;border-color:#ffffff42}.btn:active{transform:translateY(1px)}.btn--primary{background:var(--accent);border-color:var(--accent);color:#17130a;font-weight:700}.btn--primary:hover{background:#eeb85c;border-color:#eeb85c}.btn--lg{padding:13px 34px;font-size:14px}.btn--ghost{color:var(--ink-1);border-color:var(--line)}.btn--icon{padding:7px 10px;font-size:14px;line-height:1}.overlay{position:absolute;inset:0;z-index:10;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(120% 90% at 50% 0%,#00000052,#000000d1);backdrop-filter:blur(14px) saturate(.9);animation:fade-in .32s var(--ease)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.menu,.setup,.result{width:min(100%,720px);max-height:100%;overflow-y:auto;animation:rise .36s var(--ease)}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.menu__head{margin-bottom:34px}.brand{display:flex;align-items:center;gap:14px}.brand__mark{width:26px;height:26px;border-radius:50%;background:radial-gradient(circle at 32% 30%,#fff 0%,var(--accent) 42%,#6b4a1c 100%);box-shadow:0 0 0 1px #ffffff24,0 0 22px var(--accent-glow)}.brand__name{margin:0;font-size:30px;font-weight:800;letter-spacing:.24em;color:var(--ink-0)}.brand__tag{margin:10px 0 0 40px;font-size:13px;color:var(--ink-2);letter-spacing:.01em}.menu__section{margin-bottom:30px}.menu__label{margin:0 0 12px;font-size:10.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3)}.mode-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}.mode-card{display:flex;flex-direction:column;gap:6px;text-align:left;padding:15px 16px;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius-lg);cursor:pointer;transition:border-color .16s var(--ease),background .16s var(--ease)}.mode-card:hover{border-color:var(--line-strong);background:var(--bg-3)}.mode-card.is-active{border-color:var(--accent);background:linear-gradient(180deg,#e0a94a1a,#e0a94a05)}.mode-card__name{font-size:15px;font-weight:700;letter-spacing:.01em;color:var(--ink-0)}.mode-card.is-active .mode-card__name{color:var(--accent)}.mode-card__tag{font-size:12.5px;line-height:1.45;color:var(--ink-2)}.arena-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}.arena-card{display:flex;flex-direction:column;gap:3px;text-align:left;padding:11px 13px;background:transparent;border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;transition:border-color .16s var(--ease),background .16s var(--ease)}.arena-card:hover{border-color:var(--line-strong);background:#ffffff08}.arena-card.is-active{border-color:var(--cool);background:#5fb3c914}.arena-card__name{font-size:13.5px;font-weight:600;color:var(--ink-0)}.arena-card__surface{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-3)}.arena-card.is-active .arena-card__surface{color:var(--cool)}.menu__foot{display:flex;flex-direction:column;gap:16px;padding-top:6px;border-top:1px solid var(--line)}.menu__meta{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;color:var(--ink-3)}.setup{width:min(100%,520px);text-align:left}.setup__title{margin:0;font-size:24px;font-weight:700;letter-spacing:-.01em}.setup__sub{margin:6px 0 28px;font-size:13px;color:var(--ink-2)}.diff-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:26px}.diff-card{display:flex;flex-direction:column;gap:4px;text-align:left;padding:12px 13px;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;transition:border-color .16s var(--ease),background .16s var(--ease)}.diff-card:hover{border-color:var(--line-strong)}.diff-card.is-active{border-color:var(--accent);background:#e0a94a17}.diff-card__name{font-size:13.5px;font-weight:700}.diff-card.is-active .diff-card__name{color:var(--accent)}.diff-card__note{font-size:11.5px;line-height:1.4;color:var(--ink-3)}.setup__controls{margin-bottom:28px}.keylist{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:6px 18px;font-size:12.5px;color:var(--ink-2)}.keylist b{color:var(--ink-0);font-weight:600}.setup__hint{margin:16px 0 0;font-size:12px;line-height:1.5;color:var(--ink-3);max-width:46ch}.setup__actions{display:flex;gap:10px;justify-content:flex-end;padding-top:20px;border-top:1px solid var(--line)}.hud{position:absolute;inset:0;z-index:5;pointer-events:none;display:flex;flex-direction:column;justify-content:space-between;padding:16px 18px calc(16px + env(safe-area-inset-bottom))}.hud__top{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;pointer-events:auto}.score-strip{display:flex;gap:8px}.score-chip{display:flex;align-items:baseline;gap:8px;padding:7px 13px;background:#0a0c0fb8;border:1px solid var(--line);border-radius:var(--radius);backdrop-filter:blur(10px);transition:border-color .2s var(--ease),background .2s var(--ease)}.score-chip.is-active{border-color:var(--accent);background:#e0a94a24}.score-chip__name{font-size:12.5px;font-weight:600;color:var(--ink-1)}.score-chip.is-active .score-chip__name{color:var(--ink-0)}.score-chip__score{font-size:16px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--ink-0)}.score-chip__ai{font-size:9px;font-weight:700;letter-spacing:.12em;color:var(--ink-3);border:1px solid var(--line-strong);border-radius:3px;padding:1px 4px}.hud__tools{display:flex;gap:6px;pointer-events:auto}.tool{font:inherit;font-size:11px;font-weight:600;letter-spacing:.05em;color:var(--ink-2);background:#0a0c0fb8;border:1px solid var(--line);border-radius:var(--radius);padding:7px 11px;cursor:pointer;backdrop-filter:blur(10px);transition:color .16s var(--ease),border-color .16s var(--ease)}.tool:hover{color:var(--ink-0);border-color:var(--line-strong)}.tool.is-on{color:var(--accent);border-color:var(--accent-dim)}.tool--icon{padding:7px 9px;font-size:13px;line-height:1}.tool--room{font-family:var(--font-mono, ui-monospace, monospace);letter-spacing:.08em;color:var(--ink-1)}.turn-banner{position:absolute;top:62px;left:50%;transform:translate(-50%);padding:7px 18px;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-1);background:#0a0c0fa8;border:1px solid var(--line);border-radius:999px;backdrop-filter:blur(10px);white-space:nowrap;transition:color .2s var(--ease)}.turn-banner.is-rolling{color:var(--accent)}.hud__bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;pointer-events:auto}.shot-meter{display:flex;align-items:center;gap:10px;padding:8px 13px;background:#0a0c0fb8;border:1px solid var(--line);border-radius:var(--radius);backdrop-filter:blur(10px)}.shot-meter__label{font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}.shot-meter__pips{display:flex;gap:3px}.pip{width:7px;height:7px;border-radius:50%;background:#ffffff2e;transition:background .2s var(--ease)}.pip.is-used{background:var(--accent)}.shot-meter__count{font-size:12px;font-variant-numeric:tabular-nums;color:var(--ink-2)}.power{display:flex;align-items:center;gap:10px;padding:8px 13px;background:#0a0c0fb8;border:1px solid var(--line);border-radius:var(--radius);backdrop-filter:blur(10px);opacity:.4;transition:opacity .2s var(--ease)}.power.is-active{opacity:1;border-color:var(--accent-dim)}.power__track{width:190px;height:6px;border-radius:999px;background:#ffffff17;overflow:hidden}.power__fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--cool),var(--accent));transition:width .05s linear}.power__value{min-width:26px;text-align:right;font-size:12px;font-variant-numeric:tabular-nums;color:var(--ink-1)}.hud__debug{position:absolute;right:18px;bottom:76px;font-family:var(--mono);font-size:10px;color:var(--ink-3);opacity:.6}.result{width:min(100%,520px)}.result__title{margin:0;font-size:30px;font-weight:800;letter-spacing:-.02em}.result__reason{margin:8px 0 26px;font-size:13px;color:var(--ink-2)}.result__table{width:100%;border-collapse:collapse;font-size:13px;margin-bottom:26px}.result__table th{text-align:left;padding:0 0 9px;font-size:10px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--ink-3);border-bottom:1px solid var(--line)}.result__table td{padding:11px 0;border-bottom:1px solid var(--line);color:var(--ink-1);font-variant-numeric:tabular-nums}.result__table td em{color:var(--ink-3);font-style:normal}.result__table .is-score{text-align:right;font-weight:800;font-size:15px;color:var(--ink-0)}.result__table .is-winner td{color:var(--accent)}.result__actions{display:flex;justify-content:flex-end}@media(max-width:640px){.brand__name{font-size:24px}.brand__tag{margin-left:40px;font-size:12px}.diff-grid{grid-template-columns:1fr}.hud{padding:12px 12px calc(12px + env(safe-area-inset-bottom))}.hud__bottom{flex-direction:column;align-items:stretch;gap:8px}.power__track{width:100%;flex:1}.turn-banner{top:56px;font-size:11px}}
