:root{
  --pink:#ef008f;
  --hot-pink:#ff4fa9;
  --pink-dark:#b8006e;
  --blush:#ffe8f3;
  --blush-2:#fff3f8;
  --cream:#fff8f1;
  --gold:#f2a900;
  --gold-soft:#fff0c9;
  --brown:#573426;
  --brown-dark:#2c1912;
  --ink:#35221b;
  --muted:#7d685f;
  --white:#fff;
  --line:#ecd9d0;
  --green:#34885d;
  --green-soft:#e5f5ec;
  --blue:#4169a1;
  --blue-soft:#eaf2ff;
  --shadow:0 16px 38px rgba(91,49,62,.1);
  --shadow-soft:0 8px 22px rgba(91,49,62,.07);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fbf8f7;color:var(--ink);font-family:"DM Sans",Arial,sans-serif;line-height:1.55}
button,input{font:inherit}
button{color:inherit}
button,a{-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible,input:focus-visible{outline:4px solid rgba(239,0,143,.25);outline-offset:3px}
[hidden]{display:none!important}
.skip-link{position:fixed;left:-9999px;top:12px;z-index:1000;padding:12px 18px;border-radius:10px;background:#fff;color:var(--brown);font-weight:800}
.skip-link:focus{left:12px}

.academy-shell{min-height:100vh;display:grid;grid-template-columns:264px minmax(0,1fr)}
.side-nav{position:sticky;top:0;height:100vh;padding:24px 18px;display:flex;flex-direction:column;background:var(--brown-dark);color:#fff;overflow:auto}
.academy-brand{display:flex;align-items:center;gap:12px;margin:0 7px 30px;color:#fff;text-decoration:none}
.academy-brand img{width:58px;height:58px;border:3px solid #fff;border-radius:50%;object-fit:cover}
.academy-brand span{display:grid;line-height:1}
.academy-brand strong{font:800 25px/1 "Playfair Display",Georgia,serif;letter-spacing:2px;color:#ff9dcb}
.academy-brand small{margin-top:6px;font-size:11px;font-weight:700;letter-spacing:.5px}
.side-nav nav{display:grid;gap:7px}
.nav-link{width:100%;display:flex;align-items:center;gap:13px;padding:13px 14px;border:0;border-radius:13px;background:transparent;color:#f1ded6;text-align:left;font-size:14px;font-weight:700;cursor:pointer;transition:.2s}
.nav-link span{width:28px;height:28px;display:grid;place-items:center;border-radius:9px;background:rgba(255,255,255,.08);color:#ff9dcb;font-size:17px}
.nav-link:hover{background:rgba(255,255,255,.08);color:#fff;transform:translateX(2px)}
.nav-link.active{background:#fff;color:var(--brown-dark);box-shadow:0 10px 24px rgba(0,0,0,.18)}
.nav-link.active span{background:var(--blush);color:var(--pink)}
.side-affirmation{position:relative;margin-top:auto;padding:19px 17px;border:1px solid rgba(255,255,255,.12);border-radius:18px;background:linear-gradient(145deg,rgba(239,0,143,.28),rgba(255,255,255,.05));overflow:hidden}
.side-affirmation:after{content:"♥";position:absolute;right:-5px;bottom:-28px;color:rgba(255,255,255,.08);font-size:86px}
.side-affirmation span{color:#ffb9da;font-size:10px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase}
.side-affirmation p{position:relative;z-index:1;margin:7px 0 0;font:18px/1.2 "Schoolbell",cursive}
.back-home{margin:18px 8px 0;color:#d7bdb1;font-size:12px;font-weight:700;text-decoration:none}
.back-home:hover{color:#fff}

.app-column{min-width:0}
.topbar{position:sticky;top:0;z-index:20;min-height:78px;display:flex;align-items:center;justify-content:flex-end;padding:12px clamp(18px,4vw,54px);border-bottom:1px solid rgba(87,52,38,.09);background:rgba(255,255,255,.94);backdrop-filter:blur(12px)}
.mobile-brand{display:none}
.topbar-actions{display:flex;align-items:center;gap:10px}
.streak-pill,.points-pill{height:48px;display:flex;align-items:center;gap:6px;padding:0 14px;border-radius:14px;background:#fff5df;border:1px solid #f0dfbf}
.points-pill{background:var(--blush-2);border-color:#f3d1e3}
.streak-pill>span,.points-pill>span{font-size:19px}.points-pill>span{color:var(--gold)}
.streak-pill b,.points-pill b{font-size:16px}.streak-pill small,.points-pill small{color:var(--muted);font-size:10px;font-weight:700}
.profile-chip{height:54px;display:flex;align-items:center;gap:10px;padding:5px 13px 5px 6px;border:1px solid var(--line);border-radius:99px;background:#fff;cursor:pointer}
.profile-chip>span:first-child{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:var(--blush);font-size:27px}
.profile-chip>span:last-child{display:grid;line-height:1.05;text-align:left}
.profile-chip b{font-size:13px}.profile-chip small{margin-top:5px;color:var(--muted);font-size:10px}

main{padding:clamp(20px,3.5vw,48px);max-width:1500px;margin:auto}
.app-view{display:none;animation:view-in .28s ease both}.app-view.active{display:block}
@keyframes view-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.kicker{margin:0 0 8px;color:var(--pink-dark);font-size:11px;font-weight:800;letter-spacing:1.6px;text-transform:uppercase}
h1,h2,h3{font-family:"Playfair Display",Georgia,serif;line-height:1.08;letter-spacing:-.8px}
h1{margin:0;color:var(--brown);font-size:clamp(37px,5vw,64px)}
h1 em,h2 em{font-family:"Schoolbell",cursive;font-style:normal;font-weight:400;color:var(--pink);letter-spacing:0}
h2{margin:0;color:var(--brown);font-size:27px}
p{margin-top:0}
.muted{color:var(--muted)}

.welcome-banner{min-height:360px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);align-items:center;overflow:hidden;border-radius:30px;background:radial-gradient(circle at 78% 20%,#ffd1e6 0 16%,transparent 16.3%),linear-gradient(125deg,#fff 5%,#fff6fa 70%,#ffe8f3);box-shadow:var(--shadow)}
.welcome-copy{position:relative;z-index:2;padding:clamp(30px,5vw,62px)}
.welcome-copy h1{font-size:clamp(42px,5vw,69px)}
.welcome-copy>p:not(.kicker){max-width:620px;margin:17px 0 23px;font-size:17px}
.welcome-actions{display:flex;gap:10px;flex-wrap:wrap}
.primary-button,.wide-button,.soft-button,.listen-button,.text-button,.icon-button{border:0;cursor:pointer;font-weight:800}
.primary-button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:13px 20px;border-radius:13px;background:linear-gradient(135deg,var(--pink),var(--hot-pink));color:#fff;box-shadow:0 12px 24px rgba(239,0,143,.23)}
.primary-button:hover{transform:translateY(-2px);box-shadow:0 15px 29px rgba(239,0,143,.3)}
.primary-button.large{min-height:57px;padding:15px 25px;font-size:15px}
.listen-button{min-height:48px;display:inline-flex;align-items:center;gap:8px;padding:11px 16px;border:1px solid #e6c9d5;border-radius:13px;background:#fff;color:var(--brown)}
.listen-button.compact{min-height:40px;padding:8px 12px;font-size:12px;white-space:nowrap}
.listen-button:hover,.soft-button:hover{background:var(--blush)}
.welcome-art{position:relative;align-self:stretch;min-height:330px}
.character{position:absolute;right:18%;top:19%;width:190px;height:190px;display:grid;place-items:center;border:10px solid #fff;border-radius:50%;background:linear-gradient(145deg,#ffd1e7,#fff1d8);box-shadow:0 22px 30px rgba(94,41,61,.16)}
.character span{font-size:112px;filter:drop-shadow(0 10px 7px rgba(0,0,0,.1))}
.art-book{position:absolute;bottom:38px;width:132px;height:165px;display:grid;place-items:center;padding:15px;border-radius:5px 15px 15px 5px;color:#fff;font:800 22px/1.05 "Playfair Display",serif;text-align:center;box-shadow:9px 11px 0 rgba(87,52,38,.32)}
.art-book:after{content:"";position:absolute;left:9px;top:0;bottom:0;width:2px;background:rgba(255,255,255,.4)}
.book-a{right:49%;background:var(--pink);transform:rotate(-9deg)}.book-b{right:13%;bottom:27px;background:var(--brown);transform:rotate(7deg)}
.art-spark,.art-heart{position:absolute;color:var(--pink);font-size:29px}.art-spark.one{top:13%;left:8%}.art-spark.two{right:8%;top:11%;color:var(--gold)}.art-heart{left:15%;bottom:15%;font-size:34px}

.dashboard-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:18px;margin-top:20px}
.card{padding:25px;border:1px solid rgba(87,52,38,.1);border-radius:23px;background:#fff;box-shadow:var(--shadow-soft)}
.card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}
.card-heading h2{font-size:28px}.lesson-icon{width:56px;height:56px;display:grid;place-items:center;border-radius:18px;background:var(--blush);color:var(--pink);font-size:25px}
.next-card>p{max-width:640px;margin:16px 0;color:#66534b}
.mini-meta{display:flex;gap:9px;margin:20px 0 15px}.mini-meta span{padding:7px 11px;border-radius:99px;background:var(--cream);color:var(--brown);font-size:11px;font-weight:800}
.wide-button{width:100%;min-height:49px;border-radius:13px;background:var(--brown);color:#fff}.wide-button:hover{background:var(--brown-dark)}
.weekly-card{position:relative;display:grid;grid-template-columns:1fr 130px;align-items:center;overflow:hidden;background:linear-gradient(145deg,#fff9ec,#fff)}
.weekly-card .card-heading{grid-column:1/-1}.goal-number{color:var(--pink);font-size:14px}.goal-number b{font-size:23px}
.goal-ring{grid-column:2;grid-row:2/4;width:112px;height:112px;display:grid;place-items:center;border-radius:50%;background:conic-gradient(var(--pink) var(--goal-angle,0deg),#f2ded0 0);position:relative}
.goal-ring:after{content:"";position:absolute;inset:12px;border-radius:50%;background:#fffaf1}.goal-ring span{position:relative;z-index:1;color:var(--brown);font-size:18px;font-weight:800}
.weekly-card>p{margin:22px 15px 0 0;font-size:13px}.weekly-card>p strong{color:var(--pink-dark)}
.skills-card{min-height:270px}.text-button{padding:4px;background:transparent;color:var(--pink-dark);font-size:12px}.text-button:hover{text-decoration:underline}
.skills-list{display:grid;gap:13px;margin-top:20px}.skill-row{display:grid;grid-template-columns:minmax(115px,.7fr) 1fr 43px;align-items:center;gap:12px}.skill-row b{font-size:12px}.skill-track{height:9px;border-radius:99px;background:#f1e6e1;overflow:hidden}.skill-track span{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--pink),#ff88bf)}.skill-row small{text-align:right;color:var(--brown);font-weight:800}
.empty-state{min-height:155px;display:grid;place-items:center;align-content:center;padding:20px;border:1px dashed #e8c7d6;border-radius:17px;background:var(--blush-2);text-align:center}.empty-state span{font-size:36px}.empty-state p{max-width:330px;margin:8px 0 0;color:#765d68;font-size:13px}
.library-card{position:relative;min-height:270px;overflow:hidden;background:linear-gradient(135deg,var(--brown),#714431);color:#fff}.library-card h2{max-width:450px;color:#fff}.library-card>p:not(.kicker){max-width:480px;margin:15px 0 22px;color:#f1dcd2}.library-card .kicker{color:#ffb8d9}.soft-button{min-height:44px;padding:10px 16px;border:1px solid #e6c9d5;border-radius:12px;background:#fff;color:var(--brown)}
.doodle{position:absolute;right:24px;bottom:13px;color:#ffb9d8;font:22px/1.02 "Schoolbell",cursive;transform:rotate(-5deg);opacity:.75}

.view-header{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin:10px 0 32px}.view-header>div:first-child>p:not(.kicker){max-width:670px;margin:13px 0 0;color:var(--muted)}
.diagnostic-intro{max-width:1100px;margin:auto}.diagnostic-promise{display:flex;align-items:center;gap:22px;padding:30px;border-radius:24px;background:linear-gradient(135deg,var(--brown),#724431);color:#fff;box-shadow:var(--shadow)}.diagnostic-promise h2{color:#fff}.diagnostic-promise p{max-width:750px;margin:10px 0 0;color:#f2ded6}.promise-icon{width:72px;height:72px;flex:0 0 72px;display:grid;place-items:center;border-radius:50%;background:var(--pink);font-size:31px}
.diagnostic-features{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:18px 0}.diagnostic-features article{padding:23px;border:1px solid var(--line);border-radius:19px;background:#fff}.diagnostic-features article>span{width:46px;height:46px;display:grid;place-items:center;margin-bottom:15px;border-radius:14px;background:var(--blush);color:var(--pink);font:700 23px "Playfair Display",serif}.diagnostic-features b{display:block;color:var(--brown)}.diagnostic-features p{margin:6px 0 0;color:var(--muted);font-size:13px}
.support-note,.privacy-banner{display:flex;align-items:flex-start;gap:14px;margin:16px 0 22px;padding:17px 19px;border:1px solid #edd9b2;border-radius:15px;background:#fff9e8;color:#6a542c}.support-note span{font-size:24px;color:var(--pink)}.support-note p{margin:0;font-size:12px}.diagnostic-intro>.primary-button{display:flex;margin:22px auto}
.diagnostic-runner{max-width:940px;margin:auto}.diagnostic-topline,.lesson-topline{display:flex;align-items:center;gap:15px;margin-bottom:18px}.icon-button{width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--line);border-radius:13px;background:#fff;font-size:20px}.diagnostic-progress,.lesson-progress{height:12px;flex:1;border-radius:99px;background:#eadfd9;overflow:hidden}.diagnostic-progress span,.lesson-progress span{display:block;width:0;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--pink),var(--hot-pink));transition:width .35s ease}.diagnostic-topline>b{font-size:12px;white-space:nowrap}
.question-card{padding:clamp(24px,4vw,48px);border:1px solid var(--line);border-radius:26px;background:#fff;box-shadow:var(--shadow)}.question-domain{display:inline-flex;margin-bottom:18px;padding:7px 12px;border-radius:99px;background:var(--blush);color:var(--pink-dark);font-size:11px;font-weight:800;letter-spacing:.7px;text-transform:uppercase}.passage-box{margin:0 0 24px;padding:22px;border-left:5px solid var(--pink);border-radius:13px;background:var(--cream);font:17px/1.75 "DM Sans",sans-serif}.question-line{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.question-line h2{max-width:720px;font-size:clamp(26px,3vw,36px)}.answer-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:27px}.answer-choice{min-height:62px;display:flex;align-items:center;gap:12px;padding:14px 17px;border:2px solid #eee2dc;border-radius:15px;background:#fff;text-align:left;font-weight:700;cursor:pointer}.answer-choice span{width:31px;height:31px;flex:0 0 31px;display:grid;place-items:center;border-radius:9px;background:var(--cream);color:var(--brown);font-size:12px;font-weight:800}.answer-choice:hover{border-color:#e6a5c4;background:var(--blush-2)}.answer-choice.selected{border-color:var(--pink);background:var(--blush-2)}.answer-choice.correct{border-color:var(--green);background:var(--green-soft)}.answer-choice.wrong{border-color:#c34a5f;background:#fff0f2}.answer-choice:disabled{cursor:default}.answer-feedback{margin-top:18px;padding:15px 17px;border-radius:13px;background:var(--green-soft);color:#235f40;font-size:14px;font-weight:700}.answer-feedback.wrong{background:#fff0f2;color:#8f2f43}.question-next{display:flex;margin:19px 0 0 auto}.diagnostic-encouragement{margin:17px 0;text-align:center;color:var(--muted);font:20px "Schoolbell",cursive}
.diagnostic-results{max-width:1100px;margin:auto}.results-celebration{display:flex;align-items:center;gap:20px;padding:26px;border-radius:24px;background:linear-gradient(135deg,#fff2d5,#fff);box-shadow:var(--shadow-soft)}.results-celebration>span{width:73px;height:73px;display:grid;place-items:center;border-radius:50%;background:var(--gold);color:#fff;font-size:34px}.results-celebration h2{font-size:38px}.results-celebration p:last-child{margin:7px 0 0}.results-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:18px;margin-top:18px}.overall-result,.domain-results{padding:26px;border:1px solid var(--line);border-radius:22px;background:#fff}.overall-result{text-align:center}.result-orbit{width:158px;height:158px;display:grid;place-items:center;align-content:center;margin:0 auto 18px;border:13px solid var(--blush);border-top-color:var(--pink);border-radius:50%}.result-orbit span{font:800 48px/1 "Playfair Display",serif;color:var(--brown)}.result-orbit small{font-size:10px;font-weight:800;text-transform:uppercase}.overall-result h3{margin:0;font-size:28px}.overall-result p{margin:9px 0 0;color:var(--muted);font-size:13px}.domain-results{display:grid;gap:15px}.domain-result{display:grid;grid-template-columns:155px 1fr 48px;align-items:center;gap:12px}.domain-result b{font-size:12px}.domain-result small{text-align:right;font-weight:800}.result-actions{display:flex;justify-content:center;gap:10px;margin-top:20px}

.path-header{align-items:flex-start}.path-key{display:flex;gap:14px;padding:10px 14px;border-radius:12px;background:#fff;border:1px solid var(--line);white-space:nowrap}.path-key span{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:10px;font-weight:800}.path-key i{width:10px;height:10px;border-radius:50%;background:#ddd}.path-key i.done{background:var(--green)}.path-key i.now{background:var(--pink)}
.learning-path{position:relative;max-width:980px;min-height:400px;margin:auto;padding:14px 0}.learning-path:before{content:"";position:absolute;left:50%;top:50px;bottom:50px;width:5px;border-radius:5px;background:linear-gradient(#ffabd2,#f4e4e9);transform:translateX(-50%)}.path-empty{position:relative;z-index:1;max-width:560px;margin:70px auto;padding:40px;border:1px solid var(--line);border-radius:25px;background:#fff;text-align:center;box-shadow:var(--shadow)}.path-empty>span{font-size:55px}.path-empty h2{margin:8px 0}.path-empty p{color:var(--muted)}
.mission-row{position:relative;z-index:1;display:grid;grid-template-columns:1fr 88px 1fr;align-items:center;margin:18px 0}.mission-row:nth-child(even) .mission-card{grid-column:3}.mission-row:nth-child(even) .mission-node{grid-column:2;grid-row:1}.mission-row:nth-child(odd) .mission-card{grid-column:1;text-align:right}.mission-row:nth-child(odd) .mission-node{grid-column:2;grid-row:1}.mission-node{width:68px;height:68px;display:grid;place-items:center;margin:auto;border:7px solid #fff;border-radius:50%;background:#e9dfe2;color:#9c8990;font-size:25px;box-shadow:0 5px 15px rgba(65,35,45,.14)}.mission-row.done .mission-node{background:var(--green);color:#fff}.mission-row.current .mission-node{background:var(--pink);color:#fff;animation:pulse 2s infinite}.mission-row.locked .mission-card{opacity:.62}@keyframes pulse{50%{box-shadow:0 0 0 12px rgba(239,0,143,.1)}}
.mission-card{padding:20px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow-soft)}.mission-card .kicker{margin-bottom:5px}.mission-card h3{margin:0;font-size:23px}.mission-card p{margin:7px 0 12px;color:var(--muted);font-size:12px}.mission-card button{min-height:38px;padding:8px 13px;border:0;border-radius:10px;background:var(--brown);color:#fff;font-size:11px;font-weight:800;cursor:pointer}.mission-card button:disabled{background:#b7aaa5;cursor:not-allowed}.mission-row:nth-child(odd) .mission-card button{margin-left:auto}

.lesson-shell{max-width:960px;margin:auto}.lesson-topline>span:last-child{font-size:11px;font-weight:800;color:var(--muted)}.lesson-hero{position:relative;overflow:hidden;padding:clamp(30px,5vw,55px);border-radius:28px;background:linear-gradient(135deg,var(--brown),#724431);color:#fff}.lesson-hero .kicker{color:#ffb8d8}.lesson-hero h1{max-width:760px;color:#fff}.lesson-hero p{max-width:680px;margin:15px 0 23px;color:#f3ded6}.lesson-hero:after{content:"✦";position:absolute;right:5%;top:8%;color:rgba(255,255,255,.12);font-size:140px}.lesson-panel{margin-top:17px;padding:clamp(24px,4vw,40px);border:1px solid var(--line);border-radius:23px;background:#fff;box-shadow:var(--shadow-soft)}.lesson-panel h2{font-size:31px}.teach-box{margin:20px 0;padding:20px;border-left:5px solid var(--pink);border-radius:14px;background:var(--blush-2)}.teach-box strong{display:block;margin-bottom:6px;color:var(--pink-dark)}.example-card{display:grid;grid-template-columns:auto 1fr;gap:15px;margin:18px 0;padding:18px;border-radius:14px;background:var(--cream)}.example-card>span{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:#fff;font-size:21px}.example-card p{margin:0}.lesson-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.practice-question{margin-top:18px}.practice-question h3{font-size:25px}.practice-options{display:grid;gap:9px}.practice-option{padding:13px 15px;border:2px solid #eee1db;border-radius:13px;background:#fff;text-align:left;font-weight:700;cursor:pointer}.practice-option:hover{border-color:#e8aac8}.practice-option.correct{border-color:var(--green);background:var(--green-soft)}.practice-option.wrong{border-color:#c34a5f;background:#fff0f2}.practice-feedback{margin-top:13px;padding:13px;border-radius:12px;background:var(--green-soft);color:#235f40;font-weight:700}.practice-feedback.wrong{background:#fff0f2;color:#8f2f43}.lesson-finish{text-align:center}.lesson-finish>span{font-size:74px}.lesson-finish h2{font-size:42px}.lesson-finish p{max-width:600px;margin:12px auto 23px;color:var(--muted)}

.reward-total{min-width:155px;display:grid;grid-template-columns:auto 1fr;align-items:center;padding:14px 18px;border-radius:18px;background:#fff4cf;color:var(--brown)}.reward-total span{grid-row:1/3;margin-right:10px;color:var(--gold);font-size:34px}.reward-total b{font-size:25px;line-height:1}.reward-total small{font-size:10px;font-weight:700}.badge-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.badge-card{position:relative;min-height:215px;padding:22px;border:1px solid var(--line);border-radius:20px;background:#fff;text-align:center;overflow:hidden}.badge-card.locked{filter:grayscale(.8);opacity:.58}.badge-icon{width:86px;height:86px;display:grid;place-items:center;margin:0 auto 14px;border:8px solid #fff4d2;border-radius:50%;background:linear-gradient(145deg,#ffd36b,var(--gold));font-size:37px}.badge-card h3{margin:0;font-size:21px}.badge-card p{margin:7px 0;color:var(--muted);font-size:12px}.badge-card small{display:inline-block;padding:5px 9px;border-radius:99px;background:var(--blush);color:var(--pink-dark);font-weight:800}.confidence-wall{display:grid;grid-template-columns:1fr 1.2fr auto;align-items:center;gap:20px;margin-top:20px;padding:30px;border-radius:23px;background:linear-gradient(135deg,var(--brown),#754431);color:#fff}.confidence-wall h2{color:#fff}.confidence-wall .kicker{color:#ffb6d8}.affirmation-card{padding:22px;border-radius:16px;background:#fff;color:var(--brown);font:25px/1.2 "Schoolbell",cursive;transform:rotate(-1deg)}

.privacy-banner{margin-top:0;background:var(--blue-soft);border-color:#cbdcf6;color:#284b78}.privacy-banner>span{font-size:25px}.privacy-banner p{margin:3px 0 0;font-size:12px}.grownup-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.report-reader{display:flex;align-items:center;gap:15px;margin:18px 0}.report-reader>span{width:68px;height:68px;display:grid;place-items:center;border-radius:50%;background:var(--blush);font-size:42px}.report-reader h2{font-size:30px}.report-reader p{margin:4px 0 0;color:var(--muted)}.report-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.report-stats>div{padding:14px;border-radius:14px;background:var(--cream);text-align:center}.report-stats b{display:block;color:var(--pink-dark);font-size:24px}.report-stats small{color:var(--muted);font-size:10px;font-weight:800}.report-skills h2,.support-plan h2,.conversation-card h2{font-size:27px}.support-idea{display:flex;gap:12px;margin-top:13px;padding:13px;border-radius:13px;background:var(--blush-2)}.support-idea>span{font-size:22px}.support-idea p{margin:0;font-size:12px}.conversation-card ul{padding-left:20px}.conversation-card li{margin:11px 0}.grownup-actions{display:flex;justify-content:space-between;gap:20px;margin-top:18px}.grownup-actions a{color:var(--pink-dark);font-size:12px;font-weight:800}.text-button.danger{color:#a4394d}

.profile-dialog{width:min(720px,calc(100% - 28px));max-height:92vh;padding:0;border:0;border-radius:26px;background:#fff;box-shadow:0 30px 80px rgba(53,34,27,.3);overflow:auto}.profile-dialog::backdrop{background:rgba(44,25,18,.7);backdrop-filter:blur(5px)}.profile-dialog form{position:relative;padding:clamp(26px,5vw,46px)}.profile-dialog h2{font-size:39px}.dialog-lede{color:var(--muted)}.dialog-close{position:absolute;right:18px;top:15px;width:38px;height:38px;border:0;border-radius:50%;background:var(--cream);font-size:25px;cursor:pointer}.profile-dialog label{display:grid;gap:7px;font-size:12px;font-weight:800}.profile-dialog input[type=text],.profile-dialog input:not([type]){width:100%;padding:13px 14px;border:2px solid #e7d7d0;border-radius:12px}.profile-dialog fieldset{margin:20px 0;padding:0;border:0}.profile-dialog legend{margin-bottom:10px;font-size:12px;font-weight:800}.grade-options{display:grid;grid-template-columns:1fr 1fr;gap:9px}.grade-options input,.avatar-options input{position:absolute;opacity:0;pointer-events:none}.grade-options label>span{min-height:67px;display:grid;align-content:center;padding:12px;border:2px solid #eadfd9;border-radius:13px;cursor:pointer}.grade-options small{color:var(--muted)}.grade-options input:checked+span{border-color:var(--pink);background:var(--blush-2)}.avatar-options{display:flex;gap:9px;flex-wrap:wrap}.avatar-options label>span{width:62px;height:62px;display:grid;place-items:center;border:2px solid #eadfd9;border-radius:16px;background:#fff;font-size:36px;cursor:pointer}.avatar-options input:checked+span{border-color:var(--pink);background:var(--blush)}.dialog-safety{margin:18px 0;padding:13px;border-radius:12px;background:var(--cream);color:#6d554a;font-size:11px;font-weight:700}.profile-dialog .primary-button{width:100%}
.alignment-pill{width:max-content;max-width:100%;display:flex;align-items:center;gap:10px;margin:0 0 19px;padding:9px 13px;border:1px solid #eccdda;border-radius:13px;background:rgba(255,255,255,.86)}
.alignment-pill>span{font-size:20px}.alignment-pill>div{display:grid;line-height:1.15}.alignment-pill small{color:var(--muted);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.7px}.alignment-pill b{margin-top:3px;color:var(--pink-dark);font-size:12px}
.question-tags{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.question-tags .question-domain{margin-bottom:0}.question-standard{display:inline-flex;padding:7px 12px;border-radius:99px;background:#fff5d9;color:#78530a;font-size:11px;font-weight:800;letter-spacing:.7px;text-transform:uppercase}
.results-alignment{display:flex;align-items:center;gap:12px;margin-top:15px;padding:14px 17px;border:1px solid #d4e1f3;border-radius:15px;background:#f1f6ff;color:#315375;font-size:12px}.results-alignment strong{color:#203e5e}
.framework-chip{width:max-content;max-width:100%;margin-top:13px;padding:7px 11px;border-radius:99px;background:#fff3d4;color:#77510a;font-size:10px;font-weight:800;letter-spacing:.5px}
.standard-tag{display:inline-flex;margin:2px 0 12px;padding:5px 8px;border-radius:8px;background:#fff3d4;color:#79530b;font-size:9px;font-weight:800}
.standards-report h2{font-size:27px}.standards-list{display:grid;gap:9px;margin-top:17px}.standard-row{padding:11px 12px;border-radius:12px;background:#f4f7fc}.standard-row b{display:block;color:#315375;font-size:11px}.standard-row p{margin:4px 0 0;color:#607184;font-size:10px}.standards-source{display:inline-flex;margin:.15rem 0 .9rem;color:var(--pink);font-size:.85rem;font-weight:800;text-decoration:none}.standards-source:hover{text-decoration:underline}.standards-source[hidden]{display:none}
.profile-dialog select{width:100%;padding:13px 14px;border:2px solid #e7d7d0;border-radius:12px;background:#fff;color:var(--ink)}.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}.framework-preview{display:flex;align-items:flex-start;gap:12px;margin:13px 0 19px;padding:13px 14px;border:1px solid #d7e2f2;border-radius:13px;background:#f3f7fd}.framework-preview>span{font-size:22px}.framework-preview b{color:#315375;font-size:12px}.framework-preview p{margin:3px 0 0;color:#607184;font-size:10px}
.toast{position:fixed;right:24px;bottom:24px;z-index:100;max-width:360px;padding:14px 18px;border-radius:14px;background:var(--brown-dark);color:#fff;box-shadow:var(--shadow);font-weight:700;opacity:0;pointer-events:none;transform:translateY(12px);transition:.25s}.toast.show{opacity:1;transform:none}.confetti{position:fixed;inset:0;z-index:200;pointer-events:none;overflow:hidden}.confetti i{position:absolute;top:-30px;width:11px;height:18px;border-radius:3px;animation:confetti-fall 2.8s ease-in forwards}@keyframes confetti-fall{to{transform:translate(var(--drift),110vh) rotate(720deg)}}
.bottom-nav{display:none}

@media(max-width:1120px){
  .academy-shell{grid-template-columns:215px minmax(0,1fr)}
  .side-nav{padding-inline:12px}.academy-brand strong{font-size:20px}.nav-link{padding-inline:11px}
  .welcome-banner{grid-template-columns:1fr 330px}.character{right:11%;width:160px;height:160px}.character span{font-size:96px}.art-book{width:105px;height:135px;font-size:18px}
  .badge-grid{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:860px){
  .academy-shell{display:block}.side-nav{display:none}.app-column{padding-bottom:78px}.topbar{justify-content:space-between;padding:9px 15px;min-height:68px}.mobile-brand{display:flex;align-items:center;gap:8px;border:0;background:transparent;color:var(--brown);font-weight:800}.mobile-brand img{width:44px;height:44px;border-radius:50%;object-fit:cover}.streak-pill small,.points-pill small,.profile-chip>span:last-child{display:none}.streak-pill,.points-pill{height:43px;padding:0 10px}.profile-chip{width:45px;height:45px;padding:3px}.profile-chip>span:first-child{width:37px;height:37px;font-size:23px}
  main{padding:20px 16px}.welcome-banner{grid-template-columns:1fr;min-height:0}.welcome-copy{padding:35px 28px}.welcome-art{min-height:270px}.character{right:29%;top:12%;width:145px;height:145px}.character span{font-size:86px}.book-a{right:53%}.book-b{right:20%}
  .dashboard-grid{grid-template-columns:1fr}.weekly-card{min-height:230px}.goal-ring{justify-self:end}.view-header{align-items:flex-start}.diagnostic-features{grid-template-columns:1fr}.results-layout{grid-template-columns:1fr}.path-key{display:none}.badge-grid{grid-template-columns:1fr 1fr}.confidence-wall{grid-template-columns:1fr}.grownup-grid{grid-template-columns:1fr}.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:50;height:70px;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);background:rgba(255,255,255,.97);backdrop-filter:blur(10px)}.bottom-nav button{display:grid;place-items:center;align-content:center;gap:2px;border:0;background:transparent;color:#8a756c;font-size:9px;font-weight:800}.bottom-nav button span{font-size:19px}.bottom-nav button.active{color:var(--pink)}.toast{right:14px;bottom:84px;left:14px;max-width:none}
}

@media(max-width:580px){
  .mobile-brand span{font-size:12px}.topbar-actions{gap:5px}.streak-pill{display:none}.welcome-copy h1{font-size:43px}.welcome-copy>p:not(.kicker){font-size:14px}.welcome-actions>*{width:100%}.welcome-art{min-height:225px}.character{right:28%;width:125px;height:125px}.character span{font-size:74px}.art-book{bottom:23px;width:88px;height:110px;font-size:15px}.book-a{right:54%}.book-b{right:18%;bottom:14px}.doodle{display:none}
  .weekly-card{grid-template-columns:1fr 100px}.goal-ring{width:90px;height:90px}.goal-ring:after{inset:10px}.skill-row{grid-template-columns:100px 1fr 38px}.view-header{display:block}.view-header>.listen-button,.view-header>.soft-button,.reward-total{margin-top:15px}.diagnostic-promise{align-items:flex-start;padding:22px}.promise-icon{width:48px;height:48px;flex-basis:48px}.question-card{padding:24px 18px}.question-line{display:block}.question-line .listen-button{margin-top:13px}.answer-grid{grid-template-columns:1fr}.results-celebration{align-items:flex-start}.results-celebration>span{width:50px;height:50px;flex:0 0 50px}.results-celebration h2{font-size:28px}.domain-result{grid-template-columns:110px 1fr 42px}.result-actions{display:grid}.learning-path:before{left:32px}.mission-row{grid-template-columns:67px 1fr;margin:14px 0}.mission-row:nth-child(n) .mission-node{grid-column:1;grid-row:1}.mission-row:nth-child(n) .mission-card{grid-column:2;grid-row:1;text-align:left}.mission-node{width:58px;height:58px}.mission-row:nth-child(odd) .mission-card button{margin-left:0}.badge-grid{grid-template-columns:1fr}.grownup-actions{display:grid}.grade-options{grid-template-columns:1fr}.profile-dialog form{padding:30px 21px}.profile-dialog h2{font-size:32px}
}

@media(max-width:580px){.profile-grid{grid-template-columns:1fr}.alignment-pill{width:100%}}

@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

@media print{
  body{background:#fff}.side-nav,.topbar,.bottom-nav,.view-header .soft-button,.grownup-actions,.privacy-banner{display:none!important}.academy-shell{display:block}.app-view{display:none!important}#view-grownup{display:block!important}main{max-width:none;padding:0}.grownup-grid{grid-template-columns:1fr 1fr}.card{box-shadow:none;break-inside:avoid}.view-header{display:block;margin-bottom:20px}.view-header h1{font-size:38px}
}
