:root{--bg:#06070a;--panel:#0e1118;--panel-2:#141925;--line:#222838;--text:#e8ebf2;--muted:#8a93a6;--accent:#7c5cff;--accent-2:#9d85ff;--danger:#ff4d4f;--ok:#3ddc84;--gold:#f5c518;--radius:10px;color-scheme:dark}*{box-sizing:border-box}body,html{margin:0;background:var(--bg);color:var(--text);font:15px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased}a{color:var(--accent-2)}h1,h2{margin:0 0 .6rem;line-height:1.2}h1{font-size:1.5rem}h2{font-size:1rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em}.muted,h2{color:var(--muted)}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.header{gap:1rem;padding:max(.6rem,env(safe-area-inset-top)) max(1rem,env(safe-area-inset-left)) .6rem max(1rem,env(safe-area-inset-right));border-bottom:1px solid var(--line);background:var(--panel);position:sticky;top:0;z-index:10}.header,.logo{display:flex;align-items:center}.logo{white-space:nowrap;gap:.5rem;color:var(--text);text-decoration:none;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.logo-mark{width:18px;height:18px;background:var(--gold);clip-path:polygon(0 0,60% 0,60% 40%,100% 40%,100% 100%,40% 100%,40% 60%,0 60%)}.nav{display:flex;gap:.25rem}.nav a{color:var(--muted);text-decoration:none;padding:.35rem .7rem;border-radius:8px}.nav a.active,.nav a:hover{color:var(--text);background:var(--panel-2)}.account{margin-left:auto}.account-in{display:flex;align-items:center;gap:.5rem}.addr{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem;color:var(--muted)}.banner{padding:.6rem 1rem;background:#2a1f0a;border-bottom:1px solid #4a3812;color:#ffd98a}.btn{appearance:none;border:1px solid var(--line);background:var(--panel-2);color:var(--text);padding:.55rem .95rem;border-radius:8px;font:inherit;font-weight:600;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;min-height:40px}.btn.small{padding:.35rem .7rem;min-height:32px;font-size:.875rem}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn.ghost{background:transparent}.btn:disabled{opacity:.45;cursor:not-allowed}.play{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"bar" "board" "side";gap:.75rem;padding:.75rem max(.75rem,env(safe-area-inset-right)) max(.75rem,env(safe-area-inset-bottom)) max(.75rem,env(safe-area-inset-left))}.roundbar{grid-area:bar}.board-area{grid-area:board;gap:.5rem}.board-area,.side{display:flex;flex-direction:column;min-width:0}.side{grid-area:side;gap:1rem}@media (min-width:960px){.play{grid-template-columns:minmax(0,1fr) 340px;grid-template-areas:"bar bar" "board side";grid-template-rows:auto minmax(0,1fr);height:calc(100dvh - 58px)}.board-area{min-height:0}.side{overflow-y:auto}}.roundbar{justify-content:space-between;gap:.5rem 1.25rem;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:.6rem .9rem}.roundbar,.roundbar-main{display:flex;flex-wrap:wrap;align-items:center}.roundbar-main{gap:.4rem .75rem}.league{font-weight:700}.round-id{color:var(--muted)}.phase-chip{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:.15rem .5rem;border-radius:999px;background:#1d2a1f;color:var(--ok)}.phase-lock_window .phase-chip{background:#2f2410;color:#ffb340;animation:pulse 1.2s ease-in-out infinite}.phase-locked .phase-chip,.phase-resolving .phase-chip{background:#2a1a1a;color:#ff8a8a}.phase-settled .phase-chip,.phase-voided .phase-chip{background:var(--panel-2);color:var(--muted)}.round-status{color:var(--muted);font-size:.9rem}@keyframes pulse{50%{opacity:.55}}.stats{display:flex;gap:1.25rem;margin:0}.stats div{display:flex;flex-direction:column}.stats dt{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.stats dd{margin:0;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.grid-host{position:relative;flex:1 1;min-height:52vh;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--bg)}@media (min-width:960px){.grid-host{min-height:0}}.grid-canvas{position:absolute;inset:0;touch-action:none;cursor:crosshair}.grid-canvas canvas{display:block}.zoom{position:absolute;right:.5rem;top:.5rem;display:flex;flex-direction:column;gap:.35rem}.zoom button{width:36px;height:36px;border-radius:8px;background:rgba(14,17,24,.85);color:var(--text);font-size:1.1rem;cursor:pointer}.actionbar,.zoom button{border:1px solid var(--line)}.actionbar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;min-height:52px;background:var(--panel);border-radius:var(--radius);padding:.5rem .75rem}.action-text{flex:1 1 200px;font-size:.92rem}.inventory{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.6rem}@media (max-width:959px){.inventory{grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:150px;overflow-x:auto;padding-bottom:.4rem;scroll-snap-type:x mandatory}.inventory li{scroll-snap-align:start}}.card{width:100%;display:flex;flex-direction:column;gap:.25rem;text-align:left;padding:.5rem;border-radius:var(--radius);border:1px solid var(--line);background:linear-gradient(180deg,var(--panel-2),var(--panel));color:var(--text);font:inherit;cursor:pointer;position:relative}.card img{width:100%;height:auto;aspect-ratio:1;object-fit:contain;border-radius:6px;background:radial-gradient(circle at 50% 70%,#1b2030,#0b0e14 70%)}.card.selected{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent) inset}.card.spent{opacity:.5}.card-name{font-weight:700;font-size:.92rem}.card-line,.card-stats{display:flex;flex-wrap:wrap;gap:.15rem .5rem;font-size:.78rem;color:var(--muted)}.card-stats b{color:var(--text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.rarity-tag{font-weight:700}.rarity-tag.rarity-common{color:#b8c0cc}.rarity-tag.rarity-rare{color:#4da3ff}.rarity-tag.rarity-epic{color:#b77cff}.rarity-tag.rarity-legendary{color:#ff8a3d}.element{font-weight:600}.card-status{position:absolute;top:.9rem;left:.9rem;font-size:.7rem;font-weight:700;padding:.1rem .4rem;border-radius:6px;background:rgba(6,7,10,.85)}.card-status.onBoard{color:var(--ok)}.card-status.used{color:var(--muted)}.result{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:.8rem .9rem}.result p{margin:.3rem 0}.result .win{font-weight:700}.result .links{display:flex;flex-wrap:wrap;gap:.75rem;font-size:.9rem}.notices{position:fixed;left:50%;bottom:max(1rem,env(safe-area-inset-bottom));transform:translateX(-50%);display:flex;flex-direction:column;gap:.4rem;width:min(92vw,440px);z-index:20}.notice{border:1px solid var(--line);background:var(--panel-2);color:var(--text);border-radius:var(--radius);padding:.65rem .9rem;font:inherit;text-align:left;cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.45)}.notice.error{border-color:#5a2224;background:#241315}.notice.win{border-color:#3b3a6b;background:#1a1830;font-weight:700}.page{max-width:720px;margin:0 auto;padding:1.25rem 1rem 3rem}.figures-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem;margin:1rem 0}.figures-list div{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:.75rem .9rem}.figures-list dt{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.figures-list dd{margin:.2rem 0 0;font-size:1.25rem;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.claim-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0 .5rem}.vault{margin-top:2rem;padding-top:1.25rem;border-top:1px solid var(--line)}.vault .big{font-size:1.6rem;font-weight:800;margin:.2rem 0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@media (max-width:600px){.header{gap:.5rem}.logo-text{font-size:.85rem}.nav a{padding:.3rem .5rem}.addr{display:none}.stats{flex-wrap:wrap;gap:.5rem 1rem}}@media (max-width:959px){.grid-host{min-height:0;flex:none;height:min(62vh,82vw)}}.claim-message{padding:.6rem .8rem;border-radius:var(--radius);background:#241315;border:1px solid #5a2224}.claims{margin-top:1.5rem}.claims ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.claims li{display:flex;flex-wrap:wrap;gap:.25rem .75rem;align-items:baseline;padding:.6rem .8rem;border-radius:var(--radius);background:var(--panel);border:1px solid var(--line);font-size:.92rem}.claims li span:first-child{flex:1 1 260px}.claims li.claim-confirmed span:first-child{color:var(--ok)}.claims li.claim-failed span:first-child{color:#ff8a8a}