:root{--royal-blue:#1e3a8a;--royal-blue-dark:#142a63;--royal-blue-soft:#e8edfb;--gold:#b3891a;--gold-soft:#faf3dd;--ink:#14181f;--ink-soft:#4b5563;--ink-faint:#8189a0;--paper:#f7f8fb;--card:#fff;--line:#e2e6f0;--line-strong:#c7cedd;--primary:var(--royal-blue);--primary-dark:var(--royal-blue-dark);--primary-soft:var(--royal-blue-soft);--accent:var(--gold);--accent-soft:var(--gold-soft);--warn:#9a3b12;--warn-soft:#fbeee5;--danger:#b3261e;--danger-soft:#fbe9e7;--good:var(--royal-blue);--radius-sm:6px;--radius:10px;--radius-lg:16px;--shadow-sm:0 1px 2px rgba(20,30,60,.06);--shadow-card:0 1px 3px rgba(20,30,60,.06),0 1px 2px rgba(20,30,60,.04);--shadow-raised:0 8px 24px rgba(20,30,60,.1);--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--font-serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;--surface:#fff;color-scheme:light}:root[data-theme=cosmic]{--cosmic-bg-deep:#05070f;--cosmic-bg:#0a0e1f;--ink:#eef1fb;--ink-soft:#aab4d9;--ink-faint:#6c76a0;--paper:var(--cosmic-bg);--card:rgba(19,26,54,.72);--surface:#141b36;--line:hsla(0,0%,100%,.1);--line-strong:hsla(0,0%,100%,.2);--primary:#5b7fff;--primary-dark:#8aa3ff;--primary-soft:rgba(91,127,255,.18);--accent:#f0c14b;--accent-soft:rgba(240,193,75,.16);--good:var(--primary);--warn:#ffa564;--warn-soft:rgba(255,165,100,.16);--danger:#ff7a7a;--danger-soft:hsla(0,100%,74%,.16);--shadow-sm:0 2px 12px rgba(0,0,0,.35);--shadow-card:0 1px 0 hsla(0,0%,100%,.05) inset,0 12px 32px rgba(0,0,0,.45);--shadow-raised:0 0 0 1px rgba(91,127,255,.35),0 18px 44px rgba(0,0,0,.55);color-scheme:dark}:root[data-theme=cosmic] body{background-color:var(--cosmic-bg-deep);background-image:radial-gradient(ellipse 900px 600px at 15% -10%,rgba(91,127,255,.22),transparent 60%),radial-gradient(ellipse 700px 500px at 100% 15%,rgba(240,193,75,.1),transparent 60%),radial-gradient(1.5px 1.5px at 20px 30px,hsla(0,0%,100%,.9),transparent),radial-gradient(1px 1px at 70px 90px,hsla(0,0%,100%,.6),transparent),radial-gradient(1.5px 1.5px at 120px 45px,hsla(0,0%,100%,.8),transparent),radial-gradient(1px 1px at 160px 130px,hsla(0,0%,100%,.5),transparent),radial-gradient(1px 1px at 15px 160px,hsla(0,0%,100%,.5),transparent),radial-gradient(1.5px 1.5px at 190px 20px,hsla(0,0%,100%,.9),transparent),radial-gradient(1px 1px at 95px 175px,hsla(0,0%,100%,.55),transparent);background-size:auto,auto,220px 220px,220px 220px,220px 220px,220px 220px,220px 220px,220px 220px,220px 220px;background-repeat:no-repeat,no-repeat,repeat,repeat,repeat,repeat,repeat,repeat,repeat;background-attachment:fixed;animation:starfield-drift 180s linear infinite}@keyframes starfield-drift{0%{background-position:0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0}to{background-position:0 0,0 0,220px 220px,-220px 220px,220px -220px,-220px -220px,110px 220px,-220px 110px,220px 0}}:root[data-theme=cosmic] .card,:root[data-theme=cosmic] .stat-card{backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}:root[data-theme=cosmic] .btn-primary{background:linear-gradient(160deg,#7b9aff 0,var(--primary) 60%,#3450c9 100%);border-color:transparent;box-shadow:0 4px 18px rgba(91,127,255,.45),inset 0 1px 0 hsla(0,0%,100%,.3)}:root[data-theme=cosmic] .btn-primary:hover:not(:disabled){box-shadow:0 6px 24px rgba(91,127,255,.6),inset 0 1px 0 hsla(0,0%,100%,.35)}:root[data-theme=cosmic] .badge.gold{box-shadow:0 0 14px rgba(240,193,75,.45)}:root[data-theme=cosmic] .progress-fill.gold{box-shadow:0 0 10px rgba(240,193,75,.6)}:root[data-theme=cosmic] .progress-fill{box-shadow:0 0 8px rgba(91,127,255,.55)}:root[data-theme=cosmic] .empty-state{background:hsla(0,0%,100%,.03)}.hero-cosmic{position:relative;border-radius:var(--radius-lg);padding:1.5rem 1.6rem;margin-bottom:1.5rem;overflow:hidden;background:linear-gradient(135deg,#0f1630,#182352 55%,#0f1630);border:1px solid hsla(0,0%,100%,.1);box-shadow:0 20px 50px rgba(5,8,20,.5);color:#eef1fb}.hero-cosmic:before{content:"";position:absolute;inset:0;background-image:radial-gradient(1.5px 1.5px at 10% 20%,hsla(0,0%,100%,.9),transparent),radial-gradient(1px 1px at 30% 65%,hsla(0,0%,100%,.6),transparent),radial-gradient(1.5px 1.5px at 55% 30%,hsla(0,0%,100%,.8),transparent),radial-gradient(1px 1px at 75% 70%,hsla(0,0%,100%,.5),transparent),radial-gradient(1.5px 1.5px at 90% 15%,hsla(0,0%,100%,.85),transparent),radial-gradient(1px 1px at 20% 85%,hsla(0,0%,100%,.5),transparent);pointer-events:none}.hero-cosmic>*{position:relative}.hero-cosmic .eyebrow{color:#b8c6ff}.hero-cosmic h1,.hero-cosmic h2,.hero-cosmic p{color:#eef1fb}.hero-cosmic .reason{color:#b0bbe0}.shooting-star{position:absolute;top:.9rem;right:1.1rem;width:4.5rem;height:2.5rem;pointer-events:none;opacity:.9}body:has(.auth-page){background-color:#05070f;background-image:radial-gradient(ellipse 900px 600px at 15% -10%,rgba(91,127,255,.22),transparent 60%),radial-gradient(ellipse 700px 500px at 100% 15%,rgba(240,193,75,.1),transparent 60%),radial-gradient(1.5px 1.5px at 20px 30px,hsla(0,0%,100%,.9),transparent),radial-gradient(1px 1px at 70px 90px,hsla(0,0%,100%,.6),transparent),radial-gradient(1.5px 1.5px at 120px 45px,hsla(0,0%,100%,.8),transparent),radial-gradient(1px 1px at 160px 130px,hsla(0,0%,100%,.5),transparent),radial-gradient(1px 1px at 15px 160px,hsla(0,0%,100%,.5),transparent),radial-gradient(1.5px 1.5px at 190px 20px,hsla(0,0%,100%,.9),transparent);background-size:auto,auto,220px 220px,220px 220px,220px 220px,220px 220px,220px 220px,220px 220px;background-repeat:no-repeat,no-repeat,repeat,repeat,repeat,repeat,repeat,repeat;background-attachment:fixed;animation:starfield-drift-auth 180s linear infinite}@keyframes starfield-drift-auth{0%{background-position:0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0}to{background-position:0 0,0 0,220px 220px,-220px 220px,220px -220px,-220px -220px,110px 220px,-220px 110px}}.auth-page{--ink:#eef1fb;--ink-soft:#aab4d9;--ink-faint:#6c76a0;--card:rgba(19,26,54,.75);--surface:#141b36;--line:hsla(0,0%,100%,.1);--line-strong:hsla(0,0%,100%,.2);--primary:#5b7fff;--primary-dark:#8aa3ff;--primary-soft:rgba(91,127,255,.18);--accent:#f0c14b;--accent-soft:rgba(240,193,75,.16);--warn:#ffa564;--warn-soft:rgba(255,165,100,.16);--danger:#ff7a7a;--danger-soft:hsla(0,100%,74%,.16);--good:var(--primary);min-height:calc(100vh - 4rem);display:flex;flex-direction:column;justify-content:center;position:relative}.auth-page .card{backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.05),0 20px 50px rgba(0,0,0,.5)}.auth-page .btn-primary{background:linear-gradient(160deg,#7b9aff 0,var(--primary) 60%,#3450c9 100%);border-color:transparent;box-shadow:0 4px 18px rgba(91,127,255,.45),inset 0 1px 0 hsla(0,0%,100%,.3)}.auth-logo-plate{display:flex;justify-content:center;margin-bottom:1.25rem}.auth-logo-plate img{width:168px;height:168px;object-fit:contain;background:#fff;border-radius:28px;padding:14px;box-shadow:0 0 0 1px hsla(0,0%,100%,.15),0 0 40px rgba(91,127,255,.55),0 0 90px rgba(240,193,75,.25),0 20px 50px rgba(0,0,0,.55);animation:logo-arrive .7s cubic-bezier(.2,.8,.2,1)}@keyframes logo-arrive{0%{opacity:0;transform:scale(.6);filter:blur(8px)}to{opacity:1;transform:scale(1);filter:blur(0)}}.warp-overlay{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;overflow:hidden;background:radial-gradient(circle at center,rgba(10,14,31,.55) 0,#05070f 78%);animation:warp-overlay-in .2s ease-out;pointer-events:none}.warp-core{width:14px;height:14px;border-radius:50%;background:radial-gradient(circle,#fff 0,#f0c14b 35%,#5b7fff 70%,transparent 100%);box-shadow:0 0 60px 30px rgba(240,193,75,.75),0 0 140px 70px rgba(91,127,255,.45);animation:warp-core-burst 1s cubic-bezier(.2,.8,.2,1) forwards}.warp-rings{position:absolute;inset:-20%;background-image:repeating-conic-gradient(from 0deg,hsla(0,0%,100%,.08) 0deg 1.2deg,transparent 1.2deg 9deg);mix-blend-mode:screen;animation:warp-spin 1s cubic-bezier(.3,.7,.3,1) forwards,warp-fade 1s ease-in forwards}.warp-label{position:absolute;bottom:14%;color:#cdd7ff;font-family:var(--font-serif);font-size:.95rem;letter-spacing:.08em;text-transform:uppercase;opacity:0;animation:warp-label-in .5s ease-out .15s forwards}@keyframes warp-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes warp-core-burst{0%{transform:scale(1);opacity:1}55%{transform:scale(34);opacity:1}to{transform:scale(85);opacity:0}}@keyframes warp-spin{0%{transform:rotate(0deg) scale(1)}to{transform:rotate(160deg) scale(2.4)}}@keyframes warp-fade{0%,55%{opacity:.85}to{opacity:0}}@keyframes warp-label-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.hero-arrive{animation:hero-arrive-in .7s cubic-bezier(.2,.8,.2,1)}@keyframes hero-arrive-in{0%{opacity:0;transform:scale(.94) translateY(6px);filter:blur(6px)}to{opacity:1;transform:scale(1) translateY(0);filter:blur(0)}}@media (prefers-reduced-motion:reduce){.auth-logo-plate img,.hero-arrive,.warp-core,.warp-label,.warp-overlay,.warp-rings,:root[data-theme=cosmic] body,body{animation:none!important}}.divider{display:flex;align-items:center;gap:.75rem;margin:.25rem 0;color:var(--ink-faint);font-size:.8rem;text-transform:uppercase;letter-spacing:.05em}.divider:after,.divider:before{content:"";flex:1 1;height:1px;background:var(--line-strong)}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-sans);line-height:1.55;font-size:15px;-webkit-font-smoothing:antialiased}a{color:var(--primary)}.page{max-width:960px;margin:0 auto;padding:2rem 1.5rem 4rem}@media (max-width:640px){.page{padding:1.25rem 1rem 3rem}}.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:600;color:var(--primary);font-family:var(--font-sans);margin:0 0 .35rem}h1,h2,h3{font-weight:700;margin:0 0 .3rem;font-family:var(--font-serif);color:var(--ink);letter-spacing:-.01em}h1{font-size:1.65rem;margin-bottom:1.25rem}h2{font-size:1.25rem}h3{font-size:1.05rem}p{color:var(--ink)}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-header{position:relative;overflow:hidden;background:linear-gradient(135deg,#0b1020,#141c3a 55%,#1c2650);border:1px solid hsla(0,0%,100%,.1);border-radius:var(--radius);box-shadow:0 10px 28px rgba(5,8,20,.35);margin-bottom:1.75rem}.app-header:before{content:"";position:absolute;inset:0;background-image:radial-gradient(1px 1px at 12% 25%,hsla(0,0%,100%,.8),transparent),radial-gradient(1px 1px at 38% 70%,hsla(0,0%,100%,.55),transparent),radial-gradient(1.5px 1.5px at 65% 30%,hsla(0,0%,100%,.7),transparent),radial-gradient(1px 1px at 85% 60%,hsla(0,0%,100%,.5),transparent);pointer-events:none}.app-header-inner{position:relative;padding:.75rem 1.1rem;justify-content:space-between;gap:1rem;flex-wrap:wrap}.app-header-inner,.brand{display:flex;align-items:center}.brand{gap:.5rem;text-decoration:none;color:#eef1fb;font-family:var(--font-serif);font-weight:700;font-size:1.05rem;letter-spacing:-.01em;white-space:nowrap}.brand-mark{width:2.1rem;height:2.1rem;border-radius:8px;background:#fff;box-shadow:0 0 10px rgba(91,127,255,.45);display:inline-flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}.brand-mark img{width:100%;height:100%;object-fit:cover}.brand-name strong{color:#f0c14b}.nav-links{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap;font-family:var(--font-sans)}.nav-link{color:#b7c0e0;text-decoration:none;font-size:.85rem;font-weight:500;padding:.4rem .65rem;border-radius:var(--radius-sm);white-space:nowrap}.nav-link:hover{background:hsla(0,0%,100%,.08);color:#fff}.nav-link.active{background:rgba(91,127,255,.22);color:#fff}.nav-meta{display:flex;align-items:center;gap:.75rem;font-size:.82rem;color:#b7c0e0;font-family:var(--font-sans)}.nav-user{font-weight:600;color:#eef1fb}.link-button{background:none;border:none;color:#b7c0e0;text-decoration:underline;cursor:pointer;font:inherit;padding:0}.link-button:hover{color:#fff}nav.role-nav{font-family:var(--font-sans);display:flex;gap:1rem;margin-bottom:2rem;flex-wrap:wrap}nav.role-nav a{color:var(--ink);text-decoration:none;border-bottom:2px solid transparent;padding-bottom:.25rem;font-size:.9rem}nav.role-nav a:hover{border-bottom-color:var(--primary)}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:1.25rem 1.4rem;margin-bottom:1rem}.card+.card{margin-top:.75rem}.card.card-interactive{transition:box-shadow .15s ease,border-color .15s ease}.card.card-interactive:hover{box-shadow:var(--shadow-raised);border-color:var(--line-strong)}.card-error{border-color:var(--danger);background:var(--danger-soft)}.card-header-row{align-items:flex-start;gap:.75rem;margin-bottom:.5rem}.card-header-row,.task-row{display:flex;justify-content:space-between}.task-row{align-items:baseline;gap:1rem;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.6rem 1.1rem;border-radius:var(--radius-sm);border:1px solid transparent;font:inherit;font-family:var(--font-sans);font-size:.88rem;font-weight:600;cursor:pointer;text-decoration:none;line-height:1.2;transition:background-color .12s ease,border-color .12s ease,opacity .12s ease,transform .05s ease}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn-primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-dark);border-color:var(--primary-dark)}.btn-secondary{background:var(--surface);border-color:var(--line-strong);color:var(--ink)}.btn-secondary:hover:not(:disabled){border-color:var(--primary);color:var(--primary-dark)}.btn-ghost{background:transparent;border-color:var(--line);color:var(--ink-soft)}.btn-ghost:hover:not(:disabled){border-color:var(--primary);color:var(--primary-dark)}.btn-sm{padding:.35rem .75rem;font-size:.78rem}.btn-block{width:100%}.pill-link{display:inline-block;margin-top:.6rem;padding:.45rem .95rem;border-radius:var(--radius-sm);background:var(--primary);color:#fff;text-decoration:none;font-family:var(--font-sans);font-size:.85rem;font-weight:600}.pill-link:hover{background:var(--primary-dark)}.field{display:block;margin-bottom:.9rem}.field:last-child{margin-bottom:0}.field-label{display:block;font-family:var(--font-sans);font-size:.78rem;font-weight:600;color:var(--ink-soft);margin-bottom:.3rem}.form-grid{display:grid;grid-gap:.9rem;gap:.9rem}.input,.select,.textarea{width:100%;padding:.6rem .7rem;border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--surface);font:inherit;color:var(--ink);transition:border-color .12s ease,box-shadow .12s ease}.textarea{resize:vertical}.drawing-pad-canvas{touch-action:none;cursor:crosshair}.drawing-pad-canvas,.offline-game-canvas{width:100%;max-width:640px;height:auto;aspect-ratio:640/420;border-radius:var(--radius-sm);border:1px solid var(--line-strong);display:block}.offline-game-canvas{cursor:pointer;margin:0 auto}.question-reference-image{max-width:100%}.question-diagram,.question-reference-image{border-radius:var(--radius-sm);border:1px solid var(--line-strong);margin:.75rem 0 1rem}.question-diagram{background:var(--surface);border-left:3px solid var(--primary);padding:.75rem .9rem}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.input::placeholder,.textarea::placeholder{color:var(--ink-faint)}.password-field-wrap{position:relative}.password-field-wrap .input{padding-right:3.6rem}.password-toggle{position:absolute;top:50%;right:.4rem;transform:translateY(-50%);background:none;border:none;color:var(--ink-soft);font:inherit;font-size:.75rem;font-weight:600;cursor:pointer;padding:.35rem .5rem;border-radius:var(--radius-sm)}.password-toggle:hover{color:var(--primary);background:var(--primary-soft)}.math-field-wrap{border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:.35rem .6rem;background:var(--surface);min-height:2.6rem;display:flex;align-items:center;transition:border-color .12s ease,box-shadow .12s ease}.math-field-wrap:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.math-field-wrap math-field{width:100%;font-size:1.05rem;--caret-color:var(--primary);--selection-background-color:var(--primary-soft)}.math-toolbar-hint{font-family:var(--font-sans);font-size:.72rem;color:var(--ink-faint);margin-top:.3rem}.reason{font-size:.85rem;margin-top:.35rem}.reason,.total-line{font-family:var(--font-sans);color:var(--ink-soft)}.total-line{margin-top:1.25rem;font-size:.9rem}.badge{font-family:var(--font-sans);font-size:.72rem;font-weight:600;border-radius:999px;padding:.2rem .65rem;display:inline-block;white-space:nowrap}.badge.warn{background:var(--warn-soft);color:var(--warn)}.badge.good{background:var(--primary-soft);color:var(--good)}.badge.gold{background:var(--accent-soft);color:var(--accent)}.scan-pages-grid{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.6rem}.scan-page-thumb{position:relative;width:6.5rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);overflow:hidden;box-shadow:var(--shadow-sm)}.scan-page-thumb img{display:block;width:100%;height:6.5rem;object-fit:cover}.scan-page-number{position:absolute;top:.3rem;left:.3rem;background:rgba(20,24,31,.72);color:#fff;font-family:var(--font-sans);font-size:.68rem;font-weight:700;line-height:1;padding:.18rem .4rem;border-radius:999px;z-index:1}.scan-page-actions{display:flex;gap:.15rem;padding:.25rem;border-top:1px solid var(--line)}.scan-page-actions .btn{flex:1 1;padding:.2rem .3rem;font-size:.72rem}.minutes-pill{font-family:var(--font-sans);font-size:.78rem;font-weight:600;background:var(--primary-soft);color:var(--primary-dark);border-radius:999px;padding:.2rem .7rem;white-space:nowrap}.banner{border-radius:var(--radius);padding:1.1rem 1.3rem;margin-bottom:1rem;border:1px solid transparent;display:flex;gap:.75rem;align-items:flex-start}.banner-icon{width:2rem;height:2rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0;font-weight:700}.banner-success{background:var(--primary-soft);border-color:var(--line-strong)}.banner-success .banner-icon{background:var(--primary);color:#fff}.banner-error{background:var(--warn-soft);border-color:var(--line-strong)}.banner-error .banner-icon{background:var(--warn);color:#fff}.banner-pending{background:var(--accent-soft);border-color:var(--line-strong)}.banner-pending .banner-icon{background:var(--accent);color:#fff}.banner h2{margin:0 0 .2rem}.approved-badge{display:flex;flex-direction:column;align-items:center;gap:.9rem;text-align:center;padding:2.5rem 1.5rem 2rem}.approved-badge-check{width:96px;height:96px;border-radius:50%;background:linear-gradient(160deg,#3ddc84,#1fa85c);display:flex;align-items:center;justify-content:center;font-size:3rem;line-height:1;color:#fff;animation:approved-pop .5s cubic-bezier(.34,1.56,.64,1) both,approved-glow 2s ease-in-out .5s infinite}@keyframes approved-pop{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}@keyframes approved-glow{0%,to{box-shadow:0 0 0 0 rgba(61,220,132,.45)}50%{box-shadow:0 0 0 16px rgba(61,220,132,0)}}.approved-word{font-size:1.9rem;font-weight:800;letter-spacing:.1em;color:#3ddc84;margin:0}@media (prefers-reduced-motion:reduce){.approved-badge-check{animation:none!important}}.progress-track{width:100%;height:8px;border-radius:999px;background:var(--line);overflow:hidden}.progress-fill{height:100%;background:var(--primary);border-radius:999px;transition:width .3s ease}.progress-fill.gold{background:var(--accent)}.progress-fill.warn{background:var(--warn)}.grid-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:.9rem;gap:.9rem}.stat-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:1rem 1.2rem}.stat-card .stat-value{font-family:var(--font-serif);font-size:1.6rem;font-weight:700;color:var(--primary-dark)}.stat-card .stat-label{font-family:var(--font-sans);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft)}dl.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-gap:1rem;gap:1rem;font-family:var(--font-sans);margin:.75rem 0 0}dl.metrics dt{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft)}dl.metrics dd{margin:.15rem 0 0;font-size:1.2rem;font-weight:700;color:var(--ink);font-family:var(--font-serif)}.empty-state{text-align:center;padding:2.5rem 1.5rem;color:var(--ink-soft);border:1px dashed var(--line-strong);border-radius:var(--radius);background:var(--surface)}.empty-state p{margin:0 0 .75rem;color:var(--ink-soft)}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.55}}.skeleton{background:var(--line);border-radius:var(--radius-sm);animation:skeleton-pulse 1.3s ease-in-out infinite}.skeleton-card{height:5.5rem;border-radius:var(--radius);margin-bottom:.75rem}.chat-thread{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.chat-bubble{max-width:80%;padding:.7rem .95rem;border-radius:var(--radius-lg);line-height:1.55;font-size:.92rem;white-space:pre-wrap}.chat-bubble.student{align-self:flex-end;background:var(--primary);color:#fff;border-bottom-right-radius:4px}.chat-bubble.atlas{align-self:flex-start;background:var(--card);border:1px solid var(--line);color:var(--ink);border-bottom-left-radius:4px}.chat-bubble .chat-sender{display:block;font-family:var(--font-sans);font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;opacity:.7;margin-bottom:.25rem}.chat-composer{display:flex;gap:.5rem;align-items:flex-end;position:-webkit-sticky;position:sticky;bottom:1rem}.chat-composer textarea{flex:1 1;resize:none}.landing-page{min-height:100vh;background-color:#05070f;background-image:radial-gradient(ellipse 1100px 700px at 20% -10%,rgba(91,127,255,.24),transparent 60%),radial-gradient(ellipse 900px 600px at 100% 10%,rgba(240,193,75,.12),transparent 60%),radial-gradient(1.5px 1.5px at 10% 15%,hsla(0,0%,100%,.9),transparent),radial-gradient(1px 1px at 30% 60%,hsla(0,0%,100%,.6),transparent),radial-gradient(1.5px 1.5px at 55% 25%,hsla(0,0%,100%,.8),transparent),radial-gradient(1px 1px at 75% 65%,hsla(0,0%,100%,.5),transparent),radial-gradient(1.5px 1.5px at 90% 10%,hsla(0,0%,100%,.85),transparent),radial-gradient(1px 1px at 15% 80%,hsla(0,0%,100%,.5),transparent),radial-gradient(1px 1px at 65% 88%,hsla(0,0%,100%,.55),transparent);background-size:auto,auto,240px 240px,240px 240px,240px 240px,240px 240px,240px 240px,240px 240px,240px 240px;background-repeat:no-repeat,no-repeat,repeat,repeat,repeat,repeat,repeat,repeat,repeat;animation:starfield-drift 180s linear infinite;color:#eef1fb;--ink:#eef1fb;--ink-soft:#aab4d9;--ink-faint:#6c76a0;--card:rgba(19,26,54,.75);--surface:#141b36;--line:hsla(0,0%,100%,.1);--line-strong:hsla(0,0%,100%,.2)}.landing-nav{position:-webkit-sticky;position:sticky;top:env(safe-area-inset-top,0);z-index:10;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);background:rgba(5,7,15,.55);border-bottom:1px solid hsla(0,0%,100%,.08)}.landing-nav-inner{max-width:1080px;margin:0 auto;padding:1rem 1.25rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.landing-nav-links{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:flex-end}.landing-hero{position:relative;max-width:720px;margin:0 auto;padding:3.5rem 1.25rem 2.5rem;text-align:center}.hero-3d-badge{display:inline-flex;align-items:center;gap:.55rem;margin:0 auto 1.1rem;padding:.65rem 1.4rem;border-radius:999px;background:linear-gradient(160deg,rgba(91,127,255,.22),rgba(20,27,54,.85) 55%,rgba(240,193,75,.18));border:1px solid hsla(0,0%,100%,.22);box-shadow:0 18px 40px rgba(0,0,0,.55),inset 0 2px 0 hsla(0,0%,100%,.12),inset 0 -12px 24px rgba(91,127,255,.12);transform:perspective(700px) rotateX(8deg);animation:hero-badge-float 4.5s ease-in-out infinite}@keyframes hero-badge-float{0%,to{transform:perspective(700px) rotateX(8deg) translateY(0)}50%{transform:perspective(700px) rotateX(8deg) translateY(-5px)}}.hero-3d-badge-part{font-family:var(--font-serif);font-weight:800;font-size:.95rem;letter-spacing:.01em;text-shadow:0 1px 0 hsla(0,0%,100%,.35),0 2px 1px rgba(0,0,0,.3),0 5px 12px rgba(0,0,0,.65)}.hero-3d-badge-human{color:#a9bcff}.hero-3d-badge-ai{background:linear-gradient(160deg,#ffe08a,#f0c14b 60%,#c99420);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.hero-3d-badge-plus{color:#eef1fb;font-weight:700;opacity:.7}@media (max-width:480px){.hero-3d-badge{flex-wrap:wrap;justify-content:center;padding:.55rem 1.1rem}}.landing-logo-plate{margin-bottom:1rem}.landing-headline{font-size:clamp(2rem,5vw,3.2rem);line-height:1.15;margin:.5rem 0 1rem}.landing-headline em{font-style:normal;color:var(--accent,#f0c14b)}.landing-subhead{color:#b0bbe0;max-width:560px;margin:0 auto 2rem;line-height:1.6}.interest-cta{position:relative;display:inline-flex;align-items:center;gap:.6rem;padding:1.1rem 2.4rem;font-size:1.05rem;font-weight:700;letter-spacing:.04em;color:#1a1300;background:linear-gradient(160deg,#ffe08a,#f0c14b 55%,#c99420);border:none;border-radius:999px;cursor:pointer;box-shadow:0 0 30px rgba(240,193,75,.55),0 12px 34px rgba(0,0,0,.5);animation:interest-pulse 2.4s ease-in-out infinite}.interest-cta:hover{transform:translateY(-1px)}.interest-cta-star{font-size:1.1rem}@keyframes interest-pulse{0%,to{box-shadow:0 0 30px rgba(240,193,75,.55),0 12px 34px rgba(0,0,0,.5)}50%{box-shadow:0 0 48px rgba(240,193,75,.85),0 12px 34px rgba(0,0,0,.5)}}.interest-modal-backdrop{position:fixed;inset:0;background:rgba(2,3,8,.7);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:50;padding:1rem}.interest-modal{position:relative;width:100%;max-width:420px;background:#141b36;border:1px solid hsla(0,0%,100%,.12);border-radius:var(--radius-lg,16px);padding:1.75rem;box-shadow:0 30px 70px rgba(0,0,0,.6)}.interest-modal-close{position:absolute;top:.75rem;right:.75rem;background:none;border:none;color:#aab4d9;font-size:1.1rem;cursor:pointer;line-height:1;padding:.25rem}.interest-contact-row{display:flex;align-items:center;gap:.75rem;padding:.85rem 1rem;margin:.6rem 0;border-radius:var(--radius-md,10px);border:1px solid hsla(0,0%,100%,.12);color:#eef1fb;text-decoration:none;font-weight:600}.interest-contact-row:hover{border-color:rgba(240,193,75,.5);background:rgba(240,193,75,.08)}.landing-pillars{max-width:1080px;margin:0 auto;padding:1rem 1.25rem 3rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:1rem;gap:1rem}.landing-pillar-card{background:rgba(19,26,54,.6);border:1px solid hsla(0,0%,100%,.1);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:#eef1fb}.landing-pillar-card .reason{color:#b0bbe0}.landing-why{max-width:720px;margin:0 auto;padding:1rem 1.25rem 3rem}.landing-why-list{color:#b0bbe0;line-height:1.8;padding-left:1.25rem}.landing-install{max-width:560px;margin:0 auto;padding:0 1.25rem 2rem}.install-instructions-card{--ink:#eef1fb;--ink-soft:#aab4d9;--card:rgba(19,26,54,.75);background:var(--card);border:1px solid hsla(0,0%,100%,.12);text-align:left}.landing-footer{text-align:center;padding:2rem 1.25rem 3rem;color:#6c76a0;font-size:.9rem}.landing-footer a{color:#b0bbe0}@media (prefers-reduced-motion:reduce){.interest-cta,.landing-page{animation:none!important}}.app-splash{position:fixed;inset:0;z-index:200;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;background-color:#05070f;background-image:radial-gradient(ellipse 1100px 700px at 20% -10%,rgba(91,127,255,.24),transparent 60%),radial-gradient(ellipse 900px 600px at 100% 10%,rgba(240,193,75,.12),transparent 60%),radial-gradient(1.5px 1.5px at 10% 15%,hsla(0,0%,100%,.9),transparent),radial-gradient(1px 1px at 30% 60%,hsla(0,0%,100%,.6),transparent),radial-gradient(1.5px 1.5px at 55% 25%,hsla(0,0%,100%,.8),transparent),radial-gradient(1px 1px at 75% 65%,hsla(0,0%,100%,.5),transparent),radial-gradient(1.5px 1.5px at 90% 10%,hsla(0,0%,100%,.85),transparent),radial-gradient(1px 1px at 15% 80%,hsla(0,0%,100%,.5),transparent);background-size:auto,auto,240px 240px,240px 240px,240px 240px,240px 240px,240px 240px,240px 240px;background-repeat:no-repeat,no-repeat,repeat,repeat,repeat,repeat,repeat,repeat;animation:starfield-drift-auth 180s linear infinite;opacity:1;transition:opacity .6s ease}.app-splash-leaving{opacity:0}.app-splash-logo{display:flex;border-radius:28px;background:#fff;padding:16px;animation:app-splash-logo-in 1.6s cubic-bezier(.16,1,.3,1);box-shadow:0 0 0 1px hsla(0,0%,100%,.15),0 0 40px rgba(91,127,255,.55),0 0 90px rgba(240,193,75,.25),0 20px 50px rgba(0,0,0,.55)}@keyframes app-splash-logo-in{0%{opacity:0;transform:scale(.5)}60%{opacity:1;transform:scale(1.06)}to{opacity:1;transform:scale(1)}}.app-splash-title{margin:1.25rem 0 0;font-size:1.6rem;color:#eef1fb;opacity:0;animation:app-splash-text-in 1.2s ease .8s forwards}.app-splash-tagline{margin:0;color:#8a94c0;letter-spacing:.04em;font-size:.9rem;opacity:0;animation:app-splash-text-in 1.2s ease 1.15s forwards}@keyframes app-splash-text-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.app-splash,.app-splash-logo,.app-splash-tagline,.app-splash-title{animation:none!important;opacity:1!important}}.comets{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:2}.comet{position:absolute;top:0;left:0;width:160px;height:2px;border-radius:999px;background:linear-gradient(90deg,hsla(0,0%,100%,0),rgba(240,193,75,.7) 60%,#fff);box-shadow:0 0 10px 1px hsla(0,0%,100%,.7);opacity:0}:root[data-theme=cosmic] .comet,body:has(.app-splash) .comet,body:has(.auth-page) .comet,body:has(.landing-page) .comet{animation-name:comet-fly;animation-timing-function:linear;animation-iteration-count:infinite}.comet-1{top:-5%;left:-15%;animation-duration:11s;animation-delay:0s}.comet-2{top:30%;left:-20%;width:120px;animation-duration:16s;animation-delay:6s}.comet-3{top:-10%;left:40%;width:100px;animation-duration:14s;animation-delay:12s}@keyframes comet-fly{0%{opacity:0;transform:translate(0) rotate(var(--comet-angle,28deg))}4%{opacity:1}35%{opacity:1}45%{opacity:0}to{opacity:0;transform:translate(130vw,90vh) rotate(var(--comet-angle,28deg))}}.comet-1{--comet-angle:28deg}.comet-2{--comet-angle:20deg}.comet-3{--comet-angle:35deg}@media (prefers-reduced-motion:reduce){.comet{animation:none!important;opacity:0!important}}