@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Plus+Jakarta+Sans:wght@600;700;800&family=Orbitron:wght@700;800&family=Playfair+Display:ital,wght@1,700;1,800&display=swap');
:root{--blue:#1e40af;--ink:#15223f;--muted:#748095;--green:#10b981;--line:#e6ebf2;--bg:#f5f7fb}*{box-sizing:border-box}body{margin:0;font:15px/1.55 Inter,Arial,sans-serif;color:var(--ink);background:var(--bg)}button,input,select,textarea{font:inherit}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #10b981;outline-offset:3px}h1,h2,h3,p{margin:0}h1{font-size:32px;line-height:1.25;letter-spacing:-1.2px}h2{font-size:21px;letter-spacing:-.5px}h3{font-size:16px}p{color:var(--muted)}small,.small{font-size:12px;color:var(--muted)}.icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;font-size:19px;font-weight:500}.brand{display:flex;align-items:center;gap:11px;font-size:17px;font-weight:800;letter-spacing:-.5px}.brand small{display:block;font-size:10px;letter-spacing:2px;font-weight:600}.logo{width:39px;height:43px;display:grid;place-items:center;background:var(--blue);color:white;font-size:29px;clip-path:polygon(50% 0,96% 18%,89% 73%,50% 100%,11% 73%,4% 18%)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--blue);color:white;border:1px solid var(--blue);padding:11px 19px;border-radius:8px;font-weight:600;font-size:14px}.btn:hover{filter:brightness(.95);transform:translateY(-1px)}.btn.secondary{background:white;color:var(--ink);border-color:#dde3ed}.btn.green{background:var(--green);border-color:var(--green)}.btn.text{background:none;border:0;color:var(--blue);padding:7px 0}.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 9px;border-radius:5px;background:#edf2ff;color:var(--blue);font-size:12px;font-weight:600}.badge.green{background:#e5f8ef;color:#087c55}.badge.gold{background:#fff4d6;color:#9b710a}.row{display:flex;align-items:center;gap:14px}.between{justify-content:space-between}.stack{display:grid;gap:20px}.card{background:white;border:1px solid var(--line);border-radius:12px;padding:24px;box-shadow:0 3px 6px #10244a02}.grid2{display:grid;grid-template-columns:1.6fr 1fr;gap:22px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.muted{color:var(--muted)}.eyebrow{font-size:12px;font-weight:700;letter-spacing:1.7px;text-transform:uppercase;color:var(--blue)}.avatar{display:grid;place-items:center;background:#e8edff;color:var(--blue);width:38px;height:38px;border-radius:50%;font-weight:700;font-size:12px}.avatar.big{width:70px;height:70px;font-size:22px}.sidebar{width:234px;background:white;border-right:1px solid var(--line);position:fixed;inset:0 auto 0 0;padding:28px 18px;display:flex;flex-direction:column;z-index:20}.sidebar .brand{padding:0 8px 36px}.navlabel{font-size:10px;letter-spacing:1.7px;color:#9ca6b5;padding:0 15px 13px}.navitem{display:flex;align-items:center;gap:13px;padding:12px 14px;margin-bottom:6px;color:#6b7689;font-size:14px;border-radius:7px}.navitem.active{background:#edf2ff;color:var(--blue);font-weight:600}.navitem:hover{background:#f2f5fa}.navitem .count{margin-left:auto;background:var(--blue);color:white;padding:0 6px;border-radius:4px;font-size:10px}.sidebottom{margin-top:auto}.sidehelp{padding:20px 16px;background:#f4f7fd;border-radius:10px;margin-bottom:21px}.sidehelp h3{font-size:13px;margin:10px 0 5px}.sidehelp p{font-size:12px}.workspace{margin-left:234px}.topbar{height:80px;padding:0 38px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.topbar .crumb{font-size:13px;color:var(--muted)}.topbar .crumb b{font-weight:500;color:var(--ink)}.profile{border-left:1px solid var(--line);padding-left:22px;margin-left:5px;gap:11px}.profile strong{font-size:13px;display:block}.profile small{font-size:11px}.main{max-width:1450px;padding:32px 38px 36px;margin:auto}.pageheading{margin-bottom:26px}.pageheading p{font-size:14px;margin-top:8px}.date{font-size:12px;border:1px solid var(--line);padding:9px 13px;background:white;border-radius:7px}.exam-banner{background:linear-gradient(110deg,#eaf0ff,#f8faff 72%);border:1px solid #dfe6f7;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:25px 28px;border-radius:12px}.subjecticon{width:49px;height:49px;background:#edf2ff;color:var(--blue);border-radius:11px;display:grid;place-items:center;font-size:25px}.subjecticon.science{background:#e7f7ef;color:#08956c}.subjecticon.english{background:#fff3e4;color:#cf8b21}.exam-banner h2{margin:9px 0 5px;font-size:19px}.exam-banner p{font-size:12px}.countdown{display:flex;gap:9px;margin-top:8px}.timebox{background:white;border:1px solid #dce4f2;border-radius:7px;width:48px;text-align:center;padding:6px 3px}.timebox b{display:block;font-size:21px;line-height:1.2}.timebox small{font-size:8px;text-transform:uppercase;letter-spacing:1px}.stats{margin:22px 0}.stat{position:relative;padding:22px}.stat .label{font-size:12px;color:#6d788c}.stat strong{font-size:31px;display:block;margin:5px 0 0;letter-spacing:-1px}.stat small{font-size:11px}.stat .subjecticon{position:absolute;right:21px;top:22px;width:39px;height:39px;font-size:21px}.stat .up{color:#05976b;font-size:11px;margin-top:12px}.chart{width:100%;height:196px;margin-top:22px;overflow:visible}.chart text{font-family:Inter,Arial;font-size:10px;fill:#8894a7}.cardhead{margin-bottom:20px}.cardhead p{font-size:12px;margin-top:4px}.legend{font-size:10px;gap:15px}.legend i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--blue);margin-right:5px}.legend i.gray{background:#b9c4d7}.subject{margin-top:20px}.subject .row{gap:10px}.subject .subjecticon{width:35px;height:35px;font-size:19px}.subject h3{font-size:13px}.bar{height:6px;background:#edf0f5;border-radius:8px;overflow:hidden;margin-top:11px}.bar span{display:block;height:100%;background:var(--blue);border-radius:8px}.subject .bar{margin-left:45px}.subject b{font-size:13px;margin-left:auto}.callout{background:#f0faf5;border:1px solid #ddf1e6;border-radius:8px;padding:12px;font-size:11px;color:#368567;margin-top:23px}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}th{background:#f8fafc;color:#8a94a5;font-size:10px;text-transform:uppercase;letter-spacing:.7px;font-weight:600;padding:13px 16px}td{font-size:12px;padding:14px 16px;border-bottom:1px solid #eff2f6}td .avatar{width:30px;height:30px;font-size:10px}tr:last-child td{border-bottom:0}.tablecard{padding:0;overflow:hidden}.tablecard .cardhead{padding:21px 24px 0}.notefooter{margin-top:24px;display:flex;justify-content:space-between;font-size:11px;color:#949daf}.homeheader{max-width:1240px;margin:auto;height:94px;display:flex;align-items:center;justify-content:space-between;padding:0 30px}.homeheader nav{display:flex;gap:30px;font-size:14px;color:#5b6881}.home{background:white}.hero{max-width:1240px;margin:auto;display:grid;grid-template-columns:1.15fr 1fr;gap:65px;padding:70px 30px 85px;align-items:center}.hero h1{font-size:57px;letter-spacing:-2.7px;line-height:1.13;margin:24px 0}.hero h1 span{color:var(--blue)}.hero p{font-size:18px;max-width:460px;margin-bottom:28px}.hero .slogan{font-size:21px;color:#31425f;font-weight:600}.hero .badge{letter-spacing:.8px}.herovisual{background:#f0f4fd;border-radius:24px;padding:34px;transform:rotate(-2deg);border:1px solid #e0e8fb}.herovisual .card{transform:rotate(2deg)}.herofigure{font-size:66px;font-weight:800;letter-spacing:-4px;line-height:1.2;color:var(--blue)}.herovisual .mini{margin-top:17px;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.mini>div{background:white;border-radius:10px;padding:15px;text-align:center;font-size:12px}.mini b{display:block;font-size:23px}.homeband{background:#f8faff;border-block:1px solid var(--line);padding:28px;display:flex;justify-content:center;gap:100px;text-align:center}.homeband b{font-size:25px;display:block}.homesection{max-width:1180px;margin:auto;padding:65px 20px}.homesection>h2{text-align:center;font-size:30px;margin-bottom:10px}.homesection>p{text-align:center;margin-bottom:34px}.feature h3{margin:17px 0 9px;font-size:18px}.feature p{font-size:14px}.step{border-top:2px solid #dce5f6;padding-top:20px}.step b{color:var(--blue);font-size:14px}.step h3{margin:12px 0 7px}.step p{font-size:13px}.homefoot{max-width:1180px;margin:auto;border-top:1px solid var(--line);padding:26px 20px;display:flex;justify-content:space-between;font-size:12px}.tabs{display:flex;gap:5px;padding:4px;background:#eaf0f8;border-radius:8px;width:fit-content;margin-bottom:24px}.tabs button{border:0;background:none;padding:10px 20px;color:#6c7890;border-radius:6px;font-size:13px;font-weight:600}.tabs button.active{background:white;color:var(--blue);box-shadow:0 2px 5px #243c7410}.scorebanner{background:#1e40af;color:white;display:flex;justify-content:space-between;align-items:center;padding:26px 30px;border-radius:12px;margin-bottom:24px}.scorebanner p,.scorebanner small{color:#bdcff8}.scorebanner strong{font-size:43px}.scorebanner .breakdown{display:flex;gap:36px}.scorebanner .breakdown b{display:block;font-size:21px}.goldrow{background:#fffcf2}.silverrow{background:#f7f9fc}.bronzerow{background:#fff8f3}.yourow{background:#eef4ff}.medal{font-size:23px}.winnerhero{text-align:center;padding:8px 0 32px}.winnerhero h1{font-size:34px;max-width:650px;margin:10px auto}.winnerhero p{font-size:14px}.winner{position:relative;text-align:center;padding:28px 22px;border-top:3px solid #e6ba52}.winner.silver{border-top-color:#b7c3d4}.winner.bronze{border-top-color:#bd8c6a}.winner .avatar{margin:15px auto}.winner h2{font-size:19px;margin-bottom:5px}.winner .score{font-size:25px;font-weight:700;margin:14px 0}.winner .medal{font-size:30px}.winner .badge{display:flex;justify-content:center}.accordion{border:1px solid var(--line);border-radius:8px;margin:12px 0;overflow:hidden}.accordion summary{cursor:pointer;padding:17px 18px;font-weight:600;font-size:14px}.accordion .grid3{padding:0 18px 18px}.statewinner{background:#f8fafc;border-radius:8px;padding:14px;font-size:12px}.statewinner b{display:block;font-size:13px;margin:7px 0}.field{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:500}.field input,.field select,.field textarea,select.filter{border:1px solid #dce3ee;background:white;padding:11px 12px;border-radius:7px;color:var(--ink);width:100%}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.full{grid-column:1/-1}.checkrow{display:flex;align-items:center;justify-content:space-between;padding:18px 0;border-bottom:1px solid var(--line);font-size:14px}.checkrow input{accent-color:var(--blue);width:19px;height:19px}.adminnav{margin-bottom:24px}.examtop{height:83px;background:white;border-bottom:1px solid var(--line);padding:0 28px;display:flex;align-items:center;justify-content:space-between}.examtop h3{font-size:15px}.examclock{font-size:25px;font-weight:700;color:var(--blue);font-variant-numeric:tabular-nums}.examgrid{display:grid;grid-template-columns:238px minmax(350px,1fr) 270px;gap:22px;max-width:1500px;margin:auto;padding:26px}.examgrid .card{padding:20px}.sectionbtn{display:block;width:100%;border:0;padding:13px;text-align:left;margin:5px 0;border-radius:7px;background:#f4f6fa;color:var(--muted)}.sectionbtn.active{background:#edf2ff;color:var(--blue);font-weight:600}.palette{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin:20px 0}.palette button{padding:9px 0;background:#f0f3f8;border:1px solid transparent;border-radius:5px;color:#6d798c;font-size:12px}.palette button.current{border-color:var(--blue);background:#edf2ff;color:var(--blue)}.palette button.answered{background:#dff6ed;color:#068e64}.palette button.marked{background:#fff0c6;color:#ae7d14}.question{min-height:555px;display:flex;flex-direction:column}.question h2{font-size:21px;line-height:1.65;margin:32px 0 12px}.answers{display:grid;gap:13px;margin:22px 0 28px}.option{display:flex;gap:15px;align-items:center;padding:17px;border:1px solid #dfe5ef;border-radius:8px;font-size:14px;cursor:pointer}.option:has(input:checked){border-color:var(--blue);background:#f0f4ff}.option input{accent-color:var(--blue)}.questionfooter{margin-top:auto}.camera{height:157px;background:linear-gradient(135deg,#e6ecf4,#ced8e8);display:grid;place-items:center;border-radius:8px;margin:17px 0;text-align:center}.camera video{width:100%;height:157px;object-fit:cover;border-radius:8px}.instructions{padding-left:18px;color:#768298;font-size:12px;line-height:2}.examfoot{text-align:center;font-size:11px;color:var(--muted);padding:10px}.empty{padding:36px;text-align:center}dialog{border:0;border-radius:16px;padding:32px;max-width:470px;width:calc(100% - 32px);color:var(--ink);box-shadow:0 20px 90px #15223f30}dialog::backdrop{background:#10234865;backdrop-filter:blur(3px)}dialog h2{margin-bottom:9px}dialog p{font-size:14px;margin-bottom:20px}dialog .field{margin:14px 0}dialog .close{float:right;background:none;border:0;font-size:23px;color:var(--muted)}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);padding:13px 22px;color:white;background:#142f49;border-radius:9px;z-index:100;display:none;font-size:14px}.mobilebrand{display:none}.profileform{max-width:750px}.statusline{font-size:12px;color:#07885e}.rankbig{font-size:34px;letter-spacing:-1px}.spacer{height:22px}@media(min-width:1500px){.main{padding-top:42px}.card{padding:28px}.chart{height:228px}}@media(max-width:1100px){.sidebar{width:205px}.workspace{margin-left:205px}.main{padding:26px 24px}.topbar{padding:0 24px}.exam-banner{flex-wrap:wrap}.examgrid{grid-template-columns:200px 1fr}.examgrid>aside:last-child{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:20px}.hero{gap:25px}.hero h1{font-size:44px}.grid2{grid-template-columns:1.4fr 1fr}.legend{display:none}}@media(max-width:760px){.sidebar{position:static;width:100%;padding:14px;flex-direction:row;flex-wrap:wrap;border-bottom:1px solid var(--line)}.sidebar .brand{padding:0 12px 10px;width:100%}.sidebar nav{display:flex;width:100%;overflow:auto}.navitem{white-space:nowrap;font-size:12px;padding:9px;gap:6px}.navlabel,.sidebottom,.navitem .count{display:none}.workspace{margin-left:0}.topbar{height:60px;padding:0 18px}.topbar>.row>.date,.profile>div:last-child{display:none}.main{padding:23px 16px}.pageheading{align-items:flex-start}.pageheading .date{display:none}h1{font-size:27px}.grid3,.grid2{grid-template-columns:1fr}.exam-banner{padding:20px}.stat strong{font-size:29px}.stats{gap:10px}.stats.grid3{grid-template-columns:1fr 1fr}.stats .stat:last-child{grid-column:1/-1}.stat{padding:18px}.stat .subjecticon{right:15px;top:17px}.hero{grid-template-columns:1fr;padding:35px 22px}.hero h1{font-size:43px}.herovisual{margin:12px}.homeheader{height:auto;min-height:80px;padding:15px 20px;flex-wrap:wrap;gap:15px}.homeheader nav{display:none}.homeband{gap:30px}.homeband b{font-size:21px}.homeband small{font-size:10px}.homesection{padding:40px 22px}.homefoot{gap:20px;flex-wrap:wrap}.scorebanner{align-items:flex-start;flex-direction:column;gap:20px}.scorebanner .breakdown{gap:25px}.examtop{padding:14px;height:auto;gap:15px;flex-wrap:wrap}.examtop .brand small{display:none}.examgrid{padding:14px;grid-template-columns:1fr}.examgrid>aside:first-child{order:2}.examgrid>aside:last-child{order:3;grid-template-columns:1fr}.palette{grid-template-columns:repeat(10,1fr)}.formgrid{grid-template-columns:1fr}.full{grid-column:auto}.notefooter{gap:15px}.winnerhero h1{font-size:27px}.tabs button{padding:9px 11px;font-size:12px}.question{min-height:560px}.row{flex-wrap:wrap}.profile{flex-wrap:nowrap}.chart{height:180px}}
/* Shared legibility refinements */
body{font-size:16px}th{font-size:12px}td{font-size:14px}.subject h3,.subject b{font-size:14px}.stat .label{font-size:14px}.stat small,.stat .up,.cardhead p,.exam-banner p,.legend,.notefooter,.instructions,.callout,.sidehelp p{font-size:12px}.navlabel{font-size:11px}.timebox small{font-size:10px}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.profile strong{font-size:14px}.palette button{font-size:14px}.exam-banner .row{flex-wrap:nowrap}@media(max-width:760px){.exam-banner .row{flex-wrap:wrap}.hero h1{overflow-wrap:break-word}.scorebanner .breakdown{flex-wrap:wrap}}
.registration-page{max-width:1000px;margin:30px auto;padding:0 24px 45px}.registration-note{padding:15px 18px;background:#f2f6ff;border-radius:8px;font-size:14px;color:#536886}.form-section{border:0;border-bottom:1px solid var(--line);padding:26px 0;margin:18px 0}.form-section legend{font-size:19px;font-weight:700;padding:0;display:flex;gap:12px;align-items:center}.form-section legend>span{font-size:12px;display:grid;place-items:center;width:29px;height:29px;background:#edf2ff;border-radius:7px;color:var(--blue)}.form-section>p{font-size:14px;margin:-5px 0 22px}.form-section .field{font-size:14px;display:block}.form-section .field input,.form-section .field select{display:block;margin-top:7px;min-height:46px}.form-section .field>.muted{font-size:12px}.consent{display:flex;gap:12px;align-items:flex-start;font-size:14px;margin:16px 0}.consent input{width:18px;height:18px;flex-shrink:0;accent-color:var(--blue);margin-top:3px}.consent[hidden]{display:none}.registration-actions{margin-top:24px}.registration-issuer{text-align:center;font-size:13px;margin-top:24px}.profileform{max-width:950px}input[readonly]{background:#f5f7fb!important;color:#6e7d94!important}@media(max-width:760px){.registration-page{padding:0 16px 30px}.registration-page>.card{padding:20px}.registration-page h1{font-size:28px}}
.form-section .field[hidden]{display:none}
.location-search input[type="search"]{background:#f8faff;border-color:#d9e2f0}.location-search input:disabled{opacity:.65;cursor:not-allowed}.location-search small{display:block;margin-top:7px;min-height:19px}
.autocomplete-control{position:relative}.location-suggestions{position:absolute;top:calc(100% + 5px);left:0;right:0;z-index:40;max-height:250px;overflow-y:auto;background:white;border:1px solid #d9e2f0;border-radius:9px;box-shadow:0 12px 28px #15223f20;padding:5px}.location-suggestions[hidden]{display:none}.location-suggestions button{display:block;width:100%;text-align:left;padding:10px 12px;border:0;border-radius:5px;background:white;color:var(--ink);font-size:14px;line-height:1.5;white-space:normal}.location-suggestions button:hover,.location-suggestions button[data-active="true"]{background:#edf2ff;color:var(--blue)}.suggestion-empty{font-size:14px;color:var(--muted);padding:14px}.autocomplete input[aria-expanded="true"]{border-color:var(--blue)}

.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px 24px;border-top:1px solid var(--line);padding-top:20px}
.facts dt{font-size:11px;letter-spacing:.5px;text-transform:uppercase;color:var(--muted)}
.facts dd{margin:4px 0 0;font-size:14px;font-weight:600;color:var(--ink);overflow-wrap:anywhere}
.grid2.even{grid-template-columns:1fr 1fr;margin-bottom:0}
.callout.neutral{background:#f5f7fb;border-color:var(--line);color:var(--muted)}
.certrow{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;padding:16px 0;border-bottom:1px solid var(--line)}
.certrow:last-child{border-bottom:0}
.profileedit>summary{cursor:pointer;list-style:none}
.profileedit>summary h2{display:inline}
.profileedit>summary::after{content:' ⌄';color:var(--muted)}
.profileedit[open]>summary::after{content:' ⌃'}
@media(max-width:760px){.grid2.even{grid-template-columns:1fr}}

.wizard{padding:30px 34px}
.stepper{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0 0 14px;padding:0}
.stepper button{display:flex;align-items:center;gap:10px;width:100%;background:none;border:0;padding:6px 0;cursor:pointer;color:var(--muted);font:inherit;font-size:14px;font-weight:600;text-align:left}
.stepper .dot{display:grid;place-items:center;width:32px;height:32px;flex-shrink:0;border-radius:50%;border:2px solid #d6deea;background:white;font-size:13px;transition:.2s}
.stepper li.current button{color:var(--blue)}
.stepper li.current .dot{border-color:var(--blue);background:var(--blue);color:white;box-shadow:0 0 0 5px #1e40af1a}
.stepper li.done button{color:var(--ink)}
.stepper li.done .dot{border-color:var(--green);background:var(--green);color:white;font-size:0}
.stepper li.done .dot::after{content:'✓';font-size:14px}
.wprogress{height:4px;background:#edf1f7;border-radius:4px;overflow:hidden;margin-bottom:26px}
.wprogress span{display:block;height:100%;width:33%;background:linear-gradient(90deg,var(--blue),var(--green));transition:width .35s ease}
.wstep{animation:wfade .25s ease}
@keyframes wfade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.wstep-head{margin-bottom:22px}.wstep-head h2{font-size:22px}.wstep-head p{font-size:14px;margin-top:4px}
.wsub{font-size:16px;margin:30px 0 16px;padding-top:22px;border-top:1px solid var(--line)}
.wizard .field{font-size:14px;display:block}
.wizard .field input,.wizard .field select{display:block;margin-top:7px;min-height:46px}
.wizard .field>.muted{font-size:12px}
.wcount{font-size:13px}
.smart-hint{display:block;min-height:0;margin-top:6px;font-size:12px;font-weight:500;color:var(--muted)}
.smart-hint:empty{display:none}
.smart-hint.ok{color:#07845d}.smart-hint.warn{color:#b26a00}
.linkbtn{background:none;border:0;padding:0;color:var(--blue);font:inherit;font-weight:700;text-decoration:underline;cursor:pointer}
.draft-note{background:#f0faf5;border:1px solid #ddf1e6;color:#2f7a5d;border-radius:8px;padding:8px 14px;font-size:14px;margin-bottom:16px}
.review{display:grid;gap:14px}
.review-block{border:1px solid var(--line);border-radius:10px;padding:14px 18px}
.review-block .btn.text{padding:4px 8px;font-size:13px}
.review-block dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px 20px;margin:10px 0 0}
.review-block dt{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted)}
.review-block dd{margin:2px 0 0;font-size:14px;font-weight:600;overflow-wrap:anywhere}
@media(max-width:760px){.wizard{padding:20px}.stepper .label{font-size:12px}.stepper button{flex-direction:column;text-align:center;gap:6px}}

.login-page{max-width:560px}
.login-card{padding:30px}
.login-card form{display:grid;gap:16px}
.login-card .field{font-size:14px}
.tabs.wide{width:100%;display:grid;grid-template-columns:1fr 1fr}
.btn.wide{width:100%;justify-content:center}
.login-foot{font-size:13px;text-align:center;color:var(--muted)}
.login-foot a{color:var(--blue);font-weight:600}
.pwwrap{position:relative}
.pwwrap input{padding-right:70px}
.pwtoggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);padding:6px 10px;font-size:12px}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
@media(max-width:1100px){.grid4{grid-template-columns:1fr 1fr}}
.credential{display:grid;gap:4px;background:#f5f7fb;border:1px dashed #c9d4e6;border-radius:10px;padding:16px 18px;margin-bottom:16px}
.credential small{font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);margin-top:6px}
.credential b{font:600 20px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:1px;color:var(--ink)}
.grid4.stats .stat:last-child{grid-column:auto}

.topnav{display:flex;gap:6px;flex-wrap:wrap}
.topnav a{padding:8px 12px;border-radius:7px}
.topnav a.active{background:#edf2ff;color:var(--blue);font-weight:600}
.results-page{max-width:1150px;margin:0 auto;padding:10px 24px 40px}
.topcontrols{margin:22px 0}
.topcontrols .tabs{margin-bottom:0}
.topcontrols select.filter{width:210px;margin:0}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.chip{border:1px solid var(--line);background:white;color:var(--muted);border-radius:999px;padding:7px 14px;font-size:13px;font-weight:600;cursor:pointer}
.chip.active{background:var(--blue);border-color:var(--blue);color:white}
.toptitle{font-size:20px;margin:6px 0 16px}
.toptitle .muted{font-size:14px;font-weight:500}
.podium{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.empty-state{text-align:center;padding:40px 24px}
.empty-state p{font-size:14px;margin-top:6px}
@media(max-width:760px){.podium{grid-template-columns:1fr}.topcontrols select.filter{width:100%}.results-page{padding:10px 16px 30px}.topnav{order:3;width:100%}}
@media(max-width:760px){.homeheader nav.topnav{display:flex;order:3;width:100%;overflow-x:auto;flex-wrap:nowrap;gap:4px;font-size:13px;margin:0 -4px}.topnav a{white-space:nowrap}}

.toplist{list-style:none;margin:0;padding:6px 0}
.toplist li{display:grid;grid-template-columns:48px 38px minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:14px 22px;border-bottom:1px solid var(--line)}
.toplist li:last-child{border-bottom:0}
.toplist li.top1{background:#fffbef}.toplist li.top2{background:#f7f9fc}.toplist li.top3{background:#fdf6f1}
.toprank{font-size:22px;font-weight:700;text-align:center;color:var(--muted)}
.toplist li.rest .toprank{font-size:15px}
.topwho{display:flex;flex-direction:column;gap:2px;min-width:0}
.topwho b{font-size:15px}.topwho small{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.topmarks{display:flex;gap:6px}
.topmarks span{font-size:11px;font-weight:600;background:#f1f4f9;color:#536886;border-radius:5px;padding:3px 7px}
.topscore{text-align:right;display:flex;flex-direction:column}
.topscore b{font-size:17px}.topscore small{font-size:12px;color:#07845d;font-weight:600}
@media(max-width:760px){.toplist li{grid-template-columns:34px minmax(0,1fr) auto;gap:10px;padding:12px 14px}.toplist .avatar,.topmarks{display:none}}

/* ---------- Landing page (redesign) ---------- */
.lp,.home{--lp-navy:#0b1a4a;--lp-blue:#2563eb;--lp-indigo:#3730a3;--lp-green:#10b981;--lp-purple:#8b5cf6;--lp-coral:#f26b5b;--lp-ink:#1d2a4d;--lp-soft:#5b6884}
.lp{background:radial-gradient(1200px 600px at 85% -10%,#cfe2ff 0,transparent 60%),radial-gradient(900px 500px at -10% 10%,#e3ecff 0,transparent 55%),linear-gradient(180deg,#eef4ff 0,#f7faff 45%,#fff 100%);min-height:100vh;color:var(--lp-ink);overflow-x:hidden}
.lp h1,.lp h2,.lp h3,.lp-logo b{font-family:'Plus Jakarta Sans',Inter,Arial,sans-serif}
.lp-ic{width:20px;height:20px;flex-shrink:0}
.lp-header{max-width:1240px;margin:0 auto;display:flex;align-items:center;gap:22px;padding:18px 28px;position:relative;z-index:20}
.lp-logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--lp-navy)}
.lp-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,var(--lp-indigo),var(--lp-blue));color:#fff;box-shadow:0 6px 16px #2563eb40}
.lp-mark .lp-ic{width:22px;height:22px}
.lp-logo b{display:block;font-size:24px;line-height:1;background:linear-gradient(90deg,var(--lp-indigo),var(--lp-blue) 55%,var(--lp-coral));-webkit-background-clip:text;background-clip:text;color:transparent;letter-spacing:-.5px}
.lp-logo small{display:block;font-size:10px;font-weight:700;letter-spacing:1.2px;color:var(--lp-navy);margin-top:3px}
.lp-nav{display:flex;gap:4px;margin:0 auto}
.lp-nav a{position:relative;padding:9px 13px;font-size:15px;font-weight:500;color:var(--lp-ink);text-decoration:none;border-radius:8px}
.lp-nav a:hover{color:var(--lp-blue)}
.lp-nav a.active{color:var(--lp-navy);font-weight:600}
.lp-nav a.active::after{content:'';position:absolute;left:13px;right:13px;bottom:2px;height:3px;border-radius:3px;background:var(--lp-blue)}
.lp-actions{display:flex;align-items:center;gap:10px}
.lp-iconbtn{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1.5px solid #c9d5ee;background:#ffffffb3;color:var(--lp-navy);cursor:pointer}
.lp-iconbtn:hover{border-color:var(--lp-blue);color:var(--lp-blue)}
.lp-burger{display:none}
.lp-drop{position:relative}
.lp-drop summary{list-style:none;display:flex;align-items:center;gap:8px;cursor:pointer;background:var(--lp-navy);color:#fff;font-weight:600;font-size:15px;padding:11px 18px;border-radius:999px;box-shadow:0 6px 14px #0b1a4a30}
.lp-drop summary::-webkit-details-marker{display:none}
.lp-drop summary .lp-ic{width:16px;height:16px;transition:transform .2s}
.lp-drop[open] summary .lp-ic{transform:rotate(180deg)}
.lp-menu{position:absolute;right:0;top:calc(100% + 8px);min-width:220px;background:#fff;border:1px solid #e3e9f5;border-radius:14px;box-shadow:0 18px 40px #0b1a4a22;padding:8px;display:grid}
.lp-menu a,.lp-menu button{display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:9px;font:inherit;font-size:14px;font-weight:500;color:var(--lp-ink);text-decoration:none;background:none;border:0;text-align:left;cursor:pointer}
.lp-menu a:hover,.lp-menu button:hover{background:#eef3ff;color:var(--lp-blue)}
.lp-hero{max-width:1240px;margin:0 auto;padding:30px 28px 10px;display:grid;grid-template-columns:1fr 1.05fr;gap:30px;align-items:center}
.lp-hero h1{font-size:clamp(44px,6.4vw,88px);line-height:.98;font-weight:800;letter-spacing:-2.5px;color:var(--lp-navy)}
.lp-hero h1 span{display:block;font-size:.56em;letter-spacing:-1.5px;margin-top:10px}
.lp-hero h1 em{font-style:normal;background:linear-gradient(90deg,var(--lp-blue),#3b82f6);-webkit-background-clip:text;background-clip:text;color:transparent}
.lp-rule{display:block;width:90px;height:4px;border-radius:4px;background:linear-gradient(90deg,var(--lp-blue),#60a5fa);margin:26px 0 20px}
.lp-tag{font-size:clamp(20px,2.2vw,27px);font-weight:600;color:var(--lp-navy)}
.lp-tag em{font-style:normal;color:var(--lp-blue)}
.lp-ctas{display:flex;flex-wrap:wrap;gap:14px;margin-top:26px}
.lp-btn{display:inline-flex;align-items:center;gap:10px;font:inherit;font-size:17px;font-weight:600;padding:15px 26px;border-radius:12px;cursor:pointer;text-decoration:none;transition:transform .15s,box-shadow .15s}
.lp-btn:hover{transform:translateY(-2px)}
.lp-btn.primary{background:linear-gradient(135deg,#1d4ed8,var(--lp-blue) 60%,#3b82f6);color:#fff;border:0;box-shadow:0 10px 24px #2563eb55}
.lp-btn.ghost{background:#ffffffcc;color:var(--lp-navy);border:1.5px solid #9fb4dc}
.lp-btn.white{background:#fff;color:var(--lp-indigo);border:0}
.lp-btn.outline-light{background:transparent;color:#fff;border:1.5px solid #ffffff99}
.lp-date{margin-top:18px;font-size:14px;color:var(--lp-soft)}
.lp-date b{color:var(--lp-navy)}
.lp-hero-art{position:relative}
.lp-hero-art::before{content:'';position:absolute;inset:8% 4% 4% 10%;background:radial-gradient(closest-side,#bcd4ff,transparent);filter:blur(10px);z-index:0}
.lp-hero-art img{position:relative;z-index:1;width:100%;height:auto;display:block}
.lp-strip{max-width:1180px;margin:18px auto 0;padding:22px 26px;display:grid;grid-template-columns:repeat(4,1fr);background:#ffffffb8;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid #ffffff;border-radius:22px;box-shadow:0 20px 50px #2b4c9a1f;position:relative;z-index:2}
.lp-strip>div{display:flex;gap:14px;align-items:center;padding:4px 18px}
.lp-strip>div+div{border-left:1px solid #dfe6f3}
.lp-strip h3{font-size:17px;color:var(--lp-navy)}
.lp-strip p{font-size:13.5px;color:var(--lp-soft);margin-top:3px;line-height:1.4}
.lp-bubble{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;color:#fff;flex-shrink:0;box-shadow:0 8px 18px var(--sh,#2563eb40)}
.lp-bubble .lp-ic{width:26px;height:26px}
.lp-bubble.big{width:68px;height:68px}.lp-bubble.big .lp-ic{width:30px;height:30px}
.lp-bubble.blue{background:linear-gradient(135deg,#3b82f6,#1d4ed8);--sh:#2563eb40}
.lp-bubble.purple{background:linear-gradient(135deg,#a78bfa,#7c3aed);--sh:#7c3aed40}
.lp-bubble.coral{background:linear-gradient(135deg,#fb8a7a,#e8504a);--sh:#e8504a40}
.lp-bubble.green{background:linear-gradient(135deg,#34d399,#059669);--sh:#05966940}
.lp-section{max-width:1180px;margin:0 auto;padding:90px 28px 0;scroll-margin-top:10px}
.lp-eyebrow{display:inline-block;font-size:12px;font-weight:700;letter-spacing:1.6px;color:var(--lp-blue);background:#e5edff;padding:6px 12px;border-radius:999px}
.lp-eyebrow.light{background:#ffffff26;color:#fff}
.lp-section h2{font-size:clamp(28px,3.4vw,42px);font-weight:800;letter-spacing:-1px;color:var(--lp-navy);margin-top:14px}
.lp-lead{font-size:17px;color:var(--lp-soft);margin-top:8px}
.lp-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:34px}
.lp-card,.lp-subject{background:#fff;border:1px solid #e6ecf6;border-radius:20px;padding:28px;box-shadow:0 10px 30px #1e3a8a0f;position:relative;overflow:hidden;transition:transform .2s,box-shadow .2s}
.lp-card:hover,.lp-subject:hover{transform:translateY(-4px);box-shadow:0 18px 40px #1e3a8a1c}
.lp-card::before{content:'';position:absolute;left:0;right:0;top:0;height:4px;background:var(--ac)}
.accent-green{--ac:var(--lp-green)}.accent-purple{--ac:var(--lp-purple)}.accent-coral{--ac:var(--lp-coral)}
.lp-card h3,.lp-subject h3{font-size:21px;color:var(--lp-navy);margin-top:18px}
.lp-card p,.lp-subject p{font-size:15px;color:var(--lp-soft);margin-top:8px;line-height:1.6}
.lp-subject.green{background:linear-gradient(160deg,#ecfdf5,#fff 60%)}
.lp-subject.purple{background:linear-gradient(160deg,#f3efff,#fff 60%)}
.lp-subject.coral{background:linear-gradient(160deg,#fff1ee,#fff 60%)}
.lp-pill{display:inline-block;margin-top:16px;font-size:12px;font-weight:700;padding:5px 11px;border-radius:999px;background:#fff;border:1px solid #e3e9f5;color:var(--lp-navy)}
.lp-steps{list-style:none;padding:0;margin:40px 0 0;display:grid;grid-template-columns:repeat(4,1fr);gap:22px;position:relative}
.lp-steps::before{content:'';position:absolute;top:27px;left:12%;right:12%;height:3px;background:linear-gradient(90deg,var(--lp-blue),var(--lp-purple),var(--lp-coral),var(--lp-green));border-radius:3px;opacity:.5}
.lp-steps li{position:relative;background:#fff;border:1px solid #e6ecf6;border-radius:20px;padding:0 22px 24px;margin-top:27px;box-shadow:0 10px 26px #1e3a8a0d;text-align:center}
.lp-num{display:grid;place-items:center;width:56px;height:56px;margin:-28px auto 0;border-radius:50%;background:linear-gradient(135deg,var(--lp-indigo),var(--lp-blue));color:#fff;font:800 18px 'Plus Jakarta Sans',Inter,sans-serif;border:5px solid #f3f7ff}
.lp-steps li:nth-child(2) .lp-num{background:linear-gradient(135deg,#a78bfa,#7c3aed)}
.lp-steps li:nth-child(3) .lp-num{background:linear-gradient(135deg,#fb8a7a,#e8504a)}
.lp-steps li:nth-child(4) .lp-num{background:linear-gradient(135deg,#34d399,#059669)}
.lp-steps h3{font-size:19px;color:var(--lp-navy);margin-top:14px}
.lp-steps p{font-size:14.5px;color:var(--lp-soft);margin-top:8px;line-height:1.55}
.lp-schol{display:grid;grid-template-columns:1.2fr 1fr;gap:34px;align-items:center;background:radial-gradient(600px 300px at 90% 0,#3b82f6aa,transparent),linear-gradient(135deg,#1e1b4b,var(--lp-indigo) 50%,#1d4ed8);color:#fff;border-radius:28px;padding:44px;box-shadow:0 24px 60px #1e1b4b40}
.lp-schol h2{color:#fff}
.lp-schol p{color:#dbe4ff;font-size:16px;line-height:1.65;margin-top:12px}
.lp-schol-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.lp-schol-cards>div{background:#ffffff17;border:1px solid #ffffff2e;border-radius:18px;padding:18px;backdrop-filter:blur(6px)}
.lp-schol-cards small{font-size:11px;font-weight:700;letter-spacing:1.2px;color:#c7d6ff}
.lp-schol-cards p{display:flex;justify-content:space-between;gap:8px;margin-top:10px;font-size:14px;color:#fff}
.lp-schol-cards p span{color:#a7f3d0;font-weight:600;text-align:right}
.lp-faq{display:grid;gap:12px;margin-top:30px;max-width:860px}
.lp-faq details{background:#fff;border:1px solid #e6ecf6;border-radius:14px;padding:4px 20px;box-shadow:0 6px 18px #1e3a8a0a}
.lp-faq summary{cursor:pointer;font-weight:600;font-size:16px;padding:16px 0;color:var(--lp-navy);list-style:none;display:flex;justify-content:space-between;gap:12px}
.lp-faq summary::after{content:'+';font-size:22px;line-height:1;color:var(--lp-blue)}
.lp-faq details[open] summary::after{content:'–'}
.lp-faq details p{font-size:15px;color:var(--lp-soft);padding:0 0 18px;line-height:1.6}
.lp-foot{max-width:1180px;margin:90px auto 0;padding:26px 28px 34px;border-top:1px solid #e3e9f5;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:14px;color:var(--lp-soft)}
.lp-foot div{display:flex;gap:20px}.lp-foot a{color:var(--lp-ink);text-decoration:none}
.home .lp-header{border-bottom:1px solid #eef2f8}
@media(max-width:1100px){.lp-nav a{padding:8px 9px;font-size:14px}.lp-strip{grid-template-columns:1fr 1fr;gap:16px}.lp-strip>div+div{border-left:0}.lp-steps{grid-template-columns:1fr 1fr}.lp-steps::before{display:none}}
@media(max-width:900px){
 .lp-burger{display:grid}
 .lp-nav{display:none;position:absolute;left:16px;right:16px;top:100%;flex-direction:column;background:#fff;border:1px solid #e3e9f5;border-radius:16px;padding:8px;box-shadow:0 18px 40px #0b1a4a22}
 .lp-nav.open{display:flex}
 .lp-nav a.active::after{display:none}
 .lp-actions{margin-left:auto}
 .lp-hero{grid-template-columns:1fr;padding-top:10px}
 .lp-hero-art{max-width:520px;margin:0 auto}
 .lp-grid3,.lp-schol{grid-template-columns:1fr}
}
@media(max-width:600px){
 .lp-header{padding:14px 16px;gap:10px}
 .lp-drop summary{padding:9px 13px;font-size:13px}
 .lp-logo b{font-size:20px}.lp-mark{width:36px;height:36px}
 .lp-hero,.lp-section{padding-left:16px;padding-right:16px}
 .lp-section{padding-top:64px}
 .lp-strip{grid-template-columns:1fr;margin:14px 16px 0;padding:16px}
 .lp-strip>div{padding:6px 4px}
 .lp-steps{grid-template-columns:1fr}
 .lp-schol{padding:28px 22px}.lp-schol-cards{grid-template-columns:1fr}
 .lp-btn{flex:1;justify-content:center;padding:14px 18px}
 .lp-iconbtn{width:40px;height:40px}
}

/* ---------- Hero motion ---------- */
.lp-hero{position:relative;isolation:isolate}
.lp-fx{position:absolute;inset:-60px -40px -20px;z-index:-1;pointer-events:none;overflow:hidden}
.lp-fx .blob{position:absolute;border-radius:50%;filter:blur(60px);opacity:.55}
.lp-fx .b1{width:420px;height:420px;background:#93c5fd;left:-80px;top:20px;animation:lpDrift1 22s ease-in-out infinite}
.lp-fx .b2{width:380px;height:380px;background:#c4b5fd;right:6%;top:-40px;animation:lpDrift2 26s ease-in-out infinite}
.lp-fx .b3{width:300px;height:300px;background:#a7f3d0;right:28%;bottom:-60px;opacity:.4;animation:lpDrift1 30s ease-in-out infinite reverse}
.lp-fx .shape{position:absolute;display:block}
.lp-fx .ring{border:3px solid;border-radius:50%}
.lp-fx .r1{width:46px;height:46px;border-color:#8b5cf655;left:44%;top:8%;animation:lpBob 7s ease-in-out infinite}
.lp-fx .r2{width:26px;height:26px;border-color:#10b98166;left:6%;bottom:14%;animation:lpBob 9s ease-in-out infinite reverse}
.lp-fx .plus{font:700 30px/1 'Plus Jakarta Sans',sans-serif;color:#f26b5b88;animation:lpSpin 14s linear infinite}
.lp-fx .p1{left:38%;bottom:20%}.lp-fx .p2{right:3%;top:52%;color:#2563eb66;font-size:24px;animation-duration:18s}
.lp-fx .dot{width:10px;height:10px;border-radius:50%;animation:lpBob 6s ease-in-out infinite}
.lp-fx .d1{background:#2563eb88;left:30%;top:6%}.lp-fx .d2{background:#10b98199;left:52%;top:62%;animation-delay:-2s}.lp-fx .d3{background:#f26b5b99;right:12%;top:4%;animation-delay:-4s}
.lp-fx .tri{width:0;height:0;border-left:13px solid transparent;border-right:13px solid transparent;border-bottom:22px solid #8b5cf644;left:2%;top:38%;animation:lpSpinBob 16s ease-in-out infinite}
.lp-fx .sq{width:18px;height:18px;border-radius:5px;background:#fbbf2466;right:46%;bottom:6%;animation:lpSpinBob 12s ease-in-out infinite reverse}
.lp-fx .plane-path{position:absolute;inset:0;width:100%;height:100%}
.lp-fx .plane{position:absolute;left:0;top:0;width:30px;height:30px;offset-path:path('M-40 420 C 250 300, 420 470, 640 300 S 1000 120, 1240 60');offset-rotate:auto;animation:lpFly 16s cubic-bezier(.45,.05,.55,.95) infinite;filter:drop-shadow(0 6px 8px #2563eb40)}
.lp-fx .plane svg{width:100%;height:100%}
.lp-art-stage{position:relative;animation:lpFloat 7s ease-in-out infinite}
.lp-float{position:absolute;z-index:2;display:flex;align-items:center;gap:8px;padding:9px 14px;font-size:13px;font-weight:700;color:var(--lp-navy);background:#ffffffd9;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid #fff;border-radius:999px;box-shadow:0 12px 28px #1e3a8a26;white-space:nowrap}
.lp-float b{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#eef3ff;font-size:14px}
.lp-float.f1{left:-4%;top:58%;animation:lpBob 6s ease-in-out infinite}
.lp-float.f2{right:2%;top:2%;animation:lpBob 7s ease-in-out infinite -2s}.lp-float.f2 b{background:#dcfce7;color:#059669}
.lp-float.f3{right:-2%;bottom:8%;animation:lpBob 8s ease-in-out infinite -4s}
.lp-hero h1 em{background:linear-gradient(90deg,#1d4ed8,#3b82f6,#8b5cf6,#3b82f6,#1d4ed8);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;animation:lpShimmer 6s linear infinite}
.lp-rule{background-size:200% 100%;background-image:linear-gradient(90deg,var(--lp-blue),#60a5fa,#8b5cf6,var(--lp-blue));animation:lpShimmer 4s linear infinite}
.lp-btn.primary{position:relative;overflow:hidden}
.lp-btn.primary::after{content:'';position:absolute;top:0;bottom:0;left:-60%;width:40%;background:linear-gradient(100deg,transparent,#ffffff66,transparent);transform:skewX(-20deg);animation:lpSweep 4.5s ease-in-out infinite 1.5s}
.lp-hero-text>*{animation:lpRise .8s cubic-bezier(.2,.7,.2,1) both}
.lp-hero-text>:nth-child(2){animation-delay:.08s}.lp-hero-text>:nth-child(3){animation-delay:.16s}.lp-hero-text>:nth-child(4){animation-delay:.24s}.lp-hero-text>:nth-child(5){animation-delay:.32s}
.lp-hero-art{animation:lpRise 1s cubic-bezier(.2,.7,.2,1) both .15s}
.lp-strip>div .lp-bubble{animation:lpPulse 3.6s ease-in-out infinite}
.lp-strip>div:nth-child(2) .lp-bubble{animation-delay:.9s}.lp-strip>div:nth-child(3) .lp-bubble{animation-delay:1.8s}.lp-strip>div:nth-child(4) .lp-bubble{animation-delay:2.7s}
@keyframes lpDrift1{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(70px,40px) scale(1.12)}}
@keyframes lpDrift2{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-60px,50px) scale(.92)}}
@keyframes lpBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
@keyframes lpSpin{to{transform:rotate(360deg)}}
@keyframes lpSpinBob{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-16px) rotate(180deg)}}
@keyframes lpFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes lpFly{0%{offset-distance:0%;opacity:0}8%{opacity:1}85%{opacity:1}100%{offset-distance:100%;opacity:0}}
@keyframes lpShimmer{to{background-position:-250% 0}}
@keyframes lpSweep{0%{left:-60%}35%,100%{left:130%}}
@keyframes lpRise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes lpPulse{0%,100%{box-shadow:0 8px 18px var(--sh),0 0 0 0 var(--sh)}50%{box-shadow:0 8px 18px var(--sh),0 0 0 10px transparent}}
@media(max-width:900px){.lp-float.f1{left:0}.lp-float.f3{right:0}.lp-fx .plane-path,.lp-fx .plane{display:none}}
@media(max-width:600px){.lp-float{font-size:11.5px;padding:7px 11px}.lp-float b{width:22px;height:22px;font-size:12px}.lp-float.f2{display:none}}
@media(prefers-reduced-motion:reduce){.lp *,.lp *::before,.lp *::after{animation:none!important;transition:none!important}.lp-fx .plane{display:none}}

/* ---------- Living subject icons ---------- */
.lp-art-fx{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none;overflow:visible}
.lp-e{fill:#d1fae5;stroke:#10b981;stroke-width:1.6;filter:drop-shadow(0 0 4px #34d399) drop-shadow(0 0 8px #10b98199)}
.lp-nucleus{transform-box:fill-box;transform-origin:center;animation:lpNucleus 2.4s ease-in-out infinite}
@keyframes lpNucleus{0%,100%{opacity:.35;transform:scale(.8)}50%{opacity:.9;transform:scale(1.25)}}
/* Science facts cycling beside the atom */
.lp-sci{position:absolute;z-index:3;left:1%;top:2%;width:84px;height:30px}
.lp-sci span{position:absolute;inset:0;display:grid;place-items:center;font:700 13px/1 'Plus Jakarta Sans',Inter,sans-serif;color:#047857;background:#ecfdf5e6;border:1px solid #a7f3d0;border-radius:999px;box-shadow:0 8px 18px #05966926;opacity:0;animation:lpFact 12s infinite}
.lp-sci span:nth-child(2){animation-delay:3s}.lp-sci span:nth-child(3){animation-delay:6s}.lp-sci span:nth-child(4){animation-delay:9s}
@keyframes lpFact{0%{opacity:0;transform:translateY(8px) scale(.9)}4%,22%{opacity:1;transform:none}26%,100%{opacity:0;transform:translateY(-8px) scale(.95)}}
/* π typing out its digits */
.lp-pi{position:absolute;z-index:3;right:0;top:-6%;display:flex;align-items:center;gap:6px;padding:7px 12px;background:#f5f3ffeb;border:1px solid #ddd6fe;border-radius:999px;box-shadow:0 8px 20px #7c3aed26;color:#6d28d9;font-size:13px;white-space:nowrap}
.lp-pi b{font:800 14px 'Plus Jakarta Sans',Inter,sans-serif}
.lp-pi-digits{font:600 13px ui-monospace,SFMono-Regular,Menlo,monospace;display:inline-block;overflow:hidden;width:12ch;animation:lpType 6s steps(12,end) infinite}
.lp-caret{width:2px;height:15px;background:#7c3aed;animation:lpBlink .8s step-end infinite}
@keyframes lpType{0%{width:0}55%,85%{width:12ch}100%{width:12ch;opacity:0}}
@keyframes lpBlink{50%{opacity:0}}
/* Words rising out of the open book */
.lp-words{position:absolute;z-index:3;left:87%;top:29%;width:0;height:0}
.lp-words span{position:absolute;left:0;top:0;transform:translateX(-50%);font:700 12.5px 'Plus Jakarta Sans',Inter,sans-serif;color:#c2410c;background:#fff7ede6;border:1px solid #fed7aa;border-radius:8px;padding:3px 8px;white-space:nowrap;opacity:0;animation:lpWord 10s ease-out infinite;box-shadow:0 6px 14px #ea580c22}
.lp-words span:nth-child(2){animation-delay:2s;--dx:-26px}.lp-words span:nth-child(3){animation-delay:4s;--dx:22px}.lp-words span:nth-child(4){animation-delay:6s;--dx:-14px}.lp-words span:nth-child(5){animation-delay:8s;--dx:16px}
@keyframes lpWord{0%{opacity:0;transform:translate(-50%,10px) scale(.7)}6%{opacity:1}26%{opacity:0;transform:translate(calc(-50% + var(--dx,0px)),-78px) scale(1)}100%{opacity:0}}
@media(max-width:600px){.lp-sci{width:70px;height:26px}.lp-sci span{font-size:11px}.lp-pi{top:-6%;padding:5px 9px;gap:4px}.lp-pi b,.lp-pi-digits{font-size:11px}.lp-words span{font-size:11px}}
@media(prefers-reduced-motion:reduce){.lp-e{display:none}.lp-sci span:first-child{opacity:1}.lp-pi-digits{width:12ch}.lp-caret{display:none}}

/* ---------- Result popping out of the laptop ---------- */
.lp-laptop{position:absolute;z-index:4;left:33.7%;top:74.4%;width:0;height:0;pointer-events:none}
.lp-beam{position:absolute;left:-90px;width:180px;bottom:0;height:90px;background:linear-gradient(0deg,#93c5fdcc,#c4b5fd55 55%,transparent);clip-path:polygon(18% 100%,82% 100%,100% 0,0 0);filter:blur(6px);opacity:0;transform-origin:50% 100%;animation:lpBeam 10s ease-in-out infinite}
.lp-result{position:absolute;left:0;bottom:-6px;display:flex;align-items:center;gap:8px;white-space:nowrap;transform-origin:50% 100%;translate:-50% 0;background:linear-gradient(150deg,#ffffff4d,#ffffff1f 60%,#dbe7ff26);backdrop-filter:blur(2.5px) saturate(1.3);-webkit-backdrop-filter:blur(2.5px) saturate(1.3);border:1px solid #ffffffb3;border-radius:14px;padding:7px 11px 7px 8px;box-shadow:0 10px 26px #1e3a8a30,inset 0 1px 0 #ffffffcc;opacity:0;animation:lpPop 10s cubic-bezier(.2,.9,.25,1.15) infinite}
.lp-res-trophy{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,#fde68a,#f59e0b);font-size:15px;box-shadow:0 4px 10px #f59e0b55;animation:lpTrophy 10s ease-in-out infinite}
.lp-res-mid small{display:block;font-size:8px;font-weight:800;letter-spacing:.9px;color:#6b7aa0;line-height:1.2}
.lp-res-mid b{display:block;font:800 16px/1.1 'Plus Jakarta Sans',Inter,sans-serif;background:linear-gradient(90deg,#1d4ed8,#7c3aed);-webkit-background-clip:text;background-clip:text;color:transparent}
.lp-res-bar{width:74px;height:5px;border-radius:5px;background:#e3e9f6;margin-top:4px;overflow:hidden}
.lp-res-bar i{display:block;height:100%;width:0;border-radius:5px;background:linear-gradient(90deg,#10b981,#3b82f6,#8b5cf6);animation:lpBar 10s ease-out infinite}
.lp-res-score{text-align:right;padding-left:8px;border-left:1px solid #dfe6f3}
.lp-res-score b{display:block;font:800 15px/1.1 'Plus Jakarta Sans',Inter,sans-serif;color:#059669}
.lp-res-score small{font-size:10px;color:#5b6884;font-weight:600}
.lp-res-cert{position:absolute;right:-10px;top:-12px;font-size:9.5px;font-weight:800;color:#fff;background:linear-gradient(135deg,#10b981,#059669);border-radius:999px;padding:3px 8px;box-shadow:0 6px 12px #05966955;opacity:0;animation:lpCert 10s cubic-bezier(.2,.9,.25,1.3) infinite}
.lp-confetti{position:absolute;left:0;bottom:0}
.lp-confetti i{position:absolute;left:-3px;top:-30px;width:7px;height:10px;border-radius:2px;background:var(--c);opacity:0;animation:lpConfetti 10s cubic-bezier(.15,.7,.3,1) infinite}
.lp-confetti i:nth-child(odd){width:6px;height:6px;border-radius:50%}
@keyframes lpPop{0%,7%{opacity:0;transform:translateY(34px) scale(.15)}13%{opacity:1;transform:translateY(-6px) scale(1.06)}16%,76%{opacity:1;transform:translateY(0) scale(1)}84%,100%{opacity:0;transform:translateY(34px) scale(.15)}}
@keyframes lpBeam{0%,6%{opacity:0;transform:scaleY(.2)}12%{opacity:1;transform:scaleY(1)}30%{opacity:.45}76%{opacity:.45}84%,100%{opacity:0;transform:scaleY(.2)}}
@keyframes lpBar{0%,16%{width:0}32%,100%{width:100%}}
@keyframes lpCert{0%,32%{opacity:0;transform:scale(.3) rotate(-12deg)}37%{opacity:1;transform:scale(1.15) rotate(4deg)}40%,76%{opacity:1;transform:scale(1) rotate(0)}84%,100%{opacity:0;transform:scale(.3)}}
@keyframes lpTrophy{0%,14%{transform:rotate(0)}17%{transform:rotate(-14deg) scale(1.15)}20%{transform:rotate(10deg) scale(1.15)}23%,100%{transform:rotate(0) scale(1)}}
@keyframes lpConfetti{0%,13%{opacity:0;transform:rotate(var(--a)) translateX(0) rotate(0)}15%{opacity:1}34%{opacity:1}44%,100%{opacity:0;transform:rotate(var(--a)) translateX(var(--d)) rotate(var(--r)) translateY(26px)}}
@media(max-width:600px){.lp-result{gap:6px;padding:5px 8px 5px 6px;border-radius:11px}.lp-res-mid b{font-size:13px}.lp-res-score b{font-size:12.5px}.lp-res-bar{width:54px}.lp-res-trophy{width:24px;height:24px;font-size:12px}.lp-beam{left:-70px;width:140px;height:70px}}
@media(prefers-reduced-motion:reduce){.lp-result{opacity:1}.lp-res-bar i{width:100%}.lp-res-cert{opacity:1}.lp-beam,.lp-confetti{display:none}}

/* transparent glass result card: keep text readable over the picture */
.lp-result .lp-res-mid small,.lp-result .lp-res-score small{color:#0b1a4a;text-shadow:0 0 6px #fff,0 0 2px #fff}
.lp-result .lp-res-mid b{filter:drop-shadow(0 0 4px #fff) drop-shadow(0 0 1px #fff)}
.lp-result .lp-res-score b{text-shadow:0 0 6px #fff,0 0 2px #fff}
.lp-result .lp-res-score{border-left-color:#ffffff99}
.lp-result .lp-res-bar{background:#ffffff80}
.lp-result .lp-res-score b{color:#fff;text-shadow:none;background:linear-gradient(135deg,#10b981,#059669);border-radius:999px;padding:2px 8px;margin-bottom:3px;box-shadow:0 4px 10px #05966955}

/* ---------- STEM heading: each word shows its subject ---------- */
.lp-hero h1.lp-stem{font-size:clamp(40px,5.4vw,76px);line-height:1.04}
.lp-hero h1 .lp-w{position:relative;display:block;width:fit-content;font-size:1em;letter-spacing:-2px;margin:0 0 .04em}
.lp-hero h1 .lp-w span{display:inline;font-size:1em;letter-spacing:inherit;margin:0}
.lp-hero h1 .lp-champ{display:flex;align-items:center;flex-wrap:wrap;gap:0 .3em;font-size:.52em;letter-spacing:-1.2px;margin-top:14px}
.lp-stem .lp-w>i{font-style:normal}
/* Science — green, atom as the dot of the i, bubbles rising */
.w-sci{background:linear-gradient(90deg,#047857,#10b981,#34d399);-webkit-background-clip:text;background-clip:text;color:transparent}
.lp-hero h1 .sci-i{position:relative;display:inline-block}
.sci-atom{position:absolute;left:50%;top:.06em;width:.5em;height:.5em;translate:-50% 0;animation:lpSpin 6s linear infinite;filter:drop-shadow(0 0 6px #34d39988)}
.sci-atom .e1{transform-origin:0 0;animation:lpSpin 1.6s linear infinite}
.w-sci .bub{position:absolute;bottom:.25em;width:.14em;height:.14em;border-radius:50%;border:2px solid #34d399aa;opacity:0;animation:lpBubble 4.5s ease-in infinite}
.w-sci .b1{left:12%}.w-sci .b2{left:55%;animation-delay:1.5s;width:.1em;height:.1em}.w-sci .b3{left:88%;animation-delay:3s}
@keyframes lpBubble{0%{opacity:0;transform:translateY(0) scale(.6)}15%{opacity:1}100%{opacity:0;transform:translateY(-.9em) scale(1.2)}}
/* Technology — digital type, code mark, circuit pulse, glitch */
.lp-hero h1 .w-tech{display:flex;align-items:center;gap:.18em;font:800 .74em/1.25 Orbitron,'Plus Jakarta Sans',sans-serif;letter-spacing:.01em;padding-bottom:.14em}
.lp-hero h1 .tech-code{font:700 .5em/1 ui-monospace,SFMono-Regular,Menlo,monospace;color:#fff;background:linear-gradient(135deg,#06b6d4,#2563eb);border-radius:.25em;padding:.22em .3em;letter-spacing:0;box-shadow:0 0 18px #06b6d455}
.lp-hero h1 .tech-txt{display:inline-block;background:linear-gradient(90deg,#0891b2,#06b6d4,#2563eb,#06b6d4,#0891b2);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:lpShimmer 5s linear infinite,lpGlitch 7s steps(1) infinite 3s}
@keyframes lpGlitch{0%,93%,100%{transform:none;text-shadow:none}94%{transform:translateX(2px) skewX(-6deg);filter:drop-shadow(-3px 0 #f26b5b) drop-shadow(3px 0 #22d3ee)}96%{transform:translateX(-2px);filter:none}}
.lp-hero h1 .tech-circuit{position:absolute;left:1.15em;right:0;bottom:0;height:.06em;min-height:3px;background:linear-gradient(90deg,#06b6d455,#2563eb55);border-radius:4px}
.lp-hero h1 .tech-circuit::before,.lp-hero h1 .tech-circuit::after{content:'';position:absolute;top:50%;width:.16em;height:.16em;min-width:7px;min-height:7px;border-radius:50%;background:#06b6d4;translate:0 -50%;box-shadow:0 0 8px #22d3ee}
.lp-hero h1 .tech-circuit::before{left:-3px}.lp-hero h1 .tech-circuit::after{right:-3px;background:#2563eb}
.tech-circuit i{position:absolute;top:50%;left:0;width:18%;height:300%;translate:0 -50%;border-radius:4px;background:linear-gradient(90deg,transparent,#a5f3fc,#22d3ee,transparent);filter:blur(1px);animation:lpPulseRun 2.6s ease-in-out infinite}
@keyframes lpPulseRun{0%{left:0;opacity:0}15%{opacity:1}85%{opacity:1}100%{left:82%;opacity:0}}
/* English — elegant italic in quotes, written in by a pen */
.lp-hero h1 .w-eng{font:800 italic 1em/1.08 'Playfair Display',Georgia,serif;letter-spacing:-.5px;display:flex;align-items:baseline}
.lp-hero h1 .eng-q{color:#f9a8a0;font-size:.9em}
.lp-hero h1 .eng-txt{display:inline-block;padding-right:.06em;background:linear-gradient(90deg,#e8504a,#f26b5b,#fb923c);-webkit-background-clip:text;background-clip:text;color:transparent;clip-path:inset(0 100% 0 0);animation:lpWrite 2.4s cubic-bezier(.5,.1,.3,1) .5s forwards}
.lp-hero h1 .eng-pen{position:absolute;left:.45em;bottom:.12em;font-size:.42em;color:#e8504a;animation:lpPen 2.4s cubic-bezier(.5,.1,.3,1) .5s forwards;opacity:0}
@keyframes lpWrite{to{clip-path:inset(0 0 0 0)}}
@keyframes lpPen{0%{opacity:1;transform:translate(0,0) rotate(-10deg)}25%{transform:translate(1em,-.2em) rotate(8deg)}50%{transform:translate(2em,.05em) rotate(-8deg)}75%{transform:translate(3em,-.2em) rotate(8deg)}95%{opacity:1}100%{opacity:0;transform:translate(4.2em,0) rotate(0)}}
/* Maths — Ma+hs² with turning plus and floating symbols */
.w-math{background:linear-gradient(90deg,#6d28d9,#8b5cf6,#a78bfa);-webkit-background-clip:text;background-clip:text;color:transparent}
.lp-hero h1 .math-plus{display:inline-block;-webkit-text-fill-color:#7c3aed;color:#7c3aed;animation:lpPlus 6s ease-in-out infinite}
@keyframes lpPlus{0%,70%,100%{transform:rotate(0)}80%{transform:rotate(180deg) scale(1.15)}90%{transform:rotate(360deg)}}
.lp-hero h1 .w-math sup{font-size:.42em;vertical-align:super;-webkit-text-fill-color:#a78bfa}
.w-math .sym{position:absolute;font:700 .3em/1 'Plus Jakarta Sans',sans-serif;-webkit-text-fill-color:#8b5cf6;color:#8b5cf6;opacity:0;animation:lpSym 6s ease-in-out infinite}
.w-math .y1{right:-1em;top:.15em}.w-math .y2{right:-2.1em;top:.5em;animation-delay:1.5s}.w-math .y3{right:-3em;top:.05em;animation-delay:3s}.w-math .y4{right:-1.7em;top:-.25em;animation-delay:4.5s}
@keyframes lpSym{0%{opacity:0;transform:translateY(.3em) scale(.7)}20%,60%{opacity:.85;transform:none}100%{opacity:0;transform:translateY(-.4em) rotate(20deg)}}
/* S T E M tiles beside Championship 2026 */
.lp-stem-badge{display:inline-flex;gap:4px;margin-left:.2em;vertical-align:middle;letter-spacing:0}
.lp-stem-badge i{font:800 .5em/1 'Plus Jakarta Sans',Inter,sans-serif;font-style:normal;display:grid;place-items:center;width:1.55em;height:1.55em;border-radius:.35em;color:#fff;opacity:.4;animation:lpTile 8s ease-in-out infinite}
.lp-stem-badge i:nth-child(1){background:#10b981}.lp-stem-badge i:nth-child(2){background:#06b6d4;animation-delay:2s}.lp-stem-badge i:nth-child(3){background:#f26b5b;animation-delay:4s}.lp-stem-badge i:nth-child(4){background:#8b5cf6;animation-delay:6s}
@keyframes lpTile{0%,100%{opacity:.4;transform:none}4%,70%{opacity:1}5%{transform:translateY(-4px) scale(1.12);box-shadow:0 6px 14px #0b1a4a33}12%{transform:none}}
@media(prefers-reduced-motion:reduce){.lp-hero h1 .eng-txt{clip-path:none}.lp-hero h1 .eng-pen,.w-sci .bub,.w-math .sym{display:none}.lp-stem-badge i{opacity:1}}

/* ---------- Highlight strip: interactive cards + glass explainer ---------- */
.lp-strip{gap:6px}
.lp-hl{display:flex;gap:14px;align-items:center;text-align:left;font:inherit;color:inherit;background:transparent;border:0;border-radius:16px;padding:10px 14px;cursor:pointer;transition:background .2s,transform .2s,box-shadow .2s;position:relative}
.lp-strip>.lp-hl+.lp-hl{border-left:0}
.lp-hl+.lp-hl::before{content:'';position:absolute;left:-3px;top:18%;bottom:18%;width:1px;background:#dfe6f3}
.lp-hl:hover,.lp-hl.on{background:#ffffffd9;transform:translateY(-3px);box-shadow:0 12px 26px #1e3a8a1f}
.lp-hl:focus-visible{outline:3px solid #93c5fd;outline-offset:2px}
.lp-hl-text{display:flex;flex-direction:column;gap:3px}
.lp-hl-text b{font:700 17px/1.2 'Plus Jakarta Sans',Inter,sans-serif;color:var(--lp-navy)}
.lp-hl-text small{font-size:13.5px;line-height:1.4;color:var(--lp-soft)}
.lp-hl-text em{display:inline-flex;align-items:center;gap:3px;font-style:normal;font-size:12px;font-weight:700;color:var(--lp-blue);opacity:.75;transition:opacity .2s,gap .2s}
.lp-hl-text em .lp-ic{width:14px;height:14px;transform:rotate(-90deg)}
.lp-hl:hover em,.lp-hl.on em{opacity:1;gap:6px}
.lp-hl.on em .lp-ic{transform:rotate(0)}
.lp-hl:hover .lp-bubble{transform:rotate(-8deg) scale(1.06)}
.lp-hl .lp-bubble{transition:transform .25s}
.lp-pop{position:absolute;z-index:30;padding:18px 18px 16px;border-radius:20px;background:linear-gradient(160deg,#ffffffd1,#eef4ffbf);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);border:1px solid #ffffffe6;box-shadow:0 24px 60px #0b1a4a33,inset 0 1px 0 #fff;color:var(--lp-ink);transform-origin:var(--ax) -10px}
.lp-pop[hidden]{display:none}
.lp-pop.show{animation:lpPopIn .28s cubic-bezier(.2,.9,.3,1.2)}
@keyframes lpPopIn{from{opacity:0;transform:translateY(-8px) scale(.94)}to{opacity:1;transform:none}}
.lp-pop::before{content:'';position:absolute;top:-8px;left:calc(var(--ax) - 8px);width:16px;height:16px;background:#fbfdffe6;border-left:1px solid #fff;border-top:1px solid #fff;transform:rotate(45deg);border-radius:4px 0 0 0}
.lp-pop-x{position:absolute;right:10px;top:10px;width:30px;height:30px;border-radius:50%;border:0;background:#0b1a4a0f;color:var(--lp-navy);cursor:pointer;font-size:13px}
.lp-pop-x:hover{background:#0b1a4a1f}
.lp-pop-head{display:flex;gap:12px;align-items:center;padding-right:30px}
.lp-pop-head .lp-bubble{width:44px;height:44px}.lp-pop-head .lp-bubble .lp-ic{width:21px;height:21px}
.lp-pop-head h3{font:800 17px/1.2 'Plus Jakarta Sans',Inter,sans-serif;color:var(--lp-navy)}
.lp-pop-head p{font-size:12.5px;color:var(--lp-soft);margin-top:2px}
.lp-pop-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0 10px}
.lp-pop-facts div{background:#ffffffb3;border:1px solid #fff;border-radius:12px;padding:8px 6px;text-align:center}
.lp-pop-facts b{display:block;font:800 16px/1.1 'Plus Jakarta Sans',Inter,sans-serif;color:var(--pc,#2563eb)}
.lp-pop-facts small{font-size:10.5px;color:var(--lp-soft);font-weight:600}
.lp-pop ul{list-style:none;padding:0;margin:0;display:grid;gap:7px}
.lp-pop li{position:relative;padding-left:24px;font-size:13px;line-height:1.45;color:var(--lp-ink)}
.lp-pop li::before{content:'✓';position:absolute;left:0;top:1px;width:17px;height:17px;border-radius:50%;display:grid;place-items:center;font-size:10px;font-weight:800;color:#fff;background:var(--pc,#2563eb)}
.lp-pop-cta{margin-top:14px;width:100%;border:0;border-radius:12px;padding:11px;font:700 14px 'Plus Jakarta Sans',Inter,sans-serif;color:#fff;cursor:pointer;background:var(--pg,linear-gradient(135deg,#3b82f6,#1d4ed8))}
.lp-pop.blue{--pc:#2563eb;--pg:linear-gradient(135deg,#3b82f6,#1d4ed8)}
.lp-pop.purple{--pc:#7c3aed;--pg:linear-gradient(135deg,#a78bfa,#7c3aed)}
.lp-pop.coral{--pc:#e8504a;--pg:linear-gradient(135deg,#fb8a7a,#e8504a)}
.lp-pop.green{--pc:#059669;--pg:linear-gradient(135deg,#34d399,#059669)}
@media(max-width:1100px){.lp-hl+.lp-hl::before{display:none}}
@media(max-width:600px){.lp-hl{padding:10px 8px}.lp-pop{padding:16px 14px 14px}}
@media(prefers-reduced-motion:reduce){.lp-pop.show{animation:none}.lp-hl,.lp-hl:hover{transform:none}}
.lp-strip>.lp-hl .lp-bubble{animation:lpPulse 3.6s ease-in-out infinite}.lp-strip>.lp-hl:nth-child(2) .lp-bubble{animation-delay:.9s}.lp-strip>.lp-hl:nth-child(3) .lp-bubble{animation-delay:1.8s}.lp-strip>.lp-hl:nth-child(4) .lp-bubble{animation-delay:2.7s}

.lp-strip-wrap{position:relative;z-index:3;max-width:1180px;margin:18px auto 0}
.lp-strip-wrap>.lp-strip{margin:0;max-width:none}
@media(max-width:600px){.lp-strip-wrap{margin:14px 16px 0}.lp-strip-wrap>.lp-strip{margin:0}}

/* ---------- Why compete: bento grid with live visuals ---------- */
.lp-grad{background:linear-gradient(90deg,#2563eb,#8b5cf6,#f26b5b);-webkit-background-clip:text;background-clip:text;color:transparent}
.lp-bento{display:grid;grid-template-columns:1.25fr 1.25fr 1fr 1fr;grid-template-rows:auto auto;gap:18px;margin-top:34px}
.bento{position:relative;overflow:hidden;background:linear-gradient(170deg,#ffffff,#f7f9ff);border:1px solid #e6ecf6;border-radius:24px;padding:22px;box-shadow:0 10px 30px #1e3a8a0f;display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s}
.bento:hover{transform:translateY(-4px);box-shadow:0 20px 44px #1e3a8a1f}
.bento h3{font:800 18px/1.25 'Plus Jakarta Sans',Inter,sans-serif;color:var(--lp-navy);margin-top:auto;padding-top:14px}
.bento p{font-size:14px;color:var(--lp-soft);margin-top:5px;line-height:1.5}
.bento.big{grid-column:1/3;grid-row:1/3;display:grid;grid-template-columns:1fr 1.15fr;gap:22px;align-items:center;padding:30px;background:radial-gradient(500px 300px at 100% 0,#dbeafe,transparent 70%),radial-gradient(400px 260px at 0 100%,#ede9fe,transparent 70%),#fff}
.bento.big h3{font-size:28px;margin-top:16px;padding:0;letter-spacing:-.5px}
.bento.big p{font-size:15.5px}
.bento-tag{display:inline-flex;align-items:center;gap:6px;width:fit-content;font-size:11.5px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;padding:6px 10px;border-radius:999px}
.bento-tag .lp-ic{width:14px;height:14px}
.bento-tag.blue{color:#1d4ed8;background:#dbeafe}.bento-tag.purple{color:#6d28d9;background:#ede9fe}.bento-tag.coral{color:#c2410c;background:#ffedd5}.bento-tag.green{color:#047857;background:#d1fae5}
/* leaderboard */
.viz-board{background:#ffffffcc;backdrop-filter:blur(8px);border:1px solid #fff;border-radius:18px;padding:14px;box-shadow:0 16px 36px #1e3a8a1f}
.vb-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.vb-head b{font:800 13px 'Plus Jakarta Sans',Inter,sans-serif;color:var(--lp-navy)}
.vb-head span{font-size:10.5px;font-weight:700;color:#059669;background:#d1fae5;border-radius:999px;padding:3px 8px}
.vb-head span::before{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;background:#10b981;margin-right:5px;animation:lpBlink 1.4s infinite}
.vb-row{display:grid;grid-template-columns:30px 26px 1fr auto auto;align-items:center;gap:8px;padding:8px;border-radius:12px;margin-top:4px;opacity:0;transform:translateX(18px)}
.bento.in .vb-row{animation:lpRowIn .5s cubic-bezier(.2,.8,.2,1) forwards;animation-delay:calc(var(--i)*.12s)}
@keyframes lpRowIn{to{opacity:1;transform:none}}
.vb-rank{font:800 13px 'Plus Jakarta Sans',Inter,sans-serif;color:#64748b;text-align:center}
.vb-av{width:26px;height:26px;border-radius:50%;background:linear-gradient(135deg,#e2e8f0,#cbd5e1)}
.vb-name{height:8px;border-radius:6px;background:#e2e8f0;width:80%}
.vb-row b{font:800 13px 'Plus Jakarta Sans',Inter,sans-serif;color:var(--lp-navy)}
.vb-row.you{background:linear-gradient(90deg,#dbeafe,#ede9fe);box-shadow:0 0 0 1.5px #93c5fd inset}
.bento.in .vb-row.you{animation:lpRowIn .5s cubic-bezier(.2,.8,.2,1) forwards .48s,lpYou 2.4s ease-in-out 1.2s infinite}
@keyframes lpYou{50%{box-shadow:0 0 0 1.5px #93c5fd inset,0 0 0 6px #93c5fd33}}
.vb-av.me{display:grid;place-items:center;font-size:8.5px;font-weight:800;color:#fff;background:linear-gradient(135deg,#3b82f6,#7c3aed)}
.vb-name.me{background:#bfdbfe;overflow:hidden}.vb-name.me i{display:block;height:100%;width:0;background:linear-gradient(90deg,#3b82f6,#8b5cf6);border-radius:6px}
.bento.in .vb-name.me i{animation:lpFill 1.2s ease-out .9s forwards}
@keyframes lpFill{to{width:100%}}
.vb-row em{font-style:normal;font-size:11px;font-weight:800;color:#059669}
.vb-subj{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.vb-subj span{font-size:10.5px;font-weight:700;border-radius:999px;padding:4px 9px}
.vb-subj .g{color:#047857;background:#d1fae5}.vb-subj .p{color:#6d28d9;background:#ede9fe}.vb-subj .c{color:#c2410c;background:#ffedd5}
/* state pin */
.viz-pin{position:relative;display:flex;align-items:center;gap:16px;margin-top:18px;min-height:76px}
.viz-pin .pin{position:relative;z-index:1;display:grid;place-items:center;width:52px;height:52px;border-radius:50%;color:#fff;background:linear-gradient(135deg,#a78bfa,#7c3aed);box-shadow:0 10px 22px #7c3aed55}
.viz-pin>i{position:absolute;left:0;top:50%;width:52px;height:52px;margin-top:-26px;border-radius:50%;border:2px solid #a78bfa;opacity:0;animation:lpRipple 2.6s ease-out infinite}
.viz-pin>i+i{animation-delay:1.3s}
@keyframes lpRipple{0%{transform:scale(1);opacity:.7}100%{transform:scale(2.2);opacity:0}}
.viz-pin b{display:block;font:800 34px/1 'Plus Jakarta Sans',Inter,sans-serif;background:linear-gradient(90deg,#6d28d9,#a78bfa);-webkit-background-clip:text;background-clip:text;color:transparent}
.viz-pin small{font-size:12px;font-weight:600;color:var(--lp-soft)}
/* podium */
.viz-podium{display:flex;align-items:flex-end;justify-content:center;gap:8px;height:100px;margin-top:16px}
.pod{display:flex;flex-direction:column;align-items:center;gap:4px;width:30%}
.pod small{font-size:11px;font-weight:800;color:#c2410c;opacity:0;transition:opacity .4s .9s}
.pod i{display:grid;place-items:end center;width:100%;height:0;border-radius:10px 10px 4px 4px;padding-bottom:6px;transition:height .8s cubic-bezier(.2,.9,.3,1.1)}
.pod i b{font:800 15px 'Plus Jakarta Sans',Inter,sans-serif;color:#fff}
.pod.p1 i{background:linear-gradient(180deg,#fbbf24,#f59e0b);transition-delay:.2s}.pod.p2 i{background:linear-gradient(180deg,#cbd5e1,#94a3b8)}.pod.p3 i{background:linear-gradient(180deg,#fdba74,#f26b5b);transition-delay:.35s}
.bento.in .pod.p1 i{height:74px}.bento.in .pod.p2 i{height:54px}.bento.in .pod.p3 i{height:40px}.bento.in .pod small{opacity:1}
/* certificate */
.viz-cert{display:grid;place-items:center;margin-top:16px;min-height:96px}
.vc-paper{position:relative;width:78%;padding:12px 14px 16px;border-radius:8px;background:#fff;border:3px double #93c5fd;box-shadow:0 12px 26px #1e3a8a26;transform:rotate(-4deg);transition:transform .6s cubic-bezier(.2,.9,.3,1.2)}
.bento.in .vc-paper{transform:rotate(-2deg)}.bento:hover .vc-paper{transform:rotate(0) scale(1.04)}
.vc-paper small{display:block;font-size:7.5px;font-weight:800;letter-spacing:.8px;color:#1d4ed8;text-align:center;margin-bottom:8px}
.vc-line{display:block;height:5px;border-radius:4px;background:#e2e8f0;margin:5px auto}.vc-line.w1{width:70%;background:#cbd5e1}.vc-line.w2{width:55%}.vc-line.w3{width:40%}
.vc-seal{position:absolute;right:-12px;bottom:-12px;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;font:800 10.5px 'Plus Jakarta Sans',Inter,sans-serif;color:#fff;background:conic-gradient(from 0deg,#10b981,#059669,#34d399,#10b981);box-shadow:0 6px 14px #05966966;transform:scale(0);transition:transform .5s cubic-bezier(.2,.9,.3,1.5) .5s}
.bento.in .vc-seal{transform:scale(1)}
/* quiz */
.viz-quiz{display:flex;flex-direction:column;gap:7px;margin-top:16px;background:#f8fafc;border:1px solid #e6ecf6;border-radius:14px;padding:12px}
.viz-quiz b{font-size:12.5px;color:var(--lp-navy)}
.viz-quiz .q{display:flex;justify-content:space-between;align-items:center;font-size:12.5px;font-weight:600;padding:7px 10px;border-radius:9px;background:#fff;border:1px solid #e6ecf6;transition:background .4s,border-color .4s,color .4s}
.viz-quiz .q i{font-style:normal;font-weight:800;opacity:0;transition:opacity .3s}
.bento.in .viz-quiz .ok{background:#ecfdf5;border-color:#6ee7b7;color:#047857;transition-delay:.4s}.bento.in .viz-quiz .bad{background:#fff1f0;border-color:#fca5a5;color:#b91c1c;transition-delay:.8s}
.bento.in .viz-quiz .ok i{opacity:1;transition-delay:.4s}.bento.in .viz-quiz .bad i{opacity:1;transition-delay:.8s}
@media(max-width:1100px){.lp-bento{grid-template-columns:1fr 1fr}.bento.big{grid-column:1/3;grid-row:auto}}
@media(max-width:760px){.lp-bento{grid-template-columns:1fr}.bento.big{grid-column:auto;grid-template-columns:1fr;padding:22px}.bento.big h3{font-size:23px}}
@media(prefers-reduced-motion:reduce){.vb-row{opacity:1;transform:none}.vb-name.me i{width:100%}.pod i{transition:none}.pod.p1 i{height:74px}.pod.p2 i{height:54px}.pod.p3 i{height:40px}.pod small{opacity:1}.vc-seal{transform:scale(1)}}

/* big tile: fill the copy column */
.bento.big{align-items:stretch}
.bento.big .bento-copy{display:flex;flex-direction:column;gap:0}
.bento-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:18px}
.bento-stats div{background:#ffffffb3;border:1px solid #e3e9f5;border-radius:14px;padding:10px 8px;text-align:center}
.bento-stats b{display:block;font:800 19px/1.1 'Plus Jakarta Sans',Inter,sans-serif;background:linear-gradient(90deg,#1d4ed8,#7c3aed);-webkit-background-clip:text;background-clip:text;color:transparent}
.bento-stats small{font-size:11px;font-weight:600;color:var(--lp-soft)}
.viz-journey{margin-top:14px;background:#ffffffb3;border:1px solid #e3e9f5;border-radius:16px;padding:12px 14px 10px}
.vj-head{display:flex;justify-content:space-between;align-items:center}
.vj-head b{font:800 12.5px 'Plus Jakarta Sans',Inter,sans-serif;color:var(--lp-navy)}
.vj-head span{font-size:10px;font-weight:700;color:#64748b;background:#f1f5f9;border-radius:999px;padding:2px 8px}
.viz-journey svg{display:block;width:100%;height:auto;margin-top:6px;overflow:visible}
.vj-line{stroke-dasharray:1;stroke-dashoffset:1}
.bento.in .vj-line{animation:lpDraw 1.6s ease-out .3s forwards}
@keyframes lpDraw{to{stroke-dashoffset:0}}
.vj-area{opacity:0;transition:opacity .8s 1.2s}.bento.in .vj-area{opacity:1}
.vj-dot{fill:#fff;stroke:#3b82f6;stroke-width:2.5;opacity:0;transform-box:fill-box;transform-origin:center}
.vj-dot.d4{stroke:#7c3aed;fill:#7c3aed}
.bento.in .vj-dot{animation:lpDot .4s cubic-bezier(.2,.9,.3,1.6) forwards}
.bento.in .vj-dot.d1{animation-delay:.35s}.bento.in .vj-dot.d2{animation-delay:.75s}.bento.in .vj-dot.d3{animation-delay:1.15s}.bento.in .vj-dot.d4{animation-delay:1.55s,2.2s;animation-name:lpDot,lpDotGlow;animation-duration:.4s,2s;animation-iteration-count:1,infinite}
@keyframes lpDot{from{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}
@keyframes lpDotGlow{0%,100%{opacity:1;filter:none}50%{filter:drop-shadow(0 0 6px #8b5cf6)}}
.vj-labels{display:flex;justify-content:space-between;margin-top:4px}
.vj-labels span{display:flex;flex-direction:column;align-items:center;font-size:9.5px;color:#94a3b8;font-weight:600}
.vj-labels b{font:800 12px 'Plus Jakarta Sans',Inter,sans-serif;color:#475569}
.vj-labels span:last-child b{color:#7c3aed}
.bento-cta{margin-top:16px;align-self:flex-start;display:inline-flex;align-items:center;gap:6px;font:700 14px 'Plus Jakarta Sans',Inter,sans-serif;color:#fff;text-decoration:none;background:linear-gradient(135deg,#3b82f6,#1d4ed8);padding:10px 16px;border-radius:12px;box-shadow:0 8px 18px #2563eb40;transition:transform .2s}
.bento-cta:hover{transform:translateX(3px)}
@media(prefers-reduced-motion:reduce){.vj-line{stroke-dashoffset:0}.vj-area,.vj-dot{opacity:1}}

.bento.big .bento-copy{justify-content:space-between}
.bento.big .viz-board{display:flex;flex-direction:column;justify-content:space-between;align-self:stretch}
.vb-head span::before{display:none}
.vb-foot{display:flex;align-items:center;gap:12px;margin-top:12px;padding:12px;border-radius:14px;background:linear-gradient(135deg,#eff6ff,#f5f3ff);border:1px solid #e0e7ff}
.vb-foot svg{width:44px;height:44px;flex-shrink:0;transform:rotate(-90deg)}
.vb-foot .ring-bg{fill:none;stroke:#e0e7ff;stroke-width:5}
.vb-foot .ring{fill:none;stroke:url(#vjStroke);stroke:#7c3aed;stroke-width:5;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:100;transition:stroke-dashoffset 1.4s cubic-bezier(.2,.8,.2,1) 1.2s}
.bento.in .vb-foot .ring{stroke-dashoffset:10}
.vb-foot b{display:block;font:800 13px 'Plus Jakarta Sans',Inter,sans-serif;color:var(--lp-navy)}
.vb-foot small{font-size:10.5px;color:var(--lp-soft);line-height:1.35}
@media(max-width:1100px){.bento.big .vb-row[style*="--i:6"],.bento.big .vb-row[style*="--i:7"]{display:none}}
@media(prefers-reduced-motion:reduce){.vb-foot .ring{stroke-dashoffset:10}}

/* ---------- Subjects: rich cards ---------- */
.subj-bar{display:flex;gap:6px;margin-top:26px;height:38px}
.subj-bar span{flex:1;display:grid;place-items:center;font:700 13px 'Plus Jakarta Sans',Inter,sans-serif;color:#fff;border-radius:12px;transform-origin:left;animation:lpGrowX .9s cubic-bezier(.2,.8,.2,1) both var(--d)}
.subj-bar .g{background:linear-gradient(135deg,#34d399,#059669)}.subj-bar .p{background:linear-gradient(135deg,#a78bfa,#7c3aed)}.subj-bar .c{background:linear-gradient(135deg,#fb8a7a,#e8504a)}
@keyframes lpGrowX{from{transform:scaleX(0);opacity:0}to{transform:none;opacity:1}}
.subj-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:22px}
.subj{--a:#10b981;--a2:#059669;--soft:#ecfdf5;--ink:#065f46;background:#fff;border:1px solid #e6ecf6;border-radius:24px;overflow:hidden;box-shadow:0 10px 30px #1e3a8a0f;display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s}
.subj.purple{--a:#8b5cf6;--a2:#6d28d9;--soft:#f5f3ff;--ink:#5b21b6}.subj.coral{--a:#f26b5b;--a2:#e8504a;--soft:#fff1ee;--ink:#9a3412}
.subj:hover{transform:translateY(-6px);box-shadow:0 24px 50px #1e3a8a24}
.subj-head{position:relative;overflow:hidden;display:flex;align-items:center;gap:14px;padding:26px 22px;background:linear-gradient(135deg,var(--a),var(--a2));color:#fff}
.subj-pattern{position:absolute;inset:0;pointer-events:none}
.subj-pattern i{position:absolute;font:700 15px 'Plus Jakarta Sans',Inter,sans-serif;font-style:normal;color:#ffffff38;white-space:nowrap;animation:lpDriftUp 9s linear infinite;animation-delay:calc(var(--k)*-1.15s);left:calc(8% + var(--k)*11.5%)}
.subj-pattern i:nth-child(odd){font-size:12px}
@keyframes lpDriftUp{from{transform:translateY(120px) rotate(-8deg)}to{transform:translateY(-40px) rotate(8deg)}}
.subj-icon{position:relative;z-index:1;display:grid;place-items:center;width:64px;height:64px;border-radius:20px;background:#ffffff2e;border:1px solid #ffffff55;backdrop-filter:blur(6px);box-shadow:0 10px 24px #0000001f}
.subj-icon .lp-ic{width:32px;height:32px}
.subj-icon.spin .lp-ic{animation:lpSpin 8s linear infinite}
.subj-icon.bob .lp-ic{animation:lpBob 3s ease-in-out infinite}
.subj-icon.flip .lp-ic{animation:lpFlip 4s ease-in-out infinite}
@keyframes lpFlip{0%,60%,100%{transform:rotateY(0)}80%{transform:rotateY(180deg)}}
.subj-title{position:relative;z-index:1}
.subj-title h3{font:800 24px/1.1 'Plus Jakarta Sans',Inter,sans-serif;color:#fff}
.subj-title span{display:inline-block;margin-top:6px;font-size:12px;font-weight:700;background:#ffffff2e;border:1px solid #ffffff4d;border-radius:999px;padding:3px 10px}
.subj-body{padding:20px 22px 22px;display:flex;flex-direction:column;flex:1}
.subj-body>p{font-size:14.5px;color:var(--lp-soft);line-height:1.55}
.subj-topics{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.subj-topics span{font-size:12px;font-weight:700;color:var(--ink);background:var(--soft);border-radius:999px;padding:4px 10px}
.subj-try{margin-top:16px;background:var(--soft);border:1px dashed color-mix(in srgb,var(--a) 45%,transparent);border-radius:16px;padding:14px}
.subj-try small{font-size:10.5px;font-weight:800;letter-spacing:.8px;color:var(--a2)}
.subj-try>b{display:block;font-size:14.5px;color:var(--lp-navy);margin:6px 0 10px}
.subj-opts{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.subj-opts button{font:600 13px Inter,sans-serif;padding:9px 6px;border-radius:10px;border:1.5px solid #e2e8f0;background:#fff;color:var(--lp-ink);cursor:pointer;transition:transform .15s,border-color .15s,background .2s}
.subj-opts button:hover:not(:disabled){border-color:var(--a);transform:translateY(-2px)}
.subj-opts button:disabled{cursor:default}
.subj-opts button.right{background:#10b981;border-color:#10b981;color:#fff;animation:lpPopOk .4s cubic-bezier(.2,.9,.3,1.6)}
.subj-opts button.wrong{background:#fee2e2;border-color:#f87171;color:#b91c1c;animation:lpShake .4s}
@keyframes lpPopOk{50%{transform:scale(1.08)}}
@keyframes lpShake{25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}
.subj-fb{font-size:12.5px;line-height:1.45;margin-top:8px;min-height:0}
.subj-fb:empty{display:none}
.subj-fb.ok{color:#047857}.subj-fb.no{color:#b91c1c}
.subj-again{border:0;background:none;color:var(--a2);font:700 12.5px Inter,sans-serif;text-decoration:underline;cursor:pointer;padding:0;margin-left:2px}
.subj-cta{margin-top:auto;align-self:stretch;border:0;cursor:pointer;margin-top:16px;padding:12px;border-radius:12px;font:700 14px 'Plus Jakarta Sans',Inter,sans-serif;color:#fff;background:linear-gradient(135deg,var(--a),var(--a2));box-shadow:0 8px 18px color-mix(in srgb,var(--a) 35%,transparent);transition:transform .2s}
.subj-cta:hover{transform:translateY(-2px)}
@media(max-width:900px){.subj-grid{grid-template-columns:1fr}.subj-bar span{font-size:12px}}
@media(prefers-reduced-motion:reduce){.subj-pattern i,.subj-icon .lp-ic,.subj-bar span{animation:none}}

/* Technology card (coming soon) */
.subj.cyan{--a:#06b6d4;--a2:#2563eb;--soft:#ecfeff;--ink:#155e75}
.subj.cyan .subj-head{background:linear-gradient(135deg,#06b6d4,#2563eb 75%,#4f46e5)}
.subj.cyan .subj-pattern i{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.subj-icon.glow .lp-ic{animation:lpChip 2.4s ease-in-out infinite}
@keyframes lpChip{0%,100%{filter:drop-shadow(0 0 0 #a5f3fc)}50%{filter:drop-shadow(0 0 8px #a5f3fc)}}
.subj-new{position:absolute;z-index:2;right:14px;top:14px;font-size:11px;font-weight:800;letter-spacing:.3px;color:#0e7490;background:#fff;border-radius:999px;padding:5px 10px;box-shadow:0 6px 14px #0000001f;animation:lpNew 2.4s ease-in-out infinite}
@keyframes lpNew{0%,100%{transform:none}50%{transform:scale(1.06)}}
.subj.cyan .subj-opts{grid-template-columns:1fr}
.subj-bar .t{flex:.55;color:#0e7490;background:repeating-linear-gradient(135deg,#ecfeff,#ecfeff 8px,#cffafe 8px,#cffafe 16px);border:1.5px dashed #67e8f9}
.subj-grid{grid-template-columns:repeat(2,1fr)}
@media(max-width:900px){.subj-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.subj-new{animation:none}}

/* ---------- Subjects: compact explorer ---------- */
.sx-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:26px}
.sx-tab{--a:#10b981;--a2:#059669;display:flex;align-items:center;gap:8px;justify-content:center;font:700 14px 'Plus Jakarta Sans',Inter,sans-serif;color:var(--lp-navy);background:#fff;border:1.5px solid #e3e9f5;border-radius:14px;padding:11px 10px;cursor:pointer;transition:all .2s}
.sx-tab.purple{--a:#8b5cf6;--a2:#6d28d9}.sx-tab.coral{--a:#f26b5b;--a2:#e8504a}.sx-tab.cyan{--a:#06b6d4;--a2:#2563eb}
.sx-tab .lp-ic{width:18px;height:18px;color:var(--a)}
.sx-tab em{font-style:normal;font-size:11px;font-weight:800;color:var(--a2);background:color-mix(in srgb,var(--a) 14%,#fff);border-radius:999px;padding:2px 7px}
.sx-tab:hover{border-color:var(--a);transform:translateY(-2px)}
.sx-tab.on{color:#fff;border-color:transparent;background:linear-gradient(135deg,var(--a),var(--a2));box-shadow:0 10px 22px color-mix(in srgb,var(--a) 35%,transparent)}
.sx-tab.on .lp-ic{color:#fff}.sx-tab.on em{color:#fff;background:#ffffff33}
.sx-panel{--a:#10b981;--a2:#059669;--soft:#ecfdf5;--ink:#065f46;display:grid;grid-template-columns:.85fr 1.15fr;margin-top:12px;background:#fff;border:1px solid #e6ecf6;border-radius:22px;overflow:hidden;box-shadow:0 14px 36px #1e3a8a14;animation:lpRise .35s ease both}
.sx-panel.purple{--a:#8b5cf6;--a2:#6d28d9;--soft:#f5f3ff;--ink:#5b21b6}.sx-panel.coral{--a:#f26b5b;--a2:#e8504a;--soft:#fff1ee;--ink:#9a3412}.sx-panel.cyan{--a:#06b6d4;--a2:#2563eb;--soft:#ecfeff;--ink:#155e75}
.sx-info{position:relative;overflow:hidden;padding:22px;color:#fff;background:linear-gradient(145deg,var(--a),var(--a2));display:flex;flex-direction:column;gap:12px}
.sx-panel.cyan .sx-info{background:linear-gradient(145deg,#06b6d4,#2563eb 70%,#4f46e5)}
.sx-id{position:relative;z-index:1;display:flex;align-items:center;gap:12px}
.sx-id .subj-icon{width:54px;height:54px;border-radius:16px}.sx-id .subj-icon .lp-ic{width:28px;height:28px}
.sx-id h3{font:800 23px/1.1 'Plus Jakarta Sans',Inter,sans-serif;color:#fff}
.sx-pill{display:inline-block;margin-top:5px;font-size:11.5px;font-weight:700;background:#ffffff2e;border:1px solid #ffffff4d;border-radius:999px;padding:3px 9px}
.sx-info>p{position:relative;z-index:1;font-size:14px;line-height:1.5;color:#ffffffe6}
.sx-topics{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:6px}
.sx-topics span{font-size:11.5px;font-weight:700;color:#fff;background:#ffffff26;border:1px solid #ffffff40;border-radius:999px;padding:4px 9px}
.sx-quiz{padding:20px 22px;display:flex;flex-direction:column;gap:12px}
.sx-qhead{display:flex;align-items:center;gap:8px}
.sx-qhead small{font-size:11px;font-weight:800;letter-spacing:.8px;color:var(--a2)}
.sx-hard{font-size:11px;font-weight:800;color:#b45309;background:#fef3c7;border-radius:999px;padding:3px 8px}
.sx-dots{margin-left:auto;display:flex;gap:5px}.sx-dots i{width:8px;height:8px;border-radius:50%;background:#e2e8f0;transition:all .2s}.sx-dots i.on{width:20px;border-radius:5px;background:var(--a)}
.sx-q{font:700 16px/1.45 'Plus Jakarta Sans',Inter,sans-serif;color:var(--lp-navy)}
.sx-opts{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.sx-opts button{display:flex;align-items:center;gap:10px;text-align:left;font:600 14px Inter,sans-serif;padding:10px 12px;border-radius:12px;border:1.5px solid #e2e8f0;background:#fff;color:var(--lp-ink);cursor:pointer;transition:transform .15s,border-color .15s,background .2s}
.sx-opts button i{font-style:normal;display:grid;place-items:center;flex-shrink:0;width:24px;height:24px;border-radius:7px;font-size:12px;font-weight:800;color:var(--a2);background:var(--soft)}
.sx-opts button:hover:not(:disabled){border-color:var(--a);transform:translateY(-2px)}
.sx-opts button:disabled{cursor:default;opacity:1}
.sx-opts button.right{background:#ecfdf5;border-color:#10b981;color:#047857;animation:lpPopOk .4s cubic-bezier(.2,.9,.3,1.6)}.sx-opts button.right i{background:#10b981;color:#fff}
.sx-opts button.wrong{background:#fef2f2;border-color:#f87171;color:#b91c1c;animation:lpShake .4s}.sx-opts button.wrong i{background:#f87171;color:#fff}
.sx-foot{display:flex;align-items:center;gap:12px;margin-top:auto}
.sx-fb{flex:1;font-size:13px;line-height:1.45;color:var(--lp-soft)}
.sx-fb.ok{color:#047857}.sx-fb.no{color:#b91c1c}
.sx-next{flex-shrink:0;border:0;cursor:pointer;padding:10px 14px;border-radius:11px;font:700 13.5px 'Plus Jakarta Sans',Inter,sans-serif;color:#fff;background:linear-gradient(135deg,var(--a),var(--a2));transition:transform .2s}
.sx-next:hover{transform:translateX(3px)}
@media(max-width:900px){.sx-panel{grid-template-columns:1fr}.sx-tabs{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.sx-opts{grid-template-columns:1fr}.sx-foot{flex-direction:column;align-items:stretch}.sx-next{width:100%}.sx-tab{font-size:13px;padding:10px 6px}}
@media(prefers-reduced-motion:reduce){.sx-panel{animation:none}}

/* ---------- Topic chips + small glass explainer (dark text) ---------- */
#subj-x{position:relative}
.sx-topics .sx-chip{display:inline-flex;align-items:center;gap:6px;font:700 11.5px Inter,sans-serif;color:#fff;background:#ffffff26;border:1px solid #ffffff59;border-radius:999px;padding:4px 6px 4px 10px;cursor:pointer;transition:background .2s,transform .15s}
.sx-chip i{display:grid;place-items:center;width:15px;height:15px;border-radius:50%;background:#ffffff40;font:800 10px Georgia,serif;font-style:italic}
.sx-chip:hover{background:#ffffff40;transform:translateY(-1px)}
.sx-chip.on{background:#fff;color:var(--a2)}.sx-chip.on i{background:var(--a);color:#fff}
.sx-chip:focus-visible{outline:2px solid #fff;outline-offset:2px}
.sx-tpop{--a:#10b981;--a2:#059669;position:absolute;z-index:40;padding:16px 16px 14px;border-radius:18px;color:#0b1a4a;
 background:linear-gradient(160deg,#ffffffc7,#f8fafcb8);backdrop-filter:blur(16px) saturate(1.5);-webkit-backdrop-filter:blur(16px) saturate(1.5);
 border:1px solid #ffffffe6;box-shadow:0 22px 50px #0b1a4a33,inset 0 1px 0 #fff;transform-origin:var(--ax) -10px}
.sx-tpop[hidden]{display:none}
.sx-tpop.show{animation:lpPopIn .26s cubic-bezier(.2,.9,.3,1.2)}
.sx-tpop.purple{--a:#8b5cf6;--a2:#6d28d9}.sx-tpop.coral{--a:#f26b5b;--a2:#c2410c}.sx-tpop.cyan{--a:#06b6d4;--a2:#0e7490}
.sx-tpop::before{content:'';position:absolute;top:-7px;left:calc(var(--ax) - 7px);width:14px;height:14px;background:#fffffff0;border-left:1px solid #fff;border-top:1px solid #fff;transform:rotate(45deg);border-radius:3px 0 0 0}
.sx-tpop-x{position:absolute;right:9px;top:9px;width:26px;height:26px;border-radius:50%;border:0;background:#0b1a4a12;color:#0b1a4a;cursor:pointer;font-size:12px}
.sx-tpop-x:hover{background:#0b1a4a24}
.sx-tpop h4{display:flex;align-items:center;gap:8px;font:800 16px/1.2 'Plus Jakarta Sans',Inter,sans-serif;color:#0b1a4a;padding-right:28px}
.sx-tpop h4 i{width:10px;height:10px;border-radius:50%;background:var(--a);box-shadow:0 0 0 4px color-mix(in srgb,var(--a) 22%,transparent)}
.sx-tpop h4 small{margin-left:auto;font:700 10.5px Inter,sans-serif;color:var(--a2);background:color-mix(in srgb,var(--a) 14%,#fff);border-radius:999px;padding:2px 8px}
.sx-tpop>p{font-size:13.5px;line-height:1.5;color:#1e293b;margin-top:8px}
.sx-tpop>b{display:block;margin-top:10px;font-size:11px;font-weight:800;letter-spacing:.7px;text-transform:uppercase;color:#334155}
.sx-tpop ul{list-style:none;padding:0;margin:6px 0 0;display:grid;gap:5px}
.sx-tpop li{position:relative;padding-left:22px;font-size:13px;line-height:1.4;color:#0f172a;font-weight:500}
.sx-tpop li::before{content:'✓';position:absolute;left:0;top:1px;width:16px;height:16px;border-radius:50%;display:grid;place-items:center;font-size:9.5px;font-weight:800;color:#fff;background:var(--a)}
.sx-tip{margin-top:10px;font-size:12.5px;line-height:1.45;color:#1e293b;background:#fffbeba6;border:1px solid #fde68a;border-radius:10px;padding:7px 10px}
@media(prefers-reduced-motion:reduce){.sx-tpop.show{animation:none}}

/* ---------- How it works: journey timeline ---------- */
.jr{position:relative;margin-top:34px;--cycle:10s}
.jr-track{position:absolute;left:12.5%;right:12.5%;top:22px;height:4px;border-radius:4px;background:#e3e9f5;z-index:0}
.jr-fill{position:absolute;inset:0;width:0;border-radius:4px;background:linear-gradient(90deg,#3b82f6,#8b5cf6,#f26b5b,#10b981);animation:lpJrFill var(--cycle) linear infinite}
.jr-runner{position:absolute;top:50%;left:0;display:grid;place-items:center;width:30px;height:30px;margin:-15px 0 0 -15px;border-radius:50%;color:#fff;background:linear-gradient(135deg,#3b82f6,#7c3aed);box-shadow:0 0 0 5px #fff,0 6px 16px #3b82f666;animation:lpJrRun var(--cycle) linear infinite}
.jr-runner .lp-ic{width:15px;height:15px;transform:rotate(45deg)}
@keyframes lpJrFill{0%{width:0}90%,100%{width:100%}}
@keyframes lpJrRun{0%{left:0}90%,100%{left:100%}}
.jr-steps{position:relative;z-index:1;list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.jr-step{--a:#3b82f6;--a2:#1d4ed8;--soft:#eff6ff;position:relative;background:#fff;border:1px solid #e6ecf6;border-radius:22px;padding:0 18px 18px;margin-top:22px;box-shadow:0 10px 26px #1e3a8a0f;display:flex;flex-direction:column;animation:lpJrOn var(--cycle) ease-in-out infinite;animation-delay:calc(var(--n)*2.25s)}
.jr-step.purple{--a:#8b5cf6;--a2:#6d28d9;--soft:#f5f3ff}.jr-step.coral{--a:#f26b5b;--a2:#e8504a;--soft:#fff1ee}.jr-step.green{--a:#10b981;--a2:#059669;--soft:#ecfdf5}
@keyframes lpJrOn{0%,22.5%,100%{transform:none;box-shadow:0 10px 26px #1e3a8a0f;border-color:#e6ecf6}4%,18%{transform:translateY(-6px);box-shadow:0 22px 44px color-mix(in srgb,var(--a) 28%,transparent);border-color:color-mix(in srgb,var(--a) 50%,#fff)}}
.jr-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:-22px}
.jr-num{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;font:800 16px 'Plus Jakarta Sans',Inter,sans-serif;color:#fff;background:linear-gradient(135deg,var(--a),var(--a2));border:4px solid #f3f7ff;box-shadow:0 6px 14px color-mix(in srgb,var(--a) 40%,transparent)}
.jr-chip{margin-top:26px;font-size:10.5px;font-weight:800;color:var(--a2);background:var(--soft);border-radius:999px;padding:4px 9px;text-align:right}
.jr-step h3{font:800 19px/1.2 'Plus Jakarta Sans',Inter,sans-serif;color:var(--lp-navy);margin-top:12px}
.jr-step>p{font-size:13.5px;line-height:1.5;color:var(--lp-soft);margin-top:6px}
.jr-viz{margin-top:auto;padding-top:14px}
.jr-viz>*{}
/* 1 register */
.v-reg{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.vr-dots{display:flex;align-items:center;gap:0}
.vr-dots i{width:16px;height:16px;border-radius:50%;background:#e2e8f0;position:relative;animation:lpDotFill var(--cycle) infinite}
.vr-dots i+i{margin-left:26px}.vr-dots i+i::before{content:'';position:absolute;right:16px;top:7px;width:26px;height:2px;background:#e2e8f0}
.vr-dots i:nth-child(2){animation-delay:.35s}.vr-dots i:nth-child(3){animation-delay:.7s}
@keyframes lpDotFill{0%,2%{background:#e2e8f0}6%,90%{background:var(--a);box-shadow:0 0 0 4px color-mix(in srgb,var(--a) 20%,transparent)}100%{background:#e2e8f0}}
.vr-id{font:700 12px ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--a2);background:var(--soft);border:1px dashed color-mix(in srgb,var(--a) 50%,#fff);border-radius:9px;padding:6px 9px;animation:lpIdPop var(--cycle) infinite}
@keyframes lpIdPop{0%,10%{opacity:0;transform:scale(.7)}14%{opacity:1;transform:scale(1.06)}17%,92%{opacity:1;transform:none}100%{opacity:0}}
/* 2 practise */
.v-prac{display:flex;align-items:center;gap:14px}
.v-prac svg{width:46px;height:46px;flex-shrink:0;transform:rotate(-90deg)}
.v-prac .t-bg{fill:none;stroke:#ede9fe;stroke-width:5}.v-prac .t-fg{fill:none;stroke:var(--a);stroke-width:5;stroke-linecap:round;stroke-dasharray:100;animation:lpTimer var(--cycle) linear infinite}
@keyframes lpTimer{from{stroke-dashoffset:0}to{stroke-dashoffset:100}}
.vp-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;flex:1}
.vp-grid i{height:16px;border-radius:5px;background:#e2e8f0;animation:lpCell var(--cycle) infinite;animation-delay:calc(2.4s + var(--k)*.18s)}
.vp-grid i.amb{animation-name:lpCellAmb}
@keyframes lpCell{0%,3%{background:#e2e8f0}6%,70%{background:#34d399}100%{background:#e2e8f0}}
@keyframes lpCellAmb{0%,3%{background:#e2e8f0}6%,70%{background:#fbbf24}100%{background:#e2e8f0}}
/* 3 compete */
.v-comp{display:grid;gap:7px}
.v-comp div{display:grid;grid-template-columns:40px 1fr;align-items:center;gap:8px}
.v-comp small{font-size:10.5px;font-weight:700;color:var(--lp-soft)}
.v-comp span{height:8px;border-radius:6px;background:#f1f5f9;overflow:hidden}
.v-comp i{display:block;height:100%;width:0;border-radius:6px;animation:lpBarJ var(--cycle) ease-out infinite;animation-delay:4.6s}
.v-comp .g i{background:linear-gradient(90deg,#34d399,#059669)}.v-comp .p i{background:linear-gradient(90deg,#a78bfa,#7c3aed);animation-delay:4.8s}.v-comp .c i{background:linear-gradient(90deg,#fb8a7a,#e8504a);animation-delay:5s}
@keyframes lpBarJ{0%{width:0}15%,70%{width:var(--w)}85%,100%{width:0}}
/* 4 celebrate */
.v-cele{display:flex;align-items:center;gap:12px;background:linear-gradient(135deg,#ecfdf5,#fefce8);border:1px solid #d1fae5;border-radius:14px;padding:10px 12px}
.vc-trophy{font-size:28px;animation:lpTrophyJ var(--cycle) infinite;animation-delay:6.9s}
@keyframes lpTrophyJ{0%,100%{transform:none}3%{transform:translateY(-8px) rotate(-10deg) scale(1.15)}6%{transform:translateY(0) rotate(8deg)}9%{transform:none}}
.v-cele b{display:block;font:800 15px 'Plus Jakarta Sans',Inter,sans-serif;color:var(--lp-navy)}
.v-cele small{font-size:11px;font-weight:600;color:#047857}
.vc-seal2{margin-left:auto;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;color:#fff;font-weight:800;background:conic-gradient(#10b981,#059669,#34d399,#10b981);box-shadow:0 4px 10px #05966955}
.jr-cta{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:14px;margin-top:26px}
.jr-cta span{font-size:13.5px;font-weight:600;color:var(--lp-soft)}
@media(max-width:1000px){
 .jr-track{left:22px;right:auto;top:22px;bottom:90px;width:4px;height:auto}
 .jr-fill{width:100%!important;height:0;animation-name:lpJrFillV}
 .jr-runner{left:50%!important;top:0;margin:-15px 0 0 -15px;animation-name:lpJrRunV}
 @keyframes lpJrFillV{0%{height:0}90%,100%{height:100%}}
 @keyframes lpJrRunV{0%{top:0}90%,100%{top:100%}}
 .jr-steps{grid-template-columns:1fr;gap:14px;padding-left:52px}
 .jr-step{margin-top:0;padding-top:16px}
 .jr-top{margin-top:0}.jr-num{position:absolute;left:-53px;top:12px;width:42px;height:42px;font-size:14px}
 .jr-chip{margin-top:0}
}
@media(prefers-reduced-motion:reduce){.jr-fill{animation:none;width:100%}.jr-runner{display:none}.jr-step,.vr-dots i,.vp-grid i,.vc-trophy{animation:none}.vr-id{animation:none;opacity:1}.v-prac .t-fg{animation:none;stroke-dashoffset:30}.v-comp i{animation:none;width:var(--w)}.vr-dots i{background:var(--a)}}

/* ---------- Journey: taller, clearer route above the cards ---------- */
.jr-track{left:12.5%;right:12.5%;top:26px;height:8px;border-radius:8px;background:#dfe7f5;box-shadow:inset 0 1px 2px #0b1a4a14}
.jr-fill{border-radius:8px;box-shadow:0 0 14px #8b5cf680,0 0 4px #3b82f6aa}
.jr-stop{position:absolute;top:50%;left:calc(var(--n)*33.333%);width:24px;height:24px;margin:-12px 0 0 -12px;border-radius:50%;background:#fff;border:4px solid #cbd5e1;box-shadow:0 4px 10px #0b1a4a1f;z-index:1;animation:lpStop var(--cycle) infinite;animation-delay:calc(var(--n)*3s)}
.jr-stop.s0{--a:#3b82f6}.jr-stop.s1{--a:#8b5cf6}.jr-stop.s2{--a:#f26b5b}.jr-stop.s3{--a:#10b981}
@keyframes lpStop{0%{border-color:#cbd5e1;background:#fff;transform:none}2%,8%{border-color:var(--a);background:var(--a);transform:scale(1.35);box-shadow:0 0 0 8px color-mix(in srgb,var(--a) 22%,transparent)}12%,86%{border-color:var(--a);background:#fff;transform:none;box-shadow:0 0 0 4px color-mix(in srgb,var(--a) 15%,transparent)}100%{border-color:#cbd5e1;background:#fff}}
.jr-runner{width:44px;height:44px;margin:-22px 0 0 -22px;z-index:2;box-shadow:0 0 0 6px #fff,0 10px 24px #3b82f677}
.jr-runner .lp-ic{width:22px;height:22px}
.jr-runner::after{content:'';position:absolute;right:100%;top:50%;width:70px;height:6px;margin-top:-3px;border-radius:6px;background:linear-gradient(90deg,transparent,#a5b4fc);opacity:.8}
.jr-steps{padding-top:62px}
.jr-step{margin-top:0;padding-top:18px;cursor:pointer;animation-delay:calc(var(--n)*3s)}
.jr-top{margin-top:0}
.jr-chip{margin-top:0}
.jr-num{border-color:#fff}
@keyframes lpJrFill{0%{width:0}100%{width:100%}}
@keyframes lpJrRun{0%{left:0}100%{left:100%}}
.jr{--cycle:12s}
@keyframes lpJrOn{0%,25%,100%{transform:none;box-shadow:0 10px 26px #1e3a8a0f;border-color:#e6ecf6}3%,20%{transform:translateY(-6px);box-shadow:0 22px 44px color-mix(in srgb,var(--a) 28%,transparent);border-color:color-mix(in srgb,var(--a) 50%,#fff)}}
.jr-step:hover{border-color:color-mix(in srgb,var(--a) 55%,#fff)}
.jr-step:focus-visible{outline:3px solid color-mix(in srgb,var(--a) 50%,#fff);outline-offset:3px}
.jr-step.picked{animation:none;transform:translateY(-6px);border-color:var(--a);box-shadow:0 22px 44px color-mix(in srgb,var(--a) 30%,transparent)}
.jr-more{margin-top:8px;font-size:12.5px;font-weight:700;color:var(--a2)}
.jr-step:hover .jr-more,.jr-step.picked .jr-more{text-decoration:underline}
/* step popup (glass, dark text) */
.jr-pop{--a:#3b82f6;--a2:#1d4ed8;position:absolute;z-index:40;padding:18px;border-radius:20px;color:#0b1a4a;background:linear-gradient(160deg,#ffffffd6,#f8fafcc7);backdrop-filter:blur(18px) saturate(1.5);-webkit-backdrop-filter:blur(18px) saturate(1.5);border:1px solid #ffffffee;box-shadow:0 24px 60px #0b1a4a38,inset 0 1px 0 #fff;transform-origin:var(--ax) -10px}
.jr-pop[hidden]{display:none}
.jr-pop.show{animation:lpPopIn .28s cubic-bezier(.2,.9,.3,1.2)}
.jr-pop.purple{--a:#8b5cf6;--a2:#6d28d9}.jr-pop.coral{--a:#f26b5b;--a2:#c2410c}.jr-pop.green{--a:#10b981;--a2:#047857}
.jr-pop::before{content:'';position:absolute;top:-8px;left:calc(var(--ax) - 8px);width:16px;height:16px;background:#fffffff2;border-left:1px solid #fff;border-top:1px solid #fff;transform:rotate(45deg);border-radius:4px 0 0 0}
.jr-pop-x{position:absolute;right:10px;top:10px;width:28px;height:28px;border-radius:50%;border:0;background:#0b1a4a12;color:#0b1a4a;cursor:pointer;font-size:12px}
.jr-pop-head{display:flex;align-items:center;gap:12px;padding-right:30px}
.jr-pop-num{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;font:800 14px 'Plus Jakarta Sans',Inter,sans-serif;color:#fff;background:linear-gradient(135deg,var(--a),var(--a2))}
.jr-pop-head h4{font:800 18px/1.15 'Plus Jakarta Sans',Inter,sans-serif;color:#0b1a4a}
.jr-pop-head small{font-size:12px;font-weight:700;color:var(--a2)}
.jr-tasks{list-style:none;counter-reset:t;padding:0;margin:14px 0 0;display:grid;gap:10px}
.jr-tasks li{counter-increment:t;position:relative;padding-left:34px}
.jr-tasks li::before{content:counter(t);position:absolute;left:0;top:0;width:24px;height:24px;border-radius:8px;display:grid;place-items:center;font:800 12px Inter,sans-serif;color:var(--a2);background:color-mix(in srgb,var(--a) 15%,#fff);border:1px solid color-mix(in srgb,var(--a) 35%,#fff)}
.jr-tasks li:not(:last-child)::after{content:'';position:absolute;left:11.5px;top:26px;bottom:-9px;width:1.5px;background:color-mix(in srgb,var(--a) 30%,#fff)}
.jr-tasks b{display:block;font:700 13.5px 'Plus Jakarta Sans',Inter,sans-serif;color:#0b1a4a}
.jr-tasks span{display:block;font-size:12.5px;line-height:1.45;color:#1e293b;margin-top:1px}
.jr-need{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.jr-need span{font-size:11.5px;font-weight:700;color:#0f172a;background:#ffffffb3;border:1px solid #e2e8f0;border-radius:999px;padding:4px 10px}
.jr-pop-cta{margin-top:14px;width:100%;border:0;border-radius:12px;padding:11px;font:700 14px 'Plus Jakarta Sans',Inter,sans-serif;color:#fff;cursor:pointer;background:linear-gradient(135deg,var(--a),var(--a2))}
@media(max-width:1000px){
 .jr-track{left:20px;right:auto;top:0;bottom:90px;width:8px;height:auto}
 .jr-stop{left:50%!important;top:calc(var(--n)*25% + 40px)}
 .jr-runner{width:38px;height:38px;margin:-19px 0 0 -19px}
 .jr-runner::after{right:auto;left:50%;top:auto;bottom:100%;width:6px;height:60px;margin:0 0 0 -3px;background:linear-gradient(0deg,#a5b4fc,transparent)}
 .jr-steps{padding-top:0;padding-left:56px}
 .jr-num{left:-57px}
}
@media(prefers-reduced-motion:reduce){.jr-stop{animation:none;border-color:var(--a)}.jr-pop.show{animation:none}}
@keyframes lpJrFill{0%{width:0}75%,100%{width:100%}}
@keyframes lpJrRun{0%{left:0}75%,100%{left:100%}}
.vp-grid i{animation-delay:calc(3s + var(--k)*.18s)}
.v-comp i{animation-delay:6s}.v-comp .p i{animation-delay:6.2s}.v-comp .c i{animation-delay:6.4s}
.vc-trophy{animation-delay:9s}
@media(max-width:1000px){.jr-num{left:-53px}@keyframes lpJrFillV{0%{height:0}75%,100%{height:100%}}@keyframes lpJrRunV{0%{top:0}75%,100%{top:100%}}}

/* journey details open ON the clicked card */
.jr-pop{transform-origin:var(--ox,50%) 40px;box-shadow:0 30px 70px #0b1a4a40,0 0 0 2px color-mix(in srgb,var(--a) 40%,transparent),inset 0 1px 0 #fff;background:linear-gradient(160deg,#ffffffe8,#f8fafce0)}
.jr-pop::before{display:none}
.jr-pop.show{animation:lpCardOpen .32s cubic-bezier(.2,.9,.3,1.15)}
@keyframes lpCardOpen{from{opacity:0;transform:scale(.88)}to{opacity:1;transform:none}}
.jr-step.picked{visibility:hidden}

/* journey panel: true glass, dark text, picture icons */
.jr-pop{background:linear-gradient(155deg,color-mix(in srgb,var(--a) 14%,#ffffff8c),#ffffff73 55%,color-mix(in srgb,var(--a) 10%,#ffffff80));backdrop-filter:blur(22px) saturate(1.7);-webkit-backdrop-filter:blur(22px) saturate(1.7);border:1.5px solid #ffffffcc;color:#0b1a4a}
.jr-pop-head h4{color:#0b1a4a;font-size:19px}
.jr-pop-head small{color:#0b1a4a;opacity:.75;font-weight:700}
.jr-scene{display:flex;align-items:center;justify-content:center;gap:14px;margin:14px 0 4px;padding:12px;border-radius:16px;background:#ffffff8c;border:1px solid #ffffffd9;box-shadow:inset 0 1px 0 #fff}
.jr-scene span{font-size:30px;line-height:1;animation:lpSceneIn .5s cubic-bezier(.2,.9,.3,1.5) both;animation-delay:calc(.1s + var(--k)*.15s)}
.jr-scene span:nth-child(2){font-size:22px;opacity:.75}
@keyframes lpSceneIn{from{opacity:0;transform:translateY(10px) scale(.6)}to{transform:none}}
.jr-mean{text-align:center;font:700 13.5px/1.4 'Plus Jakarta Sans',Inter,sans-serif;color:#0b1a4a;margin:6px 4px 2px}
.jr-tasks{counter-reset:none;gap:8px}
.jr-tasks li{display:flex;gap:11px;align-items:flex-start;padding:8px 10px;border-radius:13px;background:#ffffff99;border:1px solid #ffffffd9;animation:lpRise .4s ease both;animation-delay:calc(.2s + var(--k)*.08s)}
.jr-tasks li::before,.jr-tasks li::after{display:none}
.jr-ic{position:relative;flex-shrink:0;display:grid;place-items:center;width:38px;height:38px;border-radius:12px;font-size:20px;background:#fff;box-shadow:0 4px 10px #0b1a4a14;border:1px solid color-mix(in srgb,var(--a) 30%,#fff)}
.jr-ic em{position:absolute;right:-5px;top:-5px;display:grid;place-items:center;width:17px;height:17px;border-radius:50%;font:800 9.5px Inter,sans-serif;font-style:normal;color:#fff;background:var(--a2)}
.jr-tasks b{color:#0b1a4a;font-size:14px}
.jr-tasks li span:not(.jr-ic){color:#0f172a;font-size:12.8px;font-weight:500}
.jr-need span{display:inline-flex;align-items:center;gap:5px;color:#0b1a4a;background:#ffffffb3;border-color:#ffffffe6}
.jr-need i{font-style:normal}
.jr-pop-x{background:#ffffffb3;color:#0b1a4a;font-weight:800}
@media(prefers-reduced-motion:reduce){.jr-scene span,.jr-tasks li{animation:none}}
.jr-tasks .jr-ic{display:grid;place-items:center;font-size:20px;line-height:1;margin:0;font-weight:400}
.jr-tasks li>div{min-width:0}
.jr-tasks li>div>span{display:block;margin-top:1px}

/* compact journey panel */
.jr-pop{padding:13px 13px 12px;border-radius:18px}
.jr-pop-x{width:24px;height:24px;font-size:11px;right:8px;top:8px}
.jr-pop-head{gap:9px}
.jr-pop-num{width:32px;height:32px;font-size:12px}
.jr-pop-head h4{font-size:16px}
.jr-pop-head small{font-size:11px}
.jr-scene{margin:9px 0 2px;padding:6px;gap:10px;border-radius:12px}
.jr-scene span{font-size:22px}.jr-scene span:nth-child(2){font-size:16px}
.jr-mean{font-size:12px;margin:5px 2px 0}
.jr-tasks{margin-top:9px;gap:5px}
.jr-tasks li{gap:8px;padding:6px 8px;border-radius:11px}
.jr-tasks .jr-ic{width:30px;height:30px;font-size:16px;border-radius:9px}
.jr-ic em{width:14px;height:14px;font-size:8px;right:-4px;top:-4px}
.jr-tasks b{font-size:12.5px}
.jr-tasks li span:not(.jr-ic){font-size:11.5px;line-height:1.38}
.jr-need{margin-top:8px;gap:4px}
.jr-need span{font-size:10.5px;padding:3px 8px}
.jr-pop-cta{margin-top:9px;padding:8px;font-size:13px;border-radius:10px}
.jr-tasks li{align-items:center}

/* ---------- Scholarships: awards showcase ---------- */
.sch{position:relative;overflow:hidden;display:grid;grid-template-columns:1.05fr 1fr;gap:30px;align-items:center;padding:42px;border-radius:30px;color:#fff;
 background:radial-gradient(520px 320px at 85% 10%,#3b82f699,transparent 65%),radial-gradient(420px 300px at 5% 100%,#8b5cf666,transparent 65%),linear-gradient(135deg,#1e1b4b,#312e81 45%,#1d4ed8);box-shadow:0 28px 70px #1e1b4b4d}
.sch-fx{position:absolute;inset:0;pointer-events:none}
.sch-fx i{position:absolute;font-style:normal;color:#fde68a;opacity:0;font-size:12px;left:calc(4% + var(--k)*7%);top:calc(8% + (var(--k)*37%) - (var(--k)*37% / 100% * 100%));animation:lpTwinkle 4s ease-in-out infinite;animation-delay:calc(var(--k)*-.6s)}
.sch-fx i:nth-child(3n){top:78%;font-size:9px}.sch-fx i:nth-child(3n+1){top:12%}.sch-fx i:nth-child(3n+2){top:46%;font-size:15px}
@keyframes lpTwinkle{0%,100%{opacity:0;transform:scale(.4) rotate(0)}50%{opacity:.85;transform:scale(1) rotate(90deg)}}
.sch-left{position:relative;z-index:1}
.sch h2{color:#fff;margin-top:14px;font-size:clamp(28px,3.2vw,40px);line-height:1.12}
.sch h2 span{background:linear-gradient(90deg,#fde68a,#fbbf24,#fb923c);-webkit-background-clip:text;background-clip:text;color:transparent}
.sch-left>p{color:#dbe4ff;font-size:15.5px;line-height:1.65;margin-top:12px}
.sch-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:20px}
.sch-stats div{background:#ffffff14;border:1px solid #ffffff26;border-radius:14px;padding:11px 12px;backdrop-filter:blur(6px)}
.sch-stats b{display:block;font:800 20px/1.1 'Plus Jakarta Sans',Inter,sans-serif;color:#fde68a}
.sch-stats small{display:block;font-size:11.5px;color:#c7d6ff;margin-top:3px;line-height:1.35}
.sch-note{display:block;margin-top:14px;font-size:12px;color:#a5b4fc}
.sch-right{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:14px}
.sch-board{background:#ffffff14;border:1px solid #ffffff2e;border-radius:20px;padding:14px;backdrop-filter:blur(8px)}
.sch-bh{display:flex;align-items:center;gap:7px;color:#c7d6ff}
.sch-bh .lp-ic{width:16px;height:16px}
.sch-bh b{font:800 13px 'Plus Jakarta Sans',Inter,sans-serif;color:#fff}
.sch-podium{display:flex;align-items:flex-end;gap:6px;height:150px;margin-top:10px}
.sp{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px}
.sp-medal{font-size:22px;opacity:0;transform:translateY(8px);transition:all .4s cubic-bezier(.2,.9,.3,1.5) 1s}
.sp small{font-size:10.5px;font-weight:800;color:#a7f3d0}
.sp i{display:grid;place-items:end center;width:100%;height:0;padding-bottom:6px;border-radius:10px 10px 4px 4px;transition:height .9s cubic-bezier(.2,.9,.3,1.1)}
.sp i b{font:800 15px 'Plus Jakarta Sans',Inter,sans-serif;color:#1e1b4b}
.sp.p1 i{background:linear-gradient(180deg,#fde68a,#f59e0b);transition-delay:.2s}.sp.p2 i{background:linear-gradient(180deg,#e2e8f0,#94a3b8)}.sp.p3 i{background:linear-gradient(180deg,#fed7aa,#fb923c);transition-delay:.35s}
.sch.in .sp.p1 i{height:78px}.sch.in .sp.p2 i{height:58px}.sch.in .sp.p3 i{height:44px}
.sch.in .sp-medal{opacity:1;transform:none}
.sch-rings{display:flex;flex-direction:column;gap:8px;margin-top:10px}
.sch-rings>div{display:grid;grid-template-columns:40px 22px 1fr auto;align-items:center;gap:8px;background:#ffffff0f;border-radius:12px;padding:5px 8px}
.sch-rings svg{width:40px;height:40px;transform:rotate(-90deg)}
.sch-rings .rb{fill:none;stroke:#ffffff26;stroke-width:5}
.sch-rings .rf{fill:none;stroke-width:5;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:100;transition:stroke-dashoffset 1.2s cubic-bezier(.2,.8,.2,1)}
.sch-rings .r0{stroke:#fbbf24}.sch-rings .r1{stroke:#cbd5e1;transition-delay:.15s}.sch-rings .r2{stroke:#fb923c;transition-delay:.3s}
.sch.in .sch-rings .rf{stroke-dashoffset:calc(100 - var(--p))}
.sch-rings span{font-size:17px}
.sch-rings b{font:800 14px 'Plus Jakarta Sans',Inter,sans-serif;color:#fff}
.sch-rings small{font-size:10.5px;color:#c7d6ff;font-weight:600}
.sch-cert{grid-column:1/3;position:relative;display:flex;align-items:center;justify-content:center;padding:4px 10px 10px}
.scc-paper{position:relative;overflow:hidden;width:100%;text-align:center;background:linear-gradient(160deg,#fffdf5,#fff);color:#1e1b4b;border-radius:14px;padding:14px 16px;border:3px double #fbbf24;box-shadow:0 14px 30px #0000003d;transform:rotate(-1.5deg)}
.scc-paper::after{content:'';position:absolute;top:0;bottom:0;left:-60%;width:40%;background:linear-gradient(100deg,transparent,#fff8,transparent);transform:skewX(-20deg);animation:lpSweep 5s ease-in-out infinite 1s}
.scc-paper small{display:block;font-size:9.5px;font-weight:800;letter-spacing:1.4px;color:#b45309}
.scc-paper b{display:block;font:800 18px 'Plus Jakarta Sans',Inter,sans-serif;margin-top:4px;color:#1e1b4b}
.scc-paper span{font-size:11.5px;color:#475569}
.scc-seal{position:absolute;right:2px;bottom:-4px;display:grid;place-items:center;width:52px;height:52px;border-radius:50%;font:800 11px 'Plus Jakarta Sans',Inter,sans-serif;color:#fff;background:conic-gradient(#10b981,#059669,#34d399,#10b981);box-shadow:0 8px 18px #05966980;border:3px solid #fff;transform:scale(0) rotate(-30deg);transition:transform .5s cubic-bezier(.2,.9,.3,1.6) 1.3s}
.sch.in .scc-seal{transform:none}
@media(max-width:1000px){.sch{grid-template-columns:1fr;padding:30px 22px}}
@media(max-width:600px){.sch-right{grid-template-columns:1fr}.sch-cert{grid-column:auto}.sch-stats{grid-template-columns:1fr 1fr}.sch-stats div:last-child{grid-column:1/3}}
@media(prefers-reduced-motion:reduce){.sch-fx{display:none}.sp i{transition:none}.sch .sp.p1 i{height:78px}.sch .sp.p2 i{height:58px}.sch .sp.p3 i{height:44px}.sp-medal{opacity:1;transform:none}.sch-rings .rf{transition:none;stroke-dashoffset:calc(100 - var(--p))}.scc-seal{transform:none}.scc-paper::after{display:none}}

/* ---------- FAQs: help centre ---------- */
.faq{display:grid;grid-template-columns:.8fr 1.4fr;gap:34px;align-items:start}
.faq-side{position:sticky;top:20px}
.faq-side h2{margin-top:14px}
.faq-search{display:flex;align-items:center;gap:10px;margin-top:20px;background:#fff;border:1.5px solid #dbe4f3;border-radius:14px;padding:4px 14px;box-shadow:0 6px 16px #1e3a8a0d;transition:border-color .2s,box-shadow .2s}
.faq-search:focus-within{border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f626}
.faq-search .lp-ic{color:#64748b;width:18px;height:18px}
.faq-search input{flex:1;border:0;outline:0;background:none;font:500 15px Inter,sans-serif;padding:10px 0;color:var(--lp-navy)}
.faq-cats{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}
.faq-cats button{font:700 12.5px Inter,sans-serif;color:var(--lp-soft);background:#fff;border:1.5px solid #e3e9f5;border-radius:999px;padding:7px 13px;cursor:pointer;transition:all .2s}
.faq-cats button:hover{border-color:#93c5fd;color:#1d4ed8}
.faq-cats button.on{color:#fff;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-color:transparent;box-shadow:0 6px 14px #2563eb40}
.faq-help{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:20px;padding:16px;border-radius:18px;background:linear-gradient(135deg,#eff6ff,#f5f3ff);border:1px solid #e0e7ff}
.faq-help b{grid-column:1/3;font:800 14px 'Plus Jakarta Sans',Inter,sans-serif;color:var(--lp-navy)}
.faq-help a{font-size:13px;font-weight:600;color:var(--lp-navy);text-decoration:none;background:#fff;border:1px solid #e3e9f5;border-radius:11px;padding:9px 10px;transition:transform .15s,border-color .15s}
.faq-help a:hover{transform:translateY(-2px);border-color:#93c5fd}
.faq-count{font-size:13px;font-weight:600;color:var(--lp-soft);margin:4px 2px 10px}
.faq-list{display:grid;gap:10px}
.faq-item{background:#fff;border:1px solid #e6ecf6;border-radius:16px;box-shadow:0 6px 18px #1e3a8a0a;overflow:hidden;transition:box-shadow .2s,border-color .2s;animation:lpRise .35s ease both;animation-delay:calc(var(--k)*.03s)}
.faq-item:hover{border-color:#c7d6fe}
.faq-item[open]{border-color:#93c5fd;box-shadow:0 14px 32px #2563eb1a}
.faq-item summary{list-style:none;display:flex;align-items:center;gap:13px;padding:13px 16px;cursor:pointer}
.faq-item summary::-webkit-details-marker{display:none}
.faq-ic{flex-shrink:0;display:grid;place-items:center;width:40px;height:40px;border-radius:12px;font-size:19px;background:#f1f5ff;transition:transform .25s}
.faq-item[open] .faq-ic{transform:rotate(-8deg) scale(1.08);background:#dbeafe}
.faq-t{flex:1;display:flex;flex-direction:column;gap:2px;font:700 15px/1.3 'Plus Jakarta Sans',Inter,sans-serif;color:var(--lp-navy)}
.faq-t small{font:700 10.5px Inter,sans-serif;letter-spacing:.4px;text-transform:uppercase;color:#64748b}
.faq-plus{position:relative;flex-shrink:0;width:28px;height:28px;border-radius:50%;background:#eff6ff;transition:background .2s,transform .3s}
.faq-plus::before,.faq-plus::after{content:'';position:absolute;left:50%;top:50%;width:12px;height:2px;margin:-1px 0 0 -6px;border-radius:2px;background:#2563eb;transition:transform .3s}
.faq-plus::after{transform:rotate(90deg)}
.faq-item[open] .faq-plus{background:#2563eb;transform:rotate(180deg)}
.faq-item[open] .faq-plus::before{background:#fff}.faq-item[open] .faq-plus::after{transform:rotate(0);background:#fff}
.faq-a{padding:0 16px 15px 69px;animation:lpFaqIn .3s ease}
.faq-a p{font-size:14.5px;line-height:1.65;color:#334155}
.faq-a b{color:var(--lp-navy)}
@keyframes lpFaqIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.faq-empty{padding:30px;text-align:center;font-size:14.5px;color:var(--lp-soft);background:#fff;border:1.5px dashed #dbe4f3;border-radius:16px}
@media(max-width:900px){.faq{grid-template-columns:1fr;gap:20px}.faq-side{position:static}}
@media(max-width:600px){.faq-a{padding-left:16px}.faq-help{grid-template-columns:1fr}.faq-help b{grid-column:auto}}
@media(prefers-reduced-motion:reduce){.faq-item,.faq-a{animation:none}}
@media(max-width:900px){.faq{display:flex;flex-direction:column}.faq-side{display:contents}.faq-side>*{order:1}.faq-main{order:2;width:100%}.faq-help{order:3}}

/* FAQ teaser on the home page */
.lp-faq-teaser-wrap{padding-top:70px}
.faq-teaser{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:16px 18px;border-radius:20px;background:linear-gradient(135deg,#eff6ff,#f5f3ff);border:1px solid #e0e7ff;box-shadow:0 10px 26px #1e3a8a0d}
.ft-text{display:flex;align-items:center;gap:12px}
.ft-ic{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:#fff;font-size:22px;box-shadow:0 4px 12px #1e3a8a14}
.ft-text b{display:block;font:800 17px 'Plus Jakarta Sans',Inter,sans-serif;color:var(--lp-navy)}
.ft-text small{font-size:13px;color:var(--lp-soft);font-weight:600}
.ft-chips{display:flex;flex-wrap:wrap;gap:7px;flex:1}
.ft-chips a{font-size:13px;font-weight:600;color:var(--lp-navy);text-decoration:none;background:#fff;border:1px solid #e3e9f5;border-radius:999px;padding:7px 12px;transition:transform .15s,border-color .15s}
.ft-chips a:hover{transform:translateY(-2px);border-color:#93c5fd}
.ft-cta{font:700 14px 'Plus Jakarta Sans',Inter,sans-serif;color:#fff;text-decoration:none;background:linear-gradient(135deg,#3b82f6,#1d4ed8);padding:11px 16px;border-radius:12px;box-shadow:0 8px 18px #2563eb40;white-space:nowrap}
@media(max-width:700px){.ft-cta{width:100%;text-align:center}}

/* ---------- FAQ page: full-page help centre ---------- */
.faq-page{max-width:1180px;margin:0 auto;padding:10px 28px 0}
.faq-hero{text-align:center;padding:38px 24px 30px;border-radius:28px;background:radial-gradient(500px 220px at 15% 0,#dbeafe,transparent 70%),radial-gradient(500px 220px at 90% 100%,#ede9fe,transparent 70%),#ffffffb3;border:1px solid #e3e9f5;box-shadow:0 14px 40px #1e3a8a0f}
.faq-hero h1{font:800 clamp(30px,4.4vw,52px)/1.08 'Plus Jakarta Sans',Inter,sans-serif;letter-spacing:-1.2px;color:var(--lp-navy);margin-top:14px}
.faq-hero>p{font-size:16px;color:var(--lp-soft);margin:10px auto 0;max-width:560px}
.faq-page .faq-search{max-width:640px;margin:22px auto 0;padding:6px 18px;border-radius:16px}
.faq-page .faq-search input{font-size:16px;padding:12px 0}
.faq-page .faq-cats{justify-content:center;margin-top:16px}
.faq-cats button{display:inline-flex;align-items:center;gap:6px}
.faq-cats button em{font-style:normal;font-size:11px;font-weight:800;border-radius:999px;padding:1px 7px;background:#eef2ff;color:#4f46e5}
.faq-cats button.on em{background:#ffffff33;color:#fff}
.faq-body{display:grid;grid-template-columns:1fr 260px;gap:24px;align-items:start;margin-top:26px}
.faq-page .faq-help{position:sticky;top:20px;margin:0;grid-template-columns:1fr}
.faq-page .faq-help b{grid-column:auto}
.faq-page .faq-list{gap:10px}
@media(max-width:900px){.faq-body{grid-template-columns:1fr}.faq-page .faq-help{position:static;grid-template-columns:1fr 1fr}.faq-page .faq-help b{grid-column:1/3}}
@media(max-width:600px){.faq-page{padding:6px 16px 0}.faq-hero{padding:26px 16px 22px;border-radius:22px}.faq-page .faq-help{grid-template-columns:1fr}.faq-page .faq-help b{grid-column:auto}}

/* ---------- Site footer ---------- */
.sf{margin-top:90px;color:#c7d2fe;background:radial-gradient(700px 300px at 10% 0,#3730a355,transparent 70%),radial-gradient(600px 300px at 95% 100%,#1d4ed855,transparent 70%),#0b1033}
.sf a{color:#c7d2fe;text-decoration:none;transition:color .15s}
.sf a:hover{color:#fff}
.sf-cta{max-width:1180px;margin:0 auto;transform:translateY(-50%);display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:26px 30px;border-radius:24px;color:#fff;background:linear-gradient(135deg,#4f46e5,#2563eb 55%,#0891b2);box-shadow:0 24px 50px #1e1b4b55;position:relative;overflow:hidden}
.sf-cta::after{content:'';position:absolute;right:-60px;top:-60px;width:220px;height:220px;border-radius:50%;background:#ffffff1a}
.sf-tag{font-size:11px;font-weight:800;letter-spacing:1px;color:#e0e7ff;background:#ffffff1f;border-radius:999px;padding:5px 10px}
.sf-cta h3{font:800 26px/1.2 'Plus Jakarta Sans',Inter,sans-serif;margin-top:10px;color:#fff}
.sf-cta p{font-size:14.5px;color:#dbeafe;margin-top:4px}
.sf-cta-btns{position:relative;z-index:1;display:flex;gap:10px;flex-wrap:wrap}
.sf-cta .lp-btn.white{color:#3730a3}
.sf-cta .lp-btn.outline-light{color:#fff}
.sf-grid{max-width:1180px;margin:-10px auto 0;padding:0 30px 34px;display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:28px}
.sf-logo{color:#fff}
.sf-logo b{background:linear-gradient(90deg,#a5b4fc,#93c5fd 55%,#fda4af);-webkit-background-clip:text;background-clip:text;color:transparent}
.sf-logo small{color:#c7d2fe}
.sf-brand p{font-size:14px;line-height:1.6;margin-top:14px;max-width:340px;color:#a5b4fc}
.sf-subj{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}
.sf-subj span{font-size:11.5px;font-weight:700;border-radius:999px;padding:4px 10px;background:#ffffff12;border:1px solid #ffffff22}
.sf-subj .g{color:#6ee7b7}.sf-subj .t{color:#67e8f9}.sf-subj .c{color:#fda4af}.sf-subj .p{color:#c4b5fd}
.sf nav{display:flex;flex-direction:column;gap:9px}
.sf nav b{font:800 13px 'Plus Jakarta Sans',Inter,sans-serif;color:#fff;letter-spacing:.6px;text-transform:uppercase;margin-bottom:4px}
.sf nav a{font-size:14px}
.sf-bottom{max-width:1180px;margin:0 auto;padding:18px 30px 26px;border-top:1px solid #ffffff1a;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;font-size:13px;color:#818cf8}
.sf-top{font:700 13px Inter,sans-serif;color:#e0e7ff;background:#ffffff14;border:1px solid #ffffff26;border-radius:999px;padding:7px 14px;cursor:pointer}
.sf-top:hover{background:#ffffff26}
@media(max-width:1180px){.sf-cta{margin:0 20px}}
@media(max-width:900px){.sf-grid{grid-template-columns:1fr 1fr}.sf-brand{grid-column:1/3}}
@media(max-width:600px){.sf{margin-top:80px}.sf-cta{margin:0 14px;padding:22px 18px}.sf-cta h3{font-size:22px}.sf-cta-btns{width:100%}.sf-cta-btns .lp-btn{flex:1;justify-content:center}.sf-grid{padding:0 18px 26px;gap:22px}.sf-bottom{padding:16px 18px 22px}}
.sf{margin-top:80px;padding-top:34px}
.sf-cta{transform:none}
.sf-grid{margin-top:34px}
@media(max-width:600px){.sf{margin-top:60px;padding-top:22px}.sf-grid{margin-top:26px}}

/* ---------- Footer space scene: stars, moon, rising Earth ---------- */
.sf{position:relative;overflow:hidden;padding-bottom:0}
.sf>*:not(.sf-space){position:relative;z-index:1}
.sf-space{position:absolute;inset:0;z-index:0;pointer-events:none}
.sf-stars i{position:absolute;left:var(--x);top:var(--y);width:var(--s);height:var(--s);border-radius:50%;background:#fff;box-shadow:0 0 6px #fff;opacity:.15;animation:lpStar 3.2s ease-in-out infinite;animation-delay:var(--d)}
@keyframes lpStar{0%,100%{opacity:.12;transform:scale(.8)}50%{opacity:.9;transform:scale(1.2)}}
.sf-moon{position:absolute;right:6%;top:230px;width:64px;height:64px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ffffff,#e2e8f0 45%,#94a3b8 100%);box-shadow:0 0 30px #e0e7ff66,0 0 70px #a5b4fc40,inset -10px -8px 0 #64748b55;animation:lpBob 7s ease-in-out infinite}
.sf-moon .cr{position:absolute;border-radius:50%;background:#94a3b866;box-shadow:inset 1px 1px 2px #64748b80}
.sf-moon .c1{width:14px;height:14px;left:14px;top:16px}.sf-moon .c2{width:9px;height:9px;left:36px;top:34px}.sf-moon .c3{width:7px;height:7px;left:22px;top:42px}
.sf-sat{position:absolute;left:50%;top:50%;width:120px;height:120px;margin:-60px 0 0 -60px;border-radius:50%;border:1px dashed #a5b4fc33;animation:lpSpin 9s linear infinite}
.sf-sat b{position:absolute;left:50%;top:-4px;width:8px;height:8px;margin-left:-4px;border-radius:2px;background:#fde68a;box-shadow:0 0 10px #fde68a,-6px 0 0 -2px #93c5fd,6px 0 0 -2px #93c5fd}
.sf-earth{position:absolute;left:50%;bottom:-1180px;width:max(1700px,160%);height:1300px;transform:translateX(-50%);border-radius:50%;overflow:hidden;
 background:radial-gradient(ellipse at 50% 0%,#1d4ed8 0%,#1e3a8a 8%,#0f1f5c 22%,#0b1033 40%);
 box-shadow:0 -6px 30px #60a5fa99,0 -2px 0 #93c5fd,0 -30px 90px #3b82f655,inset 0 18px 40px #38bdf855}
.sf-land{position:absolute;left:0;right:0;top:0;height:160px;background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20width%3D%27900%27%20height%3D%27260%27%20viewBox%3D%270%200%20900%20260%27%3E%3Cg%20fill%3D%27%2322c55e%27%20fill-opacity%3D%27.55%27%3E%3Cpath%20d%3D%27M40%2070c30-30%2090-40%20130-20%2030%2015%2020%2050-10%2060-25%208-30%2040-60%2045-35%205-80-50-60-85z%27/%3E%3Cpath%20d%3D%27M220%2040c40-15%20110-5%20140%2025%2020%2020-5%2045-35%2040-25-4-40%2020-70%2015-40-7-70-60-35-80z%27/%3E%3Cpath%20d%3D%27M300%20130c25-10%2060%200%2070%2025%208%2022-15%2050-45%2055-30%204-50-25-45-50%203-15%208-25%2020-30z%27/%3E%3Cpath%20d%3D%27M470%2060c50-20%20140-15%20180%2020%2025%2022%2010%2055-30%2060-35%204-55%2030-95%2025-50-6-100-80-55-105z%27/%3E%3Cpath%20d%3D%27M560%20160c30-8%2070%205%2075%2030%205%2022-25%2040-55%2038-28-2-45-20-42-40%202-15%2010-24%2022-28z%27/%3E%3Cpath%20d%3D%27M720%2050c35-15%2095-5%20120%2025%2015%2020-5%2040-30%2038-30-2-40%2025-70%2020-35-6-55-65-20-83z%27/%3E%3Cpath%20d%3D%27M760%20150c20-6%2050%202%2055%2020%204%2016-15%2030-35%2028-20-2-35-15-32-30%202-10%206-16%2012-18z%27/%3E%3C/g%3E%3Cg%20fill%3D%27%23a7f3d0%27%20fill-opacity%3D%27.18%27%3E%3Ccircle%20cx%3D%27130%27%20cy%3D%2780%27%20r%3D%2714%27/%3E%3Ccircle%20cx%3D%27560%27%20cy%3D%2790%27%20r%3D%2718%27/%3E%3Ccircle%20cx%3D%27780%27%20cy%3D%2770%27%20r%3D%2712%27/%3E%3C/g%3E%3C/svg%3E") repeat-x 0 6px/900px 160px;animation:lpLand 60s linear infinite;mask:linear-gradient(180deg,#000 40%,transparent);-webkit-mask:linear-gradient(180deg,#000 40%,transparent)}
@keyframes lpLand{to{background-position:-900px 6px}}
.sf-bottom{padding-top:44px;padding-bottom:30px;border-top:0;color:#bfdbfe}
.sf-bottom span{text-shadow:0 1px 6px #0b1033}
@media(max-width:900px){.sf-moon{top:auto;bottom:210px;right:8%;width:50px;height:50px}.sf-moon .c1{left:10px;top:12px}.sf-moon .c2{left:28px;top:26px}.sf-moon .c3{left:16px;top:32px}}
@media(max-width:600px){.sf-moon{bottom:300px;right:6%;width:42px;height:42px}.sf-moon .c2,.sf-moon .c3{display:none}.sf-sat{width:90px;height:90px;margin:-45px 0 0 -45px}.sf-bottom{padding-top:40px}}
@media(prefers-reduced-motion:reduce){.sf-stars i,.sf-moon,.sf-sat,.sf-land{animation:none}}

/* ---------- Footer: photo-real Earth & Moon (NASA / Solar System Scope textures) ---------- */
.sf{--es:clamp(340px,52vw,700px);--ev:clamp(150px,19vw,250px)}
.sf-horizon{height:var(--ev)}
.sf-bottom{padding-top:22px;padding-bottom:18px;border-top:1px solid #ffffff1a}
.sf-bottom>div{display:flex;flex-direction:column;gap:4px}
.sf-credit{font-size:11px;color:#818cf8}
.sf-credit a{color:#a5b4fc;text-decoration:underline;text-underline-offset:2px}
.sf-earth{left:50%;bottom:calc(var(--ev) - var(--es));width:var(--es);height:var(--es);transform:translateX(-50%);border-radius:50%;overflow:hidden;background:#06143a;
 box-shadow:0 0 0 1px #93c5fd55,0 -4px 30px 6px #60a5fa66,0 0 120px 30px #3b82f640,inset 0 0 30px 6px #7dd3fc55}
.sf-earth i,.sf-moon i{position:absolute;inset:0;border-radius:50%}
.sf-earth .tex{background:url("img/earth-day.webp") 0 0/calc(var(--es)*2) 100% repeat-x;animation:lpGlobe 90s linear infinite}
.sf-earth .clouds{background:url("img/earth-clouds.webp") 0 0/calc(var(--es)*2) 100% repeat-x;mix-blend-mode:screen;opacity:.9;animation:lpGlobe 60s linear infinite}
@keyframes lpGlobe{to{background-position:calc(var(--es)*-2) 0}}
.sf-earth .shade{background:radial-gradient(circle at 62% 28%,transparent 30%,#00061866 58%,#000614d9 72%),linear-gradient(105deg,#000510e6 0%,#00051099 22%,transparent 46%)}
.sf-moon{--ms:78px;width:var(--ms);height:var(--ms);background:#2a2a2a;overflow:visible;box-shadow:0 0 34px 4px #e2e8f04d,0 0 80px #a5b4fc33}
.sf-moon .tex{background:url("img/moon.webp") 0 0/calc(var(--ms)*2) 100% repeat-x;animation:lpMoonSpin 140s linear infinite}
@keyframes lpMoonSpin{to{background-position:calc(var(--ms)*-2) 0}}
.sf-moon .shade{background:radial-gradient(circle at 34% 30%,#ffffff1f 0%,transparent 38%,#00000080 72%,#000000d9 100%)}
.sf-moon .sf-sat{z-index:1}
@media(max-width:900px){.sf-moon{--ms:60px;top:auto;bottom:calc(var(--ev) + 200px)}}
@media(max-width:600px){.sf{--es:340px;--ev:140px}.sf-moon{--ms:48px;bottom:calc(var(--ev) + 300px)}}
@media(prefers-reduced-motion:reduce){.sf-earth .tex,.sf-earth .clouds,.sf-moon .tex{animation:none}}
/* Big Earth: as wide as the footer, top half showing */
.sf-horizon{height:auto;aspect-ratio:2/1;max-height:900px}
.sf-earth{left:0;right:0;width:100%;height:auto;aspect-ratio:1/1;bottom:0;transform:translateY(50%);
 box-shadow:0 0 0 1px #93c5fd66,0 -8px 50px 10px #60a5fa59,0 -20px 160px 40px #3b82f633,inset 0 0 60px 12px #7dd3fc4d}
.sf-earth .tex{background-size:200% 100%;animation:lpGlobeP 160s linear infinite}
.sf-earth .clouds{background-size:200% 100%;animation:lpGlobeP 110s linear infinite}
@keyframes lpGlobeP{to{background-position:200% 0}}
.sf-earth .shade{background:radial-gradient(circle at 60% 20%,transparent 34%,#00061866 56%,#000614cc 70%),linear-gradient(100deg,#000510d9 0%,#00051080 20%,transparent 42%)}
@media(max-width:600px){.sf-horizon{aspect-ratio:2/1}}

/* Footer: universe background (generated starfield + nebula) */
.sf{background:#05081c}
.sf-universe{position:absolute;inset:-6% -3%;background:url("img/universe.webp") center/cover no-repeat;animation:lpSpaceDrift 90s ease-in-out infinite alternate}
.sf-universe::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#05081ccc 0%,#05081c40 22%,transparent 50%,#05081c66 100%)}
@keyframes lpSpaceDrift{from{transform:scale(1) translate(0,0)}to{transform:scale(1.06) translate(-1.5%,1%)}}
.sf-stars{z-index:1;position:absolute;inset:0}
.sf-moon{z-index:1}
.sf-bottom{padding-bottom:30px}
@media(prefers-reduced-motion:reduce){.sf-universe{animation:none}}

/* ---------- Footer: Our Solar System (Solar System Scope textures, CC BY 4.0) ---------- */
.sf-solar{max-width:1180px;margin:0 auto 6px;padding:0 30px 26px}
.ss-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;border-top:1px solid #ffffff1a;padding-top:18px}
.ss-head b{font:800 14px 'Plus Jakarta Sans',Inter,sans-serif;color:#fff;letter-spacing:.4px}
.ss-head small{font-size:12px;color:#818cf8}
.ss-row{position:relative;display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:150px;padding-top:6px}
.ss-orbit{position:absolute;left:60px;right:0;top:calc(50% - 10px);height:1px;background:linear-gradient(90deg,#fbbf2499,#a5b4fc44 30%,#a5b4fc22);pointer-events:none}
.ss-item{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:9px;background:none;border:0;padding:4px;cursor:pointer;color:#c7d2fe;font:inherit}
.ss-item>b{font:700 11.5px Inter,sans-serif;color:#c7d2fe;letter-spacing:.3px;transition:color .2s}
.ss-item:hover>b,.ss-item:focus-visible>b{color:#fff}
.ss-item:focus-visible{outline:2px solid #a5b4fc;outline-offset:4px;border-radius:10px}
/* Sun */
.ss-sun{position:relative;display:block;width:96px;height:96px;border-radius:50%;overflow:hidden;box-shadow:0 0 30px 8px #fb923c99,0 0 70px 20px #f59e0b55,0 0 120px 40px #f9731633;animation:lpCorona 4s ease-in-out infinite}
.ss-sun .tex{position:absolute;inset:0;background:url("img/planets/sun.webp") 0 0/200% 100% repeat-x;animation:lpTexSpin 70s linear infinite;filter:saturate(1.2) brightness(1.08)}
.ss-sun::after{content:'';position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 40% 38%,#fff7d633,transparent 45%,#7c2d1255 100%)}
@keyframes lpCorona{0%,100%{box-shadow:0 0 30px 8px #fb923c99,0 0 70px 20px #f59e0b55,0 0 120px 40px #f9731633}50%{box-shadow:0 0 38px 12px #fdba74b3,0 0 90px 26px #f59e0b66,0 0 150px 50px #f9731640}}
@keyframes lpTexSpin{to{background-position:200% 0}}
/* Planets */
.ss-body{position:relative;display:block;width:var(--d);height:var(--d)}
.ss-body>.tex,.ss-body>.shade{position:absolute;inset:0;border-radius:50%;z-index:1}
.ss-body>.tex{background-size:200% 100%;background-repeat:repeat-x;animation:lpTexSpin var(--spin) linear infinite;box-shadow:0 0 12px #a5b4fc33}
.ss-body>.shade{background:radial-gradient(circle at 30% 45%,#ffffff26,transparent 40%),linear-gradient(90deg,transparent 30%,#000000a6 78%,#000000e0)}
.ss-item:hover .ss-body,.ss-item:focus-visible .ss-body{transform:scale(1.18)}
.ss-body{transition:transform .3s cubic-bezier(.2,.9,.3,1.4)}
/* Saturn's ring, tilted; back half behind the planet, front half in front */
.ss-body .ring{position:absolute;left:50%;top:50%;width:calc(var(--d)*2.3);height:calc(var(--d)*2.3);margin:calc(var(--d)*-1.15) 0 0 calc(var(--d)*-1.15);background:url("img/planets/saturn-ring.webp") center/contain no-repeat;transform:rotate(-16deg) rotateX(76deg);pointer-events:none}
.ss-body .ring.back{z-index:0;clip-path:inset(0 0 50% 0)}
.ss-body .ring.front{z-index:2;clip-path:inset(50% 0 0 0)}
/* Earth's Moon */
.ss-moon-orbit{position:absolute;z-index:3;left:50%;top:50%;width:52px;height:52px;margin:-26px 0 0 -26px;border-radius:50%;border:1px dashed #a5b4fc33;animation:lpSpin 12s linear infinite}
.ss-moon{position:absolute;left:50%;top:-4px;width:7px;height:7px;margin-left:-3.5px;border-radius:50%;background:url("img/moon.webp") 0 0/200% 100%;box-shadow:0 0 5px #e2e8f088}
/* fact pop-up (glass, dark text) */
.ss-tip{position:absolute;z-index:20;bottom:calc(100% + 6px);left:50%;width:190px;transform:translate(-50%,6px);opacity:0;pointer-events:none;padding:8px 10px;border-radius:12px;font:600 12px/1.4 Inter,sans-serif;color:#0b1a4a;text-align:left;background:linear-gradient(160deg,#ffffffe6,#eef2ffd9);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid #fff;box-shadow:0 12px 28px #0000004d;transition:opacity .2s,transform .2s}
.ss-item:hover .ss-tip,.ss-item:focus-visible .ss-tip,.ss-item:focus .ss-tip{opacity:1;transform:translate(-50%,0)}
.ss-item:first-of-type .ss-tip{left:0;transform:translate(0,6px)}.ss-item:first-of-type:hover .ss-tip,.ss-item:first-of-type:focus .ss-tip{transform:translate(0,0)}
.ss-item:last-child .ss-tip{left:auto;right:0;transform:translate(0,6px)}.ss-item:last-child:hover .ss-tip,.ss-item:last-child:focus .ss-tip{transform:translate(0,0)}
@media(max-width:900px){.ss-row{overflow-x:auto;justify-content:flex-start;gap:26px;padding:70px 6px 10px;margin-top:-56px;scroll-snap-type:x proximity;scrollbar-width:thin}.ss-item{flex-shrink:0;scroll-snap-align:center}.ss-sun{width:72px;height:72px}.ss-orbit{display:none}}
@media(max-width:600px){.sf-solar{padding:0 18px 20px}}
@media(prefers-reduced-motion:reduce){.ss-sun,.ss-sun .tex,.ss-body>.tex,.ss-moon-orbit{animation:none}}
@media(max-width:900px){.ss-row{padding-left:34px;padding-right:20px}.ss-sun{box-shadow:0 0 16px 4px #fb923c99,0 0 34px 8px #f59e0b40;animation:none}}
.ss-item.show .ss-tip{opacity:1;transform:translate(-50%,0)}.ss-item.show .ss-body{transform:scale(1.18)}.ss-item.show>b{color:#fff}
.ss-item:first-of-type.show .ss-tip,.ss-item:last-child.show .ss-tip{transform:translate(0,0)}

/* ---------- Site-wide thoughtful background ---------- */
.lp,.home{position:relative;isolation:isolate}
.lp{background:transparent}
.home.lp-auth,.lp,.home{background-color:transparent}
body{background:#f6f9ff}
.lp-bg{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;background:linear-gradient(180deg,#f3f7ff 0%,#f8fbff 45%,#fbfcff 100%)}
.lp-bg .au{position:absolute;width:46vmax;height:46vmax;border-radius:50%;filter:blur(80px);opacity:.28;will-change:transform}
.lp-bg .a1{background:#6ee7b7;left:-14vmax;top:-12vmax;animation:lpAur1 48s ease-in-out infinite alternate}
.lp-bg .a2{background:#c4b5fd;right:-16vmax;top:6vmax;animation:lpAur2 56s ease-in-out infinite alternate}
.lp-bg .a3{background:#fdba9b;left:20vw;bottom:-22vmax;opacity:.22;animation:lpAur1 62s ease-in-out infinite alternate-reverse}
.lp-bg .a4{background:#a5f3fc;right:12vw;bottom:-18vmax;opacity:.22;animation:lpAur2 52s ease-in-out infinite alternate-reverse}
@keyframes lpAur1{0%{transform:translate(0,0) scale(1)}50%{transform:translate(8vw,6vh) scale(1.12)}100%{transform:translate(-4vw,10vh) scale(.95)}}
@keyframes lpAur2{0%{transform:translate(0,0) scale(1)}50%{transform:translate(-9vw,8vh) scale(.92)}100%{transform:translate(4vw,-6vh) scale(1.1)}}
.lp-grid{position:absolute;inset:0;background-image:radial-gradient(#1e3a8a 1px,transparent 1.2px);background-size:26px 26px;opacity:.07;
 -webkit-mask:radial-gradient(ellipse 75% 65% at 50% 40%,#000 30%,transparent 80%);mask:radial-gradient(ellipse 75% 65% at 50% 40%,#000 30%,transparent 80%)}
.lp-net{position:absolute;inset:0}
.lp-glyphs{position:absolute;inset:0 0 -40vh;will-change:transform}
.lp-glyphs b{position:absolute;font:800 clamp(18px,2.4vw,34px)/1 'Plus Jakarta Sans',Inter,sans-serif;opacity:.11;animation:lpGlyph 26s ease-in-out infinite;animation-delay:calc(var(--k)*-2.3s);white-space:nowrap}
.lp-glyphs b:nth-child(3n){font-size:clamp(14px,1.6vw,22px);opacity:.09;animation-duration:32s}
.lp-glyphs b.g{color:#059669}.lp-glyphs b.p{color:#7c3aed}.lp-glyphs b.c{color:#e8504a}.lp-glyphs b.t{color:#0891b2}
@keyframes lpGlyph{0%,100%{transform:translateY(0) rotate(-6deg)}50%{transform:translateY(-26px) rotate(6deg)}}
@media(max-width:700px){.lp-bg .au{filter:blur(60px);opacity:.24}.lp-glyphs b{opacity:.08}.lp-glyphs b:nth-child(odd){display:none}}
@media(prefers-reduced-motion:reduce){.lp-bg .au,.lp-glyphs b{animation:none}.lp-net{display:none}}

/* ---------- Banner: children celebrating their result (synced with the 10s laptop result loop) ---------- */
.lp-cele{position:absolute;inset:0;z-index:3;pointer-events:none;overflow:hidden;border-radius:6%}
/* laptop light on faces */
.cl-glow{position:absolute;left:34%;top:74%;width:120%;height:90%;transform:translate(-50%,-100%);background:radial-gradient(ellipse 40% 55% at 50% 100%,#e0f2fe 0%,#bae6fdaa 25%,#93c5fd44 50%,transparent 72%);mix-blend-mode:screen;opacity:0;animation:lpClGlow 10s ease-in-out infinite}
@keyframes lpClGlow{0%,9%{opacity:0}16%{opacity:.85}22%,72%{opacity:.55}82%,100%{opacity:0}}
/* chat bubble: dots, then the news */
.cl-bubble{position:absolute;left:43.2%;top:20.6%;width:11.2%;height:10.4%;display:grid;place-items:center;border-radius:28%;background:linear-gradient(160deg,#fb7fa5,#f05a8c);box-shadow:0 6px 14px #f05a8c55;overflow:visible}
.cl-bubble::after{content:'';position:absolute;left:14%;bottom:-16%;width:22%;height:30%;background:#f05a8c;clip-path:polygon(0 0,100% 0,10% 100%)}
.cl-dots{display:flex;gap:9%;width:60%;justify-content:center;animation:lpClDots 10s steps(1) infinite}
.cl-dots i{width:18%;aspect-ratio:1;border-radius:50%;background:#fff;animation:lpType3 .9s ease-in-out infinite}
.cl-dots i:nth-child(2){animation-delay:.15s}.cl-dots i:nth-child(3){animation-delay:.3s}
@keyframes lpType3{0%,100%{transform:translateY(0);opacity:.6}50%{transform:translateY(-30%);opacity:1}}
.cl-bubble b{position:absolute;white-space:nowrap;font:800 clamp(9px,1.25vw,13px) 'Plus Jakarta Sans',Inter,sans-serif;color:#fff;opacity:0;transform:scale(.6);animation:lpClNews 10s cubic-bezier(.2,.9,.3,1.5) infinite}
@keyframes lpClDots{0%,15%{opacity:1}16%,84%{opacity:0}85%,100%{opacity:1}}
@keyframes lpClNews{0%,15%{opacity:0;transform:scale(.6)}19%{opacity:1;transform:scale(1.15)}22%,78%{opacity:1;transform:scale(1)}84%,100%{opacity:0;transform:scale(.6)}}
.cl-bubble{animation:lpClBubble 10s cubic-bezier(.2,.9,.3,1.4) infinite}
@keyframes lpClBubble{0%,15%{width:11.2%;left:43.2%}19%,80%{width:19%;left:39.3%}86%,100%{width:11.2%;left:43.2%}}
/* emoji reactions above each child */
.cl-emo{position:absolute;font-size:clamp(16px,2.6vw,28px);opacity:0;filter:drop-shadow(0 4px 6px #0003);animation:lpClEmo 10s ease-out infinite}
.cl-emo.e1{left:24%;top:38%;animation-delay:.25s}.cl-emo.e2{left:48%;top:36%;animation-delay:.55s}.cl-emo.e3{left:71%;top:42%;animation-delay:.85s}
@keyframes lpClEmo{0%,16%{opacity:0;transform:translateY(14px) scale(.4)}21%{opacity:1;transform:translateY(0) scale(1.15)}40%{opacity:1;transform:translateY(-26px) scale(1)}55%,100%{opacity:0;transform:translateY(-52px) scale(.9)}}
/* sparkles around heads */
.cl-spark{position:absolute;color:#fde68a;font-size:clamp(10px,1.4vw,16px);opacity:0;text-shadow:0 0 8px #fbbf24;animation:lpClSpark 10s ease-in-out infinite}
.cl-spark.s1{left:17%;top:40%;animation-delay:.2s}.cl-spark.s2{left:40%;top:38%;animation-delay:.5s}.cl-spark.s3{left:60%;top:41%;animation-delay:.8s}.cl-spark.s4{left:86%;top:47%;animation-delay:1.1s}
@keyframes lpClSpark{0%,15%{opacity:0;transform:scale(0) rotate(0)}20%{opacity:1;transform:scale(1.3) rotate(90deg)}26%{opacity:.5;transform:scale(.8) rotate(140deg)}32%{opacity:1;transform:scale(1.1) rotate(200deg)}42%,100%{opacity:0;transform:scale(0) rotate(260deg)}}
/* confetti shower */
.cl-rain i{position:absolute;left:var(--x);top:-6%;width:var(--w);height:calc(var(--w)*1.6);border-radius:2px;background:var(--c);opacity:0;animation:lpClRain 10s cubic-bezier(.3,.6,.4,1) infinite;animation-delay:var(--dl)}
.cl-rain i:nth-child(3n){border-radius:50%;height:var(--w)}
@keyframes lpClRain{0%,14%{opacity:0;transform:translateY(0) rotate(0)}16%{opacity:1}52%{opacity:1}62%,100%{opacity:0;transform:translateY(560%) rotate(var(--dr)) translateX(12px)}}
@media(prefers-reduced-motion:reduce){.lp-cele{display:none}}
@keyframes lpClRain{0%,14%{opacity:0;top:-6%;transform:rotate(0)}16%{opacity:1}52%{opacity:1}62%,100%{opacity:0;top:96%;transform:rotate(var(--dr)) translateX(14px)}}
.cl-emo{font-size:clamp(20px,3.2vw,34px)}

/* ---------- Results: toppers board ---------- */
.tb-page{max-width:1180px;margin:0 auto;padding:6px 28px 10px}
.tb-hero{text-align:center;padding:34px 22px 26px;border-radius:28px;background:radial-gradient(500px 220px at 15% 0,#fef3c7,transparent 70%),radial-gradient(500px 220px at 90% 100%,#ede9fe,transparent 70%),#ffffffb3;border:1px solid #e3e9f5;box-shadow:0 14px 40px #1e3a8a0f;backdrop-filter:blur(6px)}
.tb-hero h1{font:800 clamp(30px,4.4vw,52px)/1.08 'Plus Jakarta Sans',Inter,sans-serif;letter-spacing:-1.2px;color:var(--lp-navy);margin-top:12px}
.tb-hero>p{font-size:16px;color:var(--lp-soft);margin-top:8px}
.tb-controls{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap;margin-top:20px}
.tb-tabs{display:inline-flex;gap:4px;padding:5px;background:#eaf0fb;border-radius:14px}
.tb-tabs button{font:700 14px 'Plus Jakarta Sans',Inter,sans-serif;color:var(--lp-soft);background:none;border:0;border-radius:10px;padding:10px 18px;cursor:pointer;transition:all .2s}
.tb-tabs button.on{background:#fff;color:#1d4ed8;box-shadow:0 4px 12px #1e3a8a1f}
.tb-state{min-width:230px;font:600 14px Inter,sans-serif;color:var(--lp-navy);background:#fff;border:1.5px solid #dbe4f3;border-radius:12px;padding:11px 14px}
.tb-summary{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:22px 0 14px}
.tb-summary span{font-size:13px;color:var(--lp-soft);background:#ffffffcc;border:1px solid #e3e9f5;border-radius:999px;padding:6px 14px}
.tb-summary b{color:var(--lp-navy)}
.tb-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:8px}
.tb-card{background:#fff;border:1px solid #e6ecf6;border-radius:20px;padding:14px;box-shadow:0 10px 26px #1e3a8a0d;animation:lpRise .4s ease both;animation-delay:calc(var(--i,0)*.04s);display:flex;flex-direction:column}
.tb-card header{display:flex;justify-content:space-between;align-items:baseline;padding:2px 4px 10px;border-bottom:1px solid #eef2f8;margin-bottom:10px}
.tb-card header b{font:800 17px 'Plus Jakarta Sans',Inter,sans-serif;color:var(--lp-navy)}
.tb-card header small{font-size:11.5px;font-weight:600;color:var(--lp-soft)}
.tb-podium{list-style:none;margin:0;padding:0;display:grid;gap:7px}
.tb-podium li{display:grid;grid-template-columns:26px 34px minmax(0,1fr) auto;align-items:center;gap:9px;padding:8px 10px;border-radius:13px}
.tb-podium li.r1{background:linear-gradient(90deg,#fef3c7,#fffbeb)}.tb-podium li.r2{background:linear-gradient(90deg,#f1f5f9,#f8fafc)}.tb-podium li.r3{background:linear-gradient(90deg,#ffedd5,#fff7ed)}
.tb-medal{font-size:20px;text-align:center}
.tb-av{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;font:800 12px Inter,sans-serif;color:#fff;background:linear-gradient(135deg,#3b82f6,#7c3aed)}
.tb-podium li.r1 .tb-av{background:linear-gradient(135deg,#f59e0b,#d97706)}.tb-podium li.r2 .tb-av{background:linear-gradient(135deg,#94a3b8,#64748b)}.tb-podium li.r3 .tb-av{background:linear-gradient(135deg,#fb923c,#c2410c)}
.tb-who{min-width:0;display:flex;flex-direction:column}
.tb-who b{font:700 13.5px 'Plus Jakarta Sans',Inter,sans-serif;color:var(--lp-navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tb-who small{font-size:11px;color:var(--lp-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tb-place{color:#94a3b8!important}
.tb-score{text-align:right;display:flex;flex-direction:column}
.tb-score b{font:800 14px 'Plus Jakarta Sans',Inter,sans-serif;color:var(--lp-navy)}
.tb-score small{font-size:11px;font-weight:700;color:#059669}
.tb-star{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:3px;padding:16px 10px 12px;border-radius:16px;background:radial-gradient(circle at 50% 0,#fef3c7,transparent 70%),linear-gradient(180deg,#fffbeb,#fff)}
.tb-crown{position:absolute;top:2px;font-size:22px;animation:lpBob 3s ease-in-out infinite}
.tb-av.big{width:58px;height:58px;font-size:18px;margin-top:14px;background:linear-gradient(135deg,#f59e0b,#d97706);box-shadow:0 0 0 4px #fde68a,0 8px 18px #d9770655}
.tb-star>b{font:800 16px 'Plus Jakarta Sans',Inter,sans-serif;color:var(--lp-navy);margin-top:6px}
.tb-star>small{font-size:12px;color:var(--lp-soft)}
.tb-pill{margin-top:8px;font-size:11.5px;font-weight:800;color:#92400e;background:#fef3c7;border:1px solid #fde68a;border-radius:999px;padding:4px 10px}
.tb-empty{flex:1;display:grid;place-items:center;min-height:120px;font-size:13.5px;font-weight:600;color:#94a3b8;border:1.5px dashed #e2e8f0;border-radius:14px;background:#f8fafc}
.tb-empty.big{min-height:160px;margin-top:22px;font-size:15px;background:#ffffffcc}
.tb-card.empty{background:#ffffffb3}
.tb-card.skel i{display:block;height:44px;border-radius:12px;margin-top:8px;background:linear-gradient(90deg,#f1f5f9,#e2e8f0,#f1f5f9);background-size:200% 100%;animation:lpShimmer 1.4s linear infinite}
.tb-note{text-align:center;font-size:12.5px;color:var(--lp-soft);margin:22px auto 0;max-width:720px}
@media(max-width:1000px){.tb-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.tb-page{padding:6px 16px 10px}.tb-grid{grid-template-columns:1fr}.tb-tabs button{padding:9px 12px;font-size:13px}.tb-state{width:100%}}
.tb-awaited{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px;margin-top:16px;font-size:13px;color:var(--lp-soft)}
.tb-awaited span{font-weight:700;margin-right:4px}
.tb-awaited i{font-style:normal;font-weight:600;color:#64748b;background:#ffffffcc;border:1px dashed #cbd5e1;border-radius:999px;padding:4px 10px}

/* national podium (top 3 overall) */
.tb-loading{text-align:center;padding:40px;color:var(--lp-soft)}
.tb-search{display:flex;align-items:center;gap:8px;min-width:240px;background:#fff;border:1.5px solid #dbe4f3;border-radius:12px;padding:2px 12px}
.tb-search .lp-ic{width:16px;height:16px;color:#64748b}
.tb-search input{flex:1;border:0;outline:0;background:none;font:500 14px Inter,sans-serif;padding:9px 0;color:var(--lp-navy)}
.tb-podium3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:end;max-width:900px;margin:10px auto 0}
.tp{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:3px;padding:22px 14px 0;border-radius:24px 24px 16px 16px;background:#fff;border:1px solid #e6ecf6;box-shadow:0 16px 36px #1e3a8a14;overflow:hidden;animation:lpRise .5s ease both}
.tp.r1{background:linear-gradient(180deg,#fffbeb,#fff 60%);border-color:#fde68a;box-shadow:0 22px 50px #f59e0b33;animation-delay:.1s}
.tp.r2{animation-delay:.2s}.tp.r3{animation-delay:.3s}
.tp-medal{font-size:34px;line-height:1}
.tp-crown{position:absolute;top:10px;right:14px;font-size:22px;animation:lpBob 3s ease-in-out infinite}
.tp-av{display:grid;place-items:center;width:70px;height:70px;border-radius:50%;margin-top:8px;font:800 22px 'Plus Jakarta Sans',Inter,sans-serif;color:#fff;background:linear-gradient(135deg,#94a3b8,#64748b);box-shadow:0 0 0 5px #fff,0 8px 20px #0f172a26}
.tp.r1 .tp-av{width:88px;height:88px;font-size:28px;background:linear-gradient(135deg,#fbbf24,#d97706);box-shadow:0 0 0 5px #fde68a,0 10px 26px #d9770659}
.tp.r3 .tp-av{background:linear-gradient(135deg,#fb923c,#c2410c)}
.tp-name{font:800 18px/1.2 'Plus Jakarta Sans',Inter,sans-serif;color:var(--lp-navy);margin-top:10px}
.tp.r1 .tp-name{font-size:21px}
.tp-class{font-size:11.5px;font-weight:800;color:#4f46e5;background:#eef2ff;border-radius:999px;padding:3px 10px;margin:4px 0 2px}
.tp small{font-size:12.5px;color:var(--lp-soft)}
.tp-place{color:#94a3b8!important}
.tp-score{display:flex;align-items:baseline;gap:8px;margin:10px 0 12px}
.tp-score b{font:800 22px 'Plus Jakarta Sans',Inter,sans-serif;color:var(--lp-navy)}
.tp-score span{font-size:13px;font-weight:800;color:#059669}
.tp-step{align-self:stretch;margin:0 -14px;display:grid;place-items:center;color:#fff;font:800 18px 'Plus Jakarta Sans',Inter,sans-serif;background:linear-gradient(180deg,#cbd5e1,#94a3b8)}
.tp.r1 .tp-step{height:96px;background:linear-gradient(180deg,#fcd34d,#f59e0b)}
.tp.r2 .tp-step{height:64px}
.tp.r3 .tp-step{height:44px;background:linear-gradient(180deg,#fdba74,#f97316)}
/* state No. 1 cards */
.tb-states{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:8px}
.ts{position:relative;background:#fff;border:1px solid #e6ecf6;border-radius:18px;padding:14px;box-shadow:0 10px 24px #1e3a8a0d;animation:lpRise .4s ease both;animation-delay:calc(var(--i)*.04s)}
.ts header{display:flex;justify-content:space-between;align-items:baseline;gap:8px;padding-bottom:10px;border-bottom:1px solid #eef2f8;margin-bottom:12px}
.ts header b{font:800 15px 'Plus Jakarta Sans',Inter,sans-serif;color:var(--lp-navy)}
.ts header small{font-size:11.5px;color:var(--lp-soft);font-weight:600;white-space:nowrap}
.ts-body{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:11px}
.ts-av{position:relative;display:grid;place-items:center;width:52px;height:52px;border-radius:50%;font:800 16px Inter,sans-serif;color:#fff;background:linear-gradient(135deg,#fbbf24,#d97706);box-shadow:0 0 0 3px #fde68a}
.ts-av i{position:absolute;top:-14px;font-style:normal;font-size:16px}
.ts-who{min-width:0;display:flex;flex-direction:column}
.ts-who b{font:700 14.5px 'Plus Jakarta Sans',Inter,sans-serif;color:var(--lp-navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ts-who small{font-size:11.5px;color:var(--lp-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ts-score{text-align:right;display:flex;flex-direction:column}
.ts-score b{font:800 15px 'Plus Jakarta Sans',Inter,sans-serif;color:var(--lp-navy)}
.ts-score span{font-size:11.5px;font-weight:800;color:#059669}
.ts-badge{display:inline-block;margin-top:12px;font-size:11px;font-weight:800;color:#92400e;background:#fef3c7;border:1px solid #fde68a;border-radius:999px;padding:3px 9px}
@media(max-width:1000px){.tb-states{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.tb-podium3{grid-template-columns:1fr;max-width:420px}.tp.r1{order:-1}.tp-step{height:40px!important}.tb-states{grid-template-columns:1fr}.tb-search{width:100%}}

/* ---------- Mobile workspace: app-style top bar + bottom tab bar ---------- */
.navitem .ns,.tb-out{display:none}
@media(max-width:760px){
 .sidebar{position:sticky;top:0;z-index:40;padding:10px 14px;flex-wrap:nowrap;align-items:center;background:#ffffffeb;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
 .sidebar .brand{width:auto;padding:0;font-size:15px}
 .sidebar .brand small{display:none}
 .sidebar .brand .logo{width:30px;height:30px}
 .sidebar nav{position:fixed;left:0;right:0;bottom:0;z-index:60;display:flex;width:auto;overflow:visible;justify-content:space-around;gap:0;padding:6px 4px calc(6px + env(safe-area-inset-bottom));background:#ffffff;border-top:1px solid var(--line);box-shadow:0 -8px 24px #0f172a14}
 .navitem{flex:1;flex-direction:column;justify-content:center;gap:3px;margin:0;padding:6px 2px;border-radius:12px;font-size:10.5px;font-weight:600;min-width:0;text-align:center}
 .navitem .icon{font-size:18px;line-height:1}
 .navitem .nl{display:none}.navitem .ns{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
 .navitem.active{background:#edf2ff}
 .navitem .count{display:none}
 .topbar{height:auto;min-height:52px;padding:8px 16px;gap:10px}
 .topbar .crumb{font-size:14px;color:var(--ink);font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
 .topbar .crumb>span,.topbar .crumb{font-size:0}.topbar .crumb b{font-size:15px;font-weight:800;color:var(--ink)}
 .topbar .badge{display:none}
 .topbar>.row{gap:8px;flex-shrink:0}
 .tb-out{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:#fff;color:#64748b;font-size:16px;cursor:pointer}
 .main{padding:18px 14px calc(92px + env(safe-area-inset-bottom))}
 .notefooter{flex-direction:column;gap:6px;text-align:center}
}
@media(max-width:760px){.sidebar{backdrop-filter:none;-webkit-backdrop-filter:none;background:#fff}}

/* ---------- Mobile polish (≤600px / ≤420px) ---------- */
@media(max-width:760px){
 .sidebar{padding:12px 14px 10px}
 /* exam: keep timer + submit visible while scrolling */
 .examtop{position:sticky;top:0;z-index:30;background:#ffffffee;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:10px 14px;gap:8px 12px;box-shadow:0 6px 16px #0f172a12}
 .examtop>.brand{display:none}
 .examtop>div:nth-child(2) h3{font-size:14px}
 .examtop .examclock{font-size:22px}
 .examtop small{font-size:11px}
 .palette{grid-template-columns:repeat(5,1fr)!important;gap:8px!important}
 .palette button{min-height:42px;font-size:15px}
 .option{min-height:52px}
}
@media(max-width:600px){
 .lp-hero h1 .eng-pen{display:none}
 .lp-ctas .lp-btn{white-space:nowrap;font-size:15.5px;padding:13px 14px;gap:8px}
}
@media(max-width:420px){
 .lp-header{gap:8px;padding:12px 14px}
 .lp-logo{gap:8px}
 .lp-logo small{font-size:8.5px;letter-spacing:.8px;white-space:nowrap}
 .lp-mark{width:34px;height:34px}.lp-logo b{font-size:19px}
 .lp-drop summary{padding:9px 12px;font-size:12.5px;white-space:nowrap;gap:5px}
 .lp-drop summary .lp-ic{width:13px;height:13px}
 .lp-iconbtn{width:38px;height:38px}
 .lp-actions{gap:6px}
 .lp-menu{right:-50px}
}
@media(max-width:760px){
 .examtop{flex-wrap:nowrap;align-items:center;padding:8px 12px}
 .examtop>div:nth-child(2){flex:1;min-width:0}
 .examtop>div:nth-child(2) h3{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .examtop>.row{flex-wrap:nowrap;gap:8px;flex-shrink:0}
 .examtop>.row small{display:none}
 .examtop .examclock{font-size:19px}
 .examtop>.row .btn{padding:9px 11px;font-size:13px}
}

/* tables become cards on phones */
@media(max-width:760px){
 .cardtable{overflow:visible}
 .cardtable table,.cardtable tbody{display:block;white-space:normal}
 .cardtable thead{display:none}
 .cardtable tr{display:block;margin:0 0 12px;padding:12px 14px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 6px 16px #1e3a8a0d}
 .cardtable td{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:7px 0;border-bottom:1px dashed #eef2f8;font-size:13.5px;text-align:right}
 .cardtable td:last-child{border-bottom:0}
 .cardtable td::before{content:attr(data-label);font-size:11.5px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.4px;text-align:left;flex-shrink:0}
 .cardtable td:first-child{display:block;text-align:left;padding-top:0}
 .cardtable td:first-child::before{content:none}
 .cardtable td[colspan]{justify-content:flex-start}
 .cardtable td .btn.text{padding:0}
 .tablecard{padding:16px 12px}
 .tablecard .cardhead.row{flex-direction:column;align-items:stretch}
 .tablecard .cardhead .row{flex-wrap:wrap}
 .tablecard .cardhead input.filter,.tablecard .cardhead select.filter{width:100%!important}
}
@media(max-width:760px){
 .cardtable tr{display:grid;grid-template-columns:1fr 1fr;gap:2px 14px}
 .cardtable td{display:block;text-align:left;padding:6px 0;border-bottom:0}
 .cardtable td::before{display:block;margin-bottom:1px;font-size:10.5px}
 .cardtable td:first-child{grid-column:1/-1;padding-bottom:8px;margin-bottom:4px;border-bottom:1px dashed #e2e8f0}
 .cardtable td[colspan]{grid-column:1/-1}
}

/* ---------- Auth pages (register / login / admin): new two-panel pattern ---------- */
.au .lp-header{border-bottom:0}
.au-wrap{max-width:1180px;margin:8px auto 0;padding:0 28px;display:grid;grid-template-columns:.9fr 1.1fr;gap:28px;align-items:start}
.au-wrap.wide{grid-template-columns:.72fr 1.28fr}
.au-side{position:sticky;top:18px;overflow:hidden;border-radius:28px;padding:30px 28px 24px;color:#fff;background:radial-gradient(420px 260px at 90% 0,#3b82f6aa,transparent 65%),radial-gradient(360px 240px at 0 100%,#8b5cf677,transparent 65%),linear-gradient(150deg,#1e1b4b,#312e81 50%,#1d4ed8);box-shadow:0 26px 60px #1e1b4b40}
.au-tag{display:inline-block;font-size:11px;font-weight:800;letter-spacing:1.4px;color:#c7d2fe;background:#ffffff1f;border-radius:999px;padding:6px 11px}
.au-side h2{font:800 clamp(24px,2.4vw,32px)/1.15 'Plus Jakarta Sans',Inter,sans-serif;margin-top:14px;color:#fff;letter-spacing:-.6px}
.au-side ul{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:9px}
.au-side li{display:flex;align-items:center;gap:11px;font-size:14.5px;font-weight:600;color:#e0e7ff;background:#ffffff12;border:1px solid #ffffff22;border-radius:14px;padding:10px 12px}
.au-side li span{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:#ffffff1f;font-size:17px;flex-shrink:0}
.au-art{position:relative;margin-top:20px;border-radius:20px;overflow:hidden;background:#ffffff14}
.au-art img{display:block;width:100%;height:auto;animation:lpFloat 7s ease-in-out infinite}
.au-chip{position:absolute;left:12px;bottom:12px;font-size:12px;font-weight:800;color:#1e1b4b;background:#ffffffe6;border-radius:999px;padding:6px 11px;box-shadow:0 6px 14px #0003}
.au-date{margin-top:14px;font-size:12.5px;color:#c7d2fe}
.au-date b{color:#fff}
.au-main{min-width:0}
.au-head h1{font:800 clamp(28px,3.2vw,40px)/1.1 'Plus Jakarta Sans',Inter,sans-serif;letter-spacing:-1px;color:var(--lp-navy)}
.au-head p{font-size:15.5px;color:var(--lp-soft);margin-top:8px}
.au-main>.card,.au .wizard,.au .login-card{margin-top:20px;border-radius:24px;border:1px solid #e3e9f5;background:#ffffffeb;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 18px 44px #1e3a8a14;max-width:none}
.au .login-card{padding:28px}
.au .registration-issuer{text-align:center;font-size:12.5px;color:var(--lp-soft);margin-top:16px}
/* new-pattern form controls */
.au .field{font:600 14px Inter,sans-serif;color:var(--lp-navy)}
.au .field input,.au .field select,.au .faq-search input{border:1.5px solid #dbe4f3;border-radius:12px;background:#fff;transition:border-color .2s,box-shadow .2s}
.au .field input:focus,.au .field select:focus{outline:0;border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f626}
.au .btn{border-radius:12px;font-family:'Plus Jakarta Sans',Inter,sans-serif;font-weight:700}
.au .btn:not(.secondary):not(.text){background:linear-gradient(135deg,#1d4ed8,#2563eb 60%,#3b82f6);box-shadow:0 10px 22px #2563eb40;border:0;color:#fff}
.au .btn.secondary{border-radius:12px;border:1.5px solid #c7d6ef;background:#fff}
.au .btn.wide{padding:14px;font-size:15.5px}
.au .tabs.wide{background:#eaf0fb;border-radius:14px;padding:5px}
.au .tabs.wide button{border-radius:10px;font:700 14px 'Plus Jakarta Sans',Inter,sans-serif;padding:11px}
.au .tabs.wide button.active{box-shadow:0 4px 12px #1e3a8a1f;color:#1d4ed8}
.au .login-foot a{color:#1d4ed8}
.au .wizard .stepper .dot{border-radius:12px}
.au .wprogress{height:6px;border-radius:6px}
.au .draft-note{border-radius:14px;margin-top:16px}
.au .review-block{border-radius:16px}
@media(max-width:900px){
 .au-wrap,.au-wrap.wide{grid-template-columns:1fr;gap:16px;padding:0 16px}
 .au-side{position:static;order:2;padding:20px 18px}
 .au-art,.au-date{display:none}
 .au-side h2{font-size:21px}
 .au-side ul{grid-template-columns:1fr;gap:7px}
 .au-side li{font-size:13.5px;padding:8px 10px}
 .au .login-card{padding:20px}
}

/* ---------- Workspace (student / school / admin) in the new pattern ---------- */
.workspace{min-height:100vh;background:radial-gradient(900px 500px at 100% 0,#e0e7ff99,transparent 60%),radial-gradient(700px 420px at 0 100%,#d1fae566,transparent 60%),#f6f8fe}
.ws-brand{text-decoration:none;color:var(--lp-navy)}
.ws-brand .logo{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;color:#fff;font-size:0;background:linear-gradient(135deg,#3730a3,#2563eb);box-shadow:0 6px 16px #2563eb40}
.ws-brand .logo .lp-ic{width:21px;height:21px}
.ws-brand b{display:block;font:800 22px/1 'Plus Jakarta Sans',Inter,sans-serif;letter-spacing:-.5px;background:linear-gradient(90deg,#3730a3,#2563eb 55%,#f26b5b);-webkit-background-clip:text;background-clip:text;color:transparent}
.ws-brand small{display:block;font-size:9.5px;font-weight:800;letter-spacing:1.2px;color:var(--lp-navy);margin-top:3px}
.sidebar{background:#ffffffee;border-right:1px solid #e6ecf6}
.navlabel{font-size:10.5px;font-weight:800;letter-spacing:1.4px;color:#94a3b8}
.navitem{border-radius:12px;font:600 14.5px 'Plus Jakarta Sans',Inter,sans-serif;color:#475569;transition:background .2s,color .2s,transform .15s}
.navitem .icon{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#f1f5f9;font-size:15px;transition:background .2s}
.navitem:hover{background:#f5f7ff;transform:translateX(2px)}
.navitem.active{background:linear-gradient(90deg,#eef2ff,#f5f3ff);color:#1d4ed8;font-weight:700;box-shadow:inset 3px 0 0 #2563eb}
.navitem.active .icon{background:linear-gradient(135deg,#3b82f6,#4f46e5);color:#fff}
.sidehelp{border-radius:18px;background:linear-gradient(150deg,#1e1b4b,#312e81 55%,#1d4ed8);color:#fff;border:0}
.sidehelp h3{color:#fff}.sidehelp p{color:#c7d2fe}
.sidehelp .subjecticon{background:#ffffff26;color:#fff}
.topbar{background:#ffffffcc;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid #e6ecf6}
.topbar .badge{border-radius:999px;background:linear-gradient(90deg,#eef2ff,#f5f3ff);color:#4338ca;font-weight:800}
.topbar .avatar,.profile .avatar{background:linear-gradient(135deg,#3b82f6,#7c3aed);color:#fff}
.workspace .pageheading h1,.workspace .main h1{font-family:'Plus Jakarta Sans',Inter,sans-serif;font-weight:800;letter-spacing:-1px;color:var(--lp-navy)}
.workspace h2,.workspace h3{font-family:'Plus Jakarta Sans',Inter,sans-serif;color:var(--lp-navy)}
.workspace .card{border-radius:20px;border:1px solid #e6ecf6;box-shadow:0 10px 28px #1e3a8a0d;background:#ffffffeb}
.workspace .btn{border-radius:12px;font-family:'Plus Jakarta Sans',Inter,sans-serif;font-weight:700}
.workspace .btn:not(.secondary):not(.text):not(.green){background:linear-gradient(135deg,#1d4ed8,#2563eb 60%,#3b82f6);box-shadow:0 8px 18px #2563eb38;border:0;color:#fff}
.workspace .btn.secondary{border:1.5px solid #c7d6ef;background:#fff}
.workspace .badge{border-radius:999px;font-weight:800}
.workspace .scorebanner{border-radius:22px;background:radial-gradient(420px 220px at 100% 0,#60a5fa88,transparent 65%),linear-gradient(135deg,#1e1b4b,#3730a3 45%,#1d4ed8);box-shadow:0 18px 40px #1e1b4b33}
.workspace .exam-banner{border-radius:22px;border:1px solid #e0e7ff;background:radial-gradient(400px 200px at 100% 0,#ede9fe,transparent 70%),linear-gradient(135deg,#eef2ff,#f8fafc)}
.workspace .stat{border-radius:20px}
.workspace .stat .subjecticon{border-radius:12px}
.workspace .timebox{border-radius:12px}
.workspace .field input,.workspace .field select{border:1.5px solid #dbe4f3;border-radius:12px}
.workspace .field input:focus,.workspace .field select:focus{outline:0;border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f626}
.workspace .callout{border-radius:14px}
.notefooter{color:#94a3b8}
/* exam screen header */
.examtop{background:#ffffffee;border-bottom:1px solid #e6ecf6}
.examtop h3{font-family:'Plus Jakarta Sans',Inter,sans-serif}
.examtop .examclock{font-family:'Plus Jakarta Sans',Inter,sans-serif;font-weight:800;background:linear-gradient(90deg,#1d4ed8,#7c3aed);-webkit-background-clip:text;background-clip:text;color:transparent}
.examgrid .card{border-radius:20px;border:1px solid #e6ecf6;box-shadow:0 10px 28px #1e3a8a0d}
.option{border-radius:14px;transition:border-color .2s,background .2s}
.option:has(input:checked){border-color:#3b82f6;background:#eff6ff}
@media(max-width:760px){.ws-brand b{font-size:18px}.ws-brand .logo{width:32px;height:32px}.ws-brand small{display:none}.navitem:hover{transform:none}.navitem.active{box-shadow:none}.navitem .icon{width:auto;height:auto;background:none!important;color:inherit}}
.ws-brand .logo{clip-path:none!important}.ws-brand .logo::before,.ws-brand .logo::after{display:none!important}

.ss-tip{width:210px}
.ss-tn{display:block;font:800 13px 'Plus Jakarta Sans',Inter,sans-serif;color:#1e1b4b;margin-bottom:2px}
.ss-tf{display:block;font-size:12px;line-height:1.45;color:#0f172a}
.ss-tc{display:block;margin-top:5px;font-size:10.5px;font-weight:700;color:#4f46e5}
@media(max-width:900px){.ss-row{padding-top:118px;margin-top:-104px}}

/* glassier planet fact card */
.ss-tip{background:linear-gradient(160deg,#ffffffad,#e0e7ff94);backdrop-filter:blur(16px) saturate(1.6);-webkit-backdrop-filter:blur(16px) saturate(1.6);border:1px solid #ffffffb3;box-shadow:0 14px 34px #00000059,inset 0 1px 0 #ffffffcc}
.ss-tf{color:#0b1235;font-weight:600}
.ss-tn{color:#1e1b4b}

/* question bank (admin) */
.qb-cov td{min-width:150px}
.qb-bar{height:8px;border-radius:99px;background:#e5e7eb;overflow:hidden;margin:4px 0 6px}
.qb-bar i{display:block;height:100%;background:linear-gradient(90deg,#16a34a,#22c55e);border-radius:99px}
.qb-filters{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:14px}
.qb-bulk{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px}
.qb-bulk .btn{padding:8px 14px}
.qb-stem{max-width:360px;white-space:pre-line}
.badge.qb-draft{background:#f1f5f9;color:#475569}
.badge.qb-retired{background:#fee2e2;color:#991b1b}
.badge.qb-exam{background:#ede9fe;color:#5b21b6}
.badge.qb-practice{background:#e0f2fe;color:#075985}
.qb-preview{display:grid;gap:10px;margin-top:12px}
.qb-sample{border:1px solid #e5e7eb;border-radius:12px;padding:10px 14px;background:#f8fafc}
.qb-sample p{margin:4px 0}
.qb-sample ol{margin:4px 0 6px 18px;padding:0}
.qb-ok{color:#15803d;font-weight:700}
.qb-err{border:1px solid #fecaca;background:#fef2f2;color:#991b1b;border-radius:12px;padding:10px 14px}
#qb-form textarea{font-family:ui-monospace,Menlo,monospace;font-size:14px}
@media (max-width:860px){.qb-filters{grid-template-columns:1fr 1fr}}

/* Star Scholar practice game (home section, student page, dashboard card) */
.gm{display:grid;grid-template-columns:300px 1fr;gap:40px;align-items:center;margin-top:34px}
.gm-phone{border-radius:34px;padding:9px;background:#120c33;box-shadow:0 26px 60px #1e3a8a40;transform:rotate(-2deg)}
.gm-phone img{display:block;width:100%;height:auto;border-radius:26px}
.gm-points{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.gm-point{display:flex;gap:12px;background:#fff;border:1px solid #e3eaf8;border-radius:18px;padding:16px;box-shadow:0 6px 18px #1e3a8a0d}
.gm-point h3{font-size:16px;margin:0 0 4px}
.gm-point p{margin:0;font-size:14px;color:#475569;line-height:1.5}
.gm-ic{flex:none;width:42px;height:42px;border-radius:12px;background:#eef3ff;display:flex;align-items:center;justify-content:center;font-size:22px}
.gm-soon{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.4px;background:#fff4db;color:#9a6200;border-radius:99px;padding:2px 8px;vertical-align:middle;margin-left:4px}
.gm-cta{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:20px}
.gm-stores{display:flex;flex-wrap:wrap;gap:10px}
.gm-store{display:flex;align-items:center;gap:8px;background:#0f172a;color:#fff;border-radius:12px;padding:7px 14px;font-size:20px}
.gm-store small{display:block;font-size:10px;opacity:.75;line-height:1.1}
.gm-store b{display:block;font-size:14px;line-height:1.2}
.gm-note{margin:10px 0 0;font-size:13px;color:#64748b}
.gm-steps{list-style:none;padding:0;margin:34px 0 0;display:grid;grid-template-columns:repeat(4,1fr);gap:14px;counter-reset:gm}
.gm-steps li{position:relative;background:#fff;border:1px solid #e3eaf8;border-radius:18px;padding:18px 16px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:4px}
.gm-steps li:not(:last-child):after{content:"›";position:absolute;right:-12px;top:50%;transform:translateY(-50%);font-size:22px;color:#94a3b8}
.gm-num{position:absolute;top:10px;left:12px;font-size:12px;font-weight:800;color:#2563eb}
.gm-sic{font-size:28px}
.gm-steps small{color:#64748b;font-size:13px}
.gm-hero{display:flex;gap:20px;align-items:center}
.gm-hero img{border-radius:18px;flex:none}
.gm-hero h2{margin:0 0 6px}
.gm-hero p{margin:0 0 14px;color:#475569}
.gm-ready{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.gm-ready div{display:flex;flex-direction:column;gap:6px}
.gm-bar{height:10px;border-radius:99px;background:#e5e7eb;overflow:hidden}
.gm-bar i{display:block;height:100%;width:0}
.gm-ready small{color:#94a3b8}
.gm-shots{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.gm-shots figure{margin:0}
.gm-shots img{display:block;width:100%;height:auto;border-radius:16px;border:1px solid #e5e7eb}
.gm-shots figcaption{text-align:center;font-weight:600;font-size:13px;margin-top:6px}
.gm-faq details{border:1px solid #e5e7eb;border-radius:12px;padding:12px 14px;margin:8px 0}
.gm-faq summary{cursor:pointer;font-weight:700}
.gm-faq p{margin:8px 0 0;color:#475569}
.card.gm-dash{display:flex;gap:14px;align-items:center;text-decoration:none;color:inherit;margin:0 0 22px;background:linear-gradient(120deg,#eef3ff,#f5f0ff);border:1px solid #dbe4ff}
.card.gm-dash b{display:block;font-size:16px}
.card.gm-dash small{color:#475569}
@media (max-width:900px){.gm{grid-template-columns:1fr}.gm-phone{max-width:280px;margin:0 auto;transform:none}.gm-points{grid-template-columns:1fr}.gm-steps{grid-template-columns:1fr 1fr}.gm-steps li:after{display:none}.gm-shots{grid-template-columns:1fr 1fr}.gm-ready{grid-template-columns:1fr}}
@media (max-width:520px){.gm-hero{flex-direction:column;text-align:center}.gm-hero .gm-stores{justify-content:center}}
/* header: 8 menu items — keep labels on one line, collapse to ☰ earlier */
.lp-nav a,.lp-drop summary{white-space:nowrap}
@media(max-width:1180px){.lp-nav a{padding:8px 8px;font-size:13.5px}}
@media(max-width:1080px){
 .lp-burger{display:grid}
 .lp-nav{display:none;position:absolute;left:16px;right:16px;top:100%;flex-direction:column;background:#fff;border:1px solid #e3e9f5;border-radius:16px;padding:8px;box-shadow:0 18px 40px #0b1a4a22;margin:0}
 .lp-nav.open{display:flex}
 .lp-nav a{font-size:15px;padding:11px 12px}
 .lp-nav a.active::after{display:none}
 .lp-actions{margin-left:auto}
}

/* ---------- Student area: match the website ---------- */
.sidebar{width:248px}.workspace{margin-left:248px}
.navitem{white-space:nowrap}
.navitem .icon .lp-ic{width:17px;height:17px}
.ws-brand small{white-space:nowrap}
@media(max-width:1100px){.sidebar{width:226px}.workspace{margin-left:226px}.navitem{font-size:13.5px;gap:10px}}
/* dashboard hero */
.dh{position:relative;overflow:hidden;display:grid;grid-template-columns:1.4fr 1fr;gap:24px;align-items:center;padding:30px 32px;border-radius:26px;color:#fff;background:radial-gradient(460px 260px at 92% 0,#3b82f6aa,transparent 65%),radial-gradient(380px 240px at 0 100%,#8b5cf677,transparent 65%),linear-gradient(140deg,#1e1b4b,#312e81 48%,#1d4ed8);box-shadow:0 24px 56px #1e1b4b40;margin-bottom:20px}
.dh-fx i{position:absolute;border-radius:50%;filter:blur(40px);opacity:.35}
.dh-fx i:nth-child(1){width:220px;height:220px;background:#34d399;right:-60px;bottom:-90px;animation:lpAur1 30s ease-in-out infinite alternate}
.dh-fx i:nth-child(2){width:180px;height:180px;background:#f472b6;left:30%;top:-90px;animation:lpAur2 36s ease-in-out infinite alternate}
.dh-fx i:nth-child(3){width:140px;height:140px;background:#22d3ee;left:-40px;bottom:-60px;opacity:.25}
.dh-l,.dh-r{position:relative;z-index:1}
.dh-eye{display:inline-block;font-size:11px;font-weight:800;letter-spacing:1.2px;color:#c7d2fe;background:#ffffff1f;border-radius:999px;padding:6px 11px}
.workspace .dh h1{color:#fff;font-size:clamp(26px,3vw,38px);margin-top:12px;letter-spacing:-1px}
.dh-l>p{color:#dbe4ff;font-size:15px;margin-top:6px}
.dh-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}
.dh-chips span{font-size:12.5px;font-weight:700;color:#fff;background:#ffffff1f;border:1px solid #ffffff33;border-radius:999px;padding:5px 11px}
.dh-btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.dh-btns .lp-btn{font-size:15px;padding:12px 18px}
.dh-btns .lp-btn.white{color:#3730a3}
.dh-r{background:#ffffff17;border:1px solid #ffffff30;border-radius:20px;padding:18px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);text-align:center}
.dh-r small{display:inline-flex;align-items:center;gap:6px;font-size:10.5px;font-weight:800;letter-spacing:.8px;color:#c7d2fe}
.dh-r small .lp-ic{width:14px;height:14px}
.dh-r .countdown{display:flex;justify-content:center;gap:8px;margin:12px 0}
.dh-r .timebox{background:#fff;color:#1e1b4b;border-radius:14px;min-width:58px;padding:9px 6px;border:0;box-shadow:0 8px 18px #0003}
.dh-r .timebox b{font:800 24px 'Plus Jakarta Sans',Inter,sans-serif;color:#1e1b4b}
.dh-r .timebox small{display:block;color:#64748b;font-size:9.5px;letter-spacing:.6px}
.dh-r>a{font-size:13px;font-weight:700;color:#fff;text-decoration:none;opacity:.9}
.dh-r>a:hover{opacity:1;text-decoration:underline}
/* stat cards with coloured icons */
.ds-row{margin:0 0 18px}
.stat.ds{display:flex;align-items:center;gap:14px;padding:18px}
.stat.ds .lp-bubble{width:52px;height:52px}.stat.ds .lp-bubble .lp-ic{width:24px;height:24px}
.stat.ds strong{font:800 28px 'Plus Jakarta Sans',Inter,sans-serif;margin:2px 0}
/* exam banner */
.exam-banner .lp-bubble.big{width:60px;height:60px;flex-shrink:0}
@media(max-width:900px){.dh{grid-template-columns:1fr;padding:24px 20px}.dh-r{text-align:left}.dh-r .countdown{justify-content:flex-start}}
@media(max-width:760px){.sidebar{width:100%}.workspace{margin-left:0}.navitem .icon .lp-ic{width:20px;height:20px}.dh-btns .lp-btn{flex:1;justify-content:center}.dh-r .timebox{min-width:0;flex:1}.ds-row{grid-template-columns:1fr!important}.stats.grid3.ds-row .stat:last-child{grid-column:auto}}
.dh-fx{position:absolute;inset:0;pointer-events:none;overflow:hidden;border-radius:inherit}
.lp-bubble.sm{width:38px;height:38px;box-shadow:0 5px 12px var(--sh)}.lp-bubble.sm .lp-ic{width:19px;height:19px}
.dh-btns .lp-btn{white-space:nowrap}
@media(max-width:760px){.navitem.active .icon{color:#1d4ed8!important}.dh-btns .lp-btn{font-size:14.5px;padding:12px 10px;gap:7px}}

/* ===== Star Scholar home showcase (gx) ===== */
#lp-game .gx{position:relative;overflow:hidden;display:grid;grid-template-columns:1.15fr .85fr;gap:28px 48px;align-items:center;padding:52px 56px 34px;border-radius:32px;color:#e0e7ff;background:radial-gradient(120% 90% at 85% 10%,#4f46e5 0%,transparent 55%),radial-gradient(90% 80% at 0% 100%,#7c3aed 0%,transparent 55%),linear-gradient(140deg,#1e1b4b,#312e81 55%,#1e1b4b);box-shadow:0 30px 60px -20px #312e8180}
.gx-fx{position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(1.4px 1.4px at 12% 22%,#fff9,transparent),radial-gradient(1.2px 1.2px at 32% 78%,#fff7,transparent),radial-gradient(1.6px 1.6px at 58% 14%,#fffa,transparent),radial-gradient(1.2px 1.2px at 74% 62%,#fff6,transparent),radial-gradient(1.4px 1.4px at 90% 36%,#fff8,transparent),radial-gradient(1px 1px at 46% 46%,#fff6,transparent)}
.gx-fx i{position:absolute;border-radius:50%;filter:blur(50px);opacity:.45}
.gx-fx i:nth-child(1){width:260px;height:260px;background:#22d3ee;right:-60px;bottom:-80px}
.gx-fx i:nth-child(2){width:200px;height:200px;background:#f472b6;left:35%;top:-90px;opacity:.3}
.gx-fx i:nth-child(3){width:160px;height:160px;background:#fbbf24;left:-50px;top:40%;opacity:.18}
.gx>*:not(.gx-fx){position:relative}
.gx-eyebrow{display:inline-block;padding:7px 14px;border-radius:99px;background:#ffffff14;border:1px solid #ffffff24;font:700 12px/1 Inter,sans-serif;letter-spacing:.12em;color:#c7d2fe}
.gx h2{margin:16px 0 10px;color:#fff;font:800 clamp(28px,3.4vw,42px)/1.12 'Plus Jakarta Sans',sans-serif;letter-spacing:-.02em}
.gx-grad{background:linear-gradient(90deg,#67e8f9,#a78bfa 50%,#f9a8d4);-webkit-background-clip:text;background-clip:text;color:transparent}
.gx-lead{margin:0 0 22px;font-size:17px;line-height:1.6;color:#c7d2fe;max-width:520px}
.gx-points{list-style:none;margin:0 0 24px;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.gx-points li{display:flex;gap:12px;align-items:flex-start;padding:14px;border-radius:18px;background:#ffffff0f;border:1px solid #ffffff1c;backdrop-filter:blur(6px)}
.gx-points b{display:block;color:#fff;font:700 15px/1.3 'Plus Jakarta Sans',sans-serif;margin-bottom:3px}
.gx-points span:not(.lp-bubble){font-size:13.5px;line-height:1.5;color:#c7d2fe}
.gx-points em{font-style:normal;font:700 10.5px/1 Inter,sans-serif;padding:3px 7px;border-radius:99px;background:#fbbf24;color:#422006;vertical-align:2px;margin-left:4px}
.gx-points .lp-bubble svg{width:19px;height:19px}
.gx-stores{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}
.gx-store{display:inline-flex;align-items:center;gap:10px;padding:9px 16px 9px 12px;border-radius:14px;background:#0b0820;border:1px solid #ffffff2e;color:#fff;font:700 15px/1.1 'Plus Jakarta Sans',sans-serif;cursor:default}
.gx-store small{display:block;font:500 10.5px/1.2 Inter,sans-serif;color:#a5b4fc;margin-bottom:2px}
.gx-cta{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.gx .gx-btn{background:#fff;color:#312e81;box-shadow:0 10px 24px -8px #0008;display:inline-flex;align-items:center;gap:8px}
.gx .gx-btn svg{width:18px;height:18px}
.gx .gx-btn:hover{background:#eef2ff}
.gx-note{font-size:13px;color:#a5b4fc}
.gx-show{display:flex;flex-direction:column;align-items:center}
.gx-phone{width:min(280px,100%);aspect-ratio:800/1074;padding:9px;border-radius:36px;background:#0b0820;box-shadow:0 0 0 2px #ffffff22,0 30px 60px -10px #000a,0 0 80px -10px #818cf880;cursor:pointer;-webkit-tap-highlight-color:transparent;transform:rotate(2deg);transition:transform .4s}
.gx-phone:hover{transform:rotate(0) translateY(-4px)}
.gx-track{position:relative;width:100%;height:100%;border-radius:28px;overflow:hidden;background:#1e1b4b}
.gx-track figure{position:absolute;inset:0;margin:0;opacity:0;transform:scale(1.04);transition:opacity .6s,transform .8s}
.gx-track figure.on{opacity:1;transform:none}
.gx-track img{width:100%;height:100%;object-fit:cover;display:block}
.gx-cap{margin-top:16px;font:700 14px/1.3 'Plus Jakarta Sans',sans-serif;color:#fff;min-height:18px}
.gx-dots{display:flex;gap:4px;margin-top:6px}
.gx-dots button{width:28px;height:28px;padding:0;border:0;background:none;cursor:pointer;display:grid;place-items:center}
.gx-dots button:before{content:'';width:8px;height:8px;border-radius:99px;background:#ffffff4d;transition:width .3s,background .3s}
.gx-dots button.on:before{width:22px;background:#67e8f9}
.gx-steps{grid-column:1/-1;list-style:none;margin:8px 0 0;padding:20px 0 0;border-top:1px solid #ffffff1f;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.gx-steps li{display:flex;gap:12px;align-items:center}
.gx-num{flex-shrink:0;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,#67e8f9,#818cf8);color:#1e1b4b;font:800 15px/1 'Plus Jakarta Sans',sans-serif}
.gx-steps b{display:block;color:#fff;font:700 14px/1.3 'Plus Jakarta Sans',sans-serif}
.gx-steps small{font-size:12.5px;color:#a5b4fc}
@media (max-width:1000px){#lp-game .gx{padding:40px 32px 28px;gap:24px 32px}.gx-points{grid-template-columns:1fr}.gx-steps{grid-template-columns:1fr 1fr}}
@media (max-width:760px){
 #lp-game .gx{grid-template-columns:1fr;padding:30px 20px 22px;border-radius:26px;gap:22px}
 .gx-copy{display:contents}
 .gx-eyebrow{justify-self:start;font-size:11px}
 .gx h2{margin:0;font-size:28px}
 .gx-lead{margin:-8px 0 0;font-size:15.5px}
 .gx-show{order:1}
 .gx-phone{width:min(210px,62vw);transform:none;border-radius:30px;padding:7px}
 .gx-track{border-radius:24px}
 .gx-cap{margin-top:12px}
 .gx-points{order:2;margin:0;gap:10px}
 .gx-points li{padding:12px}
 .gx-stores{order:3;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}
 .gx-store{padding:9px 10px;gap:8px;font-size:14px;justify-content:center}
 .gx-store small{font-size:9.5px}
 .gx-cta{order:4;flex-direction:column;align-items:stretch;gap:8px;text-align:center}
 .gx .gx-btn{justify-content:center;width:100%;padding:15px}
 .gx-steps{order:5;margin:0;padding-top:18px;grid-template-columns:1fr 1fr;gap:14px 10px}
 .gx-steps li{align-items:flex-start;gap:9px}
 .gx-num{width:28px;height:28px;font-size:13px}
 .gx-steps b{font-size:13px}.gx-steps small{font-size:11.5px}
}
@media (max-width:360px){.gx-stores{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.gx-track figure{transition:none}}
.gx-copy>*{position:relative}
.gx .gx-btn svg{transform:rotate(-90deg)}.gx-steps small{display:block;line-height:1.4;margin-top:2px}

/* Persistent home navigation across all screens. */
.home-shortcut{position:fixed;right:max(20px,env(safe-area-inset-right));bottom:calc(20px + env(safe-area-inset-bottom));z-index:1000;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:48px;min-height:48px;padding:12px 16px;border:1px solid #ffffff66;border-radius:999px;background:var(--blue);color:white;font-size:14px;font-weight:700;box-shadow:0 4px 18px #15223f33;transition:background .15s,transform .15s}
.home-shortcut:hover{background:#173389;transform:translateY(-2px)}
@media(max-width:600px){.home-shortcut{right:max(12px,env(safe-area-inset-right));bottom:calc(12px + env(safe-area-inset-bottom));padding:12px}.home-shortcut span{display:none}}
/* Let public content use the available screen width with modest edge padding. */
@media(min-width:761px){
 .lp-header,.lp-hero,.lp-section,.lp-foot,.faq-page,.tb-page,.results-page,.sf-grid,.sf-bottom,.sf-solar{max-width:none;width:100%;padding-left:24px;padding-right:24px}
 .lp-strip-wrap,.lp-strip,.sf-cta{max-width:none;width:calc(100% - 48px);margin-left:24px;margin-right:24px}
 .lp-strip-wrap .lp-strip{width:100%;margin-left:0;margin-right:0}
 .main{max-width:none}
}
/* Glass finish: preserve existing geometry, content and colour palette. */
.lp-header{background:linear-gradient(120deg,#ffffff38,#ffffff12);box-shadow:inset 0 1px 0 #ffffff80,0 5px 20px #1e40af06;backdrop-filter:blur(14px) saturate(115%);-webkit-backdrop-filter:blur(14px) saturate(115%)}
.lp-strip,.bento,.card,.faq-teaser,.faq-search,.tb-controls{background:linear-gradient(135deg,#ffffffed,#ffffffc9);backdrop-filter:blur(16px) saturate(115%);-webkit-backdrop-filter:blur(16px) saturate(115%);box-shadow:inset 0 1px 0 #fff,inset 1px 0 0 #ffffff80,0 8px 24px #15223f08;border-color:#ffffffb8}
.lp-iconbtn,.lp-btn.ghost{background:linear-gradient(135deg,#fffffff0,#ffffff8c);box-shadow:inset 0 1px 0 #fff,0 4px 14px #15223f0a;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.sch-board,.sch-cert{background-image:linear-gradient(135deg,#ffffff18,#ffffff04);box-shadow:inset 0 1px 0 #ffffff4d,0 8px 24px #101d4810;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
@media(prefers-reduced-transparency:reduce){.lp-strip,.bento,.card,.faq-teaser,.faq-search,.tb-controls,.lp-iconbtn,.lp-btn.ghost{background:#fff;backdrop-filter:none;-webkit-backdrop-filter:none}.lp-header{backdrop-filter:none;-webkit-backdrop-filter:none}}
/* Scroll reveals: each section keeps its original layout and interactions. */
.scroll-reveal{opacity:0;transition:opacity .65s ease var(--reveal-delay,0ms),translate .7s cubic-bezier(.2,.7,.2,1) var(--reveal-delay,0ms),scale .7s cubic-bezier(.2,.7,.2,1) var(--reveal-delay,0ms)}
.scroll-reveal[data-reveal="rise"]{translate:0 28px}
.scroll-reveal[data-reveal="left"]{translate:-28px 0}
.scroll-reveal[data-reveal="right"]{translate:28px 0}
.scroll-reveal[data-reveal="zoom"]{scale:.97;translate:0 12px}
.scroll-reveal.reveal-visible,.scroll-reveal:focus-within{opacity:1;translate:0 0;scale:1}
@media(prefers-reduced-motion:reduce){.scroll-reveal{opacity:1;translate:none;scale:1;transition:none}}
@media print{.scroll-reveal{opacity:1;translate:none;scale:1}}

/* Stronger, clearly visible entrances; replay when scrolling back to a section. */
.scroll-reveal{transition:opacity .85s ease var(--reveal-delay,0ms),translate 1s cubic-bezier(.16,1,.3,1) var(--reveal-delay,0ms),scale 1s cubic-bezier(.16,1,.3,1) var(--reveal-delay,0ms),rotate 1s cubic-bezier(.16,1,.3,1) var(--reveal-delay,0ms),clip-path 1.1s cubic-bezier(.16,1,.3,1) var(--reveal-delay,0ms);transform-origin:50% 60%}
.scroll-reveal[data-reveal="rise"]{translate:0 90px;scale:.94}
.scroll-reveal[data-reveal="left"]{translate:-90px 35px;rotate:-3deg;scale:.94}
.scroll-reveal[data-reveal="right"]{translate:90px 35px;rotate:3deg;scale:.94}
.scroll-reveal[data-reveal="zoom"]{scale:.85;translate:0 65px;clip-path:inset(8% 6% 8% 6% round 36px)}
.scroll-reveal.reveal-visible,.scroll-reveal:focus-within{opacity:1;translate:0 0;rotate:0deg;scale:1;clip-path:inset(0 round 0)}
@media(prefers-reduced-motion:reduce){.scroll-reveal{opacity:1;translate:none;rotate:none;scale:1;clip-path:none;transition:none}}
@media print{.scroll-reveal{opacity:1;translate:none;rotate:none;scale:1;clip-path:none}}
