:root{--bg:#07111F;--bg2:#0E1B2E;--card:#101C2F;--card2:#13233A;--ink:#F5F7FA;--ink-soft:#C6D2E1;--muted:#91A4BD;--faint:#5E708A;--line:rgba(145,164,189,.14);--line-soft:rgba(145,164,189,.09);--line-strong:rgba(145,164,189,.26);--brand:#B7FF2A;--brand-strong:#A6EE19;--brand-tint:rgba(183,255,42,.12);--blue:#36D6FF;--blue-tint:rgba(54,214,255,.12);--green:#2EFFA3;--green-tint:rgba(46,255,163,.12);--yellow:#FFC24B;--yellow-tint:rgba(255,194,75,.13);--red:#FF5C7A;--red-tint:rgba(255,92,122,.12);--radius:18px;--radius-sm:12px;--shadow-sm:0 1px 0 rgba(255,255,255,.03) inset,0 18px 40px -24px rgba(0,0,0,.8);--glow:0 0 0 1px rgba(183,255,42,.35),0 12px 40px -14px rgba(183,255,42,.45);--font:"Manrope",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;min-height:100vh}body:before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.5;background-image:radial-gradient(900px 500px at 85% -4%,rgba(54,214,255,.1),transparent 60%),radial-gradient(760px 460px at 5% 6%,rgba(183,255,42,.08),transparent 55%)}body>*{position:relative;z-index:1}::selection{background:var(--brand);color:#07111F}a{color:inherit;text-decoration:none}.shell{padding:4px 16px 92px}.brandbar,.shell{max-width:720px;margin:0 auto}.brandbar{padding:14px 16px 2px}.brand{font-size:15px;font-weight:800;letter-spacing:.14em;color:var(--brand);text-transform:uppercase}.brand .d{color:var(--ink)}.topbar{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:6px 0 16px}.topbar h1{font-size:22px;margin:0;font-weight:800;letter-spacing:-.02em}.topbar .who{color:var(--muted);font-size:14px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px;margin-bottom:12px;box-shadow:var(--shadow-sm)}.card h2{margin:0 0 4px;font-size:17px;font-weight:750;letter-spacing:-.01em}.card .meta{color:var(--muted);font-size:14px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line-strong);border-radius:999px;cursor:pointer;font-size:15px;font-weight:700;padding:11px 18px;background:rgba(245,247,250,.04);color:var(--ink);transition:background .15s,box-shadow .2s,transform .15s;font-family:inherit}.btn:hover{background:rgba(245,247,250,.08)}.btn:active{transform:translateY(1px)}.btn.primary{background:var(--brand);color:#07111F;border-color:transparent}.btn.primary:hover{box-shadow:var(--glow);background:var(--brand)}.btn.big{display:flex;width:100%;padding:14px}.row{gap:8px;align-items:center;flex-wrap:wrap}.list,.row{display:flex}.list{flex-direction:column}.list>a,.list>div,.list>form{padding:13px 4px;border-bottom:1px solid var(--line-soft)}.list>a:last-child,.list>div:last-child,.list>form:last-child{border-bottom:none}form.stack{gap:11px}form.stack,form.stack label{display:flex;flex-direction:column}form.stack label{font-size:14px;color:var(--muted);gap:5px}.row input,.row select,.row textarea,form.stack input,form.stack select,form.stack textarea{font-size:16px;padding:11px 13px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:rgba(7,17,31,.55);color:var(--ink);font-family:inherit}input::placeholder,textarea::placeholder{color:var(--faint)}form.stack textarea{resize:vertical}.msg p{line-height:1.5;white-space:pre-wrap}.bullets{margin:6px 0 0;padding-left:20px;line-height:1.6}.bullets li{margin:3px 0}.quiet{color:var(--muted);font-size:14px;line-height:1.5}.hero{text-align:center;padding:34px 16px 14px}.hero .logo{font-size:32px;font-weight:800;letter-spacing:.12em;color:var(--brand);text-transform:uppercase}.hero .tagline{color:var(--muted);margin-top:6px;font-size:15px}.banner{background:var(--yellow-tint);color:var(--yellow);border:1px solid var(--line);border-radius:var(--radius-sm);padding:10px 12px;font-size:14px;margin-bottom:12px}.banner.err{background:var(--red-tint);color:var(--red)}.banner.ok{background:var(--brand-tint);color:var(--brand)}.spread{display:flex;justify-content:space-between;align-items:center;gap:10px}.section-title{font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);font-weight:700;margin:20px 0 9px}.pill{display:inline-flex;align-items:center;border-radius:999px;padding:4px 12px;font-size:12.5px;font-weight:700}.pill.green{background:var(--brand-tint);color:var(--brand)}.pill.yellow{background:var(--yellow-tint);color:var(--yellow)}.pill.red{background:var(--red-tint);color:var(--red)}.pill.none{background:rgba(245,247,250,.06);color:var(--muted)}button.pill{cursor:pointer;border:none;font-family:inherit}.semafor{display:flex;gap:16px;margin-top:10px;font-size:15px;flex-wrap:wrap}.dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px}.dot.green{background:var(--brand)}.dot.yellow{background:var(--yellow)}.dot.red{background:var(--red)}.dot.none{background:var(--line-strong)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));grid-gap:10px;gap:10px}.tile{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--card2);padding:14px 10px;text-align:center;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;font-size:15px;font-weight:700;min-height:84px;color:var(--ink);font-family:inherit;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;transition:transform .1s ease,border-color .15s ease,background .15s ease}.tile:active{transform:scale(.97)}.tile .face{font-size:22px}.tile.present{border-color:var(--brand);background:var(--brand-tint);color:var(--brand)}.tile.late{border-color:var(--yellow);background:var(--yellow-tint);color:var(--yellow)}.tile.excused{border-color:var(--blue);background:var(--blue-tint);color:var(--blue)}.tile.absent{border-color:var(--line);opacity:.45}.tiles{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:8px;gap:8px;margin-bottom:12px}.tile-stat{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-sm);padding:12px 6px;text-align:center;box-shadow:var(--shadow-sm)}.tile-val{font-size:22px;font-weight:800;color:var(--ink);line-height:1.1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tile-val.warn{color:var(--red)}.tile-label{font-size:11.5px;color:var(--muted);margin-top:3px}@media (max-width:520px){.tiles{grid-template-columns:repeat(2,1fr)}}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:50;display:flex;justify-content:center;background:rgba(7,17,31,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--line)}.tabbar .inner{display:flex;width:100%;max-width:720px}.tabbar a{flex:1 1;text-align:center;padding:9px 4px calc(9px + env(safe-area-inset-bottom));color:var(--muted);text-decoration:none;font-size:11.5px;font-weight:650}.tabbar a .ic{display:block;font-size:19px;line-height:1.3}.tabbar a.active{color:var(--brand)}.heat{width:100%;border-collapse:collapse;font-size:13px}.heat th{text-align:center;font-weight:650;color:var(--muted);font-size:11.5px;padding:4px 3px}.heat td.name,.heat th.name{text-align:left}.heat td{padding:5px 3px;text-align:center;border-top:1px solid var(--line-soft)}.heat td a{color:var(--ink)}.cell{display:inline-block;min-width:38px;padding:3px 6px;border-radius:7px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cell.green{background:var(--brand-tint);color:var(--brand)}.cell.yellow{background:var(--yellow-tint);color:var(--yellow)}.cell.red{background:var(--red-tint);color:var(--red)}.cell.none{background:rgba(245,247,250,.06);color:var(--muted)}.spark{display:flex;align-items:flex-end;gap:3px;height:46px}.spark .bar{flex:1 1;background:linear-gradient(180deg,var(--brand),rgba(183,255,42,.35));border-radius:3px 3px 0 0;min-height:2px}.zbar{display:flex;align-items:center;gap:8px;margin:3px 0;font-size:13px}.zbar .track{flex:1 1;height:10px;background:rgba(245,247,250,.07);border-radius:6px;overflow:hidden}.zbar .fill{height:100%;background:linear-gradient(90deg,var(--blue),var(--brand))}.lp{max-width:1100px;margin:0 auto;padding:0 20px 80px}.lp-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 0}.lp-hero{padding:42px 0 26px;text-align:center}.lp-kicker{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:6px 12px;border-radius:999px;display:inline-flex;align-items:center;gap:7px;color:var(--brand);background:var(--brand-tint)}.lp-hero h1{font-size:clamp(34px,7vw,60px);line-height:1.04;letter-spacing:-.03em;font-weight:800;margin:18px 0 0}.lp-hero h1 .accent{color:var(--brand)}.lp-sub{color:var(--ink-soft);font-size:clamp(16px,2.2vw,19px);max-width:640px;margin:16px auto 0;line-height:1.55}.lp-ctas{gap:10px;margin-top:26px}.lp-chips,.lp-ctas{display:flex;justify-content:center;flex-wrap:wrap}.lp-chips{gap:8px;margin-top:22px}.lp-chip{font-size:13px;font-weight:650;color:var(--muted);border:1px solid var(--line);background:rgba(245,247,250,.03);border-radius:999px;padding:7px 14px}.lp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));grid-gap:12px;gap:12px;margin-top:40px}.lp-feature{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow-sm)}.lp-feature .ic{font-size:22px}.lp-feature h3{margin:10px 0 6px;font-size:16.5px;font-weight:750;letter-spacing:-.01em}.lp-feature p{margin:0;color:var(--muted);font-size:14.5px;line-height:1.6}.lp-section-h{text-align:center;margin:56px 0 6px;font-size:clamp(24px,4vw,34px);font-weight:800;letter-spacing:-.02em}.lp-section-sub{text-align:center;color:var(--muted);margin:0 auto;max-width:560px;line-height:1.6}.lp-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));grid-gap:12px;gap:12px;margin-top:26px}.lp-step{background:var(--card2);border:1px solid var(--line);border-radius:var(--radius);padding:18px}.lp-step .n{width:30px;height:30px;border-radius:999px;background:var(--brand);color:#07111F;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:14px}.lp-step h4{margin:10px 0 5px;font-size:15.5px;font-weight:750}.lp-step p{margin:0;color:var(--muted);font-size:14px;line-height:1.55}.lp-cta{margin-top:56px;text-align:center;background:var(--card);border:1px solid var(--line-strong);border-radius:var(--radius);padding:38px 22px;box-shadow:var(--shadow-sm)}.lp-cta h2{margin:0 0 8px;font-size:clamp(22px,4vw,30px);font-weight:800;letter-spacing:-.02em}.lp-foot{text-align:center;color:var(--faint);font-size:13px;margin-top:34px}