/* v66 Today's lesson: shared slide, student follow screen, lesson bar, teacher card, plan dialog, console, projector. */

/* ---- a slide (teacher stage, projector, student screen) ---- */
.ls-slide{background:#fffdf8;color:#1f2a24;border:1px solid #e5dccb;border-radius:18px;padding:26px 30px;min-height:300px}
.ls-slide .ls-k{margin:0 0 6px;font:800 13px/1.3 system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#7a5a17}
.ls-slide .ls-h{font:700 32px/1.25 Georgia,"Times New Roman",serif;margin:0 0 14px;color:#1f2a24}
.ls-slide .ls-big{font:28px/1.45 Georgia,"Times New Roman",serif;margin:6px 0 14px}
.ls-slide mark{background:#ffe3a1;color:inherit;border-radius:5px;padding:0 3px}
.ls-ex{list-style:none;margin:6px 0 14px;padding:0;display:grid;gap:10px}
.ls-ex li{display:flex;flex-direction:column;gap:2px;background:#f6f1e6;border-radius:12px;padding:10px 14px}
.ls-ex li span{font:23px/1.4 Georgia,serif}.ls-ex li small{color:#5d6a63;font-size:15px}
.ls-trick{background:#eef5f1;border-left:5px solid #1F5A4F;border-radius:10px;padding:10px 14px;font-size:18px;margin:8px 0}
.ls-note{color:#45524b;font-size:17px;margin:8px 0}
.ls-ans{background:#e3f1e8;border:2px solid #3f9a6c;border-radius:14px;padding:14px 18px;font:24px/1.45 Georgia,serif;margin-top:12px}
.ls-ans p{font:17px/1.45 system-ui,sans-serif;color:#2d4a3c;margin:6px 0 0}
.ls-wait{color:#5d6a63;font-style:italic;font-size:17px}
.ls-slide.ls-go{border:2px solid #e2b85c;background:linear-gradient(180deg,#fffaf0,#fff3d8)}

/* ---- student: follow the lesson ---- */
.ls-stu{min-height:calc(100dvh - 60px);background:radial-gradient(ellipse at 50% 0,#2f2113 0,#1a110a 60%,#120b06 100%);color:#f3e5c9;padding:24px 16px 48px}
.ls-stu-in{max-width:960px;margin:0 auto}
.ls-stu .ls-k{margin:0;font:800 12px system-ui;letter-spacing:.14em;text-transform:uppercase;color:#d9b66a}
.ls-stu h1{font:700 30px Georgia,serif;margin:4px 0 12px;color:#fff3da}
.ls-stu .ls-lead{font-size:18px;color:#e6d6b6;margin:0 0 16px}
.ls-stu-head{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:12px}.ls-stu-head>div{flex:1}
.ls-count{background:#3a2c1c;border:1px solid #6b5332;border-radius:999px;padding:4px 12px;font-weight:800;color:#f0c96b}
.ls-stu .ls-slide{min-height:340px;box-shadow:0 10px 30px rgba(0,0,0,.35)}
.ls-stu .ls-slide .ls-k{color:#7a5a17}
.ls-stu-foot{color:#cdbb97;font-size:15px;margin-top:14px}

/* ---- student: the lesson bar on practice pages ---- */
.ls-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#1F5A4F;color:#fff8e8;padding:8px 16px;font-size:15px;position:relative;z-index:30}
.ls-bar-k{font:800 11.5px system-ui;letter-spacing:.14em;text-transform:uppercase;color:#f3d796}
.ls-bar-t{flex:1;min-width:200px}
.ls-bar .btn.sm{padding:6px 12px}

/* ---- teacher: Overview card ---- */
.ls-card{border-left:5px solid #1F5A4F}
.ls-card-row{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.ls-card-row>div:first-child{flex:1;min-width:240px}
.ls-card-k{margin:0 0 2px;font:800 12px system-ui;letter-spacing:.12em;text-transform:uppercase;color:#7a5a17}
.ls-card h2{margin:0 0 4px}.ls-card p.muted{margin:0}
.ls-card-btns{display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.ls-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#2fa36b;margin-right:6px;vertical-align:1px;box-shadow:0 0 0 3px rgba(47,163,107,.2)}

/* ---- teacher: plan dialog ---- */
dialog.ls-dlg{width:min(880px,94vw)}
.ls-plan h2{font:700 24px Georgia,serif;margin:0 0 4px}
.ls-cats{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0}
.ls-cat{border:1px solid #d5cbb6;background:#fffdf6;border-radius:10px;padding:8px 14px;font:700 14px system-ui;color:#3d4a43;cursor:pointer}
.ls-cat[aria-pressed=true]{background:#1F5A4F;border-color:#1F5A4F;color:#fff}
.ls-plan-cols{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:14px}
.ls-list{display:grid;gap:6px;max-height:340px;overflow:auto;padding-right:4px}
.ls-lc{display:flex;gap:10px;align-items:flex-start;border:1px solid #e5dccb;border-radius:12px;padding:9px 12px;cursor:pointer;background:#fffdf8}
.ls-lc.on{border-color:#1F5A4F;box-shadow:0 0 0 2px rgba(31,90,79,.18);background:#f2f8f5}
.ls-lc input{margin-top:4px}.ls-lc b{display:block}.ls-lc small{color:#5d6a63}
.ls-detail{display:grid;gap:8px;align-content:start}
.ls-box{background:#f6f1e6;border-radius:12px;padding:10px 12px;font-size:14.5px;line-height:1.45}.ls-box b{display:block;margin-bottom:2px}
.ls-fs{border:1px solid #e5dccb;border-radius:12px;margin:12px 0 0;padding:8px 12px}.ls-fs legend{font-weight:800;padding:0 4px}
.ls-fs>label{margin-right:16px;white-space:nowrap}
.ls-pick{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:4px 12px;margin:8px 0;max-height:200px;overflow:auto}
.ls-warn{background:#fdf1dc;border:1px solid #e9c98a;border-radius:10px;padding:8px 12px;margin:12px 0 0}
.ls-plan-foot{display:flex;gap:12px;align-items:center;justify-content:flex-end;flex-wrap:wrap;margin-top:14px}.ls-plan-foot .muted{flex:1;min-width:220px}

/* ---- teacher: console ---- */
.ls-page .ls-head{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;margin-bottom:14px}.ls-page .ls-head .sp{flex:1}
.ls-page .ls-head h1{margin:4px 0 0}.ls-page .ls-head p{margin:2px 0 0}
.ls-teach{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;align-items:start}
.ls-ctl{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:12px}.ls-ctl .sp{flex:1}
.ls-notes{background:#fffdf8;border:1px solid #e5dccb;border-radius:14px;padding:14px;position:sticky;top:12px}
.ls-dots{display:flex;gap:5px;margin-bottom:4px}.ls-dots i{flex:1;height:5px;border-radius:3px;background:#e5dccb}.ls-dots i.on{background:#1F5A4F}
.ls-say{background:#fdf6e6;border:1px solid #ecd9ab;border-radius:12px;padding:10px 12px;margin:10px 0}.ls-say b{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#7a5a17}.ls-say p{margin:4px 0 0}
.ls-follow{margin:12px 0 2px}
.ls-small{font-size:13.5px}
.ls-nextk{margin:14px 0 4px;font:800 12px system-ui;letter-spacing:.12em;text-transform:uppercase;color:#5d6a63}
.ls-next{transform:scale(.6);transform-origin:top left;width:166%;height:auto;margin-bottom:-38%;pointer-events:none}
.ls-live{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr);gap:14px;align-items:start}
.ls-filters{display:flex;gap:4px;flex-wrap:wrap;border:1px solid #d5d9c7;border-radius:12px;padding:4px;background:#fffdf6;margin:6px 0 10px;width:fit-content}
.ls-filters button{border:0;background:transparent;border-radius:8px;padding:6px 11px;font:700 13px system-ui;color:#4d6359;cursor:pointer}
.ls-filters button[aria-pressed=true]{background:#1F5A4F;color:#fff}
.ls-roster th[scope=row] .linkbtn{font-weight:800;text-align:left}
.ls-roster tr.sel{background:#f2f8f5}
.ls-sub{display:block;color:#5d6a63;font-size:12.5px;font-weight:400}
.ls-pill{display:inline-block;padding:2px 10px;border-radius:999px;background:#eef0ea;color:#3d4a43;font-size:13px;font-weight:800;white-space:nowrap}
.ls-pill.ok{background:#e3f1e8;color:#1d5b3d}.ls-pill.red{background:#f9e3df;color:#8a2b1d}.ls-pill.mute{background:#f3f1ec;color:#6b6f68}
.ls-bar-row{display:grid;grid-template-columns:minmax(110px,1fr) minmax(80px,1.2fr) auto;gap:4px 10px;align-items:center;margin:8px 0}
.ls-bar-row .ls-sub{grid-column:1/-1;margin-top:-2px}
.ls-meter{height:10px;border-radius:6px;background:#eee8da;overflow:hidden}.ls-meter i{display:block;height:100%;background:#1F5A4F;border-radius:6px}
.ls-meter.ok i{background:#2fa36b}.ls-meter.red i{background:#c2553f}.ls-meter.mute i{background:#a9a597}
.num{font-variant-numeric:tabular-nums}
.ls-miss{margin:0;padding-left:20px}.ls-miss>li{margin:0 0 12px}
.ls-mq{margin:0}.ls-mq small{display:block;color:#5d6a63}
.ls-ma{margin:2px 0 6px;font-size:14px;color:#45524b}
.ls-miss details summary{cursor:pointer;color:#1F5A4F;font-weight:700}
.ls-dr .ls-bar-row{margin:10px 0}
.ls-wrap-hero h2{font-size:24px}
.ls-confirm h2{font:700 22px Georgia,serif;margin:0 0 8px}

/* ---- projector ---- */
body.ls-proj-on{overflow:hidden}
.ls-proj{position:fixed;inset:0;z-index:2147483000;background:#0d1f19;color:#fff8ea;overflow:auto;padding:18px 24px 30px}
.ls-proj:focus{outline:none}
.ls-proj-bar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;max-width:1180px;margin:0 auto 18px}.ls-proj-bar .sp{flex:1}
.ls-proj-bar>span:first-child{font-weight:800;color:#f0c96b;letter-spacing:.06em}
.ls-proj .btn.gold{background:#f0c96b;color:#2a1d0c}.ls-proj .btn.dark{background:#173a2b;color:#fff3da;border:1px solid #3c6b58}.ls-proj .btn.ghost{background:#fff;color:#2a1d0c}
.ls-proj-in{max-width:1180px;margin:0 auto}
.ls-proj .ls-slide{min-height:60vh;padding:36px 44px}
.ls-proj .ls-slide .ls-h{font-size:46px}.ls-proj .ls-slide .ls-big{font-size:42px}
.ls-proj .ls-ex li span{font-size:34px}.ls-proj .ls-ex li small{font-size:20px}
.ls-proj .ls-trick,.ls-proj .ls-note{font-size:24px}.ls-proj .ls-ans{font-size:34px}.ls-proj .ls-ans p{font-size:22px}
.ls-proj-note{max-width:1180px;margin:12px auto 0;color:#a9c4b8;font-size:14px}
.ls-proj:fullscreen{padding:24px 40px}

@media (max-width:860px){
  .ls-teach,.ls-live,.ls-plan-cols{grid-template-columns:1fr}
  .ls-notes{position:static}
  .ls-slide{padding:18px}.ls-slide .ls-h{font-size:26px}.ls-slide .ls-big{font-size:22px}.ls-ex li span{font-size:19px}
  .ls-card-btns{align-items:flex-start}
}
@media (prefers-reduced-motion:reduce){.ls-dot{box-shadow:none}}
