: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-amber: #e0a12e;--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}.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,.start-link:focus-visible{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,.header-help .student-info-card[open] 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}.student-info-label-short{display:none}.language-pill-label{margin-left:.35em}.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}.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}.ready-badge{justify-self:start;border-radius:999px;background:#8fa58a2e;color:var(--color-sage-dark);font-size:.74rem;font-weight:900;padding:6px 10px}.pack-count{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}.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}.practice-pack-heading h1{font-size:clamp(1.35rem,2.6vw,1.85rem)}.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-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{justify-self:stretch;width:100%;background:linear-gradient(180deg,#71866f14,#71866f08);border-radius:20px;display:block;padding:22px 24px 26px}.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.webp) 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-card{border:1px solid rgba(111,134,107,.2);border-radius:8px;background:#eff6f3b8;display:grid;gap:9px;padding:12px 14px}.student-identity-card .student-badge{gap:16px}.student-identity-card .student-badge-name{color:var(--color-sage-dark);font-size:1.6rem;font-weight:950;line-height:1.1}.student-identity-card h3{color:var(--color-sage-dark);font-size:.94rem;font-weight:950;line-height:1.2;margin:0}.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-copy{display:grid;gap:8px}.student-readonly-actions{align-items:center;background:none;border-top:0;display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-top:26px;padding:0;position:static}.student-readonly-actions .back-link,.student-readonly-actions .start-link{align-items:center;display:inline-flex;justify-content:center;min-height:48px;padding:0 24px;width:auto}.student-assessment-panel{display:grid;gap:12px}.student-assessment-actions{align-items:end;display:grid;gap:20px;grid-template-columns:88px 112px 88px;justify-content:center;justify-items: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}.voice-power-card{display:grid;gap:10px;margin:18px auto 0;max-width:720px;width:100%}.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{filter:saturate(.55);opacity:.62}.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:none;border:2px solid rgba(113,134,111,.55);border-radius:999px;box-shadow:0 2px 5px #3e463829;height:46px;left:50%;object-fit:contain;position:absolute;top:50%;transform:translate(-50%,-50%);width:46px}@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-feedback-tip-line{display:block;margin-top:6px}.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-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:#e0a12e29;color:var(--color-amber)}.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-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}.hub-page.journey-page{--journey-width: min(100%, 116vh );margin-top:clamp(6px,4vh,44px);max-width:none}.journey-trail{border-radius:22px;box-shadow:0 10px 28px #2f241d17;margin-inline:auto;max-width:var(--journey-width, 100%);overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.journey-trail-plate{position:relative;width:100%}.journey-trail-scene{display:block;width:100%}.journey-step{background:#58705842;border-radius:999px;height:5px;position:absolute;transform:translate(-50%,-50%);width:5px}.journey-step.is-walked{background:#587058b8}.journey-spot{background:#f7f1e3eb;border-radius:999px;box-shadow:0 0 0 2px #6e5e4880;height:17px;position:absolute;transform:translate(-50%,-50%);width:17px;z-index:2}.journey-spot.is-done{background:var(--color-sage-dark);box-shadow:0 0 0 2px #fffcf6e6}.journey-spot.is-here{background:var(--color-primary);box-shadow:0 0 0 3px #fff8eef2;height:13px;width:13px}.journey-spot-name{background:#fbf6eceb;border-radius:999px;color:var(--color-text);font-size:clamp(.82rem,1.6vw,1rem);font-weight:800;padding:.34em .78em;position:absolute;transform:translate(22px,14px);white-space:nowrap;z-index:3}.journey-spot-name.to-left{transform:translate(-22px,14px)}.journey-trail-paul{position:absolute;transform:translate(-50%,-100%);z-index:4}.journey-trail-paul img{display:block;height:100%;width:auto}@media(max-width:899px){.journey-trail-plate{aspect-ratio:2 / 1;height:min(52vh,380px);width:auto}.journey-trail-scene{height:100%;max-width:none;width:100%}}.journey-count{align-items:baseline;display:flex;flex-wrap:wrap;gap:4px 12px;margin:14px auto 6px;max-width:var(--journey-width, 100%);padding:0 6px;position:relative;width:100%}.journey-count strong{color:var(--color-primary);font-size:clamp(2.6rem,5.4vw,3.9rem);font-weight:950;letter-spacing:-.03em;line-height:.92}.journey-count span{color:var(--color-sage-dark);font-size:clamp(1.05rem,2vw,1.42rem);font-weight:900;line-height:1.25;max-width:18ch}.journey-count i{align-self:center;color:var(--color-amber);font-size:clamp(1rem,1.8vw,1.35rem);font-style:normal;animation:soft-sparkle 2.8s ease-in-out infinite}.journey-harvest{display:grid;gap:14px;margin-inline:auto;max-width:var(--journey-width, 100%);padding:4px 6px 0;width:100%}.journey-harvest h3{color:var(--color-sage-dark);font-size:1.05rem;margin:0}.journey-stars{display:grid;gap:16px;grid-template-columns:repeat(4,minmax(0,1fr))}.journey-star-count{align-items:baseline;color:var(--color-sage-dark);display:flex;font-size:1.45rem;font-weight:900;gap:7px;line-height:1}.journey-star-count i{font-size:1.3rem;font-style:normal}.journey-star p{color:var(--color-text);font-size:.86rem;font-weight:800;line-height:1.25;margin:6px 0 0}.journey-star em{color:var(--color-text-muted);display:block;font-size:.78rem;font-style:normal;font-weight:700;line-height:1.3;margin-top:2px}.journey-star-practice .journey-star-count{color:var(--color-sage-dark)}.journey-star-best .journey-star-count{color:var(--color-amber)}.journey-star-levelup .journey-star-count{color:var(--color-dusty-blue)}.journey-star-streak .journey-star-count{color:var(--color-warm-plum)}@media(max-width:599px){.journey-stars{grid-template-columns:repeat(2,minmax(0,1fr))}.journey-card{padding:16px 16px 18px}.journey-spot{height:14px;width:14px}.journey-spot.is-here{height:11px;width:11px}}.student-avatar-row{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin:0 0 18px}.student-avatar-hint{color:var(--color-text-muted);font-size:.92rem;margin:0}.student-avatar{background:var(--color-bg-soft);border:2px solid var(--color-border);border-radius:14px;height:88px;object-fit:cover;width:88px}.avatar-picker{display:grid;gap:20px}.avatar-category h2{color:var(--color-sage-dark);font-size:1.02rem;margin:0 0 10px}.avatar-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(72px,1fr))}.avatar-choice{aspect-ratio:1;background:var(--color-bg-soft);border:2px solid transparent;border-radius:14px;cursor:pointer;overflow:hidden;padding:0}.avatar-choice img{display:block;height:100%;object-fit:cover;width:100%}.avatar-choice.is-selected{border-color:var(--color-sage-dark);box-shadow:0 0 0 4px #5870582e}.avatar-picker-actions{display:flex;gap:12px}.paul-voice-intro{background:#fffaf1e6;border-radius:14px;color:var(--color-text);font-size:.95rem;line-height:1.5;margin:0;max-width:62ch;padding:12px 16px}.avatar-picker-message{color:var(--color-accent);font-size:.92rem;font-weight:750;margin:0}.student-badge{align-items:center;display:flex;gap:10px}.student-badge-picture{background:var(--color-bg-soft);border:2px solid var(--color-border);border-radius:14px;flex:0 0 auto;object-fit:cover}.student-badge-medium .student-badge-picture{height:72px;width:72px}.student-badge-large .student-badge-picture{height:104px;width:104px}.student-badge-name{color:var(--color-text);font-size:1rem;font-weight:850}.student-greeting-hello,.student-greeting-question{display:block}.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:14px;grid-template-columns:repeat(5,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:18px}.teacher-creation-icon{color:var(--color-sage-dark);flex-shrink:0}.teacher-creation-card h2{color:var(--color-text);font-size:1.18rem;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-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}.legal-links{align-items:center;color:var(--color-text-muted);display:flex;flex-wrap:wrap;font-size:.86rem;font-weight:700;gap:4px 10px;justify-content:center;padding:8px 0 4px}.legal-links a{color:var(--color-text-muted)}.legal-links a:hover{color:var(--color-text)}.conference-about-panel .legal-links{border-top:1px solid rgba(155,95,47,.14);font-size:.86rem;justify-content:flex-start;padding-top:12px}.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:var(--color-card);box-shadow:0 2px 10px #4a35270f;padding:12px 14px;position:sticky;top:8px;z-index:3}.backend-active-group-heading>span{align-items:baseline;display:flex;flex-wrap:wrap;gap:8px}.active-group-name{background:#8fa58a2e;border-radius:6px;color:var(--color-sage-dark);font-weight:950;padding:2px 10px}.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}.star-type-practice:before{color:var(--color-sage-dark)}.star-type-best-try:before{color:var(--color-amber)}.star-type-level-up:before{color:var(--color-dusty-blue)}.star-type-streak:before{color:var(--color-warm-plum)}.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}.teacher-success-note{border-radius:8px;background:#507e6f1f;color:var(--color-sage-dark);font-size:.88rem;font-weight:880;padding:10px 12px}.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}.backend-group-form>.start-link{justify-self:start}.group-language-picker{border:0;grid-column:1 / -1;margin:0;min-width:0;padding:0}.group-language-picker legend{font-weight:750;padding:0}.group-language-picker .field-hint{margin:4px 0 10px}.group-language-options{display:flex;flex-wrap:wrap;gap:8px}.group-language-option{align-items:center;background:var(--color-card);border:1px solid var(--color-border);border-radius:999px;cursor:pointer;display:inline-flex;font-weight:650;gap:8px;padding:6px 12px}.group-language-option:has(input:checked){background:#71866f24;border-color:#71866f80}.group-language-option:has(input:disabled){cursor:default}.group-language-native{color:var(--color-text-muted);font-weight:600}.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}.student-streak-star{align-items:center;background:var(--color-warm-note-bg);border-radius:14px;display:flex;gap:12px;margin:14px 0 0;padding:12px 16px}.student-streak-star p{color:var(--color-text);font-size:.98rem;line-height:1.35;margin:0}.streak-star-paul{flex:0 0 auto;height:auto;width:72px}.streak-star-icon{color:var(--color-warm-plum)}.level-up-star-icon{background:#6f91a829;color:var(--color-dusty-blue)}.weekly-activity-card{background:var(--color-bg-soft);border:1px solid rgba(111,145,168,.24);border-radius:16px;margin:0 0 20px;padding:14px 20px}.weekly-activity-card h2{color:var(--color-dusty-blue);font-size:.98rem;margin:0 0 4px}.weekly-activity-line{color:var(--color-text);font-size:1.02rem;font-weight:800;line-height:1.3;margin:0}.developer-tools-summary{color:var(--color-text-muted);cursor:pointer;font-size:.94rem;font-weight:900;letter-spacing:.02em;list-style:none;padding:2px 0}.developer-tools-summary::-webkit-details-marker{display:none}.developer-tools-summary:before{content:"▸ "}.developer-tools-module[open] .developer-tools-summary:before{content:"▾ "}.one-time-code-warning{background:#d9826b1f;border-left:3px solid var(--color-accent);border-radius:6px;color:var(--color-terracotta-dark);font-size:.92rem;font-weight:700;line-height:1.35;margin-top:8px;padding:8px 12px}.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:max-content minmax(0,1fr) auto;padding:12px}.include-toggle{align-items:center;display:flex!important;gap:8px!important;padding-top:12px;white-space:nowrap}.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-hints{border:1px solid var(--color-border);border-radius:8px;background:var(--color-bg-soft);display:grid;gap:10px;padding:14px 16px}.teacher-pack-hints h3{color:var(--color-sage-dark);font-size:1rem;margin:0}.teacher-pack-hints p{color:var(--color-text);font-size:.95rem;line-height:1.45;margin:0}.teacher-pack-hints div{display:grid;gap:6px}.teacher-pack-hints ul{color:var(--color-text-muted);font-size:.95rem;margin:0;padding-left:1.2em}.teacher-pack-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.pack-option .teacher-pack-actions{flex-shrink:0;flex-wrap:nowrap}.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:"ⓘ";margin-right:8px}.student-info-stars{display:grid;gap:8px;margin:10px 0 0;padding-left:20px}.student-info-stars li{color:var(--color-text);font-size:.94rem;line-height:1.4}.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}.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%}.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-completion-hero,.student-completion-actions,.azure-dev-result,.regenerate-code-form{grid-template-columns:1fr}}@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-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}.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%}.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}.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-cards{display:grid;grid-template-columns:repeat(2,1fr);margin-top:6mm}.print-code-card{border:1px dashed #000;box-sizing:border-box;break-inside:avoid;page-break-inside:avoid;margin:-.5px 0 0 -.5px;min-height:58mm;padding:7mm 6mm}.print-code-card p{margin:0}.print-code-card-brand{color:#000;font-size:9pt;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.print-code-card-name{font-size:10pt;margin-top:7mm!important}.print-code-card-label{font-size:9pt;margin-top:6mm!important}.print-code-card-code{font-family:Courier New,Courier,monospace;font-size:19pt;font-weight:700;letter-spacing:.08em;margin-top:1mm!important}.print-code-card-foot{font-size:8pt;margin-top:6mm!important}}@media(max-width:760px){.dashboard-shell{padding:18px 16px}.dashboard-header{align-items:flex-start}}@media(max-width:560px){.dashboard-header{flex-direction:column;gap:10px}.header-actions{flex-wrap:nowrap;gap:6px;justify-content:flex-start;width:100%}.header-actions .student-logout-button{position:absolute;right:0;top:0}.language-options{flex-wrap:nowrap;gap:6px}.dashboard-header .brand-help{align-items:center;min-height:38px}.header-help .student-info-label-long,.language-pill-label{display:none}.header-help .student-info-label-short{display:inline}.dashboard-header{position:relative}.header-help .student-info-card{position:static}.header-help .student-info-content{left:0;right:0;width:auto}.header-actions .back-link,.header-help .student-info-card summary,.language-pill{font-size:.84rem;padding:0 10px}}.about-audience-tabs{border-bottom:1px solid rgba(155,95,47,.14);display:flex;flex-wrap:wrap;gap:6px}.about-audience-tabs button{background:transparent;border:0;border-bottom:3px solid transparent;color:var(--color-text-muted);cursor:pointer;font:inherit;font-size:.92rem;font-weight:850;margin-bottom:-1px;padding:8px 10px}.about-audience-tabs button.is-active{border-bottom-color:var(--color-sage-dark);color:var(--color-sage-dark)}.about-audience-tabs button:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.about-audience-panel{display:grid;gap:10px}.about-audience-panel h3{color:var(--color-sage-dark);font-size:1rem;margin:6px 0 0}.about-audience-panel ul{color:var(--color-text-muted);display:grid;font-size:.98rem;font-weight:700;gap:6px;line-height:1.5;margin:0;padding-left:1.2em}.about-audience-panel a{color:var(--color-terracotta-dark)}.teacher-login-hint{background:var(--color-warm-note-bg);border:1px solid rgba(201,111,74,.35);border-radius:8px;color:var(--color-terracotta-dark);cursor:pointer;font:inherit;font-size:.92rem;font-weight:850;padding:10px 12px;text-align:left;text-decoration:underline;text-underline-offset:3px}.teacher-login-hint:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.teacher-help-panel{max-height:min(760px,calc(100vh - 48px));width:min(820px,100%)}.teacher-help-toc ol{columns:2;column-gap:20px;margin:0;padding-left:1.4em}.teacher-help-toc li{break-inside:avoid;color:var(--color-text-muted);font-size:.9rem;font-weight:800;margin-bottom:4px}.teacher-help-toc button{background:none;border:0;color:var(--color-terracotta-dark);cursor:pointer;font:inherit;padding:0;text-align:left;text-decoration:underline;text-underline-offset:2px}.teacher-help-section{border-top:1px solid rgba(155,95,47,.14);padding-top:10px;scroll-margin-top:8px}.teacher-help-section summary{color:var(--color-sage-dark);cursor:pointer;font-size:1.02rem;font-weight:900}.teacher-help-body{display:grid;gap:8px;padding:8px 0 4px}.teacher-help-body h4{color:var(--color-text);font-size:.95rem;margin:6px 0 0}.teacher-help-body ul,.teacher-help-body ol{color:var(--color-text-muted);display:grid;font-size:.96rem;font-weight:700;gap:5px;line-height:1.5;margin:0;padding-left:1.3em}.teacher-help-body dl{display:grid;gap:4px;margin:0}.teacher-help-body dt{color:var(--color-text);font-weight:900;margin-top:6px}.teacher-help-body dd{color:var(--color-text-muted);font-weight:700;line-height:1.5;margin:0}.teacher-help-stars{list-style:none;padding-left:0!important}@media(max-width:580px){.teacher-help-toc ol{columns:1}}.app-shell.landing-page{--landing-sage-deep: #3d5642;background:radial-gradient(60vw 50vw at 72% 38%,#fffdf7e6,#fffdf700 70%),linear-gradient(160deg,#fffaf2 0%,var(--color-cream) 55%,#f4efe1 100%);display:flex;flex-direction:column;isolation:isolate;overflow:hidden;padding:0;place-items:initial;position:relative}.landing-hills{bottom:0;height:34vh;left:0;opacity:.8;pointer-events:none;position:absolute;width:100%;z-index:-1}.landing-topbar{align-items:center;display:flex;gap:16px;justify-content:space-between;padding:22px 56px 0}.landing-wordmark{align-items:center;color:var(--landing-sage-deep);display:inline-flex;font-size:1.35rem;font-weight:800;gap:10px;white-space:nowrap}.landing-wordmark-bars{height:30px;width:30px}.landing-toplinks{display:flex;gap:8px}.landing-quiet-link{align-items:center;background:#fffaf1b3;border:1px solid var(--color-border);border-radius:10px;color:var(--color-sage-dark);cursor:pointer;display:inline-flex;font:inherit;font-size:.92rem;font-weight:650;gap:7px;padding:8px 14px;white-space:nowrap}.landing-quiet-link:hover{background:var(--color-card)}.landing-hero{align-items:center;display:grid;flex:1;gap:24px 48px;grid-template-areas:"copy stage" "login stage";grid-template-columns:minmax(0,560px) minmax(0,1fr);margin:0 auto;max-width:1600px;padding:8px 16px 0 120px;width:100%}.landing-copy{align-content:end;display:grid;gap:14px;grid-area:copy}.landing-copy h1{color:var(--landing-sage-deep);font-size:clamp(3.4rem,6.2vw,6rem);font-weight:850;letter-spacing:-.035em;line-height:.95;margin:0}.landing-claim{color:var(--color-text);font-size:clamp(1.7rem,3vw,2.9rem);font-weight:800;letter-spacing:-.02em;line-height:1.05;margin:0}.landing-claim em{color:var(--color-primary);font-style:normal}.landing-intro{color:var(--color-text-muted);font-size:1.2rem;line-height:1.45;margin:0;max-width:30em}.landing-hero.is-activating .landing-intro{display:none}.landing-stage{align-items:flex-end;align-self:end;display:flex;grid-area:stage;justify-content:flex-end;margin-bottom:-28px}.landing-hero.is-teacher .landing-copy h1{font-size:clamp(2.8rem,4.6vw,4.4rem);line-height:1}.landing-hero.is-teacher .landing-stage{margin-bottom:0}.landing-hero.is-teacher{padding-bottom:24px}.landing-scene{aspect-ratio:1 / .84;position:relative;width:min(100%,680px)}.landing-scene>*{height:auto;position:absolute}.landing-scene-blob{bottom:0;height:92%;left:-14%;width:134%}.landing-scene-plants-left{bottom:4%;left:-7%;opacity:.9;transform:scaleX(-1);width:31%}.landing-scene-plants-right{bottom:8%;left:50%;opacity:.9;width:34%}.landing-scene-sign{bottom:3%;left:72.5%;width:27%}.landing-scene-paul{bottom:0;left:2%;width:71%}.landing-scene-motion{color:var(--landing-sage-deep);left:17.5%;top:35.5%;width:7%}.landing-login{align-self:start;grid-area:login}.landing-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:16px;box-shadow:0 18px 44px #2f241d1a;display:grid;gap:12px;margin-top:12px;padding:24px 26px 18px}.landing-card h2{color:var(--landing-sage-deep);font-size:1.45rem;font-weight:750;margin:0 0 4px}.landing-card-intro{color:var(--color-text-muted);font-size:.98rem;line-height:1.45;margin:-4px 0 4px}.landing-field{align-items:center;display:flex;position:relative}.landing-field-icon{color:var(--color-text-muted);left:14px;pointer-events:none;position:absolute}.landing-field input{background:#fffdf8;border:1px solid var(--color-border);border-radius:10px;color:var(--color-text);font:inherit;font-size:1.02rem;height:50px;padding:0 46px;width:100%}.landing-field input:focus{border-color:var(--color-primary);outline:3px solid var(--color-focus)}.landing-field-eye{align-items:center;background:transparent;border:0;border-radius:8px;color:var(--color-text-muted);cursor:pointer;display:grid;height:36px;place-items:center;position:absolute;right:8px;width:36px}.landing-field-eye:focus-visible{outline:3px solid var(--color-focus)}.landing-primary{align-items:center;background:var(--color-primary);border:0;border-radius:10px;color:var(--color-primary-text);cursor:pointer;display:inline-flex;font:inherit;font-size:1.12rem;font-weight:750;gap:8px;height:52px;justify-content:center}.landing-primary:hover{background:var(--color-primary-hover)}.landing-primary:disabled{cursor:progress;opacity:.75}.landing-text-link{background:transparent;border:0;color:var(--color-sage-dark);cursor:pointer;font:inherit;font-size:.95rem;font-weight:600;justify-self:center;padding:2px 4px;text-decoration:underline;text-underline-offset:3px}.landing-first-visit{align-items:center;background:#71866f1a;border:0;border-radius:10px;color:inherit;cursor:pointer;display:grid;font:inherit;gap:14px;grid-template-columns:auto minmax(0,1fr) auto;margin-top:6px;padding:12px 12px 12px 10px;text-align:left}.landing-first-visit:hover{background:#71866f29}.landing-first-visit img{height:auto;width:64px}.landing-first-visit-copy{display:grid;gap:2px}.landing-first-visit-copy strong{color:var(--landing-sage-deep);font-size:1.05rem}.landing-first-visit-copy span{color:var(--color-text-muted);font-size:.93rem;line-height:1.35}.landing-round-go{background:var(--color-sage-dark);border-radius:50%;color:#fff;display:grid;height:46px;place-items:center;width:46px}.landing-steps{display:flex;justify-content:center;padding:22px 24px 8px}.landing-step{display:grid;gap:4px;justify-items:center;padding:0 40px;text-align:center}.landing-step+.landing-step{border-left:1px solid rgba(88,112,88,.25)}.landing-step-bubble{border-radius:50%;display:grid;height:58px;margin-bottom:4px;place-items:center;width:58px}.landing-step-bubble svg{height:28px;width:28px}.landing-step:nth-child(1) .landing-step-bubble{background:#71866f29;color:var(--landing-sage-deep)}.landing-step:nth-child(2) .landing-step-bubble{background:#d48a3229;color:var(--color-primary-hover)}.landing-step:nth-child(3) .landing-step-bubble{background:#6f91a829;color:#4f6f86}.landing-step b{color:var(--landing-sage-deep);font-size:1.2rem}.landing-step span{color:var(--color-text-muted);font-size:.95rem}.landing-legal{justify-content:flex-end;padding:4px 56px 14px}@media(max-width:1279px){.landing-topbar{padding-top:16px}.landing-hero{gap:12px 32px;padding:8px 40px 0 64px}.landing-copy h1{font-size:clamp(3.4rem,5.6vw,4.6rem)}.landing-claim{font-size:clamp(1.7rem,2.6vw,2.2rem)}.landing-intro{font-size:1.05rem}.landing-card{gap:10px;padding:18px 22px 14px}.landing-field input{height:46px}.landing-primary{height:48px}.landing-stage{margin-bottom:-6px}.landing-scene{width:min(100%,560px)}.landing-steps{padding-top:18px}}@media(max-width:1024px){.landing-topbar{padding:18px 32px 0}.landing-hero{align-content:start;align-content:stretch;gap:16px 28px;grid-template-areas:"copy login" "stage stage";grid-template-columns:minmax(0,.9fr) minmax(0,1fr);grid-template-rows:auto 1fr;padding:28px 40px 0}.landing-copy{align-content:center;align-self:center}.landing-login{width:100%}.landing-copy h1{font-size:clamp(3.4rem,9.4vw,5rem);line-height:.92}.landing-claim{font-size:clamp(1.35rem,3.3vw,1.75rem);white-space:nowrap}.landing-hero.is-teacher .landing-scene{width:min(100%,680px)}.landing-stage{align-self:end;margin-bottom:0}.landing-scene{width:min(100%,560px)}.landing-step{padding:0 26px}.landing-legal{justify-content:center;padding:8px 32px 20px}}@media(max-width:599px){.landing-topbar{padding:14px 16px 0}.landing-wordmark{font-size:1.1rem}.landing-wordmark-bars{height:24px;width:24px}.landing-toplinks{gap:2px}.landing-quiet-link{background:transparent;border:0;font-size:.85rem;gap:5px;padding:6px 4px}.landing-label-long,.landing-intro{display:none}.landing-hero{gap:4px;grid-template-areas:"copy" "stage" "login";grid-template-columns:1fr;padding:10px 16px 0}.landing-copy{gap:8px}.landing-copy h1{font-size:2.9rem}.landing-claim{font-size:1.55rem;white-space:normal}.landing-stage{align-self:center;margin:0 0 -4px}.landing-scene{width:min(100%,300px)}.landing-login{width:100%}.landing-card{gap:10px;padding:18px 16px 14px}.landing-card h2{font-size:1.25rem}.landing-field input{height:48px}.landing-first-visit img{width:52px}.landing-steps{padding:24px 8px 8px}.landing-step{padding:0 12px}.landing-step-bubble{height:46px;width:46px}.landing-step-bubble svg{height:22px;width:22px}.landing-step b{font-size:1rem}.landing-step span{font-size:.8rem}.landing-hills{height:22vh}.landing-hero.is-activating .landing-stage{display:none}}@media(max-width:380px){.landing-copy h1{font-size:2.55rem}.landing-claim{font-size:1.4rem}.landing-scene{width:min(100%,240px)}.landing-card{padding:16px 14px 12px}.landing-quiet-link svg{display:none}}.app-shell.student-hub-page{isolation:isolate;overflow:hidden;padding-bottom:210px;position:relative}.student-hub-page>.dashboard{width:min(1340px,100%)}.hub-scene{inset:0;pointer-events:none;position:absolute;z-index:-1}.hub-scene-band{-webkit-mask-image:linear-gradient(180deg,#000 0%,#000 58%,transparent 100%);mask-image:linear-gradient(180deg,#000 0%,#000 58%,transparent 100%);height:600px;left:0;overflow:hidden;position:absolute;right:0;top:0}.hub-scene-hills{height:490px;left:-5%;position:absolute;top:110px;width:110%}.hub-scene-ground{--strip: 38px;background:linear-gradient(0deg,#71866f47,#71866f00);bottom:0;height:220px;left:0;position:absolute;right:0}.hub-scene-strip{background:url(/images/dashboard/ground_mid.webp) repeat-x bottom center;background-size:auto 100%;bottom:0;height:calc(var(--strip) * 1.4);left:0;position:absolute;right:0}.hub-scene-corner{bottom:0;position:absolute;width:auto}.hub-scene-corner-left{height:calc(var(--strip) * 3.893);left:0}.hub-scene-corner-right{height:calc(var(--strip) * 3.854);right:0}.hub-scene-side{bottom:0;display:none;height:min(760px,74%);position:absolute;width:auto}.hub-scene-side-left{left:clamp(-70px,calc((100vw - 1340px)*.1 - 75px),40px)}.hub-scene-side-right{right:clamp(-45px,calc((100vw - 1340px)*.1 - 48px),60px)}@media(min-width:900px){.hub-scene-side{display:block}.hub-grid:before,.hub-grid:after{display:none}}.hub-scene-sign{-webkit-mask-image:linear-gradient(to top,transparent 0,#000 calc(var(--strip) * .42));mask-image:linear-gradient(to top,transparent 0,#000 calc(var(--strip) * .42));bottom:6px;left:calc(var(--strip) * 6.6);position:absolute;width:110px}.hub-scene-ground:not(.has-resting-paul) .hub-scene-sign{left:auto;right:calc(var(--strip) * 6.6)}.student-hub-page .student-greeting{display:block;margin-inline:0;max-width:32%;padding:4px 0 clamp(124px,13vw,150px)}.student-hub-page .student-greeting-hello{display:inline-block;font-size:clamp(2.1rem,5.2vw,4.2rem);font-weight:850;letter-spacing:-.03em;line-height:1.04;max-width:100%;overflow-wrap:anywhere}.student-hub-page .student-greeting-question{color:var(--color-text);font-size:clamp(1.1rem,2vw,1.45rem);font-weight:750;margin-top:12px}.student-greeting-swoosh{color:var(--color-primary);display:block;height:14px;margin-top:2px;width:100%}.hub-grid{align-items:stretch;display:grid;gap:18px;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr) minmax(0,1fr);position:relative}.hub-grid-ground{background:linear-gradient(180deg,#71866f00,#71866f14 30%,#71866f42 52%,#71866f2e 72%,#71866f00);bottom:calc(100% - 400px);height:620px;left:calc(50% - 50vw);position:absolute;width:100vw;z-index:-2}.hub-grid:before,.hub-grid:after{bottom:calc(100% - 112px);content:"";height:234px;opacity:.9;position:absolute;z-index:-1}.hub-grid:before{background:url(/images/landing/plants_left.webp) no-repeat left bottom / contain;left:calc(50% - 50vw);width:170px}.hub-grid:after{background:url(/images/landing/plants_right.webp) no-repeat right bottom / contain;right:calc(50% - 50vw);width:190px}.hub-card{align-items:center;background:var(--color-card);border:1px solid var(--color-border);border-radius:18px;box-shadow:var(--shadow-soft);display:flex;flex-direction:column;gap:8px;padding:22px 18px 20px;position:relative;text-align:center}.hub-card-art{align-items:center;border-radius:50%;display:flex;height:118px;justify-content:center;width:118px}.hub-card h2{color:var(--color-sage-dark);font-size:1.35rem;line-height:1.15;margin:6px 0 0}.hub-card p{color:var(--color-text-muted);font-size:.95rem;line-height:1.4;margin:0}.hub-card-meta{align-items:center;display:flex;flex-wrap:wrap;font-size:.86rem;font-weight:700;gap:8px;justify-content:center}.hub-card-meta .ready-badge{background:none;border-radius:0;color:#4f6f86;font-size:.86rem;font-weight:800;padding:0}.hub-card-go{align-items:center;border:0;border-radius:50%;display:flex;height:46px;justify-content:center;margin-top:auto;width:46px}.hub-card-lab .hub-card-art,.hub-card-lab .hub-card-go{background:#e2ebef;color:#4f6f86}.hub-card-lab .hub-card-meta{color:#4f6f86}.hub-card-lab .hub-card-art img{height:66px;width:auto}.hub-card-journey .hub-card-art,.hub-card-journey .hub-card-go{background:#f4e2da;color:var(--color-terracotta-dark)}.hub-card-journey .hub-card-meta{color:var(--color-terracotta-dark)}.hub-card-journey .hub-card-art img{height:auto;width:82px}.hub-card-main{background:linear-gradient(180deg,#eef2e7,#f7f8f1);border:2px solid rgba(88,112,88,.45);padding-top:26px}.hub-card-paul{bottom:100%;left:50%;line-height:0;pointer-events:none;position:absolute;transform:translate(-50%);width:min(86%,400px);z-index:2}.hub-card-paul img{display:block;margin-bottom:-4.11%;width:100%}.hub-card-main .hub-card-art{background:#71866f24;height:170px;width:170px}.hub-card-main .hub-card-art img{width:142px}.hub-card-main h2{font-size:1.9rem}.hub-card-subtitle{color:var(--color-sage-dark);font-size:1rem;font-weight:700;margin-top:-4px}.hub-card-main p{font-size:1rem}.hub-card-start{align-items:center;background:var(--color-primary);border:0;border-radius:999px;color:var(--color-on-primary);display:inline-flex;font-size:1.05rem;font-weight:750;gap:8px;height:48px;justify-content:center;margin-top:auto;padding:0 34px;width:auto}.hub-card-start:hover{background:var(--color-primary-hover)}@media(max-width:1024px){.hub-grid{grid-template-columns:1fr 1fr}.hub-card-main{grid-column:1 / -1;order:-1}.hub-card-paul{left:60%;width:min(60%,360px)}.student-hub-page .student-greeting{max-width:58%}.hub-scene-ground{--strip: 30px}}@media(max-width:599px){.app-shell.student-hub-page{padding-bottom:150px}.student-hub-page .student-greeting{max-width:100%}.hub-grid{gap:12px}.hub-grid:before{height:138px;width:100px}.hub-grid:after{height:146px;width:110px}.hub-card{padding:16px 10px}.hub-card-paul{left:auto;right:-4px;transform:none;width:240px}.hub-card-art{height:78px;width:78px}.hub-card-lab .hub-card-art img{height:46px}.hub-card-journey .hub-card-art img{width:56px}.hub-card h2{font-size:1.02rem}.hub-card-lab p,.hub-card-journey p{display:none}.hub-card-go{height:40px;width:40px}.hub-card-main .hub-card-art{height:116px;width:116px}.hub-card-main .hub-card-art img{width:96px}.hub-card-main h2{font-size:1.4rem}.hub-card-main p{font-size:.92rem}.hub-scene-ground{--strip: 24px;height:150px}.hub-scene-sign{bottom:4px;left:calc(var(--strip) * 6.4);width:74px}.hub-scene-resting-paul{height:104px;right:0}}.student-hub-header{align-items:stretch;display:grid;gap:12px;justify-items:start}.hub-bar{align-items:center;background:#fffdf9;border:1px solid var(--color-border);border-radius:16px;box-shadow:0 8px 24px #2f241d0f;display:flex;gap:6px;padding:8px 10px 8px 18px;width:100%}.hub-wordmark{align-items:center;color:var(--color-sage-dark);display:inline-flex;font-size:1.25rem;font-weight:800;gap:9px;margin-right:auto;white-space:nowrap}.hub-wordmark-bars{height:26px;width:26px}.hub-nav{align-items:center;display:flex;gap:2px}.hub-nav-item,.student-hub-header .student-info-card>summary{align-items:center;background:transparent;border:0;border-radius:10px;color:var(--color-sage-dark);display:inline-flex;font-size:.9rem;font-weight:650;gap:6px;padding:9px 11px;white-space:nowrap}.hub-nav-item:hover,.student-hub-header .student-info-card>summary:hover{background:#71866f1a}.hub-nav-item.is-active{background:#71866f26}.student-hub-header .student-info-card{background:transparent;border:0;box-shadow:none;overflow:visible;position:relative}.student-hub-header .student-info-card>summary:before,.student-hub-header .student-info-card>summary:after{content:none}.student-hub-header .student-info-label-long{display:none}.student-hub-header .student-info-label-short{display:inline}.student-hub-header .student-info-content{background:var(--color-card);border:1px solid var(--color-border);border-radius:14px;box-shadow:var(--shadow-medium);max-height:min(70vh,560px);overflow:auto;padding:18px;position:absolute;right:0;top:calc(100% + 8px);width:min(380px,86vw);z-index:30}.hub-bar-divider{background:var(--color-border);height:30px;margin:0 6px;width:1px}.hub-bar .language-options{flex-wrap:nowrap;gap:4px}.hub-bar .language-pill{background:transparent;border:0;font-size:1.25rem;min-height:0;padding:0}.hub-bar .language-pill-label{display:none}.hub-bar .language-options{position:relative}.hub-bar .language-pill{cursor:pointer;filter:grayscale(.7);opacity:.45;transition:opacity .15s ease,filter .15s ease,transform .15s ease}.hub-bar .language-pill:hover:not(.is-active){filter:grayscale(.2);opacity:.8}.hub-bar .language-pill.is-active{cursor:default;filter:none;opacity:1;transform:scale(1.12)}.hub-bar .language-pill:disabled{cursor:default}.language-notice{background:var(--color-card);border:1px solid var(--color-border);border-radius:10px;box-shadow:var(--shadow-medium);color:var(--color-text);font-size:.88rem;font-weight:750;left:50%;max-width:min(260px,70vw);padding:8px 12px;position:absolute;text-align:center;top:calc(100% + 10px);transform:translate(-50%);width:max-content;z-index:30}.hub-avatar-menu{position:relative}.hub-avatar-menu>summary{cursor:pointer;display:block;list-style:none}.hub-avatar-menu>summary::-webkit-details-marker{display:none}.hub-avatar-picture,.hub-avatar-placeholder{align-items:center;background:var(--color-card-soft);border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px var(--color-border);color:var(--color-sage-dark);display:flex;height:42px;justify-content:center;object-fit:cover;width:42px}.hub-avatar-panel{background:var(--color-card);border:1px solid var(--color-border);border-radius:14px;box-shadow:var(--shadow-medium);display:grid;gap:4px;padding:8px;position:absolute;right:0;top:calc(100% + 8px);width:max-content;z-index:30}.hub-avatar-panel button{background:transparent;border:0;border-radius:10px;color:var(--color-text);font-size:.95rem;font-weight:700;min-height:42px;padding:0 14px;text-align:left}.hub-avatar-panel button:hover{background:#71866f1f}.hub-translation-menu{position:relative}.hub-translation-menu>summary{align-items:center;border-radius:10px;color:var(--color-sage-dark);cursor:pointer;display:inline-flex;justify-content:center;list-style:none;padding:6px}.hub-translation-menu>summary::-webkit-details-marker{display:none}.hub-translation-menu>summary:hover,.hub-translation-menu[open]>summary{background:#71866f1f}.hub-translation-panel{background:var(--color-card);border:1px solid var(--color-border);border-radius:14px;box-shadow:var(--shadow-medium);display:grid;gap:4px;min-width:220px;padding:8px;position:absolute;right:0;top:calc(100% + 8px);z-index:30}.hub-translation-title{color:var(--color-text-muted);font-size:.85rem;font-weight:700;margin:4px 10px 6px}.hub-translation-panel button{background:transparent;border:0;border-radius:10px;color:var(--color-text);cursor:pointer;font-size:1rem;font-weight:700;min-height:42px;padding:0 14px;text-align:start}.hub-translation-panel button:hover{background:#71866f1f}.hub-translation-panel button.is-active{background:#71866f2e;color:var(--color-sage-dark)}.hub-translation-panel button[lang=ar]{font-size:1.1rem}@media(max-width:1100px){.hub-nav-item span,.student-hub-header .student-info-label-short{display:none}.hub-nav-item,.student-hub-header .student-info-card>summary{padding:10px}}@media(max-width:599px){.hub-bar{border-radius:14px;padding:6px 8px 6px 12px}.hub-wordmark{font-size:1.05rem}.hub-nav .hub-nav-item,.hub-bar-divider{display:none}.hub-bar .language-pill{font-size:1.1rem}.hub-avatar-picture,.hub-avatar-placeholder{height:36px;width:36px}}.practice-progress{align-items:center;display:flex;gap:14px;margin:4px 0 18px}.practice-progress-count{color:var(--color-text-muted);flex:0 0 auto;font-size:.95rem;font-weight:800}.practice-progress-track{background:#71866f2e;border-radius:999px;flex:1 1 auto;height:8px;overflow:hidden}.practice-progress-track i{background:var(--color-sage);border-radius:999px;display:block;height:100%;transition:width .24s ease}.practice-hint{color:var(--color-text-muted);font-size:.95rem;line-height:1.45;margin:0 0 18px;max-width:62ch}.practice-sentence{color:var(--color-text);font-size:clamp(1.5rem,4.6vw,2.5rem);font-weight:800;line-height:1.25;margin:0 0 22px;min-height:2.5em;text-align:center}@media(max-width:599px){.practice-progress{gap:10px;margin-bottom:14px}.practice-progress-count{font-size:.88rem}.practice-sentence{margin-bottom:18px}}.practice-translation{display:flex;justify-content:center;margin:-10px 0 20px;min-height:34px}.practice-translation-ask{align-items:center;background:#71866f1a;border:0;border-radius:999px;color:var(--color-sage-dark);cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:700;gap:6px;padding:6px 14px}.practice-translation-ask:hover{background:#71866f2e}.practice-translation-text{background:transparent;border:0;color:var(--color-text-muted);cursor:pointer;font-size:clamp(1.05rem,3.4vw,1.35rem);font-weight:650;line-height:1.35;max-width:100%;padding:4px 8px;text-align:center}.practice-translation-text[lang=ar]{font-size:clamp(1.2rem,3.9vw,1.5rem)}@media(max-width:599px){.practice-translation{margin:-8px 0 14px}}.practice-reply{align-items:center;display:grid;gap:16px;grid-template-columns:auto minmax(0,1fr);margin:22px auto 0;max-width:720px;min-height:132px;width:100%}.practice-reply-paul{height:96px;width:96px}.practice-reply-copy{display:grid;gap:4px}.practice-reply-copy p{color:var(--color-text);font-size:1rem;line-height:1.45;margin:0}.practice-reply-copy p span{display:block}.practice-reply-level{color:var(--color-sage-dark);font-size:1.22rem;line-height:1.2}.practice-best-try{align-items:baseline;color:var(--color-text-muted);display:inline-flex;flex-wrap:wrap;font-size:.95rem;gap:8px}.practice-best-try strong{color:var(--color-terracotta-dark);font-weight:850}.practice-best-try-empty{font-style:italic}@media(max-width:599px){.practice-reply{gap:12px;margin-top:18px;min-height:118px}.practice-reply-paul{height:80px;width:80px}.practice-reply-level{font-size:1.1rem}.practice-reply-copy p{font-size:.95rem}}@media(max-width:599px){.student-readonly-actions{flex-wrap:nowrap;gap:10px;margin-top:22px}.student-readonly-actions .back-link,.student-readonly-actions .start-link{font-size:.95rem;padding:0 14px}}.student-mic-glyph{display:block;margin-bottom:2px}@media(min-width:600px){.student-hub-header .student-top-back-button{display:none}}.hub-page{display:grid;gap:20px;justify-self:center;margin-top:clamp(8px,7vh,84px);max-width:860px;width:100%}.hub-page-head{display:grid;gap:6px}.hub-page-head h2{color:var(--color-sage-dark);font-size:clamp(1.75rem,3.6vw,2.6rem);line-height:1.15;margin:0}.hub-page-head p{color:var(--color-text-muted);font-size:1.05rem;font-weight:700;line-height:1.45;margin:0;max-width:52ch}.pack-cards{display:grid;gap:12px}.pack-card{align-items:center;background:var(--color-card);border:1px solid var(--color-border);border-left:5px solid transparent;border-radius:16px;box-shadow:0 8px 20px #2f241d0f;column-gap:18px;display:grid;grid-template-columns:minmax(0,1fr) auto;padding:16px 18px;row-gap:6px;text-align:left;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.pack-card:hover{box-shadow:var(--shadow-medium);transform:translateY(-1px)}.pack-card.is-current{background:linear-gradient(180deg,rgba(212,138,50,.09) 0%,var(--color-card) 70%);border-left-color:var(--color-primary)}.pack-card-title{color:var(--color-sage-dark);font-size:1.2rem;font-weight:900;line-height:1.25}.pack-card-description{color:var(--color-text);font-size:.98rem;font-weight:700;line-height:1.4}.pack-card-meta{color:var(--color-text-muted);font-size:.96rem;font-weight:750}.pack-card-bar{background:#71866f29;border-radius:999px;display:block;height:6px;overflow:hidden}.pack-card-bar i{background:var(--color-sage);border-radius:999px;display:block;height:100%}.pack-card.is-done .pack-card-bar i{background:var(--color-sage-dark)}.pack-card-go{align-self:center;color:var(--color-sage);grid-column:2;grid-row:1 / 4}.pack-card.is-current .pack-card-go{color:var(--color-primary)}@media(max-width:599px){.hub-page{gap:14px;margin-top:4px}.pack-card{column-gap:12px;padding:14px}.pack-card-title{font-size:1.02rem}}.hub-scene-resting-paul{bottom:0;height:152px;position:absolute;right:clamp(8px,7%,260px);width:auto}@media(max-width:599px){.hub-scene-resting-paul{height:84px;right:6px}}@media(max-width:1099px){.hub-scene-ground.has-resting-paul .hub-scene-sign{display:none}}.app-shell.ourstars-shell{background:linear-gradient(180deg,var(--color-bg) 0%,#d9e2e8 10%,#93acbe 21%,#4d6b7f 33%,#2e404c 46%,#192329 64%,#0d1316 84%,#0a0d10 100%);background-attachment:fixed;isolation:isolate;overflow:hidden;padding-bottom:calc(clamp(210px,33.4vw,680px) + 24px);min-height:100vh;position:relative}.ourstars-ground{bottom:0;left:0;pointer-events:none;position:absolute;right:0;z-index:-1}.ourstars-ground img{display:block;width:100%}@media(max-width:899px){.ourstars-ground{overflow:hidden}.ourstars-ground img{height:clamp(300px,78vw,420px);left:50%;position:relative;transform:translate(-50%);width:auto;max-width:none}}.hub-page.ourstars-page{--star-practice: #acbaab;--star-best-try: #ecbc65;--star-level-up: #a5bbca;--star-streak: #c3a2b3;--ourstars-width: min(100%, 112vh );margin-top:clamp(6px,4vh,44px);max-width:none}.ourstars-page .hub-page-head h2{color:#24333c}.ourstars-page .hub-page-head p{color:#415b6c}.ourstars-block{display:grid;gap:0;margin:6px auto 0;max-width:var(--ourstars-width);padding:0 6px;width:100%}.ourstars-headline{color:#f1f2f3;font-size:clamp(1.15rem,2.2vw,1.55rem);font-weight:900;margin:0 0 18px}.ourstars-bar{background:#ffffff38;border-radius:999px;display:flex;height:16px;overflow:hidden}.ourstars-bar>span{display:block;height:100%}.ourstars-rest{color:#dee1e3;font-size:1rem;font-weight:800;margin:12px 0 0}.ourstars-kinds{display:flex;flex-wrap:wrap;gap:10px 24px;margin:4px 0 22px}.ourstars-kind{align-items:baseline;color:#d9dcde;display:flex;font-size:.95rem;font-weight:800;gap:6px}.ourstars-kind strong{color:#f7fbfd;font-size:1.05rem;font-weight:900}.ourstars-kind i{font-size:1.05rem;font-style:normal}.ourstars-week{color:#f7f7f8;font-size:clamp(1.02rem,1.9vw,1.2rem);font-weight:850;line-height:1.4;margin:26px 0 0}.ourstars-facts{border-top:1px solid rgba(255,255,255,.18);display:grid;gap:8px;margin-top:16px;padding-top:14px}.ourstars-prize{align-items:center;display:flex;gap:9px}.ourstars-facts p{color:#dcdee0;font-size:1rem;font-weight:760;line-height:1.5;margin:0}.ourstars-facts strong{color:#f7fbfd}.ourstars-teaser{align-items:center;background:var(--color-card);border:1px solid var(--color-border);border-radius:16px;box-shadow:0 8px 20px #2f241d0f;column-gap:18px;cursor:pointer;display:grid;grid-template-columns:auto minmax(0,1fr) auto;padding:14px 18px;text-align:left;width:100%}.ourstars-teaser:hover{border-color:var(--color-border-strong)}.ourstars-teaser-head{align-items:center;color:var(--color-sage-dark);display:flex;font-size:1.05rem;font-weight:900;gap:8px}.ourstars-teaser-count{color:var(--color-text);font-size:1rem;font-weight:850}.ourstars-teaser .ourstars-bar{background:#71866f29;grid-column:1 / 3;height:10px;margin-top:10px}.ourstars-teaser-go{color:var(--color-sage);grid-column:3;grid-row:1 / 3}.hub-nav-item.is-disabled{cursor:default;opacity:.42}@media(max-width:599px){.ourstars-teaser{column-gap:12px;padding:12px 14px}.ourstars-teaser-count{font-size:.94rem}}.completion-page{display:grid;gap:20px;margin-inline:auto;max-width:560px;width:100%}.pack-page-view{width:100%}@media(max-width:899px){.pack-page-shell{background:linear-gradient(180deg,#fffdf8 0%,var(--color-cream) 40%,rgba(113,134,111,.2) 100%),var(--color-cream)}}.completion-head{align-items:center;display:flex;gap:14px;justify-content:space-between}.completion-head-copy{display:grid;gap:2px;min-width:0}.completion-eyebrow{color:var(--color-text-muted);font-size:.82rem;font-weight:800;letter-spacing:.06em;margin:0;text-transform:uppercase}.completion-head h1{color:var(--color-sage-dark);font-size:clamp(1.75rem,3.6vw,2.4rem);line-height:1.15;margin:0}.completion-says{align-items:center;display:flex;gap:12px}.completion-paul{flex:0 0 92px;height:92px;width:92px}.completion-bubble{background:var(--color-card);border:1px solid var(--color-border);border-radius:16px;box-shadow:0 4px 14px #4a35270f;color:var(--color-text);font-size:.98rem;font-weight:650;line-height:1.5;margin:0;padding:12px 14px;position:relative}.completion-bubble:before{background:var(--color-card);border-bottom:1px solid var(--color-border);border-left:1px solid var(--color-border);content:"";height:15px;left:-8px;position:absolute;top:50%;transform:translateY(-50%) rotate(45deg);width:15px}.completion-bubble strong{font-weight:900;white-space:nowrap}.completion-earned{display:grid;gap:14px}.completion-earned h2{color:var(--color-sage-dark);font-size:1rem;margin:0}.completion-stars{grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:10px}.completion-note{color:var(--color-text-muted);font-size:.92rem;font-weight:700;line-height:1.45;margin:0}.completion-voice{display:grid;gap:8px}.completion-voice-title{color:var(--color-text-muted);font-size:.84rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.completion-voice-track{display:grid;gap:5px;grid-template-columns:repeat(5,1fr)}.completion-voice-step{align-items:center;border-radius:7px;color:#fff8ef;display:flex;font-size:.8rem;font-weight:900;height:30px;justify-content:center}.completion-page .student-completion-actions{display:grid;gap:10px;margin:0}.completion-page .student-completion-actions button{width:100%}.pack-page-shell .hub-scene{display:none}@media(min-width:900px){.pack-page-shell .hub-scene{display:block}}.pack-intro-says{align-items:center}.pack-intro-paul{flex:0 0 auto;height:150px;width:auto}@media(max-width:899px){.pack-start-shell .hub-scene{display:block}.pack-start-shell .hub-scene-band{display:none}.pack-start-shell .pack-page-view{padding-bottom:150px}}.app-shell.teacher-scene-page{isolation:isolate;overflow:hidden;padding-bottom:230px;position:relative}.teacher-scene-page .hub-scene-side{display:none}.teacher-stars{display:grid;gap:22px;grid-column:1 / -1;margin-top:10px}.teacher-stars-head h3{color:var(--color-sage-dark);font-size:1.5rem;margin:0}.teacher-stars-head p{color:var(--color-text-muted);font-weight:700;margin:4px 0 0}.teacher-stars-group{border-radius:18px;display:block;width:100%}.teacher-stars-status{display:grid;gap:10px}.teacher-stars-count{color:var(--color-text);font-size:1.35rem;font-weight:900;margin:0}.teacher-stars-count small{color:var(--color-text-muted);font-size:1rem;font-weight:700}.teacher-stars-bar{background:#71866f29;border-radius:999px;display:flex;height:14px;overflow:hidden}.teacher-stars-bar>span{display:block;height:100%}.teacher-stars-kinds{display:flex;flex-wrap:wrap;gap:6px 22px}.teacher-stars-kinds span{color:var(--color-text-muted);font-size:.95rem;font-weight:700}.teacher-stars-kinds strong{color:var(--color-text);font-weight:900}.teacher-stars-kinds i{font-style:normal;margin-right:3px}.teacher-stars-expired{color:var(--color-terracotta-dark);font-weight:750;line-height:1.45;margin:2px 0 0}.teacher-stars-running{color:var(--color-sage-dark);font-weight:750;margin:2px 0 0}.teacher-stars-rule{border:0;border-top:1px solid var(--color-border);margin:4px 0}.teacher-stars-sub{color:var(--color-sage-dark);font-size:1.05rem;margin:0}.teacher-stars-dates{display:grid;gap:18px;grid-template-columns:repeat(3,minmax(0,1fr))}.teacher-stars-field{color:var(--color-text);display:grid;font-size:.95rem;font-weight:800;gap:6px}.teacher-stars-field input{background:#fffdf8;border:1px solid var(--color-border);border-radius:10px;font:inherit;font-weight:700;padding:11px 13px}.teacher-stars-field input:disabled{opacity:.55}.teacher-stars-check{align-items:center;color:var(--color-text);display:flex;font-weight:700;gap:9px;margin-top:-8px}.teacher-stars-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:-8px}.teacher-stars-chip{background:transparent;border:1px solid var(--color-border);border-radius:999px;color:var(--color-text);cursor:pointer;font:inherit;font-size:.9rem;font-weight:750;padding:6px 13px}.teacher-stars-chip.is-on{background:var(--color-sage);border-color:var(--color-sage);color:#fff}.teacher-stars-radios{display:grid;gap:10px}.teacher-stars-radio{align-items:baseline;color:var(--color-text);cursor:pointer;display:flex;font-weight:800;gap:10px}.teacher-stars-radio small{color:var(--color-text-muted);font-size:.95rem;font-weight:700}.teacher-stars-note{color:var(--color-text-muted);font-size:.95rem;margin:0}.teacher-stars-actions{display:flex;flex-wrap:wrap;gap:12px}@media(max-width:720px){.teacher-stars-dates{grid-template-columns:minmax(0,1fr)}}.practice-pack-module .teacher-creation-heading,.practice-pack-module .teacher-creation-intro,.practice-pack-module .teacher-preview,.class-management-module .teacher-preview,.class-management-module .backend-workflow-step,.class-management-module .backend-overview-panel,.class-management-module .teacher-management-card,.class-management-module .backend-active-group-heading{background:none;border:0;border-radius:0;box-shadow:none;padding:0}.practice-pack-module,.class-management-module .backend-code-section,.class-management-module .backend-workflow-step{display:grid;gap:26px}.practice-pack-module .teacher-creation-heading:not(.dashboard-section-heading),.class-management-module .backend-overview-panel+.backend-overview-panel,.class-management-module .backend-workflow-step+.backend-workflow-step,.class-management-module .teacher-management-card:not(.active-group-actions-card),.class-management-module .teacher-stars{border-top:1px solid rgba(113,134,111,.2);padding-top:24px}.practice-pack-module .teacher-creation-intro{border-top:0;padding-top:0}.practice-pack-module .teacher-creation-heading h2,.class-management-module .class-management-heading h2{color:var(--color-sage-dark);font-size:1.55rem;margin:0}.class-management-module .teacher-preview-heading h2,.class-management-module .teacher-management-card h3,.class-management-module .teacher-stars-head h3{color:var(--color-sage-dark);font-size:1.2rem;margin:0}.teacher-pack-year{color:var(--color-text-muted);font-size:.82rem;font-weight:900;letter-spacing:.06em;margin:18px 0 0;text-transform:uppercase}.teacher-pack-year:first-child{margin-top:0}.class-management-module .student-access-management-card{grid-column:1 / -1}.class-management-module .backend-active-group-heading>span{color:var(--color-text);font-size:1.5rem;font-weight:900}.practice-pack-module .teacher-creation-options{column-gap:28px;row-gap:28px}.practice-pack-module .teacher-creation-card{background:none;border:0;border-radius:0;box-shadow:none;padding:0}.practice-pack-module .pack-option,.class-management-module .teacher-assignment-item{background:none;border:0;border-bottom:1px solid rgba(113,134,111,.16);border-radius:0;box-shadow:none;padding:14px 0}.practice-pack-module .pack-list,.class-management-module .teacher-assignment-list{gap:0}.class-management-module .teacher-group-card{background:none;border:1px solid transparent;box-shadow:none}.class-management-module .teacher-group-card.is-selected{background:#71866f1a;border-color:#58705847;box-shadow:none}@media(min-width:861px){.class-management-module .active-group-actions-card{align-items:start;column-gap:40px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);row-gap:14px}.class-management-module .active-group-actions-card>div:first-child,.class-management-module .active-group-actions-card>.code-message{grid-column:1 / -1}.class-management-module .backend-rename-form{grid-template-columns:minmax(0,1fr) auto}.class-management-module .backend-rename-form .start-link{padding:0 22px;white-space:nowrap}.class-management-module .backend-group-danger-zone{align-content:start;border-left:1px solid rgba(160,55,55,.16);border-top:0;grid-template-columns:1fr;justify-items:start;margin-top:0;padding:0 0 0 24px}}.teacher-dashboard-heading{align-items:center;display:flex;flex-wrap:wrap;gap:12px 20px;justify-content:space-between}.teacher-dashboard-heading .code-message{flex-basis:100%}.backend-active-group-heading .teacher-probe-button{justify-self:start;margin-top:10px;width:auto}.teacher-probe-banner{align-items:center;background:#6f91a824;border:1px solid rgba(111,145,168,.32);border-radius:14px;display:flex;flex-wrap:wrap;gap:10px 18px;justify-content:space-between;margin-top:10px;padding:10px 14px}.teacher-probe-banner p{color:var(--color-text);flex:1 1 320px;font-size:.92rem;font-weight:700;line-height:1.45;margin:0}.teacher-probe-banner .back-link{white-space:nowrap}.landing-card-note{color:var(--color-text-muted);font-size:.95rem;line-height:1.5;margin:0}.conference-about-panel:has(.about-concept-panel){max-height:calc(100vh - 48px);width:min(840px,100%)}.about-concept-frame{border:0;display:block;height:70vh;min-width:100%;width:1px}.conference-about-panel{max-width:100%;min-width:0}.teacher-invite-module[open]{display:grid;gap:14px}.teacher-invite-form{align-items:end;display:grid;gap:12px;grid-template-columns:minmax(0,1fr) auto;max-width:640px}.teacher-invite-form label{display:grid;font-weight:800;gap:6px}.teacher-invite-list{display:grid;gap:0;list-style:none;margin:0;max-width:640px;padding:0}.teacher-invite-list li{border-bottom:1px solid rgba(113,134,111,.16);display:flex;flex-wrap:wrap;gap:4px 16px;justify-content:space-between;padding:10px 0}.teacher-invite-state{color:var(--color-text-muted);font-size:.9rem;font-weight:700}.teacher-invite-state.is-active{color:var(--color-sage-dark)}@media(max-width:600px){.teacher-invite-form{grid-template-columns:1fr}}.hub-sound-toggle{align-items:center;background:transparent;border:0;border-radius:10px;color:var(--color-sage-dark);cursor:pointer;display:inline-flex;justify-content:center;padding:6px}.hub-sound-toggle[aria-pressed=false]{color:var(--color-text-muted);opacity:.7}.hub-sound-toggle:hover{background:#71866f1f}.teacher-invite-state{align-items:center;display:inline-flex;flex-wrap:wrap;gap:8px 12px}.teacher-invite-resend{font-size:.85rem;min-height:32px;padding:0 12px}@media(max-width:760px){.student-hub-header .student-info-content{left:16px;max-height:min(68vh,560px);position:fixed;right:16px;top:76px;width:auto}}.hub-card{cursor:pointer}.hub-card .hub-card-go:after,.hub-card .hub-card-start:after{content:"";inset:0;position:absolute;z-index:1}.story-teaser{align-items:center;background:var(--color-card);border:1px solid var(--color-border);border-radius:16px;box-shadow:0 8px 20px #2f241d0f;column-gap:16px;cursor:pointer;display:grid;grid-template-columns:auto minmax(0,1fr) auto;margin-top:18px;padding:10px 18px 10px 10px;text-align:left;width:100%}.story-teaser:hover{border-color:var(--color-border-strong)}.story-teaser+.ourstars-teaser{margin-top:12px}.story-teaser-map{border-radius:10px;height:56px;object-fit:cover;width:56px}.story-teaser-text{color:var(--color-text);display:grid;font-size:.95rem;font-weight:650;gap:2px}.story-teaser-head{color:var(--color-sage-dark);font-size:1.05rem;font-weight:900}.story-teaser-go{color:var(--color-sage-dark)}.streak-star-story{background:none;border:0;color:var(--color-sage-dark);cursor:pointer;display:block;font:inherit;font-weight:850;margin-top:6px;padding:0;text-align:left;text-decoration:underline;text-underline-offset:3px}.story-message{color:var(--color-text-muted);font-weight:700;padding:40px 0;text-align:center}.story-album{display:grid;gap:22px;margin:0 auto;max-width:720px}.story-album-heading{text-align:center}.story-album-heading h1{font-size:clamp(1.6rem,5vw,2.3rem);margin:2px 0 6px}.story-album-heading p{color:var(--color-text-muted);font-weight:700;margin:0}.story-eyebrow{color:var(--color-sage-dark)!important;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase}.story-map{aspect-ratio:1;background:#d48a3214;border-radius:18px;display:grid;gap:4px;margin:0 auto;max-width:460px;padding:4px;width:100%}.story-map-piece{align-items:center;background:repeating-linear-gradient(45deg,#d48a321a 0 10px,#d48a3229 10px 20px),#f4e8d2;border-radius:10px;color:#2f292359;display:flex;font-size:1.6rem;font-weight:900;justify-content:center}.story-map-piece.is-found{animation:story-piece-in .6s ease-out;border-radius:4px}@keyframes story-piece-in{0%{opacity:0;transform:scale(.94)}}.story-episodes{display:grid;gap:8px;list-style:none;margin:0;padding:0}.story-episode{align-items:center;background:var(--color-card);border:1px solid var(--color-border);border-radius:14px;column-gap:14px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;opacity:.6;padding:10px 12px}.story-episode.is-unlocked{opacity:1}.story-episode-number{align-items:center;background:#71866f24;border-radius:999px;color:var(--color-sage-dark);display:flex;font-weight:900;height:36px;justify-content:center;width:36px}.story-episode-text{display:grid;gap:1px}.story-episode-text span{color:var(--color-text-muted);font-size:.88rem;font-weight:650}.story-episode-play{align-items:center;background:var(--color-sage-dark);border:0;border-radius:999px;color:#fff;cursor:pointer;display:flex;height:44px;justify-content:center;width:44px}.story-episode-lock{color:var(--color-text-muted);margin-right:10px}.story-how{color:var(--color-text-muted);font-size:.92rem;font-weight:650;margin:0;text-align:center}.story-player{display:grid;gap:12px;margin:0 auto;max-width:820px;width:100%}.story-back{align-items:center;display:inline-flex;gap:6px;justify-self:start}.story-episode-title{font-size:clamp(1.2rem,4vw,1.7rem);margin:0}.story-episode-title span{color:var(--color-sage-dark);font-weight:800;margin-right:6px}.story-stage{aspect-ratio:16 / 9;background:#2f2923;border-radius:16px;overflow:hidden;position:relative}.story-stage img{height:100%;inset:0;object-fit:cover;opacity:0;position:absolute;transition:opacity .9s ease;width:100%}.story-stage img.is-current{opacity:1}.story-end{align-content:center;background:#2f29238c;color:#fff;display:grid;gap:14px;inset:0;justify-items:center;position:absolute}.story-end p{font-size:clamp(1.3rem,4vw,1.9rem);font-weight:900;margin:0}.story-end div{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.story-end .back-link{align-items:center;background:var(--color-card);display:inline-flex;gap:6px}.story-caption{animation:story-caption-in .35s ease;display:grid;justify-items:center;min-height:132px;text-align:center;transition:opacity .35s ease}.story-caption.is-leaving{opacity:0}@keyframes story-caption-in{0%{opacity:0}}.story-speaker{background:#d48a3229;border-radius:999px;color:#8a5412;font-size:.85rem;font-weight:850;padding:2px 10px}.story-sentence{color:var(--color-text);font-size:clamp(1.15rem,3.4vw,1.45rem);font-weight:800;line-height:1.35;margin:6px 0 14px}.story-word{border-radius:6px;transition:color .15s ease,background-color .15s ease}.story-word.is-spoken{color:#b86a1c}.story-word.is-current{background:#d48a3238;color:#8a4a0e}.story-caption .practice-translation{margin:-6px 0 0}.story-controls{align-items:center;display:flex;gap:18px;justify-content:center}.story-controls button{align-items:center;background:transparent;border:0;border-radius:999px;color:var(--color-sage-dark);cursor:pointer;display:flex;height:48px;justify-content:center;width:48px}.story-controls button:disabled{cursor:default;opacity:.3}.story-controls .story-play{background:var(--color-sage-dark);color:#fff;height:64px;width:64px}.story-progress{background:#71866f29;border-radius:999px;height:6px;overflow:hidden}.story-progress i{background:var(--color-sage-dark);display:block;height:100%;transition:width .4s ease}@media(max-width:599px){.story-player{gap:8px}.story-stage{border-radius:12px;margin:0 -4px}.story-sentence{margin-bottom:12px}.story-controls{gap:10px}}
