@import "https://fonts.googleapis.com/css2?family=Baloo+2:wght@500;600;700;800&family=Inter:wght@400;500;600;700;800&display=swap";:root{--font-ui:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-display:"Baloo 2", "Inter", system-ui, sans-serif;--bg:#f4f6fb;--bg-soft:#eaeefa;--surface:#fff;--surface-2:#f8fafc;--border:#e3e8f2;--border-strong:#cfd7e8;--text:#16203a;--text-2:#5a6785;--text-3:#8c98b4;--navy:#101c4e;--navy-deep:#0a1333;--gold:#f7b731;--brand:#22409f;--brand-dark:#162d78;--brand-soft:#e7ecfb;--kids:#ff8a3d;--kids-soft:#fff0e4;--teens:#7c4dff;--teens-soft:#f0eaff;--adults:#00a884;--adults-soft:#e2f6f1;--ok:#16a34a;--ok-soft:#e6f7ec;--warn:#f59e0b;--warn-soft:#fef4e2;--bad:#e5484d;--bad-soft:#fdecec;--r-sm:10px;--r:16px;--r-lg:22px;--r-xl:30px;--sh-1:0 1px 2px #16203a0f, 0 2px 8px #16203a0d;--sh-2:0 4px 12px #16203a14, 0 12px 32px #16203a12;--sh-3:0 18px 48px #16203a29}*{box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--font-ui);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.01em;margin:0;line-height:1.15}p{margin:0}button{font-family:inherit}a{color:inherit;text-decoration:none}.btn{cursor:pointer;background:var(--brand);color:#fff;border:none;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:12px 22px;font-size:15px;font-weight:700;transition:transform .12s,box-shadow .12s,background .15s,opacity .15s;display:inline-flex;box-shadow:0 4px #0000001f}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(2px);box-shadow:0 1px #0000001f}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn.ghost{background:var(--surface);color:var(--text);border:1.5px solid var(--border-strong);box-shadow:none}.btn.ghost:hover{background:var(--surface-2)}.btn.soft{background:var(--brand-soft);color:var(--brand-dark);box-shadow:none}.btn.ok{background:var(--ok)}.btn.bad{background:var(--bad)}.btn.lg{padding:15px 30px;font-size:17px}.btn.sm{padding:8px 15px;font-size:13px}.btn.block{width:100%}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--sh-1);padding:22px}.card.flat{box-shadow:none}.field{margin-bottom:14px;display:block}.field span{color:var(--text-2);margin-bottom:6px;font-size:13px;font-weight:600;display:block}.input,select.input,textarea.input{border:1.5px solid var(--border-strong);border-radius:var(--r-sm);background:var(--surface);width:100%;color:var(--text);outline:none;padding:13px 15px;font-family:inherit;font-size:15px;transition:border-color .15s,box-shadow .15s}.input:focus{border-color:var(--brand);box-shadow:0 0 0 4px var(--brand-soft)}.row{align-items:center;gap:12px;display:flex}.row.between{justify-content:space-between}.wrap{flex-wrap:wrap}.col{flex-direction:column;display:flex}.grid{gap:16px;display:grid}.muted{color:var(--text-2)}.tiny{font-size:12px}.small{font-size:13px}.center{text-align:center}.spacer{flex:1}.pill{letter-spacing:.01em;background:var(--surface-2);color:var(--text-2);border:1px solid var(--border);border-radius:999px;align-items:center;gap:6px;padding:5px 12px;font-size:12px;font-weight:700;display:inline-flex}.pill.brand{background:var(--brand-soft);color:var(--brand-dark);border-color:#0000}.pill.ok{background:var(--ok-soft);color:var(--ok);border-color:#0000}.pill.warn{background:var(--warn-soft);color:#b8790a;border-color:#0000}.pill.bad{background:var(--bad-soft);color:var(--bad);border-color:#0000}.pill.gold{color:#a9760a;background:#fff5dd;border-color:#0000}.bar{background:var(--bg-soft);border-radius:999px;height:10px;overflow:hidden}.bar>i{background:var(--brand);border-radius:999px;height:100%;transition:width .5s cubic-bezier(.2,.8,.2,1);display:block}.shell{flex-direction:column;min-height:100%;display:flex}.topbar{z-index:40;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);background:#ffffffeb;position:sticky;top:0}.topbar-in{align-items:center;gap:16px;max-width:1140px;margin:0 auto;padding:12px 20px;display:flex}.page{width:100%;max-width:1140px;margin:0 auto;padding:26px 20px 90px}.logo{font-family:var(--font-display);align-items:center;gap:9px;font-size:19px;font-weight:800;display:flex}.logo .mark{background:linear-gradient(135deg, var(--brand), #7c4dff);color:#fff;border-radius:11px;place-items:center;width:34px;height:34px;font-size:17px;display:grid}.navlink{color:var(--text-2);border-radius:999px;padding:8px 14px;font-size:14px;font-weight:600}.navlink:hover{background:var(--surface-2);color:var(--text)}.navlink.active{background:var(--brand-soft);color:var(--brand-dark)}.avatar{background:var(--brand-soft);width:38px;height:38px;color:var(--brand-dark);border-radius:50%;place-items:center;font-size:15px;font-weight:800;display:grid}@keyframes pop{0%{opacity:0;transform:scale(.85)}60%{transform:scale(1.04)}to{opacity:1;transform:scale(1)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-7px)}40%{transform:translate(7px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}@keyframes spin{to{transform:rotate(360deg)}}.pop{animation:.3s both pop}.fade-up{animation:.35s both fadeUp}.shake{animation:.4s shake}.kids{--r-sm:14px;--r:22px;--r-lg:28px}.kids .page{background:radial-gradient(900px 420px at 8% -8%,#ffb45038 0%,#0000 60%),radial-gradient(760px 380px at 105% 8%,#78c8ff38 0%,#0000 58%),radial-gradient(700px 360px at 50% 108%,#b48cff2e 0%,#0000 60%)}.kids h1,.kids h2,.kids h3{font-family:var(--font-display)}.kids .card{border-width:2px;border-radius:26px}.kids .btn{font-family:var(--font-display);border-radius:999px;font-size:17px}.kids .btn.lg{padding:16px 32px;font-size:20px}.kids .pill{padding:6px 14px;font-size:13px;font-weight:800}.kids .bar{height:14px}.kids .navlink{font-size:15px;font-family:var(--font-display)}.hero-card{border:2px dashed;border-radius:24px;align-items:center;gap:14px;padding:14px 18px;display:flex}.hero-card .face{flex:none;font-size:42px;line-height:1;animation:2.6s ease-in-out infinite bob}@keyframes bob{0%,to{transform:translateY(0)rotate(-3deg)}50%{transform:translateY(-7px)rotate(3deg)}}.logo .mark.crest{object-fit:contain;background:0 0;border-radius:0;flex:none;width:38px;height:38px;display:block}.logo .brandname{color:var(--navy);letter-spacing:.1px;max-width:320px;font-size:17px;line-height:1.05}.show-sm{display:none}@media (width<=720px){.page{padding:18px 14px 90px}.hide-sm{display:none!important}.show-sm{display:inline!important}.logo .brandname{letter-spacing:1px;font-size:18px}}.login-screen{color:#e9eefc;background:radial-gradient(900px 520px at 88% 4%,#f0b4492b,#0000 60%),radial-gradient(900px 620px at 4% 100%,#3c73eb42,#0000 62%),linear-gradient(155deg,#091130 0%,#101c4e 48%,#17295f 100%);grid-template-rows:auto 1fr auto;gap:clamp(10px,2vh,22px);height:100dvh;padding:clamp(16px,2.6vh,30px) clamp(16px,4vw,54px);display:grid;position:relative;overflow:hidden}.login-bg{pointer-events:none;position:absolute;inset:0;overflow:hidden}.login-bg:before{content:"";background:repeating-linear-gradient(0deg,#ffffff0a 0 1px,#0000 1px 42px);position:absolute;inset:-10%;-webkit-mask-image:linear-gradient(#0000,#000 22% 72%,#0000);mask-image:linear-gradient(#0000,#000 22% 72%,#0000)}.login-bg:after{content:"";background:repeating-linear-gradient(90deg,#ffffff07 0 74px,#0000 74px 148px);position:absolute;inset:0;-webkit-mask-image:radial-gradient(70% 90% at 50% 40%,#000,#0000 78%);mask-image:radial-gradient(70% 90% at 50% 40%,#000,#0000 78%)}.login-crest{opacity:.07;filter:saturate(.25)brightness(2.2)contrast(.7);width:auto;height:min(126%,860px);position:absolute;top:50%;right:-7vw;transform:translateY(-50%);-webkit-mask-image:radial-gradient(58% 58% at 42%,#000 20%,#0000 76%);mask-image:radial-gradient(58% 58% at 42%,#000 20%,#0000 76%)}.login-head{align-items:center;gap:clamp(12px,1.6vw,20px);display:flex;position:relative}.login-logo{filter:drop-shadow(0 6px 18px #00000073);flex:none;width:clamp(54px,6vw,74px);height:auto}.login-titles{min-width:0}.login-titles h1{color:#fff;letter-spacing:.2px;font-size:clamp(19px,2.5vw,30px);font-weight:800;line-height:1.12}.login-sub{color:#e9eefcb8;margin-top:4px;font-size:clamp(12px,1.15vw,14px);line-height:1.45}.login-tag{color:var(--gold);letter-spacing:2.6px;text-transform:uppercase;font-size:.92em;font-weight:800}.login-dot{color:#ffffff4d;margin:0 8px}.login-motto-inline{letter-spacing:3px;text-transform:uppercase;color:#f0b449b3;margin-top:6px;font-family:Georgia,Times New Roman,serif;font-size:12px}.login-motto-inline i{color:#ffffff4d;margin:0 4px;font-style:normal}.login-body{grid-template-columns:minmax(290px,400px) minmax(260px,420px);place-content:center;align-items:start;gap:clamp(14px,2vw,26px);width:100%;display:grid;position:relative}.login-card{color:var(--text);background:#fffffff7;border:none;box-shadow:0 24px 60px #040a2073}.login-card h2{margin-bottom:4px}.login-feats{align-content:start;gap:clamp(8px,1.1vh,13px);display:grid}.login-feat{border-radius:var(--r);-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#ffffff12;border:1px solid #ffffff1a;align-items:flex-start;gap:13px;padding:13px 16px;display:flex}.login-feat-ico{flex:none;font-size:23px;line-height:1}.login-feat b{color:#fff;font-size:14.5px}.login-feat p{color:#e9eefca8;margin-top:3px;font-size:13px;line-height:1.5}.login-motto{display:none}.login-motto-line{align-items:baseline;gap:9px;font-family:Georgia,Times New Roman,serif;display:flex}.login-motto-line b{color:#f0b44985;text-shadow:0 4px 24px #f0b4492e;font-size:clamp(46px,4.6vw,68px);font-weight:700;line-height:.86}.login-motto-line i{letter-spacing:4.5px;text-transform:uppercase;color:#ffffff57;font-size:clamp(15px,1.4vw,20px);font-style:normal}.login-foot{text-align:center;letter-spacing:.6px;color:#e9eefc66;font-size:12px;position:relative}@media (width>=1160px){.login-body{grid-template-columns:250px minmax(300px,400px) minmax(280px,420px)}.login-motto{align-self:center;gap:clamp(14px,2.4vh,26px);display:grid}.login-motto-inline{display:none}}@media (width<=900px),(height<=700px){.login-screen{height:auto;min-height:100dvh;overflow:visible}}@media (width<=900px){.login-body{grid-template-columns:minmax(0,1fr);max-width:460px;margin:0 auto}.login-crest{opacity:.05;right:-22vw}.login-claim,.login-dot{display:none}}
