/* SwimCore unified dark theme (overrides the earlier light trial). Colors only. */
:root{--bg:#061a33;--card:#0d294a;--cb:#21486f;--txt:#fff;--mut:#9fb8d2;--cy:#14d9ff;--bl:#087cff;--pri:linear-gradient(110deg,#14d9ff,#087cff);--prit:#00121e}
body{background:#061a33;color:#fff}
header{background:#041427;border-bottom:1px solid #12314a;color:#fff}header small,.muted,.hint{color:#9fb8d2}
.card,.newsFeature,.signinStrip,.loginpanel{background:#0d294a;border-color:#21486f;box-shadow:none;color:#fff}
button{background:#173d68;color:#fff}.ghost{background:#17436f;color:#fff}
.primary,.loginwide.primary,button.primary{background:var(--pri);color:var(--prit);font-weight:800}
.logininput,.feedback,input,select,textarea{background:#0a2240;color:#fff;border-color:#21486f}
input::placeholder,textarea::placeholder{color:#7f9fb4}
.back{color:#7ec0ff}.tag{background:#12385f;color:#cfe7ff}
.tabs span{background:#0d294a;color:#9fb8d2;border:1px solid #21486f}.tabs .active{background:var(--pri);color:#00121e;border-color:transparent}
.times span,.evalgrid span{background:#0a2240;color:#9fb8d2}.times b,.evalgrid b{color:#fff}
.anbar{background:#12385f}
.scside{background:#041427;border-right-color:#12314a;box-shadow:4px 0 18px rgba(0,0,0,.35)}.scbrand{color:#fff;display:flex;align-items:center;gap:10px}.scbrand small{color:#8fc3de}.scside button{color:#cfe7ff;background:transparent}.scside button:hover{background:#0d294a}
.importset{border-bottom-color:#21486f}.importset span,.setgrid label,.setedit label{color:#9fb8d2}
.attStats b{background:#0a2240;color:#fff}.attWeek{color:#9fb8d2}.attDay{border-color:#21486f;background:#0a2240;color:#fff}.attDay.future{background:#081b33;opacity:.45}
.attPickBtns button{background:#0d294a;color:#fff;border-color:#21486f}
table,th,td{border-color:#21486f}
h1,h2,h3,h4,label,b,strong{color:inherit}
.pill{background:#0b6948;color:#78ffc2}
/* brand pieces */
header .hdBrand{display:flex;align-items:center;gap:10px}.hdLogo{width:34px;height:34px;border-radius:9px;object-fit:cover}
.scLogo{width:30px;height:30px;border-radius:8px}
.navHero{display:flex;align-items:center;gap:18px;background:radial-gradient(ellipse at 20% 0,#0b3a66,#041427);border:1px solid #12314a}
.navLogo{width:92px;height:92px;object-fit:contain;border-radius:12px;flex:none}.navCompact .navLogo{width:64px;height:64px}
.navTxt h1{margin:0}.navTxt p{margin:4px 0 0;color:#8fc3de}
@media(max-width:560px){.navHero{flex-direction:column;text-align:center;gap:8px}.navLogo{width:120px;height:120px}.navCompact .navLogo{width:80px;height:80px}}
.waBtn{background:#25D366;color:#fff;display:inline-flex;align-items:center;gap:8px;font-weight:800}
.logoHero{width:min(300px,78%);margin:0 auto 14px}.homecopy{align-items:center;text-align:center}
.lgSvg{width:100%;height:auto;display:block}
/* home-page motion (only while body.fx-home is set by home-fx.js) */
html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}
body.fx-home .homehero .primary,body.fx-home .signinStrip .primary{position:relative;overflow:hidden}
body.fx-home .homehero .primary::after,body.fx-home .signinStrip .primary::after{content:"";position:absolute;top:0;bottom:0;width:40%;left:-60%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-18deg);animation:fxShine 2.8s ease-in-out infinite;pointer-events:none}
@keyframes fxShine{0%,55%{left:-60%}100%{left:130%}}
body.fx-home .homeSection .card.tap{transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
body.fx-home .homeSection .card.tap:hover{transform:translateY(-6px) scale(1.02);border-color:#14d9ff;box-shadow:0 14px 34px rgba(20,217,255,.18)}
body.fx-home .homehero .loginbtn,body.fx-home .signinStrip .primary{transition:transform .15s ease}
body.fx-home .homehero .loginbtn:active,body.fx-home .signinStrip .primary:active{transform:scale(.96)}
@media(prefers-reduced-motion:reduce){body.fx-home .homehero .primary::after,body.fx-home .signinStrip .primary::after{display:none}}
.homehero{background:#000710!important;border:1px solid #0d2b4d}
.logoHero{-webkit-mask-image:linear-gradient(to right,transparent,#000 7%,#000 93%,transparent),linear-gradient(to bottom,transparent,#000 7%,#000 93%,transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,transparent,#000 7%,#000 93%,transparent),linear-gradient(to bottom,transparent,#000 7%,#000 93%,transparent);mask-composite:intersect}
.lg-lit{opacity:0;animation-name:lgOn;animation-fill-mode:forwards;animation-timing-function:linear}
.lg-bloomcopy{opacity:.75;mix-blend-mode:screen}
@keyframes lgOn{0%{opacity:0}12%{opacity:.9}20%{opacity:.25}32%{opacity:1}42%{opacity:.55}60%,100%{opacity:1}}
.lg-final{opacity:0;animation:lgFin 1.2s ease 3.7s forwards}@keyframes lgFin{to{opacity:1}}
.lg-done .lg-lit,.lg-done .lg-final{animation:none;opacity:1}
@media(prefers-reduced-motion:reduce){.lg-lit,.lg-final{animation:none;opacity:1}}
/* login page */
.box{background:rgba(6,26,51,.82)!important;color:#fff}.box h1,.box h2,.box h3{color:#fff!important}.box p,.box .msg{color:#9fb8d2}.box .msg{color:#ff9a9a}
.box label,.box label[style]{color:#cfe7ff!important}.box span[style]{color:#9fb8d2!important}
.box div[style*="border:1px solid"]{background:rgba(255,255,255,.05)!important;border-color:#21486f!important}
.box h3[style]{color:#fff!important}
.box .inp{background:#0a2240;color:#fff;border-color:#21486f}
.box .btn,#setup .btn{background:var(--pri);color:var(--prit)}.box .btn.alt{background:#17436f;color:#fff}
.brand{display:flex;justify-content:center}.lgl{width:170px;height:170px;object-fit:contain;border-radius:14px;margin-bottom:6px}
.role,#setup .role{background:#0d294a!important;border-color:#21486f!important;color:#fff}.role.on,#setup .role.on{border-color:#14d9ff!important;background:#10345c!important}
.roleText,.roleText b{color:#fff!important}.roleText small{color:#cfe3f5!important;text-shadow:none!important}
.setupHero strong{color:#fff}
/* inline-colored spots that assumed a light page */
.card[style*="#f7fbff"]{background:#0a2240!important}
div[style*="background:white;border-radius:50%"]{background:#0d294a!important;color:#fff}
[style*="cursor:move"]{color:#102a43}
.card[style*="background:#fffbeb"],.card[style*="background:#fff6f6"],.card[style*="background:#fff7e0"]{color:#102a43}
.card[style*="background:#fffbeb"] .muted,.card[style*="background:#fff6f6"] .muted,.card[style*="background:#fff7e0"] .muted,.card[style*="background:#fff6f6"] small,.card[style*="background:#fffbeb"] small{color:#5b7a99}