:root{color-scheme:light;--bg:#fff9f1;--surface:#fff;--surface-2:#f6fbf7;--ink:#103c35;--muted:#60766f;--line:#dce9e3;--accent:#087f65;--accent-2:#00a982;--accent-soft:#def5e9;--coral:#ff6f3c;--coral-soft:#fff0e8;--sun:#ffbd38;--blue:#42a5d9;--blue-soft:#e9f6fd;--purple:#8864d7;--purple-soft:#f2edff;--shadow:0 12px 36px rgba(16,60,53,.10);--shadow-soft:0 6px 20px rgba(16,60,53,.07);--card:var(--surface);--deep:color-mix(in srgb,var(--accent) 68%,#082f29);--soft:var(--surface-2);--warm:var(--sun);--text:var(--ink);--p:0%;--user-accent:#087f65}
html[data-theme=ocean]{--accent:#2478b8;--accent-2:#36a6d8;--accent-soft:#e6f4fb;--ink:#153d58;--bg:#f6fbff;--line:#d8e8f1}
html[data-theme=violet]{--accent:#7657c8;--accent-2:#9b77e7;--accent-soft:#f0ebff;--ink:#302b53;--bg:#fbf8ff;--line:#e4ddf2}
html[data-theme=coral]{--accent:#d96042;--accent-2:#f28566;--accent-soft:#ffede7;--ink:#50342d;--bg:#fff9f6;--line:#f0dfd8}
html[data-theme=sunshine]{--accent:#b77905;--accent-2:#e5a526;--accent-soft:#fff4d8;--ink:#483b20;--bg:#fffdf5;--line:#eee5cd}
html[data-theme=berry]{--accent:#a94778;--accent-2:#ca6597;--accent-soft:#fbe9f2;--ink:#4a2940;--bg:#fff8fb;--line:#efdce5}
html.custom-accent{--accent:var(--user-accent);--accent-2:var(--user-accent);--accent-soft:color-mix(in srgb,var(--user-accent) 13%,white)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;overflow-x:clip;background:radial-gradient(circle at 70% 0%,rgba(255,189,56,.10),transparent 26%),var(--bg);color:var(--ink);font:16px/1.52 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}.top-strip{position:fixed;z-index:40;inset:0 0 auto;height:30px;background:linear-gradient(90deg,#064c3f,var(--accent),#064c3f);color:#fff;display:flex;align-items:center;justify-content:center;gap:8px;font-size:11px;font-weight:800;letter-spacing:.02em}.top-strip span{color:#ffd76a}.app-header{position:fixed;z-index:35;top:30px;left:0;right:0;height:64px;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 22px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);min-height:48px}.brand-mark{width:40px;height:40px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(145deg,var(--accent),var(--accent-2));color:white;font:bold 22px Georgia,serif;box-shadow:0 8px 18px color-mix(in srgb,var(--accent) 20%,transparent)}.brand strong{font:900 22px/1 Georgia,serif;display:block}.brand strong sup{font:900 8px/1 Inter,ui-sans-serif,system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);vertical-align:top}.brand small{font-size:10px;color:var(--muted);display:block}.header-momentum{margin:auto;display:flex;gap:12px;font-size:18px;opacity:.55}.account-chip{min-height:42px;display:flex;align-items:center;background:var(--accent-soft);border-radius:999px;padding:0 14px;font-size:12px;font-weight:900;color:var(--accent)}.side-nav{position:fixed;z-index:30;top:94px;bottom:0;left:0;width:188px;background:rgba(255,255,255,.96);border-right:1px solid var(--line);padding:15px 10px;display:flex;flex-direction:column;gap:5px}.side-nav>a{display:flex;align-items:center;gap:12px;min-height:52px;padding:0 14px;border-radius:15px;text-decoration:none;color:var(--muted);font-weight:850}.side-nav>a:hover,.side-nav>a[aria-current=page]{background:linear-gradient(90deg,var(--accent-soft),rgba(255,255,255,.2));color:var(--accent)}.nav-icon{width:22px;text-align:center;font-size:18px}.nav-motivation{margin-top:auto;border:1px solid color-mix(in srgb,var(--sun) 35%,var(--line));border-radius:17px;padding:14px;background:linear-gradient(145deg,#fff,var(--coral-soft));display:grid;grid-template-columns:36px 1fr;gap:2px 9px}.nav-motivation-icon{grid-row:1/3;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#fff4c9;font-size:20px}.nav-motivation strong{font-size:13px}.nav-motivation small{font-size:10px;color:var(--muted)}main{margin-left:188px;padding:120px 24px 46px;max-width:1540px}.page{animation:fadeIn .22s ease;min-width:0}.skip{position:absolute;left:-9999px;min-height:44px}.skip:focus{left:12px;top:37px;z-index:99;background:#fff;padding:10px 14px;border-radius:10px}.hello,.breadcrumb{font-weight:800;color:var(--muted);margin:0 0 5px}.eyebrow{font-size:11px;font-weight:950;letter-spacing:.11em;color:var(--accent);margin:0;text-transform:uppercase}.eyebrow.light{color:#c9fff1}.lead{font-size:17px;color:var(--muted);max-width:720px}.btn,button{border:0;border-radius:13px;min-height:46px;padding:0 17px;font:inherit;font-weight:900;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,filter .15s ease}.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.btn:hover,button:hover{transform:translateY(-1px)}.btn.primary,.primary{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:white;box-shadow:0 8px 18px color-mix(in srgb,var(--accent) 22%,transparent)}.btn.coral,.coral{background:linear-gradient(135deg,#ff7a3d,var(--coral));color:white;box-shadow:0 8px 18px rgba(255,111,60,.25)}.btn.sunshine{background:linear-gradient(135deg,#ffd24f,#ff991f);color:#49310d}.btn.white,.white{background:#fff;color:var(--ink);border:1px solid var(--line)}.btn.compact{min-height:44px;padding:0 12px;font-size:12px}.btn.full,.full{width:100%}button:disabled{cursor:not-allowed;opacity:.58;transform:none;box-shadow:none}.section-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.section-title>a{color:var(--accent);font-size:12px;font-weight:800;text-decoration:none}.section-title>span{font-size:11px;color:var(--muted);font-weight:800}.action-row{display:flex;gap:10px;flex-wrap:wrap}.mt15{margin-top:15px}.muted{color:var(--muted)}
.home-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px}.home-main{min-width:0}.welcome-hero{position:relative;min-height:260px;display:grid;grid-template-columns:minmax(0,1fr) 355px;gap:12px;align-items:center;padding:14px 10px 12px 18px}.welcome-hero h1{font-size:clamp(38px,4vw,66px);line-height:1.02;letter-spacing:-.045em;margin:7px 0 12px;max-width:820px}.welcome-hero h1 em{font-style:normal;color:var(--coral)}.student-illustration{position:relative;min-height:220px;display:grid;place-items:center;overflow:hidden;border-radius:28px;background:radial-gradient(circle at 50% 25%,#fff6c6,transparent 23%),linear-gradient(160deg,var(--accent-soft),#fff8e9 62%,#ffe3d3);border:1px solid color-mix(in srgb,var(--accent) 18%,var(--line))}.student-illustration.hero{min-height:245px}.student-illustration.mini{min-height:150px;width:260px}.student-illustration.speaking{min-height:160px;width:280px}.student-illustration.journey{min-height:205px;width:390px}.student-illustration.profile{height:210px;width:310px}.student-face{font-size:72px;filter:drop-shadow(0 10px 15px rgba(0,0,0,.11));z-index:2}.student-body{margin-top:-55px;background:linear-gradient(145deg,var(--accent),var(--accent-2));color:#fff;border-radius:44px 44px 18px 18px;width:120px;height:100px;padding-top:42px;text-align:center;font-weight:950;font-size:18px;z-index:1}.desk{position:absolute;bottom:14px;display:flex;gap:18px;align-items:flex-end;font-size:30px;background:rgba(255,255,255,.58);padding:6px 18px;border-radius:18px}.speech-bubble{position:absolute;right:12px;top:20px;background:#fff;border:1px solid var(--line);border-radius:18px 18px 18px 4px;padding:10px 12px;font-weight:900;color:var(--accent);box-shadow:var(--shadow-soft)}.confetti{position:absolute;inset:12px 16px auto;display:flex;justify-content:space-between;color:var(--coral);font-size:21px}.confetti b{color:var(--sun)}.quick-stats{display:flex;gap:7px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:10px 12px;width:max-content;max-width:100%;box-shadow:var(--shadow-soft)}.quick-stats>div{min-width:100px;display:grid;grid-template-columns:30px auto;grid-template-rows:auto auto;column-gap:7px}.quick-stats .stat-icon{grid-row:1/3;font-size:22px}.quick-stats b{font-size:17px}.quick-stats small{font-size:10px;color:var(--muted)}.mission-card{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:15px;background:linear-gradient(135deg,#075b4d,var(--accent) 55%,#099d77);color:#fff;border-radius:25px;padding:24px;margin-top:2px;box-shadow:0 18px 38px rgba(3,75,61,.18);overflow:hidden;position:relative}.mission-card:after{content:"";position:absolute;width:280px;height:280px;border-radius:50%;border:35px solid rgba(255,255,255,.04);right:-90px;top:-100px}.mission-copy{z-index:1}.mission-copy h2{font-size:28px;margin:8px 0}.mission-copy p{max-width:700px}.tag-row{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.tag-row span{background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:7px 10px;font-size:12px;font-weight:800}.mission-target{z-index:1;text-align:center;align-self:center}.target-art{font-size:76px;color:#ffe06c;filter:drop-shadow(0 0 14px rgba(255,224,108,.32))}.mission-target small{display:block;color:#d2fff2}.mission-target strong{display:block;color:#ffd449;font-size:18px}.learning-loop{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:14px}.loop-card{position:relative;min-height:210px;border-radius:20px;padding:16px;border:1px solid var(--line);overflow:hidden}.loop-card.green{background:linear-gradient(155deg,#effaf0,#fbfff8)}.loop-card.blue{background:linear-gradient(155deg,#ebf8ff,#fbfdff)}.loop-card.orange{background:linear-gradient(155deg,#fff5e7,#fffdf8)}.loop-card.purple{background:linear-gradient(155deg,#f4efff,#fff)}.loop-number{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--accent);color:#fff;font-weight:950}.loop-card.blue .loop-number{background:var(--blue)}.loop-card.orange .loop-number{background:#f4a125}.loop-card.purple .loop-number{background:var(--purple)}.loop-art{position:absolute;right:13px;bottom:39px;font-size:58px;opacity:.95}.loop-card h3{margin:10px 0 4px}.loop-card p{font-size:13px;max-width:145px}.loop-card a{position:absolute;left:16px;bottom:14px;text-decoration:none;color:var(--accent);font-size:12px;font-weight:900}.home-aside{display:grid;gap:12px;align-content:start}.aside-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:17px;box-shadow:var(--shadow-soft)}.aside-card h3{margin:8px 0 4px}.goal-icon{font-size:30px;margin-top:12px}.progress-track,.mini-bar{height:8px;background:#edf1ef;border-radius:99px;overflow:hidden}.progress-track i,.mini-bar i{display:block;width:var(--p);height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-2));border-radius:inherit}.week-row{display:flex;justify-content:space-between;margin-top:14px}.day{display:grid;justify-items:center;gap:5px}.day span{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:#f5f5f3;color:#a8aaa6;font-weight:900}.day.done span{background:var(--accent);color:white}.day small{font-size:10px}.cheer{font-size:12px;color:var(--muted)}.social-preview{background:linear-gradient(150deg,#fff,#f5fbf7)}.mini-people span{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--accent-soft);border:2px solid #fff;margin-right:-7px}.skill-mini{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-top:12px}.skill-mini>div{display:grid;justify-items:center;padding:8px 3px;border-radius:12px;background:#fafbf9}.skill-mini small{font-size:9px}.skill-mini b{font-size:12px}
.page-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;background:linear-gradient(135deg,#fff,var(--accent-soft));border:1px solid var(--line);border-radius:24px;padding:22px 25px;margin-bottom:16px}.page-heading h1{font-size:40px;margin:6px 0}.heading-art{font-size:64px}.skill-grid,.progress-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.skill-card,.progress-skill{border-radius:22px;padding:20px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-soft)}.skill-card.s0,.progress-skill.p0{background:linear-gradient(160deg,#f4fff8,#fff)}.skill-card.s1,.progress-skill.p1{background:linear-gradient(160deg,#edf9ff,#fff)}.skill-card.s2,.progress-skill.p2{background:linear-gradient(160deg,#fff7ea,#fff)}.skill-card.s3,.progress-skill.p3{background:linear-gradient(160deg,#f7f0ff,#fff)}.skill-art,.progress-skill-icon{font-size:45px}.practice-focus{max-width:990px;margin:auto}.focus-top{display:flex;justify-content:space-between;align-items:center}.focus-top h1{margin:5px 0 10px}.focus-score{display:flex;gap:8px;align-items:center}.focus-score span,.focus-score b{background:#fff;border:1px solid var(--line);padding:8px 12px;border-radius:999px}.strategy-card{display:flex;gap:15px;background:linear-gradient(135deg,var(--accent-soft),#fff);border:1px solid color-mix(in srgb,var(--accent) 30%,var(--line));border-radius:18px;padding:16px;margin:10px 0}.strategy-icon{font-size:40px}.strategy-card h3{margin:4px 0}.question-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:22px;box-shadow:var(--shadow-soft);margin:12px 0}.question-meta{display:flex;gap:7px}.question-meta span{background:var(--accent-soft);color:var(--accent);font-size:11px;font-weight:850;padding:5px 8px;border-radius:999px}.stimulus{background:#f7faf8;border-radius:14px;padding:14px;margin:10px 0}.choice-grid{display:grid;gap:9px}.choice-grid label{cursor:pointer}.choice-grid input{position:absolute;opacity:0}.choice-grid span{display:flex;align-items:center;min-height:50px;border:1px solid var(--line);border-radius:14px;padding:10px 13px;background:#fff}.choice-grid input:checked+span{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 10%,transparent)}.instant-feedback,.coach-result{margin-top:13px;border-radius:15px;padding:14px}.instant-feedback.good{background:#eaf9f0;border:1px solid #bfe6cf}.instant-feedback.needs-work{background:#fff3e9;border:1px solid #ffd6bd}.sticky-actions{position:sticky;bottom:10px;background:rgba(255,255,255,.96);border:1px solid var(--line);border-radius:17px;padding:12px;display:flex;justify-content:space-between;gap:10px;align-items:center;box-shadow:var(--shadow)}.celebration{max-width:780px;margin:40px auto;background:linear-gradient(155deg,#fff,#f0fff7);border:1px solid var(--line);border-radius:28px;padding:36px;text-align:center;box-shadow:var(--shadow)}.celebration-art{font-size:82px}.celebration h1{font-size:40px}
.speaking-layout{display:grid;grid-template-columns:minmax(0,1fr) 335px;gap:15px}.speaking-main{min-width:0}.speaking-hero{min-height:172px;display:grid;grid-template-columns:1fr 280px;align-items:center}.speaking-hero h1{font-size:42px;margin:6px 0}.speaking-stats{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-soft);margin-bottom:12px}.speaking-stats>div{padding:13px 15px;border-right:1px solid var(--line);display:grid;grid-template-columns:auto 1fr;column-gap:7px}.speaking-stats>div:last-child{border:0}.speaking-stats small{grid-column:1/3;color:var(--muted)}.speaking-stats b{font-size:19px}.speaking-stats i{grid-column:1/3;height:6px;background:linear-gradient(90deg,var(--accent) 60%,#edf0ee 60%);border-radius:8px}.speaking-prompt{background:#fff;border:1px solid var(--line);border-radius:22px;padding:18px;box-shadow:var(--shadow-soft)}.prompt-head{display:grid;grid-template-columns:52px 1fr auto;gap:12px;align-items:center;padding-bottom:12px}.prompt-icon{display:grid;place-items:center;width:52px;height:52px;background:var(--accent);border-radius:50%;font-size:24px}.target-emoji{font-size:65px}.response-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.record-panel,.transcript-panel{border:1px solid var(--line);border-radius:17px;padding:14px;background:#fff}.panel-title{display:flex;justify-content:space-between;font-size:12px}.wave-zone{text-align:center}.wave-bars{height:62px;display:flex;align-items:center;justify-content:center;gap:5px}.wave-bars i{display:block;width:4px;border-radius:5px;background:linear-gradient(var(--accent),var(--blue));height:22px}.wave-bars i:nth-child(2n){height:41px}.wave-bars i:nth-child(3n){height:31px}.record-button{width:62px;height:62px;border-radius:50%;background:linear-gradient(145deg,var(--coral),#ff9e47);color:#fff;font-size:25px}.record-time{font-weight:850;margin:7px}.tip-box{margin-top:10px;background:#fff8dc;border:1px solid #ffe6a2;border-radius:12px;padding:10px;font-size:12px}.student-safe{text-align:center;padding:15px;background:var(--accent-soft);border-radius:14px}.student-safe span{font-size:35px}.transcript-panel textarea,.writing-editor textarea{width:100%;min-height:175px;border:1px solid #bfd2ca;border-radius:14px;padding:12px;font:inherit;resize:vertical;background:#fff}.transcript-actions{display:flex;justify-content:space-between;align-items:center;margin-top:10px}.coach-aside{display:grid;gap:10px;align-content:start}.coach-card{background:#fff;border:1px solid var(--line);border-radius:19px;padding:14px;box-shadow:var(--shadow-soft)}.coach-intro{display:flex;gap:10px;align-items:center;background:linear-gradient(135deg,#fff,var(--accent-soft))}.coach-avatar{font-size:45px}.coach-row{display:flex;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.coach-row:last-child{border:0}.coach-row>span{width:30px;height:30px;display:grid;place-items:center;background:#f5f5f3;border-radius:10px}.coach-row.done>span{background:#def6e8;color:#087754}.coach-row small{display:block;color:var(--muted)}.upgrade-card{background:linear-gradient(145deg,#fff,#fff9e8)}.coach-score-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:10px 0}.coach-score-grid span{background:#fff;border:1px solid var(--line);padding:8px;border-radius:10px;font-size:12px}.smart-loop{display:flex;gap:10px;align-items:center;justify-content:center;background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px;margin-top:10px}.smart-loop i{font-style:normal;color:var(--muted)}.writing-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:12px}.writing-editor{background:#fff;border:1px solid var(--line);border-radius:20px;padding:16px}
.exam-library{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.exam-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:15px;position:relative}.exam-number{position:absolute;right:12px;top:12px;color:var(--line);font-size:28px;font-weight:950}.exam-card h2{font-size:17px}.exam-header{display:flex;justify-content:space-between;align-items:center}.exam-meta{display:flex;gap:7px}.exam-meta span{background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 10px;font-size:12px}.exam-q{box-shadow:none}.audio{width:100%;margin:8px 0}.progress-grid{margin-bottom:13px}.progress-skill strong{display:block;margin:10px 0}.trend-panel{display:grid;grid-template-columns:260px 1fr;gap:15px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px}.history-list article{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:9px}.history-list small{display:block;color:var(--muted)}
.journey-hero{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:15px;align-items:center}.journey-hero h1{font-size:48px;margin:7px 0;color:var(--ink)}.journey-tabs{display:flex;gap:9px;margin-top:15px}.journey-tabs button{background:#fff;border:1px solid var(--line);min-width:150px}.journey-tabs button.active{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:white}.journey-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:15px}.roadmap-panel,.plan-panel,.private-social-strip{background:#fff;border:1px solid var(--line);border-radius:21px;padding:17px;margin-top:12px}.roadmap-line{display:grid;grid-template-columns:repeat(7,1fr);gap:7px;margin-top:18px}.milestone{min-height:155px;border:1px solid var(--line);border-radius:15px;padding:10px;position:relative;background:#fff}.milestone.done{background:#f0faef}.milestone.active{border:2px solid #ff9e54;background:#fff8f0}.milestone.locked{opacity:.64}.milestone-dot{display:grid;place-items:center;width:29px;height:29px;background:#edf0ee;border-radius:50%;font-size:12px;font-weight:900}.milestone.done .milestone-dot{background:#56ad5b;color:white}.milestone.active .milestone-dot{background:var(--coral);color:white}.milestone-art{font-size:32px;margin:12px 0}.milestone h3{font-size:13px}.milestone small{font-size:10px}.plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.plan-grid article{min-height:185px;border:1px solid var(--line);border-radius:15px;padding:13px;position:relative}.plan-grid p{font-size:12px}.plan-badge{display:inline-block;background:#e7f5dc;border-radius:999px;padding:5px 8px;font-size:10px}.plan-art{position:absolute;right:14px;bottom:10px;font-size:34px}.private-social-strip{display:grid;grid-template-columns:1fr 1fr;gap:8px;background:linear-gradient(90deg,#fff8ef,#fff)}.private-social-strip article{padding:5px 9px}.private-social-strip span{background:#fff1dd;padding:4px 7px;border-radius:999px;font-size:9px}.journey-aside{display:grid;gap:10px;align-content:start}.why-card{background:linear-gradient(150deg,#fff,#fff8e9)}.why-icon{font-size:44px;float:right}.why-card ul{padding-left:18px}.why-card li{margin:8px 0}.readiness-chip{display:block;background:var(--accent-soft);padding:8px 10px;border-radius:11px;margin:7px 0}.next-step-card{background:linear-gradient(145deg,#087f65,#0d9b74 55%,#0b6f61);color:white;border-radius:22px;padding:20px;box-shadow:var(--shadow)}
.profile-hero{display:grid;grid-template-columns:310px minmax(220px,.7fr) minmax(390px,1.2fr);gap:14px;align-items:center}.profile-greeting h1{font-size:40px;margin:4px 0}.passport-meta{display:flex;gap:6px;flex-wrap:wrap}.passport-meta span{background:#fff;border:1px solid var(--line);border-radius:999px;padding:6px 8px;font-size:10px}.avatar-studio,.theme-studio,.program-panel,.portfolio-panel,.privacy-card,.social-preview-card,.age-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:16px;box-shadow:var(--shadow-soft)}.avatar-choice-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:7px;margin-top:10px}.avatar-choice-grid button{background:#fafbf9;border:1px solid var(--line);padding:7px;min-height:75px;display:grid;place-items:center}.avatar-choice-grid button[aria-pressed=true]{border:2px solid var(--accent);background:var(--accent-soft)}.avatar-choice-grid span{font-size:29px}.avatar-choice-grid small{font-size:8px}.profile-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:13px 0}.profile-metrics article{background:#fff;border:1px solid var(--line);border-radius:16px;padding:13px}.profile-metrics article>span{font-size:24px}.profile-metrics small{display:block;font-size:9px;color:var(--muted);font-weight:900}.profile-metrics h3{margin:5px 0}.profile-metrics a{color:var(--accent);text-decoration:none;font-size:11px;font-weight:900}.profile-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:12px}.profile-layout>div{display:grid;gap:12px}.profile-aside{display:grid;gap:12px;align-content:start}.portfolio-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.portfolio-grid article{min-height:115px;border-radius:14px;padding:12px}.pf-green{background:#e9f7ed}.pf-orange{background:#fff1e2}.pf-purple{background:#f2ecff}.pf-blue{background:#eaf4ff}.portfolio-grid span{font-size:27px}.portfolio-grid b{display:block}.portfolio-grid p{font-size:11px}.program-list article{display:grid;grid-template-columns:28px 1fr 36px;gap:8px;align-items:center;border-bottom:1px solid var(--line);padding:8px 0}.program-list small{display:block;color:var(--muted)}.program-list button{min-height:36px;padding:0}.program-add{display:grid;grid-template-columns:1fr 1fr .7fr auto;gap:7px;margin-top:10px}.program-add input,.custom-tone input[type=color]{min-height:44px;border:1px solid #bfd0ca;border-radius:10px;padding:7px;font:inherit}.theme-preset-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:10px 0}.theme-preset{background:#fafbf9;border:1px solid var(--line);display:flex;align-items:center;gap:9px;text-align:left}.theme-preset[aria-pressed=true]{border:2px solid var(--accent);background:var(--accent-soft)}.theme-preset i{width:27px;height:27px;border-radius:50%;box-shadow:inset 0 0 0 4px #fff}.custom-tone{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.custom-tone input[type=color]{width:62px;padding:3px}.privacy-option{display:flex;gap:9px;padding:11px;border-radius:13px;background:#fafbf9;margin:7px 0}.privacy-option.active{background:var(--accent-soft)}.privacy-option small{display:block;color:var(--muted)}.social-preview-card ul{padding-left:20px}.age-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.age-grid button{background:#fff;border:1px solid var(--line);padding:7px}.age-grid button[aria-pressed=true]{background:var(--accent);color:white}
.empty-state{text-align:center;max-width:600px;margin:50px auto;background:#fff;border:1px solid var(--line);border-radius:24px;padding:30px}.empty-state>span{font-size:60px}textarea:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible,button:focus-visible,audio:focus-visible{outline:3px solid #ffb642;outline-offset:3px}@keyframes fadeIn{from{opacity:.55;transform:translateY(4px)}}
@media(max-width:1180px){.home-layout,.speaking-layout,.journey-layout,.profile-layout{grid-template-columns:1fr}.home-aside,.coach-aside,.journey-aside,.profile-aside{grid-template-columns:repeat(2,1fr)}.profile-hero{grid-template-columns:280px 1fr}.profile-hero .avatar-studio{grid-column:1/3}.welcome-hero{grid-template-columns:1fr 310px}.roadmap-line{overflow-x:auto;grid-template-columns:repeat(7,140px)}.profile-metrics{grid-template-columns:repeat(2,1fr)}}
@media(max-width:850px){.top-strip{font-size:10px;padding:0 8px;text-align:center;white-space:nowrap;overflow:hidden}.app-header{height:54px;padding:0 11px}.brand strong{font-size:18px}.brand small,.header-momentum{display:none}.brand-mark{width:36px;height:36px}.side-nav{top:auto;left:0;right:0;bottom:0;width:auto;height:calc(68px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;padding:4px max(2px,env(safe-area-inset-right)) calc(4px + env(safe-area-inset-bottom)) max(2px,env(safe-area-inset-left));z-index:60}.side-nav>a{display:grid;grid-template-rows:23px auto;align-content:center;justify-items:center;gap:1px;min-width:0;min-height:60px;padding:3px 1px;font-size:17px;line-height:1}.side-nav>a span:last-child{display:block;width:100%;overflow:hidden;text-align:center;text-overflow:clip;white-space:nowrap;font-size:10px;line-height:1.2}.nav-icon{width:auto}.nav-motivation{display:none}main{margin:0;padding:100px 12px calc(84px + env(safe-area-inset-bottom))}.welcome-hero,.speaking-hero,.journey-hero,.profile-hero{grid-template-columns:1fr}.student-illustration.hero,.student-illustration.speaking,.student-illustration.journey,.student-illustration.profile{width:100%;min-height:190px;height:auto}.welcome-hero h1,.journey-hero h1{font-size:38px}.quick-stats{width:100%;display:grid;grid-template-columns:1fr 1fr}.quick-stats>div{min-width:0}.mission-card{grid-template-columns:1fr}.mission-target{display:none}.learning-loop,.skill-grid,.progress-grid,.portfolio-grid{grid-template-columns:1fr 1fr}.home-aside,.coach-aside,.journey-aside,.profile-aside{grid-template-columns:1fr}.speaking-stats{grid-template-columns:1fr 1fr}.response-grid,.writing-layout,.trend-panel{grid-template-columns:1fr}.profile-hero .avatar-studio{grid-column:auto}.profile-metrics{grid-template-columns:1fr 1fr}.plan-grid{grid-template-columns:1fr}.private-social-strip{grid-template-columns:1fr}.journey-tabs{display:grid;grid-template-columns:1fr}.journey-tabs button{width:100%}.avatar-choice-grid{grid-template-columns:repeat(3,1fr)}.theme-preset-grid{grid-template-columns:1fr 1fr}.program-add{grid-template-columns:1fr}.exam-library{grid-template-columns:1fr 1fr}.sticky-actions{bottom:calc(72px + env(safe-area-inset-bottom));align-items:stretch;flex-direction:column}.sticky-actions .btn{width:100%}.action-row .btn{flex:1}.coach-score-grid{grid-template-columns:1fr}.smart-loop{flex-wrap:wrap}}
@media(max-width:460px){.learning-loop,.profile-metrics,.portfolio-grid,.skill-grid,.progress-grid,.exam-library,.theme-preset-grid{grid-template-columns:1fr}.speaking-stats{grid-template-columns:1fr}.student-illustration{min-height:170px}.welcome-hero{padding:4px}.welcome-hero h1{font-size:34px}.mission-card{padding:18px}.side-nav>a{font-size:16px}.side-nav>a span:last-child{font-size:10px;letter-spacing:-.02em}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.progress-meter{width:100%;height:9px;border:0;border-radius:99px;overflow:hidden;background:#edf1ef;appearance:none}.progress-meter::-webkit-progress-bar{background:#edf1ef;border-radius:99px}.progress-meter::-webkit-progress-value{background:linear-gradient(90deg,var(--accent),var(--accent-2));border-radius:99px}.progress-meter::-moz-progress-bar{background:linear-gradient(90deg,var(--accent),var(--accent-2));border-radius:99px}.compact-meter{height:6px;margin-top:6px}.theme-swatch{width:27px;height:27px;border-radius:50%;box-shadow:inset 0 0 0 4px #fff;border:1px solid var(--line)}.swatch-emerald{background:#087f65}.swatch-ocean{background:#2478b8}.swatch-violet{background:#7657c8}.swatch-coral{background:#d96042}.swatch-sunshine{background:#d99812}.swatch-berry{background:#a94778}
.teacher-preview{background:linear-gradient(145deg,#fff,#f5fbff);border:1px solid var(--line);border-radius:20px;padding:16px;box-shadow:var(--shadow-soft)}.teacher-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0}.teacher-grid article{border:1px solid var(--line);border-radius:13px;padding:11px;background:#fff}.teacher-grid span{font-size:25px}.teacher-grid b{display:block;margin:4px 0}.teacher-grid p{font-size:12px;margin:0}@media(max-width:850px){.teacher-grid{grid-template-columns:1fr}}

/* === R7A Activation & Retention: W80/W81/W82/W83/W95/W96 === */
.activation-card{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(260px,.65fr);gap:20px;align-items:center;padding:26px;border-radius:24px;background:linear-gradient(135deg,var(--deep),var(--accent));color:#fff;box-shadow:var(--shadow);overflow:hidden}.activation-card h2{font-size:clamp(26px,3vw,40px);margin:6px 0}.activation-card p{max-width:700px;color:#eefaf5}.activation-card small{display:block;margin-top:10px;color:#e9fff5}.quick-goals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:18px 0}.quick-goals button{background:#ffffff18;color:#fff;border:1px solid #ffffff45}.quick-goals button[aria-pressed=true]{background:#fff;color:var(--deep);box-shadow:0 0 0 3px #ffd16666}.activation-start{min-height:56px;font-size:17px}.mission-type{display:inline-flex;align-items:center;gap:8px;padding:7px 11px;border-radius:999px;background:#ffffff1a;border:1px solid #ffffff2f;margin-bottom:10px}.mission-variety-row{display:flex;gap:8px;overflow:auto;padding:11px 4px 6px;scrollbar-width:thin}.mission-variety-row span{white-space:nowrap;background:var(--card);border:1px solid var(--line);border-radius:999px;padding:8px 11px;font-size:12px;font-weight:850;color:var(--muted)}
.r7-reminder{border-left:4px solid var(--accent)}.r7-reminder.due{background:linear-gradient(145deg,#fff8e8,#fff)}.r7-reminder.comeback{background:linear-gradient(145deg,#eefaf2,#fff)}.r7-reminder.off{opacity:.82}.r7-settings-card{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:20px;margin-top:16px;box-shadow:var(--shadow-soft)}.reminder-days{display:grid;grid-template-columns:repeat(7,1fr);gap:7px;margin:14px 0}.reminder-days button,.segmented button,.pack-grid button{background:var(--soft);border:1px solid var(--line);color:var(--ink);min-height:44px}.reminder-days button[aria-pressed=true],.segmented button[aria-pressed=true],.pack-grid button[aria-pressed=true]{background:var(--accent);color:white;border-color:var(--accent)}.reminder-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.reminder-fields label,.companion-controls label{display:grid;gap:6px;font-weight:800}.reminder-fields select,.companion-controls select{min-height:46px;border:1px solid var(--line);border-radius:12px;padding:0 11px;background:var(--surface);color:var(--ink);font:inherit}
.companion-scene{position:relative;min-height:250px;border-radius:26px;overflow:hidden;display:grid;place-items:center;background:linear-gradient(145deg,var(--soft),#fff);isolation:isolate}.companion-scene.mini{min-height:150px}.companion-scene.profile{min-height:220px}.companion-scene.celebration{min-height:190px;margin-bottom:10px}.companion-scene.activation{min-height:280px;background:linear-gradient(150deg,#ffffff16,#ffffff05)}.companion-sparkles{position:absolute;inset:16px 18px auto auto;color:var(--warm);font-size:22px;letter-spacing:7px}.companion-character{--skin:#f0c1a1;--hair:#473228;--shirt:var(--accent);position:relative;width:142px;height:180px;margin-top:5px}.character-kai{--skin:#d8a77e;--hair:#1f2937;--shirt:#2c73a5}.character-mina{--skin:#e6b58e;--hair:#713f2f;--shirt:#7955b4}.character-leo{--skin:#ba825d;--hair:#342b2b;--shirt:#c95e39}.companion-head{position:absolute;width:88px;height:88px;border-radius:45% 45% 48% 48%;background:var(--skin);left:27px;top:30px;z-index:3;box-shadow:inset 0 -4px 0 #0000000a}.companion-hair{position:absolute;width:102px;height:90px;border-radius:55% 55% 30% 30%;background:var(--hair);left:20px;top:18px;z-index:2}.companion-hair:after{content:"";position:absolute;width:26px;height:55px;border-radius:50%;background:var(--hair);right:-9px;top:26px;transform:rotate(-14deg)}.companion-head .eye{position:absolute;width:9px;height:12px;border-radius:50%;background:#17201e;top:39px}.companion-head .eye.left{left:24px}.companion-head .eye.right{right:24px}.companion-head .smile{position:absolute;width:26px;height:12px;border:3px solid #9a463c;border-top:0;border-left-color:transparent;border-right-color:transparent;border-radius:0 0 50% 50%;left:31px;top:60px}.companion-body{position:absolute;left:17px;top:104px;width:108px;height:70px;border-radius:42px 42px 18px 18px;background:var(--shirt);color:white;display:grid;place-items:center;font-weight:950;z-index:1}.outfit-jacket .companion-body{background:linear-gradient(90deg,var(--shirt) 48%,#fff 49% 52%,var(--shirt) 53%)}.outfit-sweater .companion-body{background:color-mix(in srgb,var(--shirt) 78%,#fff)}.companion-accessory{position:absolute;right:1px;top:92px;font-size:34px;z-index:4;filter:drop-shadow(0 4px 5px #0002)}.companion-message{position:absolute;left:14px;right:14px;bottom:12px;background:#fffffff2;border:1px solid #ffffff;border-radius:16px;padding:9px 11px;display:flex;gap:8px;align-items:center;box-shadow:0 8px 25px #0a3b2d18;color:#17352f}.activation .companion-message{background:#ffffffed}.companion-message>span{font-size:21px}.companion-message b,.companion-message small{display:block}.companion-message small{font-size:11px;color:#667a73}.companion-badge{position:absolute;left:12px;top:12px;background:#fff;color:var(--deep);border-radius:999px;padding:6px 9px;font-size:11px;font-weight:900;box-shadow:var(--shadow-soft)}.bg-campus:before,.bg-city:before,.bg-library:before,.bg-stars:before{content:"";position:absolute;inset:0;z-index:-1;opacity:.7}.bg-campus:before{background:radial-gradient(circle at 70% 30%,#ffd56b55,transparent 20%),linear-gradient(180deg,#dff4ff,#f7fff4)}.bg-city:before{background:linear-gradient(180deg,#dceeff,#fff1e9)}.bg-library:before{background:linear-gradient(135deg,#fff1c9,#eef8ea)}.bg-stars:before{background:radial-gradient(circle at 20% 20%,#ffd66d55,transparent 20%),radial-gradient(circle at 80% 30%,#7dd3fc55,transparent 18%),linear-gradient(135deg,var(--soft),#fff)}
.companion-editor{display:grid;grid-template-columns:minmax(220px,.75fr) 1.25fr;gap:16px}.companion-controls{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-content:start}.companion-controls label:last-child{grid-column:1/-1}.segmented{display:flex;gap:8px;margin:12px 0}.segmented button{flex:1}.pack-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.contrast-preview{display:flex;align-items:center;gap:10px;margin-top:12px;padding:11px;border-radius:14px;background:var(--soft)}.contrast-sample{display:grid;place-items:center;width:48px;height:48px;border-radius:12px;font-weight:950}.contrast-sample.primary{background:var(--accent);color:#fff}.contrast-sample.surface{background:var(--card);color:var(--ink);border:1px solid var(--line)}.contrast-preview p{margin:0;color:var(--muted);font-size:12px}.theme-accessibility-note{margin-top:12px;padding:9px 11px;background:var(--soft);border-radius:12px;font-size:12px;color:var(--muted)}
.achievement-row{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.achievement-row span{background:var(--soft);border:1px solid var(--line);border-radius:999px;padding:7px 10px;font-weight:850;font-size:12px}.mini-evidence-celebration{margin-top:12px;padding:12px;border-radius:16px;background:linear-gradient(135deg,#effcf4,#fff9e8);border:1px solid #cfe9d9}.mini-evidence-celebration .companion-scene{display:none}.mini-evidence-celebration b,.mini-evidence-celebration small{display:block}.r7-celebration{overflow:hidden}.r7-celebration>.companion-scene{max-width:560px;margin-inline:auto}.r7-celebration:after{content:"✦  ✨  ★  ✦";display:block;color:var(--warm);font-size:20px;letter-spacing:9px;margin-top:8px}
html[data-density=compact] .page{gap:10px}html[data-density=compact] .aside-card,html[data-density=compact] .mission-card,html[data-density=compact] .r7-settings-card{padding:14px}html[data-density=compact] .home-layout{gap:12px}html[data-density=compact] .profile-layout{gap:12px}html[data-density=compact] .journey-layout{gap:12px}
html[data-pack=study] .welcome-hero,html[data-pack=study] .journey-hero{background-image:radial-gradient(circle at 85% 20%,#79c8ff22,transparent 20%)}html[data-pack=career] .welcome-hero,html[data-pack=career] .journey-hero{background-image:radial-gradient(circle at 85% 20%,#ff9d5a22,transparent 20%)}html[data-pack=exam] .welcome-hero,html[data-pack=exam] .journey-hero{background-image:radial-gradient(circle at 85% 20%,#9c7ae422,transparent 20%)}
@media(max-width:900px){.activation-card{grid-template-columns:1fr}.activation-card .companion-scene{min-height:220px}.quick-goals{grid-template-columns:1fr}.companion-editor{grid-template-columns:1fr}.companion-controls{grid-template-columns:1fr}.companion-controls label:last-child{grid-column:auto}.pack-grid{grid-template-columns:1fr 1fr}.reminder-fields{grid-template-columns:1fr}.mission-variety-row{margin-inline:-2px}.r7-settings-card{padding:16px}}
@media(max-width:420px){.reminder-days{grid-template-columns:repeat(4,1fr)}.pack-grid{grid-template-columns:1fr}.segmented{flex-direction:column}.companion-scene.hero{min-height:220px}}
@media(prefers-reduced-motion:reduce){.companion-scene,.companion-character,.companion-sparkles,.r7-celebration:after{animation:none!important;transition:none!important}}
/* R7A touch-target hardening */
.loop-card>a,.section-title>a{display:inline-flex;align-items:center;min-height:44px;padding:8px 4px}.section-title>a{padding-inline:8px;margin-inline:-8px}.loop-card>a{width:max-content;max-width:100%}
@media(max-width:900px){.loop-card>a,.section-title>a{min-height:44px}.loop-card>a{padding:10px 6px}.section-title>a{padding:10px 8px}}
/* === R7B Speaking Conversation V2 === */
.r7-speaking-page{max-width:1400px}.r7-speaking-head{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px;align-items:center;margin-bottom:14px}.r7-speaking-head h1{font-size:clamp(34px,4vw,58px)}.r7-speaking-head .companion-scene{min-height:220px}.r7-speaking-stages{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin:10px 0 16px}.r7-speaking-stages span{min-height:46px;display:flex;align-items:center;justify-content:center;text-align:center;border:1px solid var(--line);border-radius:12px;background:var(--card);font-size:11px;font-weight:850;color:var(--muted)}.r7-speaking-stages span.done{background:var(--soft);color:var(--accent)}.r7-speaking-stages span.active{background:var(--accent);color:white;border-color:var(--accent)}.r7-speaking-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:16px}.conversation-turn,.priority-fix-surface,.transfer-surface{background:var(--card);border:1px solid var(--line);border-radius:24px;padding:22px;box-shadow:var(--shadow-soft)}.conversation-turn h2,.priority-fix-surface h2,.transfer-surface h2{font-size:clamp(25px,3vw,40px);line-height:1.15}.speaking-scaffolds{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.speaking-scaffolds button{background:var(--soft);border:1px solid var(--line);color:var(--ink);min-height:44px}.speaking-scaffolds button[aria-pressed=true]{background:var(--accent);color:#fff}.vi-support,.hint-support,.focus-fix{padding:11px 13px;border-radius:14px;background:#fff7d8;border:1px solid #f1d985;margin:10px 0}.conversation-response{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:16px;margin-top:12px}.response-top{display:flex;justify-content:space-between;gap:8px;color:var(--muted);font-size:12px}.conversation-response textarea{width:100%;min-height:180px;border:1px solid var(--line);border-radius:14px;padding:13px;font:inherit;margin:8px 0;background:var(--card);color:var(--ink)}.transcript-actions{display:flex;justify-content:space-between;align-items:center;gap:10px}.local-record-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:10px 0}.local-record-row #local-audio{width:100%}.compact-safe{min-height:60px;padding:12px;margin:10px 0}.previous-answer{background:var(--soft);padding:11px 13px;border-radius:14px;margin-bottom:14px}.previous-answer p{margin:4px 0}.priority-fix-surface{text-align:left;border:2px solid color-mix(in srgb,var(--warm) 70%,#fff)}.priority-icon{font-size:44px}.upgrade-frame{background:var(--soft);padding:15px;border-radius:16px;margin:16px 0}.priority-fix-surface>small{display:block;margin-top:12px;color:var(--muted)}.transfer-surface{text-align:center;padding:36px 26px}.transfer-art{font-size:60px}.transfer-meta{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin:14px 0}.transfer-meta span{background:var(--soft);border-radius:999px;padding:7px 10px;font-size:12px;font-weight:800}.r7-speaking-aside{display:grid;gap:12px;align-content:start}.acoustic-gate-card{border:1px dashed #a9bdb6}.speaking-warning{margin-top:9px;color:#a33;background:#fff0f0;padding:9px;border-radius:10px}.mini-evidence-celebration{margin-top:12px}.coach-card p{margin-block:7px}
@media(max-width:950px){.r7-speaking-head,.r7-speaking-layout{grid-template-columns:1fr}.r7-speaking-stages{grid-template-columns:repeat(3,1fr)}.r7-speaking-aside{grid-template-columns:1fr 1fr}.acoustic-gate-card{grid-column:1/-1}}
@media(max-width:560px){.r7-speaking-stages{grid-template-columns:1fr 1fr}.r7-speaking-aside{grid-template-columns:1fr}.response-top,.transcript-actions{align-items:stretch;flex-direction:column}.transcript-actions .btn{width:100%}}
/* === R7C Goal Study Plan / Journey Evidence / Study-Career Paths === */
.r7c-journey{max-width:1400px}.r7c-hero{margin-bottom:16px}.r7c-plan-panel,.r7c-evidence-roadmap,.r7c-path-modules,.r7c-career-path{background:var(--card);border:1px solid var(--line);border-radius:24px;padding:22px;box-shadow:var(--shadow-soft);margin-bottom:16px}.r7c-plan-controls{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:10px}.r7c-plan-controls label,.role-select{display:grid;gap:6px;font-weight:800}.r7c-plan-controls input,.r7c-plan-controls select,.role-select select{min-height:46px;border:1px solid var(--line);border-radius:12px;padding:0 11px;background:var(--surface);color:var(--ink);font:inherit}.r7c-plan-days{display:grid;grid-template-columns:repeat(7,1fr);gap:7px;margin:14px 0}.r7c-plan-days button{min-height:44px;background:var(--soft);border:1px solid var(--line);color:var(--ink)}.r7c-plan-days button[aria-pressed=true]{background:var(--accent);color:#fff}.plan-summary{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.plan-summary span{padding:7px 10px;border-radius:999px;background:var(--soft);font-size:12px;font-weight:800}.r7c-roadmap{display:grid;grid-template-columns:repeat(7,minmax(130px,1fr));gap:8px;overflow:auto;padding:6px 0 10px}.r7c-milestone{position:relative;min-height:190px;padding:14px;border:1px solid var(--line);border-radius:18px;background:var(--surface);min-width:140px}.r7c-milestone.done{background:linear-gradient(145deg,#effbf2,#fff);border-color:#a8d9b8}.r7c-milestone.active{border:2px solid var(--warm);background:#fff8eb}.r7c-milestone.locked{opacity:.62}.gate-number{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--accent);color:#fff;font-size:12px;font-weight:950}.active .gate-number{background:var(--warm);color:#553719}.locked .gate-number{background:#aab6b2}.gate-icon{font-size:32px;margin:13px 0}.r7c-milestone h3{font-size:15px;margin:5px 0}.r7c-milestone p,.r7c-milestone small{font-size:11px;color:var(--muted)}.evidence-stats-strip{display:flex;gap:7px;overflow:auto}.evidence-stats-strip span{white-space:nowrap;padding:7px 9px;border-radius:10px;background:var(--soft);font-size:11px;font-weight:800}.module-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.module-grid article{padding:16px;border:1px solid var(--line);border-radius:17px;background:var(--surface)}.module-grid article>span{font-size:30px}.module-grid h3{margin:7px 0}.module-grid .btn{width:100%;margin-top:8px}.role-select{max-width:320px;margin:10px 0 15px}.career-case-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.career-case-grid a{min-height:108px;display:flex;flex-direction:column;gap:5px;padding:14px;border:1px solid var(--line);border-radius:16px;background:var(--surface);text-decoration:none;color:var(--ink)}.career-case-grid a:hover{border-color:var(--accent);background:var(--soft)}.career-case-grid span{font-size:26px}.career-case-grid small{color:var(--muted)}.r7c-next{display:flex;align-items:center;justify-content:space-between;gap:16px;border-radius:24px;padding:22px;background:linear-gradient(135deg,var(--deep),var(--accent));color:#fff}.r7c-next h2{margin:4px 0}.r7c-next p{margin:4px 0;color:#eafff6}
@media(max-width:1000px){.r7c-plan-controls{grid-template-columns:1fr 1fr}.module-grid,.career-case-grid{grid-template-columns:1fr 1fr}.r7c-next{align-items:stretch;flex-direction:column}}
@media(max-width:560px){.r7c-plan-controls{grid-template-columns:1fr}.r7c-plan-days{grid-template-columns:repeat(4,1fr)}.module-grid,.career-case-grid{grid-template-columns:1fr}.r7c-next .btn{width:100%}.r7c-plan-panel,.r7c-evidence-roadmap,.r7c-path-modules,.r7c-career-path{padding:16px}}
/* R7D scenario library */
.r7d-scenario-panel{margin-top:16px;background:var(--card);border:1px solid var(--line);border-radius:22px;padding:20px;box-shadow:var(--shadow)}
.r7d-scenario-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}.r7d-scenario-grid a{min-height:116px;padding:14px;border:1px solid var(--line);border-radius:16px;background:var(--soft);color:var(--ink);text-decoration:none;display:flex;flex-direction:column;gap:6px}.r7d-scenario-grid a>span{font-size:24px}.r7d-scenario-grid small{color:var(--muted)}
@media(max-width:900px){.r7d-scenario-grid{grid-template-columns:1fr 1fr}}@media(max-width:520px){.r7d-scenario-grid{grid-template-columns:1fr}.r7d-scenario-grid a{min-height:88px}}

/* R7D Accent Lab */
.r7d-accent-teaser,.accent-source-note,.accent-compare-card,.accent-ethics{border:1px solid var(--line);border-radius:22px;background:var(--card);box-shadow:var(--shadow)}
.r7d-accent-teaser{margin-top:16px;padding:20px 22px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:linear-gradient(135deg,var(--soft),#fff8e8)}
.r7d-accent-teaser h2{margin:5px 0}.accent-heading{align-items:center}.accent-source-note{padding:14px 18px;display:grid;grid-template-columns:auto 1fr;gap:6px 16px;margin-bottom:14px}.accent-source-note small{grid-column:1/-1}.accent-item-tabs{display:flex;gap:8px;margin:12px 0}.accent-item-tabs button{background:var(--card);border:1px solid var(--line)}.accent-item-tabs button[aria-pressed=true]{background:var(--soft);outline:3px solid var(--accent);outline-offset:2px}.accent-compare-card{padding:20px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:20px}.accent-clips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.accent-clips article{border:1px solid var(--line);border-radius:18px;padding:14px;background:linear-gradient(180deg,#fff,var(--soft))}.accent-clips audio{width:100%;margin:12px 0}.accent-badge{display:inline-flex;min-height:32px;align-items:center;padding:0 9px;border-radius:999px;background:var(--accent);color:white;font-size:12px;font-weight:900;margin-bottom:10px}.accent-question{min-width:0}.accent-question .choice-grid{margin:12px 0}.accent-ethics{margin-top:14px;padding:13px 16px;display:flex;gap:8px;flex-wrap:wrap}.accent-ethics span{background:var(--soft);border-radius:999px;padding:7px 10px;font-size:12px;font-weight:800}
@media(max-width:850px){.r7d-accent-teaser{align-items:stretch;flex-direction:column}.accent-source-note{grid-template-columns:1fr}.accent-compare-card{grid-template-columns:1fr}.accent-clips{grid-template-columns:1fr}.accent-item-tabs button{min-height:44px}.accent-ethics{display:grid}.accent-question .btn{width:100%}}
.r7e-social-preview{margin-top:16px;padding:20px;border:1px dashed var(--accent);border-radius:22px;background:linear-gradient(135deg,var(--soft),var(--card))}.r7e-social-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0}.r7e-social-grid article{border:1px solid var(--line);border-radius:17px;padding:15px;background:var(--card)}.r7e-social-grid article>span{font-size:28px}.r7e-social-grid button{width:100%;margin-top:8px}.r7e-social-grid button:disabled{opacity:.65;cursor:not-allowed}@media(max-width:850px){.r7e-social-grid{grid-template-columns:1fr}}

/* mobile action target hardening */
@media(max-width:850px){
  .profile-metrics a{display:inline-flex;align-items:center;min-height:44px;padding:8px 0}
  .portfolio-panel .btn,.r7-settings-card .btn,.reminder-studio .btn{min-height:44px}
}

/* R7F outcome + instrumentation surfaces */
.r7f-weekly-story,.r7f-teacher-assignment,.r7f-pro-research,.r7f-analytics{margin-top:16px;padding:20px;border:1px solid var(--line);border-radius:22px;background:var(--card);box-shadow:var(--shadow)}.r7f-story-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:12px 0}.r7f-story-grid article{padding:14px;border-radius:16px;background:var(--soft);display:grid;gap:5px}.r7f-story-grid article>span{font-size:24px}.r7f-story-notes{display:grid;grid-template-columns:1fr 1fr;gap:10px}.r7f-story-notes p{margin:0;padding:12px;border-radius:14px;background:var(--bg)}.r7f-teacher-assignment label{display:grid;gap:6px}.r7f-teacher-assignment input{width:100%;min-height:46px;border:1px solid var(--line);border-radius:12px;padding:10px;background:var(--bg);font:inherit}.r7f-pro-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.r7f-pro-grid button{display:grid;text-align:left;gap:4px;background:var(--soft);border:1px solid var(--line);min-height:72px}.analytics-facts{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.analytics-facts span{padding:7px 10px;border-radius:999px;background:var(--soft);font-size:12px;font-weight:800}@media(max-width:850px){.r7f-story-grid,.r7f-story-notes,.r7f-pro-grid{grid-template-columns:1fr}.r7f-weekly-story,.r7f-teacher-assignment,.r7f-pro-research,.r7f-analytics{padding:16px}.r7f-teacher-assignment .btn,.r7f-pro-grid button,.r7f-analytics .btn{min-height:44px}}

/* R8 Identity + Cloud Progress */
.r8-account-center{margin:16px 0;padding:20px;border:1px solid var(--line);border-radius:22px;background:var(--surface);box-shadow:var(--shadow-soft)}
.r8-account-center.locked{background:linear-gradient(135deg,var(--soft),var(--surface))}.r8-auth-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:14px}.r8-auth-grid form,.r8-password-form{display:grid;gap:10px;padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--bg)}
.r8-auth-grid label,.r8-password-form label{display:grid;gap:6px;font-size:.88rem;font-weight:700}.r8-auth-grid input,.r8-password-form input{min-height:44px;border:1px solid var(--line);border-radius:12px;padding:10px 12px;font:inherit;background:var(--surface);color:var(--text)}
.r8-confirm{display:flex!important;align-items:center;gap:9px!important;font-weight:600!important}.r8-confirm input{min-height:20px!important;width:20px}.r8-google-row,.r8-account-actions,.r8-account-facts{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:14px}.r8-account-facts span{padding:8px 11px;border-radius:999px;background:var(--soft);font-size:.86rem}.btn.google{background:#fff;color:#1f2937;border:1px solid #d6d9df}.btn.danger{color:#9b2c2c}.r8-password-form{grid-template-columns:1fr 1fr auto;margin-top:16px}.r8-password-form .btn{align-self:end}
@media(max-width:760px){.r8-auth-grid{grid-template-columns:1fr}.r8-password-form{grid-template-columns:1fr}.r8-account-center{padding:16px}.r8-account-actions .btn,.r8-google-row .btn{min-height:44px}.r8-google-row{align-items:flex-start;flex-direction:column}}
.r8-auth-error{margin-top:12px;padding:12px 14px;border:1px solid #efb7a6;border-radius:14px;background:#fff4ef;color:#7a2f19;font-weight:700}

.open-answer{display:grid;gap:.5rem;width:100%;font-weight:700;color:var(--ink,#17324d)}
.open-answer input{width:100%;padding:.9rem 1rem;border:2px solid #cbd8e6;border-radius:14px;background:#fff;color:#17324d;font:inherit}
.open-answer input:focus{outline:3px solid rgba(45,149,150,.18);border-color:#2d9596}
.stimulus{white-space:pre-line}

/* R9 automatic dark appearance. Accent presets remain user-controlled. */
@media(prefers-color-scheme:dark){
  html[data-theme]{color-scheme:dark;--bg:#0b1412;--surface:#111d1a;--surface-2:#172722;--ink:#ecf7f3;--text:#ecf7f3;--muted:#a9beb7;--line:#2d433c;--accent-soft:color-mix(in srgb,var(--accent) 24%,#13201d);--coral-soft:#3d241c;--blue-soft:#152d3a;--purple-soft:#29233d;--shadow:0 12px 36px rgba(0,0,0,.30);--shadow-soft:0 6px 20px rgba(0,0,0,.22)}
  body{background:radial-gradient(circle at 70% 0%,rgba(255,189,56,.06),transparent 26%),var(--bg)}
  .app-header,.side-nav{background:rgba(17,29,26,.97)}
  .top-strip{background:linear-gradient(90deg,#062d27,var(--deep),#062d27)}
  html[data-theme] :is(.quick-stats,.aside-card,.skill-card,.progress-skill,.question-card,.speaking-stats,.speaking-prompt,.record-panel,.transcript-panel,.coach-card,.writing-editor,.exam-card,.trend-panel,.empty-state,.celebration,.roadmap-panel,.plan-panel,.private-social-strip,.milestone,.plan-grid article,.portfolio-grid article,.profile-metrics article,.avatar-studio,.theme-studio,.theme-preset,.avatar-choice-grid button,.privacy-option,.program-panel,.portfolio-panel,.privacy-card,.social-preview-card,.age-card,.teacher-grid article,.smart-loop,.r7-settings-card,.r7-speaking-stages span,.conversation-turn,.priority-fix-surface,.transfer-surface,.r7c-plan-panel,.r7c-evidence-roadmap,.r7c-path-modules,.r7c-career-path,.r7c-milestone,.module-grid article,.career-case-grid a,.r7d-scenario-panel,.r7d-scenario-grid a,.r7d-accent-teaser,.accent-source-note,.accent-compare-card,.accent-ethics,.accent-clips article,.accent-item-tabs button,.r7e-social-preview,.r7e-social-grid article,.r7f-weekly-story,.r7f-teacher-assignment,.r7f-pro-research,.r7f-analytics,.r8-account-center,.r8-auth-grid form,.r8-password-form){background:var(--card)}
  html[data-theme] :is(.page-heading,.strategy-card,.coach-intro,.upgrade-card,.social-preview,.teacher-preview,.r7-reminder.due,.r7-reminder.comeback,.r7d-accent-teaser,.mini-evidence-celebration){background:linear-gradient(145deg,var(--surface-2),var(--card))}
  html[data-theme] :is(.loop-card.green,.loop-card.blue,.loop-card.orange,.loop-card.purple,.skill-card.s0,.skill-card.s1,.skill-card.s2,.skill-card.s3,.progress-skill.p0,.progress-skill.p1,.progress-skill.p2,.progress-skill.p3,.milestone.done,.milestone.active,.r7c-milestone.done,.r7c-milestone.active){background:linear-gradient(155deg,var(--surface-2),var(--card))}
  html[data-theme] :is(.choice-grid span,.stimulus,.focus-score span,.focus-score b,.coach-score-grid span,.exam-meta span,.passport-meta span,.age-grid button,.btn.white,.white,.btn.google,.open-answer input,.transcript-panel textarea,.writing-editor textarea,.conversation-response textarea,.r8-auth-grid input,.r8-password-form input){background:var(--surface);color:var(--ink);border-color:var(--line)}
  html[data-theme] :is(.progress-track,.mini-bar,.day span,.skill-mini>div,.coach-row>span){background:var(--surface-2)}
  html[data-theme] :is(.progress-meter,.plan-badge,.private-social-strip span){background:var(--surface-2);color:var(--ink)}
  html[data-theme] .progress-meter::-webkit-progress-bar{background:var(--surface-2)}
  html[data-theme] :is(.tip-box,.vi-support,.hint-support,.focus-fix){background:#332d18;border-color:#665a27;color:#f7edbd}
  html[data-theme] .nav-motivation{background:linear-gradient(145deg,var(--surface),var(--coral-soft))}
  html[data-theme] .skip:focus{background:var(--surface);color:var(--ink)}
}

/* R9 reflow: the page remains the only scrolling surface on mobile. */
@media(max-width:850px){
  .mission-variety-row,.evidence-stats-strip{overflow:visible;flex-wrap:wrap}
  .roadmap-line,.r7c-roadmap{overflow:visible;grid-template-columns:repeat(2,minmax(0,1fr))}
  .r7c-milestone{min-width:0}
  .exam-header,.exam-meta,.section-title{flex-wrap:wrap}
}
@media(max-width:460px){
  .roadmap-line,.r7c-roadmap{grid-template-columns:1fr}
}
@media(max-width:340px){
  .top-strip{display:none}
  .app-header{top:0}
  main{padding-top:70px;padding-bottom:calc(128px + env(safe-area-inset-bottom))}
  .side-nav{height:calc(112px + env(safe-area-inset-bottom));grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,52px)}
  .side-nav>a{min-height:52px}
  .sticky-actions{bottom:calc(116px + env(safe-area-inset-bottom))}
  .page-heading,.question-card,.conversation-turn,.priority-fix-surface,.transfer-surface{padding:15px}
  .page-heading h1,.welcome-hero h1,.journey-hero h1{font-size:30px}
  .action-row{display:grid;grid-template-columns:1fr}
  .action-row .btn{width:100%}
  .reminder-days,.r7c-plan-days{grid-template-columns:repeat(2,minmax(0,1fr))}
  .avatar-choice-grid,.age-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(forced-colors:active){
  .brand-mark{forced-color-adjust:none;background:Highlight;color:HighlightText}
  .side-nav>a[aria-current=page],button[aria-pressed=true],.choice-grid input:checked+span{outline:2px solid Highlight;outline-offset:2px}
  .btn,button,.side-nav>a,input,textarea,select,audio{border:1px solid ButtonText}
  button:disabled,.btn[aria-disabled=true]{color:GrayText;border-color:GrayText}
  textarea:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible,button:focus-visible,audio:focus-visible{outline:3px solid Highlight;outline-offset:3px}
}

/* R9 Today retention pass: one clear next action, quieter chrome and progressive detail. */
@media(min-width:851px){
  .top-strip{height:26px;font-size:10px}
  .app-header{top:26px;height:58px;padding-inline:18px}
  .header-momentum{display:none}
  .side-nav{top:84px;width:176px;padding:12px 9px;gap:3px}
  .side-nav>a{min-height:46px;padding-inline:12px;border-radius:13px}
  main{margin-left:176px;padding-top:104px}
}

.home-page{max-width:1360px;margin-inline:auto}
.home-page .home-layout{grid-template-columns:minmax(0,1fr) 276px;gap:16px;align-items:start}
.home-page .home-main,.home-page .home-aside,.home-page .welcome-hero>*{min-width:0}
.home-page .welcome-hero{min-height:164px;grid-template-columns:minmax(0,1fr) 232px;gap:18px;padding:4px 0 14px}
.home-page .welcome-hero h1{max-width:720px;margin:4px 0 8px;font-size:clamp(34px,3.2vw,48px);line-height:1.04}
.home-page .welcome-hero .lead{max-width:680px;margin:6px 0 12px;font-size:14px}
.home-page .welcome-hero .companion-scene.hero,
.home-page .welcome-hero .student-illustration.hero{min-height:156px;border-radius:22px}
.home-page .welcome-hero .companion-character{transform:scale(.72);transform-origin:50% 36%}
.home-page .welcome-hero .companion-message{padding:7px 9px}
.home-page .quick-stats{gap:4px;padding:7px 9px;border-radius:14px;box-shadow:none}
.home-page .quick-stats>div{min-width:86px;grid-template-columns:24px auto;column-gap:5px}
.home-page .quick-stats .stat-icon{font-size:18px}
.home-page .quick-stats b{font-size:14px}

.home-page .mission-card,
.home-page .activation-card{position:relative;margin-top:4px;border-radius:24px;padding:26px 28px;box-shadow:0 18px 42px color-mix(in srgb,var(--accent) 24%,transparent)}
.home-page .mission-card{grid-template-columns:minmax(0,1fr) 160px;background:linear-gradient(125deg,var(--deep),var(--accent) 66%,var(--accent-2))}
.home-page .mission-copy h2,
.home-page .activation-card h2{max-width:760px;margin:7px 0;font-size:clamp(27px,2.6vw,38px);line-height:1.12}
.home-page .mission-copy>p:not(.eyebrow){margin-block:8px;max-width:720px}
.home-page .mission-type{margin-bottom:5px}
.home-page .tag-row{margin:13px 0 16px}
.home-page .mission-target .target-art{font-size:60px}
.home-page .mission-card .action-row{align-items:center}
.home-page .mission-card .action-row .btn.coral,
.home-page .activation-start{min-height:54px;min-width:230px;padding-inline:22px;font-size:16px}
/* Today has one primary decision. Mock remains available from the main navigation. */
.home-page .mission-card .action-row .btn.white{display:none}
.home-page .mission-variety-row{display:none}

.home-page .learning-loop{gap:9px;margin-top:12px}
.home-page .loop-card{min-height:164px;padding:14px;border-radius:17px;box-shadow:none}
.home-page .loop-number{width:32px;height:32px;font-size:12px}
.home-page .loop-card h3{margin:8px 0 3px;font-size:16px}
.home-page .loop-card p{margin:4px 0;max-width:130px;font-size:12px;line-height:1.4}
.home-page .loop-art{right:10px;bottom:35px;font-size:42px;opacity:.72}
.home-page .loop-card a{left:14px;bottom:8px;display:inline-flex;align-items:center;min-height:36px}

.home-page .home-aside{gap:9px}
.home-page .home-aside .aside-card{padding:14px;border-radius:17px;box-shadow:none}
.home-page .home-aside .aside-card h3{font-size:16px}
.home-page .home-aside .aside-card p{margin-block:7px;font-size:13px}
.home-page .home-aside .goal-icon{margin-top:7px;font-size:25px}
.home-page .home-aside .week-row{margin-top:9px}
.home-page .home-aside .day span{width:27px;height:27px;font-size:12px}
.home-page .home-aside .social-preview{display:none}
.home-page .home-aside .evidence-card{order:4}

@media(max-width:1180px){
  .home-page .home-layout{grid-template-columns:1fr}
  .home-page .home-aside{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-page .home-aside .evidence-card{grid-column:1/-1}
}

@media(max-width:850px){
  .home-page{width:100%}
  .home-page .home-layout{gap:10px}
  .home-page .welcome-hero{display:block;min-height:0;padding:4px 2px 10px}
  .home-page .welcome-hero h1{font-size:clamp(29px,9vw,38px);letter-spacing:-.035em}
  .home-page .welcome-hero .lead{font-size:14px}
  .home-page .welcome-hero .companion-scene.hero,
  .home-page .welcome-hero .student-illustration.hero{display:none}
  .home-page .quick-stats{width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .home-page .quick-stats>div{min-height:44px;align-content:center}
  .home-page .mission-card,
  .home-page .activation-card{grid-template-columns:1fr;padding:20px 18px;border-radius:21px}
  .home-page .activation-card .companion-scene{display:none}
  .home-page .quick-goals{grid-template-columns:1fr;gap:7px;margin:13px 0}
  .home-page .quick-goals button{min-height:48px;text-align:left}
  .home-page .mission-card .action-row{display:block}
  .home-page .mission-card .action-row .btn.coral,
  .home-page .activation-start{width:100%;min-width:0;min-height:52px}
  .home-page .learning-loop{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-page .loop-card{min-width:0}
  .home-page .home-aside{grid-template-columns:1fr}
  .home-page .home-aside .evidence-card{grid-column:auto}
  .home-page :is(h1,h2,h3,p,small,strong,a,span){overflow-wrap:anywhere}
}

@media(max-width:600px){
  .top-strip{display:none}
  .app-header{top:0}
  main{padding-top:70px}
  .account-chip{max-width:44%;min-height:44px;padding-inline:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}

@media(max-width:390px){
  .home-page .welcome-hero h1{font-size:29px}
  .home-page .quick-stats{grid-template-columns:1fr 1fr}
  .home-page .learning-loop{grid-template-columns:1fr}
  .home-page .loop-card{min-height:146px}
  .home-page .tag-row{display:grid;grid-template-columns:1fr}
  .home-page .tag-row span{display:flex;align-items:center;min-height:38px}
}

@media(max-width:340px){
  .home-page .mission-card,
  .home-page .activation-card{padding:17px 15px}
  .home-page .mission-copy h2,
  .home-page .activation-card h2{font-size:25px}
  .home-page .quick-stats{grid-template-columns:1fr}
}

@media(prefers-color-scheme:dark){
  html[data-theme] .home-page .mission-card{background:linear-gradient(125deg,#063d34,var(--deep) 66%,var(--accent))}
  html[data-theme] .home-page .loop-card{border-color:var(--line)}
}

@media(forced-colors:active){
  .home-page .mission-card,.home-page .activation-card{background:Canvas;color:CanvasText;border:2px solid Highlight;box-shadow:none}
  .home-page .mission-card :is(.eyebrow,.mission-target small,.mission-target strong),
  .home-page .activation-card :is(.eyebrow,p,small){color:CanvasText}
  .home-page .tag-row span,.home-page .mission-type{border:1px solid CanvasText;background:Canvas;color:CanvasText}
}


/* R9_MONETIZATION_UI_STYLES_START */
.r9-commerce-state{display:grid;gap:3px;margin:0 0 14px;padding:14px 17px;border:1px solid var(--line);border-radius:17px;background:var(--surface);box-shadow:var(--shadow-soft)}
.r9-commerce-state b{font-size:15px}.r9-commerce-state span{color:var(--muted);font-size:13px}
.r9-commerce-state.beta_preview{border-color:color-mix(in srgb,var(--blue) 38%,var(--line));background:var(--blue-soft)}
.r9-commerce-state.starter_ready{border-color:color-mix(in srgb,var(--accent) 38%,var(--line));background:var(--accent-soft)}
.r9-commerce-state.sellable{border-color:color-mix(in srgb,var(--purple) 38%,var(--line));background:var(--purple-soft)}
.r9-commerce-state.suspended{border-color:color-mix(in srgb,var(--coral) 45%,var(--line));background:var(--coral-soft)}
.exam-card{position:relative}.r9-access-badge{display:inline-flex;align-items:center;min-height:30px;margin:0 0 8px;padding:4px 9px;border-radius:999px;font-size:11px;font-weight:900}
.r9-access-badge.allowed{background:var(--accent-soft);color:var(--accent)}
.r9-access-badge.locked{background:var(--soft);color:var(--muted)}
.r9-offer-panel{display:grid;gap:9px;margin-top:14px;padding:15px;border:1px solid color-mix(in srgb,var(--purple) 38%,var(--line));border-radius:16px;background:var(--purple-soft)}
.r9-offer-panel h2,.r9-offer-panel p{margin:0}.r9-offer-price{font-size:24px;color:var(--purple)}
.r9-offer-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.r9-offer-choice{display:grid;gap:8px;padding:13px;border:1px solid var(--line);border-radius:14px;background:var(--card)}.r9-offer-choice h3,.r9-offer-choice p{margin:0}.r9-zero-notice{font-size:12px;color:var(--muted)}
.r9-offer-panel .btn{margin-top:3px}.r9-access-summary{display:grid;gap:6px}.r9-access-summary h2,.r9-access-summary p{margin:0}
.r9-referral-page .question-card{max-width:760px}.r9-share-link{display:block;width:100%;min-height:46px;margin:10px 0;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--soft);color:var(--ink)}
.r9-checkout-status .btn{margin:5px}.r9-feature-blocked{max-width:720px;margin-inline:auto}
@media(max-width:620px){.r9-commerce-state{padding:12px}.r9-offer-panel{padding:12px}.r9-offer-choices{grid-template-columns:1fr}.r9-referral-page .page-heading{align-items:flex-start}.r9-offer-panel .btn{width:100%}}
@media(forced-colors:active){.r9-commerce-state,.r9-access-badge,.r9-offer-panel{border:1px solid CanvasText}.r9-access-badge{forced-color-adjust:none}}
.r9-referral-counters{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.r9-referral-counters span{padding:6px 9px;border-radius:999px;background:var(--soft);font-size:12px;font-weight:800}
/* R9_MONETIZATION_UI_STYLES_END */

/* PROJECT_AUTHORED_SPEAKING_VISUALS_V1 */
.speaking-visuals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0 0 18px;padding:14px;border:1px solid var(--line,#d8dee8);border-radius:16px;background:#f8fafc}
.speaking-visuals figure{min-width:0;margin:0;overflow:hidden;border:1px solid #d8dee8;border-radius:12px;background:#fff}
.speaking-visuals img{display:block;width:100%;height:auto;aspect-ratio:20/13;object-fit:contain;background:#eef3fb}
.speaking-visuals figcaption{padding:8px 10px;color:#334155;font-size:13px;font-weight:800;text-align:center}
@media(max-width:700px){.speaking-visuals{grid-template-columns:1fr}}


/* R10_UX_COMPACTION_V1 */
.r10-exam-library{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.r10-exam-card{display:grid;gap:9px;align-content:start;min-height:0;padding:16px 18px}
.r10-exam-card h2{margin:0;padding-right:42px;font-size:18px;line-height:1.3}
.r10-exam-card>small{color:var(--muted);font-weight:800}
.r10-exam-counts{display:flex;gap:7px;flex-wrap:wrap;margin:0}
.r10-exam-counts span{padding:5px 8px;border-radius:999px;background:var(--soft);font-size:12px;font-weight:800;white-space:nowrap}
.r10-exam-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:2px;color:var(--muted);font-size:12px;font-weight:800}
.r10-exam-footer .btn{min-height:42px;padding:8px 13px}
.r10-offer-overlay{position:fixed;inset:0;z-index:120;display:flex;align-items:center;justify-content:center;padding:20px;background:#10253a80;backdrop-filter:blur(4px)}
.r10-offer-dialog{width:min(620px,100%);max-height:min(84vh,760px);overflow:auto;padding:20px;border:1px solid var(--line);border-radius:24px;background:var(--card);box-shadow:0 24px 70px #10253a55}
.r10-offer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}
.r10-offer-head h2,.r10-offer-head p{margin:3px 0}
.r10-offer-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.r10-offer-choice{display:grid;gap:8px;padding:16px;border:1px solid var(--line);border-radius:17px;background:var(--soft)}
.r10-offer-choice h3,.r10-offer-choice p{margin:0}.r10-reference-price{font-size:20px;color:var(--accent)}
.r10-offer-choice .btn{width:100%;margin-top:4px}.r10-referral-active{display:inline-flex;align-items:center;min-height:36px;margin-bottom:12px;padding:7px 10px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-weight:900}
.r10-profile-group{padding:0!important;overflow:hidden}.r10-profile-group>summary,.r8-account-center details>summary,.r10-journey-detail>summary{display:flex;align-items:center;min-height:48px;padding:11px 15px;cursor:pointer;font-weight:900;list-style-position:inside}
.r10-profile-group>summary:hover,.r10-journey-detail>summary:hover{background:var(--soft)}
.r10-profile-group-body{display:grid;gap:12px;padding:0 12px 12px}.r10-profile-group-body>*{box-shadow:none!important}
.r10-journey-detail{margin-bottom:12px;border:1px solid var(--line);border-radius:18px;background:var(--card);box-shadow:var(--shadow-soft);overflow:hidden}
.r10-journey-detail>summary{font-size:14px}.r10-journey-detail>.r7c-plan-panel,.r10-journey-detail>.r7c-evidence-roadmap{margin:0;border:0;border-top:1px solid var(--line);border-radius:0;box-shadow:none}
@media(max-width:850px){.r10-exam-library{grid-template-columns:1fr}.r10-exam-card{padding:14px}.r10-exam-counts{gap:5px}.r10-offer-overlay{align-items:flex-end;padding:0}.r10-offer-dialog{width:100%;max-height:78vh;border-radius:24px 24px 0 0;padding:18px 16px calc(18px + env(safe-area-inset-bottom))}.r10-offer-choices{grid-template-columns:1fr}.r10-exam-footer .btn{min-height:44px}}
@media(max-width:420px){.r10-exam-counts span{font-size:11px}.r10-exam-footer{align-items:stretch;flex-direction:column}.r10-exam-footer .btn{width:100%}}
@media(forced-colors:active){.r10-offer-overlay{background:Canvas}.r10-offer-dialog,.r10-profile-group,.r10-journey-detail,.r10-exam-card{border:1px solid CanvasText}}
.r10-library-more{display:flex;justify-content:center;margin:16px 0 4px}.r10-library-more .btn{min-height:44px;min-width:180px}

/* R10_UX_BROWSER_AUDIT_ROUND2 */
.profile-main-column,.r10-profile-group,.r10-profile-group-body,.r10-profile-group-body>*{min-width:0;max-width:100%}
.r10-profile-group-body>*{width:100%}
.r10-profile-group .companion-editor{grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr)}
.r10-profile-group .companion-controls{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.r10-profile-group .theme-preset-grid,.r10-profile-group .r7f-pro-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.profile-metrics a{display:inline-flex;align-items:center;min-height:44px;padding-block:8px}
.r10-exam-footer .btn{min-height:44px}
.r10-secondary-action{box-shadow:none!important}
@media(max-width:1100px){.r10-profile-group .companion-editor{grid-template-columns:1fr}.r10-profile-group .companion-controls{grid-template-columns:1fr}.r10-profile-group .companion-controls label:last-child{grid-column:auto}}
@media(max-width:620px){.r10-profile-group .theme-preset-grid,.r10-profile-group .r7f-pro-grid{grid-template-columns:1fr}}
.r10-profile-single-column{grid-template-columns:minmax(0,1fr)!important}
.r10-profile-single-column>.profile-main-column{grid-column:1;min-width:0;width:100%}

/* Auditfix 2026-08-29: compact Profile on phones without hiding functional controls. */
@media(max-width:460px){
  .profile-page .passport-visual{display:none}
  .profile-page .profile-hero{gap:8px}
  .profile-page .profile-greeting h1{font-size:30px}
  .profile-page .profile-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .profile-page .profile-metrics article{min-height:0;padding:11px}
  .profile-page .profile-metrics article>span{font-size:21px}
  .profile-page .profile-metrics h3{font-size:16px}
  .profile-page .profile-metrics p{font-size:12px;margin-block:5px}
  .profile-page .profile-metrics a{font-size:11px}
}

/* R11 onboarding + engagement meta-game */
.r11-onboarding{max-width:1180px;margin:0 auto}.r11-wizard-shell{background:var(--card);border:1px solid var(--line);border-radius:30px;padding:clamp(20px,4vw,42px);box-shadow:var(--shadow);min-height:650px;display:flex;flex-direction:column}.r11-wizard-progress{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:28px}.r11-wizard-progress span{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--soft);border:1px solid var(--line);font-weight:950;color:var(--muted)}.r11-wizard-progress span.active{background:var(--accent);color:#fff;transform:scale(1.08)}.r11-wizard-progress span.done{background:#e4f7ec;color:#087552}.r11-wizard-copy{text-align:center;max-width:780px;margin:0 auto 24px}.r11-wizard-copy h1{font-size:clamp(32px,5vw,56px);line-height:1.05;margin:8px 0 12px}.r11-wizard-copy p:last-child{color:var(--muted);font-size:16px}.r11-goal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.r11-goal-grid button,.r11-level-grid button,.r11-social-grid button{min-height:150px;padding:18px;text-align:left;background:var(--surface);border:2px solid transparent;display:grid;align-content:start;gap:7px}.r11-goal-grid button[aria-pressed=true],.r11-level-grid button[aria-pressed=true],.r11-social-grid button[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 10px 26px color-mix(in srgb,var(--accent) 14%,transparent)}.r11-goal-grid button>span,.r11-level-grid button>span,.r11-social-grid button>span{font-size:32px}.r11-goal-grid button>b,.r11-level-grid button>b,.r11-social-grid button>b{font-size:17px}.r11-goal-grid button>small,.r11-level-grid button>small,.r11-social-grid button>small{color:var(--muted);line-height:1.4}.r11-exam-choice{display:flex;justify-content:center;gap:10px;margin-top:14px}.r11-exam-choice button{background:var(--card);border:1px solid var(--line);min-height:48px}.r11-exam-choice button[aria-pressed=true]{background:var(--accent);color:#fff}.r11-level-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;max-width:920px;margin:auto}.r11-customize{display:grid;grid-template-columns:1fr 1fr;gap:18px}.r11-customize>section{border:1px solid var(--line);border-radius:22px;padding:18px;background:var(--surface)}.r11-customize h2{margin-top:0}.r11-theme-picks,.r11-companion-picks{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.r11-theme-picks button,.r11-companion-picks button{min-height:88px;background:var(--card);border:1px solid var(--line);display:grid;place-items:center;gap:4px}.r11-theme-picks button[aria-pressed=true],.r11-companion-picks button[aria-pressed=true]{border:2px solid var(--accent);background:var(--accent-soft)}.r11-theme-picks span,.r11-companion-picks span{font-size:26px}.r11-social-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.r11-social-safety{display:flex;gap:12px;align-items:center;background:#eef9f5;border:1px solid #b9e4d5;border-radius:16px;padding:13px 16px;margin-top:16px}.r11-social-safety>span{font-size:30px}.r11-social-safety p{margin:0}.r11-wizard-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding-top:28px}.r11-wizard-actions .btn{min-width:150px}.r11-wizard-fineprint{text-align:center;color:var(--muted);margin-top:12px}
.r11-meta-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:0 0 13px}.r11-meta-strip>a{background:var(--card);border:1px solid var(--line);border-radius:17px;padding:12px;text-decoration:none;color:var(--ink);display:grid;grid-template-columns:36px 1fr;grid-template-rows:auto auto;column-gap:8px;box-shadow:var(--shadow-soft)}.r11-meta-strip>a>span{font-size:25px;grid-row:1/3;align-self:center}.r11-meta-strip b{font-size:14px}.r11-meta-strip small{color:var(--muted);font-size:10px}.r11-quest-panel{background:linear-gradient(135deg,var(--card),var(--accent-soft));border:1px solid color-mix(in srgb,var(--accent) 25%,var(--line));border-radius:22px;padding:18px;margin:13px 0;box-shadow:var(--shadow-soft)}.r11-quest-panel strong{padding:7px 11px;background:#fff3c6;border-radius:999px}.r11-quest-list{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}.r11-quest-list>div{display:flex;gap:8px;align-items:center;padding:10px;border-radius:12px;background:var(--surface);font-size:12px}.r11-quest-list>div.done{background:#e5f8ec;color:#176b4e}.r11-compete-teaser{text-align:center}.r11-league-orb{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;margin:10px auto;background:linear-gradient(145deg,#fff9d5,#ffe27a);font-size:38px;box-shadow:0 10px 28px rgba(180,130,20,.16)}
.r11-trophy-room{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:18px;box-shadow:var(--shadow-soft)}.r11-profile-level{display:flex;gap:12px;align-items:center;background:var(--soft);border-radius:16px;padding:13px;margin:12px 0}.r11-profile-level>span{font-size:34px}.r11-profile-level small{display:block;color:var(--muted)}.r11-badge-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.r11-badge-grid article{min-height:92px;border:1px solid var(--line);border-radius:14px;padding:10px;display:grid;place-items:center;text-align:center;background:var(--surface)}.r11-badge-grid span{font-size:28px}.r11-badge-grid b{font-size:11px}.r11-badge-grid .locked{opacity:.65}
.r11-compete-hero{display:grid;grid-template-columns:1fr 220px;gap:16px;align-items:center;background:linear-gradient(135deg,var(--accent-soft),var(--card));border:1px solid var(--line);border-radius:26px;padding:24px;margin-bottom:14px}.r11-compete-hero h1{font-size:clamp(34px,5vw,58px);margin:5px 0}.r11-rank-card{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:20px;text-align:center;display:grid}.r11-rank-card strong{font-size:52px;line-height:1}.r11-rank-card small,.r11-rank-card span{color:var(--muted)}.r11-top-awards{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:14px}.r11-top-awards article{border:1px solid var(--line);background:var(--card);border-radius:17px;padding:14px;display:grid;gap:3px}.r11-top-awards span{font-size:27px}.r11-top-awards small{color:var(--muted);font-weight:800}.r11-top-awards p{margin:0;color:var(--accent);font-weight:900}.r11-compete-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:14px}.r11-leaderboard,.r11-challenge-panel{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:18px}.r11-league-list{display:grid;gap:7px}.r11-league-list article{display:grid;grid-template-columns:48px 40px minmax(0,1fr) auto;gap:8px;align-items:center;min-height:64px;padding:8px 12px;border-radius:14px;background:var(--surface)}.r11-league-list article.me{background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 30%,var(--line))}.r11-league-list em{font-style:normal;font-weight:950;color:var(--accent)}.r11-league-list small{display:block;color:var(--muted)}.r11-avatar{font-size:25px}.r11-challenge-panel{display:grid;gap:9px;align-content:start}.r11-challenge-panel article{border:1px solid var(--line);border-radius:14px;padding:12px;display:grid;gap:8px}.r11-challenge-panel small{color:var(--muted)}
.r11-friends-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:14px}.r11-friend-main,.r11-friend-quests{display:grid;gap:12px;align-content:start}.r11-invite-card{display:flex;justify-content:space-between;align-items:center;gap:14px;background:linear-gradient(135deg,var(--accent-soft),var(--card));border:1px solid var(--line);border-radius:22px;padding:18px}.r11-invite-card strong{font-size:28px;letter-spacing:.08em;display:block}.r11-invite-card p{margin:3px 0;color:var(--muted)}.r11-add-friend{display:grid;grid-template-columns:1fr auto;gap:8px;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:14px}.r11-add-friend label{display:grid;gap:5px;font-weight:850}.r11-add-friend input{min-height:48px;border:1px solid var(--line);border-radius:12px;padding:0 12px;font:inherit}.r11-requests,.r11-friend-list,.r11-friend-quests{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:18px}.r11-requests article{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding:10px 0}.r11-friend-list>article{display:grid;grid-template-columns:42px minmax(0,1fr) auto auto;gap:9px;align-items:center;border-top:1px solid var(--line);padding:10px 0}.r11-friend-list small{display:block;color:var(--muted)}.r11-friend-list em{font-style:normal;font-weight:900;color:var(--accent)}.r11-friend-quests>article{border-top:1px solid var(--line);padding:12px 0;display:grid;gap:7px}.r11-friend-quests small{display:block;color:var(--muted)}.r11-quest-done{color:#157555;font-weight:900}.r11-safety-card{margin-top:10px;border-radius:16px;background:#eef9f5;padding:14px}.r11-safety-card>span{font-size:28px}.r11-safety-card p{font-size:12px;margin-bottom:0}.r11-placement form{display:grid;gap:12px;max-width:940px;margin:auto}.r11-placement-result{max-width:760px;margin:auto}.r11-toast{position:fixed;left:50%;bottom:92px;z-index:200;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:#13251f;color:#fff;border-radius:999px;padding:11px 18px;font-weight:900;box-shadow:0 12px 30px rgba(0,0,0,.2);transition:.2s}.r11-toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:900px){.r11-goal-grid{grid-template-columns:1fr 1fr}.r11-social-grid{grid-template-columns:1fr 1fr}.r11-customize,.r11-compete-layout,.r11-friends-layout{grid-template-columns:1fr}.r11-meta-strip{grid-template-columns:1fr 1fr}.r11-top-awards{grid-template-columns:1fr 1fr}.r11-compete-hero{grid-template-columns:1fr}.r11-rank-card{grid-template-columns:auto 1fr auto;align-items:center;text-align:left}.r11-rank-card strong{font-size:38px}.r11-badge-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.r11-wizard-shell{padding:18px 14px;border-radius:20px;min-height:calc(100vh - 190px)}.r11-wizard-copy h1{font-size:34px}.r11-goal-grid,.r11-level-grid,.r11-social-grid{grid-template-columns:1fr}.r11-goal-grid button,.r11-level-grid button,.r11-social-grid button{min-height:108px;grid-template-columns:42px 1fr;grid-template-rows:auto auto}.r11-goal-grid button>span,.r11-level-grid button>span,.r11-social-grid button>span{grid-row:1/3}.r11-theme-picks,.r11-companion-picks{grid-template-columns:1fr 1fr}.r11-customize{gap:10px}.r11-meta-strip{grid-template-columns:1fr 1fr}.r11-quest-list{grid-template-columns:1fr}.r11-top-awards{grid-template-columns:1fr 1fr}.r11-friend-list>article{grid-template-columns:36px 1fr auto}.r11-friend-list>article .btn{grid-column:2/4}.r11-invite-card{align-items:stretch;flex-direction:column}.r11-add-friend{grid-template-columns:1fr}.r11-add-friend .btn{width:100%}.r11-league-list article{grid-template-columns:40px 34px 1fr auto}.r11-wizard-actions .btn{min-width:120px}}

/* R12 private social: friend-only, no public discovery or DM */
.r12-social-module,.r12-live-panel{background:var(--card);border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:var(--shadow-soft)}
.r12-social-module>summary{min-height:52px;display:flex;align-items:center;padding:13px 16px;font-weight:950;cursor:pointer;list-style-position:inside}.r12-social-module[open]>summary{border-bottom:1px solid var(--line);background:var(--soft)}
.r12-module-body{display:grid;gap:13px;padding:15px}.r12-module-lead{margin:0;color:var(--muted);font-size:12px}
.r12-feed{display:grid;gap:8px}.r12-feed article{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:11px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.r12-feed-copy{display:grid}.r12-feed-copy span{font-size:13px}.r12-feed-copy small{color:var(--muted);font-size:10px}.r12-feed>article>strong{color:var(--accent);white-space:nowrap}.r12-kudos{display:flex;gap:4px}.r12-kudos button{min-width:44px;min-height:44px;padding:4px;border:1px solid var(--line);background:var(--card);border-radius:12px}.r12-kudos button[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent)}.r12-kudos small{font-size:9px}
.r12-club-actions{display:grid;grid-template-columns:1.2fr 1fr;gap:9px}.r12-club-actions form,.r12-peer-form,.r12-report-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.r12-club-actions label,.r12-peer-form label,.r12-report-form label{display:grid;gap:5px;font-size:12px;font-weight:850}.r12-club-actions input,.r12-peer-form :is(select,textarea),.r12-report-form select{min-height:44px;border:1px solid var(--line);border-radius:10px;padding:8px 10px;background:var(--card);color:var(--ink);font:inherit}.r12-clubs{display:grid;gap:9px}.r12-clubs>article{padding:13px;border:1px solid var(--line);border-radius:15px;background:var(--surface)}.r12-club-members{display:flex;gap:6px;flex-wrap:wrap;margin:9px 0}.r12-club-members>span{padding:7px 9px;border-radius:11px;background:var(--card);border:1px solid var(--line)}.r12-club-members small{display:block;color:var(--muted);font-size:9px}
.r12-peer-form{grid-template-columns:1fr 1fr auto}.r12-peer-content{grid-column:1/3}.r12-peer-content textarea{min-height:105px;resize:vertical}.r12-peer-columns{display:grid;grid-template-columns:1fr 1fr;gap:10px}.r12-peer-columns section{min-width:0}.r12-peer-columns article{padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--surface);margin-bottom:8px}.r12-peer-columns blockquote{margin:9px 0;padding:10px;border-left:4px solid var(--accent);background:var(--card);white-space:pre-wrap;overflow-wrap:anywhere}.r12-feedback-tags{display:flex;gap:5px;flex-wrap:wrap}.r12-feedback-tags button{min-height:44px;padding:7px 9px;background:var(--card);border:1px solid var(--line);border-radius:999px;font-size:11px}.r12-feedback-tags button.selected{background:var(--accent-soft);border-color:var(--accent)}
.r12-report-form{grid-template-columns:1fr 1fr auto auto}.r12-live-panel{padding:18px;margin-top:14px}.r12-live-panel>p{color:var(--muted);font-size:12px}.r12-live-panel article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border-top:1px solid var(--line)}.r12-live-panel article small{display:block;color:var(--muted)}
@media(max-width:760px){.r12-feed article{grid-template-columns:1fr auto}.r12-kudos{grid-column:1/3}.r12-club-actions,.r12-peer-columns{grid-template-columns:1fr}.r12-peer-form,.r12-report-form{grid-template-columns:1fr}.r12-peer-content{grid-column:auto}.r12-live-panel article{align-items:stretch;flex-direction:column}.r12-live-panel .btn{width:100%}}
@media(max-width:420px){.r12-kudos{display:grid;grid-template-columns:repeat(4,1fr)}.r12-kudos button{width:100%}.r12-social-module>summary{font-size:13px}}
.r12-refresh-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.r12-refresh-row small{color:var(--muted)}
@media(max-width:520px){.r12-refresh-row{align-items:stretch;flex-direction:column}.r12-refresh-row .btn{width:100%}}

/* R13 first-session UX */
html[data-onboarding="core"] .side-nav{display:none!important}
html[data-onboarding="core"] main{margin-left:0;padding-bottom:28px}
.r13-core-progress{max-width:180px;margin-inline:auto}.r13-delight-card{margin:14px 0;padding:19px;border:1px solid color-mix(in srgb,var(--accent) 30%,var(--line));border-radius:22px;background:linear-gradient(135deg,var(--card),var(--accent-soft));box-shadow:var(--shadow-soft)}
.r13-delight-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.r13-delight-section,.r13-delight-login{padding:13px;border:1px solid var(--line);border-radius:16px;background:var(--card)}.r13-delight-section h3{margin-top:0}.r13-delight-picks{display:flex;gap:7px;flex-wrap:wrap}.r13-delight-picks button{min-width:48px;min-height:48px;background:var(--surface);border:1px solid var(--line)}.r13-delight-picks button[aria-pressed=true]{border:2px solid var(--accent);background:var(--accent-soft)}.r13-delight-login{grid-column:1/-1}.r13-league-forming{padding:12px;margin-bottom:9px;border-radius:13px;background:var(--accent-soft);font-weight:800}.r13-practice-more,.r13-speaking-more{margin-top:14px;border:1px solid var(--line);border-radius:18px;background:var(--card);overflow:hidden}.r13-practice-more>summary,.r13-speaking-more>summary{min-height:48px;padding:13px 16px;cursor:pointer;font-weight:900}.r13-practice-more-body,.r13-speaking-more-body{display:grid;gap:12px;padding:0 12px 12px}.r13-speaking-more-body .coach-card{box-shadow:none}.r13-empty-progress{max-width:900px}.r13-progress-start{max-width:720px;margin:auto}.r13-progress-start>span{font-size:54px}
@media(max-width:850px){html[data-onboarding="core"] main{padding:70px 12px 28px}.r13-delight-grid{grid-template-columns:1fr}.r13-delight-login{grid-column:auto}.r13-practice-more .skill-grid{grid-template-columns:1fr 1fr}.r13-speaking-more{margin-bottom:12px}}
@media(max-width:520px){.r13-delight-card{padding:14px}.r13-delight-picks button{min-width:46px;min-height:46px}.r13-practice-more .skill-grid{grid-template-columns:1fr}.r13-core-onboarding .r11-wizard-shell{min-height:calc(100vh - 110px)}}


/* R14 generated visual assets */
.r14-panda{display:block;width:100%;height:auto;object-fit:contain;filter:drop-shadow(0 14px 22px rgba(19,65,145,.14))}.r14-onboarding-mascot{position:absolute;right:26px;top:24px;width:180px;pointer-events:none}.r14-onboarding-mascot span{position:absolute;right:92%;top:22px;width:180px;padding:10px 12px;border:1px solid var(--line);border-radius:16px 16px 4px 16px;background:var(--card);box-shadow:var(--shadow-soft);font-size:13px;font-weight:850;color:var(--ink)}.r13-core-onboarding .r11-wizard-shell{position:relative;overflow:hidden}.r13-core-onboarding .r11-wizard-copy{padding-inline:130px}.r14-today-mascot{width:230px;align-self:end;justify-self:end}.home-page .welcome-hero>.r14-today-mascot{grid-column:2;grid-row:1}.home-page .welcome-hero>.r14-today-mascot~.student-illustration,.home-page .welcome-hero>.student-illustration{display:none}.r14-mission-mascot{position:absolute;right:130px;bottom:-18px;width:118px;opacity:.96;z-index:1;pointer-events:none}.home-page .mission-copy{padding-right:80px}.r14-delight-card{position:relative;overflow:hidden}.r14-delight-mascot{position:absolute;right:12px;top:8px;width:96px;pointer-events:none}.r14-delight-mascot span{position:absolute;right:2px;top:0;font-size:25px}.r14-delight-card>.section-title,.r14-delight-card>p{padding-right:100px}.r14-league-card{position:relative;min-height:132px;padding:20px 180px 20px 18px!important;background:linear-gradient(135deg,var(--accent-soft),var(--card))!important;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));overflow:hidden}.r14-league-mascot{position:absolute;right:16px;bottom:-20px;width:145px;pointer-events:none}
@media(max-width:850px){.r13-core-onboarding .r11-wizard-copy{padding-inline:0;padding-top:100px}.r14-onboarding-mascot{right:50%;transform:translateX(50%);top:8px;width:110px}.r14-onboarding-mascot span{display:none}.r14-today-mascot{display:none}.home-page .mission-copy{padding-right:0}.r14-mission-mascot{right:-16px;bottom:-8px;width:94px;opacity:.28}.r14-delight-mascot{width:78px;opacity:.42}.r14-delight-card>.section-title,.r14-delight-card>p{padding-right:62px}.r14-league-card{padding-right:120px!important}.r14-league-mascot{right:4px;width:110px}}
@media(max-width:520px){.r14-onboarding-mascot{width:92px}.r13-core-onboarding .r11-wizard-copy{padding-top:80px}.r14-mission-mascot{display:none}.r14-delight-mascot{display:none}.r14-delight-card>.section-title,.r14-delight-card>p{padding-right:0}.r14-league-card{padding:14px 86px 14px 14px!important;min-height:112px}.r14-league-mascot{width:88px;right:-2px}}
@media(forced-colors:active){.r14-panda{display:none}.r13-core-onboarding .r11-wizard-copy{padding:0}.r14-league-card{padding:12px!important}}

/* R15 PUBLIC DEFAULT UI */
html.r15-public{background:#f5f8ff}html.r15-public body{background:radial-gradient(circle at 76% 4%,#fff2cf 0,transparent 22%),linear-gradient(180deg,#f9fbff,#f4f7ff 58%,#f7fbff);color:#10245a}
html.r15-public .shell{max-width:1600px;margin:auto}html.r15-public .side-nav{background:rgba(255,255,255,.94);border-right:1px solid #e5ebf7;box-shadow:8px 0 28px rgba(37,78,144,.055)}
html.r15-public .side-nav>a{border-radius:14px;color:#344465}html.r15-public .side-nav>a[aria-current=page]{background:#eaf2ff;color:#1769e8;box-shadow:inset 0 0 0 1px #d8e6ff}
html.r15-public .page{max-width:1300px;margin-inline:auto}.r15-public-onboarding{max-width:1120px!important}.r15-wizard-shell{position:relative;overflow:hidden;background:linear-gradient(145deg,#fff 0,#fbfdff 62%,#edf5ff)!important;border-color:#e0e8f5!important;box-shadow:0 28px 70px rgba(43,82,144,.13)!important;min-height:660px!important}
.r15-wizard-shell:before{content:"";position:absolute;width:360px;height:360px;border-radius:50%;right:-120px;top:-150px;background:radial-gradient(circle,#ddebff,transparent 68%);pointer-events:none}.r15-wizard-copy{text-align:left!important;margin:0 0 24px!important;max-width:720px!important;padding-right:210px}.r15-wizard-copy h1{color:#10245a;font-size:clamp(38px,4.7vw,58px)!important;letter-spacing:-.045em}.r15-wizard-copy .eyebrow{color:#1f73ed}.r15-wizard-mascot{position:absolute!important;right:28px;top:64px;width:210px!important;height:210px!important;display:grid!important;place-items:center;pointer-events:none}.r15-wizard-mascot img{width:180px!important;height:180px!important;object-fit:contain!important;filter:drop-shadow(0 16px 28px rgba(27,92,181,.18))}.r15-wizard-mascot span{position:absolute;top:4px;left:-80px;max-width:150px;background:white;padding:10px 12px;border-radius:16px;box-shadow:0 10px 30px rgba(32,75,140,.12);font-weight:800;font-size:12px;color:#18315e}
.r15-public-onboarding .r11-goal-grid{grid-template-columns:repeat(3,1fr);gap:14px}.r15-public-onboarding .r11-goal-grid button,.r15-public-onboarding .r11-level-grid button{border:1px solid #e2e9f5!important;border-radius:20px!important;background:rgba(255,255,255,.94)!important;box-shadow:0 8px 24px rgba(39,78,139,.07);transition:.18s transform,.18s box-shadow,.18s border-color}.r15-public-onboarding .r11-goal-grid button:hover,.r15-public-onboarding .r11-level-grid button:hover{transform:translateY(-2px);box-shadow:0 15px 34px rgba(39,78,139,.12)}.r15-public-onboarding button[aria-pressed=true]{border-color:#2375ec!important;background:linear-gradient(180deg,#f7fbff,#ebf4ff)!important;box-shadow:0 0 0 3px #d7e8ff,0 16px 32px rgba(35,117,236,.12)!important}.r15-public-onboarding .r11-wizard-actions .coral{background:linear-gradient(135deg,#2073ed,#075de4)!important;box-shadow:0 12px 25px rgba(31,104,225,.28)}
.r15-public-home .home-layout{grid-template-columns:minmax(0,1fr) 330px;gap:22px}.r15-home-hero{min-height:210px!important;border:1px solid #e4eaf5;border-radius:28px;padding:25px 28px!important;background:linear-gradient(118deg,#fff 0,#fff9e9 55%,#edf6ff 100%);box-shadow:0 20px 50px rgba(43,80,139,.09);overflow:hidden}.r15-home-hero h1{color:#10245a!important;font-size:clamp(36px,3.5vw,54px)!important;max-width:760px!important}.r15-home-hero .lead{color:#536486!important;font-size:15px!important}.r15-home-hero .r14-today-mascot{display:grid!important;place-items:center!important;background:transparent!important;border:0!important;box-shadow:none!important}.r15-home-hero .r14-today-mascot img{width:210px!important;height:210px!important;object-fit:contain!important;filter:drop-shadow(0 18px 28px rgba(31,99,189,.16))}
.r15-stat-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:14px 0}.r15-stat-strip article{min-width:0;display:grid;grid-template-columns:46px 1fr;gap:10px;align-items:center;padding:14px 15px;background:white;border:1px solid #e2e9f5;border-radius:18px;box-shadow:0 8px 22px rgba(43,78,132,.07)}.r15-stat-strip article>span{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:#eef5ff;font-size:22px}.r15-stat-strip small,.r15-stat-strip em{display:block;color:#6a7892;font-style:normal;font-size:11px}.r15-stat-strip b{display:block;color:#10245a;font-size:23px;line-height:1.1;margin:1px 0}
.r15-primary-mission{background:linear-gradient(135deg,#2477f2,#0962e9 66%,#0057d8)!important;border-radius:26px!important;box-shadow:0 22px 48px rgba(28,99,224,.25)!important;padding:26px 28px!important;grid-template-columns:minmax(0,1fr) 210px!important}.r15-primary-mission .mission-copy h2{font-size:30px!important}.r15-primary-mission .btn.coral{background:white!important;color:#1266e5!important;border:0!important;box-shadow:0 9px 22px rgba(3,47,125,.16)}.r15-primary-mission .r14-mission-mascot{display:none!important}.r15-goal-widget{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.24);border-radius:20px;padding:18px}.r15-goal-widget .target-art{font-size:48px}.r15-public-home .home-aside .aside-card{background:rgba(255,255,255,.93);border-color:#e2e9f5;box-shadow:0 10px 28px rgba(43,78,132,.07);border-radius:20px}.r15-public-home .goal-card{background:linear-gradient(145deg,#fff,#f1f7ff)!important}.r15-public-home .goal-icon{background:#eef5ff;color:#1769e8}
.r15-public-compete .r11-compete-hero{background:linear-gradient(135deg,#fff,#eef6ff)!important;border:1px solid #dfe9f8!important}.r15-public-compete .r13-league-forming.r14-league-card{background:linear-gradient(135deg,#fff8e4,#eef7ff)!important;border:1px solid #e2e9f5;border-radius:22px;padding:18px!important;color:#18315e}.r15-public-compete .r14-league-mascot img{max-width:220px!important}
@media(max-width:900px){.r15-public-home .home-layout{grid-template-columns:1fr}.r15-stat-strip{grid-template-columns:1fr 1fr}.r15-wizard-copy{padding-right:150px}.r15-wizard-mascot{right:12px;width:150px!important}.r15-wizard-mascot img{width:135px!important;height:135px!important}.r15-public-onboarding .r11-goal-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){html.r15-public body{background:#f7faff}.r15-wizard-shell{padding:18px!important;min-height:calc(100vh - 90px)!important;border-radius:24px!important}.r15-wizard-copy{padding-right:0!important;text-align:left!important}.r15-wizard-copy h1{font-size:36px!important}.r15-wizard-mascot{position:relative!important;right:auto!important;top:auto!important;width:100%!important;height:120px!important;margin:-8px 0 8px}.r15-wizard-mascot img{width:120px!important;height:120px!important}.r15-wizard-mascot span{left:auto;right:4px;top:2px;max-width:128px}.r15-public-onboarding .r11-goal-grid,.r15-public-onboarding .r11-level-grid{grid-template-columns:1fr 1fr!important}.r15-public-onboarding .r11-goal-grid button,.r15-public-onboarding .r11-level-grid button{min-height:118px!important;padding:13px!important}.r15-home-hero{padding:18px!important;min-height:auto!important}.r15-home-hero .r14-today-mascot{display:none!important}.r15-stat-strip{grid-template-columns:1fr 1fr;gap:9px}.r15-stat-strip article{padding:11px;grid-template-columns:38px 1fr}.r15-stat-strip article>span{width:38px;height:38px}.r15-stat-strip b{font-size:19px}.r15-primary-mission{grid-template-columns:1fr!important;padding:20px!important}.r15-goal-widget{display:none}.r15-public-home .home-aside{display:grid;gap:10px}}
@media(forced-colors:active){.r15-wizard-mascot,.r15-home-hero .r14-today-mascot{display:none!important}.r15-primary-mission,.r15-home-hero{background:Canvas!important;color:CanvasText!important;box-shadow:none!important}}

/* R16 MOBILE RETENTION + REFERRAL */
html.r16-mobile-retention{--r16-page:#f4f7fb;--r16-card:#fff;--r16-ink:#10245a;--r16-muted:#66758f;--r16-line:#e2e9f5;--r16-blue:#1769e8;--r16-mint:#e8fff5}
html.r16-mobile-retention .r15-primary-mission{color:#fff!important}
html.r16-mobile-retention .r15-primary-mission :is(h2,p,small){color:#fff!important}
html.r16-mobile-retention .r15-primary-mission .eyebrow{color:#dcecff!important}
html.r16-mobile-retention .r15-primary-mission .tag-row span{color:#fff!important}
.r16-daily-card,.r16-badge-preview,.r16-badge-gallery,.r16-referral-top{background:#fff;border:1px solid var(--r16-line);border-radius:22px;padding:18px;margin:13px 0;box-shadow:0 9px 26px rgba(43,78,132,.07);color:var(--r16-ink)}
.r16-daily-card h2,.r16-badge-preview h2,.r16-badge-gallery h2,.r16-referral-top h2{margin:3px 0;font-size:20px}.r16-guest-quest>.section-title>strong{font-size:28px}.r16-quest-row{display:flex;align-items:center;gap:11px;margin-top:12px;padding:12px;border-radius:14px;background:#f7faff}.r16-quest-row>span{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#eaf2ff;color:#1769e8;font-weight:900}.r16-quest-row small{display:block;color:var(--r16-muted)}
.r16-referral-card{display:grid;grid-template-columns:64px minmax(0,1fr);gap:14px;align-items:start;margin:13px 0;padding:19px;border:1px solid #cfeade;border-radius:22px;background:linear-gradient(135deg,#fff 0,#f0fff8 60%,#edf7ff 100%);box-shadow:0 11px 30px rgba(32,104,93,.08);color:var(--r16-ink)}.r16-referral-card.compact{grid-template-columns:54px minmax(0,1fr);padding:16px;box-shadow:none}.r16-referral-icon{width:58px;height:58px;display:grid;place-items:center;border-radius:18px;background:#e3fff1;font-size:30px}.r16-referral-card h2{font-size:22px;margin:3px 0 5px}.r16-referral-card p{margin:6px 0;color:#536783}.r16-referral-points{white-space:nowrap;background:#fff;border:1px solid #dbe8e2;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:900;color:#0b7a60}.r16-referral-stats{display:flex;gap:7px;flex-wrap:wrap;margin:11px 0}.r16-referral-stats span{background:#fff;border:1px solid #dceae5;border-radius:12px;padding:7px 9px;font-size:11px;color:#536783}.r16-referral-stats b{color:#10245a;font-size:15px}.r16-referral-progress{display:grid;gap:7px;margin:11px 0}.r16-referral-progress>div{display:flex;justify-content:space-between;gap:8px}.r16-referral-progress small,.r16-xp-separation{color:#65758c;font-size:11px}.r16-referral-card .action-row{margin-top:10px}.r16-referral-card.teaser .btn{margin-top:9px}.r16-referral-summary>.r16-referral-card{margin-top:0}
.r16-badge-row{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:12px}.r16-badge-row article{min-height:106px;display:grid;place-items:center;text-align:center;padding:10px;border:1px solid var(--r16-line);border-radius:15px;background:#f9fbff}.r16-badge-row article.earned{background:linear-gradient(150deg,#fff9df,#f1fff8);border-color:#dbe7ba}.r16-badge-row span{font-size:29px}.r16-badge-row b{font-size:11px}.r16-badge-row small{font-size:9px;color:var(--r16-muted)}
.r16-badge-tabs{display:flex;gap:7px;overflow:auto;padding:9px 1px 12px;scrollbar-width:none}.r16-badge-tabs button{white-space:nowrap;min-height:40px;padding:0 12px;background:#f4f7fb;border:1px solid var(--r16-line);color:#405271;font-size:11px}.r16-badge-tabs button[aria-pressed=true]{background:#eaf2ff;border-color:#bfd7ff;color:#1769e8}.r16-badge-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.r16-badge-grid article{display:grid;grid-template-columns:40px minmax(0,1fr);gap:9px;align-items:center;padding:11px;border:1px solid var(--r16-line);border-radius:14px;background:#fafcff}.r16-badge-grid article.earned{background:#f1fff8;border-color:#ccebdc}.r16-badge-grid article.locked{opacity:.72}.r16-badge-grid article>span{font-size:27px}.r16-badge-grid article div{display:grid}.r16-badge-grid small,.r16-badge-grid em{font-size:9px;color:var(--r16-muted);font-style:normal}.r16-badge-grid b{font-size:11px}
.r16-referral-top{background:linear-gradient(145deg,#fff,#f6f9ff)}.r16-own-referral-rank{display:flex;gap:12px;align-items:center;padding:13px;margin:11px 0;border-radius:16px;background:#eef6ff}.r16-own-referral-rank>span{font-size:34px}.r16-own-referral-rank small{display:block;color:var(--r16-muted)}.r16-referral-top>p{font-size:12px;color:var(--r16-muted);margin-bottom:0}
.r16-compete-auth-gate{max-width:760px;margin:12px auto 0;padding:30px;border:1px solid var(--r16-line);border-radius:28px;background:linear-gradient(145deg,#fff 0,#f9fbff 62%,#eef6ff 100%);box-shadow:0 20px 52px rgba(43,78,132,.10);text-align:center;color:var(--r16-ink)}.r16-compete-trophy{font-size:72px}.r16-compete-auth-gate h1{font-size:clamp(32px,5vw,48px);line-height:1.08;margin:8px 0;color:#10245a}.r16-compete-lead{max-width:620px;margin:0 auto 16px;color:#596b88}.r16-compete-benefits{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:16px auto;max-width:620px}.r16-compete-benefits span{display:flex;align-items:center;gap:9px;min-height:56px;padding:10px 13px;text-align:left;border:1px solid var(--r16-line);border-radius:15px;background:#fff;font-size:23px}.r16-compete-benefits b{font-size:13px;color:#21385f}.r16-medal-preview{display:flex;justify-content:center;gap:7px;flex-wrap:wrap;margin:13px 0}.r16-medal-preview span{padding:7px 9px;border-radius:999px;background:#fff7dc;border:1px solid #f0dfae;font-size:11px;font-weight:850;color:#6a5120}.r16-compete-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;max-width:620px;margin:14px auto}.r16-compete-auth-gate>small{display:block;max-width:620px;margin:auto;color:#66758f}
.r16-secondary-loop{margin-top:13px!important}
@media(prefers-color-scheme:dark){
  html.r15-public[data-theme]{color-scheme:light;--bg:#f4f7fb;--surface:#fff;--surface-2:#f4f7fb;--ink:#10245a;--text:#10245a;--muted:#66758f;--line:#e2e9f5;--accent-soft:#e7f6ef;--coral-soft:#fff0e8;--blue-soft:#e9f6fd;--purple-soft:#f2edff;--shadow:0 12px 36px rgba(43,78,132,.10);--shadow-soft:0 6px 20px rgba(43,78,132,.07)}
  html.r15-public body{background:radial-gradient(circle at 76% 4%,#fff2cf 0,transparent 22%),linear-gradient(180deg,#f9fbff,#f4f7ff 58%,#f7fbff);color:#10245a}
  html.r15-public .app-header,html.r15-public .side-nav{background:rgba(255,255,255,.97)}
  html.r15-public .top-strip{background:linear-gradient(90deg,#075e50,#087f65,#075e50)}
  html.r15-public :is(.loop-card,.aside-card,.empty-state,.question-card,.r11-quest-panel,.r11-trophy-room,.r11-leaderboard,.r11-challenge-panel){color:#10245a}
}
@media(max-width:850px){
  html.r16-mobile-retention .top-strip{display:none}
  html.r16-mobile-retention .app-header{top:env(safe-area-inset-top);height:64px;padding:0 max(14px,env(safe-area-inset-left)) 0 max(14px,env(safe-area-inset-left));background:rgba(255,255,255,.97);border-bottom:1px solid var(--r16-line);box-shadow:0 5px 18px rgba(43,78,132,.055)}
  html.r16-mobile-retention .brand{min-height:52px}html.r16-mobile-retention .brand strong{font-size:20px;color:#10245a}html.r16-mobile-retention .account-chip{min-height:40px;padding:0 12px}
  html.r16-mobile-retention main{padding:calc(64px + env(safe-area-inset-top) + 12px) 12px calc(112px + env(safe-area-inset-bottom));min-height:100svh}
  html.r16-mobile-retention .side-nav{height:calc(78px + env(safe-area-inset-bottom));padding:5px max(4px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(4px,env(safe-area-inset-left));background:rgba(255,255,255,.98);border-top:1px solid #dfe6f2;box-shadow:0 -8px 24px rgba(42,71,120,.08)}
  html.r16-mobile-retention .side-nav>a{min-height:66px;color:#344465}html.r16-mobile-retention .side-nav>a[aria-current=page]{background:#eaf2ff;color:#1769e8}
  .r16-today .home-layout{gap:13px}.r16-today .r15-home-hero{margin-bottom:10px}.r16-today .r15-stat-strip{margin:0 0 11px}.r16-today .r15-primary-mission{margin-top:0!important}
  .r16-referral-card{grid-template-columns:1fr}.r16-referral-icon{width:50px;height:50px}.r16-referral-card .section-title{display:grid}.r16-referral-points{width:max-content}.r16-referral-progress>div{display:grid}.r16-referral-card .action-row{display:grid;grid-template-columns:1fr 1fr}.r16-referral-card .action-row .btn{width:100%}
  .r16-badge-row{grid-template-columns:1fr 1fr}.r16-badge-grid{grid-template-columns:1fr 1fr}
  .r16-compete-auth-gate{margin:8px auto 0;padding:22px 17px;border-radius:24px}.r16-compete-trophy{font-size:58px}.r16-compete-auth-gate h1{font-size:34px}.r16-compete-benefits{grid-template-columns:1fr 1fr}.r16-compete-actions{grid-template-columns:1fr}
  .r16-secondary-loop{grid-template-columns:1fr 1fr!important}.r16-secondary-loop .loop-card{background:#fff!important;color:#10245a!important;border-color:var(--r16-line)!important;min-height:150px}.r16-secondary-loop .loop-card h3,.r16-secondary-loop .loop-card p{color:#21385f!important}
  .r15-public-home .home-aside .aside-card{background:#fff!important;color:#10245a!important}.r15-public-home .home-aside .aside-card :is(h3,p,b,strong){color:#21385f}.r15-public-home .home-aside .section-title span{color:#66758f}
}
@media(max-width:520px){
  .r16-compete-benefits{grid-template-columns:1fr}.r16-badge-grid{grid-template-columns:1fr}.r16-secondary-loop{grid-template-columns:1fr 1fr!important}.r16-secondary-loop .loop-card{padding:14px!important}.r16-secondary-loop .loop-art{font-size:42px}.r16-secondary-loop .loop-card h3{font-size:15px}.r16-secondary-loop .loop-card p{font-size:11px;max-width:125px}
}
@media(max-width:390px){.r16-secondary-loop{grid-template-columns:1fr!important}.r16-referral-card .action-row{grid-template-columns:1fr}.r16-badge-row{grid-template-columns:1fr 1fr}}

.r16-rank-tabs{display:flex;gap:7px;margin:0 0 12px;padding:5px;background:#fff;border:1px solid var(--r16-line);border-radius:16px;width:max-content;max-width:100%;overflow:auto}.r16-rank-tabs a{min-height:42px;display:flex;align-items:center;justify-content:center;padding:0 13px;border-radius:12px;text-decoration:none;color:#536783;font-size:12px;font-weight:900;white-space:nowrap}.r16-rank-tabs a.active{background:#eaf2ff;color:#1769e8}.r16-referral-leaderboard{display:grid;gap:7px;margin:12px 0}.r16-referral-leaderboard article{display:grid;grid-template-columns:38px 34px minmax(0,1fr) auto;gap:7px;align-items:center;padding:10px;border-radius:13px;background:#f8faff;border:1px solid #e6ebf4}.r16-referral-leaderboard article.me{background:#edfff7;border-color:#bfe8d4}.r16-referral-leaderboard em{font-style:normal;font-weight:950;color:#1769e8}.r16-referral-leaderboard span{font-size:22px}.r16-referral-leaderboard small{display:block;color:#66758f}.r16-referral-leaderboard strong{font-size:12px;color:#0b7a60}.r16-referral-empty{padding:14px;border-radius:14px;background:#f8faff;color:#66758f;font-size:12px}.r16-referral-privacy{display:flex;gap:12px;justify-content:space-between;align-items:center;padding:12px;margin:11px 0;border:1px solid #dfe8f4;border-radius:14px;background:#fff}.r16-referral-privacy small{display:block;max-width:560px;color:#66758f}.r16-badge-grid article.earned{animation:r16BadgePop .5s cubic-bezier(.2,.9,.35,1.25)}@keyframes r16BadgePop{0%{transform:scale(.96);opacity:.55}70%{transform:scale(1.025)}100%{transform:scale(1);opacity:1}}
@media(max-width:520px){.r16-rank-tabs{width:100%}.r16-rank-tabs a{flex:1}.r16-referral-privacy{align-items:stretch;flex-direction:column}.r16-referral-leaderboard article{grid-template-columns:32px 28px minmax(0,1fr) auto}.r16-referral-leaderboard strong{font-size:10px}}
.r16-referral-qr{width:max-content;max-width:100%;margin:14px auto 4px;padding:12px;border:1px solid #dfe8f4;border-radius:18px;background:#fff;text-align:center}.r16-referral-qr img{display:block;width:180px;height:180px;max-width:60vw;border-radius:8px;image-rendering:pixelated}.r16-referral-qr figcaption{margin-top:7px;font-size:11px;color:#66758f}.r16-referral-link-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.r16-referral-ready{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;margin:10px 0;border:1px dashed #b8daca;border-radius:14px;background:#fff}.r16-referral-ready small{display:block;color:#66758f}.r16-referral-ready img{width:64px;height:64px;border-radius:7px;image-rendering:pixelated}.r16-badge-showcase{display:flex;gap:14px;align-items:center;padding:14px 16px;margin:12px 0;border-radius:18px;border:1px solid #e3e8f2;background:linear-gradient(135deg,#f8fbff,#fff)}.r16-badge-showcase.earned{background:linear-gradient(135deg,#fff8da,#f0fff8);border-color:#dfd8a8}.r16-badge-showcase>span{font-size:44px}.r16-badge-showcase>div{display:grid;gap:2px}.r16-badge-showcase small{font-size:9px;letter-spacing:.1em;color:#66758f}.r16-badge-showcase b{font-size:16px;color:#10245a}.r16-badge-showcase em{font-size:10px;font-style:normal;color:#66758f}
/* R16_MOBILE_RETENTION_REFERRAL_END */


/* R17 SPEAKUP VISUAL SYSTEM */
html.r17-speakup{--r17-blue:#176df3;--r17-blue2:#0b5fe5;--r17-navy:#09215c;--r17-soft:#f6f9ff;--r17-line:#e6ecf7;--r17-yellow:#ffd43b;--r17-green:#3bcf74;color-scheme:light}
html.r17-speakup body{background:linear-gradient(180deg,#fbfdff,#f5f9ff);color:var(--r17-navy)}
.r17-brand .brand-mark{background:transparent!important;font-size:28px!important;box-shadow:none!important}.r17-brand strong{color:var(--r17-navy)!important;font-weight:950}.r17-brand small{color:#8692aa!important}
@media(min-width:851px){html.r17-speakup .side-nav{background:#fff;border-right:1px solid var(--r17-line);box-shadow:8px 0 34px rgba(44,83,150,.06)}html.r17-speakup .side-nav>a{border-radius:15px;color:#26385f}html.r17-speakup .side-nav>a[aria-current=page]{background:#eaf3ff;color:var(--r17-blue)}html.r17-speakup main{background:radial-gradient(circle at 72% 3%,#fff1cf 0,transparent 20%),linear-gradient(180deg,#fff,#f7faff 60%)}}
.r17-onboarding-shell{max-width:940px!important;margin:0 auto!important;padding:30px!important;border:1px solid var(--r17-line)!important;border-radius:30px!important;background:#fff!important;box-shadow:0 22px 60px rgba(28,75,150,.10)!important}.r17-onboard-copy{padding-right:250px!important}.r17-onboard-copy .eyebrow{color:var(--r17-blue)!important}.r17-onboard-copy h1{max-width:660px;font-size:clamp(38px,5vw,58px)!important;line-height:1.04!important;color:var(--r17-navy)!important}.r17-onboard-copy p{max-width:620px;color:#697790!important;font-size:16px!important}.r17-onboarding-panda{right:34px!important;top:24px!important;width:205px!important}.r17-onboarding-panda img{width:205px!important;height:205px!important;object-fit:contain}.r17-onboarding-panda span{right:78%!important;top:20px!important;width:180px!important;border:0!important;background:#fff!important;color:#22385f!important;font-size:14px!important;box-shadow:0 12px 35px rgba(35,76,145,.13)!important}
.r17-goal-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:24px 0 16px}.r17-goal-card{position:relative;min-height:215px!important;padding:0!important;overflow:hidden;text-align:left!important;border:1px solid var(--r17-line)!important;border-radius:24px!important;background:linear-gradient(160deg,#eef7ff,#fff)!important;box-shadow:0 8px 24px rgba(42,77,136,.06)!important}.r17-goal-card:nth-child(2){background:linear-gradient(160deg,#effcf4,#fff)!important}.r17-goal-card:nth-child(3){background:linear-gradient(160deg,#f3efff,#fff)!important}.r17-goal-card:nth-child(4){background:linear-gradient(160deg,#fff4e9,#fff)!important}.r17-goal-card.selected{border:3px solid var(--r17-blue)!important;box-shadow:0 12px 30px rgba(23,109,243,.16)!important}.r17-goal-card .r17-goal-icon{position:absolute;left:18px;top:18px;width:50px;height:50px;display:grid;place-items:center;border-radius:16px;background:#fff;font-size:25px;box-shadow:0 8px 20px rgba(35,74,139,.12)}.r17-goal-card .r17-goal-art{display:grid;place-items:center;height:128px;font-size:76px;background:linear-gradient(180deg,rgba(255,255,255,.15),rgba(255,255,255,.75))}.r17-goal-card b{display:block;padding:14px 18px 3px;font-size:20px;color:var(--r17-navy)}.r17-goal-card small{display:block;padding:0 18px 17px;color:#66758f;font-size:13px}.r17-goal-card i{position:absolute;right:14px;top:14px;width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:var(--r17-blue);color:#fff;font-style:normal;font-size:20px}.r17-alt-goals{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.r17-alt-goals>span{font-size:12px;font-weight:900;color:#7b879f}.r17-alt-goals button{min-height:42px;padding:0 13px;border:1px solid var(--r17-line);background:#f7faff;color:#304669;border-radius:13px}.r17-alt-goals button[aria-pressed=true]{border-color:#8bb9ff;background:#eaf3ff;color:var(--r17-blue)}
.r17-level-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:26px 0}.r17-level-grid button{min-height:190px!important;text-align:left!important;padding:22px!important;border:1px solid var(--r17-line)!important;border-radius:24px!important;background:linear-gradient(150deg,#f0fff5,#fff)!important}.r17-level-grid button:nth-child(2){background:linear-gradient(150deg,#eef5ff,#fff)!important}.r17-level-grid .r17-level-quick{grid-column:1/3;min-height:130px!important;background:linear-gradient(135deg,#f6f2ff,#fff)!important}.r17-level-grid button[aria-pressed=true]{border:3px solid var(--r17-blue)!important}.r17-level-grid span{font-size:34px}.r17-level-grid b{display:block;margin:12px 0 4px;font-size:21px;color:var(--r17-navy)}.r17-level-grid small{color:#66758f;font-size:13px}
.r17-today .home-layout{grid-template-columns:minmax(0,1fr) 330px!important;gap:22px!important}.r17-hero{min-height:178px!important;padding:24px 28px!important;background:transparent!important;border:0!important;box-shadow:none!important}.r17-hero h1{font-size:clamp(38px,3.4vw,54px)!important;color:var(--r17-navy)!important}.r17-hero h1 em{color:var(--r17-navy)!important}.r17-hero .lead{font-size:15px!important;color:#5e6d89!important}.r17-hero .r14-today-mascot{display:grid!important;width:245px!important}.r17-hero .r14-today-mascot img{width:245px!important;height:190px!important;object-fit:contain!important}
.r17-mission{position:relative!important;min-height:245px;background:linear-gradient(135deg,#2d84ff,#0f69f1 62%,#0a5bda)!important;border-radius:28px!important;padding:28px 30px!important;box-shadow:0 20px 46px rgba(20,100,230,.24)!important}.r17-mission:before{content:'〰';position:absolute;right:28px;top:22px;font-size:64px;color:#ffffff22}.r17-mission .mission-copy{max-width:680px}.r17-mission .mission-copy h2{font-size:31px!important}.r17-mission .r14-mission-mascot{display:block!important;position:absolute!important;right:30px!important;bottom:-8px!important;width:155px!important;opacity:1!important}.r17-mission .r14-mission-mascot img{width:155px!important;height:155px!important;object-fit:contain!important}.r17-mission .r15-goal-widget{display:none!important}.r17-mission .btn.coral{min-width:230px;background:#fff!important;color:var(--r17-blue)!important;border-radius:999px!important;font-size:15px!important}.r17-today .r15-stat-strip{grid-template-columns:repeat(3,1fr)!important;margin:16px 0 14px!important}.r17-today .r15-stat-strip article:nth-child(4){display:none}.r17-today .r15-stat-strip article{border-radius:20px!important;min-height:112px;padding:16px!important}.r17-goal-card-side{background:#fff!important;border-radius:24px!important;padding:22px!important;box-shadow:0 12px 32px rgba(43,78,132,.08)!important}.r17-goal-card-side:after{content:'🐼';float:right;font-size:52px;margin-top:-25px;opacity:.95}.r17-goal-card-side h3{font-size:20px!important;color:var(--r17-navy)!important}.r17-goal-card-side .progress-meter{height:10px!important}.r17-suggestions{margin:14px 0 18px}.r17-suggestions h2{margin:3px 0;color:var(--r17-navy);font-size:22px}.r17-suggestion-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.r17-suggestion{position:relative;min-height:116px;padding:16px;border-radius:20px;text-decoration:none;border:1px solid var(--r17-line);background:#eafaf2;color:var(--r17-navy);overflow:hidden}.r17-suggestion.s2{background:#fff2df}.r17-suggestion.s3{background:#eaf5ff}.r17-suggestion.s4{background:#f2eaff}.r17-suggestion small,.r17-suggestion em{display:block;font-size:10px;font-style:normal;color:#65758f}.r17-suggestion b{display:block;margin:7px 0 4px;font-size:14px;max-width:78%}.r17-suggestion>span{position:absolute;right:12px;bottom:10px;font-size:34px}.r17-achievement{background:linear-gradient(145deg,#f8fcff,#eef7ff)!important;border:1px solid #cfe2ff!important;border-radius:28px!important;box-shadow:0 16px 42px rgba(31,99,189,.12)!important}.r17-league-forming{background:linear-gradient(135deg,#fff,#eef7ff)!important;border-radius:26px!important}
@media(max-width:900px){.r17-today .home-layout{grid-template-columns:1fr!important}.r17-suggestion-row{grid-template-columns:1fr 1fr}.r17-onboard-copy{padding-right:170px!important}.r17-onboarding-panda{width:150px!important}.r17-onboarding-panda img{width:150px!important;height:150px!important}.r17-mission .r14-mission-mascot{right:16px!important;width:120px!important}.r17-mission .r14-mission-mascot img{width:120px!important;height:120px!important}}
@media(max-width:520px){.r17-onboarding-shell{padding:18px!important;border-radius:0!important;border-left:0!important;border-right:0!important;box-shadow:none!important}.r17-onboard-copy{padding-right:0!important}.r17-onboard-copy h1{font-size:38px!important;line-height:1.06!important}.r17-onboarding-panda{position:relative!important;right:auto!important;top:auto!important;width:100%!important;height:118px!important;margin:-10px 0 8px!important}.r17-onboarding-panda img{position:absolute;right:0;width:132px!important;height:132px!important}.r17-onboarding-panda span{right:112px!important;top:6px!important;width:150px!important}.r17-goal-grid{gap:12px}.r17-goal-card{min-height:192px!important}.r17-goal-card .r17-goal-art{height:105px;font-size:60px}.r17-goal-card b{font-size:17px;padding:11px 12px 3px}.r17-goal-card small{font-size:11px;padding:0 12px 12px}.r17-goal-card .r17-goal-icon{width:42px;height:42px;left:11px;top:11px;font-size:21px}.r17-level-grid{grid-template-columns:1fr}.r17-level-grid .r17-level-quick{grid-column:auto}.r17-level-grid button{min-height:145px!important}.r17-hero{padding:12px 4px!important}.r17-hero .r14-today-mascot{display:grid!important;width:100%!important;height:120px!important;justify-items:end!important}.r17-hero .r14-today-mascot img{width:145px!important;height:120px!important}.r17-hero h1{font-size:34px!important}.r17-mission{padding:22px!important;min-height:250px}.r17-mission .mission-copy{padding-right:0!important}.r17-mission .r14-mission-mascot{display:none!important}.r17-today .r15-stat-strip{grid-template-columns:1fr 1fr!important}.r17-today .r15-stat-strip article:nth-child(3){grid-column:1/3}.r17-suggestion-row{grid-template-columns:1fr 1fr}.r17-suggestion{min-height:104px;padding:13px}.r17-suggestion b{font-size:12px}.r17-suggestion>span{font-size:28px}.r17-alt-goals{align-items:stretch}.r17-alt-goals>span{width:100%}}
@media(max-width:390px){.r17-goal-grid,.r17-suggestion-row{grid-template-columns:1fr 1fr}.r17-goal-card{min-height:182px!important}.r17-onboard-copy h1{font-size:34px!important}}
/* R17 SPEAKUP VISUAL SYSTEM END */

/* R18 FIRST WIN + USER MASCOT */
.r18-plan-card{max-width:980px;margin:18px auto;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;align-items:center;padding:34px;border:1px solid #dfe8f6;border-radius:30px;background:linear-gradient(135deg,#fff 0,#f6fbff 55%,#edf6ff 100%);box-shadow:0 24px 60px rgba(38,85,156,.12)}.r18-plan-copy h1{font-size:clamp(36px,5vw,58px);margin:5px 0 10px;color:#10245a}.r18-plan-copy>p{color:#60718d}.r18-plan-copy dl{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0}.r18-plan-copy dl div{padding:13px;border:1px solid #e1e8f3;border-radius:16px;background:#fff}.r18-plan-copy dt{font-size:10px;color:#73829a;font-weight:900;text-transform:uppercase}.r18-plan-copy dd{margin:3px 0 0;font-weight:900;color:#183763}.r18-plan-art{display:grid;place-items:center}.r18-plan-art img{width:min(260px,100%);height:auto;object-fit:contain;filter:drop-shadow(0 18px 28px rgba(25,93,188,.16))}
.r18-first-today .r18-deferred{opacity:.82}.r18-first-today .r17-mission{box-shadow:0 28px 65px rgba(20,103,225,.28)!important}.r18-first-today .r18-secondary{order:20}.r18-hide-base-celebration{display:none!important}.r18-first-win{max-width:920px;margin:12px auto;display:grid;grid-template-columns:260px minmax(0,1fr);gap:24px;align-items:center;padding:30px;border:1px solid #dbe7f6;border-radius:30px;background:linear-gradient(135deg,#fff8db,#fff 48%,#eef8ff);box-shadow:0 22px 55px rgba(43,78,132,.12)}.r18-win-art img{width:100%;height:auto;object-fit:contain}.r18-first-win h1{font-size:clamp(34px,5vw,52px);margin:5px 0;color:#10245a}.r18-save-box{display:grid;gap:9px;margin-top:18px;padding:16px;border:1px solid #dfe7f2;border-radius:18px;background:rgba(255,255,255,.88)}.r18-save-box small{color:#687893}.r18-skip-login{text-align:center;color:#6b7890;font-size:12px;font-weight:800;text-decoration:none;padding:8px}
.r18-mascot-studio{background:#fff;border:1px solid var(--line);border-radius:22px;padding:18px;box-shadow:var(--shadow-soft)}.r18-mascot-layout{display:grid;grid-template-columns:170px minmax(0,1fr);gap:18px;align-items:center;margin:12px 0}.r18-mascot-preview{min-height:160px;display:grid;place-items:center;border-radius:20px;background:linear-gradient(145deg,#f1f8ff,#fff9e8);overflow:hidden}.r18-mascot-preview img{width:150px;height:150px;object-fit:contain}.r18-mascot-controls{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.r18-mascot-controls p{width:100%;margin:4px 0}.r18-image-guide{margin-top:12px;border-top:1px solid #e4eaf3;padding-top:12px}.r18-image-guide summary{cursor:pointer;font-weight:900;color:#26446f}.r18-image-guide ul{padding-left:20px;color:#5f6f88}.r18-prompt-sample{position:relative;padding:14px;border:1px solid #dfe7f2;border-radius:16px;background:#f8fbff}.r18-prompt-sample pre{white-space:pre-wrap;font:12px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace;color:#324b6f;margin:10px 0 0}.r18-brand-mascot{width:34px;height:34px;object-fit:contain;border-radius:50%}
@media(max-width:700px){.r18-plan-card{grid-template-columns:1fr;padding:20px;border-radius:24px}.r18-plan-copy dl{grid-template-columns:1fr 1fr}.r18-plan-art{grid-row:1}.r18-plan-art img{width:150px}.r18-first-win{grid-template-columns:1fr;padding:20px;text-align:center}.r18-win-art img{width:150px}.r18-mascot-layout{grid-template-columns:1fr}.r18-mascot-preview{min-height:140px}.r18-mascot-controls{justify-content:center}.r18-plan-copy .action-row{display:grid}.r18-plan-copy .btn{width:100%}}
@media(max-width:390px){.r18-plan-copy dl{grid-template-columns:1fr}.r18-plan-card{padding:17px}.r18-plan-copy h1{font-size:34px}}
/* R18_FIRST_WIN_RETENTION_END */
.r18-upload-label{display:grid;gap:6px;width:100%;font-size:12px;color:#405474}.r18-upload-label input[type=file]{max-width:100%;min-height:44px;padding:8px;border:1px solid #cedbea;border-radius:12px;background:#fff;color:#405474;font:inherit}.r18-upload-label input[type=file]::file-selector-button{min-height:32px;margin-right:8px;border:0;border-radius:9px;padding:0 10px;background:#eaf2ff;color:#1769e8;font-weight:900;cursor:pointer}

/* R19 AUTH + BROWSER AUDIT FIXES */
.r19-auth-success{display:grid;gap:3px;margin:0 0 14px;padding:13px 15px;border:1px solid #bfe6d3;border-radius:15px;background:#effff7;color:#115b45}.r19-auth-success span{font-size:12px;color:#456b60}.r19-guest-preview{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:14px}.r19-guest-preview span,.r19-guest-preview small{padding:7px 9px;border:1px solid var(--r16-line,#e2e9f5);border-radius:999px;background:#fff;font-size:11px;color:#536783}.r19-guest-preview small{flex-basis:100%;border:0;background:transparent}.release-disclosure{line-height:1.5}
@media(max-width:520px){.r19-auth-success{padding:12px}.r19-guest-preview{justify-content:flex-start}}

/* R20_RESPONSIVE_SHELL_HARDENING_START
 * Never allow the root formatting box to shrink around fixed chrome.
 * The desktop content column owns all viewport width not used by the 176px nav.
 */
html{width:100%;min-width:100%;max-width:none}
body{width:100%;min-width:100%;max-width:none;min-height:100vh}
main{width:calc(100% - 188px);min-width:0;max-width:none}
main>.page{width:100%;min-width:0}
.r18-mascot-studio,.r18-mascot-layout,.r18-mascot-layout>*{min-width:0;max-width:100%}
.r18-mascot-studio .section-title{flex-wrap:wrap}
.r18-mascot-studio :is(h2,p,summary,li,pre){overflow-wrap:anywhere}
.r18-mascot-controls,.r18-upload-label,.r18-upload-label input[type=file]{min-width:0;max-width:100%;width:100%}
@media(min-width:851px){
  main{width:calc(100% - 176px);margin-left:176px}
  html[data-onboarding="core"] main{width:100%;margin-left:0}
}
@media(max-width:850px){
  main{width:100%;min-width:0;max-width:none;margin-left:0}
  .page-heading{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;align-items:start}
  .page-heading>*{min-width:0;max-width:100%}
  .page-heading :is(.companion-scene,.student-illustration){width:100%;max-width:100%}
  .page-heading h1{font-size:clamp(30px,9vw,40px);line-height:1.08;overflow-wrap:anywhere}
}
/* R20_RESPONSIVE_SHELL_HARDENING_END */

/* R21 AGE-NEUTRAL ACCOUNTS + WEEKLY EMAIL REPORTS */
.r21-age-note{margin:12px 0;padding:11px 13px;border-radius:14px;background:#eef7ff;color:#405474;font-size:13px}.r8-auth-grid select,.r21-google-age select,.r21-reporting input,.r21-reporting select{width:100%;min-height:44px;border:1px solid var(--line);border-radius:12px;padding:9px 11px;background:#fff;color:var(--ink);font:inherit}.r21-google-age{display:grid;gap:5px;min-width:170px;font-size:12px;font-weight:800}.r18-save-box .r21-google-age{text-align:left}.r21-reporting{margin-top:14px;padding:20px;border:1px solid #dce7f5;border-radius:22px;background:linear-gradient(145deg,#fff,#f7fbff);box-shadow:var(--shadow-soft)}.r21-reporting>p{color:var(--muted)}.r21-report-form{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:14px;border:1px solid var(--line);border-radius:16px;background:#fff}.r21-switch{display:flex;gap:10px;align-items:flex-start}.r21-switch input{width:22px;min-width:22px;height:22px}.r21-switch span,.r21-switch small{display:block}.r21-switch small{color:var(--muted);font-weight:500}.r21-guardian{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.r21-guardian>form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;align-items:end}.r21-guardian label{display:grid;gap:5px;font-weight:800}.r21-guardian-list{display:grid;gap:7px;margin-top:10px}.r21-guardian-list article{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:13px;background:#fff}.r21-guardian-list small{display:block;color:var(--muted)}.r21-report-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:14px 0 8px}.r21-minor-social{background:linear-gradient(145deg,#fff,#f4f9ff)}
@media(max-width:700px){.r21-reporting{padding:16px}.r21-report-form,.r21-guardian-list article{align-items:stretch;flex-direction:column}.r21-report-form .btn,.r21-report-actions .btn{width:100%}.r21-guardian>form{grid-template-columns:1fr}.r21-guardian>form .btn{width:100%}.r8-google-row .r21-google-age{width:100%}}
/* R21 END */

/* R21.1 profile intrinsic-width fix: one implicit grid track must be shrinkable. */
.profile-main-column,.r10-profile-group-body{grid-template-columns:minmax(0,1fr)}
@media(max-width:850px){
  .profile-page :is(.profile-layout,.profile-main-column,.r10-profile-group-body){min-width:0;max-width:100%;width:100%}
  .profile-page :is(.r18-mascot-studio,.r16-badge-gallery,.r9-access-summary,.r10-profile-group,.r21-reporting){min-width:0;max-width:100%;width:100%}
  .profile-page .r16-badge-tabs{flex-wrap:wrap;overflow:visible}
  .profile-page .r16-badge-tabs button{flex:1 1 auto;min-width:0}
}

/* R23 DOB + GUARDIAN VERIFICATION */
.r23-birth-panel{margin:14px 0;padding:18px;border:1px solid #cfe0f6;border-radius:22px;background:linear-gradient(145deg,#fff,#f2f8ff);box-shadow:var(--shadow-soft)}
.r23-birth-panel>p{color:var(--muted);max-width:760px}.r23-birth-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:10px;align-items:end}.r23-birth-form label{display:grid;gap:5px;min-width:0}.r23-birth-form input{width:100%;min-width:0;min-height:46px;padding:0 11px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);font:inherit}.r23-birth-form label small{color:var(--muted);font-weight:500}.r23-birth-form [hidden]{display:none!important}.r23-birth-form #r23-birth-feedback{grid-column:1/-1}.r23-birth-status{display:flex;align-items:center;gap:10px;margin:12px 0;padding:12px 14px;border:1px solid var(--line);border-radius:16px;background:#fff}.r23-birth-status>span{font-size:24px}.r23-birth-status>div{display:grid;min-width:0;flex:1}.r23-birth-status small{color:var(--muted);overflow-wrap:anywhere}.r23-age-gate{max-width:700px}.r23-age-gate .btn{margin:4px}
[data-r8-register] [data-r23-guardian-wrap][hidden]{display:none!important}
[data-r8-register] [data-r23-guardian-wrap] small{display:block;color:var(--muted);font-weight:500;margin-top:4px}
@media(max-width:700px){.r23-birth-form{grid-template-columns:1fr}.r23-birth-form .btn{width:100%}.r23-birth-status{align-items:flex-start;flex-wrap:wrap}.r23-birth-status .btn{width:100%}}
/* R23 DOB + GUARDIAN VERIFICATION END */
