:root{--bg:#0b1210;--panel:#111c18;--line:#1f3029;--text:#e8f1ed;--muted:#8fa89d;--green:#22c55e;--green2:#16a34a;--red:#ef4444}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.5 system-ui,Segoe UI,Roboto,sans-serif}
a{color:var(--green)}.muted{color:var(--muted)}.wrap{max-width:960px;margin:0 auto;padding:1rem}
.topbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem;padding:.75rem 1rem;border-bottom:1px solid var(--line)}
.topbar nav{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.topbar nav a{text-decoration:none;color:var(--text)}
.brand{font-weight:800;letter-spacing:.08em;text-decoration:none;color:var(--text)}.brand span{color:var(--green)}
.btn{display:inline-block;background:var(--green2);color:#fff!important;border:0;border-radius:8px;padding:.6rem 1.1rem;font:inherit;font-weight:600;cursor:pointer;text-decoration:none}
.btn:hover{background:var(--green)}.btn.ghost{background:transparent;border:1px solid var(--green2)}.btn.big{padding:.85rem 1.5rem}.btn.danger{background:var(--red)}
.hero{padding:3rem 0}.hero h1{font-size:clamp(1.8rem,5vw,3rem);margin:.2em 0}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem}.card,.panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:1.2rem}
.panel{max-width:520px;margin:1rem 0}.gmain .panel{max-width:none}.panel.danger{border-color:#5b2323}
label{display:block;margin:.8rem 0;color:var(--muted);font-size:.9rem}input,select{display:block;width:100%;margin-top:.25rem;padding:.6rem;background:#0b1210;color:var(--text);border:1px solid var(--line);border-radius:8px;font:inherit}
input:focus,select:focus,button:focus-visible,a:focus-visible{outline:2px solid var(--green);outline-offset:2px}
label.check{display:flex;gap:.5rem;align-items:flex-start}label.check input{width:auto;margin-top:.3rem}
.alert{padding:.75rem 1rem;border-radius:8px;margin:.75rem 0}.alert.success{background:#0f2b1a;border:1px solid var(--green2)}.alert.error{background:#2e1212;border:1px solid var(--red)}.alert.info{background:#112233;border:1px solid #2563eb}
.errors{background:#2e1212;border:1px solid var(--red);border-radius:8px;padding:.75rem 1.5rem}
.foot{text-align:center;color:var(--muted);padding:2rem 1rem;font-size:.85rem}.prose{max-width:70ch}
.link{background:none;border:0;color:var(--green);cursor:pointer;font:inherit;padding:0;text-decoration:underline}form.inline{display:inline}
body.game{display:grid;grid-template-columns:230px 1fr;min-height:100vh}.side{background:#08100d;border-right:1px solid var(--line);padding:1rem;position:sticky;top:0;height:100vh;overflow:auto}
.side nav{display:flex;flex-direction:column;margin:1rem 0}.side nav a{padding:.45rem .6rem;border-radius:6px;text-decoration:none;color:var(--text)}.side nav a:hover{background:var(--panel)}
.side nav a.soon{color:#566b62;cursor:not-allowed}.gmain{padding:1.25rem;min-width:0}
@media(max-width:800px){body.game{grid-template-columns:1fr}.side{position:static;height:auto;border-right:0;border-bottom:1px solid var(--line)}.side nav{flex-direction:row;overflow-x:auto;gap:.25rem}.side nav a{white-space:nowrap}}
.badge{background:var(--green2);color:#fff;border-radius:999px;padding:0 .45rem;font-size:.75rem;margin-left:.3rem}.badge:empty,.badge[hidden]{display:none}
table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:.5rem;border-bottom:1px solid var(--line)}
.pager{display:flex;gap:1rem;align-items:center;margin-top:1rem}.unread td:first-child{border-left:3px solid var(--green)}
.field-error{color:#fca5a5;font-size:.85rem;margin-top:.2rem}
.gmain .panel.wide,.panel.wide{max-width:640px}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem}.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}
.grid3 .panel,.grid2 .panel{margin:0}.panel.wide2{grid-column:1/-1}.panel.next{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;border-color:var(--green2)}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media(max-width:600px){.row2{grid-template-columns:1fr}}
textarea{display:block;width:100%;margin-top:.25rem;padding:.6rem;background:#0b1210;color:var(--text);border:1px solid var(--line);border-radius:8px;font:inherit}
.tabs{display:flex;gap:.5rem;flex-wrap:wrap;margin:1rem 0}.tabs a{padding:.4rem .8rem;border:1px solid var(--line);border-radius:999px;text-decoration:none;color:var(--text)}.tabs a.on{background:var(--green2);border-color:var(--green2)}
.clubgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:1rem}.club h3{margin:0}
.clubhead{display:flex;gap:.8rem;align-items:center;margin-bottom:.6rem}.clubhead.big{margin:.5rem 0 1rem}.clubhead.big h1{margin:0}
.crest{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;font-weight:800;font-size:.8rem;border:2px solid rgba(255,255,255,.25);flex:none}.clubhead.big .crest{width:64px;height:64px;font-size:1rem}
.pill{display:inline-block;background:#183326;border:1px solid var(--green2);border-radius:999px;padding:0 .6rem;font-size:.75rem}
.facts{display:grid;grid-template-columns:auto 1fr;gap:.25rem 1rem;margin:.5rem 0 1rem}.facts dt{color:var(--muted)}.facts dd{margin:0;text-align:right}
.bar{background:#0b1210;border:1px solid var(--line);border-radius:999px;height:10px;overflow:hidden;margin:.3rem 0 .7rem}.bar span{display:block;height:100%;background:var(--green)}
.big{font-size:1.8rem;font-weight:700;margin:.2rem 0}.obj{margin:.6rem 0}
.pitch{position:relative;aspect-ratio:2/3;max-width:560px;margin:.5rem auto;border-radius:14px;border:2px solid #2f6b4a;background:
 linear-gradient(#fff3 2px,transparent 2px) 0 50%/100% 100% no-repeat,
 repeating-linear-gradient(#14532d 0 8%,#166534 8% 16%)}
.pitch:before{content:"";position:absolute;left:50%;top:50%;width:26%;aspect-ratio:1;border:2px solid #fff3;border-radius:50%;transform:translate(-50%,-50%)}
.pitch:after{content:"";position:absolute;left:25%;right:25%;bottom:0;height:14%;border:2px solid #fff3;border-bottom:0}
.slot{position:absolute;transform:translate(-50%,-50%);width:23%;text-align:center;z-index:1}
.slotlabel{display:inline-block;background:#052e16;color:#bbf7d0;border-radius:999px;font-size:.65rem;padding:0 .4rem;margin-bottom:2px}
.slot select{font-size:.7rem;padding:.2rem;margin:0}select.dup{outline:2px solid var(--red)}
.tacgrid{display:grid;grid-template-columns:minmax(260px,560px) 1fr;gap:1rem;align-items:start}@media(max-width:900px){.tacgrid{grid-template-columns:1fr}.slot select{font-size:.62rem;padding:.1rem}}
.bench{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.5rem}.panel.actions{display:flex;gap:1rem;align-items:flex-end;flex-wrap:wrap;max-width:none}
.panel.actions label{margin:0}.suggest{margin:.5rem 0}.inl{display:inline-flex;gap:.5rem;align-items:center;margin:0}.inl select{width:auto;margin:0}
.preset{padding:.4rem 0;border-bottom:1px solid var(--line);display:flex;gap:.8rem;align-items:center;flex-wrap:wrap}
input[type=range]{padding:0}output{float:right;color:var(--green)}
.scroll{overflow-x:auto;max-width:none}table.squad th a{color:var(--muted);text-decoration:none}table.squad th a.on{color:var(--green)}
.bar.sm{height:6px;width:60px;display:inline-block;vertical-align:middle;margin:0 .4rem 0 0}.pill.bad{background:#3b1414;border-color:var(--red)}.pill.warn{background:#3b2e0a;border-color:#d97706}
.attr{display:flex;align-items:center;gap:.5rem;margin:.25rem 0}.attr>span:first-child{flex:1;color:var(--muted)}.attr .bar{width:90px;margin:0}.attr b{width:2rem;text-align:right}
.scoreboard{display:grid;grid-template-columns:1fr auto 1fr;gap:1rem;align-items:center;margin:1rem 0 .3rem}.scoreboard .team{display:flex;flex-direction:column;align-items:center;gap:.3rem;text-align:center}
.scoreboard .mid{display:flex;flex-direction:column;align-items:center}.scoreboard .big{font-size:2.4rem;font-weight:800;letter-spacing:.05em}.center{text-align:center}
.crest.xs{width:14px;height:14px;border-width:1px;vertical-align:middle}
.stat{display:grid;grid-template-columns:2.5rem 1fr 2.5rem;gap:.5rem;align-items:center;margin:.55rem 0}.stat small{grid-column:1/-1;text-align:center;color:var(--muted);margin-top:-.2rem}.stat span:last-of-type{text-align:right}
.split{background:#3b4a43;border-radius:999px;height:8px;overflow:hidden}.split i{display:block;height:100%;background:var(--green)}
.feed{list-style:none;margin:0;padding:0;max-height:560px;overflow:auto}.feed .ev{padding:.4rem 0;border-bottom:1px solid var(--line);display:flex;gap:.6rem}.feed .min{min-width:3.2rem;color:var(--muted);font-variant-numeric:tabular-nums}
.feed .goal{background:#0f2b1a;border-left:3px solid var(--green);padding-left:.5rem;font-weight:600}
table.lineup td,table.league td,table.league th,table.fix td,table.fix th{padding:.35rem .4rem}table.lineup tr.sub td{color:var(--muted)}table.lineup tr.mom td{background:#2a2410}
table.league tr.promo td:first-child{box-shadow:inset 3px 0 var(--green)}table.league tr.releg td:first-child{box-shadow:inset 3px 0 var(--red)}table.league tr.mine td{background:#14281f}
.dot{display:inline-block;width:10px;height:10px;border-radius:2px;margin:0 .3rem 0 .6rem}.dot.promo{background:var(--green)}.dot.releg{background:var(--red)}.legend{margin-top:.8rem}
.me{font-weight:700;color:var(--green)}.score{margin:0 .5rem}
.chat{max-width:700px;max-height:520px;overflow:auto}.msg{background:#16231e;border:1px solid var(--line);border-radius:12px;padding:.5rem .8rem;margin:.5rem 0;max-width:85%}.msg.mine{background:#0f2b1a;margin-left:auto;border-color:var(--green2)}
details.panel summary{cursor:pointer;color:var(--muted)}
.up{color:var(--green)}.dn{color:#f87171}input.sm,select.sm{display:inline-block;width:auto;max-width:9rem;margin:0 .25rem 0 0;padding:.3rem}input.xs{max-width:3.5rem}
.filters{display:flex;gap:.8rem;align-items:flex-end;flex-wrap:wrap;max-width:none}.filters label{margin:0}.filters input{max-width:5rem}
.preset.neg{justify-content:space-between;align-items:flex-start}.acts{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}
.quote{margin:.5rem 0;padding:.5rem .8rem;border-left:3px solid var(--line);color:var(--muted)}.logbox{max-height:520px;overflow:auto;background:#08100d;border:1px solid var(--line);border-radius:8px;padding:.7rem;font-size:.8rem;white-space:pre-wrap;word-break:break-word}
.setting{margin:.9rem 0}.setting small{display:block}
