:root{
  --bg:#f3f1ee; --panel:#fff; --ink:#1d1a1a; --muted:#6b6462; --rule:#e2ddd8;
  --block:#d9731c; --dodge:#138a8a; --rev:#7a4bb3; --possum:#b8900a; --open:#b3261e;
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px); padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme:dark){
  :root{color-scheme:dark;--bg:#151313;--panel:#1f1c1c;--ink:#f1ecea;--muted:#a39b98;--rule:#332e2d;
    --block:#f08a33;--dodge:#2fb3b3;--rev:#a57ce0;--possum:#e0b52a;--open:#ef5a50}
}
*,*::before,*::after{box-sizing:inherit}
body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.4 "Barlow",system-ui,sans-serif}
a{color:inherit}
.top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;
  padding:12px 16px;border-bottom:1px solid var(--rule);background:var(--panel)}
.brand{font:700 22px "Barlow Condensed",sans-serif;text-transform:uppercase;letter-spacing:.03em;text-decoration:none}
nav{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center;font-weight:500}
nav a{text-decoration:none;color:var(--muted)} nav a:hover{color:var(--ink)}
.link{background:none;border:0;padding:0;font:inherit;color:var(--muted);cursor:pointer}
.wrap{max-width:1100px;margin:0 auto;padding:20px 16px 40px}
h1{font:700 30px "Barlow Condensed",sans-serif;text-transform:uppercase;letter-spacing:.02em;margin:0 0 14px}
h2{font:700 21px "Barlow Condensed",sans-serif;text-transform:uppercase;letter-spacing:.03em;margin:24px 0 10px}
.muted{color:var(--muted)}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.tile{display:block;background:var(--panel);border:1px solid var(--rule);border-top:5px solid var(--c,var(--open));
  border-radius:6px;padding:14px;text-decoration:none}
.tile b{display:block;font:700 21px "Barlow Condensed",sans-serif;text-transform:uppercase;letter-spacing:.03em}
.tile span{color:var(--muted);font-size:14px}
.tile.soon{opacity:.55;pointer-events:none}
.tile .chip{float:right;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;
  background:var(--rule);color:var(--muted);padding:2px 6px;border-radius:3px}
.box{max-width:380px;margin:40px auto;background:var(--panel);border:1px solid var(--rule);
  border-top:5px solid var(--open);border-radius:6px;padding:18px}
label{display:block;font-weight:600;font-size:13px;margin:12px 0 4px}
input[type=text],input[type=password]{width:100%;padding:10px;font:inherit;border:1px solid var(--rule);
  border-radius:4px;background:var(--bg);color:var(--ink)}
button.btn{margin-top:16px;width:100%;padding:11px;font:600 15px "Barlow",sans-serif;border:0;border-radius:4px;
  background:var(--open);color:#fff;cursor:pointer}
button.small{padding:4px 10px;font:600 13px "Barlow",sans-serif;border:1px solid var(--rule);border-radius:4px;
  background:var(--panel);color:var(--ink);cursor:pointer}
.err{color:var(--open);font-weight:600;margin:10px 0 0}
.note{font-size:13px;color:var(--muted)}
.scroll{overflow-x:auto}
table{border-collapse:collapse;width:100%;background:var(--panel);font-size:14px}
th,td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--rule);white-space:nowrap}
th{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.linkbox{display:flex;gap:8px;align-items:center;flex-wrap:wrap;background:var(--panel);border:1px solid var(--rule);
  border-left:5px solid var(--dodge);padding:10px;border-radius:4px;margin:12px 0}
.linkbox code{word-break:break-all;font-size:13px}
.inline{display:inline}
.row{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}
.row>div{flex:1;min-width:180px}
.check{display:flex;gap:6px;align-items:center;font-weight:500;margin:0 0 10px}

/* move database */
.filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:8px}
.fchip{--c:var(--muted);text-decoration:none;font-weight:600;font-size:13px;padding:5px 10px;border-radius:999px;
  border:1px solid var(--rule);background:var(--panel)}
.fchip.block{--c:var(--block)} .fchip.dodge{--c:var(--dodge)} .fchip.rev{--c:var(--rev)} .fchip.possum{--c:var(--possum)}
.fchip.on{background:var(--c);border-color:var(--c);color:#fff}
.filters input{flex:1;min-width:160px;padding:7px 10px;font:inherit;border:1px solid var(--rule);border-radius:999px;
  background:var(--panel);color:var(--ink)}
table.moves td,table.moves th{padding:7px 9px}
table.moves th[data-k]{cursor:pointer;user-select:none}
table.moves th.asc::after{content:" ▲"} table.moves th.desc::after{content:" ▼"}
table.moves .n{text-align:right;font-variant-numeric:tabular-nums}
table.moves .b{font-weight:600}
table.moves td.mv{position:sticky;left:0;background:var(--panel);border-left:4px solid var(--c);font-weight:500}
table.moves td.mv a{text-decoration:none}
table.moves th:first-child{position:sticky;left:0;background:var(--panel);z-index:1}
.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--c);margin-right:6px}
.spark{display:block}
.tag{display:inline-block;font-size:10px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;padding:1px 5px;
  border-radius:3px;background:var(--rule);color:var(--muted);margin-left:4px;vertical-align:middle}
