:root { --accent:#007a4b; --brand:#118737; --bright:#6bd6a1; --soft:#e9f1e9; --surface:#fff; --hero:#121b15; --hero-text:#fff; --hero-muted:#d1ded4; --paper:#f5f7f4; --radius:8px; --heading:sans-serif; --pattern:none; --motif-secondary:#8a9c7d; }
body[data-team="jets"],.theme-swatch[data-team="jets"] { --accent:#006934; --brand:#006934; --bright:#aedb72; --soft:#edf5e5; --paper:#f3f7ef; --hero:#123d29; --line:#dce7d5; --heading:sans-serif; --radius:8px; }
body[data-team="drivens"],.theme-swatch[data-team="drivens"] { --accent:#526807; --brand:#9cb832; --bright:#c4de79; --soft:#f0f5e4; --paper:#f6f8ef; --hero:#293613; --line:#e0e6d3; --radius:6px; }
body[data-team="furinkazan"],.theme-swatch[data-team="furinkazan"] { --accent:#b22932; --brand:#dc3d40; --bright:#ff9292; --soft:#fcecee; --paper:#faf4f3; --hero:#56242b; --line:#eddcdf; --heading:serif; --radius:5px; }
body[data-team="sakura"],.theme-swatch[data-team="sakura"] { --accent:#ab3565; --brand:#f895b5; --bright:#ffc3d8; --soft:#fff0f5; --paper:#fcf4f7; --hero:#613044; --line:#efdce5; --heading:serif; --radius:11px; }
body[data-team="konami"],.theme-swatch[data-team="konami"] { --accent:#920101; --brand:#920101; --bright:#ffaaa3; --soft:#faedeb; --paper:#faf4f2; --hero:#431820; --line:#eadbd8; --radius:5px; }
body[data-team="abemas"],.theme-swatch[data-team="abemas"] { --accent:#c6ae6f; --brand:#c6ae6f; --bright:#e8d69b; --soft:#2c2a22; --paper:#151613; --surface:#20211d; --ink:#edf0e7; --muted:#b4b6ac; --line:#3b3d33; --hero:#10110e; --radius:5px; }
body[data-team="phoenix"],.theme-swatch[data-team="phoenix"] { --accent:#a94508; --brand:#b74801; --bright:#ffb778; --soft:#fff0e2; --paper:#fcf6ef; --hero:#503022; --line:#ecdfd1; --radius:8px; }
body[data-team="raiden"],.theme-swatch[data-team="raiden"] { --accent:#705c00; --brand:#dbb400; --bright:#ffe26b; --soft:#fcf6d7; --paper:#faf8ef; --hero:#33301b; --line:#e8e3d0; --radius:5px; }
body[data-team="beast"],.theme-swatch[data-team="beast"] { --accent:#24557c; --brand:#002953; --bright:#a7c6df; --soft:#edf1ea; --paper:#f4f6f0; --hero:#192e3c; --line:#dde4d9; --motif-secondary:#9aa783; --radius:6px; }
body[data-team="pirates"],.theme-swatch[data-team="pirates"] { --accent:#086fa6; --brand:#0582c8; --bright:#95ddfa; --soft:#e8f4fa; --paper:#f2f8fa; --hero:#174254; --line:#dce8ee; --radius:9px; }
body { --green:var(--accent); --positive:var(--accent); --muted:#68726c; --button-ink:#fff; background:var(--paper); transition:background .2s; }
body[data-team="abemas"] { --muted:#b4b6ac; --positive:#dfc991; --red:#f0a39a; --button-ink:#151613; color-scheme:dark; }
.brand,.player-inputs,.result-panel,.history-card,.standing,.nav,.rules-grid div,.secondary,.review-source,.review-row input,.empty { background:var(--surface); color:var(--ink); }
.hero { background:var(--hero); color:var(--hero-text); border-radius:var(--radius); border-top:2px solid var(--brand); isolation:isolate; }
.hero:after { display:none; }
.hero-art { position:absolute; top:0; right:0; width:46%; height:100%; color:var(--bright); pointer-events:none; -webkit-mask-image:linear-gradient(90deg,transparent,#000 33%); mask-image:linear-gradient(90deg,transparent,#000 33%); }
.hero-art svg,.swatch-art svg { width:100%; height:100%; fill:none; stroke:currentColor; stroke-width:1.2; stroke-linecap:round; stroke-linejoin:round; }
.hero-bottom { color:var(--hero-muted); }
.hero h1,.page-heading h1 { font-family:var(--heading); }
.tag { color:var(--hero-muted); border-color:#ffffff40; }
.hero-tile { border:1px solid var(--bright); border-radius:4px; color:var(--bright); transform:none; width:29px; height:34px; }
.hero-tile svg { width:23px; height:23px; }
.player-inputs,.history-card,.result-panel,.standing,.primary,.input-methods button { border-radius:var(--radius); }
.player-inputs { box-shadow:0 2px 5px #17231d04; }
.input-methods { grid-template-columns:repeat(2,1fr); }
.input-methods button,.seat,.player-row:first-child .seat,.review-row.focused,.candidate-list button,.nav .active svg,dialog .formula,.standing.top { background:var(--soft); color:var(--accent); border-color:var(--line); }
.input-methods button:hover,.theme-switch:hover { filter:brightness(.98); }
.result-panel,.candidate-list button { border-color:var(--line); }
.positive { color:var(--positive); }
.negative { color:var(--red); }
.primary { color:var(--button-ink); background:var(--accent); }
.rank.first { color:var(--accent); }
.input-methods small,.raw,.supply-hint,.input-wrap label,.score-wrap:after,.section-heading p,.total,.page-heading p,.standing p,dialog p,.result-heading small { color:var(--muted); }
.input-wrap input { color:var(--ink); }
.score-wrap input::placeholder { color:var(--muted); }
.result-heading,.history-card header,.player-row,.nav { border-color:var(--line); }
.card-actions button { background:var(--soft); color:var(--accent); }
.brandmark { border-color:var(--ink); border-bottom-color:var(--accent); }
.theme-switch { margin-left:auto; display:flex; align-items:center; gap:6px; background:var(--soft); color:var(--accent); font-size:9px; padding:9px 8px; border-radius:6px; min-height:40px; max-width:128px; }
.theme-switch span:first-child { overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.theme-switch svg { width:17px; height:17px; flex-shrink:0; }
.brand .icon-button { margin-left:0; width:32px; padding:6px; color:var(--muted); }
.brand { padding-left:18px; padding-right:15px; gap:9px; }
.brand strong { font-size:20px; }
.theme-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:12px 10px; margin:15px 0; }
.theme-option { border:1px solid var(--line); color:var(--ink); background:var(--surface); border-radius:8px; padding:0; overflow:hidden; text-align:left; position:relative; }
.theme-option.active { outline:2px solid var(--accent); outline-offset:2px; }
.theme-swatch { --brand:#118737; --bright:#6bd6a1; --hero:#121b15; --motif-secondary:#8a9c7d; height:80px; display:flex; align-items:center; padding:12px; color:var(--bright); border-top:2px solid var(--brand); background:var(--hero); position:relative; overflow:hidden; }
.swatch-art { position:absolute; top:-52px; right:0; width:105px; height:174px; color:var(--bright); pointer-events:none; }
.swatch-icon { position:relative; z-index:1; width:32px; height:32px; display:grid; place-items:center; border:1px solid #ffffff40; border-radius:5px; background:#ffffff08; }
.swatch-icon svg { width:24px; height:24px; }
.theme-option strong { display:block; padding:10px; font-size:11px; line-height:1.5; }
.theme-option.active:after { content:'✓'; position:absolute; right:8px; top:8px; color:var(--hero-text); background:#0005; border-radius:50%; width:20px; height:20px; display:grid; place-items:center; font:12px sans-serif; }
.nav button { color:var(--muted); }
.nav .active { color:var(--accent); }
.toast { pointer-events:none; background:var(--hero); color:var(--hero-text); }
.empty { border-color:var(--line); }
.empty strong { color:var(--muted); }
button:focus-visible,input:focus-visible,textarea:focus-visible { outline-color:var(--accent); }
@media(max-width:360px) { .theme-switch { max-width:102px; font-size:8px; padding:8px 6px; } .brand strong { font-size:18px; } }

.seat-note { display:flex; align-items:center; justify-content:space-between; margin:6px 0 0; gap:5px; }
.seat-note>span { font-size:9px; color:var(--muted); line-height:1.6; }
.player-select { display:flex; justify-content:space-between; align-items:center; min-height:32px; width:100%; text-align:left; padding:0; background:transparent; color:var(--ink); font-size:13px; gap:5px; }
.player-select span:first-child { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.player-select .chevron { color:var(--accent); font-size:15px; }
.roster-list { display:grid; gap:8px; margin:15px 0 20px; }
.roster-choice { display:flex; width:100%; align-items:center; justify-content:space-between; padding:14px; background:var(--surface); color:var(--ink); border:1px solid var(--line); border-radius:5px; text-align:left; min-height:50px; font-size:13px; }
.roster-choice span { font-size:10px; color:var(--muted); }
.roster-edit { display:flex; gap:10px; margin:9px 0; align-items:center; }
.roster-edit input,.new-player input { min-width:0; flex:1; width:100%; background:var(--surface); border:1px solid var(--line); color:var(--ink); border-radius:4px; padding:13px; font-size:13px; }
.roster-edit button { flex-shrink:0; }
.new-player { display:flex; gap:10px; align-items:center; margin:15px 0; }
.seat-inline { color:var(--muted); font-size:9px; margin-left:4px; }
.settlement-time { display:grid; grid-template-columns:auto 1fr; gap:5px 10px; font-size:11px; color:var(--muted); border-left:2px solid var(--brand); padding-left:10px; margin:0 0 16px; }
.settlement-time time { text-align:right; font-variant-numeric:tabular-nums; color:var(--ink); }
.settlement-time small { grid-column:1 / -1; font-size:9px; }
@media(max-width:360px) { .theme-switch { max-width:102px; font-size:8px; padding:8px 6px; } .brand strong { font-size:18px; } .brand small { font-size:6px; } }
