/* v55 Sentence Lab: dark Lab room around the edges, light "paper" cards for the work (approved mockup v2). */
html:has(.lounge-page.sl),body:has(.lounge-page.sl){background:#0f0b07}
.lounge-page.sl{min-height:100vh;background:radial-gradient(ellipse at 50% 0%,#2b2214,#0f0b07 70%);color:#f5e7c8;padding:18px 0 60px}
.sl-wrap{max-width:920px;margin:0 auto;padding:0 20px}
.sl-top{margin-bottom:12px}
.sl-kick{font:800 12px/1.2 ui-sans-serif,system-ui,sans-serif;letter-spacing:.14em;color:#f0c96b;text-transform:uppercase;margin:0}
.sl h1{font-family:Georgia,'Times New Roman',serif;font-size:32px;margin:6px 0;color:#fff3da}
.sl-lead{color:#dccdaa;margin:0 0 16px}
.sl-card{background:#fbf5e6;color:#2a1d0c;border:1px solid #e6d6b0;border-radius:18px;padding:22px;margin-bottom:16px;box-shadow:0 10px 30px rgba(0,0,0,.4)}
.sl-card h2{font-family:Georgia,serif;margin:0 0 8px;font-size:24px;color:#2a1d0c}
.sl-card h3{font-family:Georgia,serif;margin:16px 0 6px;color:#2a1d0c}
.sl-hint,.sl-note-s{font-size:14px;color:#6b5a3a}
.sl-note-s{margin:8px 0 0}
.sl-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:14px}
.sl .btn.gold{background:#f0c96b;color:#2a1d0c;border:0;box-shadow:0 3px 0 #a8823c;font-weight:800}
.sl .btn.dark{background:#2a2012;color:#fff3da;border:1px solid #2a2012}
.sl .btn.ghost{background:#fff;color:#2a1d0c;border:1px solid #d9c9a3}
.sl .btn[disabled]{opacity:.45}
.sl .linkbtn{background:none;border:0;color:#6b5a3a;text-decoration:underline;cursor:pointer;font:inherit}
.sl-today{display:grid;grid-template-columns:1.4fr 1fr;gap:18px;background:linear-gradient(135deg,#3a2c1c,#2a2012);border:2px solid #e0bd6f;color:#f5e7c8}
.sl-today h2{color:#fff3da}.sl-today ul{margin:8px 0 0;padding-left:18px;color:#dccdaa}.sl-today ul b{color:#fff3da}.sl-today .sl-hint{color:#dccdaa}
.sl-today .btn.dark{background:#1a130c;border-color:#8a6a32}
.sl-ring{display:grid;place-items:center;text-align:center}.sl-big{font:700 46px Georgia,serif;color:#f0c96b;line-height:1}
.sl-path{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:10px}
.sl-node{display:block;text-decoration:none;text-align:left;border-radius:14px;padding:10px 12px;border:2px solid #e6d6b0;background:#fff;color:#2a1d0c;min-height:88px}
.sl-node b{display:block;font-size:14.5px;line-height:1.3}
.sl-node small{display:block;color:#6b5a3a;font-size:12.5px;margin-top:4px}
.sl-node.cur{border-color:#c9962e;box-shadow:0 0 0 3px rgba(240,201,107,.35)}
.sl-node.lock{opacity:.55}
a.sl-node:hover,a.sl-node:focus-visible{border-color:#c9962e}
.sl-st{display:inline-block;font-size:11.5px;font-weight:800;border-radius:99px;padding:1px 8px;margin-top:6px}
.sl-st.kept{background:#1F5A4F;color:#fff}.sl-st.secure{background:#d6efe3;color:#1F5A4F}.sl-st.learning{background:#f0c96b;color:#2a1d0c}
.sl-st.practicing{background:#fff3d6;color:#8a5a00}.sl-st.new{background:#f3ecdc;color:#6b5a3a;border:1px dashed #c9b083}
.sl-tools{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.sl-tool{border:1px solid #e6d6b0;background:#fff;color:#2a1d0c;border-radius:12px;padding:8px 12px;font-size:14px;text-decoration:none}
.sl-tool i{font-style:normal;font-weight:800;border-radius:6px;padding:0 5px;margin-right:5px;color:#2a1d0c}
.sl-tool i.n{background:#d9f2d0}.sl-tool i.v{background:#f6d2ee}.sl-tool i.j{background:#ffe0a8}.sl-tool i.a{background:#c9e4ff}
.sl-note{border-top:1px solid #e6d6b0;padding:10px 0}.sl-note.new{background:#fffaf0}.sl-mine{font-family:Georgia,serif}
.sl-new{display:inline-block;background:#f0c96b;color:#2a1d0c;font-weight:800;font-size:12px;border-radius:99px;padding:1px 8px}
.sl-cycle{display:flex;gap:6px;margin:12px 0 18px;padding:0;list-style:none;flex-wrap:wrap}
.sl-cycle li{flex:1;min-width:96px;text-align:center;font-size:13px;font-weight:800;padding:6px 8px;border-radius:99px;background:#2a2012;color:#a99572;border:1px solid #4a3826}
.sl-cycle li.on{background:#f0c96b;color:#2a1d0c;border-color:#f0c96b}
.sl-cycle li.done{color:#9fe0bd;border-color:#2f6b4e}
.sl-meta{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.sl-pill{font-size:12px;font-weight:800;letter-spacing:.06em;color:#8a5a00;text-transform:uppercase}
.sl-kind{display:inline-block;font-size:12px;font-weight:800;border-radius:99px;padding:2px 9px;background:#f3ecdc;color:#8a5a00;margin-left:6px;text-transform:none;letter-spacing:0}
.sl-q{font-size:17px;margin:10px 0 6px}
.sl-j{color:#8a5a00;font-weight:700;border-bottom:2px solid #c9962e}
.sl-sent{font:21px/1.6 Georgia,serif;color:#1f1608;background:#fff;border-left:4px solid #c9962e;border-radius:10px;padding:12px 16px;margin:10px 0}
.sl-sent.two span{display:block}
.sl-sent small{display:block;font:13px ui-sans-serif,system-ui,sans-serif;color:#6b5a3a;margin-top:2px}
.sl-sent.bad{border-left-color:#c0503f}.sl-sent.good{border-left-color:#2f8f5b}
.sl-lab{display:block;font:800 12px ui-sans-serif,system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#6b5a3a}
.sl-blank{display:inline-block;min-width:70px;border-bottom:2px solid #8a5a00}
.sl-conn{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:12px 0}
.sl-conn div{background:#fff;border:1px solid #e6d6b0;border-radius:12px;padding:10px 12px}
.sl-conn b{display:block;font:700 20px Georgia,serif;color:#8a5a00}.sl-conn span{font-size:14px;color:#6b5a3a}
.sl-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.sl-think{counter-reset:t;list-style:none;padding:0;margin:12px 0}
.sl-think li{position:relative;padding:10px 12px 10px 46px;margin-bottom:8px;background:#fff;border-radius:12px;border:1px solid #e6d6b0}
.sl-think li::before{counter-increment:t;content:counter(t);position:absolute;left:12px;top:10px;width:24px;height:24px;border-radius:50%;background:#f0c96b;color:#2a1d0c;font-weight:800;display:grid;place-items:center;font-size:13px}
.sl-think li.dim{opacity:.3}
.sl-think-n{margin:12px 0 -4px;font-size:13px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#7a5a17}
.sl-ask{background:#e6f3ee;border:1px solid #9fcfb9;color:#1f3a30;border-radius:12px;padding:10px 14px;margin:10px 0;font-size:15px}
.sl-ask b{color:#1F5A4F}
.sl-choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin:8px 0}
.sl-choices.wide{grid-template-columns:1fr}
.sl-choice{text-align:center;border:2px solid #d9c7a0;background:#fff;color:#2a1d0c;border-radius:14px;padding:12px 14px;font-size:18px;font-weight:700;cursor:pointer}
.sl-choice.s{text-align:left;font:17px/1.5 Georgia,serif}
.sl-choice[aria-pressed="true"]{border-color:#c9962e;background:#fff3d6}
.sl-choice.right{border-color:#2f8f5b;background:#e3f5ea}.sl-choice.wrong{border-color:#c0503f;background:#fbe8e3}
.sl-choice[disabled]{cursor:default;opacity:1}
.sl-tiles{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0}
.sl-tile{border:2px solid #d9b866;background:#fff3d6;color:#2a1d0c;border-radius:12px;padding:9px 14px;font:18px Georgia,serif;cursor:pointer}
.sl-tile.used{opacity:.25;cursor:default}
.sl-slot{min-height:56px;border:2px dashed #c9b083;border-radius:12px;padding:10px 14px;font:20px/1.5 Georgia,serif;color:#1f1608;background:#fffdf7}
.sl-type{width:100%;min-height:76px;border-radius:12px;border:2px solid #d9c7a0;background:#fff;color:#1f1608;padding:12px;font:19px/1.5 Georgia,serif;box-sizing:border-box}
.sl-type.tall{min-height:120px}
.sl-frame{font:20px/1.6 Georgia,serif;color:#1f1608;display:flex;flex-wrap:wrap;gap:6px;align-items:baseline}
.sl-frame input{font:20px Georgia,serif;border:0;border-bottom:2px solid #c9962e;background:#fff;color:#1f1608;border-radius:6px 6px 0 0;padding:2px 8px;flex:1;min-width:220px}
.sl-fb{margin-top:12px;padding:12px 14px;border-radius:12px;font-size:16px;color:#2a1d0c}
.sl-fb.ok{background:#e3f5ea;border:1px solid #2f8f5b}.sl-fb.no{background:#fbe8e3;border:1px solid #c0503f}.sl-fb.info{background:#eef3fa;border:1px solid #9db5d6}
.sl-fb.alt{background:#fff;border:1px dashed #c9962e}
.sl-xp{display:inline-block;background:#f0c96b;color:#2a1d0c;border-radius:99px;padding:0 8px;font-size:13px}
.sl-prog{display:flex;gap:4px;margin:2px 0 8px}
.sl-prog i{flex:1;height:7px;border-radius:99px;background:#eadfc6}
.sl-prog i.r{background:#2f8f5b}.sl-prog i.x{background:#c0503f}.sl-prog i.f{background:#d29a3a}.sl-prog i.c{background:#c9962e}
.sl-sayit{display:grid;place-items:center;gap:8px;background:#fff;border:2px dashed #c9b083;border-radius:14px;padding:16px;text-align:center}
.sl-sayit>div{font-size:32px}
.sl-result{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:12px 0}
.sl-result div{background:#fff;border:1px solid #e6d6b0;border-radius:14px;padding:12px;text-align:center;font-size:14px;color:#6b5a3a}
.sl-result b{display:block;font:700 26px Georgia,serif;color:#8a5a00}
.sl-res{padding-left:18px}.sl-res li{margin:6px 0}
.sl-ex summary{cursor:pointer;color:#6b5a3a;font-size:14px}
@media(max-width:760px){
  .sl-today,.sl-two{grid-template-columns:1fr}.sl-path{grid-template-columns:1fr 1fr}.sl-conn,.sl-result{grid-template-columns:1fr 1fr}
  .sl h1{font-size:26px}.sl-sent{font-size:19px}.sl-cycle li{min-width:80px;font-size:12px}
}
/* teacher (light workspace) */
.slt-head{display:flex;gap:16px;justify-content:space-between;flex-wrap:wrap}
.slt-stats{display:flex;gap:14px;flex-wrap:wrap;font-size:14px;color:#5b665f}.slt-stats b{color:#1f2a24;font-size:18px}
.slt-bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:12px 0}.slt-bar .sp{flex:1}
.slt-bar select{padding:6px 8px;border-radius:8px;border:1px solid #cdbf9f;background:#fff}
.slt-map th{font-size:12px;vertical-align:bottom;text-align:center}.slt-map th small{display:block;font-weight:500;color:#5b665f;max-width:78px;margin:0 auto}
.slt-map td{text-align:center}.slt-map td:nth-child(2),.slt-map th:nth-child(2){text-align:left;white-space:nowrap}
.slt-asg{display:block;font-size:12px;color:#7a5a1c}
.slt-cell{width:30px;height:24px;border-radius:6px;border:0;font-size:12px;font-weight:800;cursor:pointer;background:#ece4d3;color:#8a7f6a}
.slt-cell.kept{background:#1F5A4F;color:#fff}.slt-cell.secure{background:#5f9e8a;color:#fff}.slt-cell.practicing{background:#e9c46a;color:#3a2a10}.slt-cell.learning{background:#f6e3b0;color:#5a4410}.slt-cell.f{background:#a3362a;color:#fff}
.slt-cell:focus-visible{outline:3px solid #1F5A4F;outline-offset:1px}
.slt-legend{display:flex;gap:12px;flex-wrap:wrap;font-size:13px;color:#4a554e;margin:8px 0 0}
.slt-legend span{display:inline-flex;align-items:center;gap:6px}.slt-legend i{width:18px;height:14px;border-radius:4px;display:inline-block;background:#ece4d3}
.slt-legend i.kept{background:#1F5A4F}.slt-legend i.secure{background:#5f9e8a}.slt-legend i.practicing{background:#e9c46a}.slt-legend i.learning{background:#f6e3b0}.slt-legend i.f{background:#a3362a}
.slt-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:16px}
.slt-pats{list-style:none;padding:0;margin:0}.slt-pats li{border-bottom:1px solid #ece4d3;padding:8px 0}
.slt-pat{all:unset;cursor:pointer;display:block;width:100%}.slt-pat:focus-visible{outline:3px solid #1F5A4F}
.slt-pat b{display:block}.slt-pat small{color:#5b665f;font-size:13px}
.slt-drawer{background:#f7f2e6;border:1px solid #e2d8c4;border-radius:12px;padding:12px 14px;margin-top:8px}
.slt-drawer ol{margin:6px 0 8px;padding-left:20px}
.slt-ex{font:15px Georgia,serif;margin:4px 0}.slt-ex small{display:block;font:12px ui-sans-serif,system-ui,sans-serif;color:#5b665f}
.slt-ev h3{margin:14px 0 6px}.slt-ans{list-style:none;padding:0;margin:0}
.slt-ans li{display:flex;gap:10px;border-bottom:1px solid #ece4d3;padding:8px 0}.slt-ans li>span{font-weight:800;min-width:70px}
.slt-ans li.ok>span{color:#1F5A4F}.slt-ans li.no>span{color:#a3362a}.slt-ans p{margin:2px 0;font-family:Georgia,serif}.slt-ans small{color:#5b665f}
.slt-tag{display:inline-block;background:#fbe8e3;color:#7a2a1f;border-radius:99px;padding:1px 8px}
.slt-rev{border:1px solid #e2d8c4;border-radius:10px;padding:8px 10px;margin:6px 0}.slt-rev small{display:block;font-weight:800;color:#5b665f}
@media(max-width:760px){.slt-grid{grid-template-columns:1fr}}
/* Lesson mode (projector) */
.sl-proj{position:fixed;inset:0;z-index:2147483000;background:#0d1f19;color:#fff8ea;overflow:auto}
.sl-proj-in{max-width:1100px;margin:0 auto;padding:22px}
.sl-proj-bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:22px}.sl-proj-bar .sp{flex:1}
.sl-proj-bar>span:first-child{font-weight:800;color:#f0c96b;letter-spacing:.08em;text-transform:uppercase;font-size:14px}
.sl-proj .btn.gold{background:#f0c96b;color:#2a1d0c}.sl-proj .btn.dark{background:#1a130c;color:#fff3da;border:1px solid #4a3826}.sl-proj .btn.ghost{background:#fff;color:#2a1d0c}
.sl-proj-cue{font-size:22px;color:#cfe3da}
.sl-proj-big{font:44px/1.35 Georgia,serif;margin:12px 0 20px}
.sl-proj .sl-j{color:#f0c96b;border-color:#f0c96b}
.sl-proj-ans{background:#173a2b;border:2px solid #58c08a;border-radius:16px;padding:18px 22px;margin-top:16px;font:32px/1.4 Georgia,serif}
.sl-proj-ans p{font:20px ui-sans-serif,system-ui,sans-serif;color:#cfe3da}
.sl-proj-say{font-size:20px;color:#cfe3da;opacity:.9;margin-top:22px}
.sl-proj-note{color:#9fb8ad;margin-top:30px}
@media(max-width:760px){.sl-proj-big{font-size:28px}.sl-proj-ans{font-size:22px}}
.sl-fb .sl-typo{display:block;margin-top:6px;font-size:14px;color:#6b4a12}
