:root{--bg:#fcfdfb;--txt:#142f38;--muted:#45616c;--panel:#fff;--panel2:#f0f8fa;--line:#dbe5e6;--gold:#096e86}
body{background:var(--bg);font-family:'DM Sans',Arial,sans-serif;font-size:14px;font-weight:500}.sidebar{width:250px;padding:20px 20px 28px;background:#f8fbfa}.brand{padding:0 5px 24px;margin:0 0 15px;border:0}.nova-logo{max-height:170px}.nav{padding:16px 13px;margin:5px 0;border-radius:10px;font-size:13px;font-weight:800}.nav.active{background:#e6f3f6;color:#173e49;box-shadow:inset 3px 0 #178fa8}.side-label{font-size:10px;color:#566b72;letter-spacing:2px}.admin-label{margin-top:32px}.topbar{height:86px;background:var(--bg);padding:0 40px}.eyebrow{font-size:10px;letter-spacing:2.7px;color:#35545e}.pill,.outline-btn{font-size:10px;font-weight:800}#app{padding:34px 40px 70px;max-width:1600px}.home-hero{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(270px,1fr);align-items:center;gap:35px;min-height:460px;padding:30px 0 55px;border-bottom:1px solid var(--line)}.kicker{color:#345d68;letter-spacing:2.2px;font-size:10px;font-weight:800}.home-hero h1{font-family:'Outfit',Arial,sans-serif;font-weight:800;font-size:clamp(35px,3.75vw,62px);letter-spacing:-2.2px;line-height:1.08;margin:30px 0 25px;color:#102c35}.home-hero h1 em{font-style:normal;color:#0785a3}.hero-copy>p{font-size:16px;font-weight:600;line-height:1.8;max-width:610px;color:#3e5861}.home-actions{display:flex;align-items:center;gap:20px;margin-top:32px;flex-wrap:wrap}.home-actions .action{padding:20px 24px;display:flex;gap:30px;align-items:center;background:#fa7f00;border-radius:10px;color:#311e07;font-weight:800}.home-actions .action span{font-size:24px}.home-actions .link-btn{font-size:13px;font-weight:800;color:#245a67}.hero-art{height:330px;position:relative;display:grid;place-items:center;isolation:isolate}.art-disc{position:absolute;width:285px;height:285px;top:5px;left:0;border-radius:50%;background:#e0f4f7;z-index:-2}.art-orbit{position:absolute;right:-10px;top:55px;width:270px;height:240px;border:1px solid #e4b894;border-radius:50%;transform:rotate(20deg);z-index:-1}.art-card{width:265px;background:white;border:1px solid #e1e8e8;box-shadow:0 16px 40px #173a4312;border-radius:26px;padding:32px 16px;transform:rotate(-5deg)}.art-card svg{width:100%;max-height:none}.art-star{position:absolute;right:0;top:10px;color:#d86d25;font-size:50px;font-weight:400}.art-caption{position:absolute;right:-5px;bottom:-1px;padding:14px 17px;background:#fff2df;border:1px solid #efd9b9;font-size:9px;letter-spacing:1.5px;font-weight:800;color:#6c4c27;transform:rotate(-4deg)}.disciplines{padding-top:34px}.disciplines .section-heading{margin:12px 0 26px;align-items:baseline}.section-heading h2,.panel h3,.format-card b,.bench-head b{font-family:'Outfit',Arial,sans-serif;font-weight:700}.disciplines h2{font-size:32px;letter-spacing:-1px}.section-heading p{font-weight:600}.orange{color:#ed7700}.discipline-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.discipline-card{text-align:left;border:1px solid #d9e4e6;border-radius:16px;background:#fff;padding:24px 22px 0;color:#203c45;display:flex;flex-direction:column;transition:transform .15s,border-color .15s}.discipline-card:nth-child(3n+2){background:#f0f8fa}.discipline-card:hover{transform:translateY(-4px);border-color:#1bb4de;box-shadow:0 12px 28px #143c4909}.discipline-top{display:flex;align-items:center;justify-content:space-between;font:700 35px 'Outfit',sans-serif;color:#087e98}.card-arrow{display:grid;place-items:center;border:1px solid #cfdee2;border-radius:50%;font-size:22px;width:32px;height:32px;font-weight:400}.discipline-card h3{font:800 25px 'Outfit',sans-serif;margin:29px 0 7px;color:#153640}.discipline-card b{font-size:12px}.discipline-card p{font-size:12px;line-height:1.8;margin:22px 0 28px;min-height:44px}.card-footer{border-top:1px solid #e3ebed;padding:17px 0;display:flex;justify-content:space-between;font-size:11px;font-weight:800;margin-top:auto}.login-layout{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;min-height:600px}.login-intro h1{font:800 48px/1.1 'Outfit',sans-serif;letter-spacing:-1.5px}.login-intro em{font-style:normal;color:#0785a3}.login-intro>p{font-size:16px;line-height:1.8}.login-card{padding:34px;max-width:480px;width:100%;margin:20px auto}.login-card h2{font:700 28px 'Outfit',sans-serif}.login-lock{color:#0785a3;font-size:36px}.login-card form{margin-top:25px}.login-card .action{width:100%}.form-message{color:#a33b16;line-height:1.6}.account-actions{display:flex;gap:10px;flex-wrap:wrap}.admin-tabs{flex-wrap:wrap}.action:disabled{opacity:.5;cursor:not-allowed}.action{background:#fa7f00;color:#291904}.action.secondary{background:#e5f4f8;color:#075c72}.hero h1{font-family:'Outfit',Arial,sans-serif;font-weight:800}input,select,textarea{max-width:100%}.format-pick{grid-template-columns:repeat(3,1fr)}.form-row{min-width:0}.field{min-width:0}.login-card .mini{line-height:1.7}
@media(min-width:1600px){.sidebar{width:280px}.home-hero{min-height:520px}.hero-art{height:360px}.art-card{width:310px}.art-disc{width:330px;height:330px}}
@media(max-width:1150px){.home-hero{gap:18px;grid-template-columns:minmax(0,1.3fr) minmax(230px,1fr)}.art-card{width:215px}.art-disc{width:235px;height:235px}.art-orbit{width:220px}.art-caption{font-size:8px;padding:10px}.home-hero h1{font-size:39px}.sidebar{width:215px}#app{padding:25px}.login-layout{gap:20px}.login-intro h1{font-size:38px}}
@media(max-width:900px){.hero-art{display:none}.home-hero{display:block;min-height:0;padding:25px 0 38px}.home-hero h1{font-size:44px}.discipline-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.disciplines .section-heading{display:block}.login-layout{grid-template-columns:1fr;gap:10px}.login-intro{max-width:520px}.login-intro h1{font-size:34px}.login-card{margin:0}}
@media(max-width:700px){.sidebar{width:245px;overflow-y:auto}.topbar{height:65px;padding:0 18px}#app{padding:24px 19px 50px}.home-hero h1{font-size:38px;letter-spacing:-1.5px}.hero-copy>p{font-size:14px}.home-actions{gap:16px}.home-actions .action{padding:16px 18px;gap:18px}.disciplines h2{font-size:27px}.discipline-card{padding:20px 17px 0}.discipline-card h3{font-size:22px}.discipline-top{font-size:30px}.login-card{padding:24px}.format-pick{grid-template-columns:repeat(2,1fr)}.event-card{flex-wrap:wrap}.section-heading{flex-wrap:wrap}}
@media(max-width:390px){.discipline-grid{grid-template-columns:1fr}.home-hero h1{font-size:34px}}
/* Weekly student highlights */
.weekly-section{padding:38px 0 32px;border-bottom:1px solid var(--line)}.weekly-heading{align-items:center;margin:12px 0 25px;gap:20px}.weekly-heading h2{font:700 30px/1.15 'Outfit',Arial,sans-serif;letter-spacing:-.7px}.weekly-heading p{margin:10px 0 0;font-size:13px;line-height:1.6}.week-date{font-size:12px;font-weight:800;color:#256171;background:#eaf6f8;border:1px solid #d2e8ed;border-radius:10px;padding:12px 16px;white-space:nowrap}.week-date small{display:block;font-size:8px;letter-spacing:1.5px;margin-top:6px;color:#52727d}.weekly-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.weekly-card{min-width:0;background:#fff;border:1px solid #d6e5e8;border-radius:16px;display:flex;flex-direction:column;padding:22px 22px 0;overflow:hidden}.weekly-card.has-winner{background:linear-gradient(150deg,#f0fafc 0%,#fff 70%);border-top:3px solid #1bb4de}.weekly-card-top{display:flex;justify-content:space-between;align-items:center;gap:14px;padding-bottom:18px;border-bottom:1px solid #dfebed}.weekly-card-top h3{font:800 20px 'Outfit',sans-serif;color:#10667b;margin:0 0 5px}.weekly-card-top div>span{font-size:11px;color:#506773}.weekly-star{font-size:24px;width:40px;height:40px;display:grid;place-items:center;background:#fff2e2;color:#d96800;border-radius:12px}.weekly-award-label{margin:21px 0 14px;color:#9b510d;font-size:9px;font-weight:800;letter-spacing:1.5px}.weekly-winners{display:flex;flex-direction:column;gap:13px}.weekly-winner{display:flex;gap:11px;align-items:center;min-width:0}.weekly-initial{flex:0 0 36px;width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:#dff3f8;color:#096a82;font:700 17px 'Outfit',sans-serif}.weekly-winner>div{min-width:0}.weekly-winner h4{font:700 18px/1.3 'Outfit',sans-serif;color:#183a45;margin:0;overflow-wrap:anywhere}.weekly-winner p{font-size:10px;color:#516e78;margin:5px 0 0;line-height:1.6}.weekly-points{display:flex;align-items:center;gap:10px;padding:22px 0 20px;margin-top:auto}.weekly-points strong{font:800 42px/1 'Outfit',sans-serif;letter-spacing:-1.5px;color:#087e98}.weekly-points>span{font-size:12px;font-weight:700;color:#3d606c}.weekly-points small{display:block;font-size:9px;font-weight:500;margin-top:5px}.weekly-link{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 0;border-top:1px solid #dfebed;color:#17657b;font-size:11px;font-weight:700;text-align:left;margin-top:auto}.weekly-empty{padding:24px 0;min-height:154px}.weekly-empty strong{font:600 17px 'Outfit',sans-serif;color:#365a67}.weekly-empty p{font-size:12px;color:#506773;line-height:1.8;margin:9px 0}.weekly-empty>span{font-size:10px;color:#607b86}.weekly-rule{font-size:11px;line-height:1.9;color:#516e78;max-width:950px;margin:20px 0 0}
@media(max-width:1100px){.weekly-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.weekly-heading{flex-wrap:wrap}.weekly-heading h2{font-size:27px}}
@media(max-width:700px){.weekly-section{padding-top:30px}.weekly-heading{display:block}.week-date{display:inline-block;margin-top:16px}.weekly-grid{grid-template-columns:1fr}.weekly-heading h2{font-size:26px}.weekly-card{padding:21px 21px 0}.weekly-points strong{font-size:40px}}
