:root{--ink:#0f172a;--muted:#475569;--line:#cbd5e1;--bg:#f8fafc;--card:#fff;--accent:#c2410c;--accent-d:#9a3412;--navy:#1e293b;--teal:#0f766e;--soft:#fff7ed;--radius:12px}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font:16px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;color:var(--ink);background:var(--bg)}
body.no-scroll{overflow:hidden}
a{color:var(--accent-d)}
a:hover{color:var(--accent)}
img,svg{max-width:100%}
code{font-size:.92em;background:#e2e8f0;padding:.05em .3em;border-radius:4px;overflow-wrap:anywhere}
.wrap{max-width:1120px;margin:0 auto;padding:0 16px}
.skip{position:absolute;left:-999px;top:0;background:#fff;padding:8px 12px;z-index:50}
.skip:focus{left:8px;top:8px}
.sr-only,.offscreen{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;padding:0;margin:-1px}
.site-head{background:var(--navy);color:#fff}
.site-head .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 16px;padding-top:10px;padding-bottom:10px}
.brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-weight:700;font-size:1.05rem}
.brand:hover{color:#fff}
.brand svg{width:32px;height:32px;flex:none}
.nav{display:flex;flex-wrap:wrap;gap:2px 4px}
.nav a{color:#e2e8f0;text-decoration:none;padding:6px 9px;border-radius:8px;font-size:.95rem}
.nav a:hover{background:rgba(255,255,255,.1);color:#fff}
.nav a[aria-current="page"]{background:rgba(255,255,255,.16);color:#fff;font-weight:600}
main{padding:18px 16px 40px}
h1{font-size:1.85rem;line-height:1.2;margin:.3em 0 .3em}
h2{font-size:1.35rem;line-height:1.3;margin:1.6em 0 .5em}
h3{font-size:1.1rem;margin:1.2em 0 .4em}
.lede{font-size:1.08rem;color:var(--muted);margin:0 0 16px;max-width:760px}
.crumbs{margin:0;font-size:.9rem;color:var(--muted)}
.crumbs a{display:inline-flex;align-items:center;min-height:24px;min-width:24px;padding:2px 0}
.muted{color:var(--muted)}
.small-text{font-size:.9rem;margin:.3em 0}
.center{text-align:center;justify-content:center}
.tool-grid{display:grid;gap:16px}
.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px;min-width:0}
.field{display:block;margin:0 0 14px;border:0;padding:0;min-width:0}
.field>label,.field legend{display:block;font-weight:600;margin-bottom:6px;padding:0}
.field-row{display:grid;gap:0 16px}
textarea,input[type=text],input[type=number],select{width:100%;font:inherit;color:inherit;background:#fff;border:1px solid #94a3b8;border-radius:8px;padding:9px 10px;min-height:44px}
textarea{resize:vertical;min-height:180px;line-height:1.45}
textarea:focus,input:focus,select:focus,button:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid #fdba74;outline-offset:2px}
.row-between{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 12px;margin-top:6px;font-size:.92rem}
.mini-actions{display:flex;gap:14px}
.link-btn{background:none;border:0;padding:4px 0;font:inherit;color:var(--accent-d);text-decoration:underline;cursor:pointer;min-height:32px}
.seg{display:flex;flex-wrap:wrap;gap:6px}
.seg label{position:relative}
.seg input{position:absolute;opacity:0;inset:0;margin:0}
.seg span{display:inline-flex;align-items:center;min-height:44px;padding:8px 14px;border:1px solid #94a3b8;border-radius:999px;background:#fff;cursor:pointer}
.seg input:checked+span{background:var(--navy);color:#fff;border-color:var(--navy)}
.seg input:focus-visible+span{outline:3px solid #fdba74;outline-offset:2px}
.check{display:flex;gap:10px;align-items:flex-start;margin:0 0 12px;cursor:pointer}
.check input{width:20px;height:20px;margin-top:3px;flex:none}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:10px 18px;border-radius:10px;border:1px solid var(--accent);background:var(--accent);color:#fff;font:inherit;font-weight:600;cursor:pointer;text-decoration:none}
.btn:hover{background:var(--accent-d);color:#fff}
.btn.secondary,.btn.ghost{background:#fff;color:var(--accent-d)}
.btn.secondary:hover,.btn.ghost:hover{background:var(--soft);color:var(--accent-d)}
.btn.ghost{border-color:transparent}
.btn.small{min-height:36px;padding:6px 12px;font-size:.92rem}
.btn:disabled{opacity:.45;cursor:not-allowed}
.actions{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 4px}
.status{min-height:1.6em;margin:6px 0;color:var(--teal);font-weight:600}
.alert{background:#fef2f2;border:1px solid #fca5a5;color:#991b1b;border-radius:10px;padding:10px 14px;margin:8px 0}
.alert[hidden]{display:none}
.balance{border-top:1px solid var(--line);margin-top:4px;padding-top:10px}
.balance summary{cursor:pointer;font-weight:600;min-height:40px;display:flex;align-items:center;color:var(--accent-d)}
.balance-body{padding-top:4px}
.h-small{font-size:1rem;margin:.8em 0 .3em}
.chips{display:flex;flex-wrap:wrap;gap:6px;max-height:260px;overflow:auto;padding:2px}
.chip{font:inherit;font-size:.92rem;border:1px solid #94a3b8;background:#fff;border-radius:999px;padding:5px 12px;min-height:36px;cursor:pointer;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chip[data-tier="1"]{background:var(--accent);border-color:var(--accent);color:#fff}
.chip[data-tier="1"]::after{content:" · T1"}
.chip[data-tier="2"]{background:#ccfbf1;border-color:var(--teal);color:#134e4a}
.chip[data-tier="2"]::after{content:" · T2"}
.ka-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ka-row .btn{grid-column:1/-1}
.ka-list{list-style:none;padding:0;margin:4px 0 0}
.ka-list li{display:flex;justify-content:space-between;align-items:center;gap:10px;border-bottom:1px solid #e2e8f0;padding:2px 0;overflow-wrap:anywhere}
.results{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-top:8px}
.team-card{background:#fff;border:1px solid var(--line);border-top:6px solid var(--c,#c2410c);border-radius:var(--radius);padding:10px 14px 12px;min-width:0}
.c0{--c:#c2410c}.c1{--c:#0f766e}.c2{--c:#1d4ed8}.c3{--c:#7c3aed}.c4{--c:#be123c}.c5{--c:#a16207}.c6{--c:#0e7490}.c7{--c:#4d7c0f}
.team-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin:0 0 6px;font-size:1.05rem;overflow-wrap:anywhere}
.team-size{font-size:.85rem;color:var(--muted);background:#f1f5f9;border-radius:999px;padding:0 8px;flex:none}
.team-list-names{margin:0;padding-left:1.4em}
.team-list-names li{overflow-wrap:anywhere}
.tier-badge{display:inline-block;font-size:.72rem;font-weight:700;border-radius:4px;padding:0 4px;margin-left:6px;vertical-align:1px}
.tier-badge.t1{background:var(--accent);color:#fff}.tier-badge.t2{background:#ccfbf1;color:#134e4a}
.big{position:fixed;inset:0;z-index:100;background:#0f172a;color:#fff;display:flex;flex-direction:column;padding:16px 20px;overflow:auto}
.big[hidden]{display:none}
.big-bar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}
.big-bar h2{margin:0;font-size:clamp(1.3rem,3vw,2.4rem)}
.big-bar span{display:flex;gap:8px}
.big-grid{--cols:2;--fs:1.6rem;display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));gap:16px;flex:1;align-content:start}
.big .team-card{background:#1e293b;border-color:#334155;border-top-color:var(--c);color:#fff;font-size:var(--fs);padding:.5em .8em}
.big .team-head{font-size:1.1em}
.big .team-size{background:#334155;color:#e2e8f0;font-size:.6em}
.big .c0{--c:#fb923c}.big .c1{--c:#2dd4bf}.big .c2{--c:#60a5fa}.big .c3{--c:#a78bfa}.big .c4{--c:#fb7185}.big .c5{--c:#facc15}.big .c6{--c:#22d3ee}.big .c7{--c:#a3e635}
#print-sheet{display:none}
/* sports */
.reel-panel{text-align:center}
.reel{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:150px;border-radius:var(--radius);background:var(--navy);color:#fff;padding:16px}
.reel-name{font-size:clamp(1.5rem,6vw,2.4rem);font-weight:800;line-height:1.15;overflow-wrap:anywhere}
.reel-meta{color:#cbd5e1;min-height:1.5em;margin-top:6px}
.reel.rolling .reel-name{opacity:.85}
.reel.landed{background:linear-gradient(135deg,#1e293b,#9a3412)}
.big-btn{min-width:150px;font-size:1.15rem}
.history ol{text-align:left;max-height:220px;overflow:auto;margin:0}
.assign-out{padding-left:1.4em}
.assign-out li{overflow-wrap:anywhere}
.league-list h3{margin-top:1.4em}
.div-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:4px 20px}
.div-block h4{margin:.6em 0 .2em;font-size:.98rem;color:var(--muted)}
.team-list{margin:0;padding-left:1.2em}
.note{font-size:.92rem;color:var(--muted);border-left:4px solid var(--line);padding:4px 12px;margin:20px 0}
/* names */
.name-list{margin:0;padding-left:1.8em;columns:1}
.name-list li{padding:2px 0;break-inside:avoid}
.name-list li .nm{font-weight:600;margin-right:6px}
.name-list li .btn{vertical-align:middle}
.samples{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:4px 20px}
.samples h3{margin:.6em 0 .2em;font-size:1rem}
.samples ul{margin:0;padding-left:1.2em}
/* content */
.content{max-width:820px;margin-top:28px}
.prose p,.prose li{max-width:75ch}
.prose ol,.prose ul{padding-left:1.4em}
.prose li{margin:.25em 0}
.faq details{background:#fff;border:1px solid var(--line);border-radius:10px;margin:8px 0;padding:0 14px}
.faq summary{cursor:pointer;font-weight:600;padding:12px 0;min-height:44px}
.faq details p{margin:0 0 12px}
.notfound{margin:20px 0}
.site-foot{border-top:1px solid var(--line);background:#fff;font-size:.92rem;color:var(--muted)}
.site-foot .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 20px;padding-top:18px;padding-bottom:22px}
.site-foot nav{display:flex;gap:16px}
@media (min-width:720px){
  h1{font-size:2.3rem}
  .tool-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .field-row{grid-template-columns:1fr 1fr}
  .ka-row{grid-template-columns:1fr 1fr auto}
  .ka-row .btn{grid-column:auto}
  .name-list{columns:2;column-gap:24px}
}
@media (min-width:1000px){
  .tool-grid{grid-template-columns:minmax(0,5fr) minmax(0,6fr)}
  .sports-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media print{
  @page{margin:14mm}
  body{background:#fff;color:#000;font-size:12pt}
  body.has-sheet>*:not(#print-sheet){display:none!important}
  body.has-sheet #print-sheet{display:block}
  .site-head,.site-foot,.actions,.skip{display:none!important}
  #print-sheet h1{font-size:22pt;margin:0 0 2pt}
  .print-meta{margin:0 0 12pt;color:#333}
  .print-grid{display:grid;grid-template-columns:1fr 1fr;gap:10pt 18pt}
  .print-team{border:1.5pt solid #000;border-radius:6pt;padding:6pt 10pt;break-inside:avoid}
  .print-team h2{font-size:14pt;margin:0 0 4pt;border-bottom:1pt solid #000;padding-bottom:3pt}
  .print-team ul{list-style:none;margin:0;padding:0}
  .print-team li{padding:3pt 0 3pt 20pt;position:relative;border-bottom:.5pt solid #bbb}
  .print-team li::before{content:"";position:absolute;left:0;top:5pt;width:10pt;height:10pt;border:1pt solid #000}
}
