:root{--accent:#E8502E;--ink:#0E1A2B;--bg:#F4F4F2;--card:#fff;--line:#E4E4E0;--text:#111;--muted:#6B6F76;--ok:#1F9D55;--warn:#D98E04;--bad:#D33A2C;--info:#2F6FDE;--r:14px;--side:248px;font-family:var(--body);color:var(--text);background:var(--bg)}
*{box-sizing:border-box}body{margin:0;font-size:15px;line-height:1.45;-webkit-font-smoothing:antialiased}
a{color:inherit}button{font:inherit;color:inherit;cursor:pointer}input,select,textarea{font:inherit;color:inherit}
h1,h2,h3{margin:0;letter-spacing:-.01em}.muted{color:var(--muted)}.small{font-size:13px}.block{display:block}.grow{flex:1;min-width:0}
/* layout */
#app{display:flex;min-height:100vh}
.side{width:var(--side);background:var(--ink);color:#fff;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;z-index:30;transition:transform .25s}
.brand{display:flex;gap:12px;align-items:center;padding:22px 18px 18px;border-bottom:1px solid rgba(255,255,255,.08)}
.brand img{width:42px;height:42px;object-fit:contain;border-radius:8px;background:#fff;padding:3px}
.brand b{display:block;font-size:15px;line-height:1.2}.brand small{color:rgba(255,255,255,.6);font-size:12px}
.mark{width:42px;height:42px;border-radius:10px;background:var(--accent);display:grid;place-items:center;font-family:var(--display);font-stretch:62%;font-weight:800;font-size:17px;letter-spacing:-.02em;color:#fff;flex:none;overflow:hidden}
.mark.big{width:72px;height:72px;font-size:30px;margin:0 auto 16px;border-radius:16px}
.side nav{flex:1;overflow:auto;padding:10px 10px 20px}
.nav-group>span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:rgba(255,255,255,.4);padding:16px 10px 6px}
.side nav a{display:flex;align-items:center;gap:11px;padding:9px 10px;border-radius:9px;text-decoration:none;color:rgba(255,255,255,.78);font-weight:500;font-size:14px}
.side nav a:hover{background:rgba(255,255,255,.06);color:#fff}.side nav a.on{background:var(--accent);color:#fff}
.me{display:flex;gap:10px;align-items:center;padding:14px 16px;border-top:1px solid rgba(255,255,255,.08)}.me b{display:block;font-size:13px}.me small{font-size:11px;color:rgba(255,255,255,.55)}
main{flex:1;margin-left:var(--side);min-width:0}
.top{position:sticky;top:0;z-index:10;background:rgba(244,244,242,.92);backdrop-filter:blur(10px);display:flex;align-items:center;gap:12px;padding:16px 32px;border-bottom:1px solid var(--line)}
.top h1{font-family:var(--display);font-stretch:62%;font-weight:800;font-size:30px;text-transform:uppercase;letter-spacing:.01em;flex:1}
#top-actions{display:flex;gap:8px}
#view{padding:24px 32px 60px;max-width:1280px}
.top .menu{display:none}.scrim{display:none}
/* controls */
.btn{display:inline-flex;align-items:center;gap:6px;background:var(--text);color:#fff;border:0;border-radius:999px;padding:10px 18px;font-weight:600;font-size:14px;text-decoration:none;white-space:nowrap}
.btn:hover{background:var(--accent)}.btn:disabled{opacity:.5;cursor:default}
.btn.ghost{background:transparent;color:var(--text);box-shadow:inset 0 0 0 1px var(--line)}.btn.ghost:hover{box-shadow:inset 0 0 0 1px var(--text)}
.btn.danger{color:var(--bad)}.btn.sm{padding:6px 12px;font-size:13px}.btn.light{background:#fff;color:#111}
.icon-btn{border:0;background:transparent;width:36px;height:36px;border-radius:50%;display:inline-grid;place-items:center}.icon-btn:hover{background:rgba(0,0,0,.06)}.icon-btn.sm{width:28px;height:28px}.icon-btn:disabled{opacity:.25}
input,select,textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:#fff;outline:none}
input:focus,select:focus,textarea:focus{border-color:var(--text)}textarea{resize:vertical}
input[type=color]{padding:3px;height:42px}input[type=checkbox]{width:auto}
.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:16px}.toolbar .search{max-width:320px}.toolbar select{width:auto;min-width:160px}.toolbar input#round{max-width:260px}
.intro{color:var(--muted);margin:0 0 18px;max-width:720px}
.card{background:var(--card);border-radius:var(--r);padding:20px;margin-bottom:16px;box-shadow:0 1px 0 var(--line)}
.card.flush{padding:0;overflow:hidden}.card.soft{background:transparent;box-shadow:inset 0 0 0 1px var(--line)}.card h3{font-size:16px;margin-bottom:12px}.scroll-x{overflow-x:auto}
.ch{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px}.ch h3{margin:0}.ch a{font-size:13px;color:var(--muted)}
.sec{font-size:13px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin:26px 0 10px}
.pad{padding:16px 20px}
.tbl{width:100%;border-collapse:collapse}.tbl th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:600;padding:12px 16px;border-bottom:1px solid var(--line);white-space:nowrap}
.tbl td{padding:12px 16px;border-bottom:1px solid var(--line)}.tbl tr:last-child td{border-bottom:0}.tbl tbody tr[data-id]{cursor:pointer}.tbl tbody tr[data-id]:hover{background:#FAFAF8}.tbl .c{text-align:center}
.tbl tr.cutline td{border-bottom:2px solid var(--accent)}
.empty{text-align:center;padding:60px 20px;color:var(--muted);background:var(--card);border-radius:var(--r)}.empty p{margin:10px 0 16px}
.tag{display:inline-block;font-size:12px;font-weight:600;padding:3px 9px;border-radius:999px;background:#EEEEEA;color:#333;white-space:nowrap}
.tag.ok{background:#E3F4EA;color:var(--ok)}.tag.warn{background:#FCF1DA;color:#9A6500}.tag.bad{background:#FBE5E2;color:var(--bad)}.tag.info{background:#E4ECFB;color:var(--info)}.tag.mute{opacity:.6}
.dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:#E4E4E0}.dot.ok{background:var(--ok)}.dot.warn{background:var(--warn)}.dot.bad{background:var(--bad)}
.stars{color:var(--accent);letter-spacing:2px;font-size:11px}.stars i{color:#DDD;font-style:normal}
.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{font-size:12px;background:#EEE;padding:3px 8px;border-radius:6px}
.alert{background:#FBE5E2;color:#8A2219;border-radius:10px;padding:12px 16px;margin-bottom:12px;font-weight:500}.alert.soft{background:#FCF1DA;color:#7A5200}
.avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;background:var(--ink);color:#fff;display:inline-grid;place-items:center;font-weight:700;font-size:14px;flex:none}
.avatar.sm{width:32px;height:32px;font-size:12px}.avatar.lg{width:72px;height:72px;font-size:22px}.avatar.xl{width:96px;height:96px;font-size:30px}
.row{display:flex;gap:12px;align-items:center;width:100%;padding:12px 20px;border:0;background:transparent;text-align:left;border-bottom:1px solid var(--line)}
.card:not(.flush) .row{padding:10px 0}.row:last-child{border-bottom:0}button.row:hover{background:#FAFAF8}.row b{display:block;font-size:14px}.row small{display:block;color:var(--muted);font-size:12.5px}
.row.slim{padding:8px 0}.pos{width:24px;height:24px;border-radius:6px;background:var(--ink);color:#fff;display:grid;place-items:center;font-size:12px;font-weight:700}
.date-chip{width:48px;flex:none;text-align:center;font-size:11px;text-transform:uppercase;color:var(--muted);line-height:1.1}.date-chip b{display:block;font-family:var(--display);font-stretch:62%;font-size:26px;color:var(--text)}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:16px}
.stat{background:var(--card);border-radius:var(--r);padding:16px 18px;box-shadow:0 1px 0 var(--line)}.stat b{display:block;font-family:var(--display);font-stretch:62%;font-size:34px;line-height:1}.stat span{color:var(--muted);font-size:13px}.stat small{display:block;font-size:12px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tabs{display:flex;gap:4px;margin-bottom:16px;border-bottom:1px solid var(--line)}.tabs button{border:0;background:none;padding:10px 14px;font-weight:600;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px}.tabs button.on{color:var(--text);border-color:var(--accent)}
/* hero */
.hero{position:relative;border-radius:18px;overflow:hidden;background:var(--ink);min-height:260px;margin-bottom:16px;display:flex;align-items:flex-end}
.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.2s}.hero img.on{opacity:1}
.hero::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05) 20%,rgba(0,0,0,.72))}
.hero-in{position:relative;z-index:1;color:#fff;padding:28px 30px;width:100%;display:flex;flex-wrap:wrap;align-items:flex-end;gap:18px 30px}
.hero .kicker{width:100%;font-size:12px;text-transform:uppercase;letter-spacing:.16em;color:var(--accent);font-weight:700}
.hero h2{font-family:var(--display);font-stretch:62%;font-size:46px;text-transform:uppercase;line-height:.95;flex:1;min-width:260px}
.count{display:flex;align-items:center;gap:10px}.count b{font-family:var(--display);font-stretch:62%;font-size:64px;line-height:.8;color:var(--accent)}.count span{font-weight:600;font-size:14px;line-height:1.2}.count small{display:block;font-weight:400;opacity:.7}
.dgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px}.dgrid .card{margin:0}
.note{padding:8px 0;border-bottom:1px solid var(--line)}.note:last-child{border:0}.note p{margin:4px 0 0;color:#444;font-size:14px}.card.note{padding:14px 18px;margin-bottom:8px}
/* players */
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.pgrid.sm{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.pcard{background:var(--card);border:0;border-radius:var(--r);padding:20px 14px 14px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:3px;box-shadow:0 1px 0 var(--line);transition:transform .15s,box-shadow .15s}
.pcard:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.08)}.pcard .avatar{margin-bottom:8px}.pcard small{font-size:12.5px}.pcard.sm{padding:14px 10px}
.pfoot{display:flex;gap:4px;margin-top:8px;flex-wrap:wrap;justify-content:center}
/* calendar */
.cal-head{display:flex;align-items:center;gap:8px;margin-bottom:12px;flex-wrap:wrap}.cal-head h2{font-family:var(--display);font-stretch:62%;font-size:26px;text-transform:uppercase;min-width:190px;text-align:center}
.legend{display:flex;flex-wrap:wrap;gap:4px 12px;margin-left:auto;font-size:12px;color:var(--muted)}.legend i{display:inline-block;width:9px;height:9px;border-radius:3px;margin-right:4px}
.cal{background:var(--card);border-radius:var(--r);overflow:hidden;box-shadow:0 1px 0 var(--line)}.dow{display:grid;grid-template-columns:repeat(7,1fr);font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.dow span{padding:10px}
.grid{display:grid;grid-template-columns:repeat(7,1fr)}.day{min-height:104px;border-top:1px solid var(--line);border-left:1px solid var(--line);padding:6px;cursor:pointer;overflow:hidden}.day:nth-child(7n+1){border-left:0}.day.off{background:#FAFAF8;cursor:default}
.day:hover:not(.off){background:#FCFCFA}.dn{font-size:12px;font-weight:600;color:var(--muted)}.day.today .dn{background:var(--accent);color:#fff;border-radius:50%;width:22px;height:22px;display:inline-grid;place-items:center}
.ev{display:block;width:100%;border:0;text-align:left;font-size:11.5px;font-weight:600;padding:3px 6px;border-radius:5px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#fff;background:#555}
.t-camp,.t-training{background:var(--accent)}.t-practice-game,.t-vjbl-round{background:#2F6FDE}.t-tournament{background:#7B3FD6}.t-nationals{background:#111}.t-meeting,.t-committee,.t-coach-workshop{background:#1F9D55}.t-deadline{background:#D33A2C}.t-travel,.t-tryouts{background:#D98E04}.t-club-event{background:#0A9396}
.legend i.t-other,.ev.t-other{background:#888}span.tag[class*=t-]{color:#fff}
/* depth */
.depth{display:grid;grid-template-columns:repeat(5,minmax(200px,1fr));gap:12px;overflow-x:auto;padding-bottom:6px}
.dcol{background:var(--card);border-radius:var(--r);padding:14px;box-shadow:0 1px 0 var(--line);display:flex;flex-direction:column;gap:8px}
.dcol h3{font-size:14px;display:flex;align-items:center;gap:8px;text-transform:uppercase;letter-spacing:.04em}.dcol h3 span{width:26px;height:26px;border-radius:7px;background:var(--ink);color:#fff;display:grid;place-items:center;font-family:var(--display);font-stretch:62%;font-size:17px}
.dp{display:grid;grid-template-columns:auto 1fr;gap:4px 8px;align-items:center;padding:8px;border-radius:10px;background:#F7F7F5}.dp .dbtns{grid-column:1/-1;justify-content:flex-end;margin-top:-4px}.dp.starter{background:var(--ink);color:#fff}.dp.starter small{color:rgba(255,255,255,.65)}.dp.starter .icon-btn{color:#fff}
.dp b{display:block;font-size:13.5px;line-height:1.2}.dp small{display:block}.dp small{font-size:11.5px;color:var(--muted)}.dbtns{display:flex}
.dadd{font-size:13px;padding:8px}
/* pick 12 */
.pickbar{position:sticky;top:72px;z-index:5;display:flex;align-items:center;gap:14px;background:var(--ink);color:#fff;padding:12px 18px;border-radius:999px;margin-bottom:8px}.pickbar b{font-size:16px}.pickbar #cnt{color:var(--accent);font-family:var(--display);font-stretch:62%;font-size:24px}.pickbar .muted{color:rgba(255,255,255,.6);flex:1}.pickbar .btn{background:var(--accent)}
.pickgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}
.pick{display:flex;gap:10px;align-items:center;background:var(--card);padding:10px 12px;border-radius:12px;cursor:pointer;box-shadow:inset 0 0 0 1px var(--line)}.pick input{display:none}.pick b{display:block;font-size:14px}.pick small{font-size:12px;color:var(--muted)}
.pick.on{box-shadow:inset 0 0 0 2px var(--accent);background:#FFF8F5}
/* plans */
.plan{display:flex;gap:14px;align-items:center;width:100%;padding:14px 20px;border:0;border-bottom:1px solid var(--line);background:none;text-align:left}.plan:hover{background:#FAFAF8}.plan b{display:block}.plan small{display:block;font-size:13px;color:var(--muted)}
.blocks{display:flex;flex-direction:column;gap:6px}.brow{display:grid;grid-template-columns:80px 60px 1fr 110px 28px;gap:6px;align-items:center}.brow textarea{grid-column:1/-1;font-size:13px;padding:6px 10px}
.brow.head span{font-size:11px;color:var(--muted);text-transform:uppercase}.brow input{padding:7px 9px;font-size:14px}
/* teams, schedule */
.tgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
.tcard{background:var(--card);border:0;border-radius:var(--r);padding:18px;text-align:left;box-shadow:0 1px 0 var(--line);display:flex;flex-direction:column;gap:3px;border-top:4px solid var(--accent)}.tcard:hover{box-shadow:0 8px 24px rgba(0,0,0,.08)}
.tcard b{font-family:var(--display);font-stretch:62%;font-size:22px;text-transform:uppercase}.tcard small{color:var(--muted)}.tg{font-size:11px;font-weight:700;letter-spacing:.08em;color:var(--accent);text-transform:uppercase}
.tfoot{display:flex;gap:10px;margin-top:10px;font-size:12.5px;color:var(--muted);flex-wrap:wrap}
.week{display:grid;grid-template-columns:repeat(7,minmax(150px,1fr));gap:10px;overflow-x:auto}
.wcol h3{font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:8px}
.slot{display:block;width:100%;text-align:left;border:0;background:var(--card);border-left:4px solid var(--accent);border-radius:10px;padding:10px;margin-bottom:8px;box-shadow:0 1px 0 var(--line)}.slot b{display:block;font-size:13.5px}.slot small{display:block;font-size:12px}
.slot.clash{border-left-color:var(--bad);background:#FDF0EE}
.bar-row{display:grid;grid-template-columns:minmax(120px,200px) 1fr 50px;gap:12px;align-items:center;padding:7px 0}.bar-row span:first-child small{display:block}
.bar{height:10px;border-radius:99px;background:#EEEEEA;overflow:hidden}.bar i{display:block;height:100%;background:var(--accent);border-radius:99px}.bar i.ok{background:var(--ok)}.bar i.bad{background:var(--bad)}
/* drawer */
.drawer{position:fixed;inset:0;background:rgba(10,12,16,.4);z-index:50;opacity:0;pointer-events:none;transition:opacity .2s}.drawer.open{opacity:1;pointer-events:auto}
.drawer-in{position:absolute;right:0;top:0;bottom:0;width:min(620px,100%);background:#fff;display:flex;flex-direction:column;transform:translateX(30px);transition:transform .25s;overflow:auto}.drawer.open .drawer-in{transform:none}.drawer-in.wide{width:min(760px,100%)}
.drawer-in header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 8px;position:sticky;top:0;background:#fff;z-index:2}.drawer-in h2{font-family:var(--display);font-stretch:62%;text-transform:uppercase;font-size:26px}
.drawer-in .meta{padding:0 24px;margin:0;font-size:12.5px;color:var(--muted)}
.drawer-in>p,.drawer-in>label,.drawer-in>textarea,.drawer-in>div:not(.report){margin-left:24px;margin-right:24px}.drawer-in>textarea{width:auto}
#f{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px;padding:16px 24px 24px}
.fld{display:flex;flex-direction:column;gap:6px}.fld.wide{grid-column:1/-1}.fld label{font-size:13px;font-weight:600}.fld label i{color:var(--accent);font-style:normal}.fld label em{font-style:normal;font-weight:500;font-size:11px;color:var(--warn);margin-left:4px}
.drawer-in footer{margin-top:auto;display:flex;justify-content:space-between;gap:8px;padding:16px 24px;border-top:1px solid var(--line);position:sticky;bottom:0;background:#fff}
.rate{display:flex;gap:6px}.rate button{width:40px;height:40px;border-radius:10px;border:1px solid var(--line);background:#fff;font-weight:700}.rate button.on{background:var(--accent);border-color:var(--accent);color:#fff}
.switch{position:relative;display:inline-block;width:44px;height:26px}.switch input{display:none}.switch span{position:absolute;inset:0;background:#DDD;border-radius:99px;transition:.2s}.switch span::after{content:'';position:absolute;width:20px;height:20px;left:3px;top:3px;border-radius:50%;background:#fff;transition:.2s}.switch input:checked+span{background:var(--ok)}.switch input:checked+span::after{transform:translateX(18px)}
.photo-in{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.photo-in input[type=file]{width:auto;border:0;padding:0}.logo-prev{height:60px;border-radius:8px}
.sgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px;margin-bottom:16px}
.form-row{display:grid;grid-template-columns:1fr 1.3fr 1fr 1.2fr auto;gap:8px}
.photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}.photos figure{margin:0;position:relative;aspect-ratio:16/10;border-radius:10px;overflow:hidden}.photos img{width:100%;height:100%;object-fit:cover}.photos figure .icon-btn{position:absolute;top:6px;right:6px;background:#fff}
.addphoto{aspect-ratio:16/10;border:2px dashed var(--line);border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:var(--muted);cursor:pointer}.addphoto input{display:none}
.report{padding:8px 24px 24px}.rhead{display:flex;gap:18px;align-items:center;margin-bottom:12px}.rhead h2{font-family:var(--display);font-stretch:62%;font-size:32px;text-transform:uppercase}.report h3{font-size:13px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin:20px 0 8px}
.fbitem{padding:10px 0;border-bottom:1px solid var(--line)}.fbitem p{margin:4px 0}.fbitem i{color:var(--muted)}
/* misc */
.gate{min-height:100vh;width:100%;display:grid;place-items:center;text-align:center;padding:24px;background:var(--ink);color:#fff}.gate>div{max-width:420px}.gate h1{font-family:var(--display);font-stretch:62%;font-size:40px;text-transform:uppercase}.gate p{opacity:.8}.gate .btn{background:var(--accent)}
.loading{height:120px;display:grid;place-items:center}.loading::after{content:'';width:28px;height:28px;border-radius:50%;border:3px solid #DDD;border-top-color:var(--accent);animation:spin .8s linear infinite}.loading.full{height:100vh;width:100%}
@keyframes spin{to{transform:rotate(360deg)}}
.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);background:#111;color:#fff;padding:12px 20px;border-radius:999px;font-weight:600;opacity:0;transition:.25s;z-index:99}.toast.show{opacity:1;transform:translate(-50%,0)}.toast.bad{background:var(--bad)}
#update-bar{position:fixed;top:0;left:0;right:0;z-index:98;background:var(--accent);color:#fff;text-align:center;padding:10px;font-weight:600;display:flex;gap:12px;justify-content:center;align-items:center}
#print{display:none}
@media print{body>*:not(#print){display:none!important}#print{display:block;font-family:Inter,sans-serif;color:#000;padding:0}#print .ph{display:flex;align-items:center;gap:10px;border-bottom:3px solid var(--accent);padding-bottom:8px;margin-bottom:16px;font-weight:700}#print .ph img{height:36px}#print h1{font-size:26px}#print .sub{color:#555}#print table{width:100%;border-collapse:collapse;font-size:12px}#print td,#print th{border:1px solid #CCC;padding:6px;text-align:left;vertical-align:top}#print .avatar{background:#333}#print .bar{border:1px solid #ccc}#print .bar i{background:#333!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}}
@media (max-width:900px){
  .side{transform:translateX(-100%)}.nav-open .side{transform:none}.nav-open .scrim{display:block;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:20}
  main{margin-left:0}.top .menu{display:inline-grid}.top{padding:12px 16px}.top h1{font-size:24px}#view{padding:16px 16px 60px}
  .hide-sm{display:none}#f,.sgrid{grid-template-columns:1fr}.form-row{grid-template-columns:1fr}
  .hero{min-height:220px}.hero h2{font-size:34px}.count b{font-size:48px}.dgrid{grid-template-columns:1fr}
  .day{min-height:64px;padding:3px}.ev{font-size:0;height:6px;padding:0}.legend{margin-left:0}
  .depth{grid-template-columns:repeat(5,82%);scroll-snap-type:x mandatory}.dcol{scroll-snap-align:start}
  .week{grid-template-columns:repeat(7,78%)}.pickbar{border-radius:14px;flex-wrap:wrap;top:62px}.brow{grid-template-columns:64px 52px 1fr 28px}.brow input[data-b=coach]{display:none}.brow.head span:nth-child(4){display:none}
  .bar-row{grid-template-columns:110px 1fr 40px}
}

/* sign in */
.gate-card{background:#fff;color:var(--text);border-radius:20px;padding:36px 30px;width:min(400px,92vw);text-align:center;box-shadow:0 30px 80px rgba(0,0,0,.35)}
.gate-card h1{color:var(--text);font-size:34px;line-height:1}.gate-sub{color:var(--muted);margin:6px 0 22px;opacity:1}.gate-logo{height:72px;margin:0 auto 14px;display:block}
.gate-form{display:flex;flex-direction:column;gap:12px;text-align:left}.gate-form label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600}
.gate-msg{min-height:18px;margin:0;color:var(--bad);font-size:13px;opacity:1}.gate-hi{margin:0 0 4px;color:var(--text);opacity:1}
.btn.wide{justify-content:center;width:100%;padding:13px}.gate .btn{background:var(--text)}.gate .btn:hover{background:var(--accent)}
.linkish{border:0;background:none;color:var(--muted);font-size:13px;text-decoration:underline;padding:4px}
.gate>div>p{color:inherit}.light-ghost{color:#fff!important}
.me .so{color:rgba(255,255,255,.6);flex:none}.me .so:hover{color:#fff;background:rgba(255,255,255,.08)}
.gate-msg.info{color:var(--muted)}
.hero .court-art{position:absolute;inset:0;width:100%;height:100%}
/* ---- club views ---- */
.seg{display:inline-flex;background:#fff;border-radius:999px;padding:3px;box-shadow:inset 0 0 0 1px var(--line);flex-wrap:wrap}
.seg button{border:0;background:none;padding:6px 12px;border-radius:999px;font-weight:600;font-size:13px;color:var(--muted)}.seg button.on{background:var(--ink);color:#fff}
.club-hero{min-height:280px;background:linear-gradient(120deg,var(--ink) 35%,#000)}
.club-hero::after{background:linear-gradient(90deg,rgba(0,0,0,.55) 0%,rgba(0,0,0,0) 55%)}
.club-hero img:not(.hero-logo){filter:saturate(1.05)}
.hero-logo{position:absolute!important;right:28px;top:22px;width:110px!important;height:110px!important;object-fit:contain!important;opacity:1!important;z-index:2;inset:auto 28px auto auto!important;filter:drop-shadow(0 8px 20px rgba(0,0,0,.4))}
.hero-mark{position:absolute;right:26px;top:18px;z-index:2;font-family:var(--display);font-stretch:62%;font-weight:800;font-size:120px;line-height:1;color:var(--accent);opacity:.18;letter-spacing:-.04em}
.my-strip{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:12px 16px}.my-strip a{text-decoration:none;background:var(--ink);color:#fff;border-radius:12px;padding:8px 14px}.my-strip a b{display:block;font-size:14px}.my-strip a small{font-size:12px;opacity:.7}.my-strip>span{margin-left:auto}
a.row.attn{text-decoration:none}a.row.attn svg{color:var(--muted)}
.time{font-family:var(--display);font-stretch:62%;font-weight:800;font-size:17px;width:76px;flex:none;text-transform:none}
.mini{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:14px 0 4px}
.team-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;background:var(--ink);color:#fff;border-radius:18px;padding:22px 24px;margin-bottom:16px;border-left:6px solid var(--accent)}
.team-head h2{font-family:var(--display);font-stretch:62%;font-size:40px;text-transform:uppercase;line-height:1}.team-head p{display:flex;flex-wrap:wrap;gap:6px 22px;margin:10px 0 0}.team-head p span{font-weight:600}.team-head p small{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.08em;opacity:.6;font-weight:500}
.team-head .rec{text-align:center}.team-head .rec b{font-family:var(--display);font-stretch:62%;font-size:40px;color:var(--accent);display:block;line-height:1}.team-head .rec small{opacity:.6}
.staff td{vertical-align:top}.st-name{font-weight:600}.st-gap{color:var(--bad);font-size:13px;font-weight:600}
/* planner */
.planner{display:grid;grid-template-columns:220px 1fr;gap:14px;align-items:start}
.palette{background:var(--card);border-radius:var(--r);padding:12px;position:sticky;top:84px;max-height:calc(100vh - 110px);overflow:auto;box-shadow:0 1px 0 var(--line)}.palette h4{margin:0 0 8px}.palette select{margin-bottom:6px;padding:7px}
.chipteam{border-radius:10px;padding:8px 10px;margin-bottom:6px;cursor:grab;background:#F7F7F5;border-left:5px solid #999;user-select:none}.chipteam b{display:block;font-size:13.5px}.chipteam small{font-size:11.5px;color:var(--muted)}
.chipteam.on{outline:2px solid var(--accent);background:#FFF9E8}
.ag-u12{border-color:#2F9E6B}.ag-u14{border-color:#2F6FDE}.ag-u16{border-color:#7B3FD6}.ag-u18{border-color:#D3462C}.ag-u20{border-color:#E09B00}
.board-wrap{overflow-x:auto;background:var(--card);border-radius:var(--r);box-shadow:0 1px 0 var(--line);padding:12px}
.board{display:flex;gap:10px;position:relative;min-width:max-content;padding-left:56px}
.times{position:absolute;left:0;top:38px;width:52px}.times span{position:absolute;font-size:11px;color:var(--muted);transform:translateY(-6px)}
.court-col{width:196px;flex:none}.court-head{height:38px;display:flex;justify-content:space-between;align-items:center;font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.06em}
.court-head small{display:flex;width:120px}.court-head i{flex:1;text-align:center;font-style:normal;color:var(--muted);font-size:11px}
.court{position:relative;background:#E8D7B8;border:3px solid #fff;outline:2px solid #D6C3A0;border-radius:4px;cursor:copy;background-image:linear-gradient(90deg,transparent calc(50% - 1px),rgba(255,255,255,.9) calc(50% - 1px),rgba(255,255,255,.9) calc(50% + 1px),transparent calc(50% + 1px))}
.court .ln{position:absolute;left:0;right:0;border-top:1px dashed rgba(0,0,0,.06)}.court .ln.hr{border-top:1px solid rgba(0,0,0,.1)}
.court.over{outline-color:var(--accent);background-color:#F4E7CF}
.blk{position:absolute;border-radius:8px;padding:5px 7px;color:#fff;font-size:12px;overflow:hidden;cursor:grab;box-shadow:0 2px 6px rgba(0,0,0,.2);background:#555;border-left:5px solid #0003;z-index:2}
.blk b{display:block;font-size:12.5px;line-height:1.15}.blk small{opacity:.85;font-size:11px}
.blk.a{left:3px;width:calc(50% - 6px)}.blk.b{left:calc(50% + 3px);width:calc(50% - 6px)}.blk.full{left:3px;right:3px}
.blk.ag-u12{background:#2F9E6B}.blk.ag-u14{background:#2F6FDE}.blk.ag-u16{background:#7B3FD6}.blk.ag-u18{background:#D3462C}.blk.ag-u20{background:#C98A00}
.blk.clash{outline:3px solid var(--bad);outline-offset:-1px;animation:pulse 1.6s infinite}
@keyframes pulse{50%{outline-color:#fff}}
/* trials */
.tboard{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(220px,1fr);gap:10px;overflow-x:auto;padding-bottom:8px;align-items:start}
.tcol{background:var(--card);border-radius:var(--r);padding:10px;min-height:220px;box-shadow:0 1px 0 var(--line)}.tcol.over{outline:2px dashed var(--accent)}
.tcol h4{display:flex;justify-content:space-between;align-items:center;margin:2px 4px 10px;font-size:14px;text-transform:uppercase;letter-spacing:.04em;cursor:pointer}.tcol h4 span{font-size:12px;background:#EEE;border-radius:99px;padding:2px 8px}.tcol h4 span.over{background:var(--bad);color:#fff}
.tcol.pool{background:#F0F0EC}.tcol.out{background:#FBF1EF}
.trc{display:flex;align-items:center;gap:6px;background:#fff;border-radius:10px;padding:8px 8px 8px 10px;margin-bottom:6px;box-shadow:inset 0 0 0 1px var(--line);cursor:grab}
.trc b{display:block;font-size:13.5px}.trc small{font-size:11.5px;color:var(--muted)}.trc.locked{box-shadow:inset 4px 0 0 var(--ok),inset 0 0 0 1px var(--line)}.trc.maybe{box-shadow:inset 4px 0 0 var(--warn),inset 0 0 0 1px var(--line)}.trc.sel{outline:2px solid var(--accent)}
.tbtns{display:flex;align-items:center}.tbtns .st{border:0;font-size:11px;font-weight:700;border-radius:99px;padding:3px 8px;background:#EEE}.locked .st{background:#E3F4EA;color:var(--ok)}.maybe .st{background:#FCF1DA;color:#9A6500}
.drop-hint{text-align:center;padding:20px 0}
/* curriculum */
.fgrid{display:grid;grid-template-columns:90px repeat(var(--cols),minmax(170px,1fr));gap:8px;overflow-x:auto}.fgrid h4{margin:0;font-size:13px;text-transform:uppercase;letter-spacing:.06em;align-self:end}.fgrid h4.ag{align-self:start;padding-top:12px}
.fcell{text-align:left;border:0;background:var(--card);border-radius:12px;padding:10px 12px;box-shadow:0 1px 0 var(--line);font-size:13px;min-height:90px}.fcell p{margin:0 0 6px}.fcell i{display:inline-block;width:16px;font-style:normal;font-weight:800;color:var(--accent)}
.fcell.empty-cell{color:var(--muted);background:transparent;box-shadow:inset 0 0 0 1px dashed var(--line);border:1px dashed var(--line)}
.rgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.rcard{background:var(--card);border-radius:var(--r);padding:16px;display:flex;flex-direction:column;gap:6px;box-shadow:0 1px 0 var(--line);cursor:pointer;align-items:flex-start}
.rtype{font-size:11px;font-weight:800;letter-spacing:.08em;padding:3px 8px;border-radius:6px;background:#EEE}.rtype.pdf{background:#FBE5E2;color:var(--bad)}.rtype.video{background:#E4ECFB;color:var(--info)}
/* grading */
.grade th{font-size:10.5px;white-space:normal;min-width:70px}.gsel{width:52px;padding:5px;text-align:center;border-radius:8px;font-weight:700}
.gsel.g1{background:#FBE5E2}.gsel.g2{background:#FCF1DA}.gsel.g3{background:#F3F3EF}.gsel.g4{background:#E3F4EA}.gsel.g5{background:#C9EBD6}
.avgrow td{font-weight:700;background:#FAFAF8}
/* print sessions */
#print .pteam{page-break-after:always}#print .pteam h2{font-size:18px}#print .pteam h2 small{font-weight:400;color:#555;font-size:12px}
@media (max-width:900px){
  .planner{grid-template-columns:1fr}.palette{position:static;max-height:none;display:flex;flex-wrap:nowrap;overflow-x:auto;gap:6px;align-items:stretch}.palette h4,.palette p{display:none}.palette select{width:110px;flex:none;margin:0}.chipteam{margin:0;flex:0 0 120px}
  .court-col{width:170px}.team-head h2{font-size:30px}.hero-logo{width:70px!important;height:70px!important}.hero-mark{font-size:80px}
  .tboard{grid-auto-columns:80%}.fgrid{grid-template-columns:70px repeat(var(--cols),160px)}
}
/* ===== Country Development Program look (shared) ===== */
:root{--display:'Archivo','Helvetica Neue',Arial,sans-serif;--body:'Archivo','Helvetica Neue',Arial,sans-serif;--bg:#fff;--surface:#f5f5f5;--surface-2:#ebebeb;--line:#e5e5e5;--text:#000;--muted:#707072;--ok:#007d48;--bad:#d43f21;--warn:#9a6a00;--r:20px;--navy:#0B1F3A}
body{background:#fff;font-family:var(--body)}
.top h1,.drawer-in h2,.hero h2,.cal-head h2,.team-head h2,.rhead h2,.tcard b,.stat b,.date-chip b,.count b,.gate-card h1,.mark,.time,.navy-hero h2{font-family:var(--display);font-stretch:62%;font-weight:900;text-transform:uppercase;letter-spacing:-.005em}
.top h1{font-size:40px;line-height:.95}
.side{background:#fff;color:#000;border-right:1px solid var(--line)}
.brand{border-bottom:0;padding:24px 18px 20px}.brand b{font-family:var(--display);font-stretch:62%;font-weight:900;font-size:19px;text-transform:uppercase;line-height:1}.brand small{color:var(--muted)}
.mark{border-radius:50%;background:#000}
.nav-group>span{color:var(--muted)}
.side nav a{color:#111;border-radius:999px;padding:10px 14px}.side nav a:hover{background:var(--surface);color:#000}.side nav a.on{background:#000;color:#fff}
.me{border-top:1px solid var(--line)}.me small{color:var(--muted)}.me .so{color:var(--muted)}.me .so:hover{color:#000;background:var(--surface)}
.top{background:rgba(255,255,255,.94);border-bottom:1px solid var(--line)}
.card,.stat,.cal,.dcol,.pcard,.tcard,.plan,.palette,.board-wrap,.tcol,.fcell,.rcard,.empty,.kcol{box-shadow:none}
.card,.stat,.dcol,.tcol,.palette,.board-wrap,.empty,.kcol{background:var(--surface)}
.card.flush{background:#fff;box-shadow:inset 0 0 0 1px var(--line)}
.pcard,.fcell,.rcard{background:var(--surface)}.pcard:hover{box-shadow:0 10px 30px rgba(0,0,0,.08)}
.dp{background:#fff}.trc,.chipteam,.pick{background:#fff}
.stat b{font-size:44px;line-height:.9}.stat span{display:block;margin-top:4px}
.btn{background:#000}.btn:hover{background:var(--accent)}
.tabs button.on{border-color:#000}
.seg{background:var(--surface);box-shadow:none}.seg button.on{background:#000}.seg.wrap{flex-wrap:wrap}
.tag.b-top{background:#000;color:#fff}.tag.b-bottom{background:color-mix(in srgb,var(--accent) 18%,#fff);color:color-mix(in srgb,var(--accent) 75%,#000)}
.tag.hg{background:#111;color:#fff}
.txt-bad{color:var(--bad);font-weight:700}
/* navy banner with typing line */
.navy-hero{position:relative;display:grid;grid-template-columns:1.15fr 1fr;min-height:300px;background:radial-gradient(120% 120% at 100% 0%,#173764 0%,var(--navy) 55%,#06111f 100%);color:#fff;border-radius:var(--r);overflow:hidden;margin-bottom:16px}
.nh-in{padding:34px 34px 30px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;z-index:1}
.navy-hero .kicker{font-size:12px;text-transform:uppercase;letter-spacing:.16em;color:var(--accent);font-weight:800}
.navy-hero h2{font-size:clamp(34px,3.6vw,52px);line-height:.9;margin:8px 0 10px}
.hero-line{font-family:var(--display);font-weight:800;font-size:clamp(20px,2.2vw,28px);margin:0;min-height:34px}
.typing::after{content:'▍';color:var(--accent);animation:blink 1s steps(1) infinite;margin-left:2px}@keyframes blink{50%{opacity:0}}
.rep-bar{margin-top:14px;max-width:520px}.rb-track{height:10px;border-radius:6px;background:rgba(255,255,255,.16);overflow:hidden}
.rb-track i{display:block;height:100%;background:linear-gradient(90deg,var(--accent),#ffb27a);border-radius:6px;animation:rbfill 1.1s cubic-bezier(.2,.8,.2,1) both .2s}@keyframes rbfill{from{width:0}}
.rb-text{margin:8px 0 0;min-height:22px;font-size:15px;color:rgba(255,255,255,.88)}
.rb-dots{display:flex;gap:6px;margin-top:8px}.rb-dots span{width:22px;height:4px;border-radius:2px;background:rgba(255,255,255,.2)}.rb-dots span.on{background:var(--accent)}
.nh-art{position:relative;min-height:260px}.nh-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.2s;-webkit-mask-image:linear-gradient(90deg,transparent,#000 30%);mask-image:linear-gradient(90deg,transparent,#000 30%)}.nh-art img.on{opacity:1}
.hero-court{position:absolute;right:0;bottom:0;width:100%;height:100%}
.hero-court .shot{offset-path:path('M150 240 Q 210 60 260 238');animation:shot 3.4s cubic-bezier(.35,0,.6,1) infinite}
@keyframes shot{0%{offset-distance:0%;opacity:0}8%{opacity:1}70%{offset-distance:100%;opacity:1}85%{offset-distance:100%;opacity:0}100%{opacity:0}}
.nh-add{position:absolute;right:18px;bottom:18px;z-index:2}
/* campaign strip */
.campaign{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:8px;overflow-x:auto}
.cp{background:#fff;border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:2px;border-top:4px solid var(--line)}
.cp b{font-size:14px;line-height:1.2}.cp small{font-size:12px}.cpn{font-family:var(--display);font-stretch:62%;font-weight:900;font-size:26px;line-height:1;color:var(--muted)}
.cp.done{border-top-color:var(--ok)}.cp.done .cpn{color:var(--ok)}.cp.next{border-top-color:var(--accent);background:#000;color:#fff}.cp.next .cpn{color:var(--accent)}.cp.next .muted{color:rgba(255,255,255,.6)}
/* tasks */
.quickadd{display:grid;grid-template-columns:1fr 200px 160px auto;gap:8px;padding:12px}
.kanban{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;align-items:start}
.kcol{border-radius:var(--r);padding:12px;min-height:200px}.kcol.over{outline:2px dashed var(--accent)}
.kcol h4{display:flex;justify-content:space-between;margin:2px 4px 10px;text-transform:uppercase;font-size:13px;letter-spacing:.06em}.kcol h4 span{background:#fff;border-radius:99px;padding:1px 8px;font-size:12px}
.kcard{display:flex;gap:10px;align-items:flex-start;background:#fff;border-radius:12px;padding:10px 12px;margin-bottom:8px;cursor:pointer}.kcard.high{box-shadow:inset 4px 0 0 var(--bad)}.kcard.done b{text-decoration:line-through;color:var(--muted)}
.kcard b{display:block;font-size:14px}.kcard small{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);margin-top:3px}
.tick-btn{width:22px;height:22px;border-radius:50%;border:2px solid #bbb;background:#fff;flex:none;margin-top:1px;padding:0}.tick-btn:hover{border-color:var(--ok)}.tick-btn.on{background:var(--ok);border-color:var(--ok)}
.avatar.xs{width:18px;height:18px;font-size:8px}
.task-row{cursor:pointer}
/* ideas */
.igrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.icard{border:0;background:var(--surface);border-radius:var(--r);overflow:hidden;text-align:left;display:flex;flex-direction:column;padding:0}
.icard img{width:100%;aspect-ratio:5/3;object-fit:cover;background:#F3E6CC}.iph{aspect-ratio:5/3;display:grid;place-items:center;background:#000;color:var(--accent);font-family:var(--display);font-stretch:62%;font-weight:900;font-size:22px;text-transform:uppercase;padding:0 16px;text-align:center;background-image:radial-gradient(circle at 50% 120%,transparent 38%,rgba(255,255,255,.12) 38.5%,transparent 39.5%)}
.ibody{padding:12px 14px 14px;display:flex;flex-direction:column;gap:4px;align-items:flex-start}.ibody b{font-size:15px}.ibody small{font-size:12.5px}.row-tags{display:flex;gap:4px}
.clamp{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.thumb{width:44px;height:28px;object-fit:cover;border-radius:6px}
/* drawing */
.draw canvas{width:100%;border-radius:12px;touch-action:none;cursor:crosshair;display:block;margin-top:8px}
.dtools{display:flex;flex-wrap:wrap;gap:6px}.dtools button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:5px 10px;font-size:12.5px;font-weight:600}.dtools button.on{background:#000;color:#fff;border-color:#000}
.dtools .dc{width:26px;height:26px;padding:0;background:var(--c)}.dtools .dc.on{outline:3px solid var(--accent);outline-offset:1px;background:var(--c)}
.draw-img{width:100%;border-radius:12px}
.file-in{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.file-in input[type=file]{width:auto;border:0;padding:0}
/* bands */
.legend-band{display:flex;gap:8px;align-items:center;font-size:13px;color:var(--muted);margin:-6px 0 12px}.lb{width:14px;height:14px;border-radius:4px;display:inline-block}.lb.b-top{background:#000}.lb.b-bottom{background:var(--accent)}
.dp.b-bottom:not(.starter){box-shadow:inset 4px 0 0 var(--accent)}.dp.b-top:not(.starter){box-shadow:inset 4px 0 0 #000}.dp.starter.b-bottom{background:var(--accent)}
.bandct{background:rgba(255,255,255,.12);padding:3px 10px;border-radius:99px;font-size:13px}
.pick .tag{margin-left:auto}
@media (max-width:900px){.navy-hero{grid-template-columns:1fr}.nh-art{position:absolute;inset:0;opacity:.35}.nh-in{padding:24px}.quickadd{grid-template-columns:1fr 1fr}.quickadd input:first-child{grid-column:1/-1}.kanban{grid-template-columns:1fr}.top h1{font-size:30px}}
@media (max-width:900px){.nh-add{position:static;margin:0 24px 20px;align-self:flex-start}.navy-hero{display:flex;flex-direction:column}}
/* ===== round 3: development program dashboard + campaign tools ===== */
:root{--navy:#17365d}
.panel{background:var(--surface);border-radius:var(--r);padding:20px;transition:transform .2s,box-shadow .2s}.panel:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(23,54,93,.12)}.panel h3{font-size:16px;margin-bottom:10px}
.side nav a{transition:background .15s,padding-left .2s}.side nav a:hover{padding-left:18px}
#view>*{animation:pagein .35s cubic-bezier(.2,.8,.2,1) both}@keyframes pagein{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.link-strong{font-weight:700;text-decoration:none;color:inherit}.link-strong:hover{color:var(--accent)}
.hero-home{position:relative;background:var(--navy);color:#fff;border-radius:var(--r);overflow:hidden;min-height:320px;margin-bottom:14px;display:flex;align-items:flex-end}
.hero-home .hero-court{opacity:.9;width:55%;left:auto;right:0}
.hwall{position:absolute;inset:0;display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:1fr}.hwall i{background-size:cover;background-position:center;opacity:.55;animation:tileIn .6s both}@keyframes tileIn{from{opacity:0;transform:scale(1.08)}to{opacity:.55}}
.hero-home::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(23,54,93,.97) 0%,rgba(23,54,93,.85) 45%,rgba(23,54,93,.35) 100%);pointer-events:none}
.hh-in{position:relative;z-index:2;padding:30px 34px;max-width:640px}
.hero-brand{display:flex;gap:14px;align-items:center}.hb-logo{height:62px;width:auto;background:#fff;border-radius:12px;padding:4px}.hb-mark{width:62px;height:62px;border-radius:50%;background:var(--accent);display:grid;place-items:center;font-family:var(--display);font-stretch:62%;font-weight:900;font-size:24px;flex:none}
.hero-home h2{font-family:var(--display);font-stretch:62%;font-weight:900;text-transform:uppercase;font-size:clamp(34px,3.6vw,52px);line-height:.9;margin:4px 0 0}
.hero-home .kicker{font-size:12px;text-transform:uppercase;letter-spacing:.16em;color:var(--accent);font-weight:800}
.hero-home .hero-line{margin-top:14px}
.quick-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.quick-links a{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.1);color:#fff;text-decoration:none;padding:8px 14px;border-radius:999px;font-weight:600;font-size:14px;backdrop-filter:blur(4px)}.quick-links a:hover{background:var(--accent)}.quick-links b{background:var(--accent);border-radius:99px;padding:0 7px;font-size:12px}
.hfeat{position:absolute;right:34px;top:30px;z-index:2;width:min(300px,30%);margin:0;border:5px solid #fff;border-radius:10px;overflow:hidden;transform:rotate(-2.5deg);box-shadow:0 20px 40px rgba(0,0,0,.35);animation:featIn .8s cubic-bezier(.2,.8,.2,1) both .3s}
.hfeat img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block;animation:kenburns 8s ease-out both}.hfeat figcaption{position:absolute;left:0;right:0;bottom:0;padding:22px 14px 10px;background:linear-gradient(0deg,rgba(23,54,93,.95),transparent);font-weight:800;font-size:13px}
@keyframes featIn{from{opacity:0;transform:rotate(-8deg) scale(.6) translateY(30px)}to{opacity:1;transform:rotate(-2.5deg) scale(1)}}@keyframes kenburns{from{transform:scale(1.12)}to{transform:scale(1)}}
.nudge{background:#fff7ef;box-shadow:inset 4px 0 0 var(--accent);border-radius:12px;padding:12px 16px;margin-bottom:14px}.nudge a{margin-left:8px;font-weight:700}
.values{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}.val{background:#000;color:#fff;border-radius:16px;padding:14px 16px;display:grid;grid-template-columns:auto 1fr;column-gap:12px}.val span{grid-row:span 2;font-family:var(--display);font-stretch:62%;font-weight:900;font-size:40px;line-height:.9;color:var(--accent)}.val b{font-family:var(--display);font-stretch:62%;font-weight:900;font-size:22px;text-transform:uppercase}.val small{color:rgba(255,255,255,.7)}
.dgrid.two{grid-template-columns:1.6fr 1fr;margin-bottom:16px}
.campaign{grid-template-columns:repeat(6,minmax(110px,1fr))}
.funnel{display:flex;flex-direction:column;align-items:center;gap:6px}.fun{width:var(--w);background:#000;color:#fff;border-radius:12px;padding:10px 14px;display:flex;justify-content:space-between;align-items:center}.fun:nth-child(2){background:var(--navy)}.fun:nth-child(3){background:var(--accent)}.fun b{font-family:var(--display);font-stretch:62%;font-weight:900;font-size:30px;line-height:1}.fun b small{font-size:12px;font-family:var(--body);font-weight:600;opacity:.8}.fun span{font-size:13px;text-align:right}
.back{display:inline-flex;align-items:center;gap:4px;color:var(--muted);text-decoration:none;margin-bottom:10px;font-weight:600}
.ath-head{display:flex;gap:20px;align-items:center;background:var(--navy);color:#fff;border-radius:var(--r);padding:22px 26px;margin-bottom:16px;flex-wrap:wrap}.ath-head h2{font-family:var(--display);font-stretch:62%;font-weight:900;text-transform:uppercase;font-size:44px;line-height:.95;margin:6px 0 4px}.ath-head p{margin:0;opacity:.85}.ath-head a{color:#fff}.ath-head .avatar{background:var(--accent)}
.ath-nums{display:flex;gap:18px}.ath-nums div{text-align:center}.ath-nums b{display:block;font-family:var(--display);font-stretch:62%;font-weight:900;font-size:40px;line-height:1;color:var(--accent)}.ath-nums span{font-size:11px;letter-spacing:.1em;opacity:.7}
.mini-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(70px,1fr));gap:8px;margin-bottom:8px}.mini-stats div{background:#fff;border-radius:10px;padding:8px;text-align:center}.mini-stats b{display:block;font-family:var(--display);font-stretch:62%;font-weight:900;font-size:24px}.mini-stats span{font-size:11px;color:var(--muted)}
.pdboard{display:grid;grid-template-columns:230px repeat(6,minmax(170px,1fr));gap:10px;overflow-x:auto;padding-bottom:6px;align-items:start;margin-bottom:14px}.pdboard.mentors{grid-template-columns:230px repeat(auto-fit,minmax(200px,1fr))}
.pdboard .dcol{min-height:240px}.pdboard .dcol.over{outline:2px dashed var(--accent)}.dcol.pool{background:#ebebeb}.dcol.pool .search{margin-bottom:6px;padding:7px 10px}.dcol.emg{background:#fff4ea}.dcol h3 .count{margin-left:auto;font-size:12px;background:#fff;border-radius:99px;padding:1px 8px}
.pdc{cursor:grab;grid-template-columns:auto 1fr auto!important}.pdc .tag{align-self:center}.pdc.sel{outline:2px solid var(--accent)}.pdc .btn{grid-column:auto}
.stagegrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}.stage{background:var(--surface);border-radius:var(--r);padding:18px}.stage h3{display:flex;align-items:center;gap:8px}
.chips-list{display:flex;flex-wrap:wrap;gap:6px}.pchip{display:inline-flex;align-items:center;gap:6px;background:#fff;border-radius:99px;padding:5px 11px;font-size:13px;font-weight:600;text-decoration:none;color:inherit;box-shadow:inset 0 0 0 1px var(--line);cursor:pointer}.pchip.on{background:#000;color:#fff;box-shadow:none}.pchip.em{background:#fff4ea;color:#9a4a00}.pchip input{display:none}
.pchips{display:flex;flex-wrap:wrap;gap:6px}
.selpick{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin:0 24px 16px}.selp{border:0;background:var(--surface);border-radius:12px;padding:10px;text-align:left}.selp b{display:block;font-size:13.5px}.selp small{color:var(--muted);font-size:12px}.selp.in{background:#000;color:#fff}.selp.in small{color:#ccc}.selp.em{background:#fff4ea;box-shadow:inset 0 0 0 2px var(--accent)}
.countdown{display:flex;align-items:center;gap:16px;background:var(--navy);color:#fff;border-radius:var(--r);padding:20px 24px;margin-bottom:14px}.countdown b{font-family:var(--display);font-stretch:62%;font-weight:900;font-size:72px;line-height:.85;color:var(--accent)}.countdown span{font-weight:700;font-size:18px}.countdown small{display:block;font-weight:400;font-size:13px;opacity:.75}
.game-head{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:12px}.game-head h2{font-family:var(--display);font-stretch:62%;font-weight:900;text-transform:uppercase;font-size:40px}.game-head b{font-family:var(--display);font-stretch:62%;font-weight:900;font-size:40px;color:var(--accent)}
.tbl.box input{width:52px;padding:5px;text-align:center}details.card summary{cursor:pointer}details.card textarea{margin:10px 0}
.scout-head{display:flex;align-items:center;gap:18px;background:#000;color:#fff;border-radius:var(--r);padding:20px 24px;margin-bottom:12px}.scout-head img{width:72px;height:72px;object-fit:cover;border-radius:12px;background:#fff}.scout-head h2{font-family:var(--display);font-stretch:62%;font-weight:900;text-transform:uppercase;font-size:44px;line-height:1}.scout-head p{margin:4px 0 0;opacity:.75}.scout-head .btn{margin-left:auto}
.keys{background:#fff4ea;box-shadow:inset 4px 0 0 var(--accent);border-radius:12px;padding:12px 16px;margin-bottom:8px}.keys p{margin:4px 0 0}
.pers{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}.pcardx{display:flex;gap:12px;background:var(--surface);border-radius:16px;padding:12px}.pcardx img{width:64px;height:64px;border-radius:12px;object-fit:cover;flex:none}.pnum{width:64px;height:64px;border-radius:12px;background:#000;color:var(--accent);display:grid;place-items:center;font-family:var(--display);font-stretch:62%;font-weight:900;font-size:28px;flex:none}.pcardx b{display:block}.pcardx small{color:var(--muted)}.pcardx p{margin:6px 0 0;font-size:13.5px}
.sets{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;margin-bottom:14px}.setc{background:var(--surface);border-radius:16px;padding:12px 14px;display:flex;flex-direction:column;gap:4px;align-items:flex-start}.setc b{font-size:15px}.setc small{color:var(--muted)}.setc p{margin:2px 0;font-size:13.5px}
.hg-banner{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--surface);border-radius:12px;padding:10px 14px;margin-bottom:14px;font-size:14px}.hg-banner .btn{margin-left:auto}
.hg-in{display:flex;gap:8px;align-items:center}.hg-in input{flex:1}
.rowsed{display:flex;flex-direction:column;gap:6px}.rrow{display:grid;grid-template-columns:repeat(var(--cols),minmax(70px,1fr)) 28px;gap:5px;align-items:center}.rrow input{padding:6px 8px;font-size:13.5px}
.rph{width:46px;height:46px;border-radius:10px;background:var(--surface);display:grid;place-items:center;cursor:pointer;overflow:hidden;font-weight:700;color:var(--muted)}.rph img{width:100%;height:100%;object-fit:cover}
.kside{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.kcard small a{color:inherit}
@media (max-width:900px){.hfeat{display:none}.values{grid-template-columns:1fr}.dgrid.two{grid-template-columns:1fr}.pdboard{grid-template-columns:repeat(7,75%)}.pdboard.mentors{grid-template-columns:repeat(6,75%)}.ath-head h2{font-size:32px}.ath-nums b{font-size:28px}.rrow{grid-template-columns:repeat(2,1fr) 28px}.hh-in{padding:24px}}
.dcol h3 .count{background:#fff;color:#000;width:auto;height:auto;font-family:var(--body);font-stretch:100%;font-size:12px;padding:1px 8px;border-radius:99px}
.pdboard.mentors .pdc{grid-template-columns:auto 1fr!important}.pdboard.mentors .pdc .btn,.pdboard.mentors .pdc .tag{grid-column:1/-1;justify-self:start}
.pdboard.mentors .dcol h3{font-size:13px}.tbl.box td:first-child{min-width:150px}
.hero-home .nh-add{position:absolute;right:18px;bottom:18px;z-index:3}
@media (max-width:900px){.hero-home{flex-direction:column;align-items:stretch}.hero-home .nh-add{position:relative;right:auto;bottom:auto;margin:0 24px 20px;align-self:flex-start}.values{grid-template-columns:repeat(3,1fr);gap:6px}.val{display:block;padding:10px}.val span{font-size:26px}.val b{font-size:15px;display:block}.val small{display:none}}
@media (max-width:900px){.values{grid-template-columns:1fr 1fr 1fr}.val{min-width:0;overflow:hidden}.val b{font-size:13px;overflow-wrap:anywhere}}
/* ===== NBL1 season ===== */
.t-game{background:#000}.t-pre-season{background:var(--accent)}.t-recovery{background:#1F9D55}
.kanban.recruit{grid-template-columns:repeat(7,minmax(220px,1fr));overflow-x:auto;padding-bottom:8px}
.kanban.recruit .kcol h4{border-top:4px solid var(--c);padding-top:8px;margin-top:-4px}
.rcd{display:flex;gap:10px;background:#fff;border-radius:12px;padding:10px;margin-bottom:8px;cursor:grab;align-items:flex-start}.rcd b{display:block;font-size:14px}.rcd small{display:block;font-size:12px}.rcd .sl{font-weight:600;color:#333;margin-top:3px}
.rside{display:flex;flex-direction:column;gap:4px;align-items:flex-end}.prio{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:12px;background:#eee}.prio.pA{background:#000;color:var(--accent)}.prio.pB{background:#ddd}
.pipe{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin-bottom:10px}.pstage{background:#fff;border-radius:12px;padding:10px;text-decoration:none;color:inherit;border-top:4px solid var(--c)}.pstage b{display:block;font-family:var(--display);font-stretch:62%;font-weight:900;font-size:30px;line-height:1}.pstage span{font-size:11.5px;color:var(--muted)}
.mapwrap{display:grid;grid-template-columns:1.4fr 1fr;gap:14px;align-items:start}.ausmap{width:100%;background:var(--navy);border-radius:var(--r)}.ausmap .land{fill:#21436f;stroke:#2c5689;stroke-width:2}.pin{cursor:pointer}.pin:hover circle{stroke:var(--accent)}
.mapside{background:var(--surface);border-radius:var(--r);padding:16px;max-height:640px;overflow:auto}.mapside .row{cursor:pointer}
.legend span{display:inline-flex;align-items:center;gap:4px}.legend i{width:10px;height:10px;border-radius:50%;display:inline-block}
.bigsearch{display:flex;gap:10px;margin-bottom:6px}.bigsearch input{font-size:22px;padding:16px 20px;border-radius:16px;border:2px solid #000}
.hitgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px}.hit{display:flex;gap:12px;align-items:flex-start;border:0;background:var(--surface);border-radius:16px;padding:14px;text-align:left}.hit b{display:block;font-size:16px;margin-top:4px}.hit small{display:block;font-size:12.5px;color:var(--muted)}.hit .sl{color:#000;font-weight:600}
.weblinks{display:flex;flex-wrap:wrap;gap:8px}
.capbar{background:var(--navy);color:#fff;border-radius:var(--r);padding:18px 22px;margin-bottom:12px}.capbar b{font-family:var(--display);font-stretch:62%;font-weight:900;font-size:48px;line-height:1;color:var(--accent);margin-right:12px}.capbar span{opacity:.85}.bar.big{height:14px;margin-top:10px;background:rgba(255,255,255,.15)}
.bar.inline{display:inline-block;width:120px;vertical-align:middle}
.runentry{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}.runentry label{font-size:13px;font-weight:600;display:flex;flex-direction:column;gap:4px}.runentry input{padding:7px 10px}
@media (max-width:900px){.mapwrap{grid-template-columns:1fr}.pipe{grid-template-columns:repeat(3,1fr)}.kanban.recruit{grid-template-columns:repeat(7,80%)}.bigsearch{flex-direction:column}}
input::placeholder,textarea::placeholder{color:#b5b5b8}
.kanban.recruit{grid-template-columns:repeat(7,minmax(250px,1fr))}
/* ===== Keilor red and black ===== */
.p-nbl1 .hero-home{background:radial-gradient(120% 160% at 100% 0%,#5a0c10 0%,#1a0506 38%,#0b0b0b 70%)}
.p-nbl1 .hero-home::after{background:linear-gradient(90deg,rgba(11,11,11,.96) 0%,rgba(11,11,11,.82) 45%,rgba(11,11,11,.2) 100%)}
.p-nbl1 .hero-home::before{content:'';position:absolute;left:-60px;top:0;bottom:0;width:240px;background:linear-gradient(115deg,var(--accent) 0 38%,transparent 38.5%);opacity:.95;z-index:1}
.p-nbl1 .hh-in{padding-left:120px}.p-nbl1 .hb-logo{background:#fff;border-radius:50%;padding:3px;height:76px;width:76px;object-fit:contain}
.p-nbl1 .side nav a.on{background:var(--accent)}.p-nbl1 .brand img{border-radius:50%;background:#fff}
.p-nbl1 .val{background:#0b0b0b;border-left:4px solid var(--accent)}.p-nbl1 .values{grid-template-columns:repeat(3,1fr)}
.p-nbl1 .rb-track i{background:linear-gradient(90deg,var(--accent),#ff6b6f)}
.p-nbl1 .capbar,.p-nbl1 .ath-head,.p-nbl1 .countdown{background:#0b0b0b;box-shadow:inset 6px 0 0 var(--accent)}
.p-nbl1 .ausmap{background:#0b0b0b}.p-nbl1 .ausmap .land{fill:#2a2a2a;stroke:#3a3a3a}
.p-nbl1 .gate{background:radial-gradient(120% 120% at 100% 0%,#5a0c10,#0b0b0b 60%)}
.identity{font-family:var(--display);font-stretch:62%;font-weight:900;text-transform:uppercase;font-size:22px;letter-spacing:.01em;margin:4px 0 10px;color:#111}
.nudge.start{background:#fff0f0;box-shadow:inset 4px 0 0 var(--accent)}.nudge.start .btn{margin-left:10px}
.fsec{grid-column:1/-1;margin:14px 0 0;padding-top:12px;border-top:2px solid #000;font-size:13px;text-transform:uppercase;letter-spacing:.08em}
.rrow{display:flex!important;flex-wrap:wrap;gap:5px;background:var(--surface);padding:8px;border-radius:12px}.rrow input{flex:1 1 70px;min-width:60px}.rrow input[data-c=notes],.rrow input[data-c=last],.rrow input[data-c=answer],.rrow input[data-c=name]{flex-basis:45%}
/* contracts */
.contracts{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px}
.kcon{border:0;background:#fff;border-radius:16px;overflow:hidden;text-align:left;padding:0;box-shadow:0 0 0 1px var(--line)}
.kc-head{display:flex;align-items:center;gap:12px;background:linear-gradient(110deg,#0b0b0b 0 14%,var(--accent) 14.5%);color:#fff;padding:0 14px 0 0;min-height:86px;position:relative}
.kc-head img{width:86px;height:86px;object-fit:cover;object-position:top;order:3;margin-left:auto}.kc-head small{font-size:11px;opacity:.85;display:block;padding-left:66px}.kc-head b{font-size:20px;padding-left:66px;display:block}.kc-head .tag{position:absolute;top:8px;left:10px;background:#fff;color:#000}
.kc-years{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px 14px}.kc-years div{border-top:3px solid #ccc;padding-top:6px}.kc-years .now{border-color:var(--accent)}.kc-years small{color:var(--accent);font-weight:800;text-transform:uppercase;font-size:11px}.kc-years p{margin:4px 0 0;font-weight:700;font-size:14px}
.kc-x{margin:0 14px 8px;font-size:13px;color:#444}.kc-ask{margin:0;padding:10px 14px;background:#fafafa;border-top:1px solid var(--line);font-size:13px}
/* scout database */
.dbfilters{display:flex;flex-wrap:wrap;gap:8px;align-items:end;margin-bottom:12px}.dbfilters .search{max-width:260px}.dbfilters select{width:auto}
.dbfilters label{display:flex;flex-direction:column;font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase}.dbfilters label input{width:86px;padding:7px 9px}
.tbl.db th{cursor:pointer;user-select:none}.tbl.db th.sorted{color:#000}.tbl.db td{padding:9px 12px;font-size:13.5px;white-space:nowrap}.tbl.db tbody tr{cursor:pointer}.tbl.db tbody tr:hover{background:#fff6f6}
.hot3{color:var(--ok);font-weight:800}.tag.k{background:var(--accent);color:#fff}
.dbstats{margin:12px 24px}
/* FastScout */
.fs{max-width:1100px}
.fs-head{display:flex;align-items:center;gap:16px;border-bottom:4px solid var(--accent);padding:6px 0 12px;margin-bottom:14px}.fs-head img{width:64px;height:64px;object-fit:contain}.fs-head h2{font-family:var(--display);font-stretch:62%;font-weight:900;text-transform:uppercase;font-size:40px;line-height:1;margin:0}.fs-head p{margin:2px 0 0;color:var(--muted)}.fs-us{margin-left:auto;border-radius:50%}
.fs-mark{width:64px;height:64px;border-radius:12px;background:#000;color:#fff;display:grid;place-items:center;font-weight:900}
.fs-keys{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:6px}.fs-keys>div{background:var(--surface);border-radius:14px;padding:14px 16px}.fs-keys h3{background:var(--accent);color:#fff;margin:-14px -16px 10px;padding:8px 16px;border-radius:14px 14px 0 0;font-size:14px;text-transform:uppercase;letter-spacing:.05em}
.fs-keys h5{margin:10px 0 2px;font-size:13px;letter-spacing:.04em}.fs-keys p{margin:2px 0;font-size:14px}
.fs-bar{background:#0b0b0b;color:#fff;padding:8px 14px;border-radius:10px;font-size:14px;text-transform:uppercase;letter-spacing:.06em;margin:18px 0 10px;box-shadow:inset 5px 0 0 var(--accent)}
.fs-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}.sts{background:var(--surface);border-radius:12px;padding:10px 12px}.sts h4{margin:0 0 6px;color:var(--accent);font-size:13px;text-transform:uppercase}.sts table{width:100%;border-collapse:collapse;font-size:13px}.sts td,.sts th{padding:4px 6px;text-align:left;border-bottom:1px solid var(--line)}.sts th{font-size:11px;color:var(--muted)}
.fs-depth{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.fs-depth div{background:var(--surface);border-radius:12px;padding:10px;display:flex;flex-direction:column;gap:4px}.fs-depth b{font-family:var(--display);font-stretch:62%;font-weight:900;font-size:26px;color:var(--accent)}.fs-depth span{font-size:13px;font-weight:600}
.fs-pers{display:grid;grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:12px}.fs-card{border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 0 0 1px var(--line)}
.fs-ch{color:#fff;font-weight:800;font-size:13px;padding:8px 12px;letter-spacing:.02em}.fs-cb{display:flex;gap:10px;padding:10px 12px 0;align-items:flex-start}.fs-cb img{width:64px;height:64px;border-radius:10px;object-fit:cover}.fs-num{width:64px;height:64px;border-radius:10px;background:#0b0b0b;color:#fff;display:grid;place-items:center;font-weight:900;font-size:22px;flex:none}
.fs-cb table{flex:1;border-collapse:collapse;font-size:12px}.fs-cb th{font-size:10.5px;color:var(--muted);text-align:left;padding:3px 4px}.fs-cb td{padding:3px 4px;border-top:1px solid var(--line)}
.fs-role{margin:8px 12px 0;font-weight:900;font-size:13px;letter-spacing:.04em}.fs-card ul{margin:4px 0 12px;padding:0 12px 0 28px;font-size:13.5px}.fs-card li{margin:2px 0}
.scoutgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.scard{border:0;text-align:left;background:#0b0b0b;color:#fff;border-radius:16px;padding:16px;box-shadow:inset 0 -4px 0 var(--accent)}
.sc-top{display:flex;gap:12px;align-items:center}.sc-top img,.sc-top span{width:52px;height:52px;border-radius:12px;background:#fff;object-fit:contain;display:grid;place-items:center;color:#000;font-weight:900}.sc-top b{display:block;font-size:18px}.sc-top small{opacity:.7}
.sc-meta{display:flex;gap:6px;margin-top:12px}.sc-meta span{background:rgba(255,255,255,.12);border-radius:99px;padding:3px 10px;font-size:12px}.sc-meta .hotc{background:var(--accent)}
/* IDPs */
.idpgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:12px}.idpc{display:flex;gap:12px;align-items:flex-start;border:0;background:var(--surface);border-radius:16px;padding:14px;text-align:left}.idpc b{display:block;font-size:16px}.idpc small{display:block}
.tps{display:flex;gap:4px;margin:8px 0 6px}.tp{width:24px;height:24px;border-radius:50%;background:#ddd;color:#666;display:grid;place-items:center;font-size:11px;font-weight:800}.tp.ok{background:var(--ok);color:#fff}.tp.bk{background:#E8902E;color:#fff}.tp.bad{background:var(--bad);color:#fff}
/* review */
.rv-hero{background:#0b0b0b;color:#fff;border-radius:var(--r);padding:28px 30px;margin-bottom:14px;box-shadow:inset 8px 0 0 var(--accent)}.rv-hero h2{font-family:var(--display);font-stretch:62%;font-weight:900;text-transform:uppercase;font-size:56px;line-height:.9;margin:6px 0}.rv-hero .kicker{color:var(--accent);font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:800}.rv-hero p{opacity:.8}
.rtype.xls{background:#E3F4EA;color:var(--ok)}.rtype.doc{background:#E4ECFB;color:var(--info)}a.rcard{text-decoration:none;color:inherit}
/* print */
@media print{#print *{-webkit-print-color-adjust:exact;print-color-adjust:exact}#print .fs-pers{grid-template-columns:1fr 1fr}#print .fs-card{break-inside:avoid}#print .idp-print .ib{border:1px solid #ccc;padding:6px 8px;margin:4px 0}#print .idp-print .ib small{font-weight:700}#print .ip-head{display:flex;justify-content:space-between;gap:16px}#print .ip-head img{width:110px;height:110px;object-fit:cover}#print h3{background:#0b0b0b;color:#fff;padding:5px 8px;font-size:13px;margin:12px 0 6px}}
@media (max-width:900px){.p-nbl1 .hh-in{padding-left:24px}.p-nbl1 .hero-home::before{width:60px;left:-30px}.fs-keys{grid-template-columns:1fr}.fs-depth{grid-template-columns:1fr 1fr}.fs-pers{grid-template-columns:1fr}.p-nbl1 .values{grid-template-columns:1fr 1fr}}
.kc-head small{display:none}.kc-head b{padding:22px 0 0 18px;font-size:21px}.kc-head .tag{left:18px;top:10px}.kc-head{background:linear-gradient(110deg,#0b0b0b 0 6%,var(--accent) 6.5%)}
/* ===== Keilor round 2 ===== */
.p-nbl1 .brand img{border-radius:0;background:none;object-fit:contain;width:64px;height:auto}
.avatar.xl{width:96px;height:96px;font-size:28px}.avatar.xs{width:26px;height:26px;font-size:10px;vertical-align:middle}
.drawer-in.wide{max-width:760px}
/* photo hero, development program layout in red and black */
.kh{position:relative;border-radius:22px;overflow:hidden;background:#0b0b0b;color:#fff;min-height:520px;margin-bottom:14px;isolation:isolate;box-shadow:inset 0 5px 0 var(--accent)}
.kh-photo{position:absolute;inset:0 0 0 30%;background-size:cover;background-position:center 25%;animation:khin 1.4s cubic-bezier(.2,.7,.2,1) both;filter:saturate(1.08) contrast(1.05)}
@keyframes khin{from{opacity:0;transform:scale(1.07)}to{opacity:1;transform:none}}
.kh-fade{position:absolute;inset:0;background:linear-gradient(90deg,#0b0b0b 0%,#0b0b0b 30%,rgba(11,11,11,.86) 44%,rgba(11,11,11,.25) 70%,rgba(11,11,11,.05) 100%),linear-gradient(0deg,rgba(11,11,11,.85),transparent 40%),radial-gradient(60% 80% at 0% 100%,rgba(214,33,40,.35),transparent 70%)}
.kh-in{position:relative;z-index:2;padding:34px 40px 30px;max-width:640px}
.kh-logos{display:flex;align-items:center;gap:16px;margin-bottom:22px}.kh-logos img:first-child{height:62px;width:auto;filter:drop-shadow(0 4px 14px rgba(0,0,0,.5))}.kh-logos span{width:1px;height:44px;background:rgba(255,255,255,.3)}.kh-logos img:last-child{height:56px;width:auto;background:#fff;border-radius:8px;padding:4px}
.kh-hi{color:var(--accent);font-weight:800;font-size:26px;margin:0 0 6px}
.kh h2{font-family:var(--display);font-stretch:62%;font-weight:900;text-transform:uppercase;font-size:clamp(54px,7vw,92px);line-height:.88;margin:0;letter-spacing:-.01em}
.kh-rule{display:block;width:62px;height:5px;background:var(--accent);margin:18px 0 16px}
.kh-line{font-size:28px;font-weight:800;margin:0 0 12px;min-height:34px}
.kh-bar{height:8px;border-radius:9px;background:rgba(255,255,255,.18);max-width:520px;overflow:hidden}.kh-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--accent),#ff6b6f);border-radius:9px}
.kh-sub{opacity:.75;font-size:14px;margin:8px 0 22px;min-height:18px}
.kh-nums{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:24px;max-width:600px}.kh-nums div{border-bottom:2px solid rgba(255,255,255,.25);padding-bottom:8px}.kh-nums b{display:block;font-family:var(--display);font-stretch:62%;font-weight:900;font-size:52px;line-height:1}.kh-nums span{font-size:13px;opacity:.8}
.kh-links{display:flex;flex-wrap:wrap;gap:8px}.kh-links a{display:inline-flex;align-items:center;gap:7px;padding:10px 14px;border-radius:10px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.22);color:#fff;text-decoration:none;font-weight:700;font-size:14px;backdrop-filter:blur(6px)}.kh-links a:hover{background:var(--accent);border-color:var(--accent)}
.kh-tabs{position:absolute;top:22px;right:22px;z-index:3;display:flex;gap:4px;background:rgba(0,0,0,.45);padding:5px;border-radius:12px;backdrop-filter:blur(8px)}.kh-tabs button{border:0;background:none;color:rgba(255,255,255,.75);font-weight:700;padding:8px 12px;border-radius:8px;font-size:13px}.kh-tabs button.on{background:#fff;color:#000}
.kvals{display:flex;align-items:center;gap:18px;flex-wrap:wrap;background:var(--card);border-radius:var(--r);padding:16px 20px;margin-bottom:14px;box-shadow:inset 5px 0 0 var(--accent)}
.kvals p{margin:0;font-family:var(--display);font-stretch:62%;font-weight:900;text-transform:uppercase;font-size:26px;line-height:1}.kvals div{display:flex;flex-wrap:wrap;gap:6px}.kvals span{background:#0b0b0b;color:#fff;border-radius:99px;padding:6px 12px;font-size:12.5px;font-weight:700;cursor:help}.kvals span:first-letter{color:var(--accent)}
.kpipe{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;margin-top:12px}.kp{border:0;background:var(--bg);border-radius:12px;padding:12px 8px;display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}.kp .avatar{width:58px;height:58px}.kp b{font-size:13px;line-height:1.15}.kp small{color:var(--muted);font-size:11.5px}.kp .tag{font-size:10.5px}
.tba{background:#0b0b0b;color:#fff;border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:4px;box-shadow:inset 4px 0 0 var(--accent)}.tba span{opacity:.7;font-size:13px}
.smarttask{margin:4px 0 10px}.smarttask input{width:100%;font-size:15px;padding:12px 14px;border-radius:12px}.st-preview{margin-top:6px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.st-preview b{color:var(--text)}
/* 2K recruitment cards */
.k2tabs{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 6px}.k2tabs button{border:0;background:var(--card);border-radius:10px;padding:9px 12px;font-weight:700;font-size:13px;display:flex;gap:8px;align-items:center;box-shadow:inset 0 -3px 0 var(--c)}.k2tabs button b{background:var(--c);color:#fff;border-radius:99px;padding:1px 8px;font-size:12px}.k2tabs button.on{background:#0b0b0b;color:#fff}.k2tabs button.over{outline:3px dashed var(--accent)}
.k2grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px;margin-top:10px}
.k2{background:var(--card);border-radius:16px;overflow:hidden;cursor:pointer;box-shadow:0 1px 0 var(--line),0 0 0 1px var(--line);transition:transform .15s,box-shadow .15s}.k2:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(0,0,0,.18)}
.k2-top{position:relative;height:200px;background:radial-gradient(120% 90% at 70% 0%,var(--c),#0b0b0b 72%);overflow:hidden}.k2-top img{position:absolute;bottom:0;left:50%;transform:translateX(-50%);height:100%;width:100%;object-fit:cover;object-position:top}.k2-in{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--display);font-stretch:62%;font-weight:900;font-size:64px;color:rgba(255,255,255,.3)}
.k2-ovr{position:absolute;top:10px;left:10px;z-index:2;background:#0b0b0b;color:#fff;border-radius:10px;padding:5px 8px;font-size:9.5px;font-weight:800;display:flex;flex-direction:column;align-items:center;line-height:1;box-shadow:inset 0 -3px 0 var(--accent)}.k2-ovr b{font-family:var(--display);font-stretch:62%;font-size:30px;font-weight:900}
.k2-pos{position:absolute;top:12px;right:10px;z-index:2;background:#fff;color:#000;font-weight:900;border-radius:7px;padding:3px 8px;font-size:12px}.k2-pr{position:absolute;top:42px;right:10px;z-index:2;background:var(--accent);color:#fff;font-weight:800;border-radius:7px;padding:2px 7px;font-size:11px}
.k2-body{padding:12px 12px 10px}.k2-name{display:block;font-family:var(--display);font-stretch:62%;font-weight:900;text-transform:uppercase;font-size:21px;line-height:1}.k2-body>small{display:block;color:var(--muted);font-size:12px;margin:3px 0 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.k2-sl{font-size:12.5px;margin:4px 0 8px}
.k2bars{display:grid;gap:4px;margin-bottom:8px}.k2bars div{display:grid;grid-template-columns:30px 1fr 22px;align-items:center;gap:6px;font-size:11px;font-weight:800}.k2bars i{height:6px;border-radius:6px;background:var(--line);position:relative;overflow:hidden}.k2bars i::after{content:'';position:absolute;inset:0 auto 0 0;width:var(--w);background:linear-gradient(90deg,var(--accent),#ff8a8d)}.k2bars b{text-align:right}
.k2-foot{display:flex;gap:6px;align-items:center}.k2-foot select{flex:1;padding:6px 8px;font-size:12.5px;border-radius:8px}
/* profile drawer */
.pf-hero{position:relative;display:flex;align-items:flex-end;gap:16px;background:radial-gradient(120% 120% at 100% 0%,#5a0c10,#0b0b0b 65%);color:#fff;padding:22px 24px 18px;min-height:200px;overflow:hidden}.pf-hero img{position:absolute;right:30px;bottom:0;height:100%;max-height:230px;object-fit:contain;object-position:bottom}.pf-hero>div{position:relative;z-index:2;max-width:60%}.pf-hero small{color:var(--accent);font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:12px}.pf-hero h2{font-family:var(--display);font-stretch:62%;font-weight:900;text-transform:uppercase;font-size:44px;line-height:.95;margin:4px 0}.pf-hero p{margin:0;opacity:.8}.pf-hero .icon-btn{position:absolute;top:12px;right:12px;color:#fff;z-index:3}
.pf-ovr{position:absolute;top:14px;left:24px;z-index:2;display:flex;flex-direction:column;align-items:center;font-size:10px;font-weight:800;background:var(--accent);border-radius:10px;padding:5px 9px;line-height:1}.pf-ovr b{font-family:var(--display);font-stretch:62%;font-size:28px}
.pf-hero>div{margin-top:40px}
.pf-line{display:grid;grid-template-columns:repeat(auto-fit,minmax(64px,1fr));gap:1px;background:var(--line);margin:0}.pf-line div{background:var(--card);padding:12px 6px;text-align:center}.pf-line b{display:block;font-family:var(--display);font-stretch:62%;font-weight:900;font-size:26px}.pf-line span{font-size:11px;color:var(--muted);font-weight:700}
.pf-line.dark{background:transparent;gap:6px;align-items:center}.pf-line.dark div{background:rgba(255,255,255,.08);color:#fff;border-radius:10px}.pf-line.dark span{color:rgba(255,255,255,.7)}.pf-line.dark small{grid-column:1/-1;color:rgba(255,255,255,.6)}
.pf-src{margin:6px 24px}.pf-bars{margin:10px 24px}.drawer-in .sec{margin:16px 24px 8px}#pfc,#pfg{margin:0 24px}.pf-fit{margin:0 24px 10px}.pf-links{margin:14px 24px}
.tbl.mini td,.tbl.mini th{padding:7px 9px;font-size:12.5px;white-space:nowrap}.tlogo{width:18px;height:18px;object-fit:contain;vertical-align:middle}
/* IDP page */
.idph{display:flex;align-items:center;gap:20px;flex-wrap:wrap;background:#0b0b0b;color:#fff;border-radius:var(--r);padding:20px 24px;margin-bottom:14px;box-shadow:inset 6px 0 0 var(--accent)}.idph h2{font-family:var(--display);font-stretch:62%;font-weight:900;text-transform:uppercase;font-size:40px;margin:2px 0}.idph small{color:var(--accent);font-weight:800;text-transform:uppercase;font-size:12px}.idph p{margin:0;opacity:.75}.idph .pf-line{margin-left:auto;min-width:340px}
.pillars{display:grid;gap:6px}.pillars div{display:grid;grid-template-columns:120px 1fr 24px;gap:8px;align-items:center;font-size:13px;font-weight:700}.pillars i{height:9px;border-radius:9px;background:var(--line);position:relative;overflow:hidden}.pillars i::after{content:'';position:absolute;inset:0 auto 0 0;width:var(--w);background:var(--accent);border-radius:9px}
.tline{display:grid;gap:10px;margin-bottom:16px}.tpi{display:flex;gap:12px;background:var(--card);border-radius:var(--r);padding:14px 16px;box-shadow:0 1px 0 var(--line)}.tpn{width:30px;height:30px;border-radius:50%;background:var(--accent);color:#fff;font-weight:900;display:grid;place-items:center;flex:none}.tpi p{margin:4px 0 8px}
.ssk{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:8px}.ssk div{background:var(--bg);border-radius:10px;padding:8px 10px;font-size:13px}.ssk small{display:block;font-weight:800;color:var(--accent);text-transform:uppercase;font-size:11px}
.tpgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.tpgrid label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:700;color:var(--muted)}.tpgrid .wide{grid-column:1/-1}
.prate{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px;margin-bottom:14px}.prate>div{display:flex;align-items:center;gap:5px}.prate span{flex:1;font-weight:700;font-size:13px}.prate button{width:32px;height:32px;border-radius:8px;border:1px solid var(--line);background:var(--card);font-weight:800}.prate button.on{background:var(--accent);color:#fff;border-color:var(--accent)}
/* practice plans */
.plangrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.pl{border:0;text-align:left;background:var(--card);border-radius:var(--r);padding:16px;display:flex;flex-direction:column;gap:4px;box-shadow:0 1px 0 var(--line);border-top:5px solid #0b0b0b}.pl-h{display:flex;justify-content:space-between;font-size:12px;font-weight:800;text-transform:uppercase;color:var(--accent)}.pl-int{color:#000;border-radius:6px;padding:1px 8px}.pl b{font-size:17px}.pl-strip{display:flex;gap:2px;height:10px;border-radius:5px;overflow:hidden;margin:6px 0 2px}
/* opponents */
.oppgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.oppc{border:0;text-align:left;background:var(--card);border-radius:var(--r);padding:0;overflow:hidden;box-shadow:0 1px 0 var(--line)}.oc-h{display:flex;justify-content:space-between;align-items:center;background:#0b0b0b;color:#fff;padding:12px 14px;box-shadow:inset 0 -3px 0 var(--accent)}.oc-h b{font-size:16px}.oc-h span{font-family:var(--display);font-stretch:62%;font-weight:900;font-size:22px}
.oc-top{display:flex;gap:8px;padding:12px 14px}.oc-top>span{display:flex;flex-direction:column;align-items:center;flex:1}.oc-top small{font-size:11.5px;font-weight:700;text-align:center}.oc-top i{display:block;font-style:normal;color:var(--accent);font-weight:900}.oc-f{display:flex;gap:4px;flex-wrap:wrap;padding:0 14px 12px}
.opph{display:flex;align-items:baseline;gap:14px;margin-bottom:10px}.opph h2{font-family:var(--display);font-stretch:62%;font-weight:900;text-transform:uppercase;font-size:40px;margin:0}
/* squad summary, depth future */
.sqsum{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:14px}.sqsum div{background:#0b0b0b;color:#fff;border-radius:12px;padding:10px 16px;box-shadow:inset 0 -3px 0 var(--accent)}.sqsum b{font-family:var(--display);font-stretch:62%;font-weight:900;font-size:28px;margin-right:6px}.sqsum span{font-size:13px;opacity:.8}
.dgrid.five{grid-template-columns:repeat(5,1fr)}.dp.eye{opacity:.72;border:1px dashed var(--accent);cursor:pointer}.dp.eye:hover{opacity:1}
/* video finder, wellbeing */
.vfind h3{display:flex;gap:8px;align-items:center}.vfind input{flex:1;min-width:200px}.vteams{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}.vteams a{font-size:12.5px;padding:5px 10px;border-radius:99px;background:var(--bg);text-decoration:none;color:var(--text);font-weight:600}
.wblink{display:flex;gap:8px;margin:10px 0}.wblink input{flex:1;font-family:monospace;font-size:13px}.wbrow{border-bottom:1px solid var(--line);padding:0 16px}.wbrow summary{display:flex;align-items:center;gap:8px;padding:12px 0;cursor:pointer;list-style:none}.wbrow summary small{display:block;color:var(--muted)}
.wbform{text-align:left}.wbq{margin:10px 0}.wbq>span{display:block;font-weight:700;margin-bottom:6px}.wbs{display:flex;gap:6px}.wbs label{flex:1}.wbs input{display:none}.wbs b{display:grid;place-items:center;height:42px;border-radius:10px;background:rgba(255,255,255,.1);font-size:16px;cursor:pointer}.wbs input:checked+b{background:var(--accent)}.wbq small{display:flex;justify-content:space-between;opacity:.6;font-size:11px;margin-top:3px}.wbflag{flex-direction:row!important;gap:8px;align-items:center}
.nightswitch{display:flex;align-items:center;gap:10px;margin:8px 12px;padding:10px 12px;border:0;border-radius:10px;background:rgba(255,255,255,.06);color:inherit;font-weight:700;font-size:13px}.nightswitch i{margin-left:auto;width:34px;height:20px;border-radius:20px;background:rgba(128,128,128,.4);position:relative}.nightswitch i::after{content:'';position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:#fff;transition:left .2s}body.night .nightswitch i{background:var(--accent)}body.night .nightswitch i::after{left:17px}
.coachseg{margin:0 0 12px}.fs-sub{margin:14px 0 4px;color:var(--accent);font-size:14px}
/* night shift */
body.night{--bg:#0d0d0f;--card:#17171a;--line:#2a2a2f;--text:#f1f1f3;--muted:#9a9aa3;color-scheme:dark}
body.night,body.night main{background:var(--bg);color:var(--text)}
body.night .side{background:#000!important;color:#fff}body.night header.top{background:var(--bg);border-color:var(--line)}
body.night input,body.night select,body.night textarea{background:#101013;color:var(--text);border-color:var(--line)}
body.night .tbl th{background:#121215;color:var(--muted)}body.night .tbl td{border-color:var(--line)}body.night .tbl tbody tr:hover{background:#1f1f24}
body.night .btn.ghost{background:transparent;color:var(--text);box-shadow:inset 0 0 0 1px var(--line)}body.night .seg{background:#1d1d21}body.night .seg button.on{background:var(--accent)}
body.night .kvals span{background:#000}body.night .identity{color:var(--text)}body.night .tag{background:#26262b;color:var(--text)}
body.night .dp{background:#1d1d21}body.night .dp.starter{background:#000}body.night .drawer-in{background:var(--card);color:var(--text)}body.night .drawer-in footer{background:var(--card);border-color:var(--line)}
body.night .k2tabs button.on{background:var(--accent)}body.night .kp{background:#1d1d21}body.night .ssk div{background:#1d1d21}
body.night .fs-keys>div,body.night .sts,body.night .fs-depth div{background:#1d1d21}body.night .fs-card{background:var(--card)}body.night .rrow{background:#1d1d21}
body.night .nudge{background:#2a1214;color:var(--text)}body.night .kc-ask{background:#1d1d21}body.night .kcon{background:var(--card)}
body.night a{color:inherit}body.night .link-strong{color:#fff}
@media print{body.night{--bg:#fff;--card:#fff;--text:#111}}
#print .kp-title{background:#000;color:#fff;text-align:center;padding:6px;font-size:18px}#print .kp-head,#print .kp-run{width:100%;border-collapse:collapse;margin-bottom:10px}#print .kp-head th{background:#D62128;color:#fff;width:90px;font-size:11px}#print .kp-head td,#print .kp-head th,#print .kp-run td,#print .kp-run th{border:1px solid #000;padding:5px 7px;font-size:12px}#print .kp-head .theme{background:#70AD47;color:#fff;font-weight:800;text-align:center}#print .kp-run th{background:#000;color:#fff}#print .kp-run .split td{background:#E8902E;text-align:center;font-weight:800}#print .kp-run .tot td{background:#000;color:#fff;font-weight:800}
@media (max-width:900px){.kh{min-height:0}.kh-photo{inset:0;opacity:.45}.kh-in{padding:24px 20px}.kh-tabs{position:static;margin:0 20px 18px;overflow-x:auto}.kh-nums{grid-template-columns:repeat(3,1fr);gap:10px}.kh-nums b{font-size:34px}.kh-hi{font-size:20px}.kh-line{font-size:20px}.dgrid.five{grid-template-columns:1fr 1fr}.tpgrid{grid-template-columns:1fr}.ssk{grid-template-columns:1fr}.idph .pf-line{min-width:0;width:100%}.pf-hero h2{font-size:32px}.pf-hero img{right:0;opacity:.55}.k2grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.k2-top{height:160px}}
.idph .pf-line{display:flex;flex-wrap:wrap;gap:6px;min-width:0;margin-left:auto}.idph .pf-line div{padding:8px 12px}.idph .pf-line b{font-size:22px}.idph .pf-line small{width:100%}
/* ===== Keilor round 3 + 4 ===== */
@keyframes kfade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes kfadeimg{from{opacity:0}to{opacity:1}}
.fadein .kh-in{animation:kfade .7s ease both}.fadein .kh-photo{animation:kfadeimg 1.2s ease both}
.todo-add{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0 10px}.todo-add input{flex:1;min-width:180px}.todo-add select,.todo-add input[type=date]{width:auto}
.calsub{display:flex;gap:14px;align-items:center;flex-wrap:wrap;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px 18px;margin-bottom:16px}.calsub>div:first-child{flex:1;min-width:220px}.calsub b{display:block}.calsub small{color:var(--muted)}
.staffq .form-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:8px 0}.staffq .sq-n{min-width:130px}.staffq input{flex:1;min-width:180px}
.k2-move{display:flex;flex-wrap:wrap;gap:4px;padding:0 12px 8px}.k2-move button{border:0;border-radius:999px;padding:3px 9px;font-size:11px;font-weight:600;background:color-mix(in srgb,var(--c,#888) 16%,transparent);color:var(--text)}.k2-move button:hover{background:var(--c,#888);color:#fff}
.dbwrap{max-height:72vh;overflow:auto}.dbwrap thead th{position:sticky;top:0;z-index:2}.stick{position:sticky;left:0;z-index:1;background:var(--card)}thead .stick{z-index:3}
.dbp{display:flex;align-items:center;gap:8px;white-space:nowrap;position:relative}.dbplus{width:20px;height:20px;border-radius:50%;border:0;background:var(--accent);color:#fff;display:grid;place-items:center;padding:0;flex:none}
.plusmenu{position:absolute;left:30px;top:22px;z-index:20;background:var(--card);border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.18);display:flex;flex-direction:column;padding:4px;min-width:190px}.plusmenu button{border:0;background:none;text-align:left;padding:8px 10px;border-radius:7px;font-size:13px}.plusmenu button:hover{background:var(--bg)}
.sgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px}.scard2{display:flex;gap:12px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:10px 12px;cursor:pointer}.scard2:hover{border-color:var(--accent)}
.scard2>img,.sc2-in{width:54px;height:54px;border-radius:50%;object-fit:cover;object-position:top;background:var(--bg);flex:none;display:grid;place-items:center;font-weight:700}.scard2 b{display:block}.scard2 small{display:block;color:var(--muted);font-size:12px}.scard2 .sl{color:var(--text)}
.sc2-ovr{font-family:var(--display);font-stretch:62%;font-weight:800;font-size:26px;color:var(--accent)}
.mfound{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.mfound button{display:flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--card);border-radius:999px;padding:4px 10px 4px 4px;font-size:13px}
.club{cursor:pointer;fill:#cfcfcf}.club.has{fill:var(--accent)}.club.sel{stroke:#000;stroke-width:3}.mlab{font-size:11px;fill:var(--muted);pointer-events:none}
.sqgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;margin-bottom:18px}.sqc{background:var(--card);border:1px solid var(--line);border-radius:16px;overflow:hidden;display:flex;flex-direction:column}
.sqph{position:relative;aspect-ratio:1/1;background:linear-gradient(160deg,#1b1b1b,#000);cursor:pointer;overflow:hidden}.sqph img{width:100%;height:100%;object-fit:cover;object-position:50% 12%;display:block}.sqph>span{display:grid;place-items:center;height:100%;color:#fff;font-size:34px;font-weight:800}.sqph i{position:absolute;left:10px;top:8px;font-style:normal;font-weight:800;color:#fff;font-size:20px;text-shadow:0 1px 6px rgba(0,0,0,.6)}
.sqc>b,.sqc>small{padding:0 12px}.sqc>b{padding-top:10px}.stchips{display:flex;flex-wrap:wrap;gap:4px;padding:8px 12px}.stchips button{border:1px solid var(--line);background:none;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:600}.stchips button.on.ok{background:var(--ok);color:#fff;border-color:var(--ok)}.stchips button.on.warn{background:var(--warn);color:#fff;border-color:var(--warn)}.stchips button.on.bad{background:var(--bad);color:#fff;border-color:var(--bad)}.stchips button.on.info{background:var(--info);color:#fff;border-color:var(--info)}.sqc .linkish{margin:0 12px 10px;text-align:left}
.dbudget{display:grid;grid-template-columns:auto repeat(3,1fr);gap:14px;align-items:end;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px 18px;margin-bottom:14px}.dbudget small{display:block;color:var(--muted);font-size:12px}.dbudget b{font-family:var(--display);font-stretch:62%;font-weight:800;font-size:28px}.dbar{grid-column:1/-1;height:8px;border-radius:9px;background:var(--bg);overflow:hidden}.dbar i{display:block;height:100%;background:var(--ok)}.dbar i.bad{background:var(--bad)}
.dchart{display:grid;grid-template-columns:repeat(6,minmax(170px,1fr));gap:10px;overflow-x:auto;padding-bottom:6px}.dcol2{background:var(--bg);border:1px dashed var(--line);border-radius:14px;padding:8px;min-height:220px}.dcol2.over{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent)}.dcol2 h3{font-size:13px;display:flex;gap:6px;align-items:center;margin:2px 4px 8px}.dcol2 h3 span{background:var(--text);color:var(--card);border-radius:6px;padding:1px 7px}.dcol2.out h3 span{background:var(--bad)}
.dc{display:flex;gap:8px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:6px;margin-bottom:6px;cursor:grab}.dc.rec{border-color:var(--info);box-shadow:inset 3px 0 0 var(--info)}.dc>img,.dc-in{width:44px;height:44px;border-radius:50%;object-fit:cover;object-position:top;flex:none;background:var(--bg);display:grid;place-items:center;font-weight:700;font-size:13px}.dc b{display:block;font-size:13px;line-height:1.2}.dc small{font-size:11px;color:var(--muted)}
.dc-amt{display:flex;align-items:center;font-size:11px;color:var(--muted);gap:2px}.dc-amt input{width:68px;padding:3px 5px;font-size:12px}.rtag{font-style:normal;background:var(--info);color:#fff;border-radius:5px;padding:0 5px;font-size:10px}.dpool{display:flex;flex-wrap:wrap;gap:6px}.dpool .dc{width:230px}
.p6grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px}.p6{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px}.p6h{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.p6r{display:flex;gap:3px}.p6r button{width:26px;height:26px;border-radius:7px;border:1px solid var(--line);background:none;padding:0;font-size:12px;font-weight:700}.p6r button.on{background:var(--accent);color:#fff;border-color:var(--accent)}
.p6k{margin-top:6px}.p6k small{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700}.p6chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:3px}.p6chips button{border:1px solid var(--line);background:none;border-radius:999px;padding:3px 9px;font-size:12px}.p6chips button.on{background:var(--text);color:var(--card);border-color:var(--text)}.p6chips input{flex:1;min-width:120px;padding:3px 8px;font-size:12px;border-radius:999px}
.p6sum{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;margin-top:8px}.p6sum>div{background:var(--bg);border-radius:10px;padding:8px 10px;font-size:13px}.p6sum i{font-style:normal;color:var(--accent)}
.pf-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin:14px 0 10px;overflow-x:auto}.pf-tabs button{border:0;background:none;padding:8px 12px;font-weight:600;color:var(--muted);border-bottom:2px solid transparent;white-space:nowrap}.pf-tabs button.on{color:var(--text);border-color:var(--accent)}
.pf-video{position:relative;aspect-ratio:16/9;border-radius:12px;overflow:hidden;background:#000;margin-bottom:10px}.pf-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.pf-hlrow{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px}.hlcard{display:flex;flex-direction:column;gap:2px;background:var(--bg);border-radius:12px;padding:12px;text-decoration:none}.hlcard small{color:var(--muted)}.hlplay{width:40px;height:40px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;margin-bottom:6px}.pf-addvid{display:flex;gap:6px;margin-top:10px}.pf-addvid input{flex:1}
.nw{white-space:nowrap}
/* practice plans */
.plnext{display:flex;gap:8px;overflow-x:auto;margin:6px 0 14px}.plslot{border:1px dashed var(--accent);background:color-mix(in srgb,var(--accent) 6%,transparent);border-radius:12px;padding:10px 14px;text-align:left;min-width:180px}.plslot b,.plslot small{display:block}.plslot small{color:var(--muted)}.plslot span{color:var(--accent);font-weight:700;font-size:13px;display:flex;gap:4px;align-items:center;margin-top:4px}
.pb{display:flex;flex-direction:column;gap:6px}.pb-head{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px 16px;display:flex;flex-direction:column;gap:10px}.pb-row{display:flex;gap:10px;flex-wrap:wrap;align-items:end}.pb-row label{display:flex;flex-direction:column;gap:3px;font-size:12px;color:var(--muted);font-weight:600}.pb-row label.grow{flex:1;min-width:220px}.pb label textarea,.pb-head>label{width:100%}.pb-head>label{display:flex;flex-direction:column;gap:3px;font-size:12px;color:var(--muted);font-weight:600}
.pb-int{display:flex;gap:4px;align-items:center}.pb-int small{margin-right:4px;color:var(--muted);font-weight:600}.pb-int button,.pbi button{border:2px solid var(--c);background:none;border-radius:999px;padding:6px 14px;font-weight:700;font-size:13px}.pb-int button.on,.pbi button.on{background:var(--c);color:#000}
.pb-run{display:flex;flex-direction:column;gap:6px}.pbr{display:flex;gap:6px;align-items:center;background:var(--card);border:1px solid var(--line);border-left:6px solid var(--c);border-radius:10px;padding:6px 8px}.pbr.split{background:#E8902E22;border-left-color:#E8902E}.pbr .t{width:64px}.pbr .dr{width:220px}.pbr .poe{flex:1;min-width:120px}.grip{cursor:grab;color:var(--muted);user-select:none}.pbi{display:flex;gap:3px}.pbi button{padding:3px 9px;font-size:12px}
.pb-adds{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:4px}.chipq{border:1px solid var(--line);background:var(--card);border-radius:999px;padding:4px 10px;font-size:12px}.chipq:hover{border-color:var(--accent)}
.pb-wu{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px}.wuc{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:10px;display:grid;grid-template-columns:1fr 1fr;gap:6px;position:relative}.wuc textarea{grid-column:1/-1}.wuc .icon-btn{position:absolute;top:4px;right:4px}.wuc select{grid-column:1/-1}.pb-wu>.btn{align-self:start}
.pb-av{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}.pb-av.two{grid-template-columns:1fr 1fr}.avb{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:10px}.avb h4{margin:0 0 6px;font-size:13px;display:flex;justify-content:space-between}.avb.out{background:color-mix(in srgb,var(--bad) 6%,var(--card))}.avb.black{background:#111;color:#fff;border-color:#111}.avb.red{background:#B3202A;color:#fff;border-color:#B3202A}
.avchips{display:flex;flex-wrap:wrap;gap:4px;min-height:28px}.avc{display:inline-flex;align-items:center;gap:3px;background:var(--bg);color:var(--text);border-radius:999px;padding:3px 4px 3px 10px;font-size:12px;cursor:grab}.avc button{border:0;background:none;padding:0 3px;display:grid;place-items:center;opacity:.55}.avc button:hover{opacity:1}.avadd{display:flex;gap:4px;margin-top:6px}.avadd input{flex:1;padding:4px 8px;font-size:12px}
/* shooting */
.stdkey{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}.shgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}.shc{background:var(--card);border:1px solid var(--line);border-top:4px solid var(--line);border-radius:14px;padding:12px;display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}.shc.ok{border-top-color:var(--ok)}.shc.info{border-top-color:var(--info)}.shc.warn{border-top-color:var(--warn)}.shc.bad{border-top-color:var(--bad)}.shc .avatar{width:64px;height:64px}
.shn{font-family:var(--display);font-stretch:62%;font-weight:800;font-size:40px;line-height:1}.shn small{font-size:14px;color:var(--muted);margin-left:2px}.shbar{position:relative;width:100%;height:6px;background:var(--bg);border-radius:6px;margin-top:4px}.shbar i{display:block;height:100%;border-radius:6px;background:var(--accent)}.shbar em{position:absolute;top:-3px;width:2px;height:12px;background:var(--text)}
.shenter{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px;margin:10px 0 14px}.shenter label{display:flex;gap:8px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:8px}.shenter b{flex:1;font-size:13px}.shenter input{width:64px}.bandlive{font-size:11px;min-width:0}
/* links, proofs */
.linkcard{margin-bottom:14px}.proofs{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}.proof{background:var(--card);border:1px solid var(--line);border-radius:12px;overflow:hidden;text-decoration:none}.proof img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}.proof b,.proof small{display:block;padding:0 8px}.proof b{padding-top:6px;font-size:13px}.proof small{padding-bottom:8px;color:var(--muted);font-size:12px}
/* box scores */
.glist{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px}.gcard{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:10px 12px;text-align:left;display:flex;flex-direction:column;gap:2px}.gcard:hover{border-color:var(--accent)}.gcard.k{box-shadow:inset 4px 0 0 var(--accent)}.gcard div{display:flex;justify-content:space-between;gap:8px}.gcard span{color:var(--muted)}.gcard span.w{color:var(--text);font-weight:700}.gcard small{font-size:12px;color:var(--muted)}
.box2 td{white-space:nowrap}.box2 tbody tr{cursor:pointer}.box2 .avatar.xs{vertical-align:middle}
/* terminology */
.covimg{margin:0 0 14px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:10px;text-align:center}.covimg img{max-width:100%;max-height:520px;border-radius:8px}.covimg figcaption{font-size:12px;color:var(--muted)}
.termgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px}.termc{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px;text-align:left;display:flex;flex-direction:column;gap:4px}.termc:hover{border-color:var(--accent)}.termc p{margin:0;font-size:13px;color:var(--muted)}.tabs.wrap{flex-wrap:wrap}
/* contracts */
.ctools{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:12px}.ctools select{max-width:300px}.ctools input{width:150px}
.cboard{display:grid;grid-template-columns:repeat(4,minmax(220px,1fr));gap:10px;overflow-x:auto}.ccol{background:var(--bg);border:1px dashed var(--line);border-radius:14px;padding:8px;min-height:200px}.ccol.over{border-color:var(--accent)}.ccol h4{margin:2px 4px 8px;display:flex;justify-content:space-between;font-size:13px}
.ccard{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:10px;margin-bottom:8px;display:flex;flex-direction:column;gap:5px;cursor:grab}.cc-top{display:flex;gap:8px;align-items:center}.cc-top img{width:42px;height:42px;border-radius:50%;object-fit:cover;object-position:top}.ccard label{font-size:11px;color:var(--muted);display:flex;flex-direction:column;gap:2px}.ccard input{padding:4px 7px;font-size:13px}
/* ideas playbook + lightbox */
.icard .pbimg{width:100%;aspect-ratio:16/10;object-fit:cover;object-position:top;display:block;background:#fff}
.lightbox{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.8);display:grid;place-items:center;padding:20px}.lb-in{background:var(--card);border-radius:14px;overflow:hidden;max-width:min(1100px,96vw);max-height:94vh;display:flex;flex-direction:column}.lb-in img{max-width:100%;max-height:calc(94vh - 60px);object-fit:contain;background:#fff}.lb-bar{display:flex;gap:8px;align-items:center;padding:10px 14px}
/* title case on headings */
#view .panel>h3,#view h3.sec{text-transform:none}
body.night .dcol2,body.night .ccol{background:#111114}body.night .avc{background:#232328}body.night .stick{background:var(--card)}
@media (max-width:900px){.dbudget{grid-template-columns:1fr 1fr}.pbr{flex-wrap:wrap}.pbr .dr,.pbr .poe{width:100%;flex:1 1 100%}.pb-av.two{grid-template-columns:1fr}.cboard{grid-template-columns:repeat(4,240px)}}
/* ===== Keilor round 5 ===== */
.hlstrip{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px;margin:6px 0 10px}.hlt{border:0;background:none;padding:0;text-align:left;display:flex;flex-direction:column;gap:3px;cursor:pointer}.hlt small{font-size:12px;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.hlt-img{position:relative;aspect-ratio:16/9;border-radius:10px;overflow:hidden;background:#000;display:block}.hlt-img img,.hlt-img iframe{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border:0}.hlt-img em{position:absolute;right:6px;bottom:6px;background:rgba(0,0,0,.8);color:#fff;font-style:normal;font-size:11px;padding:1px 5px;border-radius:4px;z-index:2}.hlt-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:38px;height:38px;border-radius:50%;background:rgba(232,80,46,.92);color:#fff;display:grid;place-items:center;transition:opacity .2s}.hlt:hover .hlt-play{opacity:0}
.pf-hl{margin:12px 0}.pf-hl .hlstrip{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.vmodal{position:fixed;inset:0;z-index:120;background:rgba(0,0,0,.85);display:grid;place-items:center;padding:20px}.vm-in{width:min(1000px,96vw);background:var(--card);border-radius:14px;overflow:hidden}.vm-in .pf-video{margin:0;border-radius:0}
.hlpop{position:fixed;z-index:110;width:320px;background:var(--card);border-radius:12px;box-shadow:0 18px 40px rgba(0,0,0,.35);overflow:hidden;animation:kfadeimg .2s ease}.hlpop iframe{width:100%;aspect-ratio:16/9;border:0;display:block;background:#000}.hlpop>div{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center;padding:8px 10px}.hlpop b{flex:1}.hlpop small{width:100%;color:var(--muted);font-size:12px;order:3}
.hasvid{margin-left:4px;color:var(--accent);vertical-align:middle}
.k2{position:relative;cursor:default}.k2-x{position:absolute;top:8px;right:8px;z-index:3;width:26px;height:26px;border-radius:50%;border:0;background:rgba(0,0,0,.55);color:#fff;display:grid;place-items:center;padding:0}.k2-x:hover{background:var(--bad)}.k2-top img,.k2-top .k2-in,.k2-name{cursor:pointer}
.k2-move button.on{background:var(--c);color:#fff}
.stchips button{--c:#888}.stchips button.on:not(.ok):not(.warn):not(.bad):not(.info){background:var(--c);color:#fff;border-color:var(--c)}.stchips.sm{padding:4px 8px}.stchips.sm button{font-size:10px;padding:2px 6px}
.undo{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:130;background:#111;color:#fff;border-radius:999px;padding:10px 12px 10px 18px;display:flex;gap:12px;align-items:center;box-shadow:0 10px 30px rgba(0,0,0,.3)}.undo button{border:0;background:var(--accent);color:#fff;border-radius:999px;padding:5px 12px;font-weight:700}
.dbok{width:20px;height:20px;border-radius:50%;background:var(--ok);color:#fff;display:grid;place-items:center;font-size:12px;font-weight:800;flex:none}.pop{animation:popin .35s ease}@keyframes popin{0%{transform:scale(.4)}70%{transform:scale(1.25)}100%{transform:scale(1)}}
.rt{display:inline-block;min-width:28px;text-align:center;border-radius:6px;padding:1px 4px;font-weight:700;background:var(--bg)}.rt.r70{background:#e3eefc;color:#1d4fa8}.rt.r80{background:#dff3e7;color:#0b6b3a}.rt.r90{background:var(--accent);color:#fff}
.rtf{display:inline-flex;gap:4px}.rts{font-size:11px;color:var(--muted)}.rts b{color:var(--text)}
.mini-seg{margin-bottom:8px}.mini-seg button{font-size:12px;padding:4px 9px}
.mapbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:10px}.mapbar select{width:auto}.mapbar .search{max-width:220px}.mlayers{display:flex;gap:10px;flex-wrap:wrap;font-size:13px}.mlayers label{display:flex;gap:4px;align-items:center}
.mapwrap{display:grid;grid-template-columns:1fr 300px;gap:10px;height:calc(100vh - 230px);min-height:480px}#lmap{border-radius:16px;overflow:hidden;border:1px solid var(--line);z-index:1}.mapside{background:var(--card);border:1px solid var(--line);border-radius:16px;overflow:auto;padding:10px}.mapside h3{font-size:14px;margin:4px 4px 8px}
.mli{display:flex;gap:8px;align-items:center;width:100%;border:0;background:none;padding:6px;border-radius:8px;text-align:left}.mli:hover{background:var(--bg)}.mli small{display:block;color:var(--muted);font-size:11px}
.mpin{background:none;border:0}.mpin-in{width:var(--s);height:var(--s);border-radius:50%;background:#fff;border:3px solid var(--accent);display:grid;place-items:center;position:relative;transform:translate(calc(20px - var(--s)/2),calc(20px - var(--s)/2));box-shadow:0 4px 12px rgba(0,0,0,.3);font-size:10px;font-weight:800;color:#111}.mpin-in img{width:78%;height:78%;object-fit:contain}.mpin-in i{position:absolute;right:-6px;top:-6px;background:var(--accent);color:#fff;font-style:normal;border-radius:999px;font-size:11px;padding:0 5px;line-height:17px}.mpin-in.ab{border-color:#2F6FDE}.mpin-in.ab i{background:#2F6FDE}
.mdot{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;color:#fff;font-size:11px;font-weight:800;border:2px solid #fff;box-shadow:0 2px 6px rgba(0,0,0,.3)}.mdot.rec{background:#7B3FD6}.mdot.sq{background:#111}
.mpop{min-width:230px}.mpop-h{display:flex;gap:8px;align-items:center;margin-bottom:6px}.mpop-h img{width:30px;height:30px;object-fit:contain}.mpl{display:flex;gap:8px;align-items:center;width:100%;border:0;background:none;padding:4px;border-radius:6px;text-align:left;font:inherit}.mpl:hover{background:#f2f2f2}.mpl small{display:block;color:#777;font-size:11px}
.lineup{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:10px}.lineup.bench{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.lineup.out{opacity:.7}
.lc{background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;cursor:grab}.lc-ph{position:relative;aspect-ratio:4/4.2;background:linear-gradient(160deg,#1b1b1b,#000);cursor:pointer;overflow:hidden}.lineup.bench .lc-ph{aspect-ratio:1/1}.lc-ph img{width:100%;height:100%;object-fit:cover;object-position:50% 10%;display:block}.lc-ph>span{display:grid;place-items:center;height:100%;color:#fff;font-size:30px;font-weight:800}
.lc-ph em{position:absolute;left:8px;top:8px;background:var(--accent);color:#fff;font-style:normal;font-weight:800;border-radius:7px;padding:1px 8px}.lc-ph i{position:absolute;right:8px;top:8px;color:#fff;font-style:normal;font-weight:800;text-shadow:0 1px 6px rgba(0,0,0,.7)}.lc-ph u{position:absolute;right:8px;bottom:8px;text-decoration:none;background:#fff;color:#111;font-weight:800;border-radius:7px;padding:0 6px;font-size:13px}
.lc>b{padding:8px 10px 0;font-size:14px;line-height:1.2}.lc>small{padding:0 10px;color:var(--muted);font-size:12px}
.dc-ex{display:block;color:var(--accent)!important;font-weight:600}.dc-exb{font-size:11px;padding:0;margin-top:2px}.exrow{display:flex;gap:8px;align-items:center;margin:8px 0;flex-wrap:wrap}.exrow .chk{min-width:150px}.exrow input[data-xl]{flex:1;min-width:120px}
.idp-ovr{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;background:var(--accent);color:#fff;border-radius:10px;font-weight:800;font-size:20px;line-height:1;padding:6px 8px;min-width:48px}.idp-ovr small{font-size:9px;letter-spacing:.1em}.idp-ovr.big{font-size:34px;padding:8px 12px}.idpc{position:relative}.idpc>.idp-ovr{position:absolute;right:10px;top:10px;font-size:15px;min-width:38px;padding:4px 6px}
.idp-rt{display:flex;gap:12px;align-items:center;margin-left:auto}.idp-rt .k2bars{min-width:180px}.idp-tabs{margin-top:22px}
.shq{display:flex;flex-direction:column;gap:6px;margin-top:8px}.shr{display:flex;gap:10px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:8px 10px;flex-wrap:wrap}.shr>b{min-width:150px;flex:1}
.step{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;overflow:hidden}.step button{border:0;background:var(--bg);width:36px;height:36px;font-size:20px;font-weight:700}.step input{width:56px;border:0;text-align:center;font-size:18px;font-weight:800;padding:0;background:transparent}
.bands{display:flex;gap:4px;flex-wrap:wrap}.bands button{border:1px solid var(--line);background:none;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:600}.bands button.on.ok{background:var(--ok);color:#fff;border-color:var(--ok)}.bands button.on.info{background:var(--info);color:#fff;border-color:var(--info)}.bands button.on.warn{background:var(--warn);color:#fff;border-color:var(--warn)}.bands button.on.bad{background:var(--bad);color:#fff;border-color:var(--bad)}.saved{font-style:normal;color:var(--ok);font-weight:800;width:16px}
.runall .rt-row{border:1px solid var(--line);border-radius:12px;padding:8px 10px;margin:0 0 8px;display:flex;flex-direction:column;gap:6px}.runall legend{font-weight:700;padding:0 4px}.chk{display:flex;gap:6px;align-items:center;font-size:13px}
.upbtn{cursor:pointer}.ploose{background:var(--card);border:1px dashed var(--line);border-radius:12px;padding:10px 12px;margin:8px 0}.ploose>div{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.plchip{display:inline-flex;gap:6px;align-items:center;background:var(--bg);border-radius:999px;padding:5px 12px;font-size:13px;cursor:grab}.plslot.over{background:color-mix(in srgb,var(--accent) 20%,transparent)}
.tlogo{width:20px;height:20px;object-fit:contain;vertical-align:middle;margin-right:6px}.tlogo.lg{width:34px;height:34px}.gcard div span{display:flex;align-items:center}
.adv td,.adv th{white-space:nowrap}.adv th{cursor:pointer}.adv .krow{background:color-mix(in srgb,var(--accent) 10%,transparent)}
.vrow{margin:10px 0 18px}.vrow-h{display:flex;gap:8px;align-items:center;cursor:pointer;margin-bottom:4px}.vrow-h small{color:var(--muted)}
.termimg{width:100%;border-radius:8px;background:#fff;margin-bottom:6px}
body.night .hlpop,body.night .mapside{background:var(--card)}body.night .mpl:hover{background:#222}
@media (max-width:900px){.mapwrap{grid-template-columns:1fr;height:auto}#lmap{height:60vh}.lineup{grid-template-columns:repeat(2,1fr)}.idp-rt{margin-left:0}}
/* ===== Keilor round 6 ===== */
.hub{display:flex;flex-direction:column;gap:10px;text-align:left}.hub-game{background:var(--accent);color:#fff;border-radius:12px;padding:10px 12px;font-weight:700;margin:0}
.hubb{display:flex;flex-direction:column;gap:2px;text-align:left;border:1px solid var(--line);background:#fff;border-radius:14px;padding:14px 16px;cursor:pointer}.hubb b{font-size:17px}.hubb small{color:var(--muted)}.hubb.hot{border:2px solid var(--accent);box-shadow:0 6px 18px rgba(232,80,46,.2)}.hub-tip{font-size:13px;color:var(--muted);background:var(--bg,#f4f4f2);border-radius:10px;padding:10px 12px}
.wbs.yn label,.wbs.ch label{flex:1}.wbs.ch{flex-wrap:wrap}
.svc{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:10px}.links input,.links select{padding:5px 8px;font-size:13px;min-width:130px}.links td{vertical-align:middle}
.qed{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.qrow{display:flex;gap:6px;align-items:center;flex-wrap:wrap;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:8px}.qrow>input[data-f="0"]{flex:1;min-width:220px}.qrow select{width:auto}.qrow input[data-f="2"]{min-width:200px}.qn{width:22px;height:22px;border-radius:50%;background:var(--text);color:var(--card);display:grid;place-items:center;font-size:12px;font-weight:700}
.btiles{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}.btiles>div:not(.bar){background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px 14px}.btiles small{display:block;color:var(--muted);font-size:12px}.btiles b{font-family:var(--display);font-stretch:62%;font-weight:800;font-size:30px}.btiles .ok b{color:var(--ok)}.btiles .bad b{color:var(--bad)}.btiles .bar{grid-column:1/-1}
.bgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:12px;align-items:start}.bbox{background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden}.bbox-h{display:flex;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--line);background:var(--bg)}.bbox .card{border:0;border-radius:0;margin:0;box-shadow:none}.bbox .tbl td{padding:8px 12px;font-size:13px}
@media (max-width:900px){.btiles{grid-template-columns:1fr 1fr}.bgrid{grid-template-columns:1fr}}
#lmap{height:calc(100vh - 230px);min-height:480px}.mapside{max-height:calc(100vh - 230px)}.mapwrap{height:auto}
/* ===== v1.1 (round 7) ===== */
#update-bar{position:fixed;left:50%;bottom:calc(16px + env(safe-area-inset-bottom));top:auto;right:auto;transform:translateX(-50%);z-index:120;background:var(--ink,#0B0B0B);color:#fff;border:0;border-radius:999px;padding:12px 20px;font:inherit;font-size:14px;box-shadow:0 10px 30px rgba(0,0,0,.25);cursor:pointer;display:flex;gap:6px;align-items:center;max-width:calc(100vw - 32px)}#update-bar span{color:#ffb4b4}
.wn-wrap{position:fixed;inset:0;z-index:130;background:rgba(0,0,0,.45);display:grid;place-items:center;padding:16px}.wn{background:var(--card,#fff);color:var(--text,#111);border-radius:16px;padding:24px;max-width:420px;width:100%;box-shadow:0 20px 50px rgba(0,0,0,.3)}.wn small{color:var(--accent);font-weight:800;letter-spacing:.06em;text-transform:uppercase;font-size:11px}.wn h2{margin:4px 0 10px}.wn ul{margin:0 0 16px;padding-left:18px;line-height:1.55}.wn .btn{width:100%}
.side .ver{font-size:11px;opacity:.45;padding:4px 16px 12px;letter-spacing:.04em}
.rolebadge{display:inline-block;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;padding:1px 6px;border-radius:5px;background:rgba(128,128,128,.18)}.rolebadge.r-admin{background:var(--accent);color:#fff}.rolebadge.r-coach{background:#1d4ed8;color:#fff}.rolebadge.r-manager{background:#0f766e;color:#fff}
/* spinning Keilor basketball loader */
body.k7 .loading::after{width:34px;height:34px;border:0;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ff6a3d,#D62128 60%,#8e1015);box-shadow:inset 0 0 0 1.5px rgba(0,0,0,.35);animation:spin .9s linear infinite;-webkit-mask:none}
body.k7 .loading{position:relative}body.k7 .loading::before{content:'';position:absolute;left:50%;top:50%;width:34px;height:34px;margin:-17px 0 0 -17px;border-radius:50%;background:linear-gradient(transparent 47%,rgba(0,0,0,.55) 47% 53%,transparent 53%),linear-gradient(90deg,transparent 47%,rgba(0,0,0,.55) 47% 53%,transparent 53%);animation:spin .9s linear infinite;z-index:1}
/* countdown */
#cdbar{display:flex;gap:10px;align-items:center;padding:8px 20px;background:var(--ink,#0b0b0b);color:#fff;text-decoration:none;font-size:13px;border-left:5px solid var(--oc);position:sticky;top:0;z-index:20;overflow:hidden;white-space:nowrap}#cdbar b{font-size:15px;color:#ffb4b4}#cdbar small{opacity:.65;overflow:hidden;text-overflow:ellipsis}#cdbar i{margin-left:auto;font-style:normal;font-size:11px;padding:2px 8px;border-radius:999px;background:rgba(255,255,255,.12)}.cd-dot{width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 3px rgba(34,197,94,.25);flex:none}
@media(max-width:700px){#cdbar small{display:none}#cdbar{padding:8px 14px}}
/* game week */
.gw-hero{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;align-items:flex-end;padding:22px;border-radius:16px;color:#fff;background:linear-gradient(120deg,#0b0b0b 0%,#0b0b0b 45%,var(--oc) 140%);border-left:6px solid var(--oc);margin-bottom:14px}.gw-hero.slim{padding:16px}.gw-hero small{letter-spacing:.08em;font-weight:800;opacity:.75;font-size:11px}.gw-hero h2{margin:4px 0 10px;font-size:clamp(24px,4vw,38px);line-height:1.05}
.gw-chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.gw-chips .chip{background:rgba(255,255,255,.12);padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700}.l5{display:inline-flex;gap:3px;margin-left:4px}.l5 i{font-style:normal;width:22px;height:22px;border-radius:6px;display:grid;place-items:center;font-size:11px;font-weight:900}.l5 i.w{background:#16a34a}.l5 i.l{background:#dc2626}
.gw-r{text-align:right}.gw-cd{font-size:40px;font-weight:900;line-height:1;display:block;margin-bottom:10px}.gw-cd small{font-size:16px;opacity:.6;margin-right:4px}.gw-btns{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.btn.light{background:#fff;color:#111;border-color:#fff}
.travel{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:12px}.travel small{flex-basis:100%;color:var(--muted)}
.receipts{font-size:12px;margin:0 0 12px;display:flex;gap:6px;align-items:center;color:var(--muted)}
.keyrow{display:flex;gap:10px;align-items:center;margin-bottom:8px}.keyrow b{width:26px;height:26px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;flex:none}.keyrow input{flex:1}
.kpl{display:flex;gap:10px;align-items:flex-start;padding:8px 0;border-top:1px solid var(--line,#eee)}.kpl:first-of-type{border-top:0}.kpl .grow{flex:1;min-width:0}.kpl small{display:block;color:var(--muted)}.kp-n{min-width:30px;height:30px;border-radius:8px;color:#fff;display:grid;place-items:center;font-weight:900;font-size:13px}.kpl input{width:100%;margin-top:4px}.pchip.sel{outline:2px solid var(--accent);background:rgba(214,33,40,.1)}
.mu-pool{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.pchip{display:inline-flex;align-items:center;gap:5px;padding:4px 9px 4px 4px;border-radius:999px;background:var(--card,#fff);border:1px solid var(--line,#e5e5e5);font-size:12px;font-weight:700;cursor:grab;position:relative}.avatar.xs{width:22px;height:22px;font-size:9px}
.jn{font-style:normal;font-size:10px;font-weight:900;background:#0b0b0b;color:#fff;border-radius:4px;padding:0 4px;line-height:15px}.dc .jn{position:absolute;left:4px;top:4px}.dc{position:relative}
.idot{display:inline-block;width:9px;height:9px;border-radius:50%;flex:none}.idot.g{background:#22c55e}.idot.a{background:#f59e0b}.idot.r{background:#dc2626}.dc .idot{position:absolute;right:6px;top:6px}
.mu-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;margin-bottom:16px}.mu{border:1px solid var(--line,#e5e5e5);border-top:4px solid var(--oc);border-radius:12px;padding:10px;background:var(--card,#fff);min-height:92px}.mu.over{outline:2px dashed var(--accent)}.mu-t small{display:block;color:var(--muted)}.mu-us{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}.mu-us .drop-hint{font-size:12px;color:var(--muted)}
.tbl.rot select{min-width:120px;width:100%}.wb{display:grid;grid-template-columns:1fr 1fr;gap:6px;font-size:14px}.wb small{display:block;color:#666}
.gameday{display:block;text-decoration:none;color:#fff;padding:18px 20px;border-radius:16px;margin-bottom:12px;background:linear-gradient(110deg,#0b0b0b 40%,var(--oc));border-left:6px solid var(--accent)}.gameday small{font-weight:900;letter-spacing:.1em;color:#ffb4b4}.gameday b{display:block;font-size:26px}.gameday span{opacity:.75}.gameday i{display:flex;gap:6px;align-items:center;font-style:normal;margin-top:8px;font-weight:700}
.standards{display:flex;gap:12px;align-items:baseline;flex-wrap:wrap;padding:10px 16px;border-radius:12px;background:var(--card,#fff);border:1px solid var(--line,#eee);border-left:4px solid var(--accent);margin-bottom:12px}.standards span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:var(--accent)}.standards em{color:var(--muted);font-style:normal}
.dgrid.three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:14px}@media(max-width:900px){.dgrid.three{grid-template-columns:1fr}}
.rd4{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;text-align:center}.rd4 b{font-size:22px;display:block}.rd4 small{color:var(--muted);font-size:11px}
/* search */
.gs-wrap{position:fixed;inset:0;z-index:125;background:rgba(0,0,0,.4);display:flex;justify-content:center;align-items:flex-start;padding:10vh 16px 16px}.gs{width:min(640px,100%);background:var(--card,#fff);color:var(--text,#111);border-radius:16px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.3)}.gs input{width:100%;border:0;border-bottom:1px solid var(--line,#eee);padding:18px;font-size:17px;outline:0;border-radius:0}#gsr{max-height:60vh;overflow:auto;padding:8px}#gsr p{padding:8px}.gs-hit{display:flex;gap:10px;align-items:center;width:100%;text-align:left;border:0;background:none;padding:10px;border-radius:10px;font:inherit;color:inherit;cursor:pointer;flex-wrap:wrap}.gs-hit:hover,.gs-hit:focus{background:rgba(128,128,128,.12)}.gs-hit small{color:var(--muted);flex-basis:100%;padding-left:2px}
th.gl{cursor:help;text-decoration:underline dotted rgba(128,128,128,.6);text-underline-offset:3px}
/* share page */
.sharepage{max-width:760px;margin:0 auto;padding:24px 16px 80px;position:relative;min-height:100vh;background:#fff;color:#111}.sharepage header{display:flex;gap:10px;align-items:center;flex-wrap:wrap;border-bottom:3px solid var(--accent);padding-bottom:12px;margin-bottom:16px}.sharepage header img{height:40px}.sharepage header span{margin-left:auto;font-size:12px;color:#777}.sharepage .pre,.pre{white-space:pre-wrap}.sharepage::after{content:attr(data-wm);position:fixed;inset:auto 0 40% 0;text-align:center;font-size:22px;font-weight:900;color:rgba(214,33,40,.08);transform:rotate(-18deg);pointer-events:none}
/* drill timer */
#dtimer{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:110;background:#0b0b0b;color:#fff;border-radius:16px;padding:12px;box-shadow:0 10px 30px rgba(0,0,0,.3);display:grid;gap:8px;min-width:220px}#dtimer b{font-size:40px;text-align:center;font-variant-numeric:tabular-nums}#dtimer.done b{color:#ff6b6b;animation:blink .6s infinite}#dtimer div{display:flex;gap:4px;flex-wrap:wrap}#dtimer button{flex:1;border:0;border-radius:8px;padding:8px;background:rgba(255,255,255,.12);color:#fff;font:inherit;font-weight:700;cursor:pointer}@keyframes blink{50%{opacity:.3}}
/* attendance ticks */
.ticks{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}.tick{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;border-radius:12px;border:2px solid var(--line,#e5e5e5);background:var(--card,#fff);font:inherit;color:inherit;cursor:pointer}.tick span{font-size:11px;font-weight:800;text-transform:uppercase;color:var(--muted)}.tick.present{border-color:#16a34a;background:rgba(22,163,74,.08)}.tick.present span{color:#16a34a}.tick.late{border-color:#f59e0b}.tick.late span{color:#b45309}.tick.absent{border-color:#dc2626}.tick.absent span{color:#dc2626}.tick.excused span{color:#2563eb}
/* readiness */
.rdb{display:inline-block;min-width:38px;padding:3px 6px;border-radius:7px;font-weight:900;background:rgba(128,128,128,.15)}.rdb.ok{background:#dcfce7;color:#166534}.rdb.warn{background:#fef3c7;color:#92400e}.rdb.bad{background:#fee2e2;color:#991b1b}
.spark{display:inline-flex;align-items:flex-end;gap:2px;height:24px}.spark i{width:5px;background:#16a34a;border-radius:2px 2px 0 0}.spark i.warn{background:#f59e0b}.spark i.bad{background:#dc2626}
.rdq{margin:10px 0}.rdq b{display:block;margin-bottom:4px}.rdq small{color:var(--muted)}.seg button.on,.rdq .seg button.on{background:var(--accent);color:#fff}
/* rtp */
.rtpb{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;margin-bottom:16px}.rtp{border:1px solid var(--line,#e5e5e5);border-radius:12px;padding:12px;background:var(--card,#fff)}.rtp-h small{display:block;color:var(--muted)}.rtp-s{display:flex;gap:4px;margin:8px 0}.rtp-s button{flex:1;border:0;border-radius:6px;padding:6px 0;background:rgba(128,128,128,.15);font:inherit;font-weight:800;cursor:pointer;color:inherit}.rtp-s button.on{background:#16a34a;color:#fff}
/* analytics, shots, anim */
.court7{width:100%;max-width:520px;display:block;margin:0 auto;touch-action:none;border-radius:10px}.court7 .mk{fill:#16a34a}.court7 .ms{fill:none;stroke:#dc2626;stroke-width:1}.court7.mini{max-width:none}
.pg circle{stroke:#fff;stroke-width:.8;cursor:grab}.pg.o circle{fill:#D62128}.pg.x circle{fill:#111}.pg.ball circle{fill:#f97316;stroke:#000}.pt{font-size:5px;font-weight:900;fill:#fff;text-anchor:middle;pointer-events:none}.mv{stroke:#333;stroke-width:.9;fill:none;stroke-dasharray:2 1.5}.mv.o{stroke:#D62128}
.court7 circle.o{fill:#D62128}.court7 circle.x{fill:#111}.court7 circle.ball{fill:#f97316}
.td.pos,td.pos{color:#16a34a;font-weight:800}td.neg{color:#dc2626;font-weight:800}
/* hustle */
.hgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px}.hp{border:1px solid var(--line,#e5e5e5);border-radius:12px;padding:10px;background:var(--card,#fff)}.hp-h{display:flex;justify-content:space-between;margin-bottom:8px}.hp-h span{font-weight:900;color:var(--accent)}.hp-b{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.hp-b button{border:0;border-radius:9px;padding:10px 4px;background:rgba(128,128,128,.12);font:inherit;font-size:11px;font-weight:700;color:inherit;cursor:pointer;user-select:none;-webkit-user-select:none;touch-action:manipulation}.hp-b button b{display:block;font-size:20px}.hp-b button.pop{background:var(--accent);color:#fff}
/* practice scoring */
.psb{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}.ps-t{border-radius:14px;padding:16px;text-align:center;color:#fff}.ps-t.black{background:#0b0b0b}.ps-t.red{background:#D62128}.ps-t b{display:block;font-size:44px;line-height:1}.psb.small b{font-size:28px}.step{border:1px solid var(--line,#ddd);background:var(--card,#fff);border-radius:8px;width:30px;height:30px;font-weight:900;cursor:pointer;color:inherit}
/* drills */
.kpib{display:grid;gap:5px}.kpib div{display:grid;grid-template-columns:160px 1fr 40px;gap:8px;align-items:center;font-size:13px}.kpib i{height:8px;border-radius:5px;background:var(--accent);display:block;min-width:2px}.kpib b{text-align:right}@media(max-width:600px){.kpib div{grid-template-columns:110px 1fr 30px}}
.dlib{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;margin-top:10px}.dcard{border:1px solid var(--line,#e5e5e5);border-radius:14px;overflow:hidden;background:var(--card,#fff);cursor:pointer;text-align:left;padding:0;font:inherit;color:inherit}.dvid{position:relative;aspect-ratio:16/9;background:#111;display:grid;place-items:center;color:#fff;text-decoration:none}.dvid img{width:100%;height:100%;object-fit:cover}.dvid span{position:absolute;width:44px;height:44px;border-radius:50%;background:rgba(214,33,40,.9);display:grid;place-items:center}.dvid.none{background:rgba(128,128,128,.12);color:var(--muted)}.dbody{padding:10px 12px;display:grid;gap:4px}.dbody small{color:var(--muted)}.tagrow{display:flex;gap:4px;flex-wrap:wrap}
.chips{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}.chips button{border:1px solid var(--line,#ddd);background:var(--card,#fff);border-radius:999px;padding:6px 12px;font:inherit;font-size:13px;font-weight:700;cursor:pointer;color:inherit}.chips button.on{background:var(--ink,#0b0b0b);color:#fff;border-color:var(--ink,#0b0b0b)}.chips small{opacity:.6}
.anim{max-width:760px}
/* recruitment */
.fitb{display:inline-block;font-size:11px;font-weight:900;padding:2px 7px;border-radius:6px;background:rgba(128,128,128,.15);margin:2px 4px 2px 0}.fitb.ok{background:#16a34a;color:#fff}.fitb.warn{background:#f59e0b;color:#fff}
.rng{display:grid;grid-template-columns:120px 1fr 24px;gap:10px;align-items:center}
.poscount{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}.poscount span{padding:5px 10px;border-radius:999px;font-size:12px;font-weight:700;background:rgba(128,128,128,.12)}.poscount .ok{background:#dcfce7;color:#166534}.poscount .warn{background:#fef3c7;color:#92400e}.poscount .bad{background:#fee2e2;color:#991b1b}
.rbw{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:14px}@media(max-width:900px){.rbw{grid-template-columns:1fr}}.rbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px}.rbslot{border:2px dashed var(--line,#ddd);border-radius:12px;padding:8px;min-height:74px}.rbslot.start{border-color:var(--accent)}.rbslot.over{background:rgba(214,33,40,.06)}.rbn{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.rbp{border:1px solid var(--line,#e5e5e5);border-radius:12px;padding:10px;background:var(--card,#fff);max-height:70vh;overflow:auto}.rbp input{width:100%;margin-bottom:8px}.rbc{display:flex;gap:8px;align-items:center;padding:6px;border-radius:9px;background:var(--card,#fff);border:1px solid var(--line,#eee);margin-top:4px;cursor:grab}.rbc.rec{border-left:3px solid #f59e0b}.rbc small{display:block;color:var(--muted);font-size:11px}.rbm{font-weight:800;font-size:12px}
/* budget gauges */
.sgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;margin-bottom:14px}.sg{border:1px solid var(--line,#e5e5e5);border-radius:14px;padding:12px;text-align:center;background:var(--card,#fff);cursor:pointer;display:grid;gap:2px}.sg.on{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent) inset}.sg svg{width:100%;max-width:150px;margin:0 auto}.g0{fill:none;stroke:rgba(128,128,128,.2);stroke-width:9;stroke-linecap:round}.g1{fill:none;stroke:#16a34a;stroke-width:9;stroke-linecap:round}.g1.warn{stroke:#f59e0b}.g1.bad{stroke:#dc2626}.sg small.neg{color:#dc2626;font-weight:800}.sg small.pos{color:#16a34a;font-weight:800}
.btiles.pinned{position:sticky;top:44px;z-index:5;background:var(--bg,#f6f6f4);padding-top:6px}
/* kanban */
.kanban{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}@media(max-width:800px){.kanban{grid-template-columns:1fr}}.kcol{background:rgba(128,128,128,.08);border-radius:14px;padding:10px;min-height:200px}.kcol.over{outline:2px dashed var(--accent)}.kcol h3{margin:4px 4px 10px;font-size:14px}.kcard{background:var(--card,#fff);border-radius:10px;padding:10px;margin-bottom:8px;border:1px solid var(--line,#eee);cursor:grab;display:grid;gap:3px}.kcard.hi{border-left:4px solid var(--accent)}.kcard small{color:var(--muted)}
.gw-next{border-left:4px solid var(--accent);margin-bottom:12px}.gw-next small{font-weight:900;letter-spacing:.08em;color:var(--accent);font-size:11px}.gw-next b{display:block;font-size:18px}
.calsync{margin-top:14px}.digest{white-space:pre-wrap;font:13px/1.5 ui-monospace,Menlo,monospace;margin:0}
/* pdf viewer */
.pdfv{position:fixed;inset:0;z-index:126;background:#111;display:flex;flex-direction:column}.pdfv-h{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;color:#fff}.pdfv-h .icon-btn{color:#fff}.pdfv-b{position:relative;flex:1}.pdfv-b iframe{width:100%;height:100%;border:0;background:#fff}.wm{position:absolute;inset:0;pointer-events:none;display:flex;flex-wrap:wrap;align-content:space-around;justify-content:space-around;overflow:hidden}.wm span{transform:rotate(-24deg);color:rgba(214,33,40,.14);font-weight:900;font-size:15px;white-space:nowrap;padding:30px 20px}
body.night .gs,body.night .wn{background:#17171a;color:#f1f1f3}body.night .standards,body.night .mu,body.night .pchip,body.night .kcard,body.night .dcard,body.night .hp,body.night .rtp,body.night .sg,body.night .rbp,body.night .rbc,body.night .tick{background:#17171a;border-color:#2a2a2f}body.night .btiles.pinned{background:#0d0d0f}
@media(max-width:640px){.gw-r{text-align:left;width:100%}.gw-btns{justify-content:flex-start}.gw-cd{font-size:32px}.ticks{grid-template-columns:repeat(2,1fr)}.hgrid{grid-template-columns:1fr}}
#cdbar{position:static}
.btiles.pinned{top:64px}
@media(max-width:820px){header.top{flex-wrap:wrap;row-gap:8px}header.top h1{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#top-actions{order:9;flex:0 0 100%;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none;-webkit-overflow-scrolling:touch}#top-actions:empty{display:none}#top-actions::-webkit-scrollbar{display:none}#top-actions>*{flex:none;white-space:nowrap}#top-actions .qsearch{display:none}.btiles.pinned{position:static}}
body.k7 #top-actions .qsearch{display:none}
.panel,.dgrid>*,.card{min-width:0}.campaign{max-width:100%}@media(max-width:820px){.tabs{overflow-x:auto;scrollbar-width:none}.tabs button{white-space:nowrap;flex:none}.toolbar{flex-wrap:wrap}}
