:root{--navy:#0A1B36;--navy2:#13294d;--navy3:#1d3a66;--silver:#c5d0dc;--silver2:#e9eef4;--ink:#142033;--muted:#5c6b7d;--line:#d5deea;--accent:#2f74d0;--red:#c8323c;--green:#2e8b57;--gold:#d9a521;--bg:#f3f6fa;--r:16px}
*{box-sizing:border-box}html,body{margin:0}body{font-family:"Source Sans 3","Segoe UI",system-ui,sans-serif;background:var(--bg);color:var(--ink);font-size:16px;line-height:1.45;padding-bottom:calc(72px + env(safe-area-inset-bottom));-webkit-tap-highlight-color:transparent}
h1,h2,h3{font-family:"Barlow Condensed","Arial Narrow",sans-serif;letter-spacing:.01em;margin:0 0 .4rem;color:var(--navy);line-height:1.1}h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.2rem}
a{color:var(--accent)}p{margin:.35rem 0 .7rem}
.top{position:sticky;top:0;z-index:20;background:linear-gradient(180deg,var(--navy),var(--navy2));color:#fff;display:flex;align-items:center;gap:.6rem;padding:calc(.5rem + env(safe-area-inset-top)) 1rem .5rem;border-bottom:2px solid var(--silver)}
.top img{width:38px;height:38px}.top .t{font-family:"Barlow Condensed",sans-serif;font-weight:700;font-size:1.25rem;letter-spacing:.04em;text-transform:uppercase}.top .s{font-size:.72rem;color:var(--silver);letter-spacing:.14em;text-transform:uppercase}
.top button.back{background:none;border:0;color:#fff;font-size:1.6rem;padding:0 .3rem 0 0;cursor:pointer}
main{max-width:720px;margin:0 auto;padding:1rem}
.tabs{position:fixed;bottom:0;left:0;right:0;z-index:30;background:var(--navy);display:grid;grid-template-columns:repeat(5,1fr);padding-bottom:env(safe-area-inset-bottom);border-top:2px solid var(--silver)}
.tabs a{color:var(--silver);text-decoration:none;text-align:center;padding:.55rem 0 .5rem;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.tabs a .i{display:block;font-size:1.3rem;line-height:1.2}.tabs a.on{color:#fff;background:var(--navy3);box-shadow:inset 0 3px 0 var(--silver)}
.hero{position:relative;border-radius:var(--r);overflow:hidden;min-height:200px;background:var(--navy) center/cover;color:#fff;display:flex;align-items:flex-end;margin-bottom:1rem}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,27,54,.15),rgba(10,27,54,.92))}
.hero>div{position:relative;z-index:1;padding:1rem}.hero h1,.hero h2{color:#fff}.hero p{color:var(--silver2);margin:0}
.kick{font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin:0 0 .2rem}.hero .kick{color:var(--silver)}
.credit{position:absolute;z-index:2;top:.4rem;right:.5rem;font-size:.62rem;color:#fff;background:rgba(0,0,0,.45);padding:.1rem .4rem;border-radius:6px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1rem;margin-bottom:.8rem;box-shadow:0 1px 2px rgba(10,27,54,.05)}
.card.navy{background:linear-gradient(135deg,var(--navy),var(--navy3));color:#fff;border:0}.card.navy h2,.card.navy h3{color:#fff}.card.navy p{color:var(--silver2)}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin-bottom:.8rem}
.tile{display:block;position:relative;text-decoration:none;color:#fff;border-radius:14px;overflow:hidden;min-height:132px;background:var(--navy) center/cover}
.tile:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,27,54,.05),rgba(10,27,54,.9))}
.tile span{position:absolute;z-index:1;left:.65rem;right:.65rem;bottom:.55rem;font-family:"Barlow Condensed",sans-serif;font-weight:700;font-size:1.12rem;line-height:1.05}.tile small{display:block;font-family:"Source Sans 3",sans-serif;font-weight:400;font-size:.75rem;color:var(--silver);margin-top:.15rem}
.tile .badge{position:absolute;z-index:1;top:.5rem;left:.5rem;font-style:normal}.grid .tile:last-child:nth-child(odd){grid-column:1/-1}
.row{display:flex;gap:.8rem;align-items:center;text-decoration:none;color:inherit;background:#fff;border:1px solid var(--line);border-radius:14px;padding:.6rem;margin-bottom:.6rem}
.row .th{flex:0 0 76px;height:76px;border-radius:10px;background:var(--navy) center/cover;display:flex;align-items:center;justify-content:center;font-size:2rem;color:#fff}
.row b{display:block;color:var(--navy);font-size:1.02rem}.row small{color:var(--muted)}
.badge{display:inline-block;font-size:.66rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:.15rem .5rem;border-radius:99px;background:var(--silver2);color:var(--navy)}.badge.soon{background:var(--gold);color:var(--navy)}.badge.new{background:var(--accent);color:#fff}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:46px;padding:.55rem 1rem;border-radius:12px;border:0;background:var(--navy);color:#fff;font:inherit;font-weight:700;text-decoration:none;cursor:pointer}
.btn.alt{background:var(--silver2);color:var(--navy)}.btn.red{background:var(--red)}.btn.green{background:var(--green)}.btn.block{width:100%}.btn.sm{min-height:36px;padding:.3rem .7rem;font-size:.9rem}
.btns{display:flex;flex-wrap:wrap;gap:.5rem;margin:.5rem 0}
details{background:#fff;border:1px solid var(--line);border-radius:14px;margin-bottom:.6rem;overflow:hidden}details summary{cursor:pointer;padding:.85rem 1rem;font-weight:700;color:var(--navy);list-style:none;display:flex;justify-content:space-between}details summary:after{content:"+";font-size:1.3rem;line-height:1}details[open] summary:after{content:"–"}details>div{padding:0 1rem .8rem}
ul.clean{padding-left:1.1rem;margin:.3rem 0}ul.clean li{margin:.25rem 0}
table{width:100%;border-collapse:collapse;font-size:.92rem;margin:.4rem 0}th,td{text-align:left;padding:.45rem .4rem;border-bottom:1px solid var(--line)}th{background:var(--silver2);color:var(--navy)}
.cite{font-size:.75rem;color:var(--muted)}
.note{font-size:.85rem;color:var(--muted);background:var(--silver2);border-left:4px solid var(--silver);padding:.6rem .75rem;border-radius:8px;margin:.6rem 0}
.warn{border-left-color:var(--gold);background:#fff8e6}
label{display:block;font-size:.85rem;font-weight:700;color:var(--navy);margin:.55rem 0 .2rem}
input,select,textarea{width:100%;font:inherit;padding:.6rem .7rem;border:1px solid var(--line);border-radius:10px;background:#fff}textarea{min-height:80px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.three{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}
.stat{background:#fff;border:1px solid var(--line);border-radius:14px;padding:.7rem;text-align:center}.stat b{display:block;font-family:"Barlow Condensed",sans-serif;font-size:2rem;color:var(--navy);line-height:1}.stat small{color:var(--muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.08em}
.chk{display:flex;align-items:flex-start;gap:.6rem;padding:.5rem 0;border-bottom:1px solid var(--line)}.chk input{width:22px;height:22px;flex:0 0 22px;margin-top:2px}.chk.done span{text-decoration:line-through;color:var(--muted)}
.vid{position:relative;padding-top:56.25%;border-radius:14px;overflow:hidden;background:#000;margin:.4rem 0}.vid.short{padding-top:177%;max-width:340px;margin:.4rem auto}.vid iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.yt{position:relative;display:block;border-radius:14px;overflow:hidden;background:#000 center/cover;padding-top:56.25%}.yt:before{content:"▶";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:58px;height:58px;border-radius:50%;background:rgba(200,50,60,.92);color:#fff;font-size:1.4rem;display:flex;align-items:center;justify-content:center}
.pill{display:inline-block;padding:.35rem .8rem;border-radius:99px;border:1px solid var(--line);background:#fff;font-weight:700;color:var(--navy);margin:0 .3rem .4rem 0;cursor:pointer;font-size:.9rem}.pill.on{background:var(--navy);color:#fff;border-color:var(--navy)}
footer{text-align:center;color:var(--muted);font-size:.8rem;padding:1.2rem 1rem 1.5rem}footer img{width:44px;opacity:.9}
/* scoreboard */
.sb{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.sb .side{border-radius:14px;padding:.7rem;color:#fff;text-align:center}.sb .r{background:linear-gradient(160deg,#a82730,#7d1d24)}.sb .g{background:linear-gradient(160deg,#2a7a4d,#1d5636)}
.sb .side input{background:rgba(255,255,255,.15);color:#fff;border:0;text-align:center;font-weight:700}.sb .pts{font-family:"Barlow Condensed",sans-serif;font-size:4.2rem;line-height:1;margin:.3rem 0}
.sb .side button{width:100%;margin:.18rem 0;min-height:42px;border-radius:10px;border:0;background:rgba(255,255,255,.18);color:#fff;font:inherit;font-weight:700}.sb .side .bx{display:grid;grid-template-columns:1fr 1fr;gap:.3rem}
.clock{font-family:"Barlow Condensed",sans-serif;font-size:3.6rem;text-align:center;color:var(--navy);line-height:1}.big{font-family:"Barlow Condensed",sans-serif;font-size:4.5rem;text-align:center;color:var(--navy);line-height:1;margin:.5rem 0}
.log{font-size:.85rem;color:var(--muted);max-height:140px;overflow:auto}
.bar{display:flex;align-items:flex-end;gap:6px;height:120px;padding-top:.5rem}.bar div{flex:1;background:linear-gradient(180deg,var(--accent),var(--navy));border-radius:6px 6px 0 0;position:relative;min-height:2px}.bar div i{position:absolute;bottom:-1.2rem;left:0;right:0;text-align:center;font-size:.65rem;color:var(--muted);font-style:normal}.bar div em{position:absolute;top:-1.1rem;left:0;right:0;text-align:center;font-size:.7rem;color:var(--navy);font-style:normal;font-weight:700}
.q button.c{display:block;width:100%;text-align:left;margin:.35rem 0;padding:.75rem;border-radius:12px;border:1px solid var(--line);background:#fff;font:inherit}.q button.c.ok{background:#e4f4ea;border-color:var(--green)}.q button.c.no{background:#fbe6e8;border-color:var(--red)}
.toast{position:fixed;left:50%;bottom:90px;transform:translateX(-50%);background:var(--navy);color:#fff;padding:.6rem 1rem;border-radius:12px;z-index:50;font-weight:700}
.muted{color:var(--muted)}.center{text-align:center}.mt{margin-top:1rem}

.wc{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.wc h4{margin:.2rem 0}.wc ol{margin:0;padding-left:1.6rem;columns:1}.wc li{padding:.1rem 0;font-weight:600}
.bwrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:.6rem -.2rem;padding-bottom:.4rem}.bracket{display:flex;gap:.7rem;min-width:max-content}
.bcol{display:flex;flex-direction:column;justify-content:space-around;gap:.35rem;min-width:96px}.bh{font-size:.72rem;font-weight:800;text-transform:uppercase;color:var(--navy);text-align:center;letter-spacing:.03em}
.bout{border:1.5px solid #c9ced8;border-radius:8px;background:#fff;font-size:.78rem;display:flex;flex-direction:column}.bout span{padding:.25rem .45rem}.bout span+span{border-top:1px solid #e3e6ec}.bout.champ{border-color:var(--navy);text-align:center;font-size:1.2rem}
.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin:.6rem 0;text-align:center}.cal b{font-size:.75rem;color:var(--muted)}
.cd{position:relative;aspect-ratio:1;border:1px solid #e3e6ec;border-radius:8px;background:#fff;font-weight:700;color:var(--navy);padding:2px;font-size:.85rem}.cd.today{border-color:var(--navy);border-width:2px}.cd.sel{background:var(--navy);color:#fff}
.cd i{position:absolute;bottom:3px;left:0;right:0;display:flex;justify-content:center;gap:2px}.cd em,.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#2a7ad6}.cd em.meet,.dot.meet{background:#d4a017}
.bcol{justify-content:flex-start}.bh{height:1.4rem}.bbody{flex:1;display:flex;flex-direction:column;justify-content:space-around;gap:.35rem}
.cd em.lift,.dot.lift{background:#c0392b}

.badge.pro{background:#c0c7d1;color:#0b1f3a;font-weight:800}.tile .badge.pro{position:absolute;top:.5rem;left:.5rem;z-index:2;font-style:normal}
.pw{background:linear-gradient(160deg,#0b1f3a,#16335c);color:#fff;border-radius:18px;padding:1.3rem 1.1rem;margin-bottom:1rem;text-align:center}
.pw h1{color:#fff;font-size:1.6rem;margin:.2rem 0}.pw .kick{color:#c0c7d1;letter-spacing:.15em;font-weight:800;font-size:.8rem}.pwlogo{width:64px;height:auto}
.pwsub{color:#dfe4ea;font-size:.95rem}.pwl{text-align:left;list-style:none;padding:0;margin:1rem 0}.pwl li{padding:.35rem 0 .35rem 1.6rem;position:relative;font-size:.95rem}.pwl li:before{content:"✓";position:absolute;left:0;color:#c0c7d1;font-weight:800}
.pwbtn{display:block;width:100%;border:2px solid #c0c7d1;background:transparent;color:#fff;border-radius:14px;padding:.8rem;margin:.5rem 0;font:inherit;cursor:pointer}.pwbtn b{display:block;font-size:1.05rem}.pwbtn span{font-size:.82rem;color:#c0c7d1}
.pwbtn.main{background:#c0c7d1;color:#0b1f3a}.pwbtn.main span{color:#16335c;font-weight:700}
.pwrow{display:flex;justify-content:center;gap:1.2rem;margin:.6rem 0}.pw .lnk{background:none;border:0;color:#c0c7d1;text-decoration:underline;font:inherit;cursor:pointer}
.pwfine{font-size:.7rem;color:#aab4c2;text-align:left;line-height:1.35}.pw .pwfine a{color:#c0c7d1}
.pwprev{border:2px dashed #ffd166;border-radius:12px;padding:.7rem;margin-top:.8rem;text-align:left}.pwprev b{color:#ffd166}.pwprev small{display:block;color:#aab4c2;margin-top:.3rem}.pwprev .sw{display:flex;gap:.5rem;align-items:center;margin-top:.4rem}
.pwprev .sw input{width:1.3rem;height:1.3rem;margin:0;flex:none}.pwprev .sw{color:#fff;font-weight:600}
/* phase 3 */
.modal{position:fixed;inset:0;background:rgba(10,27,54,.7);z-index:50;display:flex;align-items:center;justify-content:center;padding:1rem}.mbox{background:#fff;border-radius:16px;padding:1rem;max-width:460px;width:100%;max-height:92vh;overflow:auto}
.rate{display:flex;align-items:center;gap:.3rem;margin:.35rem 0}.rate span{width:90px;font-weight:600}.rate button{width:38px;height:38px;border-radius:50%;border:2px solid var(--silver);background:#fff;font-weight:700;color:var(--navy)}.rate button.on{background:var(--navy);color:#fff;border-color:var(--navy)}
table.mini{width:100%;font-size:.85rem;margin-top:.5rem}.cards{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.stc{background:linear-gradient(135deg,var(--navy),var(--navy3));color:#fff;border:2px solid var(--silver);border-radius:12px;padding:.8rem;font-weight:700;min-height:70px;display:flex;align-items:center}
.pbar{height:8px;background:var(--silver2);border-radius:6px;overflow:hidden}.pbar i{display:block;height:100%;background:var(--navy);width:0}.lockc{border:2px dashed var(--silver);display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.wchart{width:100%;height:auto;background:var(--silver2);border-radius:10px}
.sheet{background:#fff;padding:1rem;border:1px solid var(--line);border-radius:10px}.sh-h{display:flex;gap:.6rem;align-items:center;border-bottom:3px solid var(--navy);padding-bottom:.5rem;margin-bottom:.6rem}.sh-h img{width:48px}.ptab{width:100%;border-collapse:collapse}.ptab td,.ptab th{border:1px solid #999;padding:.35rem;vertical-align:top;font-size:.85rem;text-align:left}
@media print{header.top,nav.tabs,footer,.noprint,.toast{display:none!important}body{background:#fff}main{padding:0!important;margin:0!important}.sheet{border:0}}
.sq{display:flex;flex-direction:column;gap:.2rem;padding:.4rem 0;border-bottom:1px solid var(--line)}
.lb tr.me{background:#e4ecf8;font-weight:700}.lb td,.lb th{padding:.25rem .3rem;text-align:left}
.crumbs{font-size:.8rem;color:var(--muted);margin:.2rem 0 .5rem}.crumbs a{color:var(--navy3);text-decoration:none;font-weight:600}
h2.grp{font-size:1rem;text-transform:uppercase;letter-spacing:.08em;color:var(--navy3);border-bottom:2px solid var(--silver);padding-bottom:.2rem}
.row.xl .th.ic{display:flex;align-items:center;justify-content:center;font-size:1.4rem;background:var(--silver2)}.srch{margin:.6rem 0}.srch input{width:100%}
.q button.c:disabled{opacity:1;color:var(--ink)}
.mtt{width:100%;border-collapse:collapse;font-size:.85rem}.mtt td,.mtt th{padding:.25rem .3rem;border-bottom:1px solid #e5e8ec;text-align:left}.mts td:not(:first-child),.mts th:not(:first-child){text-align:center}
.stcb{flex-direction:column;align-items:center;text-align:center;gap:.35rem;padding:.7rem .5rem}.stcl{width:54px;height:auto}.stcbtn{display:flex;gap:.4rem;justify-content:center}.stcbtn .lnk{color:var(--gold);font-size:.75rem;background:none;border:0;padding:.2rem;cursor:pointer;text-decoration:underline}
.stfs{position:fixed;inset:0;z-index:9999;background:radial-gradient(circle at 50% 40%,#1d3a66,#0A1B36 70%);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1rem;color:#fff}
.stfs .stcard{width:min(88vw,460px);min-height:58vh;border:3px solid var(--gold);border-radius:24px;background:linear-gradient(160deg,#13294d,#0A1B36);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.2rem;padding:1.5rem;transition:transform .22s;box-shadow:0 10px 40px rgba(0,0,0,.5)}
.stfs .stcard.flip{transform:rotateY(90deg)}.stfs .stfl{width:150px;height:auto}.stfs .stt{font:900 clamp(2rem,9vw,3.4rem)/1.1 system-ui,sans-serif;text-transform:uppercase;text-align:center}.stfs .stn{color:var(--silver)}
.stfs .stx{position:absolute;top:max(1rem,env(safe-area-inset-top));right:1rem;background:rgba(255,255,255,.15);color:#fff;border:0;border-radius:50%;width:44px;height:44px;font-size:1.2rem}.stfs .stnav{display:flex;gap:1rem;margin-top:1.2rem}.stfs .sth{color:var(--silver);font-size:.85rem;margin-top:.8rem;text-align:center}
.stfs .stnav .btn:not(.alt){background:var(--gold);color:#0A1B36}
