@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap";:root{color-scheme:light;--bg: #f8f5ff;--surface: rgba(255, 255, 255, .88);--text: #19227d;--text-soft: #4953ac;--text-faint: rgba(25, 34, 125, .62);--primary: #8c4a00;--primary-bright: #fd8b00;--secondary: #00675d;--danger: #b02500;--shadow: 0 16px 40px rgba(25, 34, 125, .09);--shadow-soft: 0 10px 24px rgba(25, 34, 125, .06);--radius-xl: 3rem;--radius-lg: 2rem}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:radial-gradient(circle at top left,rgba(253,139,0,.14),transparent 34%),radial-gradient(circle at bottom right,rgba(0,103,93,.12),transparent 28%),linear-gradient(180deg,#fcf9ff 0%,var(--bg) 100%);color:var(--text);font-family:Plus Jakarta Sans,PingFang SC,Microsoft YaHei,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input,textarea{font:inherit}button{cursor:pointer}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.page-shell{position:relative;min-height:100vh;overflow:hidden}.page-shell-student,.page-shell-admin{display:grid;gap:2rem;padding:2rem}.page-shell-student{grid-template-columns:minmax(280px,440px) minmax(320px,520px);align-items:center;justify-content:center}.page-shell-admin{grid-template-columns:minmax(360px,1fr) minmax(320px,540px);align-items:stretch}.page-shell-lesson{display:flex;flex-direction:column;gap:1.5rem;padding:1.5rem}.floating-orb{position:absolute;border-radius:999px;filter:blur(24px);opacity:.7;pointer-events:none}.floating-orb-amber{top:-6rem;left:-4rem;width:22rem;height:22rem;background:#fd8b002e}.floating-orb-gold{right:10%;bottom:-5rem;width:16rem;height:16rem;background:#fdd40029}.floating-orb-teal{right:-3rem;top:28%;width:15rem;height:15rem;background:#00675d29}.floating-orb-indigo{right:10%;top:18%;width:18rem;height:18rem;background:#656fca2e}.panel{position:relative;z-index:1;background:var(--surface);border-radius:var(--radius-xl);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(28px);backdrop-filter:blur(28px);padding:1.5rem}.glass-panel{background:#ffffffbd}.eyebrow,.panel-kicker,.metric-label{margin:0;font-size:.78rem;line-height:1;letter-spacing:.22em;text-transform:uppercase;font-weight:800;color:var(--primary)}.hero-title,.panel-title,.lesson-title,.dashboard-title{margin:0;font-size:clamp(2rem,4vw,3.4rem);line-height:1.02;font-weight:800;letter-spacing:-.04em}.panel-title{font-size:clamp(1.6rem,2.8vw,2.4rem)}.dashboard-title{font-size:clamp(1.8rem,3vw,2.8rem)}.hero-copy,.panel-copy,.chat-summary,.focus-copy,.mini-note span,.sidebar-section span,.metric-card small,.toggle-row small,.learner-main span,.learner-main small{margin:0;color:var(--text-faint);line-height:1.6}.hero-pill-row,.focus-meta-row{display:flex;flex-wrap:wrap;gap:.75rem}.hero-pill{display:inline-flex;align-items:center;padding:.72rem 1rem;border-radius:999px;background:#ffffff1f;font-size:.9rem;font-weight:700}.student-login-hero,.admin-login-showcase{position:relative;z-index:1;min-height:36rem;border-radius:var(--radius-xl);padding:2.4rem;overflow:hidden;box-shadow:var(--shadow)}.student-login-hero{display:flex;flex-direction:column;justify-content:center;gap:1.2rem;background:radial-gradient(circle at 20% 20%,rgba(255,255,255,.35),transparent 24%),radial-gradient(circle at 80% 12%,rgba(253,212,0,.24),transparent 22%),linear-gradient(160deg,#fd8b00eb,#8c4a00eb);color:#fff7eb}.student-login-hero .eyebrow,.student-login-hero .hero-copy,.student-login-hero .hero-pill,.student-login-hero .hero-title{color:inherit}.mascot-badge{align-self:flex-start;padding:.55rem 1rem;border-radius:999px;background:#ffffff2e;font-size:.78rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.mascot-ring{width:10rem;height:10rem;border-radius:999px;display:grid;place-items:center;background:radial-gradient(circle at 30% 20%,#fffffff5,#fff0e7ad);box-shadow:0 12px 30px #44210038}.mascot-face{width:6.2rem;height:6.2rem;border-radius:1.8rem;background:linear-gradient(180deg,#fdd400d6,#fd8b00e0);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#5a2d00;box-shadow:inset 0 1px #ffffff7a}.mascot-eyes{font-size:1.15rem;letter-spacing:.35rem}.mascot-smile{font-size:1.7rem;line-height:1}.student-login-panel,.admin-login-panel{min-height:36rem;display:flex;flex-direction:column;justify-content:center;gap:1.4rem}.panel-header,.card-header,.pin-form,.admin-login-form,.login-side-notes,.sidebar-section,.lesson-sidebar,.lesson-main{display:grid;gap:1rem}.pin-hidden-input{position:absolute;opacity:0;pointer-events:none}.pin-slot-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.pin-slot{min-height:5.2rem;border-radius:1.8rem;display:grid;place-items:center;background:#ffffffdb;color:var(--primary-bright);font-size:2rem;font-weight:800;box-shadow:var(--shadow-soft);transition:transform .16s ease,background .16s ease}.pin-slot-filled{transform:translateY(-2px);background:linear-gradient(180deg,#fff0e7fa,#fff7ebfa)}.keypad-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem}.keypad-spacer{min-height:4rem}.keypad-key,.field-input,.secondary-button,.danger-button,.primary-button{border:0;border-radius:1.45rem;transition:transform .16s ease,box-shadow .16s ease,background .16s ease}.keypad-key{min-height:4rem;background:#fffffff2;color:var(--text);box-shadow:var(--shadow-soft);font-size:1.4rem;font-weight:800}.keypad-key:hover,.secondary-button:hover,.danger-button:hover,.primary-button:hover{transform:translateY(-2px)}.keypad-key-ghost{font-size:1rem;background:#b0250014;color:var(--danger)}.primary-button,.secondary-button,.danger-button{min-height:3.5rem;padding:0 1.25rem;font-weight:800;box-shadow:var(--shadow-soft)}.primary-button{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-bright) 100%);color:#fff4ea}.secondary-button{background:#d9daff9e;color:var(--text)}.danger-button{background:#b025001f;color:var(--danger)}.primary-button:disabled,.secondary-button:disabled,.danger-button:disabled,.keypad-key:disabled{cursor:not-allowed;opacity:.56;transform:none;box-shadow:none}.status-banner{margin:0;padding:.95rem 1rem;border-radius:1.25rem;background:#f1efffe6;color:var(--text);font-weight:600;line-height:1.5}.mini-note,.metric-card,.lesson-focus-card,.lesson-plan-card,.dashboard-card{display:grid;gap:.55rem}.mini-note strong,.toggle-row strong,.learner-main strong{font-size:1rem}.admin-login-showcase{background:linear-gradient(180deg,#19227d2e,#19227dc7),radial-gradient(circle at 18% 16%,rgba(133,246,229,.32),transparent 22%),linear-gradient(160deg,#0d1d7d,#19227d 48%,#4c2f14);color:#eef2ff}.showcase-overlay{position:absolute;inset:0;background:radial-gradient(circle at 72% 18%,rgba(253,139,0,.24),transparent 18%),radial-gradient(circle at 14% 78%,rgba(133,246,229,.22),transparent 16%)}.showcase-copy{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:flex-end;height:100%;gap:1rem}.showcase-copy .eyebrow,.showcase-copy .hero-title,.showcase-copy .hero-copy,.showcase-copy .hero-pill{color:inherit}.field-label,.field-group span{font-size:.92rem;font-weight:700;color:var(--text)}.field-input{min-height:3.5rem;width:100%;padding:0 1rem;background:#f1efffdb;color:var(--text);outline:none;box-shadow:inset 0 0 0 1px #656fca1f}.field-input:focus{box-shadow:inset 0 0 0 2px #fd8b0038}.lesson-topbar,.lesson-progress-track,.lesson-action-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem}.lesson-topbar{padding:1.1rem 1.25rem}.lesson-topbar-actions{display:flex;align-items:center;gap:.85rem}.status-pill{display:inline-flex;align-items:center;justify-content:center;min-height:2.4rem;padding:0 1rem;border-radius:999px;font-size:.9rem;font-weight:800}.status-pill-good{background:#00675d24;color:var(--secondary)}.status-pill-neutral{background:#d9daffa8;color:var(--text)}.status-pill-warm{background:#fd8b0024;color:var(--primary)}.status-pill-bad{background:#b0250024;color:var(--danger)}.lesson-progress-track{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:1.2rem}.track-line{position:absolute;left:4rem;right:4rem;top:50%;height:.45rem;border-radius:999px;background:#d9daffb8;transform:translateY(-50%)}.track-stop{position:relative;z-index:1;display:flex;align-items:center;gap:.8rem}.track-stop-dot{width:2.8rem;height:2.8rem;border-radius:999px;display:grid;place-items:center;background:#fffffff0;box-shadow:var(--shadow-soft);font-weight:800}.track-stop strong,.track-stop span{display:block}.track-stop span{color:var(--text-faint);font-size:.88rem}.track-stop-active .track-stop-dot{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-bright) 100%);color:#fff4ea}.track-stop-complete .track-stop-dot{background:#00675de6;color:#eafff7}.lesson-grid{display:grid;grid-template-columns:minmax(260px,360px) minmax(0,1fr);gap:1.5rem;align-items:start}.focus-title{margin:0;font-size:clamp(2rem,4vw,3rem);line-height:1;letter-spacing:-.05em}.plan-list,.learner-list{display:grid;gap:.8rem}.plan-item,.learner-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;border-radius:1.6rem;background:#ffffffc7;box-shadow:var(--shadow-soft)}.plan-item div,.learner-main{display:grid;gap:.3rem}.plan-item-active{background:linear-gradient(135deg,#fff0e7f5,#fff7ebfa)}.lesson-chat-card,.lesson-audio-card{display:grid;gap:1rem}.chat-card-header{display:flex;justify-content:space-between;gap:1rem;align-items:start}.chat-feed{display:grid;gap:1rem;min-height:22rem;max-height:32rem;overflow:auto;padding-right:.4rem}.chat-feed::-webkit-scrollbar{width:.45rem}.chat-feed::-webkit-scrollbar-thumb{background:#656fca47;border-radius:999px}.chat-placeholder{display:grid;place-items:center;align-content:center;min-height:20rem;border-radius:var(--radius-lg);background:#f1efffb8;text-align:center;padding:2rem;gap:.75rem}.chat-placeholder h3,.chat-placeholder p,.chat-speaker,.chat-content{margin:0}.chat-bubble{display:grid;gap:.5rem;max-width:82%;padding:1rem 1.15rem;border-radius:2rem;box-shadow:var(--shadow-soft)}.chat-bubble-assistant{justify-self:start;background:#fffffff5;border-top-left-radius:.8rem}.chat-bubble-student{justify-self:end;background:linear-gradient(135deg,#fff0e7f5,#fff7ebfa);border-top-right-radius:.8rem}.chat-speaker{font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--text-soft)}.chat-content{font-size:1rem;line-height:1.65}.chat-tag{justify-self:start;padding:.3rem .65rem;border-radius:999px;background:#d9daffc7;font-size:.72rem;font-weight:800;color:var(--text-soft)}.mic-meter{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem;padding:1rem;border-radius:var(--radius-lg);background:#ffffffad}.mic-button{width:4.4rem;height:4.4rem;display:grid;place-items:center;border-radius:999px;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-bright) 100%);color:#fff3e7;font-weight:800;box-shadow:var(--shadow-soft)}.wave-meter{display:flex;align-items:center;justify-content:center;gap:.35rem;min-height:4rem}.wave-bar{width:.42rem;min-height:.9rem;border-radius:999px;background:linear-gradient(180deg,#fd8b0075,#8c4a00f0);transition:height .12s ease}.meter-copy{display:grid;gap:.18rem;text-align:right}.meter-copy strong{font-size:1.15rem}.meter-copy span{font-size:.85rem;color:var(--text-faint)}.lesson-action-bar{position:sticky;bottom:1rem;z-index:3;padding:1rem;justify-content:center;flex-wrap:wrap}.lesson-action-bar .primary-button,.lesson-action-bar .secondary-button,.lesson-action-bar .danger-button{min-width:10rem}.dashboard-shell{grid-template-columns:minmax(260px,320px) minmax(0,1fr);align-items:start}.dashboard-sidebar{display:grid;gap:1.1rem;position:sticky;top:1.5rem}.dashboard-main,.dashboard-header,.dashboard-metrics,.dashboard-grid,.rules-grid,.field-group,.learner-actions{display:grid;gap:1rem}.dashboard-header{grid-template-columns:1fr auto;align-items:start}.dashboard-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.metric-card strong{font-size:1.8rem;line-height:1}.dashboard-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}.rules-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;border-radius:1.5rem;background:#f1efffcc}.toggle-row span{display:grid;gap:.35rem}.toggle-row-inline{grid-column:1 / -1}.toggle-row input[type=checkbox]{width:3rem;height:1.6rem}.learner-actions{justify-items:end;gap:.7rem}.lesson-empty-state{width:min(32rem,calc(100vw - 2rem));margin:auto;text-align:center}@media(max-width:1100px){.page-shell-student,.page-shell-admin,.lesson-grid,.dashboard-shell,.dashboard-grid{grid-template-columns:1fr}.student-login-hero,.admin-login-showcase,.student-login-panel,.admin-login-panel{min-height:auto}.dashboard-sidebar{position:static}}@media(max-width:820px){.page-shell-student,.page-shell-admin,.page-shell-lesson{padding:1rem}.lesson-topbar,.lesson-action-bar,.chat-card-header,.lesson-topbar-actions,.dashboard-header{flex-direction:column;align-items:stretch}.lesson-progress-track{grid-template-columns:1fr;gap:.9rem}.track-line{display:none}.track-stop{padding:.8rem;border-radius:1.5rem;background:#ffffffbd}.chat-bubble{max-width:100%}.dashboard-metrics,.rules-grid{grid-template-columns:1fr}.mic-meter{grid-template-columns:1fr;justify-items:center;text-align:center}.meter-copy{text-align:center}.lesson-action-bar .primary-button,.lesson-action-bar .secondary-button,.lesson-action-bar .danger-button{width:100%}}
