:root{--color-cream: #fbf6ec;--color-bg: var(--color-cream);--color-bg-soft: #fff8ef;--color-card: #fffaf1;--color-card-soft: #f4e8d8;--color-espresso: #2f2923;--color-primary: #d48a32;--color-primary-hover: #c7772f;--color-fox-caramel: var(--color-primary);--color-caramel: var(--color-primary);--color-primary-text: #fff8ef;--color-secondary: #71866f;--color-secondary-hover: #7c9478;--color-sage: var(--color-secondary);--color-sage-dark: #587058;--color-honey: #f2b84b;--color-dusty-blue: #6f91a8;--color-soft-coral: #d9826b;--color-mauve: #9b7895;--color-warm-plum: #8f5f78;--color-leaf: #7aa66a;--color-accent: #c96f4a;--color-terracotta: var(--color-accent);--color-terracotta-dark: #9f5138;--color-neutral: #4a3a30;--color-text: var(--color-espresso);--color-cocoa: var(--color-text);--color-text-muted: #6f6257;--color-on-primary: var(--color-primary-text);--color-warm-note: var(--color-accent);--color-warm-note-bg: #f6ddcc;--color-border: #e5d3bf;--color-border-strong: #d8b58d;--color-focus: rgba(216, 137, 58, .24);--shadow-soft: 0 14px 34px rgba(47, 36, 29, .09);--shadow-medium: 0 18px 48px rgba(47, 36, 29, .13);color:var(--color-text);background:var(--color-bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;background:linear-gradient(135deg,var(--color-bg) 0%,var(--color-bg-soft) 58%,var(--color-card-soft) 100%);display:grid;place-items:center;padding:24px 32px}.hero{width:min(840px,100%);display:grid;place-items:center;text-align:center}.hero-copy{width:100%;display:grid;justify-items:center}.brand-mark{display:inline-flex;align-items:center;gap:12px;color:var(--color-text);font-size:.98rem;font-weight:850;margin-bottom:16px}.brand-mark img{width:48px;height:48px;border:2px solid #ffffff;border-radius:50%;object-fit:cover;box-shadow:0 10px 24px #4a352729}.eyebrow{color:var(--color-primary);font-size:1rem;font-weight:800;letter-spacing:0;margin:0 0 18px}h1{color:var(--color-text);font-size:clamp(2.8rem,7vw,5.6rem);line-height:1;letter-spacing:0;margin:0;max-width:760px}.tagline{color:var(--color-secondary);font-size:clamp(1.42rem,3vw,2.16rem);font-weight:850;line-height:1.18;margin:12px 0 0}.rhythm-line{color:var(--color-primary);font-size:clamp(1rem,1.8vw,1.18rem);font-weight:850;line-height:1.35;margin:4px 0 -28px}.start-hero-image-frame{position:relative;width:min(940px,96vw);min-height:382px;overflow:visible;display:flex;align-items:center;justify-content:center;margin:0 auto}.start-hero-image-frame img{width:min(845px,98vw);height:clamp(470px,58vw,620px);object-fit:contain;object-position:center;position:relative;z-index:1}.home-soundwave{position:absolute;width:clamp(92px,9vw,116px);height:auto;left:calc(50% + 82px);top:31%;z-index:0;opacity:.82;filter:drop-shadow(0 0 8px rgba(216,137,58,.18));pointer-events:none}.home-soundwave rect{opacity:.9}.wave-sage{fill:var(--color-secondary)}.wave-amber{fill:var(--color-primary)}.wave-terracotta{fill:var(--color-accent)}.subtitle{color:var(--color-text-muted);display:grid;gap:2px;font-size:clamp(.98rem,1.35vw,1.12rem);font-weight:680;line-height:1.38;margin:-18px 0 16px;max-width:600px}.subtitle span:first-child{color:var(--color-secondary);font-size:clamp(1.12rem,1.65vw,1.32rem);font-weight:850}.code-card{width:min(560px,100%);border:1px solid rgba(155,95,47,.16);border-radius:8px;background:var(--color-card);padding:20px 22px;box-shadow:0 18px 48px #4a352724;text-align:left}.code-card label{display:block;color:var(--color-text);font-size:1rem;font-weight:850;margin-bottom:12px}.code-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px}.code-row input{width:100%;min-height:54px;border:2px solid var(--color-border-strong);border-radius:8px;background:var(--color-card);color:var(--color-text);font-size:1.04rem;font-weight:750;padding:0 16px;text-transform:uppercase;transition:border-color .16s ease,box-shadow .16s ease}.code-row input:focus{border-color:var(--color-primary);box-shadow:0 0 0 4px var(--color-focus);outline:none}.primary-action{border:0;border-radius:8px;background:var(--color-primary);color:var(--color-on-primary);font-size:1.02rem;font-weight:850;min-height:54px;padding:0 26px;box-shadow:0 14px 28px #4a352738;transition:transform .16s ease,box-shadow .16s ease,background .16s ease}.primary-action:hover{transform:translateY(-2px);background:var(--color-primary-hover);box-shadow:0 18px 34px #4a352738}.primary-action:focus-visible,.choice-card:focus-within,.start-link:focus-visible,.topic-list:focus-within{outline:4px solid rgba(155,95,47,.28);outline-offset:4px}.code-message{color:var(--color-warm-note);font-size:.98rem;font-weight:800;line-height:1.4;margin:14px 0 0}.dashboard-shell{place-items:start center;padding:28px}.dashboard{width:min(1120px,100%);display:grid;gap:22px}.dashboard-header{min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:16px}.header-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.header-help .student-info-card{box-shadow:none;overflow:visible;position:relative}.header-help .student-info-card summary{align-items:center;border:1px solid rgba(143,165,138,.24);border-radius:8px;background:#fffaf1e0;color:var(--color-sage-dark);display:inline-flex;font-size:.9rem;font-weight:900;min-height:38px;padding:0 14px;white-space:nowrap}.header-help .student-info-card summary:after{content:""}.header-help .student-info-content{border:1px solid rgba(143,165,138,.22);border-radius:8px;background:var(--color-card);box-shadow:var(--shadow-medium);margin-top:10px;padding:18px;position:absolute;right:0;width:min(420px,calc(100vw - 40px));z-index:4}.brand-mark.compact{margin:0;font-size:1.04rem}.brand-help{align-items:start;display:flex;flex-wrap:wrap;gap:12px}.brand-help .student-info-card{box-shadow:none;overflow:visible}.brand-help .student-info-card summary{border-radius:999px;border:1px solid rgba(143,165,138,.24);background:#fffaf1b8;min-height:36px;padding:7px 12px;white-space:nowrap}.brand-help .student-info-card summary:after{content:""}.brand-help .student-info-content{border:1px solid rgba(143,165,138,.22);border-radius:8px;background:var(--color-card);box-shadow:var(--shadow-medium);margin-top:10px;padding:18px;width:min(420px,calc(100vw - 40px))}.language-pill{align-items:center;border:1px solid rgba(143,165,138,.24);border-radius:8px;background:#fffaf1e0;color:var(--color-sage-dark);display:inline-flex;font-size:.9rem;font-weight:900;min-height:38px;padding:0 14px;white-space:nowrap}.language-options{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.language-pill.is-active{border-color:#6f866b57;background:#fffaf1f5}.language-pill.is-disabled{border-color:#8fa58a2e;background:#fffaf18f;color:var(--color-text-muted);opacity:.52}.student-greeting{align-items:center;display:grid;gap:18px;grid-template-columns:auto minmax(0,1fr);margin-inline:auto;max-width:900px;padding:4px 0 10px;text-align:left}.practice-hero-image{display:block;height:auto;margin:0;max-height:164px;max-width:230px;object-fit:contain;pointer-events:none;filter:drop-shadow(0 14px 20px rgba(74,53,39,.15));width:clamp(152px,20vw,220px)}.student-greeting h1{color:var(--color-sage-dark);font-size:clamp(1.68rem,3.35vw,2.55rem);line-height:1.08;margin:0;max-width:780px}.choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.choice-card{min-height:320px;border:1px solid rgba(216,137,58,.18);border-radius:8px;background:linear-gradient(180deg,var(--color-card) 0%,var(--color-bg-soft) 100%);color:var(--color-text);display:grid;grid-template-rows:auto 1fr auto;gap:16px;padding:24px;position:relative;overflow:hidden;box-shadow:var(--shadow-soft);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.choice-card:before{content:"";display:block;height:4px;left:0;opacity:.9;position:absolute;right:0;top:0}.choice-card:nth-child(1):before{background:linear-gradient(90deg,#d8893adb,#d8893a47)}.choice-card:nth-child(2):before{background:linear-gradient(90deg,#8fa58ae0,#8fa58a47)}.choice-card:nth-child(3):before{background:linear-gradient(90deg,#c96f4ac7,#c96f4a38)}.choice-card:hover{border-color:#d8893a4d;box-shadow:var(--shadow-medium);transform:translateY(-2px)}.choice-card-copy{align-self:start;display:grid;gap:12px;grid-row:1;min-height:112px}.ready-badge{justify-self:start;border-radius:999px;background:#8fa58a2e;color:var(--color-sage-dark);font-size:.74rem;font-weight:900;padding:6px 10px}.choice-card h2{color:var(--color-sage-dark);font-size:clamp(1.35rem,2.4vw,1.72rem);line-height:1.16;margin:0}.choice-card p{color:var(--color-text-muted);font-size:1rem;font-weight:680;line-height:1.55;margin:0}.choice-card-footer{align-items:center;display:flex;gap:14px;grid-row:3;justify-content:space-between;min-height:46px}.status-stack{display:grid;gap:7px}.pack-count,.placeholder-note{color:var(--color-terracotta-dark);font-size:.88rem;font-weight:850;line-height:1.3}.start-link{flex:0 0 auto;border:0;border-radius:8px;background:var(--color-primary);color:var(--color-on-primary);font-size:.95rem;font-weight:900;min-height:44px;min-width:92px;margin-top:0;padding:0 20px;transition:background .16s ease,transform .16s ease}.start-link:hover{background:var(--color-primary-hover);transform:translateY(-1px)}.start-link:disabled{cursor:default;opacity:.68;transform:none}.topic-list{align-self:start;border:1px solid rgba(143,165,138,.18);border-radius:8px;background:#8fa58a1f;color:var(--color-sage-dark);font-size:.92rem;font-weight:850;grid-row:2;line-height:1.4;min-height:78px;padding:10px 12px}.journey-summary{align-self:start;border:1px solid rgba(216,137,58,.16);border-radius:8px;background:#f4e8d8b3;display:grid;gap:12px;grid-row:2;min-height:78px;padding:10px 12px}.journey-summary p{align-items:baseline;color:var(--color-text-muted);display:flex;gap:8px;font-size:1rem;font-weight:850;line-height:1.4;margin:0}.journey-summary strong{color:var(--color-secondary);font-size:1.6rem;line-height:1}.best-try-badge{justify-self:start;border-radius:999px;background:#c96f4a1f;color:var(--color-terracotta-dark);font-size:.82rem;font-weight:900;line-height:1.25;padding:7px 10px}.practice-detail{display:grid;gap:18px}.back-link{justify-self:start;border:1px solid rgba(143,165,138,.24);border-radius:8px;background:#fffaf1e0;color:var(--color-sage-dark);font-size:.9rem;font-weight:900;min-height:38px;padding:0 14px}.back-link:hover{background:#8fa58a2e}.danger-link{border-color:#c96f4a57;color:var(--color-terracotta-dark)}.danger-link:hover{background:#c96f4a24}.detail-heading{display:grid;gap:8px}.detail-heading h1{color:var(--color-sage-dark);font-size:clamp(2rem,4vw,3.1rem);line-height:1.08;margin:0}.detail-heading p,.empty-note{color:var(--color-text-muted);font-size:1rem;font-weight:680;line-height:1.55;margin:0}.pack-list,.sentence-list{display:grid;gap:12px}.pack-option,.sentence-card,.journey-detail-card{border:1px solid rgba(216,137,58,.16);border-radius:8px;background:linear-gradient(180deg,var(--color-card) 0%,var(--color-bg-soft) 100%);box-shadow:var(--shadow-soft)}.pack-option{align-items:center;display:flex;gap:16px;justify-content:space-between;padding:18px}.pack-option h2{color:var(--color-sage-dark);font-size:1.24rem;line-height:1.2;margin:0 0 6px}.pack-option p{color:var(--color-text-muted);font-size:.95rem;font-weight:750;margin:0}.sentence-card{align-items:center;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;padding:16px 18px}.student-backend-layout{align-items:start;display:grid;gap:20px;grid-template-columns:minmax(240px,.72fr) minmax(0,1.45fr)}.student-backend-layout.is-focused{grid-template-columns:minmax(0,1fr)}.student-pack-selector,.student-practice-status-card,.student-readonly-practice,.student-pack-intro-card{border:1px solid rgba(216,137,58,.16);border-radius:8px;background:linear-gradient(180deg,var(--color-card) 0%,var(--color-bg-soft) 100%);box-shadow:var(--shadow-soft);display:grid;gap:12px;padding:18px}.student-readonly-practice{min-height:560px;grid-template-rows:auto minmax(170px,1fr) auto auto}.student-pack-intro-card{align-content:center;background:linear-gradient(135deg,#fff8e8f5,#fffdf8fa 62%),var(--color-card);border-color:#d8893a4d;gap:16px;min-height:420px;overflow:hidden;position:relative}.student-pack-intro-card:after{background:url(/images/paul_practice_intro.PNG) center / contain no-repeat;content:"";height:168px;opacity:.92;position:absolute;right:12px;top:10px;width:168px}.student-pack-intro-card h2{color:var(--color-sage-dark);font-size:clamp(1.45rem,2vw,2rem);line-height:1.16;margin:0;position:relative;z-index:1}.student-pack-intro-card p{color:var(--color-text);font-size:1.05rem;font-weight:760;line-height:1.55;margin:0;max-width:58ch;position:relative;z-index:1}.student-pack-intro-card .start-link{justify-self:start;position:relative;z-index:1}.student-practice-status-card{align-content:start;gap:14px;min-height:420px}.student-practice-status-heading{align-items:start;display:grid;gap:10px;grid-template-columns:auto minmax(0,1fr)}.student-practice-status-heading .status-icon{align-items:center;background:#8fa58a2e;border-radius:999px;color:var(--color-sage-dark);display:inline-flex;font-size:1rem;font-weight:950;height:30px;justify-content:center;width:30px}.student-practice-status-heading h2{color:var(--color-sage-dark);font-size:1.18rem;line-height:1.2;margin:0}.student-practice-status-heading p{color:var(--color-text-muted);font-size:.94rem;font-weight:820;line-height:1.35;margin:4px 0 0}.student-practice-status-list{display:grid;gap:9px;margin:0}.student-practice-status-list div{border:1px solid rgba(111,134,107,.14);border-radius:8px;background:#fffdf8c7;display:grid;gap:4px;padding:10px 11px}.student-practice-status-list dt{color:var(--color-text-muted);font-size:.78rem;font-weight:900;line-height:1.1}.student-practice-status-list dd{color:var(--color-sage-dark);font-size:.96rem;font-weight:920;line-height:1.3;margin:0}.student-practice-status-stars{align-items:center;border:1px solid rgba(216,137,58,.2);border-radius:8px;background:#fff8e8cc;display:grid;gap:9px;grid-template-columns:auto minmax(0,1fr);margin-top:auto;padding:11px}.student-practice-status-stars span{color:var(--color-primary);font-size:1.15rem;line-height:1}.student-practice-status-stars p{color:var(--color-text);font-size:.9rem;font-weight:820;line-height:1.35;margin:0}.student-pack-selector h2,.student-readonly-practice h2{color:var(--color-sage-dark);font-size:1.18rem;line-height:1.2;margin:0}.student-pack-selector p{color:var(--color-text-muted);font-size:.94rem;font-weight:780;line-height:1.45;margin:0}.student-identity-placeholder{border:1px solid rgba(111,134,107,.2);border-radius:8px;background:#eff6f3b8;display:grid;gap:9px;padding:11px 12px}.student-identity-placeholder h3{color:var(--color-sage-dark);font-size:.94rem;font-weight:950;line-height:1.2;margin:0}.student-identity-placeholder dl{display:grid;gap:6px;margin:0}.student-identity-placeholder dl div{align-items:baseline;display:flex;gap:8px;justify-content:space-between}.student-identity-placeholder dt{color:var(--color-text-muted);font-size:.82rem;font-weight:780}.student-identity-placeholder dd{color:var(--color-text);font-size:.84rem;font-weight:950;margin:0;text-align:right}.student-identity-placeholder dl div:not(:first-child) dd{color:var(--color-primary-hover);font-weight:850}.student-pack-buttons{display:grid;gap:10px}.student-pack-button{border:1px solid rgba(111,134,107,.24);border-radius:8px;background:#fffdf8;color:var(--color-text);display:grid;gap:4px;justify-items:start;padding:14px;text-align:left;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.student-pack-button.is-selected{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-focus);transform:translate(2px)}.student-pack-button span{color:var(--color-sage-dark);font-weight:920;line-height:1.25}.student-pack-button small{color:var(--color-text-muted);font-weight:760}.student-practice-card-top{display:grid;gap:8px}.student-practice-card-top p{color:var(--color-text-muted);font-size:.98rem;font-weight:760;line-height:1.45;margin:0}.student-readonly-sentence{align-items:center;border:1px solid rgba(111,134,107,.18);border-radius:8px;background:#fffdf8db;display:grid;gap:18px;min-height:190px;padding:24px}.student-readonly-sentence p{color:var(--color-text);font-size:clamp(1.45rem,2.6vw,2.15rem);font-weight:860;letter-spacing:0;line-height:1.28;margin:0}.student-listen-row{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.student-listen-row .back-link{min-height:42px}.student-listen-row span{color:var(--color-text-muted);font-size:.94rem;font-weight:760}.student-readonly-actions{border-top:1px solid rgba(111,134,107,.16);display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));padding-top:16px}.student-readonly-actions .back-link,.student-readonly-actions .start-link{align-items:center;display:inline-flex;justify-content:center;min-height:46px;width:100%}.student-assessment-panel{border:1px solid rgba(143,165,138,.18);border-radius:8px;background:#eff6f385;display:grid;gap:12px;padding:14px}.student-assessment-actions{align-items:end;display:grid;gap:20px;grid-template-columns:88px 126px 88px;justify-content:center}.student-speaker-button,.student-mic-button,.student-own-recording-button{align-items:center;border:0;border-radius:999px;cursor:pointer;display:inline-grid;font:inherit;font-weight:920;gap:7px;justify-content:center;line-height:1.15;justify-items:center;padding:10px;text-align:center}.student-speaker-button{background:#fffdf8;box-shadow:inset 0 0 0 1px #6f866b3d;color:var(--color-sage-dark);height:88px;width:88px}.student-speaker-button .play-icon{border-bottom-width:10px;border-left-width:16px;border-top-width:10px;margin:0 0 0 3px}.student-mic-button{background:linear-gradient(180deg,var(--color-primary) 0%,var(--color-primary-hover) 100%);box-shadow:0 14px 24px #a75b2b33;color:#fffdf8;height:112px;transition:box-shadow .18s ease,height .18s ease,transform .18s ease;width:112px}.student-mic-button .mic-icon{height:34px;margin-bottom:6px;width:24px}.student-mic-button .mic-icon:before{bottom:-16px;height:13px}.student-mic-button .mic-icon:after{bottom:-6px;height:20px;width:20px}.student-own-recording-button{background:#f0f1ef;box-shadow:inset 0 0 0 1px #6f866b2e;color:#4b5b4885;height:88px;width:88px}.student-own-recording-control{display:inline-grid;height:88px;justify-items:center;position:relative;width:88px}.student-own-recording-control:focus{outline:3px solid rgba(111,134,107,.36);outline-offset:4px}.student-own-recording-tooltip{background:#355243;border-radius:6px;bottom:calc(100% + 10px);color:#fffdf8;display:none;font-size:.74rem;font-weight:760;left:50%;line-height:1.3;padding:8px 9px;position:absolute;text-align:center;transform:translate(-50%);width:min(220px,72vw);z-index:2}.student-own-recording-control:hover .student-own-recording-tooltip,.student-own-recording-control:focus .student-own-recording-tooltip,.student-own-recording-control:focus-within .student-own-recording-tooltip{display:block}.student-own-recording-button.is-available{background:#fffdf8;box-shadow:inset 0 0 0 1px #6f866b47;color:var(--color-sage-dark)}.student-own-recording-button .headphones-icon{height:24px;margin-bottom:3px;width:34px}.student-mic-button.is-recording{animation:student-mic-pulse 1.8s ease-in-out infinite;background:linear-gradient(180deg,#c45f4b,#a7483a);box-shadow:0 0 0 5px #c45f4b2e,0 18px 28px #a7483a42;height:126px;transform:translateY(-1px);width:126px}.student-speaker-button:disabled,.student-mic-button:disabled,.student-own-recording-button:disabled{cursor:not-allowed;opacity:.55}@keyframes student-mic-pulse{0%,to{transform:translateY(-1px) scale(1)}50%{transform:translateY(-1px) scale(1.035)}}.student-control-label{display:block;font-size:.74rem;font-weight:950;line-height:1.05}.student-recording-status{align-items:center;border:1px solid rgba(216,137,58,.22);border-radius:8px;background:linear-gradient(180deg,#fff8e8,#fffdf8);display:grid;gap:10px;justify-items:center;padding:16px}.student-recording-status p{color:var(--color-sage-dark);font-size:1rem;font-weight:900;line-height:1.4;margin:0;text-align:center}.student-listening-wave{gap:6px;height:44px}.student-listening-wave span{animation:student-wave-listen .78s ease-in-out infinite;height:11px;width:5px}.student-listening-wave span:nth-child(1),.student-listening-wave span:nth-child(7){height:10px}.student-listening-wave span:nth-child(2),.student-listening-wave span:nth-child(6){height:18px}.student-listening-wave span:nth-child(3),.student-listening-wave span:nth-child(5){height:27px}.student-listening-wave span:nth-child(4){height:36px}@keyframes student-wave-listen{0%,to{transform:scaleY(.45)}35%{transform:scaleY(1.08)}62%{transform:scaleY(.72)}}.student-feedback-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.student-feedback-stable-area{min-height:182px}.student-feedback-stable-area .student-feedback-grid{min-height:100%}.student-current-feedback-card,.student-best-try-card{border-radius:8px;display:grid;gap:8px;min-height:158px;padding:14px}.student-current-feedback-card{border:1px solid rgba(111,134,107,.18);background:#fffdf8}.student-best-try-card{border:1px solid rgba(216,137,58,.26);background:linear-gradient(180deg,#fff8e8,#fffdf8);position:relative}.student-current-feedback-card h3,.student-best-try-card h3{color:var(--color-sage-dark);font-size:.98rem;line-height:1.2;margin:0}.student-current-feedback-card>span,.student-best-try-card>strong{color:var(--color-sage-dark);font-size:1.2rem;font-weight:950;line-height:1.2}.voice-power-card{border:1px solid rgba(216,137,58,.22);border-radius:8px;background:linear-gradient(180deg,#fffaf1,#fffdf8);box-shadow:0 10px 22px #4a352714;display:grid;gap:12px;padding:15px 18px 18px;width:100%}.voice-power-card.is-inactive{border-color:#6f625729;background:#fffdf8;box-shadow:none}.voice-power-heading{align-items:baseline;display:flex;flex-wrap:wrap;gap:8px 16px;justify-content:space-between}.voice-power-title{color:var(--color-text-muted);font-size:.88rem;font-weight:900;letter-spacing:0;line-height:1}.voice-power-heading strong{color:var(--color-sage-dark);font-size:clamp(1.08rem,2vw,1.3rem);font-weight:950;line-height:1.1}.voice-power-card.is-inactive .voice-power-heading strong{color:var(--color-text-muted)}.voice-power-track{display:grid;gap:9px;grid-template-columns:repeat(5,minmax(0,1fr));min-height:58px;padding:18px 0 8px}.voice-power-step{align-items:center;border-radius:999px;display:flex;height:28px;justify-content:center;position:relative}.voice-power-card.is-inactive .voice-power-step{opacity:.45}.voice-power-step-1{background:#d98a7d}.voice-power-step-2{background:#dfa064}.voice-power-step-3{background:#dfbd69}.voice-power-step-4{background:#83a8b6}.voice-power-step-5{background:#86a77f}.voice-power-step.is-active{animation:voice-power-pulse 2.8s ease-in-out infinite}.voice-power-marker{background:#fffdf8;border:2px solid rgba(75,91,72,.42);border-radius:999px;box-shadow:0 3px 7px #3e463821;height:72px;left:50%;object-fit:contain;position:absolute;top:50%;transform:translate(-50%,-50%);width:72px}@keyframes voice-power-pulse{0%{filter:brightness(1);opacity:.92;transform:scale(1)}50%{filter:brightness(1.1);opacity:1;transform:scale(1.035)}to{filter:brightness(1);opacity:.92;transform:scale(1)}}.student-current-feedback-card p,.student-best-try-card p{color:var(--color-text);font-size:1rem;font-weight:760;line-height:1.45;margin:0}.student-feedback-tip-line{display:block;margin-top:6px}.student-best-try-card small{color:var(--color-text-muted);font-size:.9rem;font-weight:740;line-height:1.35}.best-try-status{color:var(--color-primary);font-size:.98rem;line-height:1.25}.student-flow-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between}.student-logout-button{border-color:#8fa58a3d;color:var(--color-sage-dark)}.student-backend-completion-card{border:1px solid rgba(216,137,58,.18);border-radius:8px;background:radial-gradient(circle at 88% 8%,rgba(216,137,58,.14),transparent 34%),linear-gradient(180deg,var(--color-card) 0%,var(--color-bg-soft) 100%);box-shadow:var(--shadow-soft);display:grid;gap:16px;justify-items:start;margin-inline:auto;max-width:860px;padding:28px}.student-completion-hero{align-items:center;display:grid;gap:18px;grid-template-columns:minmax(0,1fr) minmax(150px,220px);width:100%}.student-completion-hero-copy{display:grid;gap:10px;justify-items:start}.student-completion-paul{align-self:end;filter:drop-shadow(0 12px 18px rgba(74,53,39,.16));justify-self:center;max-height:220px;max-width:100%;object-fit:contain}.student-backend-completion-card h1{color:var(--color-sage-dark);font-size:clamp(2rem,4vw,3.1rem);line-height:1.08;margin:0}.student-backend-completion-card p{color:var(--color-text-muted);font-size:1.05rem;font-weight:760;line-height:1.55;margin:0}.student-session-stars,.student-incomplete-practice,.student-completion-levels,.student-completion-voice-power{border:1px solid rgba(111,134,107,.16);border-radius:8px;background:#fffdf8;display:grid;gap:10px;padding:14px;width:100%}.student-session-stars{background:linear-gradient(90deg,rgba(143,165,138,.08),transparent 42%),#fffdf8}.student-incomplete-practice strong{color:var(--color-primary);font-size:1rem;line-height:1.35}.student-star-row{align-items:center;display:flex;flex-wrap:wrap;gap:9px}.student-star-row strong{color:var(--color-sage-dark);font-size:1rem;line-height:1.25}.student-star-icons{display:inline-flex;gap:5px}.practice-star-icon,.best-try-star-icon{align-items:center;border-radius:999px;display:inline-flex;font-size:1.2rem;font-weight:950;height:34px;justify-content:center;line-height:1;width:34px}.practice-star-icon{background:#8fa58a29;color:var(--color-sage-dark)}.best-try-star-icon{background:#d8893a29;color:var(--color-primary)}.student-completion-voice-power{gap:12px;padding:16px}.student-completion-voice-heading{align-items:baseline;display:flex;flex-wrap:wrap;gap:8px 14px;justify-content:space-between}.student-completion-voice-heading span{color:var(--color-text-muted);font-size:.9rem;font-weight:920;line-height:1}.student-completion-voice-heading strong{color:var(--color-sage-dark);font-size:1.1rem;font-weight:950;line-height:1.1}.student-completion-voice-track{display:grid;gap:8px;grid-template-columns:repeat(5,minmax(0,1fr))}.student-completion-voice-step{align-items:center;border-radius:999px;color:#413125d1;display:flex;font-size:.95rem;font-weight:950;height:28px;justify-content:center;line-height:1;min-width:0;position:relative}.student-completion-voice-step.is-highlighted{animation:voice-power-pulse 2.8s ease-in-out infinite;box-shadow:inset 0 0 0 2px #4131252e}.student-completion-levels h2{color:var(--color-sage-dark);font-size:1.08rem;line-height:1.2;margin:0}.student-completion-levels table{border-collapse:collapse;background:#fffaf194;border-radius:8px;overflow:hidden;width:100%}.student-completion-levels th,.student-completion-levels td{border-bottom:1px solid rgba(111,134,107,.14);color:var(--color-text);font-size:.96rem;font-weight:820;padding:9px 0;text-align:left}.student-completion-levels th:last-child,.student-completion-levels td:last-child{text-align:right}.student-completion-levels tbody tr:last-child td{border-bottom:0}.student-completion-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:4px}.student-completion-actions .back-link,.student-completion-actions .start-link{align-items:center;display:inline-flex;justify-content:center;min-height:46px}.sentence-number,.accent-pill{border-radius:999px;font-size:.82rem;font-weight:900;line-height:1;padding:8px 10px}.sentence-number{background:#d8893a29;color:var(--color-primary-hover)}.accent-pill{background:#8fa58a2e;color:var(--color-sage-dark)}.stars-pill{border-radius:999px;background:#c96f4a1f;color:var(--color-terracotta-dark);font-size:.82rem;font-weight:900;line-height:1;padding:8px 10px}.sentence-meta{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:end}.sentence-card p{color:var(--color-text);font-size:1.06rem;font-weight:760;line-height:1.45;margin:0}.journey-detail-card{display:grid;gap:14px;max-width:520px;padding:22px}.journey-detail-card p{color:var(--color-text-muted);font-size:1rem;font-weight:780;line-height:1.5;margin:0}.journey-detail-card p:first-child{align-items:baseline;display:flex;gap:10px}.journey-detail-card strong{color:var(--color-sage-dark);font-size:2.2rem;line-height:1}.journey-detail-note{max-width:420px}.voice-journey-page{gap:16px}.journey-hero-card,.journey-route-card,.journey-section-card,.journey-note{border:1px solid rgba(216,137,58,.16);border-radius:8px;background:linear-gradient(180deg,var(--color-card) 0%,var(--color-bg-soft) 100%);box-shadow:var(--shadow-soft)}.journey-hero-card{display:grid;gap:12px;padding:24px}.journey-helper,.journey-note,.journey-section-card p{color:var(--color-text-muted);font-size:1rem;font-weight:760;line-height:1.55;margin:0}.journey-route-card{background:radial-gradient(circle at 16% 35%,rgba(111,145,168,.12),transparent 20%),linear-gradient(180deg,var(--color-card) 0%,var(--color-bg-soft) 100%);overflow:hidden;padding:24px;position:relative}.journey-route{align-items:start;display:grid;gap:14px;grid-template-columns:repeat(5,minmax(0,1fr));position:relative}.journey-route:before{background:linear-gradient(90deg,var(--color-dusty-blue),var(--color-sage),var(--color-caramel));border-radius:999px;content:"";height:5px;left:10%;opacity:.42;position:absolute;right:10%;top:28px;transform:rotate(-1.5deg)}.journey-route:after{color:#6f91a857;content:"•   •   •   •";font-size:1.4rem;font-weight:950;left:22%;letter-spacing:.45rem;position:absolute;right:18%;text-align:center;top:33px}.journey-station{align-items:center;border:1px solid rgba(143,165,138,.16);border-radius:8px;background:#fff8efc7;box-shadow:0 10px 22px #2f241d0f;color:var(--color-sage-dark);display:grid;font-size:.88rem;font-weight:900;gap:9px;justify-items:center;line-height:1.25;padding:12px 8px;position:relative;text-align:center;z-index:1}.journey-marker{align-items:center;border:2px solid rgba(143,165,138,.34);border-radius:999px;background:var(--color-card);color:var(--color-sage-dark);display:inline-flex;height:44px;justify-content:center;width:44px}.journey-marker img{display:block;height:42px;object-fit:contain;transform:translateY(2px);width:42px}.journey-marker.current{border-color:#d8893a6b;background:var(--color-card);color:var(--color-primary);box-shadow:0 12px 24px #d8893a3d;transform:translateY(-4px)}.journey-station.current{border-color:#d8893a4d;background:#d8893a1c}.journey-stars-grid{display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr))}.journey-star-card{border:1px solid rgba(143,165,138,.18);border-radius:8px;background:#8fa58a1a;box-shadow:var(--shadow-soft);padding:16px}.journey-star-card span{color:var(--color-sage-dark);display:block;font-size:1.9rem;font-weight:950;line-height:1}.practice-star-card{border-color:#71866f3d;background:#71866f1f}.practice-star-card span{color:var(--color-sage-dark)}.best-star-card{border-color:#8f5f783d;background:#8f5f781f}.best-star-card span{color:var(--color-warm-plum)}.again-star-card{border-color:#6f91a83d;background:#6f91a81f}.again-star-card span{color:var(--color-dusty-blue)}.journey-star-card p{color:var(--color-text-muted);font-size:.88rem;font-weight:850;line-height:1.3;margin:7px 0 0}.streak-star-card{border-color:#f2b84b8a;background:radial-gradient(circle at 85% 18%,rgba(255,250,226,.9),transparent 24%),#f2b84b2e;box-shadow:0 14px 30px #f2b84b33;position:relative}.streak-star-card:after{color:var(--color-honey);content:"✦";font-size:1.1rem;position:absolute;right:13px;top:10px;animation:soft-sparkle 2.8s ease-in-out infinite}.streak-star-card span{color:#a76717}@keyframes soft-sparkle{0%,to{opacity:.55;transform:scale(.94)}50%{opacity:1;transform:scale(1.08)}}.journey-note{border-color:#d8893a38;background:#d8893a1a;padding:14px 16px}.journey-section-card{display:grid;gap:11px;padding:20px}.journey-section-card h2{color:var(--color-sage-dark);font-size:1.16rem;line-height:1.2;margin:0}.sound-chip-list{display:flex;flex-wrap:wrap;gap:8px}.sound-chip-list span{border-radius:999px;font-size:.9rem;font-weight:900;padding:7px 10px}.sound-chip-list span:nth-child(1){background:#d9826b29;color:#9a513f}.sound-chip-list span:nth-child(2){background:#6f91a829;color:#4f7085}.sound-chip-list span:nth-child(3){background:#9b789529;color:var(--color-warm-plum)}.sound-chip-list span:nth-child(4){background:#f2b84b33;color:#8f6319}.journey-encouragement-card{border-color:#f2b84b47;background:radial-gradient(circle at 96% 18%,rgba(242,184,75,.24),transparent 22%),linear-gradient(180deg,var(--color-card) 0%,rgba(255,248,239,.72) 100%)}.journey-encouragement-card h2:before{color:var(--color-honey);content:"★";margin-right:8px}.class-goal-card{border-color:#8fa58a3d}.class-goal-progress{display:grid;gap:9px}.class-goal-progress>span{color:var(--color-cocoa);font-size:.95rem;font-weight:900}.class-goal-progress div{border-radius:999px;background:#e5d3bf9e;height:12px;overflow:hidden}.class-goal-progress div span{background:linear-gradient(90deg,var(--color-primary),var(--color-sage));border-radius:inherit;display:block;height:100%;width:64%}.teacher-dashboard{display:grid;gap:24px}.dashboard-module{border:1px solid rgba(155,95,47,.14);border-radius:8px;background:var(--color-card);box-shadow:var(--shadow-soft);display:grid;gap:18px;padding:20px}.practice-pack-module{background:#fffdf8e6}.developer-tools-module{background:#fffdf8f0}.voice-lab-actions{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.voice-lab-actions audio{max-width:100%}.developer-backfill-section{border-top:1px solid rgba(155,95,47,.14);display:grid;gap:12px;padding-top:16px}.developer-backfill-section span{color:var(--color-muted);display:block;font-size:.78rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.developer-backfill-section h3{color:var(--color-espresso);font-size:1.1rem;margin:4px 0 0}.developer-backfill-summary{background:#2f29230f;border:1px solid rgba(155,95,47,.16);border-radius:8px;color:var(--color-espresso);font-size:.86rem;line-height:1.45;margin:0;max-height:320px;overflow:auto;padding:12px;white-space:pre-wrap}.class-management-module{background:#fffdf8e6}.teacher-creation-heading{border:1px solid rgba(155,95,47,.14);border-radius:8px;background:#fffdf8db;box-shadow:var(--shadow-soft);display:grid;gap:8px;margin-top:6px;padding:18px 20px}.teacher-creation-intro{align-items:center;column-gap:22px;grid-template-columns:minmax(0,1fr) minmax(210px,250px);justify-items:start;margin:0}.dashboard-section-heading{border:0;border-bottom:1px solid rgba(88,112,88,.18);border-radius:0;background:transparent;box-shadow:none;margin:0;padding:0 0 16px}.teacher-assistant-image{justify-self:start;width:clamp(220px,21vw,250px);max-height:240px;object-fit:contain;filter:drop-shadow(0 12px 18px rgba(47,36,29,.12))}.teacher-creation-heading h2{color:var(--color-sage-dark);font-size:clamp(1.48rem,2.4vw,2rem);font-weight:900;line-height:1.12;margin:0}.teacher-creation-heading h3{color:var(--color-sage-dark);font-size:clamp(1.28rem,2vw,1.62rem);font-weight:900;line-height:1.16;margin:0}.teacher-creation-heading p{color:var(--color-sage-dark);font-size:1.05rem;font-weight:720;line-height:1.45;margin:0}.class-management-heading{margin-top:0}.class-management-heading h2{font-size:clamp(1.42rem,2.2vw,1.92rem)}.teacher-form,.teacher-preview,.student-preview-panel{border:1px solid rgba(155,95,47,.14);border-radius:8px;background:var(--color-card);box-shadow:var(--shadow-soft)}.teacher-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:22px}.teacher-creation-options{display:grid;gap:16px;grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch}.teacher-creation-card{border:1px solid rgba(155,95,47,.14);border-radius:8px;background:var(--color-card);box-shadow:var(--shadow-soft);display:flex;flex-direction:column;gap:12px;min-height:238px;padding:22px}.teacher-creation-card h2{color:var(--color-text);font-size:1.32rem;line-height:1.2;margin:0}.teacher-creation-card p{color:var(--color-text-muted);font-size:.98rem;font-weight:760;line-height:1.45;margin:0}.teacher-creation-card .start-link{align-self:start;min-height:46px;margin-top:auto;display:inline-flex;align-items:center}.teacher-form label,.class-code-form label,.teacher-auth-form label{color:var(--color-text);display:grid;gap:8px;font-size:.94rem;font-weight:850}.teacher-form input,.teacher-form select,.teacher-form textarea,.class-code-form input,.class-code-form select,.teacher-auth-form input{width:100%;border:2px solid var(--color-border-strong);border-radius:8px;background:var(--color-card);color:var(--color-text);font:inherit;font-size:1rem;font-weight:700;padding:12px 14px}.teacher-form textarea{resize:vertical}.teacher-form-field{color:var(--color-text);display:grid;gap:8px;font-size:.94rem;font-weight:850}.teacher-option-grid{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.teacher-grade-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.teacher-focus-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.teacher-checkbox-option{align-items:center;border:1px solid rgba(143,165,138,.22);border-radius:8px;background:#fffaf1e0;display:flex!important;gap:8px;min-height:36px;padding:7px 9px}.teacher-checkbox-option input{accent-color:var(--color-sage-dark);flex:0 0 auto;height:16px;margin:0;padding:0;width:16px}.teacher-checkbox-option span{color:var(--color-text);font-size:.86rem;font-weight:850;line-height:1.25}.required-note{color:var(--color-text-muted);font-size:.86rem;font-weight:850;margin:2px 0 0}.teacher-focus-details{border:1px solid rgba(143,165,138,.22);border-radius:8px;background:#fffaf1b8;display:grid;gap:10px;padding:12px 14px}.teacher-focus-details summary{color:var(--color-text);cursor:pointer;font-size:.94rem;font-weight:900}.teacher-focus-details[open] summary{margin-bottom:4px}.teacher-form input:focus,.teacher-form select:focus,.teacher-form textarea:focus,.class-code-form input:focus,.class-code-form select:focus,.teacher-auth-form input:focus{border-color:var(--color-primary);box-shadow:0 0 0 4px var(--color-focus);outline:none}.teacher-form-wide{grid-column:1 / -1}.teacher-voice-input{border:1px solid rgba(155,95,47,.14);border-radius:8px;display:grid;gap:12px;padding:16px}.teacher-voice-input h3{color:var(--color-text);font-size:1.05rem;line-height:1.2;margin:0 0 6px}.teacher-voice-input p{color:var(--color-text-muted);font-size:.95rem;font-weight:700;line-height:1.5;margin:0}.teacher-voice-actions{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.voice-status{color:var(--color-primary);font-size:.94rem;font-weight:900}.voice-preview{background:var(--color-card);border:1px solid var(--color-border);border-radius:8px;display:grid;gap:6px;padding:12px}.voice-preview span{color:var(--color-text);font-size:.86rem;font-weight:900}.workflow-heading{align-items:center;display:flex;justify-content:flex-start}.workflow-step{border-top:1px solid rgba(155,95,47,.14);display:grid;gap:4px;padding-top:18px}.workflow-step:first-of-type{border-top:0;padding-top:0}.workflow-step span{color:var(--color-primary);font-size:.78rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.entry-choice-grid{width:min(680px,100%);display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:6px}.entry-choice-card{border:1px solid rgba(155,95,47,.16);border-radius:8px;background:var(--color-card);box-shadow:0 18px 48px #4a352724;color:var(--color-text);display:grid;gap:8px;min-height:132px;padding:22px;text-align:left}.entry-choice-card:hover,.entry-choice-card:focus-visible{border-color:var(--color-primary);box-shadow:0 0 0 4px var(--color-focus),0 18px 48px #4a352724;outline:none}.entry-choice-card span{color:var(--color-sage-dark);font-size:clamp(1.22rem,2.4vw,1.48rem);font-weight:950;line-height:1.18}.entry-choice-card small{color:var(--color-text-muted);font-size:.98rem;font-weight:760;line-height:1.4}.conference-start-hero{align-items:center;column-gap:clamp(24px,5vw,72px);grid-template-columns:minmax(0,1fr) minmax(260px,.72fr);max-width:1060px;min-height:min(680px,calc(100vh - 48px));padding-top:42px;place-items:center stretch;position:relative;text-align:left;width:min(1060px,100%)}.conference-top-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;position:absolute;right:0;top:0}.conference-start-copy{display:grid;justify-items:start}.conference-start-copy h1{font-size:clamp(3.5rem,7vw,5.9rem);max-width:620px}.conference-start-copy .tagline{font-size:clamp(1.5rem,3vw,2.22rem);margin-top:14px}.conference-start-copy .rhythm-line{font-size:clamp(1.08rem,1.8vw,1.3rem);margin:8px 0 0}.conference-start-subtitle{color:var(--color-primary-hover);font-size:clamp(1rem,1.6vw,1.18rem);font-weight:850;line-height:1.4;margin:18px 0;max-width:540px}.conference-student-login{gap:12px;margin-top:0;padding:18px;width:min(560px,100%)}.conference-student-login-heading{display:grid;gap:4px;margin-bottom:8px}.conference-student-login-heading h2{color:var(--color-sage-dark);font-size:clamp(1.24rem,2.2vw,1.48rem);margin:0}.conference-start-image-frame{align-self:center;display:flex;justify-content:center;max-height:570px;min-height:440px;overflow:hidden;position:relative}.conference-start-image-frame img{align-self:center;display:block;height:min(540px,calc(100vh - 126px));max-width:100%;object-fit:contain;object-position:center center;width:auto}.conference-about-backdrop{align-items:center;background:#4a35273d;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:20}.conference-about-panel{border:1px solid rgba(216,181,141,.4);border-radius:8px;background:#fffaf1fa;box-shadow:var(--shadow-medium);display:grid;gap:12px;max-height:min(620px,calc(100vh - 48px));overflow-y:auto;padding:20px 22px;width:min(680px,100%)}.conference-about-heading{align-items:center;display:flex;gap:16px;justify-content:space-between}.conference-about-heading h2{color:var(--color-sage-dark);font-size:clamp(1.2rem,2vw,1.48rem);line-height:1.25;margin:0}.conference-about-panel p{color:var(--color-text-muted);font-size:.98rem;font-weight:700;line-height:1.58;margin:0}.azure-dev-panel{width:min(680px,100%);border:1px solid rgba(111,134,107,.2);border-radius:8px;background:#fffaf1d1;box-shadow:var(--shadow-soft);display:grid;gap:14px;justify-items:stretch;margin-top:18px;padding:18px;text-align:left}.azure-dev-panel h2{color:var(--color-sage-dark);font-size:1.24rem;line-height:1.2;margin:8px 0 6px}.azure-dev-panel p{color:var(--color-text-muted);font-size:.96rem;font-weight:740;line-height:1.45;margin:0}.azure-dev-reference{border:1px solid rgba(216,137,58,.16);border-radius:8px;background:#fffdf8;display:grid;gap:5px;padding:12px}.azure-dev-reference span,.azure-dev-result span{color:var(--color-text-muted);font-size:.78rem;font-weight:900;text-transform:uppercase}.azure-dev-reference strong{color:var(--color-text);font-size:1.05rem;line-height:1.35}.azure-dev-actions{display:flex;flex-wrap:wrap;gap:12px}.azure-dev-actions .back-link,.azure-dev-actions .start-link{align-items:center;display:inline-flex;justify-content:center;min-height:46px}.azure-dev-result{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.azure-dev-result div{border:1px solid rgba(155,95,47,.14);border-radius:8px;background:var(--color-card);display:grid;gap:5px;padding:12px}.azure-dev-result strong{color:var(--color-text);font-size:1rem;line-height:1.35}.entry-page .subtitle{margin:8px 0 18px;max-width:560px}.entry-page h1{font-size:clamp(2rem,4.2vw,3.35rem);line-height:1.08;max-width:620px}.entry-page .tagline{font-size:clamp(1.08rem,1.9vw,1.42rem);margin-top:10px}.entry-page .hero-copy{gap:4px;max-width:720px}.teacher-login-card{display:grid;gap:12px}.teacher-login-card input{width:100%;min-height:54px;box-sizing:border-box;border:2px solid var(--color-border-strong);border-radius:8px;background:var(--color-card);color:var(--color-text);font-size:1.04rem;font-weight:750;padding:0 16px}.teacher-login-card input:focus{border-color:var(--color-primary);box-shadow:0 0 0 4px var(--color-focus);outline:none}.entry-actions{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-top:4px}.entry-back-link{margin-top:6px}.workflow-step h2{color:var(--color-text);font-size:1.24rem;line-height:1.2;margin:0}.field-hint{color:var(--color-text-muted);font-size:.88rem;font-weight:760}.editing-note{border-radius:8px;background:var(--color-card-soft);color:var(--color-primary);font-size:.94rem;font-weight:900;line-height:1.4;margin:0;padding:10px 12px}.teacher-preview{display:grid;gap:16px;padding:22px}.backend-code-section{gap:20px}.backend-workflow-step{border:1px solid rgba(155,95,47,.16);border-radius:8px;background:#fffdf8;display:grid;gap:16px;padding:18px}.backend-workflow-heading{border-left:4px solid var(--color-primary);display:grid;gap:5px;padding-left:12px}.backend-workflow-heading span{color:var(--color-sage-dark);font-size:clamp(1.08rem,2vw,1.28rem);font-weight:950;letter-spacing:0}.backend-workflow-heading p{color:var(--color-text-muted);font-size:.98rem;font-weight:760;line-height:1.35;margin:0}.backend-active-group-heading{border:1px solid rgba(88,112,88,.2);border-left:4px solid var(--color-sage);border-radius:8px;background:#8fa58a1f;padding:12px 14px}.teacher-auth-panel{align-items:end;border:1px solid rgba(155,95,47,.14);border-radius:8px;background:#fffdf8;display:grid;gap:14px;grid-template-columns:minmax(220px,1fr) auto;padding:16px}.teacher-auth-panel h3{color:var(--color-text);font-size:1.08rem;line-height:1.2;margin:0 0 6px}.teacher-auth-panel p{color:var(--color-text-muted);font-size:.96rem;font-weight:760;line-height:1.45;margin:0}.teacher-auth-panel .code-message{grid-column:1 / -1}.teacher-auth-form{align-items:end;display:grid;gap:12px;grid-template-columns:minmax(180px,1fr) minmax(160px,1fr) auto}.backend-overview-panel{border:1px solid rgba(155,95,47,.14);border-radius:8px;background:#fffdf8;display:grid;gap:16px;padding:16px}.backend-overview-select{color:var(--color-text);display:grid;gap:8px;font-size:.94rem;font-weight:850;max-width:520px}.backend-overview-select select{width:100%;border:2px solid var(--color-border-strong);border-radius:8px;background:var(--color-card);color:var(--color-text);font:inherit;font-size:1rem;font-weight:700;padding:12px 14px}.backend-overview-select select:focus{border-color:var(--color-primary);box-shadow:0 0 0 4px var(--color-focus);outline:none}.backend-overview-summary{align-items:end;display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr)) auto}.backend-overview-summary div{border:1px solid rgba(155,95,47,.14);border-radius:8px;background:var(--color-card);display:grid;gap:4px;padding:12px}.backend-overview-summary span{color:var(--color-text-muted);font-size:.78rem;font-weight:900;text-transform:uppercase}.backend-overview-summary strong{color:var(--color-text);font-size:1rem;line-height:1.25}.teacher-group-card-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.teacher-group-card{align-items:stretch;border:1px solid rgba(155,95,47,.16);border-radius:8px;background:var(--color-card);display:grid;gap:14px;grid-template-rows:1fr auto;min-height:178px;padding:16px}.teacher-group-card.is-selected{border-color:#58705852;background:linear-gradient(180deg,rgba(239,246,243,.78) 0%,var(--color-card) 100%);box-shadow:0 10px 24px #395c531a}.teacher-group-card h3{color:var(--color-text);font-size:1.08rem;margin:0 0 8px}.teacher-group-card p{color:var(--color-text-muted);margin:0 0 8px}.teacher-group-card strong{color:var(--color-text)}.teacher-group-card-action{align-items:end;display:flex}.teacher-group-select-button{border:1px solid rgba(143,165,138,.24);border-radius:8px;background:#fffaf1e0;color:var(--color-sage-dark);font-size:.9rem;font-weight:900;min-height:40px;min-width:118px;padding:0 16px}.teacher-group-select-button:hover{background:#8fa58a2e}.teacher-group-card.is-selected .teacher-group-select-button{border-color:#5870585c;background:#8fa58a33;color:var(--color-sage-dark)}.teacher-active-management-grid{align-items:start;display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr));max-width:100%;min-width:0;width:100%}.teacher-management-card{border:1px solid rgba(155,95,47,.14);border-radius:8px;background:#fffdf8;display:grid;gap:12px;min-width:0;overflow-wrap:anywhere;padding:16px;width:100%}.teacher-management-card h3{color:var(--color-text);margin:0}.teacher-management-card p{color:var(--color-text-muted);margin:0}.teacher-management-card .start-link,.teacher-management-card .back-link{max-width:100%;white-space:normal}.active-group-actions-card{grid-column:1 / -1}.student-access-management-card,.regenerate-code-panel{min-width:0}.backend-rename-form{align-items:end;grid-template-columns:minmax(min(100%,220px),1fr) auto}.backend-rename-form .start-link,.backend-rename-form .back-link{align-items:center;display:inline-flex;justify-content:center;min-width:0;min-height:44px;white-space:normal}.backend-group-danger-zone{align-items:center;border-top:1px solid rgba(160,55,55,.16);display:grid;gap:12px;grid-template-columns:minmax(0,1fr) auto;margin-top:2px;padding-top:14px}.backend-group-danger-zone h4{color:#8b2f2f;font-size:.98rem;line-height:1.2;margin:0 0 4px}.backend-group-danger-zone p{line-height:1.42}.backend-group-danger-zone .danger-link{align-items:center;display:inline-flex;justify-content:center;min-width:0}.danger-link{border-color:#a0373747;color:#8b2f2f}.danger-link:hover{background:#a0373714}.teacher-assignment-card{border-color:#58705842;background:linear-gradient(180deg,#eff6f3e6,#fffdf8);gap:18px;grid-column:1 / -1;padding:22px}.teacher-assignment-heading h3{color:var(--color-sage-dark);font-size:clamp(1.28rem,2vw,1.6rem);line-height:1.15;margin:0}.teacher-assignment-heading p{color:var(--color-text);font-size:1rem;font-weight:760;line-height:1.45;margin:6px 0 0}.assignment-filter-bar{align-items:end;display:grid;gap:12px;grid-template-columns:minmax(220px,1fr) minmax(180px,260px)}.assignment-filter-bar label{display:grid;gap:8px;min-width:0}.teacher-assignment-list{display:grid;gap:12px;grid-template-columns:1fr}.teacher-assignment-item{align-items:center;border:1px solid rgba(155,95,47,.14);border-radius:8px;background:var(--color-card);display:grid;gap:12px;grid-template-columns:minmax(0,1fr) minmax(220px,auto);padding:14px}.teacher-assignment-item h4{color:var(--color-text);font-size:.98rem;margin:0 0 3px}.teacher-assignment-item p{font-size:.9rem}.teacher-assignment-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:end}.teacher-assignment-status{border-radius:999px;background:#777b7d1f;color:var(--color-text-muted);flex:0 0 auto;font-size:.76rem;font-weight:900;padding:6px 9px}.teacher-assignment-status.is-assigned{background:#507e6f29;color:var(--color-sage-dark)}.new-student-access-list{border:2px solid rgba(80,126,111,.26);border-radius:8px;background:#eff6f3b3;display:grid;gap:12px;padding:14px}.new-student-access-heading{align-items:center;display:flex;gap:14px;justify-content:space-between}.new-student-access-heading h4{color:var(--color-sage-dark);font-size:1.08rem;line-height:1.2;margin:0 0 4px}.new-student-access-heading p{color:var(--color-text);font-size:.95rem;font-weight:780}.our-stars-preview-card{border-color:#8fa58a38;background:linear-gradient(180deg,#fffaf1eb,#fffdf8);gap:14px}.our-stars-preview-heading{align-items:start;display:flex;gap:12px;justify-content:space-between}.our-stars-preview-heading h3{color:var(--color-sage-dark);margin:0 0 4px}.our-stars-preview-heading p{color:var(--color-text-muted);font-weight:820}.our-stars-challenge-preview{align-items:center;display:grid;gap:16px;grid-template-columns:minmax(150px,190px) minmax(0,1fr)}.our-stars-jar{display:grid;justify-items:center}.our-stars-jar-lid{border:2px solid rgba(155,95,47,.22);border-radius:999px 999px 6px 6px;background:linear-gradient(180deg,#f3d9aa 0%,var(--color-caramel) 100%);height:18px;width:112px;z-index:1}.our-stars-jar-body{position:relative;border:2px solid rgba(88,112,88,.28);border-radius:22px 22px 30px 30px;background:linear-gradient(180deg,#ffffffbd,#eff6f385);box-shadow:inset 0 0 18px #8fa58a29;display:grid;height:160px;margin-top:-2px;overflow:hidden;place-content:center;text-align:center;width:142px}.our-stars-jar-body strong{color:var(--color-sage-dark);font-size:1.42rem;font-weight:950;line-height:1;z-index:1}.our-stars-jar-body small{color:var(--color-text-muted);font-size:.82rem;font-weight:900;margin-top:4px;z-index:1}.our-stars-jar-fill{position:absolute;inset:auto 0 0;background:linear-gradient(180deg,#8fa58a2e,#d8893a3d);height:0%}.jar-star{position:absolute;font-size:1.18rem;line-height:1;opacity:.92}.jar-star:nth-of-type(1){left:22px;top:42px}.jar-star:nth-of-type(2){right:24px;top:34px}.jar-star:nth-of-type(3){left:36px;bottom:40px}.jar-star:nth-of-type(4){right:38px;bottom:30px}.jar-star:nth-of-type(5){left:56px;top:22px}.jar-star-practice,.star-type-practice:before{color:var(--color-caramel)}.jar-star-regularity,.star-type-regularity:before{color:var(--color-dusty-blue)}.jar-star-progress,.star-type-progress:before{color:var(--color-sage-dark)}.our-stars-preview-details{display:grid;gap:12px}.our-stars-progress{display:grid;gap:7px}.our-stars-progress>div{border-radius:999px;background:#8fa58a2e;height:10px;overflow:hidden}.our-stars-progress span{background:linear-gradient(90deg,var(--color-sage),var(--color-caramel));display:block;height:100%}.our-stars-progress p{color:var(--color-text-muted);font-size:.84rem;font-weight:850}.our-stars-type-list{display:flex;flex-wrap:wrap;gap:8px}.star-type{align-items:center;border:1px solid rgba(143,165,138,.18);border-radius:999px;background:#fffaf1db;color:var(--color-text);display:inline-flex;font-size:.8rem;font-weight:900;gap:6px;padding:7px 9px}.star-type:before{content:"★";font-size:.9rem}.our-stars-setup-preview{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.our-stars-setup-preview label{color:var(--color-text);display:grid;gap:7px;font-size:.86rem;font-weight:900}.our-stars-setup-preview input[type=text],.our-stars-setup-preview input[type=number],.our-stars-setup-preview input:not([type]){width:100%;border:2px solid rgba(143,165,138,.2);border-radius:8px;background:#fffaf1b8;color:var(--color-text);font:inherit;font-size:.94rem;font-weight:760;min-width:0;padding:10px 12px}.our-stars-reward-field{grid-column:1 / -1}.our-stars-toggle{align-items:center;border:1px solid rgba(143,165,138,.18);border-radius:8px;background:#eff6f38f;display:flex!important;gap:9px;min-width:0;padding:9px 10px}.our-stars-toggle input{accent-color:var(--color-sage-dark);flex:0 0 auto}.our-stars-reward-controls{display:grid;gap:6px}.our-stars-preview-card .back-link{justify-self:start}.teacher-success-note{border-radius:8px;background:#507e6f1f;color:var(--color-sage-dark);font-size:.88rem;font-weight:880;padding:10px 12px}.our-stars-active-note{border:1px solid rgba(80,126,111,.22);background:#507e6f29}.inline-copy-button{border:1px solid rgba(155,95,47,.18);border-radius:8px;background:var(--color-card);color:var(--color-primary);font-size:.88rem;font-weight:900;margin-right:8px;padding:8px 10px}.dev-copy-button{opacity:.72}.recovery-context{border:1px solid rgba(57,92,83,.16);border-radius:8px;background:#eff6f3b8;display:grid;gap:4px;padding:12px 14px}.recovery-context span{color:var(--color-sage-dark);font-size:.78rem;font-weight:950;text-transform:uppercase}.recovery-context strong{color:var(--color-text);font-size:1rem}.recovery-context p{color:var(--color-text-muted);font-size:.94rem;font-weight:760;line-height:1.4;margin:0}.student-progress-section{gap:18px}.student-progress-select{color:var(--color-text);display:grid;gap:8px;font-size:.94rem;font-weight:850;max-width:280px}.student-progress-select select{width:100%;border:2px solid var(--color-border-strong);border-radius:8px;background:var(--color-card);color:var(--color-text);font:inherit;font-size:1rem;font-weight:700;padding:12px 14px}.teacher-preview-heading{align-items:center;display:flex;gap:16px;justify-content:space-between}.teacher-preview-heading h2,.teacher-preview-heading h3,.student-preview-panel h2{color:var(--color-text);font-size:1.34rem;line-height:1.2;margin:0}.teacher-preview-heading p{color:var(--color-text-muted);font-size:.98rem;font-weight:700;line-height:1.5;margin:6px 0 0}.suggested-sentences{display:grid;gap:12px}.class-pack-groups,.class-list{display:grid;gap:18px}.class-pack-group{border-top:1px solid rgba(155,95,47,.14);display:grid;gap:12px;padding-top:14px}.class-pack-group:first-child{border-top:0;padding-top:0}.class-pack-group-title,.class-card h3{color:var(--color-text);font-size:1.08rem;line-height:1.2;margin:0}.class-pack-group-title{font-size:1rem;font-weight:900}.class-code-form{display:grid;gap:14px;grid-template-columns:repeat(4,minmax(0,1fr));max-width:100%;min-width:0}.class-code-form>*{min-width:0}.backend-code-form{align-items:end;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));width:100%}.backend-code-form .start-link,.backend-code-form .back-link{align-items:center;display:inline-flex;justify-content:center;min-width:0;min-height:44px;white-space:normal;width:100%}.backend-group-form{align-items:end;grid-template-columns:repeat(3,minmax(0,1fr)) auto}.regenerate-code-panel{border-top:1px solid rgba(155,95,47,.14);display:grid;gap:16px;padding-top:18px}.regenerate-code-panel summary{color:var(--color-text);cursor:pointer;font-size:1.02rem;font-weight:900;line-height:1.25}.regenerate-code-panel[open] summary{margin-bottom:4px}.regenerate-code-form{align-items:end;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));max-width:100%;min-width:0;width:100%}.regenerate-code-form label,.regenerate-code-form select{min-width:0}.regenerate-code-form .start-link,.regenerate-code-form .back-link{align-items:center;display:inline-flex;justify-content:center;min-width:0;min-height:44px;overflow-wrap:anywhere;white-space:normal;width:100%}.security-warning{border:2px solid rgba(201,111,74,.34);border-radius:8px;background:#fff4e8;display:grid;gap:6px;padding:14px 16px}.security-warning h3{color:var(--color-terracotta-dark);font-size:1.08rem;line-height:1.2;margin:0}.security-warning p{color:var(--color-text);font-size:.96rem;font-weight:760;line-height:1.45;margin:0}.one-time-code-list{border:1px solid rgba(155,95,47,.14);border-radius:8px}.one-time-code-value{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-weight:900;letter-spacing:.04em}.class-card{border:1px solid rgba(155,95,47,.14);border-radius:8px;background:var(--color-card);display:grid;gap:14px;padding:16px}.class-card p{color:var(--color-text-muted);font-size:.95rem;font-weight:720;line-height:1.45;margin:6px 0 0}.code-table-wrap{max-width:100%;min-width:0;overflow-x:auto}.code-table,.print-code-list table{border-collapse:collapse;width:100%}.code-table th,.code-table td,.print-code-list th,.print-code-list td{border-bottom:1px solid rgba(155,95,47,.18);color:var(--color-text);padding:10px 8px;text-align:left}.code-table th,.print-code-list th{color:var(--color-text-muted);font-size:.82rem;font-weight:900;text-transform:uppercase}.print-code-list{display:none}.text-import-step{display:grid;gap:14px}.suggested-sentences h3{color:var(--color-text);font-size:1.08rem;line-height:1.2;margin:4px 0 0}.suggested-sentence-row{align-items:start;border:1px solid rgba(155,95,47,.14);border-radius:8px;background:var(--color-card);display:grid;gap:12px;grid-template-columns:110px minmax(0,1fr) auto;padding:12px}.include-toggle{align-items:center;display:flex!important;gap:8px!important;padding-top:12px}.include-toggle input{accent-color:var(--color-primary);height:18px;width:18px}.suggested-sentence-edit{display:grid;gap:8px}.long-sentence-note{align-self:start;border-radius:999px;background:var(--color-card-soft);color:var(--color-text-muted);font-size:.78rem;font-weight:900;padding:5px 9px;width:fit-content}.student-preview-panel{display:grid;gap:14px;padding:18px}.teacher-pack-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.practice-start-button{justify-self:start}.practice-session{display:grid;gap:18px}.practice-panel,.completion-card{border:1px solid rgba(216,137,58,.16);border-radius:8px;background:linear-gradient(180deg,var(--color-card) 0%,var(--color-bg-soft) 100%);box-shadow:var(--shadow-soft);display:grid;gap:20px;padding:26px}.practice-session-heading{display:grid;gap:8px}.practice-session-heading h1,.completion-card h1{color:var(--color-sage-dark);font-size:clamp(1.8rem,4vw,2.8rem);line-height:1.08;margin:0}.practice-session-heading p,.completion-card p{color:var(--color-text-muted);font-size:1rem;font-weight:820;line-height:1.45;margin:0}.target-sentence{color:var(--color-text);font-size:clamp(1.7rem,4vw,3.1rem);font-weight:850;line-height:1.18;margin:0;max-width:780px}.practice-actions,.feedback-actions,.completion-actions{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.practice-actions{align-items:end;gap:18px;justify-content:center;margin-top:4px}.practice-control-button,.self-listen-button,.next-button{align-items:center;display:inline-flex;flex-direction:column;gap:15px;justify-content:center;line-height:1.15;text-align:center}.button-icon{color:currentColor;display:inline-block;flex:0 0 auto;position:relative}.play-icon{border-bottom:14px solid transparent;border-left:22px solid currentColor;border-top:14px solid transparent;height:0;margin:0 0 2px 5px;width:0}.mic-icon{background:linear-gradient(currentColor,currentColor) center 9px / 60% 3px no-repeat,linear-gradient(currentColor,currentColor) center 18px / 60% 3px no-repeat;border:4px solid currentColor;border-radius:999px;height:42px;margin-bottom:8px;width:29px}.mic-icon:before{background:currentColor;border-radius:999px;bottom:-20px;content:"";height:17px;left:50%;position:absolute;transform:translate(-50%);width:4px}.mic-icon:after{border:4px solid currentColor;border-left:0;border-radius:0 999px 999px 0;border-top:0;bottom:-8px;content:"";height:26px;left:50%;position:absolute;transform:translate(-50%) rotate(45deg);width:26px}.headphones-icon{border:3px solid currentColor;border-bottom:0;border-radius:999px 999px 0 0;height:30px;margin-bottom:8px;width:40px}.headphones-icon:before,.headphones-icon:after{background:currentColor;border-radius:999px;bottom:-12px;content:"";height:17px;position:absolute;width:9px}.headphones-icon:before{left:-6px}.headphones-icon:after{right:-6px}.arrow-icon{height:11px;width:15px}.arrow-icon:before{background:currentColor;border-radius:999px;content:"";height:2px;left:0;position:absolute;top:50%;transform:translateY(-50%);width:13px}.arrow-icon:after{border-right:2px solid currentColor;border-top:2px solid currentColor;content:"";height:7px;position:absolute;right:0;top:50%;transform:translateY(-50%) rotate(45deg);width:7px}.model-listen-button{border-radius:999px;border:1px solid rgba(216,137,58,.28);background:#d8893a29;color:var(--color-primary-hover);font-size:.94rem;font-weight:900;min-height:118px;min-width:118px;padding:18px;box-shadow:none}.model-listen-button:hover{background:#d8893a3d;color:var(--color-primary-hover)}.speak-button{border-radius:999px;font-size:1.05rem;min-height:148px;min-width:148px;padding:24px 22px 20px;box-shadow:0 16px 32px #d8893a47}.speak-button.is-recording{animation:recording-pulse 1.4s ease-in-out infinite;background:var(--color-terracotta);box-shadow:0 18px 36px #c96f4a47;transform:scale(1.03)}.speak-button.is-recording:hover{background:var(--color-terracotta-dark)}.self-listen-button{border-radius:999px;font-size:.9rem;font-weight:900;min-height:118px;min-width:118px;padding:18px;width:118px}.self-listen-button:disabled{border-color:#6f62572e;background:#6f625714;color:#6f62577a;cursor:default;opacity:1}.self-listen-button:not(:disabled){border-color:#8fa58a57;background:#8fa58a29;color:var(--color-sage-dark)}.self-listen-button:not(:disabled):hover{background:#8fa58a3d}.next-button{flex-direction:row;gap:9px;min-height:42px;min-width:86px;padding:0 18px}@keyframes recording-pulse{0%,to{box-shadow:0 16px 32px #c96f4a3d}50%{box-shadow:0 18px 42px #d8893a57}}.practice-instruction{color:var(--color-text-muted);font-size:1rem;font-weight:760;line-height:1.45;margin:-4px 0 0}.recording-note{color:var(--color-sage-dark);font-size:1rem;font-weight:850;line-height:1.45;margin:0}.recording-status{align-items:center;border:1px solid rgba(143,165,138,.18);border-radius:8px;background:#8fa58a1a;display:grid;gap:8px;justify-items:center;justify-self:center;padding:10px 16px;width:min(280px,100%)}.recording-status p{color:var(--color-sage-dark);font-size:1rem;font-weight:850;line-height:1.45;margin:0}.listening-wave{align-items:center;display:inline-flex;gap:5px;height:34px;--voice-level: 0}.listening-wave span{animation:wave-pulse .9s ease-in-out infinite;background:var(--color-primary);border-radius:999px;height:calc(10px + (var(--voice-level) * 18px));width:4px}.listening-wave span:nth-child(1),.listening-wave span:nth-child(7){background:var(--color-sage);height:calc(8px + (var(--voice-level) * 10px))}.listening-wave span:nth-child(2){animation-delay:.12s;background:var(--color-sage);height:calc(16px + (var(--voice-level) * 14px))}.listening-wave span:nth-child(3){animation-delay:.24s;height:calc(24px + (var(--voice-level) * 18px))}.listening-wave span:nth-child(4){animation-delay:.36s;background:var(--color-fox-caramel);height:calc(30px + (var(--voice-level) * 24px))}.listening-wave span:nth-child(5){animation-delay:.18s;background:var(--color-fox-caramel);height:calc(22px + (var(--voice-level) * 18px))}.listening-wave span:nth-child(6){animation-delay:.3s;background:var(--color-sage);height:calc(14px + (var(--voice-level) * 14px))}@keyframes wave-pulse{0%,to{transform:scaleY(.65)}50%{transform:scaleY(1)}}.feedback-card{border:1px solid rgba(143,165,138,.22);border-radius:8px;background:#8fa58a1a;display:grid;gap:14px;padding:18px}.instant-feedback-card{border-radius:8px;border-left:6px solid var(--color-primary);box-shadow:0 14px 34px #2f241d14;overflow:hidden;position:relative}.instant-feedback-card:after{background:radial-gradient(circle,rgba(255,248,239,.9),transparent 64%);content:"";height:96px;pointer-events:none;position:absolute;right:-36px;top:-40px;width:96px}.instant-feedback-kicker{color:var(--color-sage-dark);font-size:.9rem;font-weight:950;letter-spacing:0;margin:0;position:relative;z-index:1}.instant-feedback-card.feedback-low{border-color:#d8893a3d;border-left-color:#e0a85f;background:#f4e8d8bf}.instant-feedback-card.feedback-medium{border-color:#8fa58a3d;border-left-color:var(--color-sage);background:#8fa58a1a}.instant-feedback-card.feedback-high{border-color:#6f866b4d;border-left-color:var(--color-sage-dark);background:#8fa58a29}.instant-feedback-header{align-items:center;display:flex;gap:12px;position:relative;z-index:1}.feedback-cue{align-items:center;border-radius:999px;background:#d8893a29;display:inline-flex;font-size:1rem;height:32px;justify-content:center;width:32px}.feedback-card .feedback-cue{color:var(--color-primary-hover)}.feedback-indicator{border-radius:999px;display:inline-block;height:14px;width:14px}.feedback-low .feedback-indicator{background:#e0a85f;box-shadow:0 0 0 6px #e0a85f29}.feedback-medium .feedback-indicator{background:var(--color-sage);box-shadow:0 0 0 6px #8fa58a29}.feedback-high .feedback-indicator{background:var(--color-sage-dark);box-shadow:0 0 0 6px #6f866b29}.instant-feedback-label{color:var(--color-cocoa);font-size:1.05rem;font-weight:950}.feedback-card .instant-feedback-label{color:var(--color-cocoa);font-size:1.05rem}.instant-feedback-level{color:var(--color-text-muted);display:block;font-size:.84rem;font-weight:850;line-height:1.25;margin-top:2px}.feedback-card p{color:var(--color-text);font-size:1.08rem;font-weight:820;line-height:1.5;margin:0}.feedback-card .feedback-hint{color:var(--color-text-muted);font-size:.96rem;font-weight:760;position:relative;z-index:1}.feedback-card .instant-feedback-kicker{color:var(--color-sage-dark);font-size:.9rem;font-weight:950;line-height:1.3}.feedback-card span{color:var(--color-terracotta-dark);font-size:.94rem;font-weight:900}.feedback-card .instant-feedback-level{color:var(--color-text-muted);font-size:.84rem}.instant-feedback-card .feedback-actions{align-items:center;gap:10px;position:relative;z-index:1}.instant-feedback-card .next-button{min-width:132px}.summary-open-button{min-width:136px}.practice-summary-card{border:1px solid rgba(216,137,58,.16);border-radius:8px;background:linear-gradient(180deg,var(--color-card) 0%,var(--color-bg-soft) 100%);box-shadow:var(--shadow-soft);display:grid;gap:20px;padding:26px}.practice-summary-heading{display:grid;gap:9px}.practice-summary-heading h1{color:var(--color-sage-dark);font-size:clamp(2rem,4vw,3rem);line-height:1.08;margin:0}.practice-summary-heading p,.summary-tips p{color:var(--color-text-muted);font-size:1rem;font-weight:760;line-height:1.55;margin:0}.summary-level-pill{justify-self:start;border-radius:999px;background:#8fa58a29;color:var(--color-sage-dark);font-size:.86rem;font-weight:950;padding:7px 11px}.summary-stats{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.summary-stats div,.summary-sentences,.summary-grid>div,.summary-tips{border:1px solid rgba(216,137,58,.14);border-radius:8px;background:#f4e8d88c;padding:16px}.summary-stats div:first-child{border-color:#7aa66a38;background:#7aa66a1a}.summary-stats div:first-child span{color:var(--color-leaf)}.summary-stats .best-try-stat{border-color:#8f5f783d;background:#8f5f781a}.summary-stats span{color:var(--color-primary-hover);display:block;font-size:2rem;font-weight:950;line-height:1}.summary-stats p{color:var(--color-text-muted);font-size:.92rem;font-weight:850;margin:6px 0 0}.best-try-stat{position:relative}.best-try-stat span{color:var(--color-warm-plum)}.best-try-stat small{border-radius:8px;background:#8fa58a1a;color:var(--color-text-muted);display:block;font-size:.84rem;font-weight:760;line-height:1.45;margin-top:10px;padding:10px}.summary-levels{display:flex;flex-wrap:wrap;gap:8px}.summary-level{border:1px solid rgba(143,165,138,.22);border-radius:999px;background:#8fa58a1a;color:var(--color-sage-dark);font-size:.84rem;font-weight:900;padding:7px 10px}.summary-level.active{background:var(--color-leaf);color:var(--color-primary-text)}.summary-sentences{display:grid;gap:10px}.summary-sentences h2{color:var(--color-sage-dark);font-size:1.08rem;line-height:1.2;margin:0}.summary-sentences ul{display:grid;gap:8px;margin:0;padding:0}.summary-sentences li{align-items:center;border-bottom:1px solid rgba(216,137,58,.12);color:var(--color-text);display:flex;flex-wrap:wrap;font-size:.98rem;font-weight:800;gap:8px;justify-content:space-between;line-height:1.4;padding-bottom:8px}.summary-sentences li:last-child{border-bottom:0;padding-bottom:0}.summary-sentences strong{border-radius:999px;background:#6f91a824;color:var(--color-dusty-blue);font-size:.86rem;padding:6px 9px}.practice-summary-card .summary-grid>div,.practice-summary-card .summary-sentences,.practice-summary-card .summary-tips{box-shadow:inset 0 1px #fff8efb3}.summary-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.summary-grid h2,.summary-tips h2{color:var(--color-sage-dark);font-size:1.08rem;line-height:1.2;margin:0 0 10px}.summary-grid ul{color:var(--color-text);display:grid;gap:8px;font-size:1rem;font-weight:760;line-height:1.45;list-style-position:inside;margin:0;padding:0}.summary-tips{border-color:#d8893a3d;background:radial-gradient(circle at 96% 18%,rgba(242,184,75,.22),transparent 22%),linear-gradient(180deg,#fff8efeb,#f4e8d8b8);display:grid;gap:10px}.summary-tips h2:before{color:var(--color-honey);content:"★";margin-right:8px}.student-info-card{border:1px solid rgba(143,165,138,.22);border-radius:8px;background:#fff8efb8;box-shadow:var(--shadow-soft);overflow:hidden}.student-info-card summary{color:var(--color-sage-dark);cursor:pointer;font-size:1rem;font-weight:950;list-style:none;padding:16px 18px}.student-info-card summary:before{color:var(--color-primary-hover);content:"ⓘ "}.student-info-card summary::-webkit-details-marker{display:none}.student-info-card summary:after{color:var(--color-primary-hover);content:"+";float:right;font-weight:950}.student-info-card[open] summary:after{content:"−"}.student-info-content{border-top:1px solid rgba(143,165,138,.16);display:grid;gap:10px;padding:0 18px 18px}.student-info-close{align-self:start;border:1px solid rgba(111,134,107,.24);border-radius:999px;background:#fffdf8;color:var(--color-sage-dark);cursor:pointer;font:inherit;font-size:.9rem;font-weight:900;justify-self:end;min-height:34px;padding:6px 12px}.student-info-close:hover{border-color:var(--color-primary);color:var(--color-primary-hover)}.student-info-content h2{color:var(--color-sage-dark);font-size:.98rem;line-height:1.25;margin:4px 0 0}.student-info-content p{color:var(--color-text-muted);font-size:.95rem;font-weight:740;line-height:1.5;margin:0}.demo-mode-label{justify-self:start;border-radius:999px;background:var(--color-warm-note-bg);color:var(--color-warm-note);font-size:.78rem;font-weight:900;line-height:1.2;padding:7px 10px}@media(max-width:860px){.app-shell{padding:22px 20px;place-items:start center}.hero{grid-template-columns:1fr}.conference-start-hero{gap:8px;min-height:auto;padding-top:46px;place-items:start center}.conference-start-copy{justify-items:center;text-align:center}.conference-student-login{text-align:left}.conference-start-image-frame{max-height:300px;min-height:220px;order:-1;width:100%}.conference-start-image-frame img{height:min(300px,42vh)}.brand-mark{margin-bottom:16px}.start-hero-image-frame{min-height:316px;width:min(760px,98vw)}.start-hero-image-frame img{width:min(650px,100vw);height:clamp(360px,68vw,470px)}.home-soundwave{width:min(94px,21vw);left:calc(50% + 60px);top:30%}.choice-grid{grid-template-columns:1fr}.teacher-creation-options{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-grade-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.teacher-creation-intro{align-items:start;justify-items:start;grid-template-columns:1fr;row-gap:12px}.teacher-assistant-image{width:min(190px,56vw);max-height:200px;transform:none}.class-code-form,.backend-code-form{grid-template-columns:repeat(2,minmax(0,1fr))}.backend-code-form .start-link,.backend-code-form .back-link{min-width:0;width:100%}.teacher-auth-panel,.teacher-auth-form,.backend-overview-summary,.backend-group-form,.backend-rename-form,.backend-group-danger-zone,.assignment-filter-bar,.teacher-active-management-grid,.student-backend-layout,.student-readonly-actions,.student-feedback-grid,.student-completion-hero,.student-completion-actions,.azure-dev-result,.regenerate-code-form{grid-template-columns:1fr}.student-feedback-stable-area{min-height:300px}.student-completion-paul{max-height:190px;justify-self:center}}@media(max-width:1120px){.teacher-active-management-grid,.backend-code-form{grid-template-columns:1fr}.backend-code-form .start-link,.backend-code-form .back-link{width:100%}}@media(max-width:580px){.app-shell{padding:22px 16px}.code-row{grid-template-columns:1fr}.primary-action{width:100%}.conference-start-copy h1{font-size:clamp(2.8rem,15vw,4rem)}.conference-start-copy .tagline{font-size:clamp(1.26rem,7vw,1.62rem)}.conference-top-actions{right:0}.conference-about-backdrop{padding:16px}.conference-about-panel{max-height:calc(100vh - 32px);padding:18px}.conference-about-heading{align-items:start;gap:10px}.student-assessment-actions{gap:10px;grid-template-columns:76px 112px 76px}.student-speaker-button,.student-own-recording-control,.student-own-recording-button{height:76px;width:76px}.student-mic-button,.student-mic-button.is-recording{height:112px;width:112px}.student-control-label{font-size:.67rem}.student-greeting{gap:12px;grid-template-columns:92px minmax(0,1fr);padding-top:10px}.practice-hero-image{max-height:108px;max-width:126px;width:116px}.student-greeting h1{font-size:clamp(1.32rem,6.4vw,1.68rem)}.start-hero-image-frame{min-height:260px}.start-hero-image-frame img{width:min(520px,108vw);height:clamp(290px,82vw,390px)}.home-soundwave{width:min(76px,23vw);left:calc(50% + 46px);top:29%}.choice-card{min-height:276px;padding:20px}.choice-card-footer{align-items:flex-start;flex-direction:column}.summary-stats,.summary-grid,.journey-stars-grid,.journey-route{grid-template-columns:1fr}.journey-route:before{height:auto;inset:21px auto 28px 21px;width:4px}.journey-station{grid-template-columns:auto minmax(0,1fr);justify-items:start;text-align:left}.teacher-form,.teacher-creation-options{grid-template-columns:1fr}.teacher-grade-grid,.teacher-focus-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.entry-choice-grid,.class-code-form,.backend-code-form,.backend-rename-form,.teacher-assignment-item{grid-template-columns:1fr}.teacher-assignment-actions,.new-student-access-heading{align-items:flex-start;flex-direction:column}.our-stars-challenge-preview,.our-stars-setup-preview{grid-template-columns:1fr}.our-stars-challenge-preview{justify-items:center}.our-stars-preview-details,.our-stars-setup-preview{width:100%}.teacher-auth-panel,.teacher-auth-form,.backend-overview-summary,.backend-group-form,.regenerate-code-form{grid-template-columns:1fr}.teacher-preview-heading{align-items:flex-start;flex-direction:column}.pack-option,.sentence-card{align-items:flex-start;grid-template-columns:1fr}.pack-option{flex-direction:column}.teacher-pack-actions{justify-content:start}.suggested-sentence-row{grid-template-columns:1fr}.include-toggle{padding-top:0}.sentence-meta{justify-content:start}}@media print{@page{margin:10mm}html,body{background:#fff;margin:0;min-height:0;padding:0}body *{background:transparent;border-color:#000;box-shadow:none;visibility:hidden}#root,.app-shell,.dashboard-shell{background:#fff!important;display:block!important;gap:0!important;height:auto!important;margin:0!important;min-height:0!important;padding:0!important}.dashboard{display:none!important}.print-code-list,.print-code-list *{visibility:visible!important}.print-code-list{background:#fff;box-sizing:border-box;border:0;box-shadow:none;display:block!important;left:auto;margin:0;min-height:0;padding:0;position:static;top:auto;width:auto}.print-hidden{display:none}.print-code-list h1{color:#000;font-size:18pt;margin:0 0 8px}.print-code-list p{color:#000;font-size:10pt;line-height:1.25;margin:0 0 5px}.print-code-list table{border-collapse:collapse;margin-top:10px;width:100%}.print-code-list th,.print-code-list td{border-bottom:1px solid #000;color:#000;font-size:9.5pt;padding:5px 4px;text-align:left}}@media(max-width:760px){.dashboard-shell{padding:18px 16px}.dashboard-header{align-items:flex-start}.choice-grid{grid-template-columns:1fr}}