.tag.fin{background:var(--c,var(--open));color:#fff}
.tag.dq{background:var(--open);color:#fff}
.mhead{display:flex;flex-wrap:wrap;align-items:center;gap:8px;border-left:6px solid var(--c);padding-left:10px;margin-bottom:14px}
.mhead h1{margin:0}
.mhead .chip{background:var(--c);color:#fff;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;
  padding:3px 7px;border-radius:3px}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}
.stats div{background:var(--panel);border:1px solid var(--rule);border-radius:6px;padding:10px}
.stats span{display:block;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.stats b{font:700 26px "Barlow Condensed",sans-serif;font-variant-numeric:tabular-nums}
.stats b.sm{font:600 14px "Barlow",sans-serif}
.chartbox{background:var(--panel);border:1px solid var(--rule);border-radius:6px;padding:8px}
.bigchart{display:block;width:100%;height:auto}
.bigchart .ax{font:12px "Barlow",sans-serif;fill:var(--muted)}
.bigchart .pt{font:600 12px "Barlow",sans-serif;fill:var(--ink)}
.legend{display:flex;flex-wrap:wrap;gap:6px 18px;margin:8px 0;font-size:14px}
.legend i{display:inline-block;width:22px;height:0;border-top:3px solid var(--c);margin-right:6px;vertical-align:middle}
.legend .dash i{border-top-style:dashed}
.legend a{margin-left:6px;font-size:13px;color:var(--muted)}
.compare{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:12px 0}
.compare label{margin:0}
.compare select{padding:8px;font:inherit;border:1px solid var(--rule);border-radius:4px;background:var(--panel);color:var(--ink);max-width:100%}
table.cmp{max-width:520px}
table.cmp td:not(:first-child),table.cmp th:not(:first-child){text-align:right;font-variant-numeric:tabular-nums}

/* chain builder */
.bld-top{display:flex;flex-wrap:wrap;gap:12px 28px;align-items:flex-end;margin-bottom:14px}
.startbox label{margin:0 0 4px}
.startrow,.presetrow{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.startrow input{width:72px;padding:6px 8px;font:inherit;border:1px solid var(--rule);border-radius:4px;background:var(--panel);color:var(--ink)}
.presets .lbl{display:block;font-weight:600;font-size:13px;margin-bottom:4px}
.small.pc{border-left:4px solid var(--c)}
.small.pc.block{--c:var(--block)} .small.pc.dodge{--c:var(--dodge)} .small.pc.rev{--c:var(--rev)}
.small.pc.possum{--c:var(--possum)} .small.pc.open{--c:var(--open)}
.summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin-bottom:6px;
  position:sticky;top:0;z-index:5;background:var(--bg);padding:6px 0}
.summary div{background:var(--panel);border:1px solid var(--rule);border-top:4px solid var(--open);border-radius:6px;padding:8px 10px}
.summary span{display:block;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.summary b{font:700 28px "Barlow Condensed",sans-serif;font-variant-numeric:tabular-nums}
.bld-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:20px;align-items:start}
@media (max-width:780px){.bld-grid{grid-template-columns:1fr}}
.bld-grid h2{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.bld-grid h2 .small{font-size:12px;padding:3px 8px}
.chain{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.chain li{background:var(--panel);border:1px solid var(--rule);border-left:5px solid var(--c);border-radius:6px;padding:8px 10px}
.slot-main{display:flex;align-items:baseline;gap:10px}
.slot-main .num{font:700 18px "Barlow Condensed",sans-serif;color:var(--c);min-width:18px}
.slot-main .nm{flex:1;font-weight:600;text-decoration:none}
.hit{font:700 24px "Barlow Condensed",sans-serif;font-variant-numeric:tabular-nums}
.hit.good{color:var(--dodge)} .hit.ok{color:var(--possum)} .hit.bad{color:var(--open)}
.slot-sub{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:13px;color:var(--muted);align-items:center;margin-top:2px}
.slot-sub b{color:var(--ink);font-variant-numeric:tabular-nums}
.slot-sub .ctl{margin-left:auto;display:flex;gap:4px}
.icon{border:1px solid var(--rule);background:var(--bg);color:var(--ink);border-radius:4px;width:30px;height:28px;cursor:pointer;font-size:12px}
.slot-warn{margin-top:4px;font-size:12px;font-weight:600;color:var(--open)}
.warn{margin:10px 0 0;padding-left:18px;color:var(--open);font-size:13px;font-weight:600}
.qsearch{width:100%;padding:8px 10px;font:inherit;border:1px solid var(--rule);border-radius:999px;background:var(--panel);color:var(--ink);margin:4px 0 8px}
.picker{display:flex;flex-direction:column;gap:6px;max-height:520px;overflow-y:auto;padding-right:2px}
.pick{display:flex;justify-content:space-between;gap:8px;align-items:baseline;text-align:left;width:100%;cursor:pointer;
  background:var(--panel);border:1px solid var(--rule);border-left:5px solid var(--c);border-radius:6px;padding:8px 10px;font:inherit;color:var(--ink)}
.pick:hover{border-color:var(--c)}
.pick .nm{font-weight:600}
.pick .meta{font-size:12px;color:var(--muted);white-space:nowrap}
button.fchip{cursor:pointer;font-family:inherit;color:var(--ink)}
@media (max-width:780px){
  .summary{grid-template-columns:repeat(3,1fr);gap:6px}
  .summary div{padding:5px 7px;border-top-width:3px}
  .summary span{font-size:9px;letter-spacing:.04em}
  .summary b{font-size:21px}
}
/* usl */
table.standings{max-width:760px}
table.standings .n{text-align:right;font-variant-numeric:tabular-nums}
table.standings .b{font-weight:600}
table.standings a{text-decoration:none;font-weight:500}
.gl{font-size:12px;color:var(--muted)!important;font-weight:400!important}
.win{color:var(--dodge)} .loss{color:var(--open)}
