.nc-root{position:fixed;right:calc(12px + env(safe-area-inset-right,0px));bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:9999}.nc-btn{width:44px;height:44px;border-radius:50%;border:none;cursor:pointer;background:#1f2937;color:#fff;position:relative;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 8px 24px #00000038;transition:transform .12s ease,box-shadow .12s ease,background-color .12s ease}.nc-btn:hover{transform:translateY(-1px);box-shadow:0 10px 30px #0000003d}.nc-btn:active{transform:translateY(0);box-shadow:0 6px 18px #0003}.nc-btn:focus-visible{outline:2px solid #60a5fa;outline-offset:2px}.nc-badge{position:absolute;top:-6px;right:-6px;color:#fff;border-radius:999px;padding:1px 6px;font-size:11px;line-height:1.2;box-shadow:0 2px 8px #0003;transform-origin:100% 0;animation:nc-badge-pop .22s ease-out}@keyframes nc-badge-pop{0%{transform:scale(.8);opacity:.5}60%{transform:scale(1.15);opacity:1}to{transform:scale(1);opacity:1}}.nc-panel{position:absolute;right:0;bottom:56px;width:min(300px,calc(100vw - 28px));max-height:85vh;overflow:hidden;background:var(--nc-bg, #ffffff);border:1px solid rgba(0,0,0,.06);border-radius:12px;box-shadow:0 14px 36px #0000003d;animation:nc-pop-in .18s cubic-bezier(.2,.8,.2,1);display:flex;flex-direction:column;box-sizing:border-box}@media (max-width: 480px){.nc-root{right:8px;bottom:calc(8px + env(safe-area-inset-bottom,0))}.nc-panel{bottom:calc(64px + env(safe-area-inset-bottom,0));max-height:85vh;width:min(92vw,300px)}}@keyframes nc-pop-in{0%{opacity:0;transform:translateY(8px) scale(.98)}60%{opacity:1;transform:translateY(0) scale(1.005)}to{opacity:1;transform:translateY(0) scale(1)}}.nc-header{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;row-gap:6px;padding:10px 12px;border-bottom:1px solid rgba(0,0,0,.06);position:sticky;top:0;background:var(--nc-bg, #ffffff);z-index:1}.nc-title{font-weight:700;font-size:14px}.nc-tabs{display:inline-flex;gap:2px;margin-left:6px;background:#f3f4f6;border-radius:8px;padding:2px}.nc-tab{padding:4px 8px;border-radius:6px;font-size:12px;color:#111827;background:transparent}.nc-tab.is-active{background:#fff;box-shadow:0 1px #0000000a}.nc-tab:focus-visible{outline:2px solid #93c5fd;outline-offset:2px}.nc-tools{display:inline-flex;gap:8px;flex:0 0 auto}.nc-tools .btn-link{font-size:12px}.nc-body{padding:6px 12px 10px;overflow-y:auto;flex:1}.nc-body::-webkit-scrollbar{width:10px}.nc-body::-webkit-scrollbar-thumb{background:#0000001a;border-radius:8px}.nc-empty{padding:10px 2px;font-size:12px;color:#6b7280}.nc-list{list-style:none;margin:0;padding:0}.nc-item{display:flex;align-items:flex-start;gap:10px;padding:8px 0;border-bottom:1px solid rgba(0,0,0,.05);cursor:default}.nc-item:last-child{border-bottom:none}.nc-item.is-clickable{cursor:pointer}.nc-item{transition:background-color .12s ease}.nc-item:hover{background:#00000008}.nc-col{flex:1;min-width:0}.nc-row{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.nc-title-text{font-weight:600;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nc-time{font-size:11px;color:#6b7280}.nc-message{margin-top:2px;font-size:12px;line-height:1.35;color:#374151;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.nc-actions{display:flex;gap:8px;margin-top:4px;flex-wrap:wrap}.nc-actions .btn-link{font-size:12px}.nc-kind-dot{width:10px;height:10px;border-radius:999px;margin-top:6px;flex:0 0 auto}.nc-item.is-unread .nc-title-text{font-weight:700}.nc-item.is-unread .nc-kind-dot{box-shadow:0 0 0 2px #3b82f626}@media (prefers-reduced-motion: reduce){.nc-btn{transition:none}.nc-panel{animation:none}}:root{--bg: #0b0c10;--card: #121319;--muted: #a7b1c2;--edge: rgba(255,255,255,.08);--brand: #7aa2ff}.landing{color:#fff;background:linear-gradient(180deg,#0b0c10,#0c1018);min-height:100vh}.container{width:min(1100px,92%);margin:0 auto}.landing-hero{padding:64px 0 24px;position:relative;overflow:hidden}.landing-hero .container{display:flex;gap:40px;align-items:center;justify-content:space-between}.hero-copy h1{font-size:40px;line-height:1.1;margin:0 0 12px}.hero-copy p{color:var(--muted);margin:0 0 20px;max-width:560px}.bullets{margin:0 0 14px 18px;color:var(--muted)}.bullets li{margin:4px 0}.cta{display:flex;gap:12px}.btn-primary,.btn-secondary,.btn-outline{display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;border-radius:10px;text-decoration:none;font-weight:600}.btn-primary{background:linear-gradient(135deg,#7aa2ff,#9bc2ff);color:#0b0c10;box-shadow:0 10px 30px #7aa2ff4d}.btn-secondary{background:#1a1c24;color:#fff;border:1px solid var(--edge)}.btn-outline{background:transparent;border:1px solid var(--edge);color:#fff}.hero-art{flex:1;display:flex;align-items:center;justify-content:center}.glass{width:320px;border-radius:16px;padding:16px;background:linear-gradient(180deg,#ffffff0f,#ffffff05);border:1px solid var(--edge);box-shadow:0 10px 40px #0000004d;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.glass .stat{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:12px;background:#ffffff08;margin:8px 0;border:1px solid var(--edge)}.glass .stat span{color:var(--muted)}.features{padding:40px 0}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.card.f{background:var(--card);border:1px solid var(--edge);padding:16px;border-radius:14px}.card.f h3{margin:0 0 8px}.proof{padding:40px 0}.proof h2{margin:0 0 16px}.quotes{list-style:none;padding:0;margin:0;display:grid;gap:12px}.quotes .quote{background:var(--card);border:1px solid var(--edge);border-radius:14px;padding:16px;overflow:hidden;transform:translateY(8px);opacity:0;transition:transform .6s cubic-bezier(.2,.7,.2,1),opacity .6s;transition-delay:var(--delay, 0s)}.quotes .quote.in{transform:none;opacity:1}.person{display:flex;align-items:center;gap:10px;margin-bottom:8px}.avatar{width:40px;height:40px;border-radius:999px;display:flex;align-items:center;justify-content:center;font-weight:700;color:#0b0c10;background:#9bc2ff;box-shadow:inset 0 0 0 2px #fff6}.avatar.a1{background:#9bc2ff}.avatar.a2{background:#67f2a2}.avatar.a3{background:#ffd580}.avatar.a4{background:#ff9ad1}.avatar.a5{background:#a7a1ff}.quotes blockquote{margin:0 0 6px}.benefits{padding:20px 0 40px}.promo{color:#9bc2ff;font-weight:600;margin:-6px 0 10px}.pricing{padding:40px 0}.pricing.hi{box-shadow:inset 0 0 0 2px #9bc2ff47;animation:hiPulse .9s ease}@keyframes hiPulse{0%{background:#9bc2ff0a}to{background:transparent}}.pricing .subhead{margin:-4px 0 14px}.price .old{color:var(--muted);text-decoration:line-through;font-weight:500;margin-left:6px;font-size:.9em}.perday{margin:-6px 0 8px}.trust{margin-top:6px}.btn-primary.pulse{animation:pulseBtn 1.4s ease}@keyframes pulseBtn{0%{box-shadow:0 0 #7aa2ff73}to{box-shadow:0 0 0 16px #7aa2ff00}}.pay-tabs{display:inline-flex;gap:8px;margin:0 0 12px}.pay-tabs button{background:#0f1218;border:1px solid var(--edge);color:#fff;padding:8px 12px;border-radius:10px;cursor:pointer;font-weight:600}.pay-tabs button.active{background:linear-gradient(135deg,#7aa2ff,#9bc2ff);color:#0b0c10}.checkout-form{display:flex;flex-direction:column;gap:12px;margin-top:8px}.field input{background:#0f1218;border:1px solid var(--edge);color:#fff;padding:10px 12px;border-radius:10px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.pix-box{display:flex;gap:12px;align-items:center;background:#0f1218;border:1px solid var(--edge);border-radius:12px;padding:12px}.pix-box .qr{width:120px;height:120px;background:repeating-linear-gradient(45deg,#1b2030,#1b2030 6px,#0f1218 6px,#0f1218 12px);border-radius:8px;border:1px solid var(--edge)}.sum{display:flex;align-items:center;justify-content:space-between;margin-top:8px}.sum .line{display:flex;align-items:center;gap:10px;color:var(--muted)}@media (max-width: 900px){.grid-2{grid-template-columns:1fr}.pix-box{flex-direction:column;align-items:flex-start}}.plan .subline{margin-top:-6px;margin-bottom:10px}.plan .savings{color:#67f2a2;font-weight:700;margin-left:6px}.plan ul.check{padding-left:0;list-style:none}.plan ul.check li{position:relative;padding-left:22px;margin:6px 0;color:var(--muted)}.plan ul.check li:before{content:"✔";position:absolute;left:0;top:0;color:#67f2a2}.plan .guarantee{margin-top:10px;font-size:12px;color:#9bc2ff;font-weight:700}.plan.highlight{transform:translateY(-4px)}.plan{background:var(--card);border:1px solid var(--edge);border-radius:14px;padding:16px;position:relative}.plan .price{font-size:22px;font-weight:700;margin:6px 0 12px}.plan ul{padding-left:16px;color:var(--muted)}.plan .btn-primary,.plan .btn-outline{width:100%;margin-top:12px}.plan.highlight{border-color:#2a4df5;box-shadow:0 10px 30px #2a4df52e}.plan .badge{position:absolute;top:-10px;right:12px;background:#2a4df5;color:#fff;padding:4px 8px;border-radius:999px;font-size:12px}.plan .badge.alt{background:#67f2a2;color:#0b0c10}.landing-footer{padding:24px 0 40px;color:var(--muted)}.landing-footer .container{display:flex;align-items:center;justify-content:space-between}.landing-footer nav{display:flex;gap:16px}.faq{padding:32px 0 60px}.qa details{background:var(--card);border:1px solid var(--edge);border-radius:12px;padding:12px 14px;margin-bottom:10px}.sticky-cta{position:sticky;bottom:0;background:#0c1018cc;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-top:1px solid var(--edge);padding:10px 0}.sticky-cta .container{display:flex;align-items:center;justify-content:space-between}.sticky-cta .btn-primary{padding:8px 14px}.gamification{padding:28px 0 36px}.gamification h2{margin:0 0 8px}.gamification .help{margin-bottom:12px}.gam-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.gam-card{background:var(--card);border:1px solid var(--edge);border-radius:14px;padding:16px;box-shadow:0 10px 24px #0000002e}.gam-card h4{margin:0 0 8px}.streak{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;list-style:none;padding:0;margin:10px 0 8px}.streak li{height:12px;border-radius:999px;background:#0f1218;border:1px solid var(--edge);position:relative;overflow:hidden}.streak li.hit{background:linear-gradient(90deg,#ffb84d,#ff8a00)}.chips{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 10px}.chip{background:#0f1218;border:1px solid var(--edge);color:#fff;padding:6px 10px;border-radius:999px;font-size:13px;transition:transform .15s ease,border-color .2s}.chip:hover{transform:translateY(-1px);border-color:#9bc2ff}@media (max-width: 900px){.gam-grid{grid-template-columns:1fr}}.how{padding:20px 0 40px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.step{background:var(--card);border:1px solid var(--edge);border-radius:14px;padding:16px;transform:translateY(10px);opacity:0;transition:transform .6s,opacity .6s;transition-delay:var(--delay, 0s)}.step.reveal.in{transform:none;opacity:1}.bubble{width:28px;height:28px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:#2a4df5;color:#fff;font-weight:700;margin-bottom:8px}.demo{padding:10px 0 40px}.demo-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.device{border:1px solid var(--edge);border-radius:16px;overflow:hidden;background:linear-gradient(180deg,#ffffff0a,#ffffff05);box-shadow:0 10px 40px #00000040;transform:translateY(8px);opacity:0;transition:transform .6s,opacity .6s;transition-delay:var(--delay, 0s)}.device.reveal.in{transform:none;opacity:1}.device-head{padding:10px 12px;border-bottom:1px solid var(--edge);background:#ffffff08}.device-body{padding:12px}.demo-question .stem{font-weight:600;margin-bottom:8px}.alts{list-style:none;padding:0;margin:0;display:grid;gap:8px}.alt{width:100%;text-align:left;background:#0f1218;border:1px solid var(--edge);color:#fff;padding:10px 12px;border-radius:10px}.is-selected .alt{border-color:#9bc2ff;box-shadow:0 0 0 3px #9bc2ff26}.is-correct .alt{border-color:#67f2a2}.is-wrong .alt{border-color:#ff6b6b}.demo-actions,.explain{margin-top:8px}.explain .ok{color:#67f2a2;font-weight:700}.explain .err{color:#ff6b6b;font-weight:700}.demo-report .bars{list-style:none;padding:0;margin:0;display:grid;gap:10px}.bar-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.bar{height:10px;background:#0f1218;border:1px solid var(--edge);border-radius:999px;overflow:hidden}.bar .fill{height:100%;background:linear-gradient(90deg,#7aa2ff,#9bc2ff)}.mini{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.mini-card{background:#0f1218;border:1px solid var(--edge);border-radius:10px;padding:10px 12px}@media (max-width: 900px){.steps,.demo-grid{grid-template-columns:1fr}}.lead{padding:40px 0}.lead-form{display:flex;flex-direction:column;gap:10px;margin-top:8px}.input{background:#0f1218;border:1px solid var(--edge);color:#fff;padding:10px 12px;border-radius:10px}.help{color:var(--muted)}.msg{margin-top:10px;font-weight:600}.msg.ok{color:#67f2a2}.msg.err{color:#ff6b6b}@media (max-width: 900px){.landing-hero .container{flex-direction:column;text-align:center}.grid-3{grid-template-columns:1fr}.landing-footer .container{flex-direction:column;gap:12px}}:root{--auth-bg: #ffffff;--auth-card-bg: #ffffff;--auth-text: #0f172a;--auth-muted: #6b7280;--auth-border: #e5e7eb;--auth-shadow: 0 12px 30px rgba(0,0,0,.06);--auth-primary: #6a5cff}.auth-page{min-height:100vh;background:var(--auth-bg);color:var(--auth-text);display:grid}.auth-wrap{display:grid;place-items:center;padding:40px 16px}.auth-card{width:100%;max-width:420px;background:var(--auth-card-bg);border:1px solid var(--auth-border);border-radius:16px;padding:24px;box-shadow:var(--auth-shadow)}.auth-avatar{width:96px;height:96px;margin:-64px auto 12px;border-radius:50%;background:linear-gradient(180deg,#f3f4f6,#e5e7eb);border:1px solid var(--auth-border);display:grid;place-items:center;color:var(--auth-primary);box-shadow:0 8px 20px #00000014}.auth-cap{filter:drop-shadow(0 1px 0 rgba(255,255,255,.8))}.auth-toggle{display:grid;grid-auto-flow:column;justify-content:center;gap:8px;margin:8px 0 12px}.auth-tab{border:1px solid var(--auth-border);background:#f9fafb;color:var(--auth-text);padding:8px 12px;border-radius:10px;cursor:pointer}.auth-tab.is-active{background:var(--auth-primary);border-color:var(--auth-primary);color:#fff}.auth-form{display:grid;gap:10px}.field{display:grid;gap:6px}.label{font-size:12px;color:var(--auth-muted)}.input{border:1px solid var(--auth-border);background:#fff;border-radius:10px;padding:10px 12px;outline:none}.input:focus{border-color:var(--auth-primary);box-shadow:0 0 0 3px #6a5cff1f}.auth-submit{width:100%;margin-top:6px}.auth-error{margin-top:10px}.auth-links{display:flex;justify-content:space-between;align-items:center;margin-top:8px}.link{background:none;border:none;padding:0;color:var(--auth-primary);cursor:pointer;text-decoration:underline;font-size:14px}@media (max-width: 480px){.auth-card{padding:20px}.auth-avatar{width:84px;height:84px;margin-top:-56px}}:root{--bg:#ffffff;--surface:#ffffff;--surface-2:#f8fafc;--text:#0f172a;--muted:#64748b;--primary:#6a5cff;--primary-contrast:#ffffff;--ok:#16a34a;--error:#ef4444;--warn:#f59e0b;--border:#e5e5ea;--header-bg:rgba(255,255,255,.72);--nav-bg:rgba(255,255,255,.66);--active-bg:rgba(10,132,255,.14);--level:#0a84ff;--shadow:0 8px 24px rgba(0,0,0,.06)}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu;background:var(--bg);color:var(--text)}a{color:inherit;text-decoration:none}.app{display:flex;flex-direction:column;min-height:100vh}.topbar{position:sticky;top:0;z-index:50;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;padding:10px 16px;border-bottom:1px solid var(--border);background:var(--header-bg);backdrop-filter:saturate(180%) blur(12px);-webkit-backdrop-filter:saturate(180%) blur(12px)}.brand-pill{display:flex;align-items:center;gap:10px;padding:4px 0;border-radius:8px;background:transparent;border:0;box-shadow:none}.logo-dot{width:28px;height:28px;border-radius:8px;background:linear-gradient(135deg,#6a5cff,#8b5cf6)}.brand-text{font-weight:600;font-size:14px}.topnav{display:flex;gap:6px;justify-content:center}.topnav a{padding:8px 12px;border-radius:999px;color:var(--text);border:1px solid transparent;transition:background-color .16s ease,border-color .16s ease,color .16s ease;font-size:14px}.topnav a:hover{background:#0000000a}.topnav a.active{background:var(--active-bg);border-color:#0a84ff4d}.top-actions{display:flex;align-items:center;gap:10px}.seg{display:flex;align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:2px}.seg button{border:none;background:transparent;padding:6px 10px;border-radius:999px;color:var(--muted);cursor:pointer;font-size:12px}.seg button.active{background:var(--active-bg);color:var(--text)}.top-actions .btn{padding:8px 12px;font-size:14px}.btn.btn-outline{background:transparent;border-radius:999px}.btn.btn-primary{border-radius:999px}.content{padding:24px 16px;flex:1;display:flex}.dashboard .full-bleed{max-width:none;width:100%}.dashboard .card{max-width:none}.dashboard .card-grid{grid-template-columns:1fr}.dashboard .hero{margin-left:0;margin-right:0}.content-inner>*{margin-left:auto;margin-right:auto;width:100%}.card{border:1px solid #E9ECF5;border-radius:18px;padding:20px;background:var(--surface);box-shadow:var(--shadow);max-width:none}.card-row{display:flex;gap:12px;margin:12px 0}.hero{border:1px solid var(--border);border-radius:16px;background:linear-gradient(180deg,#0a84ff14,#fff);padding:18px;margin-bottom:16px;box-shadow:var(--shadow)}.hero h1{margin:0 0 6px;font-size:24px;font-weight:600}.hero-stats{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin:8px 0}.stat .label{font-size:12px;color:var(--muted)}.stat .value{font-size:20px;font-weight:700}.hero-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.hero .btn-primary{background:var(--primary);color:var(--primary-contrast);border-color:transparent}.hero .btn-primary:hover{filter:brightness(1.05)}.hero .btn-xp{font-weight:700}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}.lb-list{list-style:none;padding-left:0;margin:0}.lb-item:last-child{border-bottom:none}.lb-item .rank{width:28px;text-align:center;font-weight:700}.avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;border:1px solid var(--border)}.lb-item .info .name{font-weight:600}.lb-item .chip{background:#eef2ff;color:#4f46e5}.subject-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.stat-card{border:1px solid var(--border);border-radius:10px;padding:12px;background:var(--surface-2)}.stat-card .label{font-size:12px;color:var(--muted)}.stat-card .value{font-size:18px;font-weight:700}.subject-lists{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.list-plain{list-style:none;padding-left:0;margin:0;display:flex;flex-direction:column;gap:8px}.list-item{padding:8px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2)}.list-line{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.meter{height:4px;background:var(--surface);border-radius:999px;overflow:hidden;border:1px solid #E9ECF5}.meter .fill{height:100%;background:var(--primary)}.badges-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.badge-tile{border:1px solid #E9ECF5;border-radius:12px;padding:12px;background:var(--surface);display:flex;flex-direction:row;gap:12px;align-items:flex-start}.badge-tile.locked{opacity:.7}.badge-tile .badge-icon{font-size:28px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:12px;background:#eef2ff}.badge-tile .badge-body{flex:1;min-width:0}.badge-tile .badge-name{font-weight:700}.badge-tile .badge-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.badge-tile .badge-req{font-size:12px;color:var(--muted)}.btn{display:inline-flex;align-items:center;height:36px;padding:0 16px;border:1px solid var(--border);border-radius:999px;background:var(--surface-2);color:var(--text);transition:background-color .16s ease,transform .12s ease}.btn:hover{background:#eef2ff}.options{list-style:none;padding-left:0}.option{padding:8px;border:1px solid var(--border);border-radius:8px;margin-bottom:8px;background:var(--surface-2)}.option.correct{border-color:var(--ok);background:#2ecc7114}.option.incorrect{border-color:var(--error);background:#ff5c5c14}.option.selected{outline:2px solid var(--primary)}.txt-correct{color:var(--ok)}.txt-incorrect{color:var(--error)}.badge{padding:2px 8px;border-radius:999px;border:1px solid var(--border);font-size:12px;color:var(--muted)}.badge.diff-1{background:#2ecc7126;color:var(--ok)}.badge.diff-2{background:#f1c40f26;color:var(--warn)}.badge.diff-3{background:#ff5c5c26;color:var(--error)}.xpbar{width:160px;height:8px;background:var(--surface-2);border-radius:999px;overflow:hidden;display:inline-block;margin:0 8px}.xpbar .fill{height:8px;background:var(--primary)}.header .xpbar .fill{background:var(--level)}textarea{width:100%;max-width:820px;padding:10px;border-radius:8px;border:1px solid var(--border);background:var(--surface-2);color:var(--text)}button{padding:10px 14px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2);cursor:pointer;color:var(--text)}button:hover{background:#eef2ff}button.secondary{background:transparent}button:focus{outline:2px solid var(--primary);outline-offset:2px}.toast-wrap{position:fixed;top:12px;right:12px;display:flex;flex-direction:column;gap:8px;z-index:1000}.toast{background:#111;color:#fff;padding:8px 12px;border-radius:8px;box-shadow:0 2px 10px #0003}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:999}.modal{background:var(--surface);border-radius:12px;padding:20px;max-width:420px;width:92%;box-shadow:0 10px 30px #0003;border:1px solid var(--border)}.progress{position:relative;height:10px;background:var(--surface-2);border-radius:999px;overflow:hidden;margin-bottom:12px;border:1px solid var(--border)}.progress .bar{position:absolute;top:0;right:0;bottom:0;left:0;width:0;height:100%;background:var(--primary)}.progress .counter{margin-top:8px;font-size:12px;color:var(--muted)}.explanation{margin-top:8px;padding:10px;border-left:3px solid var(--primary);background:#3b82f61f;border-radius:6px}.review .review-item{padding:10px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2);margin-bottom:10px}.review .stem{margin-bottom:6px}.filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.filters.vertical{grid-template-columns:1fr;gap:14px}.group{gap:8px}.field{display:flex;flex-direction:column;gap:6px}.field.actions{align-items:flex-start;justify-content:flex-end}.label{font-size:12px;color:var(--muted)}small.help{color:var(--muted)}select{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding:10px 12px;border-radius:8px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="%2364748b"><path d="M7 10l5 5 5-5z"/></svg>');background-repeat:no-repeat;background-position:right 10px center}select:focus{outline:2px solid var(--primary);outline-offset:2px}label.field:has(select:disabled){opacity:.6}input.input{padding:10px 12px;border-radius:8px;border:1px solid var(--border);background:var(--surface-2);color:var(--text)}input.input:focus{outline:2px solid var(--primary);outline-offset:2px}.group .group-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.group .group-actions{display:flex;gap:6px}.microbtn{padding:4px 8px;border:1px solid var(--border);border-radius:999px;background:transparent;color:var(--text);font-size:12px;cursor:pointer}.microbtn:hover{background:#ffffff0f}.scroll-area{max-height:220px;overflow:auto;padding-right:4px}.checklist{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}.check-item{display:flex;gap:8px;align-items:center;padding:8px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2)}.check-item input{transform:scale(1.1)}input[type=radio]{accent-color:var(--primary)}.chips{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border:1px solid var(--border);border-radius:999px;background:var(--surface-2);color:var(--text);font-size:12px}.chip .dot{width:8px;height:8px;border-radius:50%}.subject-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.subject-card{display:flex;flex-direction:column;gap:6px;align-items:flex-start;text-align:left;border:1px solid var(--border);border-radius:10px;padding:12px;background:var(--surface-2);cursor:pointer}.subject-card .title{font-weight:700}.subject-card .meta{font-size:12px;color:var(--muted)}.subject-card.selected{outline:2px solid var(--primary);background:#eff6ff}@media (max-width: 600px){.content,.card{padding:12px}.nav{flex-wrap:wrap}}.theme-selector{display:flex;gap:8px;align-items:center;font-size:14px}.content-inner{margin:auto;display:flex;flex-direction:column;align-items:stretch;justify-content:center;width:100%;max-width:1120px}.theme-selector select{border:1px solid var(--border);border-radius:6px;padding:4px 8px;background:var(--surface);color:var(--text)}.card{border:1px solid var(--border);border-radius:18px;padding:20px;background:var(--surface);box-shadow:var(--shadow)}.challenges-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}.lb-item{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid rgba(15,23,42,.06)}.challenge-card{border:1px solid var(--border);border-radius:10px;padding:16px;background:var(--surface-2)}.menu-toggle{display:none}.menu-btn{display:none;cursor:pointer;padding:6px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}@media (max-width: 820px){.topbar{grid-template-columns:auto auto 1fr;gap:10px}.menu-btn{display:inline-block}.topnav{position:absolute;left:0;right:0;top:56px;background:var(--header-bg);backdrop-filter:saturate(180%) blur(12px);-webkit-backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid var(--border);display:none;padding:10px 12px;justify-content:flex-start;gap:8px;flex-wrap:wrap}.menu-toggle:checked~.topnav{display:flex}.top-actions{margin-left:0}}.challenge-card.completed{opacity:.7}.challenge-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.lb-item .info .meta{color:var(--muted);font-size:12px}.lb-item .chip{background:#f1f5f9;color:#334155}.challenge-header h4{margin:0;font-size:1.1rem}.completed-badge{background:#16a34a;color:#fff;padding:2px 6px;border-radius:4px;font-size:.8rem}.challenge-description{color:var(--muted);font-size:.9rem;margin-bottom:12px}.btn.btn-pill{padding:8px 14px;border-radius:999px}.btn-success{background:var(--ok);color:#fff;border-color:transparent}.challenge-progress{margin-bottom:12px}.challenge-rewards{display:flex;gap:8px;margin-bottom:12px}.reward-item{background:var(--primary);color:var(--primary-contrast);padding:4px 8px;border-radius:6px;font-size:.8rem}.claim-button{background:var(--ok);color:#fff;border:none;border-radius:6px;padding:8px 16px;width:100%;cursor:pointer;font-weight:500}.claim-button:hover{background:#059669}.challenge-deadline{font-size:.8rem;color:var(--muted);text-align:center;margin-top:8px}.hero.hero--gradient{background:linear-gradient(135deg,#5b4dff,#6a5cff 50%,#7c6cff);color:#fff;position:relative;overflow:hidden}.hero.hero--gradient:before{content:"";position:absolute;left:-60px;bottom:-60px;width:220px;height:220px;background:#ffffff1f;border-radius:999px;filter:blur(50px)}.hero.hero--gradient:after{content:"";position:absolute;right:-80px;top:-80px;width:260px;height:260px;background:#ffffff29;border-radius:999px;filter:blur(60px)}.hero.hero--gradient .help{color:#eef2ff}.hero.hero--gradient .progress{height:8px;background:#ffffff47;border:0}.hero.hero--gradient .progress .bar{background:#fff}.grid-12{display:grid;grid-template-columns:1fr;gap:24px}.gap{gap:16px}@media (min-width:1024px){.grid-12{grid-template-columns:repeat(12,minmax(0,1fr))}.col-8{grid-column:span 8}.col-4{grid-column:span 4}}.stack-6>*+*{margin-top:16px}.coach{position:sticky;top:96px}.notify{position:fixed;right:24px;bottom:24px;z-index:1000}.notify input{position:absolute;opacity:0;pointer-events:none}.panel{position:absolute;right:0;bottom:64px;width:320px;transform:translateY(8px);opacity:0;pointer-events:none;transition:all .2s ease}.panel-inner{border:1px solid var(--border);background:var(--surface);border-radius:16px;padding:16px;box-shadow:0 20px 50px #0003}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.close{cursor:pointer;color:#94a3b8}.panel-actions{display:flex;gap:8px;margin-top:12px}.fab{position:relative;width:56px;height:56px;display:inline-flex;align-items:center;justify-content:center;border-radius:16px;background:#0f172a;color:#fff;box-shadow:var(--shadow);cursor:pointer}.dot{position:absolute;right:-6px;top:-6px;display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;background:#ef4444;color:#fff;border-radius:999px;font:700 10px system-ui;box-shadow:0 0 0 2px var(--surface)}.ping{position:absolute;right:-6px;top:-6px;width:16px;height:16px;background:#ef44448c;border-radius:999px;animation:ping 1.2s infinite}@keyframes ping{0%{transform:scale(.9);opacity:.9}80%{transform:scale(1.8);opacity:0}to{opacity:0}}.notify input:checked~.panel{transform:translateY(0);opacity:1;pointer-events:auto}.btn-primary{background:var(--primary);color:var(--primary-contrast);border-color:transparent}.btn-primary:hover{filter:brightness(1.05)}.btn-outline{border:1px solid var(--border);background:transparent}.btn-full{width:100%}.emoji{display:inline-flex;width:32px;height:32px;align-items:center;justify-content:center;border-radius:12px;background:#eef2ff;color:#4f46e5}.divide>li{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-top:1px solid var(--border)}.chip{background:#f1f5f9;color:#334155;padding:6px 10px;border-radius:999px;font:700 11px/1 system-ui}.chip-ok{background:#e8fff0;color:#16a34a}.pill-group{display:flex;gap:8px;background:var(--surface);border:1px solid #E9ECF5;padding:4px;border-radius:999px}.pill{border:none;background:transparent;padding:6px 10px;border-radius:999px;cursor:pointer;font-weight:600}.pill.active{background:#eef2ff}.muted{color:var(--muted)}.card.admin{padding:0}.card.admin>.group-header{position:sticky;top:0;z-index:2;padding:16px;border-bottom:1px solid var(--border);background:var(--surface);border-top-left-radius:18px;border-top-right-radius:18px}.card.admin>.group-header h2{font-size:18px}.card.admin .seg button{font-size:13px}.card.admin .content-block{padding:16px}.card.admin .scroll-area{max-height:520px;padding:0 16px}.card.admin table{width:100%;border-collapse:separate;border-spacing:0;font-size:14px}.card.admin thead th{position:sticky;top:0;background:var(--surface);z-index:1;border-bottom:1px solid var(--border);padding:10px;text-align:left}.card.admin tbody td{padding:8px 10px;border-bottom:1px solid var(--border);vertical-align:top}.card.admin tbody tr:nth-child(2n){background:var(--surface-2)}.card.admin input.input,.card.admin textarea{font-size:14px}.card.admin input[type=checkbox]{width:16px;height:16px}.card.admin .btn{height:32px}.card.admin .btn.btn-primary{background:var(--primary);color:var(--primary-contrast);border-color:transparent}.card.admin .new-question{border:0;border-bottom:1px solid var(--border);border-radius:0;box-shadow:none}.card.admin .new-question .group-header{padding:0 0 8px;border-bottom:0}.card.admin .new-question .field textarea{min-height:90px}.card.admin .new-question .field input.input{min-width:140px}.card.admin .new-question .alt-row{display:flex;gap:8px;align-items:center}.card.admin .new-question .alt-row input.input{height:34px}.card.admin .muted{color:var(--muted)}
