:root{
  --ink:#17191d;
  --ink-2:#30333a;
  --muted:#747982;
  --paper:#f5f3ef;
  --surface:#ffffff;
  --surface-2:#faf9f7;
  --line:#e8e5df;
  --line-strong:#d8d3ca;
  --wine:#7a263f;
  --wine-deep:#59182d;
  --wine-soft:#f5e9ed;
  --blue:#506a86;
  --blue-soft:#eaf0f5;
  --sage:#6f8276;
  --sage-soft:#edf2ee;
  --gold:#b58a45;
  --danger:#a84450;
  --success:#34745b;
  --shadow-sm:0 8px 24px rgba(31,29,25,.055);
  --shadow-md:0 18px 55px rgba(31,29,25,.09);
  --shadow-lg:0 34px 90px rgba(31,29,25,.13);
  --radius-sm:12px;
  --radius:20px;
  --radius-lg:30px;
  --ease:cubic-bezier(.22,.72,.2,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:var(--paper);font-family:Inter,"SF Pro Display","PingFang SC","Microsoft YaHei","Noto Sans CJK SC",sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
button{color:inherit;cursor:pointer}
img,video{display:block;max-width:100%}
::selection{background:#ead6dc;color:var(--wine-deep)}

/* Shared shell */
.app-topbar{position:sticky;top:0;z-index:80;height:70px;padding:0 34px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(222,218,211,.9);background:rgba(250,249,247,.9);backdrop-filter:blur(20px)}
.app-brand{display:flex;align-items:center;gap:12px}.brand-symbol{width:38px;height:38px;display:grid;place-items:center;border-radius:13px;color:#fff;background:linear-gradient(145deg,var(--wine),var(--wine-deep));font-weight:800;box-shadow:0 10px 24px rgba(122,38,63,.2)}
.brand-copy{display:flex;flex-direction:column}.brand-copy strong{font-size:14px;letter-spacing:.02em}.brand-copy small{margin-top:2px;color:var(--muted);font-size:10px;letter-spacing:.1em;text-transform:uppercase}
.app-nav{display:flex;align-items:center;gap:5px;padding:5px;border:1px solid var(--line);border-radius:999px;background:#fff}.app-nav a{padding:8px 14px;border-radius:999px;color:#5f6269;font-size:13px;font-weight:650;transition:.22s var(--ease)}.app-nav a:hover{color:var(--ink);background:var(--surface-2)}
.account-area{display:flex;align-items:center;gap:10px;font-size:13px}.account-avatar{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;color:var(--wine-deep);background:var(--wine-soft);font-weight:800}.account-name{font-weight:700}.text-button{padding:6px 8px;border:0;background:transparent;color:var(--muted)}
.flash-stack{position:fixed;right:22px;top:84px;z-index:200;display:grid;gap:10px}.flash{min-width:280px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--shadow-md);font-size:13px;animation:toast-in .35s var(--ease)}.flash-success{border-left:3px solid var(--success)}.flash-danger{border-left:3px solid var(--danger)}.flash-warning{border-left:3px solid var(--gold)}.flash.fade-out{opacity:0;transform:translateY(-10px);transition:.3s}
@keyframes toast-in{from{opacity:0;transform:translateY(-12px) scale(.98)}to{opacity:1;transform:none}}
.button,.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:42px;padding:10px 17px;border:1px solid transparent;border-radius:13px;font-weight:760;font-size:13px;transition:transform .2s var(--ease),box-shadow .2s var(--ease),background .2s}.button:hover,.primary-button:hover,.secondary-button:hover{transform:translateY(-2px)}
.button-primary,.primary-button{color:#fff;background:var(--wine);box-shadow:0 12px 28px rgba(122,38,63,.18)}.button-primary:hover,.primary-button:hover{background:var(--wine-deep);box-shadow:0 16px 34px rgba(122,38,63,.24)}
.button-dark{color:#fff;background:#212328}.button-dark:hover{background:#111317}.button-soft{color:var(--wine-deep);background:var(--wine-soft);border-color:#ead8de}.button-ghost,.secondary-button{color:var(--ink);background:#fff;border-color:var(--line)}.button-large{min-height:50px;padding:13px 22px;border-radius:15px;font-size:14px}.button-full{width:100%}.small{min-height:34px;padding:7px 11px}.inline-link{color:var(--wine);font-size:13px;font-weight:760}.soft-label{display:flex;align-items:center;gap:8px;color:#7a7e85;font-size:10px;font-weight:850;letter-spacing:.16em;text-transform:uppercase}.soft-label>span{width:18px;height:1px;background:var(--wine)}

/* Dashboard */
.dashboard-shell{width:min(1480px,calc(100% - 56px));margin:0 auto;padding:42px 0 90px}
.dashboard-hero{min-height:500px;display:grid;grid-template-columns:minmax(0,1fr) minmax(480px,.92fr);align-items:center;gap:80px;padding:54px 66px;border:1px solid #e2ded6;border-radius:38px;background:linear-gradient(135deg,#fff 0%,#f9f7f3 60%,#f1ece7 100%);box-shadow:var(--shadow-sm);overflow:hidden;position:relative}.dashboard-hero:before{content:"";position:absolute;width:420px;height:420px;right:-160px;top:-170px;border-radius:50%;background:radial-gradient(circle,rgba(122,38,63,.09),transparent 70%)}
.hero-copy{position:relative;z-index:2}.hero-copy h1{margin:18px 0 20px;font-size:clamp(44px,5vw,74px);line-height:1.06;letter-spacing:-.055em}.hero-copy h1 em{font-style:normal;color:var(--wine)}.hero-copy>p{max-width:650px;margin:0;color:var(--muted);font-size:17px;line-height:1.8}.hero-actions{display:flex;align-items:center;gap:12px;margin-top:34px}.hero-actions form{margin:0}
.hero-preview{position:relative;z-index:2}.preview-window{border:1px solid rgba(48,44,38,.12);border-radius:24px;background:#fff;box-shadow:var(--shadow-lg);overflow:hidden;transform:perspective(1200px) rotateY(-5deg) rotateX(2deg)}.preview-top{height:42px;padding:0 15px;display:flex;align-items:center;gap:6px;border-bottom:1px solid var(--line);background:#fbfaf8}.preview-top span{width:8px;height:8px;border-radius:50%;background:#d4cfc7}.preview-top b{margin-left:auto;color:#888b91;font-size:10px;letter-spacing:.12em}.preview-grid{height:310px;display:grid;grid-template-columns:66px 1fr 100px}.preview-grid>aside{padding:24px 17px;border-right:1px solid var(--line);display:grid;align-content:start;gap:14px}.preview-grid>aside i{width:30px;height:7px;border-radius:99px;background:#e9e6e0}.preview-grid>aside i.active{background:var(--wine);box-shadow:0 0 0 7px var(--wine-soft)}.preview-grid>section{padding:48px 34px}.preview-eyebrow{color:var(--wine);font-size:8px;font-weight:900;letter-spacing:.16em}.preview-grid h3{margin:12px 0 8px;font-size:30px;letter-spacing:-.04em}.preview-grid p{color:var(--muted);font-size:11px}.preview-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:30px}.preview-cards span{height:72px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(135deg,#faf9f7,#f2eee9)}.preview-side{padding:24px 15px!important;border-left:1px solid var(--line);border-right:0!important}.preview-side div{height:48px;border-radius:10px;background:#f3f0eb}.floating-status{position:absolute;right:-20px;bottom:-34px;width:210px;padding:16px 18px;display:grid;grid-template-columns:12px 1fr;column-gap:10px;border:1px solid rgba(255,255,255,.8);border-radius:17px;background:rgba(255,255,255,.92);backdrop-filter:blur(15px);box-shadow:var(--shadow-md)}.floating-status b{font-size:13px}.floating-status small{grid-column:2;color:var(--muted);margin-top:3px}.live-dot{width:8px;height:8px;display:inline-block;border-radius:50%;background:#4da678;box-shadow:0 0 0 5px rgba(77,166,120,.13);animation:pulse-live 2s infinite}@keyframes pulse-live{50%{box-shadow:0 0 0 9px rgba(77,166,120,0)}}
.dashboard-grid-main{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:22px;margin-top:24px}.workspace-card{padding:28px;border:1px solid var(--line);border-radius:25px;background:#fff;box-shadow:var(--shadow-sm)}.card-heading-row{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.card-heading-row h2{margin:7px 0 0;font-size:25px;letter-spacing:-.03em}.quiet-badge{padding:7px 10px;border-radius:999px;color:var(--success);background:var(--sage-soft);font-size:11px;font-weight:750}
.lesson-feature{display:grid;grid-template-columns:90px minmax(0,1fr) auto;align-items:center;gap:28px;margin-top:25px;padding:26px;border:1px solid var(--line);border-radius:20px;background:var(--surface-2)}.lesson-index{font-size:60px;font-weight:250;letter-spacing:-.07em;color:var(--wine)}.lesson-feature-copy>span{color:var(--muted);font-size:11px;letter-spacing:.12em;text-transform:uppercase}.lesson-feature-copy h3{margin:8px 0 5px;font-size:26px}.lesson-feature-copy>p{margin:0;color:var(--muted)}.tag-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:15px}.tag-row span{padding:6px 9px;border:1px solid var(--line);border-radius:999px;background:#fff;color:#62666d;font-size:10px}.lesson-feature-actions{display:flex;align-items:center;gap:8px}.lesson-feature-actions form{margin:0}
.join-card{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;background:linear-gradient(160deg,#22252a,#15171b);color:#fff}.join-icon{width:54px;height:54px;display:grid;place-items:center;margin-bottom:24px;border:1px solid rgba(255,255,255,.16);border-radius:18px;background:rgba(255,255,255,.06);font-size:26px}.join-card .soft-label{color:#aaaeb7}.join-card h2{margin:12px 0;font-size:28px;line-height:1.25}.join-card p{margin:0 0 24px;color:#aeb2bb;line-height:1.7}
.dashboard-lower-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:22px}.room-list{display:grid;gap:9px;margin-top:20px}.room-row{display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:12px;padding:14px;border:1px solid transparent;border-radius:14px;background:var(--surface-2);transition:.2s}.room-row:hover{border-color:var(--line-strong);transform:translateX(3px)}.room-state{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:var(--sage-soft)}.room-state i{width:7px;height:7px;border-radius:50%;background:#4da678}.room-row div{display:flex;flex-direction:column}.room-row small{margin-top:4px;color:var(--muted)}.room-row>span:last-child{color:var(--wine);font-size:12px;font-weight:800}.empty-soft{margin-top:18px;padding:24px;border:1px dashed var(--line-strong);border-radius:16px;color:var(--muted);text-align:center;font-size:13px}.mini-word-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:20px}.mini-word-grid a{padding:13px 10px;border:1px solid var(--line);border-radius:13px;background:var(--surface-2);transition:.2s}.mini-word-grid a:hover{border-color:#d8b9c3;background:var(--wine-soft);transform:translateY(-2px)}.mini-word-grid strong,.mini-word-grid span{display:block}.mini-word-grid strong{font-size:17px}.mini-word-grid span{margin-top:4px;color:var(--muted);font-size:10px}

/* Auth and generic pages */
.auth-shell{min-height:calc(100vh - 70px);display:grid;grid-template-columns:1.08fr .92fr;background:#f3f0eb}.auth-copy{padding:10vw;display:flex;flex-direction:column;justify-content:center;color:#fff;background:linear-gradient(145deg,#202329,#121418)}.auth-copy h1{max-width:680px;margin:18px 0;font-size:clamp(42px,5vw,72px);line-height:1.05;letter-spacing:-.05em}.auth-copy p{max-width:620px;color:#b8bbc2;font-size:17px;line-height:1.8}.feature-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.feature-list span{padding:9px 12px;border:1px solid rgba(255,255,255,.13);border-radius:999px;color:#d8d9dc;font-size:12px}.auth-card{width:min(480px,calc(100% - 48px));margin:auto;padding:42px;border:1px solid var(--line);border-radius:28px;background:#fff;box-shadow:var(--shadow-md)}.auth-card h1,.auth-card h2{margin:16px 0 8px;font-size:32px}.auth-card>p{color:var(--muted);line-height:1.7}.auth-shell.single{grid-template-columns:1fr}.brand-mark.large{width:56px;height:56px;display:grid;place-items:center;border-radius:18px;color:#fff;background:var(--wine);font-size:22px;font-weight:900}.stack-form{display:grid;gap:15px;margin-top:24px}.stack-form label{display:grid;gap:7px;color:#51545a;font-size:12px;font-weight:700}.stack-form input,.search-bar input,.room-code-form input,.chat-form textarea{width:100%;padding:13px 14px;border:1px solid var(--line-strong);border-radius:12px;outline:0;background:#fff;transition:.2s}.stack-form input:focus,.search-bar input:focus,.room-code-form input:focus,.chat-form textarea:focus{border-color:var(--wine);box-shadow:0 0 0 4px var(--wine-soft)}.check-row{display:flex!important;align-items:center!important;grid-template-columns:auto 1fr!important}.check-row input{width:auto}.full{width:100%}
.page-container{width:min(1260px,calc(100% - 48px));margin:0 auto;padding:54px 0 90px}.page-title{margin-bottom:26px}.page-title h1{margin:9px 0;font-size:44px}.page-title p,.muted{color:var(--muted)}.search-bar{display:grid;grid-template-columns:1fr auto;gap:10px;margin-bottom:22px}.word-library{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.word-library-card{padding:20px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow-sm);transition:.22s}.word-library-card:hover{transform:translateY(-4px);border-color:#dabdc6}.word-library-card>div{display:flex;align-items:baseline;gap:9px}.word-library-card strong{font-size:25px}.word-library-card span{color:var(--wine)}.word-library-card p{color:var(--muted)}.word-library-card small{color:#92969e}.back-link{display:inline-flex;margin-bottom:18px;color:var(--muted);font-size:13px;font-weight:700}.word-hero{padding:42px;display:flex;align-items:end;justify-content:space-between;border-radius:28px;color:#fff;background:linear-gradient(145deg,#25282d,#15171b);box-shadow:var(--shadow-md)}.word-hero h1{margin:12px 0 0;font-size:72px}.word-pronunciation{color:#d9c5cc;font-size:22px}.word-meta{display:flex;gap:8px}.word-meta span{padding:8px 11px;border:1px solid rgba(255,255,255,.16);border-radius:999px}.word-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}.panel{padding:26px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:var(--shadow-sm)}.panel h2{margin-top:0}.large-copy{font-size:17px;line-height:1.8}.focus-chips{display:flex;flex-wrap:wrap;gap:7px}.focus-chips span{padding:7px 9px;border-radius:8px;background:var(--surface-2)}.example-list{display:grid;gap:10px}.example-list article{padding:14px;border-radius:12px;background:var(--surface-2)}.example-list strong,.example-list span{display:block}.example-list span{margin-top:5px;color:var(--muted)}.teaching-prompt{background:#fbf5f0}.lesson-hit{display:block;padding:11px 0;border-bottom:1px solid var(--line);color:var(--wine);font-weight:750}.word-pagination{display:flex;justify-content:space-between;margin-top:20px}.word-pagination a{padding:11px 14px;border:1px solid var(--line);border-radius:11px;background:#fff}.center-page{min-height:calc(100vh - 70px);display:grid;place-items:center;padding:50px;background:radial-gradient(circle at 50% 20%,#fff 0,#f3f0eb 50%,#ece8e1 100%)}.join-room-panel{width:min(560px,100%);padding:54px;text-align:center;border:1px solid rgba(255,255,255,.8);border-radius:32px;background:rgba(255,255,255,.86);backdrop-filter:blur(20px);box-shadow:var(--shadow-lg)}.join-room-panel .soft-label{justify-content:center}.join-room-panel h1{margin:14px 0 8px;font-size:44px}.join-room-panel>p{color:var(--muted);line-height:1.8}.join-orbit{width:90px;height:90px;position:relative;display:grid;place-items:center;margin:0 auto 25px}.join-orbit span{position:absolute;inset:0;border:1px solid #d9d4cb;border-radius:50%;animation:orbit 5s linear infinite}.join-orbit span:nth-child(2){inset:12px;animation-direction:reverse}.join-orbit b{width:54px;height:54px;display:grid;place-items:center;border-radius:18px;color:#fff;background:var(--wine);font-size:28px}@keyframes orbit{to{transform:rotate(360deg)}}.room-code-form{display:grid;gap:12px;margin:28px 0 18px}.room-code-form input{text-align:center;text-transform:uppercase;font-size:28px;font-weight:850;letter-spacing:.22em}

/* Classroom */
.classroom-page{height:100vh;overflow:hidden;background:#ece9e3}.classroom-page .app-topbar{display:none}.classroom-root{height:100vh;display:grid;grid-template-rows:74px minmax(0,1fr);background:#ece9e3}.classroom-topline{position:relative;z-index:50;padding:0 18px;display:grid;grid-template-columns:minmax(260px,1fr) auto minmax(260px,1fr);align-items:center;gap:14px;border-bottom:1px solid #ddd8d0;background:rgba(249,248,245,.96);backdrop-filter:blur(18px)}.classroom-titlebar,.classroom-statusbar,.classroom-controls{display:flex;align-items:center;gap:10px}.classroom-titlebar>div{display:flex;flex-direction:column}.classroom-titlebar span{color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.classroom-titlebar strong{margin-top:3px;font-size:15px}.classroom-statusbar{justify-content:center}.classroom-controls{justify-content:flex-end}.icon-button{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--line);border-radius:12px;background:#fff;font-size:18px;transition:.2s}.icon-button:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}.danger-icon{color:var(--danger)}.live-status,.preview-status,.role-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 11px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:10px;font-weight:800}.live-status i{width:7px;height:7px;border-radius:50%;background:#4da678;box-shadow:0 0 0 5px rgba(77,166,120,.12)}.live-status.is-offline i{background:#c0646d}.room-code-button{display:flex;align-items:center;gap:7px;padding:6px 10px;border:1px solid var(--line);border-radius:11px;background:#fff}.room-code-button small{color:var(--muted);font-size:9px}.room-code-button b{letter-spacing:.12em;font-size:12px}.role-chip{color:var(--wine-deep);background:var(--wine-soft);border-color:#e7d3da}.control-toggle{height:38px;padding:5px 10px 5px 6px;display:flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:11px;background:#fff;color:#62666d;font-size:11px;font-weight:750;transition:.2s}.control-toggle span{min-width:25px;height:25px;display:grid;place-items:center;border-radius:8px;background:var(--surface-2);font-size:9px}.control-toggle.is-active{color:var(--wine-deep);border-color:#ddc1ca;background:var(--wine-soft)}.control-toggle.is-active span{background:#fff}
.classroom-grid{min-height:0;display:grid;grid-template-columns:242px minmax(0,1fr) 316px;transition:grid-template-columns .35s var(--ease)}.studio-rail{min-height:0;padding:22px 14px 14px;display:grid;grid-template-rows:auto minmax(0,1fr) auto;border-right:1px solid #ddd8d0;background:#f7f5f1}.rail-label{padding:0 10px 15px;color:#92959b;font-size:9px;font-weight:850;letter-spacing:.16em}.section-nav{min-height:0;overflow-y:auto;display:grid;align-content:start;gap:3px;padding-right:4px;scrollbar-width:thin}.section-nav button{width:100%;padding:9px 10px;display:grid;grid-template-columns:28px 1fr;align-items:center;gap:9px;border:0;border-radius:11px;background:transparent;text-align:left;transition:.2s}.section-nav button span{width:27px;height:27px;display:grid;place-items:center;border:1px solid #e3ded6;border-radius:9px;background:#fff;color:#989ba1;font-size:9px;font-weight:800}.section-nav button b{font-size:11px;font-weight:690;color:#5d6066}.section-nav button:hover{background:#eeebe5}.section-nav button.is-active{background:#fff;box-shadow:0 8px 18px rgba(42,38,32,.06)}.section-nav button.is-active span{color:#fff;border-color:var(--wine);background:var(--wine)}.section-nav button.is-active b{color:var(--ink)}.rail-bottom{padding:14px 4px 0;border-top:1px solid var(--line)}.lesson-progress{display:flex;align-items:center;gap:9px}.lesson-progress>span{height:4px;flex:1;border-radius:999px;background:#e1ddd6;overflow:hidden}.lesson-progress i{display:block;width:8%;height:100%;border-radius:inherit;background:var(--wine);transition:width .4s var(--ease)}.lesson-progress small{color:var(--muted);font-size:9px}.rail-arrows{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:10px}.rail-arrows button{height:36px;border:1px solid var(--line);border-radius:10px;background:#fff;transition:.2s}.rail-arrows button:hover{color:#fff;background:var(--wine);border-color:var(--wine)}
.stage-shell{min-width:0;min-height:0;padding:14px;background:#ece9e3}.stage-viewport{height:100%;position:relative;border:1px solid #ddd8d0;border-radius:23px;background:#fff;box-shadow:0 18px 44px rgba(42,38,32,.08);overflow:hidden}.stage-screen{position:absolute;inset:0;overflow-y:auto;padding:38px 42px 55px;opacity:0;visibility:hidden;transform:translateX(32px) scale(.992);transition:opacity .34s var(--ease),transform .45s var(--ease),visibility .34s;scrollbar-width:thin}.stage-screen.is-active{opacity:1;visibility:visible;transform:none;z-index:2}.stage-screen.is-leaving{transform:translateX(-20px);opacity:0}.screen-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:28px}.screen-heading>div:first-child>span,.block-title>span,.media-card-head span,.dialogue-panel-head>span,.formula-card>span,.shared-response span,.typing-console>span,.homework-card>div>span{color:var(--wine);font-size:9px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.screen-heading h2{margin:8px 0 7px;font-size:clamp(28px,3vw,46px);line-height:1.12;letter-spacing:-.045em}.screen-heading p{margin:0;color:var(--muted);line-height:1.7}.heading-count{color:#e3dfd8;font-size:62px;font-weight:240;letter-spacing:-.08em}.compact-audio{width:280px;height:38px}.dual-audio{display:grid;gap:7px}.dual-audio .compact-audio{height:31px}
.intro-screen{padding:0;overflow:hidden;background:linear-gradient(145deg,#fff,#faf8f4)}.intro-layout{height:100%;display:grid;grid-template-columns:1.06fr .94fr}.intro-copy{padding:clamp(50px,7vw,100px);display:flex;flex-direction:column;justify-content:center;position:relative}.section-marker{position:absolute;right:36px;top:35px;display:flex;align-items:baseline;gap:7px;color:#dbd6ce}.section-marker span{font-size:9px;letter-spacing:.16em}.section-marker b{font-size:56px;font-weight:250}.intro-copy h1{margin:20px 0 0;font-size:clamp(58px,7vw,104px);line-height:.96;letter-spacing:-.07em}.intro-pinyin{margin:18px 0 4px!important;color:var(--wine)!important;font-size:19px!important;letter-spacing:.08em}.intro-copy h2{margin:0;color:#7f838a;font-size:20px;font-weight:450}.objective-stack{display:grid;gap:9px;margin-top:48px}.objective-stack>div{display:grid;grid-template-columns:34px 1fr;align-items:center;gap:12px;padding:9px 0;border-top:1px solid var(--line)}.objective-stack span{color:var(--wine);font-size:10px;font-weight:850}.objective-stack p{margin:0;color:#4e5258;font-size:13px;line-height:1.5}.intro-art{position:relative;display:grid;place-items:center;overflow:hidden;background:linear-gradient(155deg,#efe9e2,#e5ded4)}.intro-art img{width:78%;max-height:68%;object-fit:cover;border:8px solid rgba(255,255,255,.85);border-radius:40% 40% 24% 24%;box-shadow:var(--shadow-lg);position:relative;z-index:2}.art-orbit{position:absolute;border:1px solid rgba(122,38,63,.15);border-radius:50%}.orbit-one{width:72%;aspect-ratio:1;animation:slow-spin 24s linear infinite}.orbit-two{width:88%;aspect-ratio:1;animation:slow-spin 36s linear reverse infinite}@keyframes slow-spin{to{transform:rotate(360deg)}}.art-caption{position:absolute;z-index:3;right:8%;bottom:10%;padding:15px 18px;border:1px solid rgba(255,255,255,.8);border-radius:15px;background:rgba(255,255,255,.9);backdrop-filter:blur(15px);box-shadow:var(--shadow-md)}.art-caption b,.art-caption span{display:block}.art-caption b{font-size:10px;letter-spacing:.14em}.art-caption span{margin-top:4px;color:var(--muted);font-size:10px}
.warmup-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.warmup-card{position:relative;padding:0;border:1px solid var(--line);border-radius:20px;background:#fff;overflow:hidden;transition:.25s var(--ease)}.warmup-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md)}.warmup-card img{width:100%;aspect-ratio:1.55;object-fit:cover}.warmup-card>div{position:absolute;inset:auto 10px 10px;padding:12px 14px;border:1px solid rgba(255,255,255,.75);border-radius:13px;background:rgba(255,255,255,.9);backdrop-filter:blur(12px);opacity:0;transform:translateY(8px);transition:.25s}.warmup-card.is-selected>div{opacity:1;transform:none}.warmup-card strong,.warmup-card span{display:block}.warmup-card strong{font-size:18px}.warmup-card span{margin-top:3px;color:var(--wine);font-size:11px}.warmup-card.is-selected{border-color:#d9b5c1;box-shadow:0 16px 38px rgba(122,38,63,.12)}.teacher-note-strip{margin-top:18px;padding:14px 16px;display:flex;align-items:center;gap:14px;border-radius:13px;background:#f7f3ef}.teacher-note-strip span{padding:6px 9px;border-radius:8px;color:var(--wine-deep);background:var(--wine-soft);font-size:10px;font-weight:850}.teacher-note-strip p{margin:0;color:var(--muted);font-size:12px}
.vocab-workspace{min-height:560px;display:grid;grid-template-columns:minmax(330px,.82fr) minmax(380px,1.18fr);gap:18px}.vocab-selector{align-content:start;display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.vocab-tile{min-height:112px;padding:15px;position:relative;display:flex;flex-direction:column;align-items:flex-start;border:1px solid var(--line);border-radius:16px;background:#fff;text-align:left;transition:.22s var(--ease)}.vocab-tile:hover{transform:translateY(-3px);border-color:#d9bdc6}.vocab-tile.is-selected{color:#fff;border-color:var(--wine);background:linear-gradient(145deg,var(--wine),var(--wine-deep));box-shadow:0 15px 30px rgba(122,38,63,.18)}.vocab-index{position:absolute;right:12px;top:11px;color:#bbb6ae;font-size:9px}.vocab-tile.is-selected .vocab-index{color:rgba(255,255,255,.55)}.vocab-tile strong{font-size:25px}.vocab-tile em{margin-top:2px;color:var(--wine);font-style:normal;font-size:11px}.vocab-tile.is-selected em{color:#f1d8e0}.vocab-tile small{margin-top:auto;color:var(--muted);font-size:9px}.vocab-tile.is-selected small{color:rgba(255,255,255,.68)}.vocab-detail-stack{position:relative;min-height:560px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(145deg,#fbfaf8,#f5f1ec);overflow:hidden}.vocab-detail,.vocab-empty{position:absolute;inset:0;padding:32px;opacity:0;visibility:hidden;transform:translateX(20px);transition:.3s var(--ease);overflow-y:auto}.vocab-detail.is-active,.vocab-empty.is-active{opacity:1;visibility:visible;transform:none}.vocab-empty{display:grid;place-content:center;text-align:center}.vocab-empty span{font-size:24px;font-weight:800}.vocab-empty p{color:var(--muted)}.vocab-detail-head{display:flex;justify-content:space-between;gap:20px}.vocab-detail-head span{color:var(--muted);font-size:10px}.vocab-detail-head h3{margin:8px 0 0;font-size:58px;letter-spacing:-.05em}.vocab-detail-head p{margin:2px 0;color:var(--wine);font-size:17px}.vocab-detail-head a{height:fit-content;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--wine);font-size:10px;font-weight:800}.vocab-note{max-width:700px;color:#565a61;line-height:1.8}.example-stack{display:grid;gap:8px;margin-top:20px}.example-stack>div{padding:13px 14px;border:1px solid #ebe7e1;border-radius:12px;background:rgba(255,255,255,.8)}.example-stack strong,.example-stack span{display:block}.example-stack strong{font-size:16px}.example-stack span{margin-top:5px;color:var(--muted);font-size:11px}.collocation-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:18px}.collocation-row span{padding:7px 9px;border-radius:8px;color:var(--wine-deep);background:var(--wine-soft);font-size:10px}
.text-stage-grid{display:grid;grid-template-columns:minmax(380px,.88fr) minmax(440px,1.12fr);gap:18px}.media-card,.dialogue-panel,.listening-block,.micro-practice,.shared-response{border:1px solid var(--line);border-radius:21px;background:#fff;overflow:hidden}.media-card-head{padding:18px 20px}.media-card-head h3{margin:7px 0 4px;font-size:17px}.media-card-head p{margin:0;color:var(--muted);font-size:10px;line-height:1.5}.media-card video{width:100%;aspect-ratio:16/9;background:#111;object-fit:contain}.audio-strip{padding:12px 14px;display:grid;grid-template-columns:36px 1fr minmax(170px,1fr);align-items:center;gap:10px;border-top:1px solid var(--line)}.audio-symbol{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;color:var(--wine);background:var(--wine-soft);font-weight:900}.audio-strip>div:nth-child(2){display:flex;flex-direction:column}.audio-strip strong{font-size:11px}.audio-strip span{margin-top:3px;color:var(--muted);font-size:8px}.audio-strip audio{width:100%;height:34px}.dialogue-panel{min-height:520px}.dialogue-panel-head{padding:16px 19px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.script-key{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:8px}.script-key i{width:6px;height:6px;border-radius:50%;background:var(--wine)}.dialogue-stream{padding:20px;display:grid;gap:14px}.speech-row{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:start;gap:11px}.speech-row img{width:42px;height:42px;object-fit:cover;border:1px solid #eadfe3;border-radius:14px;background:#fff}.speech-bubble{width:fit-content;max-width:92%;padding:12px 14px;border-radius:5px 16px 16px 16px;background:#f5f2ee}.speech-alt{grid-template-columns:minmax(0,1fr) 42px}.speech-alt img{grid-column:2}.speech-alt .speech-bubble{grid-column:1;grid-row:1;margin-left:auto;border-radius:16px 5px 16px 16px;background:#f6e9ed}.speech-bubble b{color:var(--wine);font-size:9px}.speech-zh{margin:5px 0 0;font-size:17px;line-height:1.55}.speech-pinyin,.speech-english{display:none;margin:5px 0 0;color:var(--muted);font-size:10px;line-height:1.45}.show-pinyin .speech-pinyin{display:block;animation:fade-up .28s var(--ease)}.show-english .speech-english{display:block;animation:fade-up .28s var(--ease)}.inline-word{color:var(--wine);font-weight:800;border-bottom:1px dotted #cfa0af}.inline-word:hover{background:#ead5dc}.listening-block{margin-top:18px;padding:22px}.block-title h3{margin:7px 0 0}.live-question-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:16px}.live-question{padding:16px;border:1px solid var(--line);border-radius:15px;background:var(--surface-2);transition:.2s}.live-question.wide{background:#fff}.question-top{display:grid;grid-template-columns:28px 1fr;align-items:start;gap:9px}.question-top>span{width:26px;height:26px;display:grid;place-items:center;border-radius:8px;color:var(--wine);background:var(--wine-soft);font-size:9px;font-weight:850}.question-top h4{margin:2px 0 0;font-size:13px;line-height:1.5}.live-options{display:grid;gap:7px;margin-top:12px}.live-options.horizontal{grid-template-columns:repeat(3,1fr)}.live-options button{padding:9px 10px;border:1px solid var(--line);border-radius:10px;background:#fff;text-align:left;font-size:11px;transition:.2s}.live-options button:hover{border-color:#d7b6c1}.live-options button.is-selected{color:#fff;border-color:var(--wine);background:var(--wine)}.reveal-answer{margin-top:10px;padding:6px 0;border:0;background:transparent;color:var(--wine);font-size:9px;font-weight:850}.answer-note{max-height:0;opacity:0;overflow:hidden;color:var(--success);font-size:10px;font-weight:750;transition:.3s var(--ease)}.is-revealed .answer-note{max-height:80px;margin-top:7px;opacity:1}.is-revealed .live-options button.is-correct{border-color:#74a48e;background:#e7f2eb;color:#255c46}
.grammar-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:18px}.formula-card{position:relative;padding:34px;border-radius:22px;color:#fff;background:linear-gradient(145deg,#25282d,#15171b);overflow:hidden}.formula-card h3{margin:22px 0 14px;font-size:clamp(30px,4vw,58px);line-height:1.1;letter-spacing:-.05em}.formula-card p{max-width:540px;color:#bfc2c8;line-height:1.8}.formula-pulse{position:absolute;width:220px;height:220px;right:-85px;bottom:-100px;border:1px solid rgba(255,255,255,.14);border-radius:50%;box-shadow:0 0 0 35px rgba(255,255,255,.035),0 0 0 70px rgba(255,255,255,.02)}.example-lab{padding:25px;border:1px solid var(--line);border-radius:22px}.sentence-line{width:100%;padding:13px 0;display:grid;grid-template-columns:32px 1fr;align-items:center;gap:9px;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left}.sentence-line span{color:#aaa6a0;font-size:9px}.sentence-line strong{font-size:14px}.sentence-line.is-selected strong{color:var(--wine)}.micro-practice{margin-top:18px;padding:20px;display:grid;grid-template-columns:220px minmax(0,1fr) auto;align-items:center;gap:20px}.micro-practice h3{margin:4px 0}.micro-practice>div:first-child>span{color:var(--wine);font-size:9px;font-weight:850}.micro-practice .answer-note{grid-column:2/4}.progress-formulas{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.progress-formulas article{padding:22px;border:1px solid var(--line);border-radius:18px;background:#fff;transition:.22s}.progress-formulas article:hover{transform:translateY(-4px);box-shadow:var(--shadow-sm)}.progress-formulas span{color:var(--wine);font-size:10px;font-weight:850}.progress-formulas strong,.progress-formulas p{display:block}.progress-formulas strong{margin-top:16px;font-size:17px}.progress-formulas p{color:var(--muted)}.grammar-visual-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}.grammar-visual-grid>img{width:100%;height:100%;min-height:330px;object-fit:cover;border-radius:22px}.formula-card.light{color:var(--ink);background:linear-gradient(145deg,#f8f5f1,#eee8e1)}.formula-card.light p{color:var(--muted)}.example-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.example-chips button{padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:#fff;font-size:10px}.example-chips button.is-selected{color:#fff;background:var(--wine);border-color:var(--wine)}.yao-layout{display:grid;grid-template-columns:1.08fr .92fr;gap:18px}.formula-card.wine{background:linear-gradient(145deg,var(--wine),var(--wine-deep))}.yao-layout>img{width:100%;height:100%;min-height:420px;object-fit:cover;border-radius:22px}.yao-example{padding:11px 0;display:grid;grid-template-columns:25px 1fr;gap:9px;border-top:1px solid rgba(255,255,255,.14)}.yao-example span{color:#eabfcb;font-size:10px}.shared-response{margin-top:18px;padding:22px;display:grid;grid-template-columns:290px 1fr;gap:20px;align-items:center}.shared-response h3{margin:5px 0}.shared-response p{margin:0;color:var(--muted);font-size:11px}.shared-text-input{width:100%;padding:13px 14px;border:1px solid var(--line-strong);border-radius:12px;outline:0;resize:vertical;background:#fff;transition:.2s}.shared-text-input:focus{border-color:var(--wine);box-shadow:0 0 0 4px var(--wine-soft)}
.exercise-split{display:grid;grid-template-columns:1fr .82fr;gap:18px}.exercise-list{display:grid;gap:10px}.description-lab{padding:22px;border:1px solid var(--line);border-radius:22px;background:var(--surface-2)}.description-lab>article{margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}.description-lab img{width:100%;aspect-ratio:1.8;object-fit:cover;border-radius:14px}.description-lab p{font-size:12px;font-weight:700}.description-lab textarea{font-size:11px}.typing-studio{display:grid;grid-template-columns:1.25fr .75fr;gap:18px}.typing-word-bank{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;align-content:start}.typing-word-bank button{min-height:72px;padding:10px;border:1px solid var(--line);border-radius:13px;background:#fff;transition:.2s}.typing-word-bank button strong,.typing-word-bank button span{display:block}.typing-word-bank button strong{font-size:18px}.typing-word-bank button span{margin-top:3px;color:var(--muted);font-size:9px}.typing-word-bank button.is-selected{color:#fff;border-color:var(--wine);background:var(--wine)}.typing-word-bank button.is-selected span{color:#eed6de}.typing-console{padding:34px;display:flex;flex-direction:column;justify-content:center;border-radius:24px;color:#fff;background:linear-gradient(150deg,#25282d,#111316)}.typing-console h3{margin:16px 0;font-size:44px}.typing-input{padding:16px!important;border-color:rgba(255,255,255,.15)!important;background:rgba(255,255,255,.08)!important;color:#fff;font-size:22px;text-align:center}.typing-input::placeholder{color:#7f838b}.typing-feedback{margin-top:12px;color:#b5b8bf;text-align:center;font-size:11px}.typing-feedback.correct{color:#7fe2b1}.typing-feedback.incorrect{color:#f4a7af}.keyboard-hint{margin-top:35px;display:flex;align-items:center;justify-content:center;gap:8px;color:#8e929a}.keyboard-hint kbd{padding:7px 10px;border:1px solid #4a4d54;border-radius:8px;background:#2d3036;color:#fff;box-shadow:inset 0 -2px 0 #191b20}.keyboard-hint small{margin-left:6px}.summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.summary-grid article{padding:18px;border:1px solid var(--line);border-radius:17px;background:#fff}.summary-grid article>span{color:var(--wine);font-size:9px;font-weight:850;letter-spacing:.12em}.summary-grid a{display:grid;grid-template-columns:70px 80px 1fr;align-items:center;gap:7px;padding:9px 0;border-bottom:1px solid var(--line)}.summary-grid a:last-child{border-bottom:0}.summary-grid strong{font-size:14px}.summary-grid em{color:var(--wine);font-size:9px;font-style:normal}.summary-grid small{color:var(--muted);font-size:8px}.homework-card{margin-top:18px;padding:26px;display:grid;grid-template-columns:1fr 1fr;gap:28px;border-radius:22px;color:#fff;background:linear-gradient(145deg,#24272c,#14161a)}.homework-card h3{margin:8px 0 20px;font-size:30px}.homework-card p{display:grid;grid-template-columns:32px 1fr;gap:10px;padding:10px 0;margin:0;border-top:1px solid rgba(255,255,255,.1);color:#d2d4d8;font-size:12px}.homework-card p b{color:#d8a8b6}.homework-images{display:grid;grid-template-columns:1fr 1fr;gap:10px}.homework-images img{width:100%;height:100%;object-fit:cover;border-radius:16px}
.collab-panel{min-height:0;padding:14px 14px 14px 0;display:grid;grid-template-rows:auto minmax(0,1fr);background:#ece9e3}.collab-tabs{padding:5px;display:grid;grid-template-columns:repeat(3,1fr);gap:4px;border:1px solid #dcd7cf;border-radius:13px;background:#f7f5f1}.collab-tabs button{padding:8px;border:0;border-radius:9px;background:transparent;color:var(--muted);font-size:10px;font-weight:800}.collab-tabs button.is-active{color:var(--ink);background:#fff;box-shadow:0 4px 12px rgba(40,36,30,.06)}.collab-view{min-height:0;margin-top:10px;padding:17px;display:none;border:1px solid #ddd8d0;border-radius:20px;background:#fff;overflow:auto}.collab-view.is-active{display:block;animation:fade-up .25s var(--ease)}.collab-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.collab-heading>div{display:flex;align-items:center;gap:9px}.collab-heading strong{font-size:12px}.collab-heading small{color:var(--muted);font-size:9px}.activity-feed{display:grid;gap:8px}.activity-feed article{padding:11px;display:grid;grid-template-columns:32px 1fr;gap:9px;border-radius:12px;background:var(--surface-2);animation:fade-up .25s var(--ease)}.activity-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;color:var(--wine);background:var(--wine-soft);font-size:10px;font-weight:850}.activity-feed article div{display:flex;flex-direction:column}.activity-feed strong{font-size:10px}.activity-feed small{margin-top:4px;color:var(--muted);font-size:8px}.board-toolbar{display:flex;gap:5px;margin-bottom:10px}.board-toolbar button{min-width:32px;padding:7px;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:9px}.board-toolbar button:last-child{margin-left:auto;color:var(--danger)}.shared-board{min-height:calc(100vh - 225px);padding:16px;border:1px dashed #d6d1c9;border-radius:13px;outline:0;background:repeating-linear-gradient(#fff,#fff 29px,#f2efea 30px);font-size:14px;line-height:2.1}.shared-board:empty:before{content:attr(data-placeholder);color:#aaa7a2}.shared-board:focus{border-color:var(--wine);box-shadow:0 0 0 4px var(--wine-soft)}.member-card{padding:12px;display:grid;grid-template-columns:38px 1fr 8px;align-items:center;gap:10px;border:1px solid var(--line);border-radius:13px}.member-card>span{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;color:#fff;background:var(--wine);font-weight:850}.member-card div{display:flex;flex-direction:column}.member-card strong{font-size:11px}.member-card small{margin-top:3px;color:var(--muted);font-size:8px}.member-card i{width:7px;height:7px;border-radius:50%;background:#4da678}.room-information{margin-top:13px;padding:16px;border-radius:14px;background:var(--surface-2)}.room-information span{color:var(--muted);font-size:9px}.room-information strong{display:block;margin-top:6px;color:var(--wine);font-size:26px;letter-spacing:.14em}.room-information p{color:var(--muted);font-size:10px;line-height:1.65}
.focus-mode .classroom-grid{grid-template-columns:0 minmax(0,1fr) 0}.focus-mode .studio-rail,.focus-mode .collab-panel{opacity:0;pointer-events:none;overflow:hidden}.focus-mode .stage-shell{padding:8px}.focus-mode .stage-viewport{border-radius:18px}.focus-mode .stage-screen{padding-left:7vw;padding-right:7vw}.focus-mode .classroom-topline{grid-template-columns:1fr auto 1fr}.focus-mode .classroom-statusbar{opacity:.6}.show-pinyin{} .show-english{}
@keyframes fade-up{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* Practice / AI / Admin compatibility */
.practice-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:30px}.practice-header h1{font-size:42px}.score-ring{width:100px;height:100px;display:grid;place-content:center;text-align:center;border-radius:50%;background:conic-gradient(var(--wine) 70%,#ece8e2 0);box-shadow:inset 0 0 0 10px #fff,var(--shadow-sm)}.score-ring strong{font-size:24px}.score-ring span{color:var(--muted);font-size:9px}.question-list{display:grid;gap:14px}.question-card{position:relative;padding:25px;border:1px solid var(--line);border-radius:20px;background:#fff}.question-number{position:absolute;right:22px;top:15px;color:#e8e3dc;font-size:42px;font-weight:250}.question-card h2{max-width:80%;margin-top:0;font-size:20px}.option-list{display:grid;gap:8px}.option-list label{position:relative}.option-list input{position:absolute;opacity:0}.option-list span{display:block;padding:12px 13px;border:1px solid var(--line);border-radius:11px}.option-list input:checked+span{color:var(--wine-deep);border-color:#d8b6c1;background:var(--wine-soft)}.question-feedback{margin-top:12px;padding:12px;border-radius:10px;background:var(--surface-2)}.practice-actions{display:flex;justify-content:flex-end;gap:8px}.ai-shell{min-height:680px;display:grid;grid-template-columns:340px 1fr;border:1px solid var(--line);border-radius:27px;background:#fff;overflow:hidden}.ai-sidebar{padding:35px;color:#fff;background:linear-gradient(145deg,#25282d,#14161a)}.ai-orb{width:54px;height:54px;display:grid;place-items:center;border-radius:17px;color:var(--wine);background:#fff;font-weight:900}.ai-sidebar h1{font-size:34px}.ai-sidebar p{color:#b9bdc4;line-height:1.8}.prompt-examples{display:grid;gap:8px;margin-top:25px}.prompt-examples button{padding:12px;border:1px solid rgba(255,255,255,.15);border-radius:10px;background:rgba(255,255,255,.06);color:#fff;text-align:left}.chat-panel{display:grid;grid-template-rows:1fr auto}.chat-log{max-height:600px;padding:30px;overflow-y:auto}.chat-message{display:grid;grid-template-columns:36px 1fr;gap:10px;margin-bottom:17px}.chat-message>div{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;color:#fff;background:var(--wine)}.chat-message p{width:fit-content;max-width:80%;margin:0;padding:13px 15px;border-radius:5px 15px 15px;background:var(--surface-2);white-space:pre-wrap}.chat-message.user{grid-template-columns:1fr 36px}.chat-message.user>div{grid-column:2}.chat-message.user p{grid-row:1;margin-left:auto;color:#fff;background:var(--wine)}.chat-form{padding:18px;display:grid;grid-template-columns:1fr auto;gap:9px;border-top:1px solid var(--line)}.admin-grid{display:grid;grid-template-columns:370px 1fr;gap:18px}.user-list{display:grid}.user-list article{padding:12px 0;display:grid;grid-template-columns:38px 1fr auto auto;align-items:center;gap:10px;border-bottom:1px solid var(--line)}.avatar{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;color:#fff;background:var(--wine)}.user-info{display:flex;flex-direction:column}.user-info span,.user-info small{margin-top:3px;color:var(--muted)}.status{padding:6px 8px;border-radius:999px;font-size:9px;font-weight:800}.status.active{color:var(--success);background:var(--sage-soft)}.status.inactive{color:var(--danger);background:#fae8ea}.empty-state{padding:45px;text-align:center;color:var(--muted);border:1px dashed var(--line-strong);border-radius:18px;background:#fff}

@media(max-width:1250px){.dashboard-hero{grid-template-columns:1fr;padding:50px}.hero-preview{display:none}.classroom-grid{grid-template-columns:210px minmax(0,1fr) 280px}.stage-screen{padding:30px}.text-stage-grid,.vocab-workspace{grid-template-columns:1fr}.dialogue-panel{min-height:auto}.word-library{grid-template-columns:repeat(3,1fr)}}
@media(max-width:980px){body:not(.classroom-page) .app-nav{display:none}.dashboard-shell{width:min(100% - 28px,1480px)}.dashboard-grid-main,.dashboard-lower-grid,.lesson-feature,.word-detail-grid,.admin-grid{grid-template-columns:1fr}.lesson-feature-actions{justify-content:flex-start}.classroom-grid{grid-template-columns:180px minmax(0,1fr)}.collab-panel{display:none}.classroom-topline{grid-template-columns:1fr auto}.classroom-statusbar{display:none}.warmup-grid,.progress-formulas{grid-template-columns:repeat(2,1fr)}.grammar-layout,.grammar-visual-grid,.yao-layout,.exercise-split,.typing-studio,.shared-response,.homework-card{grid-template-columns:1fr}.summary-grid{grid-template-columns:repeat(2,1fr)}.typing-word-bank{grid-template-columns:repeat(4,1fr)}.word-library{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.app-topbar{padding:0 15px}.account-name{display:none}.dashboard-shell{padding-top:20px}.dashboard-hero{min-height:auto;padding:35px 25px;border-radius:25px}.hero-copy h1{font-size:43px}.hero-actions{align-items:stretch;flex-direction:column}.hero-actions form,.hero-actions .button{width:100%}.workspace-card{padding:20px}.dashboard-grid-main,.dashboard-lower-grid{grid-template-columns:1fr}.mini-word-grid{grid-template-columns:repeat(2,1fr)}.auth-shell{grid-template-columns:1fr}.auth-copy{display:none}.page-container{width:min(100% - 24px,1260px);padding-top:28px}.word-library{grid-template-columns:1fr}.word-hero{align-items:flex-start;flex-direction:column}.word-hero h1{font-size:54px}.classroom-topline{height:64px;padding:0 9px}.classroom-root{grid-template-rows:64px 1fr}.classroom-titlebar>div,.control-toggle:not([data-setting="showPinyin"]){display:none}.classroom-grid{grid-template-columns:1fr}.studio-rail{display:none}.stage-shell{padding:6px}.stage-screen{padding:24px 18px 45px}.intro-layout{grid-template-columns:1fr}.intro-art{display:none}.intro-copy{padding:38px 24px}.intro-copy h1{font-size:58px}.warmup-grid{grid-template-columns:repeat(2,1fr)}.vocab-workspace{grid-template-columns:1fr}.vocab-selector{grid-template-columns:repeat(2,1fr)}.vocab-detail-stack{min-height:500px}.text-stage-grid{grid-template-columns:1fr}.live-question-grid,.live-options.horizontal,.summary-grid{grid-template-columns:1fr}.grammar-layout,.progress-formulas,.grammar-visual-grid,.yao-layout,.exercise-split,.typing-studio,.shared-response,.homework-card{grid-template-columns:1fr}.micro-practice{grid-template-columns:1fr}.typing-word-bank{grid-template-columns:repeat(3,1fr)}.homework-images{height:240px}.screen-heading h2{font-size:31px}.heading-count{font-size:44px}.compact-audio{width:180px}.screen-heading{flex-direction:column}.audio-strip{grid-template-columns:36px 1fr}.audio-strip audio{grid-column:1/3}.word-detail-grid{grid-template-columns:1fr}.ai-shell{grid-template-columns:1fr}.ai-sidebar{display:none}.chat-form{grid-template-columns:1fr}.admin-grid{grid-template-columns:1fr}}


/* E-WORD ADMIN CONSOLE V1.1 */
.admin-console{width:min(1420px,calc(100% - 48px))}
.admin-hero{position:relative;margin-bottom:18px;padding:38px 40px;display:flex;align-items:flex-end;justify-content:space-between;gap:35px;border:1px solid #34373d;border-radius:28px;color:#fff;background:linear-gradient(145deg,#292c32,#17191d);box-shadow:var(--shadow-md);overflow:hidden}
.admin-hero:after{content:"";width:360px;height:360px;position:absolute;right:-110px;top:-190px;border:1px solid rgba(255,255,255,.08);border-radius:50%;box-shadow:0 0 0 45px rgba(255,255,255,.025),0 0 0 90px rgba(255,255,255,.018)}
.admin-hero-copy{position:relative;z-index:1;max-width:760px}
.admin-hero .eyebrow{color:#dcb7c3}
.admin-hero h1{margin:12px 0 10px;font-size:clamp(36px,4vw,58px);letter-spacing:-.055em}
.admin-hero p{max-width:720px;margin:0;color:#bfc2c8;font-size:15px;line-height:1.8}
.admin-security-note{position:relative;z-index:1;min-width:310px;padding:16px 18px;display:grid;grid-template-columns:38px 1fr;gap:12px;border:1px solid rgba(255,255,255,.12);border-radius:17px;background:rgba(255,255,255,.06);backdrop-filter:blur(12px)}
.admin-security-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;color:#fff;background:#4d9472;font-weight:900}
.admin-security-note div{display:flex;flex-direction:column}
.admin-security-note strong{font-size:12px}
.admin-security-note small{margin-top:5px;color:#b8bbc1;font-size:9px;line-height:1.55}

.admin-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}
.admin-stat-card{position:relative;padding:21px 22px;border:1px solid var(--line);border-radius:19px;background:#fff;box-shadow:var(--shadow-sm);overflow:hidden}
.admin-stat-card:after{content:"";width:72px;height:72px;position:absolute;right:-24px;bottom:-26px;border-radius:50%;background:var(--wine-soft)}
.admin-stat-card>span{color:var(--muted);font-size:10px;font-weight:850;letter-spacing:.08em}
.admin-stat-card strong{display:block;margin:8px 0 5px;font-size:34px;letter-spacing:-.05em}
.admin-stat-card small{color:var(--muted);font-size:9px}
.admin-stat-card.teacher:after{background:#eee7da}
.admin-stat-card.student:after{background:#e4edf3}
.admin-stat-card.active:after{background:var(--sage-soft)}

.admin-workspace{display:grid;grid-template-columns:minmax(390px,.82fr) minmax(650px,1.55fr);gap:18px;align-items:start}
.admin-create-panel,.admin-directory{padding:28px}
.admin-panel-heading span,.admin-directory-header>div>span{color:var(--wine);font-size:9px;font-weight:900;letter-spacing:.16em}
.admin-panel-heading h2,.admin-directory-header h2{margin:8px 0 6px;font-size:25px}
.admin-panel-heading p,.admin-directory-header p{margin:0;color:var(--muted);font-size:11px;line-height:1.65}

.admin-create-form{margin-top:25px}
.admin-fieldset{padding:0;border:0}
.admin-fieldset legend{margin-bottom:10px;color:#51545a;font-size:11px;font-weight:800}
.admin-role-picker{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.admin-role-option{position:relative;cursor:pointer}
.admin-role-option>input{position:absolute;opacity:0;pointer-events:none}
.admin-role-card-body{height:100%;padding:14px;display:grid;grid-template-columns:38px 1fr;gap:11px;border:1px solid var(--line);border-radius:14px;background:#fff;transition:.2s var(--ease)}
.admin-role-card-body:hover{transform:translateY(-2px);border-color:#d8bbc4}
.admin-role-option input:focus-visible+.admin-role-card-body{box-shadow:0 0 0 4px var(--wine-soft)}
.admin-role-option input:checked+.admin-role-card-body{border-color:var(--wine);background:var(--wine-soft);box-shadow:0 9px 22px rgba(122,38,63,.1)}
.admin-role-symbol{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;color:#fff;background:var(--wine);font-size:13px;font-weight:900}
.admin-role-symbol.student{color:#355469;background:#dce9f0}
.admin-role-card-body>span:last-child{display:flex;flex-direction:column}
.admin-role-card-body strong{font-size:12px}
.admin-role-card-body small{margin-top:5px;color:var(--muted);font-size:9px;line-height:1.55}

.admin-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:20px}
.admin-form-grid label{display:grid;gap:7px}
.admin-form-grid label>span{color:#51545a;font-size:11px;font-weight:800}
.admin-form-grid input,.admin-search-box input{width:100%;padding:13px 14px;border:1px solid var(--line-strong);border-radius:12px;outline:0;background:#fff;transition:.2s}
.admin-form-grid input:focus,.admin-search-box input:focus{border-color:var(--wine);box-shadow:0 0 0 4px var(--wine-soft)}
.admin-form-wide{grid-column:1/-1}
.admin-duration-control{position:relative}
.admin-duration-control input{padding-right:45px}
.admin-duration-control em{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:11px;font-style:normal}
.admin-form-footer{margin-top:21px;padding-top:18px;display:flex;align-items:center;justify-content:space-between;gap:14px;border-top:1px solid var(--line)}
.admin-form-footer p{max-width:260px;margin:0;color:var(--muted);font-size:9px;line-height:1.6}
.admin-create-button{white-space:nowrap}

.admin-directory-header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}
.admin-directory-header p b{color:var(--ink)}
.admin-search-box{width:min(300px,42%);position:relative}
.admin-search-box>span{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:18px}
.admin-search-box input{padding-left:39px}
.admin-filter-bar{margin:22px 0 7px;padding:5px;display:flex;gap:5px;border:1px solid var(--line);border-radius:13px;background:var(--surface-2)}
.admin-filter-bar button{padding:8px 11px;display:flex;align-items:center;gap:7px;border:0;border-radius:9px;background:transparent;color:var(--muted);font-size:10px;font-weight:800}
.admin-filter-bar button span{min-width:20px;padding:2px 5px;border-radius:999px;background:#e8e4de;font-size:8px}
.admin-filter-bar button.is-active{color:var(--ink);background:#fff;box-shadow:0 4px 12px rgba(40,36,30,.06)}
.admin-filter-bar button.is-active span{color:#fff;background:var(--wine)}

.admin-user-list{display:grid}
.admin-user-row{padding:15px 3px;display:grid;grid-template-columns:44px minmax(145px,1.2fr) minmax(120px,.85fr) auto auto;align-items:center;gap:13px;border-bottom:1px solid var(--line)}
.admin-user-row[hidden]{display:none}
.admin-user-avatar{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;color:#fff;background:#70747c;font-weight:900}
.admin-user-avatar.teacher{background:var(--wine)}
.admin-user-avatar.student{color:#355469;background:#dce9f0}
.admin-user-avatar.admin{background:#24272c}
.admin-user-primary{min-width:0;display:flex;flex-direction:column}
.admin-user-primary>div{display:flex;align-items:center;gap:7px}
.admin-user-primary strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}
.admin-user-primary small{margin-top:5px;color:var(--muted);font-size:9px}
.admin-role-badge{padding:4px 7px;border-radius:999px;font-size:8px;font-weight:850}
.admin-role-badge.teacher{color:var(--wine-deep);background:var(--wine-soft)}
.admin-role-badge.student{color:#355469;background:#e5eff4}
.admin-role-badge.admin{color:#fff;background:#30333a}
.admin-user-expiry{display:flex;flex-direction:column}
.admin-user-expiry span{color:var(--muted);font-size:8px}
.admin-user-expiry strong{margin-top:5px;font-size:10px}
.admin-user-status .status{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.admin-user-status .status i{width:6px;height:6px;border-radius:50%;background:currentColor}
.admin-user-action{display:flex;justify-content:flex-end}
.admin-protected-label{color:var(--muted);font-size:8px;font-weight:750;white-space:nowrap}
.admin-filter-empty{padding:50px 20px;text-align:center}
.admin-filter-empty>span{width:48px;height:48px;margin:0 auto 13px;display:grid;place-items:center;border-radius:15px;color:var(--wine);background:var(--wine-soft);font-size:24px}
.admin-filter-empty strong{display:block;font-size:13px}
.admin-filter-empty p{margin:7px 0 0;color:var(--muted);font-size:10px}

@media(max-width:1180px){
  .admin-workspace{grid-template-columns:1fr}
  .admin-create-panel{order:1}
  .admin-directory{order:2}
}

@media(max-width:900px){
  .admin-hero{align-items:flex-start;flex-direction:column}
  .admin-security-note{min-width:0;width:100%}
  .admin-stat-grid{grid-template-columns:repeat(2,1fr)}
  .admin-user-row{grid-template-columns:44px 1fr auto}
  .admin-user-expiry{grid-column:2}
  .admin-user-status{grid-column:3;grid-row:1}
  .admin-user-action{grid-column:3;grid-row:2}
}

@media(max-width:650px){
  .admin-console{width:min(100% - 24px,1420px)}
  .admin-hero{padding:29px 23px}
  .admin-stat-grid{grid-template-columns:1fr 1fr}
  .admin-create-panel,.admin-directory{padding:21px}
  .admin-role-picker,.admin-form-grid{grid-template-columns:1fr}
  .admin-form-wide{grid-column:auto}
  .admin-form-footer,.admin-directory-header{align-items:stretch;flex-direction:column}
  .admin-form-footer p{max-width:none}
  .admin-create-button,.admin-search-box{width:100%}
  .admin-filter-bar{overflow-x:auto}
  .admin-filter-bar button{white-space:nowrap}
  .admin-user-row{grid-template-columns:40px 1fr}
  .admin-user-avatar{width:40px;height:40px}
  .admin-user-expiry,.admin-user-status,.admin-user-action{grid-column:2;grid-row:auto;justify-content:flex-start}
}


/* E-WORD ROLE-AWARE SHELL V1.1 */
.account-role{
  padding:5px 8px;
  border-radius:999px;
  font-size:8px;
  font-weight:850;
  white-space:nowrap;
}

.account-role.admin{
  color:#fff;
  background:#292c31;
}

.account-role.teacher{
  color:var(--wine-deep);
  background:var(--wine-soft);
}

.account-role.student{
  color:#355469;
  background:#e3eef4;
}

.account-avatar.admin{
  background:#292c31;
}

.account-avatar.teacher{
  background:var(--wine);
}

.account-avatar.student{
  color:#355469;
  background:#dce9f0;
}

.student-entry-card{
  display:flex;
  flex-direction:column;
}

.student-entry-steps{
  display:grid;
  gap:10px;
  margin:18px 0 20px;
}

.student-entry-steps>div{
  padding:13px;
  display:grid;
  grid-template-columns:34px 1fr;
  column-gap:10px;
  border:1px solid var(--line);
  border-radius:13px;
  background:var(--surface-2);
}

.student-entry-steps>div>span{
  width:32px;
  height:32px;
  grid-row:1/3;
  display:grid;
  place-items:center;
  border-radius:10px;
  color:var(--wine);
  background:var(--wine-soft);
  font-size:9px;
  font-weight:900;
}

.student-entry-steps strong{
  align-self:end;
  font-size:11px;
}

.student-entry-steps small{
  margin-top:3px;
  color:var(--muted);
  font-size:8px;
  line-height:1.5;
}

@media(max-width:700px){
  .account-role{
    display:none;
  }
}


/* E-WORD GUEST CLASSROOM V1.1 */
.guest-join-panel{
  width:min(600px,100%);
}

.guest-room-form{
  gap:15px;
}

.guest-join-field{
  display:grid;
  gap:7px;
  text-align:left;
}

.guest-join-field>span{
  color:#565960;
  font-size:11px;
  font-weight:800;
}

.room-code-form .guest-name-input{
  text-align:left;
  text-transform:none;
  font-size:16px;
  font-weight:650;
  letter-spacing:0;
}

.room-code-form .guest-code-input{
  text-align:center;
  text-transform:uppercase;
  font-size:28px;
  font-weight:850;
  letter-spacing:.22em;
}

.guest-join-footer{
  margin-top:18px;
  display:flex;
  justify-content:center;
  gap:7px;
  color:var(--muted);
  font-size:11px;
}

.classroom-leave-form{
  margin:0;
}

.control-toggle:disabled,
.section-nav button:disabled,
.rail-arrows button:disabled,
.collab-tabs button:disabled,
.shared-choice:disabled,
.reveal-answer:disabled,
.board-toolbar button:disabled{
  opacity:.48;
  cursor:not-allowed;
  transform:none!important;
}

.student-media-locked .sync-media{
  pointer-events:none;
}

.student-media-locked .media-card{
  position:relative;
}

.student-media-locked .media-card:after{
  content:"媒体播放由老师控制";
  position:absolute;
  right:13px;
  bottom:13px;
  z-index:4;
  padding:6px 9px;
  border:1px solid var(--line);
  border-radius:999px;
  color:var(--muted);
  background:rgba(255,255,255,.92);
  font-size:8px;
  font-weight:800;
  pointer-events:none;
}

.student-controls-locked .stage-viewport:after{
  content:"老师已暂时锁定学生操作";
  position:absolute;
  left:50%;
  bottom:18px;
  z-index:20;
  transform:translateX(-50%);
  padding:9px 13px;
  border:1px solid #dfc8cf;
  border-radius:999px;
  color:var(--wine-deep);
  background:rgba(250,241,244,.94);
  box-shadow:var(--shadow-sm);
  font-size:9px;
  font-weight:850;
  pointer-events:none;
}

/* CLEAR TALK TRIAL CLASSROOM */
.trial-screen{--trial-navy:#173f67;--trial-blue:#3e89c8;--trial-pale:#edf6fc;--trial-red:#d94b52;color:#17344f;background:linear-gradient(180deg,#fff 0%,#fbfdff 100%)}
.trial-english,.trial-pinyin{display:none}.show-english .trial-english,.show-pinyin .trial-pinyin{display:block;animation:fade-up .25s var(--ease)}
.trial-cover{display:flex;align-items:center;justify-content:space-between;padding:6vw;background:linear-gradient(115deg,#fff 0 67%,#e8f4fb 67%)}.trial-cover.is-active{display:flex}.trial-cover-copy{max-width:670px}.trial-kicker{color:var(--trial-blue);font-size:10px;font-weight:900;letter-spacing:.2em}.trial-cover h1{margin:20px 0 12px;color:var(--trial-navy);font-size:clamp(48px,6vw,88px);line-height:1.02;letter-spacing:-.065em}.trial-cover h1 em{color:var(--trial-blue);font-style:normal}.trial-cover-copy>p{color:#6e8396;font-size:17px}.trial-cover-tags{display:flex;flex-wrap:wrap;gap:9px;margin-top:28px}.trial-cover-tags span{padding:9px 13px;border:1px solid #cfe2f0;border-radius:999px;color:#3c6e96;background:#f5fbff;font-size:10px;font-weight:800}.trial-cover-mark{width:min(26vw,300px);aspect-ratio:1;display:grid;place-items:center;border-radius:50%;color:#fff;background:var(--trial-navy);box-shadow:0 0 0 35px #dceef9,0 0 0 70px rgba(220,238,249,.45)}.trial-cover-mark span{grid-area:1/1;font-size:118px;font-family:serif}.trial-cover-mark small{grid-area:1/1;align-self:end;margin-bottom:44px;color:#b9d8ee;font-size:18px;letter-spacing:.12em}
.trial-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:28px;padding-bottom:18px;border-bottom:3px solid var(--trial-navy)}.trial-heading>div>span{color:var(--trial-blue);font-size:9px;font-weight:900;letter-spacing:.18em}.trial-heading h2{margin:8px 0 4px;color:var(--trial-navy);font-size:clamp(31px,3.4vw,52px);letter-spacing:-.05em}.trial-heading p{margin:0;color:#72879a}.trial-heading>b{color:#dbeaf4;font-size:58px;font-weight:300;line-height:1}
.trial-teacher-grid{display:grid;grid-template-columns:minmax(340px,1.1fr) minmax(300px,.9fr);gap:24px}.trial-source-visual{overflow:hidden;border:1px solid #cfe0ec;border-radius:22px;background:#f1f7fb}.trial-source-visual img{width:100%;height:100%;display:block;object-fit:contain}.trial-source-visual.compact{min-height:350px}.trial-profile-card{padding:34px;display:flex;flex-direction:column;justify-content:center;border-radius:22px;color:#fff;background:var(--trial-navy)}.trial-profile-card>span{color:#a7d5f3;font-size:18px}.trial-profile-card h3{margin:8px 0;font-size:42px}.trial-profile-card>p{margin:4px 0;color:#d7eaf6}.trial-profile-card dl{display:grid;gap:11px;margin:25px 0 0}.trial-profile-card dl div{padding-top:11px;display:flex;justify-content:space-between;gap:20px;border-top:1px solid rgba(255,255,255,.16)}.trial-profile-card dt{color:#9bc7e4;font-size:10px}.trial-profile-card dd{margin:0;font-size:12px;font-weight:750}
.trial-question-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.trial-question-cards button{padding:22px;display:flex;min-height:150px;flex-direction:column;align-items:flex-start;border:1px solid #cfe0ec;border-radius:18px;background:#fff;text-align:left}.trial-question-cards button>span{color:#8db7d6;font-size:10px}.trial-question-cards button strong{margin-top:auto;color:var(--trial-navy);font-size:17px}.trial-question-cards button small{margin-top:7px;color:#71899c}.trial-question-cards button.is-selected{color:#fff;border-color:var(--trial-navy);background:var(--trial-navy)}.trial-question-cards button.is-selected strong,.trial-question-cards button.is-selected small{color:#fff}
.trial-shared-prompt{margin-top:20px;display:grid;gap:8px}.trial-shared-prompt>span{color:#456b89;font-size:10px;font-weight:850}.trial-shared-prompt textarea,.trial-shared-prompt input{width:100%;padding:15px 17px;border:1px solid #cbdce8;border-radius:14px;background:#fff;outline:0;font:inherit}.trial-shared-prompt textarea{min-height:105px;resize:vertical}.trial-shared-prompt textarea:focus,.trial-shared-prompt input:focus{border-color:var(--trial-blue);box-shadow:0 0 0 4px rgba(62,137,200,.12)}
.trial-pinyin-formula{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1.25fr;align-items:center;gap:14px}.trial-pinyin-formula article{min-height:180px;padding:22px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #cfdeea;border-radius:20px;background:#fff}.trial-pinyin-formula article>span{color:#698398;font-size:11px}.trial-pinyin-formula article>strong{margin:10px 0;color:var(--trial-navy);font-size:62px}.trial-pinyin-formula article>small{color:#7890a2}.trial-pinyin-formula>i{color:#8fb5d1;font-size:27px;font-style:normal}.trial-pinyin-formula .result{color:#fff;border-color:var(--trial-blue);background:var(--trial-blue)}.trial-pinyin-formula .result span,.trial-pinyin-formula .result strong,.trial-pinyin-formula .result small{color:#fff}.trial-note{margin-top:22px;padding:18px 20px;border-left:5px solid var(--trial-blue);border-radius:4px 14px 14px 4px;background:var(--trial-pale)}.trial-note b{color:var(--trial-navy)}.trial-note p{margin:6px 0 0;color:#627d92;font-size:12px}
.trial-sound-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.trial-sound-grid .micro-practice{min-height:165px;padding:21px;display:flex;flex-direction:column;align-items:flex-start;border:1px solid #cfe0ec;border-radius:18px;background:#fff}.trial-sound-grid strong{color:var(--trial-navy);font-size:29px}.trial-sound-grid .trial-pinyin{margin-top:4px;color:#6e899e}.trial-sound-grid .reveal-answer{margin-top:auto;color:var(--trial-blue)}.trial-sound-grid .answer-note{font-size:17px}.trial-teacher-tip{margin-top:18px;color:#6c8295;font-size:11px}
.trial-finals-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:11px}.trial-finals-strip article{aspect-ratio:1;display:grid;place-items:center;border-radius:50%;color:#fff;background:var(--trial-navy);box-shadow:0 0 0 7px var(--trial-pale)}.trial-finals-strip strong{grid-area:1/1;font-size:44px}.trial-finals-strip span{grid-area:1/1;align-self:start;margin-top:13px;color:#9ed0ef;font-size:9px}
.trial-final-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.trial-final-card{padding:15px;display:flex;flex-direction:column;border:1px solid #cfe0ec;border-radius:18px;background:#fff}.trial-final-card>div{display:flex;align-items:center;justify-content:space-between}.trial-final-card>div strong{color:var(--trial-navy);font-size:35px}.trial-final-card>div span{color:#9bb7ca;font-size:9px}.trial-final-card img{width:100%;height:105px;margin:8px 0;object-fit:contain;border-radius:12px;background:#f4f9fc}.trial-final-card p{margin:4px 0;color:#5f788b;font-size:10px;line-height:1.55}.trial-final-card audio{width:100%;height:32px;margin-top:auto}
.trial-tone-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.trial-tone-grid article{min-height:220px;padding:22px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:20px;color:#fff}.trial-tone-grid article>span{font-size:10px}.trial-tone-grid article>strong{margin:10px 0 3px;font-size:68px}.trial-tone-grid article>b{font-size:20px}.trial-tone-grid article>small{margin-top:7px}.trial-tone-grid .tone-1{background:#ef9745}.trial-tone-grid .tone-2{background:#4fa66e}.trial-tone-grid .tone-3{background:#4d83c4}.trial-tone-grid .tone-4{background:#d25359}.trial-audio-bar{margin-top:18px;padding:13px 16px;display:grid;grid-template-columns:1fr minmax(220px,420px);align-items:center;gap:18px;border:1px solid #cfe0ec;border-radius:15px;background:#fff}.trial-audio-bar>div{display:flex;flex-direction:column}.trial-audio-bar span{margin-top:4px;color:#71889a}.trial-audio-bar audio{width:100%;height:34px}
.trial-tone-practice{padding:0;display:grid;grid-template-columns:1.15fr .85fr;gap:22px;border:0}.trial-tone-practice>div:last-child{padding:24px;align-self:center}.trial-tone-practice h3{margin:0;color:var(--trial-navy);font-size:34px}.trial-tone-practice p{color:#637c90}.trial-tone-practice .live-options.horizontal{grid-template-columns:repeat(2,1fr)}
.trial-phrase-stage{min-height:360px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:26px;color:#fff;background:var(--trial-navy)}.trial-phrase-stage>span{color:#a8d4ef;font-size:25px}.trial-phrase-stage>strong{margin:5px 0;font-size:96px}.trial-phrase-stage>p{color:#d8ebf7;font-size:18px}.trial-phrase-stage audio{width:min(380px,80%);margin-top:20px}
.trial-dialogue-card{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.trial-dialogue-card article{padding:28px;border:1px solid #cfe0ec;border-radius:20px;background:#fff}.trial-dialogue-card article:nth-child(even){background:var(--trial-pale)}.trial-dialogue-card article>span{color:var(--trial-blue);font-size:10px;font-weight:850}.trial-dialogue-card article>strong{display:block;margin-top:12px;color:var(--trial-navy);font-size:25px}.trial-dialogue-card p{margin:7px 0 0;color:#6e8496}
.trial-roleplay{display:grid;gap:10px}.trial-roleplay article{padding:15px 18px;display:grid;grid-template-columns:40px 1fr;gap:13px;border:1px solid #cfe0ec;border-radius:15px;background:#fff}.trial-roleplay article>span{width:37px;height:37px;display:grid;place-items:center;border-radius:11px;color:#fff;background:var(--trial-blue);font-weight:900}.trial-roleplay strong{color:var(--trial-navy);font-size:18px}.trial-roleplay p{margin:4px 0 0;color:#718698}
.trial-summary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.trial-summary-grid article{padding:24px;display:grid;grid-template-columns:45px 1fr;column-gap:14px;border:1px solid #cfe0ec;border-radius:18px;background:#fff}.trial-summary-grid span{width:43px;height:43px;grid-row:1/3;display:grid;place-items:center;border-radius:13px;color:#fff;background:var(--trial-navy);font-size:10px}.trial-summary-grid strong{color:var(--trial-navy);font-size:17px}.trial-summary-grid p{margin:5px 0 0;color:#71889a}
.trial-homework-list{display:grid;gap:13px;padding:0;list-style:none}.trial-homework-list li{padding:20px;display:grid;grid-template-columns:100px 1fr;gap:18px;border:1px solid #cfe0ec;border-radius:18px;background:#fff}.trial-homework-list li>span{display:grid;place-items:center;border-radius:13px;color:#fff;background:var(--trial-blue);font-size:11px;font-weight:850}.trial-homework-list strong{color:var(--trial-navy);font-size:18px}.trial-homework-list p{margin:6px 0 0;color:#6d8396}
.trial-roadmap{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.trial-roadmap article{min-height:260px;padding:22px;display:flex;flex-direction:column;border:1px solid #cfe0ec;border-radius:19px;background:#fff}.trial-roadmap article.active{color:#fff;border-color:var(--trial-navy);background:var(--trial-navy)}.trial-roadmap span{color:#8fb7d2;font-size:10px}.trial-roadmap strong{margin-top:25px;color:var(--trial-navy);font-size:19px}.trial-roadmap p{color:#677f92;line-height:1.7}.trial-roadmap small{margin-top:auto;color:#4784b2;font-weight:800}.trial-roadmap .active strong,.trial-roadmap .active p,.trial-roadmap .active small{color:#fff}
.trial-rating{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.trial-rating button{min-height:170px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #cfe0ec;border-radius:20px;background:#fff}.trial-rating button>span{color:var(--trial-blue);font-size:36px}.trial-rating button strong{margin-top:10px;color:var(--trial-navy)}.trial-rating button.is-selected{color:#fff;border-color:var(--trial-navy);background:var(--trial-navy)}.trial-rating button.is-selected span,.trial-rating button.is-selected strong{color:#fff}.trial-goodbye{margin-top:18px;padding:18px;display:flex;align-items:center;justify-content:center;gap:14px;border-radius:15px;color:#fff;background:var(--trial-blue)}.trial-goodbye strong{font-size:18px}.trial-goodbye span{color:#e9f6ff}
.trial-goal-stack{display:grid;gap:18px}.trial-goal-question{padding:18px;border:1px solid #cfe0ec;border-radius:18px;background:#fff}.trial-subheading{display:flex;align-items:center;gap:12px;margin-bottom:12px}.trial-subheading>span{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;color:#fff;background:var(--trial-blue);font-size:10px;font-weight:900}.trial-subheading strong{display:block;color:var(--trial-navy);font-size:15px}.trial-subheading small{display:block;margin-top:3px;color:#71889a}.trial-question-cards.compact button{min-height:90px;padding:13px}.trial-question-cards.compact button strong{font-size:13px}.response-choice em[data-response-count]{min-height:14px;margin-top:5px;color:#5f8baa;font-size:9px;font-style:normal;font-weight:850}.response-choice.is-selected em[data-response-count]{color:#d9edfa}.trial-response-tools{margin-top:12px;display:flex;gap:8px;align-items:center}.trial-response-tools button,.trial-teacher-round button{padding:8px 11px;border:1px solid #c8dce9;border-radius:10px;color:#37698f;background:#fff;font-size:10px;font-weight:800}.trial-response-summary{margin-top:18px;padding:14px;display:grid;gap:8px;border:1px solid #cfe0ec;border-radius:15px;background:#f7fbfe}.trial-response-summary article{display:grid;grid-template-columns:110px 1fr;gap:12px}.trial-response-summary article strong{color:var(--trial-navy)}.trial-response-summary article span,.response-summary-empty{margin:0;color:#617a8e}.trial-sound-grid .micro-practice img{width:100%;height:78px;margin-bottom:9px;object-fit:contain;border-radius:10px;background:#f4f9fc}.trial-pronunciation-video{margin-top:9px;border-top:1px solid #e2edf4}.trial-pronunciation-video summary{padding:9px 0;color:#3975a2;cursor:pointer;font-size:9px;font-weight:850}.trial-pronunciation-video video{width:100%;max-height:160px;border-radius:10px;background:#eaf3f8}.trial-teacher-round{margin:13px 0;padding:12px;border-radius:12px;background:#eef6fb}.trial-teacher-round>span{display:block;margin-bottom:8px;color:#56768f;font-size:9px;font-weight:850}.trial-teacher-round>div{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.trial-teacher-round button.is-selected{color:#fff;border-color:var(--trial-navy);background:var(--trial-navy)}.trial-feedback-questions{margin-top:14px;display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.trial-feedback-questions section{padding:15px;border:1px solid #cfe0ec;border-radius:16px;background:#fff}.trial-feedback-questions section>strong{color:var(--trial-navy);font-size:12px}.trial-feedback-questions section>div{margin-top:10px;display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.trial-feedback-questions button{padding:9px;border:1px solid #d4e2ec;border-radius:10px;color:#4f6e85;background:#f9fcfe;font-size:10px}.trial-feedback-questions button.is-selected{color:#fff;border-color:var(--trial-navy);background:var(--trial-navy)}
@media(max-width:1100px){.trial-question-cards,.trial-tone-grid,.trial-roadmap{grid-template-columns:repeat(2,1fr)}.trial-final-grid{grid-template-columns:repeat(3,1fr)}.trial-teacher-grid,.trial-tone-practice{grid-template-columns:1fr}.trial-pinyin-formula{grid-template-columns:1fr 1fr}.trial-pinyin-formula>i{display:none}}
@media(max-width:700px){.trial-cover{padding:35px 24px}.trial-cover-mark{display:none}.trial-cover h1{font-size:46px}.trial-heading>b{font-size:38px}.trial-question-cards,.trial-sound-grid,.trial-tone-grid,.trial-dialogue-card,.trial-summary-grid,.trial-roadmap,.trial-rating,.trial-feedback-questions{grid-template-columns:1fr}.trial-finals-strip{grid-template-columns:repeat(4,1fr)}.trial-final-grid{grid-template-columns:repeat(2,1fr)}.trial-phrase-stage>strong{font-size:68px}.trial-audio-bar{grid-template-columns:1fr}.trial-homework-list li{grid-template-columns:72px 1fr}.trial-goodbye{align-items:flex-start;flex-direction:column}}

/* MAIN-SITE VISUAL ALIGNMENT + RESTORED TRIAL LESSON */
:root{
  --ink:#173149;
  --ink-2:#314d64;
  --muted:#5c7182;
  --paper:#f6f9fd;
  --surface:#fff;
  --surface-2:#f7fafc;
  --line:#d7e2e9;
  --line-strong:#bfd0dc;
  --wine:#246fce;
  --wine-deep:#1557a6;
  --wine-soft:#e8f2ff;
  --blue:#246fce;
  --blue-soft:#edf5fc;
  --sage:#21856d;
  --sage-soft:#e5f5ef;
  --gold:#c89247;
  --shadow-sm:0 16px 44px rgba(25,68,98,.07);
  --shadow-md:0 24px 70px rgba(25,68,98,.12);
  --shadow-lg:0 32px 90px rgba(25,68,98,.16);
}
body{font-family:Inter,"Noto Sans SC","PingFang SC","Microsoft YaHei",system-ui,sans-serif;background:var(--paper)}
.app-topbar{height:78px;padding:0 clamp(22px,4vw,64px);border-bottom-color:var(--line);background:rgba(255,255,255,.94)}
.brand-symbol.brand-logo{width:48px;height:48px;padding:0;object-fit:contain;border-radius:14px;background:#fff;box-shadow:none}
.brand-copy strong{font-size:15px}.brand-copy small{color:var(--muted);font-size:10px}
.button-primary,.primary-button{background:var(--wine);box-shadow:0 12px 28px rgba(36,111,206,.24)}
.button-primary:hover,.primary-button:hover{background:var(--wine-deep);box-shadow:0 16px 34px rgba(36,111,206,.28)}
.dashboard-hero{border-color:#dce7ef;background:radial-gradient(circle at 85% 20%,rgba(47,191,176,.14),transparent 30%),linear-gradient(135deg,#fff,#f2f8fd)}
.dashboard-hero:before{background:radial-gradient(circle,rgba(36,111,206,.12),transparent 70%)}
.hero-copy h1 em{color:var(--wine)}
.join-card{background:linear-gradient(145deg,#173149,#0f2233)}
.collapsible-workspace{padding:0;overflow:hidden}
.collapsible-workspace>summary{padding:28px;cursor:pointer;list-style:none}.collapsible-workspace>summary::-webkit-details-marker{display:none}
.collapsible-workspace .room-list{padding:0 28px 28px;margin-top:0}.collapse-label{padding:7px 11px;border-radius:999px;color:var(--wine);background:var(--wine-soft);font-size:10px;font-weight:850}
.collapsible-workspace[open] .collapse-label:before{content:"收起 · "}.collapsible-workspace:not([open]) .collapse-label:before{content:""}
.dashboard-guidance-card p{color:var(--muted);font-size:14px;line-height:1.8}.dashboard-guidance-card .button{margin-top:12px}

.teacher-profile-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:22px;align-items:start}
.teacher-profile-form{padding:32px}.teacher-profile-fields{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin-bottom:24px}.teacher-profile-fields label{display:grid;gap:8px;color:var(--ink);font-size:12px;font-weight:800}.teacher-profile-fields input,.teacher-profile-fields textarea{width:100%;padding:13px 14px;border:1px solid var(--line-strong);border-radius:12px;background:#fff;outline:0}.teacher-profile-fields input:focus,.teacher-profile-fields textarea:focus{border-color:var(--wine);box-shadow:0 0 0 4px var(--wine-soft)}.teacher-profile-wide{grid-column:1/-1}.teacher-image-field small{color:var(--muted);font-size:10px;font-weight:500}.teacher-profile-preview{padding:28px;border-radius:25px;color:#fff;background:linear-gradient(145deg,#173f67,#1557a6);box-shadow:var(--shadow-md)}.teacher-profile-preview>span{color:#a9d8f4;font-size:10px;font-weight:900;letter-spacing:.16em}.teacher-profile-preview>img{width:100%;height:260px;margin:16px 0 22px;border-radius:18px;object-fit:cover;background:#edf5fc}.teacher-profile-preview h2{margin:0;font-size:29px}.teacher-profile-preview .trial-english{display:block!important;color:#d7eaf6}.teacher-profile-preview dl{display:grid;gap:10px}.teacher-profile-preview dl div{padding-top:10px;display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.17)}.teacher-profile-preview dt{color:#a9d8f4}.teacher-profile-preview dd{margin:0;font-weight:800}

.classroom-page,.classroom-root,.stage-shell,.collab-panel{background:#edf2f6}.classroom-topline{border-bottom-color:var(--line);background:rgba(255,255,255,.96)}.studio-rail{border-right-color:var(--line);background:#f8fbfd}.section-nav button.is-active span{border-color:var(--wine);background:var(--wine)}
.course-vocabulary-toggle{width:100%;margin-bottom:12px;padding:9px;display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:8px;border:1px solid var(--line);border-radius:12px;background:#fff;text-align:left}.course-vocabulary-toggle>span{width:28px;height:28px;display:grid;place-items:center;border-radius:9px;color:#fff;background:var(--wine);font-weight:900}.course-vocabulary-toggle>b{font-size:11px}.course-vocabulary-toggle>small{color:var(--muted);font-size:10px}.course-vocabulary-drawer{width:360px;position:fixed;z-index:75;left:242px;top:74px;bottom:0;padding:22px;overflow:auto;border-right:1px solid var(--line);background:rgba(255,255,255,.98);box-shadow:22px 0 50px rgba(25,68,98,.13);transform:translateX(-115%);opacity:0;pointer-events:none;transition:.3s var(--ease)}.course-vocabulary-open .course-vocabulary-drawer{transform:none;opacity:1;pointer-events:auto}.course-vocabulary-drawer header{display:flex;justify-content:space-between;gap:16px;padding-bottom:14px;border-bottom:1px solid var(--line)}.course-vocabulary-drawer header span{color:var(--wine);font-size:9px;font-weight:900;letter-spacing:.16em}.course-vocabulary-drawer h2{margin:5px 0 0}.course-vocabulary-drawer header button{width:34px;height:34px;border:1px solid var(--line);border-radius:10px;background:#fff}.course-vocabulary-drawer>p{color:var(--muted);font-size:11px;line-height:1.7}.course-vocabulary-list{display:grid;grid-template-columns:1fr 1fr;gap:9px}.course-vocabulary-list article,.course-vocabulary-list a{padding:13px;border:1px solid var(--line);border-radius:13px;background:var(--surface-2)}.course-vocabulary-list strong,.course-vocabulary-list span,.course-vocabulary-list small{display:block}.course-vocabulary-list strong{font-size:21px}.course-vocabulary-list span{margin-top:3px;color:var(--wine);font-size:12px}.course-vocabulary-list small{margin-top:5px;color:var(--muted)}

.trial-screen{--trial-navy:#173f67;--trial-blue:#246fce;--trial-pale:#edf5fc;--trial-red:#d34f55;font-size:18px;line-height:1.65}
.trial-screen p,.trial-screen small{line-height:1.55}.trial-heading{margin-bottom:24px;border-bottom-color:var(--trial-navy)}.trial-heading h2{font-size:clamp(36px,3.7vw,56px)}.trial-heading p{font-size:18px}.trial-heading>b{font-size:62px}.trial-cover-tags span{font-size:13px}.trial-cover-tags small{display:block;margin-top:3px;color:#7191aa;font-weight:500}.trial-profile-card h3{font-size:44px}.trial-profile-card>span{display:flex;align-items:baseline;gap:10px}.trial-profile-card>span small{color:#d7eaf6;font-size:13px}.teacher-photo img{object-fit:cover}.teacher-introduction{padding:12px 0;border-top:1px solid rgba(255,255,255,.16);font-size:15px}.trial-profile-edit{margin-top:18px;padding:11px 13px;border:1px solid rgba(255,255,255,.23);border-radius:11px;text-align:center;font-size:12px;font-weight:850}
.trial-goal-layout{display:grid;grid-template-columns:minmax(300px,.68fr) minmax(0,1.32fr);gap:18px}.trial-goal-visual{min-height:0;padding:18px;display:flex;flex-direction:column;border:1px solid #cfe0ec;border-radius:20px;background:#fff}.trial-goal-visual img{min-height:260px;flex:1;object-fit:cover;border-radius:14px}.trial-goal-visual strong{margin-top:14px;color:var(--trial-navy);font-size:19px}.trial-goal-visual small{margin-top:5px;color:#6c8396}.trial-goal-stack{gap:10px}.trial-goal-question{padding:13px}.trial-question-cards.compact{gap:8px}.trial-question-cards.compact button{min-height:84px}.trial-question-cards button>span{font-size:19px}
.trial-system-intro{display:grid;grid-template-columns:1.1fr .9fr;gap:24px}.trial-nihao-poster{min-height:480px;padding:28px;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto 1fr;align-items:center;border:1px solid #cfe0ec;border-radius:24px;background:#fff}.trial-nihao-poster img:first-child{width:100%;grid-column:1/-1;max-height:140px;object-fit:contain}.trial-nihao-poster strong{font-family:serif;font-size:112px;text-align:center}.trial-nihao-poster img:last-child{width:100%;height:270px;object-fit:contain}.trial-system-cards{display:grid;gap:12px}.trial-system-cards article{padding:24px;display:grid;grid-template-columns:46px 1fr;column-gap:14px;border:1px solid #cfe0ec;border-radius:18px;background:#fff}.trial-system-cards span{width:44px;height:44px;grid-row:1/3;display:grid;place-items:center;border-radius:13px;color:#fff;background:var(--trial-blue);font-size:11px;font-weight:900}.trial-system-cards strong{font-size:21px}.trial-system-cards small{color:#6d8497}
.trial-pinyin-vs-characters{min-height:430px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:25px}.trial-pinyin-vs-characters article{height:100%;padding:34px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #cfe0ec;border-radius:24px;background:#fff;text-align:center}.trial-pinyin-vs-characters article>span{color:#5a7890;font-weight:800}.trial-pinyin-vs-characters article>span small{display:block}.trial-pinyin-vs-characters img{width:86%;height:150px;margin:28px 0;object-fit:contain}.trial-pinyin-vs-characters article>strong{margin:5px 0;font-family:serif;font-size:112px}.trial-pinyin-vs-characters h3{margin:0;color:var(--trial-navy);font-size:28px}.trial-pinyin-vs-characters h3 small{display:block;color:#71899c;font-size:14px}.trial-pinyin-vs-characters>i{color:var(--trial-blue);font-size:46px;font-style:normal}
.trial-syllable-board{display:grid;grid-template-columns:1fr 1fr;gap:18px}.trial-syllable-board>article{padding:25px;border:1px solid #cfe0ec;border-radius:22px;background:#fff}.syllable-parts{display:grid;grid-template-columns:1fr 1.25fr .8fr;gap:9px}.syllable-parts>span{min-height:155px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:16px;color:#fff}.syllable-parts small{font-size:13px;text-align:center}.syllable-parts b{font-size:68px;line-height:1}.part-initial{background:#2f78bb}.part-final{background:#ecaa18}.part-tone{background:#d34f55}.syllable-result{margin-top:15px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;text-align:center}.syllable-result span{color:var(--trial-blue);font-size:36px}.syllable-result strong{font-family:serif;font-size:90px}.syllable-result small{color:#687f92}.trial-character-link{margin-top:18px;padding:17px 22px;display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:18px;border-left:5px solid var(--trial-blue);border-radius:5px 16px 16px 5px;background:var(--trial-pale)}.trial-character-link>span{font-size:27px}.trial-character-link>strong{font-family:serif;font-size:54px}.trial-character-link p,.trial-character-link small{margin:0}.trial-character-link small{grid-column:3;color:#60798d}
.trial-sound-grid .micro-practice{position:relative;min-height:230px}.trial-sound-grid .micro-practice img{height:112px}.guess-number{position:absolute;top:11px;right:13px;color:#8dadc4;font-size:11px}.trial-sound-grid strong{font-size:32px}
.trial-mouth-overview{display:grid;grid-template-columns:repeat(7,1fr);gap:10px}.trial-mouth-overview article{min-width:0;padding:13px;display:flex;flex-direction:column;align-items:center;border:1px solid #cfe0ec;border-radius:17px;background:#fff;text-align:center}.trial-mouth-overview strong{color:var(--trial-blue);font-size:52px;line-height:1}.trial-mouth-overview img{width:100%;height:100px;margin:12px 0;object-fit:contain}.trial-mouth-overview span{color:var(--trial-navy);font-size:13px;font-weight:800}.trial-mouth-overview small{margin-top:6px;color:#6d8497;font-size:11px}
.trial-final-focus{display:grid;grid-template-columns:.72fr 1fr 1fr;gap:15px}.trial-final-letter,.trial-final-focus figure{min-height:350px;margin:0;padding:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #cfe0ec;border-radius:20px;background:#fff;text-align:center}.trial-final-letter>strong{color:var(--trial-blue);font-size:92px;line-height:1}.trial-final-letter img{width:130px;height:100px;margin:16px 0;object-fit:contain}.trial-final-letter p{margin:0;color:var(--trial-navy);font-weight:800}.trial-final-letter small{margin-top:6px;color:#688195}.trial-final-focus figure img{width:100%;height:250px;object-fit:contain}.trial-final-focus figcaption{margin-top:10px;color:var(--trial-navy);font-weight:850}.trial-final-focus figcaption small{display:block;color:#6d8497;font-weight:500}.trial-media-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:15px}.trial-media-pair>div{padding:16px;border:1px solid #cfe0ec;border-radius:16px;background:#fff}.trial-media-pair strong,.trial-media-pair small{display:block}.trial-media-pair small{color:#6b8295}.trial-media-pair audio,.trial-media-pair video{width:100%;margin-top:10px}.trial-media-pair video{max-height:190px;border-radius:12px;background:#eaf3f8}
.trial-tone-chart-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.tone-curve-card{padding:18px;border:1px solid #cfe0ec;border-radius:20px;background:#fff}.tone-curve-card>span,.tone-curve-card>strong,.tone-curve-card>small{display:block;text-align:center}.tone-curve-card>span{margin-top:10px;color:var(--trial-navy);font-weight:850}.tone-curve-card>strong{font-size:28px}.tone-curve-card>small{color:#6d8497}.five-line-chart{height:180px;position:relative;padding:12px 14px 12px 28px}.five-line-chart>i{height:1px;position:absolute;left:28px;right:14px;background:#718393}.five-line-chart>i:nth-child(1){top:12px}.five-line-chart>i:nth-child(2){top:48px}.five-line-chart>i:nth-child(3){top:84px}.five-line-chart>i:nth-child(4){top:120px}.five-line-chart>i:nth-child(5){top:156px}.five-line-chart svg{width:100%;height:100%;position:relative;z-index:2;overflow:visible}.tone-path{fill:none;stroke:var(--tone-color,#246fce);stroke-width:10;stroke-linecap:round;stroke-linejoin:round}.five-line-chart ol{margin:0;padding:0;position:absolute;left:0;top:0;bottom:0;display:flex;flex-direction:column;justify-content:space-between;list-style:none;color:#405a6f;font-size:12px;font-weight:900}.tone-1{--tone-color:#d92228}.tone-2{--tone-color:#08a94f}.tone-3{--tone-color:#10a5e2}.tone-4{--tone-color:#7134a7}
.trial-tone-detail{--tone-color:#d92228;display:grid;grid-template-columns:1fr .55fr 1.15fr;align-items:center;gap:18px}.trial-tone-detail.tone-detail-2{--tone-color:#08a94f}.trial-tone-detail.tone-detail-3{--tone-color:#10a5e2}.trial-tone-detail.tone-detail-4{--tone-color:#7134a7}.tone-detail-chart,.tone-detail-word,.tone-detail-copy{min-height:360px;padding:22px;border:1px solid #cfe0ec;border-radius:20px;background:#fff}.five-line-chart.large{height:300px;margin-top:10px}.five-line-chart.large>i:nth-child(1){top:12px}.five-line-chart.large>i:nth-child(2){top:75px}.five-line-chart.large>i:nth-child(3){top:138px}.five-line-chart.large>i:nth-child(4){top:201px}.five-line-chart.large>i:nth-child(5){top:264px}.tone-detail-word{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.tone-detail-word>span{color:var(--tone-color);font-weight:900}.tone-detail-word>span small{display:block}.tone-detail-word>b{margin-top:14px;font-size:56px}.tone-detail-word>strong{color:#e8a900;font-family:serif;font-size:86px}.tone-detail-word>small{color:#5e79ac}.tone-detail-copy{display:flex;flex-direction:column;justify-content:center}.tone-detail-copy h3{margin:0;color:var(--trial-navy);font-size:30px}.tone-detail-copy p{font-size:20px}.tone-detail-copy>small{color:#6b8295}.tone-sample-row{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:14px}.tone-audio-trigger{min-height:72px;padding:9px 13px;display:flex;align-items:center;justify-content:center;gap:10px;border:1px solid #cfe0ec;border-radius:13px;background:#fff}.tone-audio-trigger:hover,.tone-audio-trigger.is-playing{color:#fff;border-color:var(--trial-blue);background:var(--trial-blue)}.tone-audio-trigger img{width:54px;height:50px;object-fit:contain}.tone-audio-trigger strong{font-size:29px}.tone-audio-trigger>span{margin-left:auto;font-size:13px}.tone-hidden-audio{display:none}
.trial-tone-practice-table{border:1px solid #cfe0ec;border-radius:18px;background:#fff;overflow:hidden}.tone-practice-head,.tone-practice-row{display:grid;grid-template-columns:1.05fr repeat(4,1fr);align-items:stretch}.tone-practice-head>*{padding:10px;text-align:center}.tone-practice-head b:nth-child(2){color:#d92228}.tone-practice-head b:nth-child(3){color:#08a94f}.tone-practice-head b:nth-child(4){color:#10a5e2}.tone-practice-head b:nth-child(5){color:#7134a7}.tone-practice-head small{font-weight:500}.tone-practice-row{border-top:1px solid #e0e9ef}.tone-practice-row>span{padding:7px 13px;display:flex;align-items:center;gap:12px}.tone-practice-row>span img{width:55px;height:44px;object-fit:contain}.tone-practice-row>span strong{font-size:26px}.tone-practice-row .tone-audio-trigger{min-height:58px;border:0;border-left:1px solid #e0e9ef;border-radius:0}.tone-practice-row .tone-audio-trigger strong{font-size:27px}.trial-recording-prompt{margin-top:13px;padding:12px 15px;display:grid;grid-template-columns:48px 1fr minmax(250px,420px);align-items:center;gap:14px;border:1px solid #cfe0ec;border-radius:15px;background:#fff}.trial-recording-prompt img{width:45px;height:45px;object-fit:contain}.trial-recording-prompt strong,.trial-recording-prompt small{display:block}.trial-recording-prompt small{color:#6b8295}.trial-recording-prompt audio{width:100%}
.trial-greeting-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:20px}.trial-greeting-layout>img{width:100%;height:420px;object-fit:contain}.trial-language-lines{display:grid;gap:13px}.trial-language-lines article{padding:24px;display:grid;grid-template-columns:1fr minmax(210px,320px);align-items:center;gap:20px;border:1px solid #cfe0ec;border-radius:18px;background:#fff}.trial-language-lines span{font-size:25px}.trial-language-lines strong{display:block;font-family:serif;font-size:60px}.trial-language-lines strong i,.trial-language-lines small i{font-style:normal}.trial-language-lines small{display:block}.trial-language-lines audio{width:100%}.word-blue{color:#1677c7}.word-red{color:#d8232a}.word-green{color:#09a952}.word-gold{color:#e0a400}.word-purple{color:#783da3}.word-black{color:#1b2731}
.trial-colored-dialogue{display:grid;gap:15px}.trial-colored-dialogue article{padding:22px;display:grid;grid-template-columns:58px 1fr;align-items:center;gap:18px;border:1px solid #cfe0ec;border-radius:20px;background:#fff}.trial-colored-dialogue article>span{width:54px;height:54px;display:grid;place-items:center;border-radius:16px;color:#fff;background:var(--trial-blue);font-weight:900}.colored-sentence{display:flex;align-items:flex-end;flex-wrap:wrap;gap:8px}.colored-sentence>b{font-size:48px}.colored-sentence small{display:block;margin-top:3px;font-size:11px;text-align:center}.trial-achievement{display:grid;grid-template-columns:300px 1fr;gap:18px}.achievement-badge{min-height:390px;padding:30px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:24px;color:#fff;background:linear-gradient(145deg,#173f67,#246fce);text-align:center}.achievement-badge>span{width:95px;height:95px;display:grid;place-items:center;border:2px solid rgba(255,255,255,.5);border-radius:50%;font-size:48px}.achievement-badge strong{margin-top:20px;font-size:20px}.achievement-badge small{margin-top:7px;color:#d9ebf8}
.trial-summary-prompt{margin-bottom:14px;padding:15px 22px;display:grid;grid-template-columns:120px 1fr;align-items:center;gap:20px;border:1px solid #cfe0ec;border-radius:18px;background:#fff}.trial-summary-prompt img{width:115px;height:100px;object-fit:contain}.trial-summary-prompt span{font-size:20px}.trial-summary-prompt strong{display:block;font-size:34px}.trial-summary-prompt small{color:#6c8396}.trial-summary-grid article small{grid-column:2;margin-top:5px;color:#6d8497}
.trial-homework-list{grid-template-columns:repeat(3,1fr)}.trial-homework-list li{grid-template-columns:1fr}.trial-homework-list li>span{min-height:44px}.trial-homework-list small{color:#6d8497}.trial-homework-resources{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:15px}.trial-homework-resources figure{margin:0;padding:12px;border:1px solid #cfe0ec;border-radius:16px;background:#fff}.trial-homework-resources img{width:100%;height:175px;object-fit:contain}.trial-homework-resources figcaption{margin-top:7px;color:var(--trial-navy);font-weight:850}.trial-homework-resources figcaption small{display:block;color:#6d8497;font-weight:500}

@media(max-width:1250px){.course-vocabulary-drawer{left:210px}.trial-mouth-overview{grid-template-columns:repeat(4,1fr)}.trial-goal-layout,.trial-system-intro,.trial-final-focus,.trial-tone-detail{grid-template-columns:1fr}.trial-final-focus{grid-template-columns:repeat(3,1fr)}.trial-tone-chart-grid{grid-template-columns:repeat(2,1fr)}.tone-detail-chart,.tone-detail-word,.tone-detail-copy{min-height:auto}.trial-syllable-board{grid-template-columns:1fr}}
@media(max-width:980px){.course-vocabulary-drawer{left:180px}.teacher-profile-layout{grid-template-columns:1fr}.trial-goal-layout,.trial-system-intro,.trial-greeting-layout,.trial-achievement{grid-template-columns:1fr}.trial-language-lines article{grid-template-columns:1fr}.trial-final-focus{grid-template-columns:1fr 1fr}.trial-homework-list{grid-template-columns:1fr}.trial-homework-resources{grid-template-columns:1fr 1fr}.trial-mouth-overview{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.teacher-profile-fields{grid-template-columns:1fr}.teacher-profile-wide{grid-column:auto}.course-vocabulary-drawer{left:0;top:64px;width:min(92vw,380px)}.trial-screen{font-size:16px}.trial-heading h2{font-size:33px}.trial-system-intro,.trial-pinyin-vs-characters,.trial-syllable-board,.trial-final-focus,.trial-media-pair,.trial-tone-chart-grid,.trial-tone-detail,.trial-homework-resources{grid-template-columns:1fr}.trial-pinyin-vs-characters>i{transform:rotate(90deg);text-align:center}.trial-mouth-overview{grid-template-columns:repeat(2,1fr)}.syllable-parts{grid-template-columns:1fr 1fr 1fr}.syllable-parts b{font-size:48px}.syllable-result strong{font-size:68px}.trial-character-link{grid-template-columns:auto 1fr}.trial-character-link p,.trial-character-link small{grid-column:1/-1}.tone-sample-row{grid-template-columns:repeat(2,1fr)}.trial-tone-practice-table{overflow-x:auto}.tone-practice-head,.tone-practice-row{min-width:650px}.trial-recording-prompt{grid-template-columns:44px 1fr}.trial-recording-prompt audio{grid-column:1/-1}.colored-sentence>b{font-size:36px}.trial-homework-list{grid-template-columns:1fr}}

/* PPT-faithful trial lesson pages */
.ppt-source-page{width:100%;max-height:calc(100vh - 178px);display:block;object-fit:contain;border:1px solid #dbe4eb;border-radius:14px;background:#fff;box-shadow:0 18px 44px rgba(23,49,73,.08)}
.ppt-source-page.compact{max-height:58vh}.source-caption{margin-top:12px;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-radius:12px;color:#fff;background:#173f67}.source-caption strong{font-size:17px}.source-caption small{color:#dcebf6;text-align:right}
.tone-example-audios{margin-top:12px;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.tone-example-audios>div{padding:10px 12px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:2px 9px;border:1px solid #cfe0ec;border-radius:13px;background:#fff}.tone-example-audios strong{font-size:22px}.tone-example-audios small{color:#637b8f}.tone-example-audios audio{width:100%;height:31px;grid-column:1/-1}.trial-dialogue-audios{display:grid;grid-template-columns:1fr 1fr;gap:12px}.trial-dialogue-audios .trial-audio-bar{grid-template-columns:1fr;margin-top:14px}
.sound-guess-card .guess-english{font-size:30px;text-transform:none}.sound-guess-card .answer-note{width:100%;margin:8px 0 0;padding:9px 11px;display:none;flex-direction:column;border-radius:10px;background:#edf5fc}.sound-guess-card .answer-note b{font-size:24px}.sound-guess-card .answer-note .trial-pinyin{font-size:15px}.sound-guess-card.is-revealed .answer-note{display:flex}
.mouth-shape{width:72px;height:42px;margin:-4px 0 8px;display:block;position:relative;border:4px solid #d82128}.mouth-shape-circle-large{height:64px;border-radius:50%}.mouth-shape-circle-small{width:46px;height:46px;border-radius:50%}.mouth-shape-oval-wide{height:34px;border-radius:50%}.mouth-shape-line-wide{height:0;border-width:3px 0 0}.mouth-shape-oval-tall{width:42px;height:64px;border-radius:50%}.mouth-shape-circle-line{width:48px;height:48px;border-radius:50%}.mouth-shape-circle-line:after{content:"";position:absolute;left:5px;right:5px;top:50%;border-top:3px solid #d82128}.mouth-shape-none{visibility:hidden}.trial-mouth-overview .final-example{min-height:45px;color:#111;font-family:Georgia,serif;font-size:15px}
.trial-link-cards{margin-top:14px;display:grid;grid-template-columns:1fr 1fr;gap:12px}.trial-link-cards a,.trial-primary-link{padding:16px 18px;border:1px solid #bcd2e2;border-radius:14px;color:#173f67;background:#fff;text-decoration:none}.trial-link-cards a{display:flex;flex-direction:column}.trial-link-cards strong{font-size:20px}.trial-link-cards small{color:#5c7182}.trial-link-cards span{margin-top:8px;color:#246fce;font-weight:850}.trial-primary-link{margin:14px auto 0;display:block;width:min(620px,100%);color:#fff;background:#246fce;text-align:center;font-size:19px;font-weight:900}.trial-primary-link small{display:block;color:#dcefff}
.english-primary .trial-heading span,.english-primary .source-caption strong{letter-spacing:.03em}.english-primary .trial-heading h2{font-family:Georgia,"Times New Roman",serif}.teacher-cover-gallery{margin-top:12px;padding:12px;display:grid;grid-template-columns:repeat(6,1fr);gap:9px;border:1px solid #d8e4ec;border-radius:15px;background:#fff}.teacher-cover-gallery.compact{grid-template-columns:repeat(8,1fr)}.teacher-cover-gallery figure{min-width:0;margin:0}.teacher-cover-gallery img{width:100%;height:92px;object-fit:contain;background:#f7fafc}.teacher-cover-gallery figcaption{margin-top:5px;color:#4e687d;font-size:9px;line-height:1.3;text-align:center}
.feedback-block{margin-top:13px;padding:15px;border:1px solid #cfe0ec;border-radius:16px;background:#fff}.feedback-block>strong,.feedback-block>small{display:block}.feedback-block>strong{color:#173f67;font-size:17px}.feedback-block>small{color:#667f92}.feedback-block textarea{width:100%;min-height:100px;margin-top:10px;padding:12px;border:1px solid #c5d6e2;border-radius:11px}.trial-feedback-questions section>small{display:block;color:#6a8194}.trial-feedback-questions button b,.trial-feedback-questions button small{display:block}.trial-feedback-questions button small{margin-top:3px;color:inherit}
.material-cover-editor{margin:10px 0 24px;padding:22px;border:1px solid var(--line);border-radius:18px;background:#f7fafc}.material-cover-editor>div:first-child{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.material-cover-editor>div:first-child>span{color:var(--ink);font-size:18px;font-weight:900}.material-cover-editor>div:first-child>small{color:var(--wine);font-weight:800}.material-cover-editor>p{color:var(--muted);font-size:12px}.material-cover-fields{display:grid;grid-template-columns:repeat(4,1fr);gap:11px}.material-cover-fields label{padding:10px;display:flex;min-width:0;flex-direction:column;border:1px solid var(--line);border-radius:13px;background:#fff}.material-cover-fields img{width:100%;height:115px;object-fit:contain}.material-cover-fields strong{min-height:36px;margin-top:7px;color:var(--ink);font-size:10px}.material-cover-fields input{width:100%;margin-top:6px;font-size:9px}.material-cover-fields small{color:var(--muted);font-size:9px}
@media(max-width:1100px){.tone-example-audios{grid-template-columns:repeat(2,1fr)}.teacher-cover-gallery,.teacher-cover-gallery.compact{grid-template-columns:repeat(4,1fr)}.material-cover-fields{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.ppt-source-page,.ppt-source-page.compact{max-height:none}.tone-example-audios,.trial-dialogue-audios,.trial-link-cards{grid-template-columns:1fr}.teacher-cover-gallery,.teacher-cover-gallery.compact{grid-template-columns:repeat(2,1fr)}.material-cover-fields{grid-template-columns:1fr 1fr}.source-caption{align-items:flex-start;flex-direction:column}.source-caption small{text-align:left}}

/* English-first lesson content; the navigation remains Chinese. */
.english-first-heading h2{max-width:980px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(30px,3.25vw,50px);letter-spacing:-.025em;line-height:1.08}.english-first-heading .trial-english-main{max-width:900px;margin-top:9px;color:#304f68;font-size:18px;font-weight:650}.trial-chinese-translation{display:block;margin-top:5px;color:#718596;font-size:12px;font-weight:600;letter-spacing:0}.trial-cover-copy>.trial-chinese-translation{margin-top:15px;color:#667f92;font-size:16px}.trial-subheading .trial-chinese-translation,.trial-question-cards .trial-chinese-translation{color:#74899a;font-size:11px}.trial-subheading strong{font-size:17px}.trial-question-cards.compact button strong{font-size:15px}
.trial-goal-visual img{width:100%!important;height:auto!important;min-height:0!important;max-height:520px!important;flex:0 0 auto!important;object-fit:contain!important;background:#f7fafc}
.trial-teacher-grid{grid-template-columns:minmax(680px,1.55fr) minmax(300px,.65fr);align-items:start}.teacher-photo{min-height:0;display:block;padding:0}.teacher-photo img{width:100%!important;height:auto!important;max-height:none!important;aspect-ratio:16/9;object-fit:contain!important;object-position:center!important;background:#f7fafc}.trial-goal-layout.no-visual{display:block}.trial-goal-layout.no-visual .trial-goal-stack{width:100%}
@media(max-width:1250px){.trial-teacher-grid{grid-template-columns:minmax(560px,1.4fr) minmax(280px,.6fr)}}
@media(max-width:980px){.trial-teacher-grid{grid-template-columns:1fr}.teacher-photo img{aspect-ratio:auto}.teacher-photo{width:100%}}
.homework-resource-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.homework-resource-grid>article{min-width:0;padding:18px;display:flex;flex-direction:column;border:1px solid #cfdee8;border-radius:18px;background:#fff}.homework-resource-title{display:flex;align-items:center;gap:12px}.homework-resource-title>span{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;color:#fff;background:#246fce;font-size:10px;font-weight:900}.homework-resource-title strong,.homework-resource-title small{display:block}.homework-resource-title strong{color:#173f67;font-family:Georgia,"Times New Roman",serif;font-size:25px}.homework-resource-title small{color:#74899a;font-size:11px}.homework-resource-grid>article>img{width:100%;height:37vh;min-height:260px;margin:14px 0;object-fit:contain;border-radius:12px;background:#f7fafc}.homework-resource-grid a{padding:14px 16px;display:flex;flex-direction:column;border-radius:13px;color:#fff;background:#246fce;text-decoration:none}.homework-resource-grid a:hover{background:#1557a6}.homework-resource-grid a b{font-size:17px}.homework-resource-grid a small{color:#dbeeff}.homework-resource-grid a span{margin-top:6px;color:#b8daf4;font-size:10px}
@media(max-width:800px){.homework-resource-grid{grid-template-columns:1fr}.homework-resource-grid>article>img{height:auto;min-height:0}}

/* Teacher-only speaker notes from the source trial PPT */
.teacher-cheat-sheet{margin:26px 0 24px;border:1px solid #ead9a9;border-left:5px solid #d59b27;border-radius:16px;background:linear-gradient(135deg,#fffdf5,#fff8df);box-shadow:0 12px 28px rgba(106,78,22,.08);overflow:visible}
.teacher-cheat-sheet summary{display:flex;align-items:center;gap:18px;padding:18px 20px;cursor:pointer;list-style:none}.teacher-cheat-sheet summary::-webkit-details-marker{display:none}.teacher-cheat-sheet summary:focus-visible{outline:3px solid rgba(181,122,30,.35);outline-offset:3px;border-radius:12px}.teacher-tip-heading{display:flex;align-items:center;gap:10px}.teacher-tip-heading>span{padding:5px 8px;border-radius:7px;color:#fff;background:#9b6420;font-size:9px;font-weight:900;letter-spacing:.1em}.teacher-tip-heading strong{color:#523b18;font-size:16px}.teacher-cheat-sheet summary small{margin-left:auto;color:#8a6b32;font-size:10px;font-weight:750}.teacher-tip-toggle{min-width:48px;color:#8a6b32;font-size:10px;font-weight:850;text-align:right}.teacher-tip-toggle::before{content:"收起"}.teacher-cheat-sheet:not([open]) .teacher-tip-toggle::before{content:"展开"}.teacher-cheat-sheet-body{padding:0 20px 18px;border-top:1px solid rgba(177,132,43,.18)}.teacher-cheat-sheet ol{display:grid;gap:9px;margin:13px 0 0;padding-left:23px}.teacher-cheat-sheet li{padding-left:4px;color:#493c28;font-size:13px;line-height:1.75;white-space:normal;overflow-wrap:anywhere}.teacher-cheat-sheet li::marker{color:#b57a1e;font-weight:900}
@media(max-width:700px){.teacher-cheat-sheet summary{align-items:flex-start;flex-wrap:wrap;gap:8px;padding:16px}.teacher-cheat-sheet summary small{width:100%;margin-left:0}.teacher-tip-toggle{margin-left:auto}.teacher-cheat-sheet-body{padding:0 16px 16px}.teacher-cheat-sheet li{font-size:12px}}

/* Synchronized, teacher-positioned enlargement of the tone contour chart. */
.tone-contour-teacher-tools{margin-bottom:12px;padding:10px 13px;display:flex;align-items:center;gap:12px;border:1px solid #cfdfeb;border-radius:13px;background:#f4f9fc}.tone-contour-teacher-tools button{padding:9px 13px;border:1px solid #2f78bb;border-radius:10px;color:#fff;background:#2f78bb;font-weight:850;cursor:pointer}.tone-contour-teacher-tools button.is-active{border-color:#173f67;background:#173f67}.tone-contour-teacher-tools small{color:#60798d}.tone-contour-spotlight{position:absolute;z-index:20;min-width:260px;min-height:220px;display:grid;grid-template-rows:auto 1fr;border:2px solid #2f78bb;border-radius:18px;background:#fff;box-shadow:0 24px 70px rgba(18,47,73,.32);overflow:hidden;touch-action:none}.tone-contour-spotlight[hidden]{display:none!important}.tone-contour-spotlight>header{min-height:58px;padding:10px 12px 10px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:#fff;background:#173f67;user-select:none}.tone-contour-spotlight>header[data-stage-visual-drag]{cursor:move}.tone-contour-spotlight>header span,.tone-contour-spotlight>header strong{display:block}.tone-contour-spotlight>header span{color:#a9cbe3;font-size:9px;font-weight:900;letter-spacing:.12em}.tone-contour-spotlight>header strong{margin-top:3px;font-size:16px}.tone-contour-window-actions{display:flex;gap:6px}.tone-contour-window-actions button{padding:6px 9px;border:1px solid rgba(255,255,255,.36);border-radius:8px;color:#fff;background:rgba(255,255,255,.08);cursor:pointer}.tone-contour-crop{width:100%;height:100%;min-height:0;display:block;background:#fff}.tone-contour-resize-handle{width:32px;height:32px;position:absolute;right:0;bottom:0;border:0;background:linear-gradient(135deg,transparent 0 43%,rgba(23,63,103,.45) 44% 51%,transparent 52% 62%,#173f67 63% 71%,transparent 72%);cursor:nwse-resize}.tone-contour-spotlight.is-dragging,.tone-contour-spotlight.is-resizing{box-shadow:0 28px 78px rgba(18,47,73,.42)}.classroom-root[data-role="student"] .tone-contour-spotlight{pointer-events:none}
@media(max-width:700px){.tone-contour-teacher-tools{align-items:flex-start;flex-direction:column}.tone-contour-spotlight{min-width:230px;min-height:190px}.tone-contour-spotlight>header strong{font-size:13px}.tone-contour-window-actions button{padding:5px 7px}}

/* V3 right-column realtime games. */
.live-status.is-waiting i{background:#c49445;box-shadow:0 0 0 5px rgba(196,148,69,.13)}
.live-status.is-offline i{background:#c0646d;box-shadow:0 0 0 5px rgba(192,100,109,.13)}
.collab-tabs{grid-template-columns:repeat(4,1fr)}
.mobile-collab-toggle{display:none;padding:8px 11px;border:1px solid var(--line);border-radius:9px;color:var(--wine);background:#fff;font-size:10px;font-weight:850;cursor:pointer}
.live-game-panel{display:none}.live-game-panel.is-active{display:block}.live-game-bolt{width:25px;height:25px;display:grid;place-items:center;border-radius:8px;background:#fff0c9;font-size:13px}.live-game-setup{display:grid;gap:9px;margin-bottom:13px}.live-game-setup label{display:grid;gap:5px;color:var(--muted);font-size:9px;font-weight:800}.live-game-setup textarea,.live-game-setup input{width:100%;padding:9px;border:1px solid var(--line);border-radius:10px;color:var(--ink);background:#fff;font:inherit;resize:vertical}.live-game-setup button,.live-game-teacher-actions button{padding:9px 10px;border:0;border-radius:9px;color:#fff;background:var(--wine);font-size:9px;font-weight:850;cursor:pointer}.live-game-stage{padding:15px;display:grid;gap:12px;border-radius:15px;background:linear-gradient(145deg,#fff8e5,#f5f9fb)}.live-game-stage>span{color:#a86b20;font-size:9px;font-weight:900;letter-spacing:.07em}.live-game-stage>strong{font-size:15px;line-height:1.55}.live-game-stage>p{margin:0;padding:9px;border-radius:9px;color:#245f4d;background:#e6f5ee;font-size:10px;font-weight:800}.live-game-winner{padding:11px;display:grid;gap:3px;border:1px solid #ead49b;border-radius:11px;background:#fff}.live-game-winner small{color:var(--muted);font-size:8px}.live-game-winner b{color:var(--wine);font-size:12px}.live-game-buzz{min-height:82px;border:0;border-radius:18px;color:#fff;background:linear-gradient(145deg,#f05d3e,#a92828);box-shadow:0 12px 25px rgba(169,40,40,.25);font-size:24px;font-weight:950;cursor:pointer}.live-game-buzz:disabled{color:#8e9698;background:#dfe4e5;box-shadow:none;cursor:not-allowed}.live-game-teacher-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.live-game-teacher-actions button:disabled{opacity:.4;cursor:not-allowed}.live-game-teacher-actions button:nth-child(2){background:#2f846b}.live-game-teacher-actions button:nth-child(3),.live-game-teacher-actions button:nth-child(4){color:var(--ink);border:1px solid var(--line);background:#fff}.live-game-scoreboard{margin-top:13px}.live-game-scoreboard header{display:flex;align-items:center;justify-content:space-between}.live-game-scoreboard header strong{font-size:10px}.live-game-scoreboard header button{border:0;color:var(--danger);background:transparent;font-size:8px;cursor:pointer}.live-game-scoreboard ol{margin:8px 0 0;padding:0;display:grid;gap:5px;list-style:none}.live-game-scoreboard li{padding:8px 10px;display:flex;align-items:center;justify-content:space-between;border-radius:9px;background:var(--surface-2);font-size:9px}.live-game-scoreboard li b{color:var(--wine);font-size:12px}.live-game-status{margin:12px 0 0;color:var(--muted);font-size:8px;line-height:1.55}
.live-game-catalog{margin:0 0 12px;display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.live-game-catalog>button{min-width:0;padding:8px 5px;display:grid;place-items:center;gap:4px;border:1px solid var(--line);border-radius:10px;color:var(--ink);background:#fff;cursor:pointer}.live-game-catalog>button>b{width:26px;height:26px;display:grid;place-items:center;border-radius:8px;color:#fff;background:#a83d48}.live-game-catalog>button span,.live-game-catalog>button strong,.live-game-catalog>button small{display:block}.live-game-catalog>button strong{font-size:8px}.live-game-catalog>button small{margin-top:2px;color:var(--muted);font-size:7px}.live-game-catalog>button.is-active{border-color:#a83d48;background:#fff4f3;box-shadow:0 0 0 2px rgba(168,61,72,.1)}.live-game-share{margin-bottom:12px;padding:10px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;border:1px solid #d4e0e8;border-radius:11px;background:#f6fafc}.live-game-share label{min-width:0;color:var(--muted);font-size:8px;font-weight:850}.live-game-share input{width:100%;margin-top:4px;padding:7px;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:8px}.live-game-share button{align-self:end;padding:8px;border:0;border-radius:8px;color:#fff;background:#246f91;font-size:8px;font-weight:850;cursor:pointer}.live-game-share small{grid-column:1/-1;color:var(--muted);font-size:7px;line-height:1.45}.live-game-option-fields{display:grid;grid-template-columns:1fr 1fr;gap:7px}.live-game-setup select{width:100%;padding:9px;border:1px solid var(--line);border-radius:10px;color:var(--ink);background:#fff;font:inherit}.live-game-answer-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.live-game-answer-grid button{min-height:50px;padding:10px;border:2px solid transparent;border-radius:11px;color:var(--ink);background:#fff;font-size:10px;font-weight:850;cursor:pointer}.live-game-answer-grid button:disabled{cursor:not-allowed}.live-game-answer-grid button.is-selected{border-color:#a83d48;background:#fff1ef}.live-game-answer-grid button.is-correct{border-color:#2f846b;background:#e6f5ee}.live-game-answer-grid button.is-wrong{border-color:#b94747;background:#fff0ee}.live-game-response-count{color:var(--muted);font-size:8px}.live-game-stage[data-game-type="choice"] .live-game-winner,.live-game-stage[data-game-type="judge"] .live-game-winner,.live-game-stage[data-game-type="choice"] .live-game-buzz,.live-game-stage[data-game-type="judge"] .live-game-buzz{display:none}.live-game-stage[data-game-type="choice"] .live-game-answer-grid,.live-game-stage[data-game-type="judge"] .live-game-answer-grid{display:grid!important}
@media(max-width:980px){.mobile-collab-toggle{display:block}.classroom-root.mobile-collab-open .collab-panel{position:fixed;z-index:120;inset:74px 10px 10px;padding:10px;display:grid;border:1px solid var(--line);border-radius:18px;background:#edf2f6;box-shadow:0 26px 80px rgba(17,43,61,.3)}.classroom-root.mobile-collab-open .collab-view{margin-top:8px}.classroom-root.mobile-collab-open:after{content:"";position:fixed;z-index:110;inset:64px 0 0;background:rgba(16,35,48,.25);pointer-events:none}}

/* Optional 1-4 image teacher introduction galleries. */
.teacher-profile-preview-gallery,.teacher-photo-grid{display:grid;grid-template-columns:1fr;gap:8px;overflow:hidden;background:#edf5fc}.teacher-profile-preview-gallery{height:300px;margin:16px 0 22px;border-radius:18px}.teacher-profile-preview-gallery img,.teacher-photo-grid img{width:100%!important;height:100%!important;min-width:0;min-height:0;display:block;object-fit:cover!important;object-position:center!important}.teacher-profile-preview-gallery[data-image-count="2"],.teacher-profile-preview-gallery[data-image-count="4"],.teacher-photo-grid[data-image-count="2"],.teacher-photo-grid[data-image-count="4"]{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-profile-preview-gallery[data-image-count="3"],.teacher-photo-grid[data-image-count="3"]{grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr);grid-template-rows:repeat(2,minmax(0,1fr))}.teacher-profile-preview-gallery[data-image-count="3"] img:first-child,.teacher-photo-grid[data-image-count="3"] img:first-child{grid-row:1/3}.teacher-profile-preview-gallery[data-image-count="4"],.teacher-photo-grid[data-image-count="4"]{grid-template-rows:repeat(2,minmax(0,1fr))}.teacher-photo-grid{min-height:420px;aspect-ratio:16/9;padding:8px}.teacher-photo-grid[data-image-count="1"]{padding:0}.teacher-image-field input[type="file"]{padding:11px}.teacher-image-field small{line-height:1.65}
@media(max-width:980px){.teacher-photo-grid{min-height:360px;aspect-ratio:auto}.teacher-profile-preview-gallery{height:340px}}
@media(max-width:700px){.teacher-photo-grid{min-height:300px}.teacher-profile-preview-gallery{height:300px}}
