/* style.css */
/* liza.speaks.english — Кабинет: общие стили для login / student / teacher */
:root{
  --navy:#192c3a;
  --navy-soft:rgba(25,44,58,.08);
  --cream:#f5f3ec;
  --paper:#fbfaf6;
  --wine:#793d45;
  --wine-dark:#5c2e35;
  --wine-tint:rgba(121,61,69,.1);
  --ice:#dfe8e9;
  --taupe:#b9afa2;
  --ink:#262829;
  --muted:#5a6570;
  --line:#dad6cb;
  --ok:#3f7a55;
  --ok-tint:#e7f2ea;
  --warn:#9a6a2b;
  --warn-tint:#f5ecdd;
  --todo:#7c8894;
  --todo-tint:#eceeef;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--cream);color:var(--navy);
  font:16px/1.6 'Montserrat Alternates',Arial,sans-serif;-webkit-font-smoothing:antialiased;
}
a{color:inherit}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{
  outline:3px solid var(--wine);outline-offset:3px;border-radius:2px;
}
.mono{font-family:'Space Mono',ui-monospace,monospace}
img{max-width:100%}

.shell{max-width:1160px;margin:0 auto;padding:0 6% 80px}

/* top bar */
.topbar{
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding:22px 6%;border-bottom:1px solid var(--line);background:rgba(245,243,236,.9);
  position:sticky;top:0;z-index:30;backdrop-filter:blur(8px);
}
.brand{text-decoration:none;font-weight:700;font-size:17px;letter-spacing:-.4px;display:flex;align-items:center;gap:8px;color:var(--navy)}
.brand .dot{width:8px;height:8px;border-radius:50%;background:var(--wine);display:inline-block}
.topbar-right{display:flex;align-items:center;gap:16px}
.who{font-size:13.5px;color:var(--muted)}
.who b{color:var(--navy)}
.btn-ghost{
  border:1.5px solid var(--navy);border-radius:99px;padding:8px 16px;font-size:13px;font-weight:600;
  background:none;cursor:pointer;text-decoration:none;color:var(--navy);transition:background .2s,color .2s;
  font-family:inherit;
}
.btn-ghost:hover{background:var(--navy);color:var(--cream)}
.btn-primary{
  border:none;border-radius:99px;padding:11px 22px;font-size:14px;font-weight:700;
  background:var(--wine);color:#fff;cursor:pointer;font-family:inherit;transition:background .2s,transform .2s;
}
.btn-primary:hover{background:var(--wine-dark);transform:translateY(-1px)}
.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}
.btn-secondary{
  border:1.5px solid var(--line);border-radius:99px;padding:10px 20px;font-size:13.5px;font-weight:600;
  background:#fff;color:var(--navy);cursor:pointer;font-family:inherit;transition:border-color .2s,transform .2s;
}
.btn-secondary:hover{border-color:var(--navy);transform:translateY(-1px)}

/* demo banner */
.demo-banner{
  display:flex;align-items:flex-start;gap:12px;background:var(--warn-tint);
  border:1px solid #e7cf9e;color:#6b4a17;padding:14px 6%;font-size:13.5px;line-height:1.55;
}
.demo-banner strong{display:block;font-size:13.5px;margin-bottom:2px}
.demo-banner svg{flex:none;margin-top:2px}
.demo-banner .txt{max-width:820px}
.live-banner{
  display:flex;align-items:flex-start;gap:12px;background:var(--ok-tint);
  border:1px solid #bcdcc6;color:#2b5b3c;padding:14px 6%;font-size:13.5px;line-height:1.55;
}
.live-banner svg{flex:none;margin-top:2px}

.page-head{padding:44px 0 30px}
.eyebrow{
  text-transform:uppercase;font-size:11.5px;letter-spacing:2.2px;font-weight:700;color:var(--wine);
  margin:0 0 10px;display:flex;align-items:center;gap:8px;
}
h1.page-title{font-size:clamp(26px,3.4vw,38px);font-weight:500;letter-spacing:-1.2px;margin:0 0 8px}
.page-sub{color:var(--muted);font-size:14.5px;margin:0;max-width:60ch}

/* tabs */
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:26px 0 22px}
.tab{
  border:1.5px solid var(--line);background:#fff;border-radius:99px;padding:8px 16px;font-size:13px;
  font-weight:600;cursor:pointer;font-family:inherit;color:var(--muted);transition:all .18s;
}
.tab.active{border-color:var(--navy);background:var(--navy);color:var(--cream)}
.tab:hover:not(.active){border-color:var(--taupe)}

/* status badges */
.badge{
  display:inline-flex;align-items:center;gap:6px;border-radius:99px;padding:5px 12px;
  font-size:12px;font-weight:700;letter-spacing:.2px;white-space:nowrap;
}
.badge i{width:6px;height:6px;border-radius:50%;display:inline-block}
.badge.todo{background:var(--todo-tint);color:var(--todo)}
.badge.todo i{background:var(--todo)}
.badge.progress{background:var(--warn-tint);color:var(--warn)}
.badge.progress i{background:var(--warn)}
.badge.done{background:var(--ok-tint);color:var(--ok)}
.badge.done i{background:var(--ok)}

/* assignment list */
.list{display:flex;flex-direction:column;gap:12px}
.item{
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:18px 22px;
  cursor:pointer;transition:transform .18s,box-shadow .18s,border-color .18s;text-align:left;
  width:100%;font-family:inherit;
}
.item:hover{transform:translateY(-2px);box-shadow:0 16px 32px -24px rgba(25,44,58,.4);border-color:var(--taupe)}
.item-main{display:flex;flex-direction:column;gap:6px;min-width:0}
.item-title{font-size:15.5px;font-weight:600;letter-spacing:-.2px}
.item-meta{font-size:12.5px;color:var(--muted);display:flex;gap:10px;flex-wrap:wrap}
.item-right{display:flex;align-items:center;gap:14px;flex:none}
.score-pill{font-size:12.5px;font-weight:700;color:var(--navy);background:var(--ice);padding:5px 11px;border-radius:99px}
.empty{padding:50px 20px;text-align:center;color:var(--muted);font-size:14px;background:var(--paper);border:1px dashed var(--line);border-radius:12px}

/* card / panel */
.panel{background:#fff;border:1px solid var(--line);border-radius:14px;padding:30px 32px;margin-bottom:22px}
.panel h2{font-size:19px;font-weight:600;letter-spacing:-.4px;margin:0 0 6px}
.panel .hint{color:var(--muted);font-size:13.5px;margin:0 0 22px}

/* questions */
.q-block{border-top:1px solid var(--line);padding:24px 0}
.q-block:first-of-type{border-top:none;padding-top:6px}
.q-num{font-size:12px;font-weight:700;color:var(--wine);letter-spacing:.5px;margin-bottom:8px;display:block}
.q-prompt{font-size:16px;font-weight:600;margin:0 0 16px;letter-spacing:-.2px}
.choice{
  display:flex;align-items:center;gap:12px;padding:12px 16px;border:1.5px solid var(--line);
  border-radius:9px;margin-bottom:9px;cursor:pointer;transition:border-color .18s,background .18s;font-size:14.5px;
}
.choice:hover{border-color:var(--taupe)}
.choice input{accent-color:var(--wine);width:17px;height:17px;flex:none}
.choice.correct{border-color:var(--ok);background:var(--ok-tint)}
.choice.incorrect{border-color:#b23b3b;background:#fbe9e9}
textarea,input[type=text],input[type=email],input[type=password]{
  width:100%;border:1.5px solid var(--line);border-radius:9px;padding:12px 14px;font:inherit;
  font-family:'Montserrat Alternates',Arial,sans-serif;color:var(--navy);background:#fff;resize:vertical;
}
textarea:focus,input:focus{border-color:var(--wine)}
label.field-label{display:block;font-size:12.5px;font-weight:700;color:var(--muted);margin-bottom:7px;letter-spacing:.3px;text-transform:uppercase}
.feedback{margin-top:10px;font-size:13.5px;font-weight:600;display:flex;align-items:center;gap:7px}
.feedback.ok{color:var(--ok)}
.feedback.no{color:#b23b3b}
.feedback.pending{color:var(--warn)}

.comment-box{
  margin-top:14px;background:var(--ice);border-radius:9px;padding:14px 16px;font-size:13.5px;line-height:1.6;
}
.comment-box b{display:block;margin-bottom:4px;font-size:12.5px;text-transform:uppercase;letter-spacing:.4px;color:var(--navy)}

/* login */
.login-wrap{
  min-height:100vh;display:flex;align-items:center;justify-content:center;padding:40px 6%;
  background:radial-gradient(ellipse 800px 500px at 85% -10%, var(--ice) 0%, transparent 60%), var(--cream);
}
.login-card{max-width:480px;width:100%}
.role-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:26px 0}
.role-card{
  border:1.5px solid var(--line);border-radius:12px;padding:22px 18px;background:#fff;cursor:pointer;
  text-align:left;font-family:inherit;transition:border-color .2s,transform .2s,box-shadow .2s;
}
.role-card:hover{border-color:var(--wine);transform:translateY(-3px);box-shadow:0 18px 34px -24px rgba(25,44,58,.4)}
.role-card b{display:block;font-size:15px;margin-bottom:6px}
.role-card p{margin:0;font-size:12.5px;color:var(--muted);line-height:1.5}
.role-card svg{margin-bottom:12px}

/* teacher: student picker + composer */
.two-col{display:grid;grid-template-columns:280px 1fr;gap:24px;align-items:start}
.student-list{display:flex;flex-direction:column;gap:8px}
.student-pill{
  display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-radius:9px;
  border:1.5px solid var(--line);background:#fff;cursor:pointer;font-family:inherit;font-size:13.5px;text-align:left;
  width:100%;transition:border-color .18s,background .18s;
}
.student-pill.active{border-color:var(--navy);background:var(--navy);color:var(--cream)}
.student-pill .count{font-size:11.5px;font-weight:700;background:var(--ice);color:var(--navy);border-radius:99px;padding:2px 8px}
.student-pill.active .count{background:rgba(245,243,236,.2);color:var(--cream)}
.qa-row{display:flex;gap:10px;align-items:flex-start;margin-bottom:10px}
.qa-row select,.qa-row input{flex:1}
.opt-row{display:flex;gap:8px;align-items:center;margin-bottom:8px}
.opt-row input{flex:1}
.remove-x{
  background:none;border:none;color:var(--muted);cursor:pointer;font-size:18px;line-height:1;padding:4px 8px;
}
.remove-x:hover{color:#b23b3b}
.add-line{
  background:none;border:1.5px dashed var(--line);border-radius:9px;padding:10px 14px;font-size:13px;
  font-weight:600;color:var(--muted);cursor:pointer;font-family:inherit;width:100%;text-align:center;
  transition:border-color .2s,color .2s;
}
.add-line:hover{border-color:var(--wine);color:var(--wine)}

@media(max-width:820px){
  .two-col{grid-template-columns:1fr}
  .panel{padding:22px 20px}
  .role-grid{grid-template-columns:1fr}
}
@media(max-width:600px){
  .topbar{padding:16px 6%}
  .who{display:none}
  .item{flex-direction:column;align-items:flex-start;gap:10px}
  .item-right{width:100%;justify-content:space-between}
}

#manage-form label{display:block;margin:12px 0 6px}#manage-form select{width:100%;padding:10px;font:inherit}#manage-form input[type=checkbox]{width:auto}

/* Shared form sizing also applies to dynamically added fields. */
html{-webkit-text-size-adjust:100%}
.two-col{grid-template-columns:minmax(0,280px) minmax(0,1fr)}
.two-col>*,.topbar>*,.topbar-right,.panel,.q-block,.qa-row>*{min-width:0}
input:not([type=radio]):not([type=checkbox]),select,textarea{box-sizing:border-box;width:100%;max-width:100%;min-width:0;font:inherit;font-size:16px;border:1.5px solid var(--line);border-radius:9px;padding:12px;color:var(--navy);background:white}
input[type=file]{font-size:14px;overflow:hidden}
button{max-width:100%;white-space:normal;overflow-wrap:anywhere;min-height:44px}
input[type=radio],input[type=checkbox]{flex:0 0 18px;width:18px;height:18px}
.opt-row input[type=radio]{flex:0 0 18px}
.item-title,.q-prompt,.comment-box,.student-pill,.panel p,.who{overflow-wrap:anywhere}
.live-banner strong{display:block;margin-bottom:4px}
#import-preview{overflow-wrap:anywhere}#import-destination label{display:block;margin-top:16px}
#manage-form{padding:18px}#manage-toggle{width:100%}
@media(max-width:820px){.two-col{grid-template-columns:minmax(0,1fr)}}
@media(max-width:600px){
 .shell{padding:0 16px 44px}.topbar{position:relative;padding:16px;flex-wrap:wrap;gap:12px}.topbar .brand{font-size:16px}.brand .dot{flex:none}
 .topbar-right{margin-left:auto}.btn-ghost{display:inline-flex;align-items:center;min-height:44px;padding:10px 14px}
 .live-banner,.demo-banner{padding:12px 16px;font-size:13px}.page-head{padding:28px 0 18px}
 .page-title{line-height:1.25}.page-sub{font-size:15px}.panel{padding:20px 16px;border-radius:12px}
 .panel h2{font-size:20px;overflow-wrap:anywhere}.panel>div[style*="display:flex"],.q-block div[style*="display:flex"]{flex-wrap:wrap}
 .panel h2+.badge{margin-top:4px}.tabs{gap:8px;margin:18px 0}.tab{flex:1 1 120px;font-size:14px;padding:10px 12px}
 .item{padding:16px}.item-title{font-size:16px}.item-right{flex-wrap:wrap}.badge{white-space:normal}
 .qa-row{flex-wrap:wrap}.qa-row select{flex:1 1 160px}.choice{padding:13px 12px;font-size:16px;align-items:flex-start;overflow-wrap:anywhere}
 .choice input{margin-top:4px}.q-prompt{line-height:1.6}.comment-box{font-size:15px}
 .login-wrap{min-height:0;align-items:flex-start;padding:32px 20px 50px}.login-card{min-width:0}
 #manage-form label{font-size:15px}#manage-form .hint{font-size:14px}.empty{padding:28px 16px}
 #import-save,#import-check,#save-assignment{width:100%;margin-top:12px}
}
.person-avatar{display:inline-flex;width:44px;height:44px;min-width:44px;align-items:center;justify-content:center;border-radius:50%;overflow:hidden;background:#dce8eb;font-size:28px;text-decoration:none}.person-avatar img{width:100%;height:100%;object-fit:cover}.work-controls{border-top:1px solid #ddd6c8;margin-top:20px;padding-top:18px}.work-controls select,.work-controls textarea{display:block;width:100%;max-width:600px;margin:10px 0;padding:12px;font:inherit;border:1px solid #ddd6c8;border-radius:12px}.work-controls button{margin:6px}

/* cabinet-design-d24d8664fe.css */

500;600;700&family=Playfair+Display:wght@400;500;600;700&display=swap');
body{font-family:Manrope,Arial,sans-serif;background:radial-gradient(ellipse at 95% 10%,#dce8eb99,transparent 45%),radial-gradient(ellipse at 0% 65%,#e9ddd666,transparent 45%),#f4efe4;color:#2b3046;min-height:100vh}
h1,h2,.page-title{font-family:var(--font-family)}button,input,select,textarea{font-family:inherit}.topbar{background:rgba(250,247,240,.83);backdrop-filter:blur(18px);border-color:#ded7cc;gap:16px}.shell{max-width:1280px;padding-left:32px;padding-right:32px}.panel,.item,.vocab-card,.material-card,.feed-card,details#import-panel{background:rgba(255,253,248,.72);border:1px solid #ffffffcc;border-radius:24px;box-shadow:0 8px 28px #34332b08;backdrop-filter:blur(12px)}.panel{padding:28px}.item{margin-bottom:14px}.btn-primary{background:#7c302b;box-shadow:0 5px 16px #7c302b18}.btn-ghost,.btn-secondary,.tab{border-color:#d8d2c6;background:#fffcf5a8}.tab.active,.learning-tabs button[aria-pressed=true]{background:#dce8eb;color:#2b3046}.page-head{padding-top:32px}.learning-tabs{gap:10px}.learning-tabs button,.learning-tabs a{border-radius:22px;background:#fffdf6aa;font-size:15px}.feed-card>small{color:#7c302b;letter-spacing:.06em}.new-marker{background:#dce8eb;color:#6c3434}.work-controls{border-top:1px solid #ded7cc;margin-top:24px;padding-top:16px}.work-controls select,.work-controls textarea{width:100%;margin:8px 0 14px;border-radius:12px}.work-controls button{margin:6px 8px 6px 0}.choice{border-radius:15px}.empty{background:#ffffff55;border-radius:22px}.topbar-right{flex-wrap:wrap}input,select,textarea{max-width:100%}
@media(max-width:1000px){.topbar{position:relative;flex-wrap:wrap;padding:16px 24px}.topbar-right{gap:10px}.shell{padding-left:24px;padding-right:24px}.page-title,h1{font-size:clamp(30px,5vw,46px)}.panel{padding:22px}.topbar nav{flex-wrap:wrap}}
@media(max-width:550px){.topbar{padding:14px 20px}.shell{padding-left:20px;padding-right:20px}.topbar-right{width:100%;min-width:0}.brand{font-size:17px}.btn-ghost{font-size:12px}.panel{padding:20px}.item{flex-wrap:wrap;gap:12px}.learning-tabs{margin:20px 0}.learning-tabs button,.learning-tabs a{padding:10px 14px}.page-sub{font-size:16px}.work-controls button{max-width:100%}}

.feed-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:start}.feed-grid .feed-card{margin:0;padding:22px;min-width:0;display:flex;flex-direction:column;gap:10px;overflow-wrap:anywhere;background:linear-gradient(135deg,#fffdf5df,#fffdf5a6)}.feed-grid .feed-card[data-kind=assignment]{background:linear-gradient(135deg,#e5f0f1df,#fffdf5c9)}.feed-grid .feed-card h3{font-size:21px;line-height:1.35;margin:0}.feed-grid .feed-card p{margin:0;font-size:14px;line-height:1.6}.feed-grid .new-marker{align-self:flex-start;margin:0;padding:4px 10px;font-size:12px}.feed-grid .btn-primary{align-self:flex-start;text-decoration:none;font-size:13px;margin:4px 0;min-height:44px;padding:10px 16px}.feed-grid .work-controls{margin-top:6px;padding-top:12px}.feed-grid .work-controls>p:empty{display:none}.feed-grid .work-controls button{margin-bottom:0}.feed-grid .work-controls details{margin-top:10px;font-size:13px}.upload-tabs{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.upload-tabs button{min-height:44px}.upload-tabs button[aria-pressed=true]{background:#dce8eb}.resource-upload{display:grid;gap:12px;max-width:720px}.resource-upload label{display:grid;gap:6px}.resource-upload input,.resource-upload select,.resource-upload textarea{width:100%;margin:0;min-height:44px}.resource-upload button{justify-self:start}.resource-upload [hidden]{display:none!important}
@media(max-width:1100px){.feed-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.feed-grid{grid-template-columns:1fr;gap:14px}.feed-grid .feed-card{padding:20px}}

.student-nav{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.student-nav .btn-ghost{min-height:44px;display:inline-flex;align-items:center;text-decoration:none}.student-nav [aria-current=page]{background:#dce8eb;border-color:#79909c}.topbar>[hidden]{display:none!important}
#overview,#material-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:start}#overview>h2,#overview>p,#material-list>h3{grid-column:1/-1}#overview>.panel,#material-list>.panel{margin:0;padding:22px;min-width:0;overflow-wrap:anywhere;animation:cabinet-enter .35s ease both}#overview>.panel:nth-of-type(2n){background:linear-gradient(140deg,#e4eff0ce,#fffaf2a8)}#overview>.panel h3{font-size:20px;line-height:1.4}#overview>.panel p{font-size:14px}.student-nav a{transition:background .2s,transform .2s}.student-nav a:hover{transform:translateY(-2px)}@keyframes cabinet-enter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media(max-width:1100px){#overview,#material-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){#overview,#material-list{grid-template-columns:1fr}.student-nav{gap:8px}.student-nav .btn-ghost{font-size:13px;padding:8px 12px}}@media(prefers-reduced-motion:reduce){#overview>.panel,#material-list>.panel{animation:none}.student-nav a{transition:none}}

.student-layout .learning-tabs,.student-layout main.shell>a:first-child{display:none}
.student-account{display:flex;gap:12px;margin-left:auto}.student-account a{text-decoration:none}
.student-sidebar{position:absolute;left:24px;top:120px;width:224px;padding:16px;background:rgba(255,253,246,.7);border:1px solid white;border-radius:26px;box-sizing:border-box}
.student-sidebar>p{font-size:11px;letter-spacing:2px;padding:0 12px;color:#783e48}.student-sidebar a{display:flex;flex-direction:column;gap:6px;padding:17px 14px;border-radius:18px;margin:5px 0;text-decoration:none;color:inherit;transition:background .2s,transform .2s}.student-sidebar small{font-size:12px;color:#66717b}.student-sidebar a:hover{background:#fffaf1;transform:translateX(3px)}.student-sidebar a[aria-current]{background:#dce9ec}
.student-layout .shell{margin-left:272px;width:calc(100% - 300px);max-width:1400px;padding:24px;box-sizing:border-box}
.collection-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;margin:24px 0}.collection-grid button{padding:24px;text-align:left;border:1px solid white;border-radius:24px;background:rgba(255,253,246,.8);color:inherit;cursor:pointer;box-shadow:0 12px 30px #27304408}.collection-grid strong,.collection-grid small{display:block;margin-bottom:10px}.collection-grid button:hover,.collection-grid button[aria-pressed=true]{background:#e1ecee}.vocab-view-tabs,.training-modes{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0}.vocab-view-tabs button[aria-pressed=true],.training-modes button[aria-pressed=true]{background:#dce9ec;border-color:#9eb6ba}#training{padding:24px;border-radius:24px}.student-layout .vocab-card{padding:22px}#practice form button{margin-top:16px}
@media(max-width:800px){.student-sidebar{position:static;width:auto;margin:12px 20px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.student-sidebar>p{grid-column:1/-1}.student-layout .shell{margin:0;width:100%;padding:20px}.student-layout{display:flex;flex-direction:column}.student-layout>.topbar{order:0}.student-sidebar{order:1}.student-layout>.shell{order:2}.student-account{gap:6px}.student-account .btn-ghost{padding:10px 12px}.student-sidebar a{padding:12px}.student-sidebar small{font-size:11px}}
@media(prefers-reduced-motion:reduce){.student-sidebar a{transition:none}}

.word-bank-sentence{white-space:pre-line;padding:22px;border-radius:22px;background:rgba(220,233,236,.45);margin:20px 0;overflow-wrap:anywhere}.word-bank-sentence .btn-ghost{margin:6px 10px;min-width:120px;border-style:dashed}.word-bank-sentence+.vocab-tools{padding:16px;background:rgba(255,253,246,.7);border-radius:20px}.student-sidebar a:focus-visible,.collection-grid button:focus-visible{outline:3px solid #783e48;outline-offset:3px}

.student-layout .shell>footer{display:none}

.account-dialog{width:min(480px,calc(100% - 32px));box-sizing:border-box;padding:28px;border:1px solid white;border-radius:26px;background:#faf7ee;color:#293047}.account-dialog::backdrop{background:#192c3980;backdrop-filter:blur(4px)}.account-dialog input{box-sizing:border-box;width:100%;margin:8px 0 18px}.account-dialog label{display:block}.password-welcome{margin-bottom:24px}.password-welcome h2{font-size:25px}.account-dialog h2{font-size:27px}

.unit-section{margin:32px 0}.unit-section details{margin:20px 0}.lesson-resource{display:block;padding:14px 0;color:inherit}.lesson-dialog{width:min(720px,calc(100% - 32px))}.lesson-dialog textarea{width:100%;box-sizing:border-box;min-height:90px}.lesson-choices{max-height:320px;overflow:auto;padding:16px;background:#e2ecee;border-radius:18px}.lesson-choices label{display:flex;align-items:center;gap:12px;margin:12px 0}.lesson-choices input{width:20px;min-height:20px;margin:0}.dashboard-summary{display:flex;flex-wrap:wrap;gap:16px;margin:24px 0}.dashboard-summary>div{padding:20px;border:1px solid white;border-radius:22px;background:#ffffff80;flex:1;min-width:140px}.dashboard-summary strong{display:block;font-size:28px}.next-action{background:linear-gradient(110deg,#dce9ecb0,#fffaf1)!important;margin:24px 0}.next-action .btn-primary{margin-top:14px}.feedback-new{border-left:4px solid #783e48;padding:14px;margin:18px 0;background:#fffaf1}

.embedded-game{margin:20px 0;width:100%;min-width:0}.embedded-game summary{padding:16px;background:#dce9ec;border-radius:18px;cursor:pointer}.embedded-game iframe{display:block;border:0;width:100%;height:480px;border-radius:18px;margin:16px 0;background:#fff}.embedded-game>a{font-size:13px}#game-preview{display:block}.feed-card:has(.embedded-game[open]){grid-column:1/-1}@media(max-width:600px){.embedded-game iframe{height:440px}}

@media(max-width:600px){.student-sidebar{display:flex;overflow-x:auto;gap:8px;margin:12px 16px;padding:8px;border-radius:20px;scrollbar-width:thin}.student-sidebar>p,.student-sidebar small{display:none}.student-sidebar a{flex:0 0 auto;margin:0;padding:12px 16px;white-space:nowrap;font-size:13px}.student-layout .shell{padding-top:12px}}

.teacher-assignment-row{display:flex;align-items:center;gap:12px}.teacher-assignment-row>.item{flex:1;min-width:0}.teacher-assignment-row>.btn-ghost{flex-shrink:0}@media(max-width:600px){.teacher-assignment-row{align-items:stretch;flex-direction:column;margin-bottom:18px}.teacher-assignment-row>.btn-ghost{align-self:flex-end}}

/* Unified homework navigation and compact actions */
.homework-filters{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 24px}.homework-filters button[aria-pressed=true]{background:#dce8eb;border-color:#293f4a;color:#293f4a}.homework-count{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:26px;padding:0 6px;border-radius:20px;background:#7c302b;color:#fff;font-size:13px}.homework-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:8px}.feed-grid .homework-actions .homework-done{background:#dce8eb;color:#244451;border:1px solid #c5d8dc;font-size:13px;padding:10px 16px;min-height:44px;margin:4px 0;box-shadow:none}.feed-card .work-controls{border:0;padding-top:0;margin-top:0}.feed-card[hidden],.feed-section[hidden]{display:none!important}.homework-state{color:#46616a}#homework{scroll-margin-top:100px}#dashboard .next-action{margin-top:12px}#dashboard:empty{display:none}.homework-actions a{text-decoration:none}@media(max-width:620px){.homework-filters{gap:8px}.homework-filters button{padding:10px 12px}.homework-actions{gap:8px}}

.student-sidebar a[href="student.html#homework"] strong{display:flex;align-items:center;justify-content:space-between;gap:10px}.student-sidebar .homework-count{flex:0 0 auto;white-space:nowrap}.resource-upload[hidden]{display:none!important}

/* Presentation-only cabinet refresh. All workflows and controls retained. */
:root{--bg:#e5f1f5;--ink:#192c3a;--muted:#536879;--accent:#783e48;--line:#e0e7eb}
body{background:#e5f1f5;color:#192c3a;font-family:Manrope,Arial,sans-serif}.topbar{background:#e5f1f5f2;border-color:#d7e6ec;backdrop-filter:blur(14px);box-shadow:none;padding:20px 30px}.brand{font-family:var(--font-family);font-size:25px;color:#192c3a}.shell{background:#fff;max-width:1280px;border:1px solid #e0e9ec;border-radius:14px;padding:30px;margin-top:20px;margin-bottom:24px}h1,.page-title{font-size:36px;line-height:1.2}h2{font-size:26px;line-height:1.3}h3{font-family:Manrope,Arial,sans-serif;line-height:1.4}.hint,.page-sub{color:#536879}.panel,.item,.vocab-card,.material-card,.feed-card,details#import-panel{background:#fff;border:1px solid #e1e7eb;border-radius:11px;box-shadow:0 2px 6px #192c3a03;backdrop-filter:none}.panel{padding:22px}.btn-primary{background:#783e48;color:white;box-shadow:none;border-radius:8px;min-height:44px;transition:background .25s ease,transform .25s ease}.btn-primary:hover{background:#65323e;transform:translateY(-1px)}.btn-ghost,.btn-secondary,.tab{background:#f7f7f7;border:1px solid #e7e9eb;border-radius:8px;color:#314958;min-height:42px;transition:background .25s ease}.btn-ghost:hover,.btn-secondary:hover{background:#e9f2f5}.homework-filters button[aria-pressed=true],.tab.active,.learning-tabs button[aria-pressed=true],.upload-tabs button[aria-pressed=true]{background:#783e48;color:#fff;border-color:#783e48}.homework-filters{gap:8px}.homework-filters button{font-size:14px;padding:10px 19px}.student-sidebar{background:transparent;border:0;border-radius:0;left:22px;top:100px;width:232px;padding:10px 0}.student-sidebar>p{font-size:12px;color:#526d7b}.student-sidebar a{padding:13px 15px;border-radius:8px;gap:5px;margin:6px 0;font-size:14px}.student-sidebar small{font-size:12px;color:#537080}.student-sidebar a:hover{background:#f4fafb;transform:translateX(2px)}.student-sidebar a[aria-current]{background:#783e48;color:white}.student-sidebar a[aria-current] small{color:#f0e4e7}.student-layout .shell{margin:20px 24px 24px 274px;width:calc(100% - 298px);padding:30px;min-height:calc(100vh - 125px);max-width:none}.student-account .btn-ghost{background:transparent;border-color:transparent;font-size:13px}.feed-grid{grid-template-columns:1fr;gap:13px}.feed-grid .feed-card,.feed-grid .feed-card[data-kind=assignment]{background:#fff;padding:20px 22px;border:1px solid #e1e7eb;border-radius:10px;gap:9px}.feed-grid .feed-card h3{font-size:18px}.feed-grid .feed-card p{font-size:14px}.feed-grid .btn-primary{font-size:14px;padding:10px 18px}.feed-section{margin:28px 0}.feed-section>h2,.feed-section>summary{font-family:Manrope,Arial,sans-serif;font-size:18px;font-weight:700;margin-bottom:14px}.homework-actions{gap:10px}.feed-card .work-controls{padding-top:10px;margin-top:5px;border-top:1px solid #edf0f2}.new-marker{background:#e5f2f6;color:#355e71}.homework-count{background:#fff;color:#783e48;border:1px solid #eadde0}.dashboard-summary{gap:12px}.dashboard-summary>div{border:1px solid #e2e9ed;border-radius:10px;background:#f8fbfc;padding:18px}.dashboard-summary strong{font-size:26px}.next-action{background:#edf6f8!important;border:1px solid #dcebf0}.feedback-new{background:#faf6f7;border-left-color:#783e48}.collection-grid button{border:1px solid #e1e8ec;border-radius:11px;background:#fff;box-shadow:none}.collection-grid button:hover,.collection-grid button[aria-pressed=true]{background:#eaf4f7}.word-bank-sentence{background:#edf5f7;border-radius:12px}.account-dialog{background:white;border-radius:14px;border:1px solid #dbe6eb}.embedded-game summary{background:#e8f3f6;border-radius:9px}.embedded-game iframe{border-radius:9px}.learning-tabs button,.learning-tabs a{border-radius:8px;background:#f5f8f9}input,select,textarea{border:1px solid #ccdbe3;border-radius:8px;background:#fff;color:#192c3a}input:focus,textarea:focus,select:focus{outline:2px solid #b4d4e0;outline-offset:2px}.choice{border-radius:9px}#overview>.panel,#overview>.panel:nth-of-type(2n),#material-list>.panel{background:white;border:1px solid #e1e8ec;border-radius:11px}#training{background:#edf6f8;border-radius:13px}.teacher-assignment-row{gap:12px}.topbar nav{font-size:14px}
@media(max-width:1000px){.student-layout .shell{margin-left:240px;width:calc(100% - 258px);padding:24px}.student-sidebar{left:14px;width:211px}.topbar{padding:18px 22px}.brand{font-size:22px}}
@media(max-width:800px){.student-sidebar{position:static;display:grid;width:auto;margin:10px 16px;padding:8px;grid-template-columns:repeat(2,minmax(0,1fr));background:#dcecf2;border-radius:12px}.student-layout .shell{margin:0 12px 20px;width:calc(100% - 24px);padding:22px;min-height:0}.shell{margin:14px 12px;width:calc(100% - 24px);padding:22px}.topbar{padding:16px 20px}.student-sidebar a{margin:0}.feed-grid{grid-template-columns:1fr}.page-title,h1{font-size:32px}}
@media(max-width:600px){.student-sidebar{display:flex;overflow-x:auto;gap:7px;scrollbar-width:thin}.student-sidebar a{flex:0 0 auto;padding:11px 14px;font-size:13px}.student-sidebar small,.student-sidebar>p{display:none}.student-layout .shell{padding:19px}.feed-grid .feed-card{padding:18px}.homework-filters button{font-size:13px;padding:10px 12px}.student-account{gap:2px}.student-account .btn-ghost{padding:9px 7px}.brand{font-size:21px}.panel{padding:18px}.homework-actions>*{max-width:100%}.topbar{gap:10px}}
@media(prefers-reduced-motion:reduce){.btn-primary,.btn-ghost,.btn-secondary,.student-sidebar a{transition:none;transform:none}}
.login-card{background:#fff;border:1px solid #dce8ed;border-radius:14px;box-shadow:0 8px 25px #192c3a06}.login-wrap{background:transparent}.login-card .page-title{font-family:var(--font-family)}.login-card input{font-family:Manrope,Arial,sans-serif}
@media(min-width:1001px){.feed-grid .feed-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(170px,auto);column-gap:24px;align-items:start}.feed-grid .feed-card>*{grid-column:1;min-width:0}.feed-grid .feed-card>.homework-actions{grid-column:2;grid-row:1 / span 4;align-self:center;justify-self:end;max-width:300px;margin:0}.feed-grid .feed-card>.work-controls,.feed-grid .feed-card>.embedded-game{grid-column:1/-1}.feed-grid .feed-card .new-marker{justify-self:start}.feed-grid .feed-card .homework-actions .btn-primary{margin:0}}

/* v3: deliberately scoped login and teacher workspace */
.login-wrap{width:100%;max-width:none;box-sizing:border-box;padding:48px 20px;margin:0;display:flex;justify-content:center}
.login-card{box-sizing:border-box;width:100%;max-width:480px;padding:34px 36px;margin:0;align-self:flex-start}
.login-card .page-title{font-size:34px;margin:12px 0 14px}.login-card .eyebrow{margin:0;font-size:11px;letter-spacing:.18em}
.login-card .page-sub{font-size:15px;line-height:1.65;margin-bottom:0}.login-card .field-label{font-size:12px;margin-bottom:8px}
.login-card input{box-sizing:border-box;width:100%;height:48px;padding:12px 14px}.login-card .btn-primary{min-height:46px}
.shell:has(.two-col){padding:24px;max-width:1220px}.shell:has(.two-col) .page-head{padding-top:0;margin-bottom:22px}.shell:has(.two-col) .page-sub{font-size:14px;max-width:760px;line-height:1.6}.shell:has(.two-col) .page-title{font-size:32px}
.two-col{grid-template-columns:235px minmax(0,1fr);gap:24px}.two-col>div{min-width:0}.two-col>div:first-child{background:#e8f3f6;padding:14px;border-radius:12px}
.two-col #manage-toggle{width:100%;font-size:12px;line-height:1.5;padding:11px;margin-bottom:12px!important}
.student-list{gap:5px}.student-pill{padding:10px;border:1px solid transparent;border-radius:7px;justify-content:flex-start;gap:10px;background:transparent;font-size:13px;min-height:55px}.student-pill>span:last-child{text-align:left}.student-pill.active{background:#783e48;border-color:#783e48;color:#fff}.student-pill .person-avatar{width:32px!important;height:32px!important;min-width:32px;font-size:20px!important}.student-pill small{font-size:11px;opacity:.75}
.two-col .tabs{gap:7px;flex-wrap:wrap;margin-bottom:18px}.two-col .tabs>*{font-size:12px;padding:10px 12px}.two-col h2{font-family:Manrope,Arial,sans-serif;font-size:20px}.two-col h3{font-size:16px}.two-col .item{padding:16px;margin-bottom:10px}.two-col .panel{padding:18px}.two-col .embedded-game{margin:12px 0}.two-col .embedded-game summary{padding:12px;font-size:14px}
@media(max-width:800px){.two-col{grid-template-columns:190px minmax(0,1fr);gap:16px}.shell:has(.two-col){padding:18px}}
@media(max-width:600px){.login-wrap{padding:28px 16px}.login-card{padding:26px 23px}.login-card .page-title{font-size:29px}.two-col{grid-template-columns:1fr}.student-list{max-height:240px;overflow:auto}.shell:has(.two-col) .page-title{font-size:28px}}
/* v4: wrap every action group without hiding controls */
.vocab-tools,.training-modes,.vocab-view-tabs,.homework-actions,.work-controls{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.work-controls>textarea,.work-controls>select,.work-controls>label,.work-controls>p{flex-basis:100%}
.password-welcome .vocab-tools{gap:12px;margin-top:18px}.password-welcome .vocab-tools>button{margin:0;white-space:normal}
.account-dialog form>button{margin:8px 8px 0 0}
button,.btn-primary,.btn-ghost,.btn-secondary,.tab{box-sizing:border-box;max-width:100%;white-space:normal;overflow-wrap:anywhere;line-height:1.45}
.tabs,.topbar-right,.learning-tabs{flex-wrap:wrap;gap:10px}.panel,.feed-card,.item,.shell{min-width:0;overflow-wrap:anywhere}
@media(max-width:600px){.password-welcome .vocab-tools{display:grid;grid-template-columns:1fr;width:100%}.password-welcome .vocab-tools>button{width:100%;min-height:46px}.password-welcome h2{font-size:24px}.password-welcome p{font-size:14px;line-height:1.6}.account-dialog{padding:22px;max-height:calc(100dvh - 32px);overflow:auto}.account-dialog form>button{display:block;width:100%;margin:10px 0 0}.student-sidebar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.student-sidebar a{min-width:0;white-space:normal;line-height:1.4;padding:10px;font-size:12px}.student-sidebar a strong{white-space:normal}.student-account{flex-wrap:wrap}.topbar{flex-wrap:wrap}.topbar-right{width:100%}.homework-actions>*{flex:1 1 140px}.vocab-tools>*{min-width:0}.vocab-tools>button{flex:1 1 135px}.teacher-assignment-row{gap:10px}.student-layout .shell{padding:15px}.panel{padding:16px}input,textarea,select{box-sizing:border-box;min-width:0;max-width:100%}}

/* motion-v7.css */
@keyframes vl-page-enter{from{opacity:.5;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes vl-dialog-enter{from{opacity:.4;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}
@keyframes vl-line-reveal{from{scale:0 1}to{scale:1 1}}
@keyframes vl-handwriting{from{stroke-dashoffset:220}to{stroke-dashoffset:0}}
@media(prefers-reduced-motion:no-preference){
 .hero-title .script-underline path{stroke-dasharray:220;animation:vl-handwriting 1s .45s cubic-bezier(.22,1,.36,1) both}
 .library-card,.chat-main,.teacher-sidebar,.student-sidebar{animation:vl-page-enter .42s cubic-bezier(.16,1,.3,1) both}
 dialog[open]{animation:vl-dialog-enter .28s cubic-bezier(.16,1,.3,1) both}
 .generated-art,.generated-approach,.library-intro>img{transform-style:preserve-3d;transition:transform .5s cubic-bezier(.2,.8,.2,1)}
 .library-card,.exam-card,.format-card{transition:box-shadow .3s,border-color .3s}
 .library-card:hover{border-color:#c9dce2;box-shadow:0 9px 26px #2548580a}
 button,.btn-primary,.btn-ghost{transition:background-color .2s,box-shadow .25s,translate .25s}
 button:active,.btn-primary:active,.btn-ghost:active{translate:0 1px}
 .library-tabs button,.teacher-sidebar a{transition:background-color .24s,color .24s,translate .24s}
}
.vl-scroll-progress{position:fixed;top:0;left:0;height:2px;width:100%;background:#783e48;transform-origin:left;scale:0 1;z-index:100;pointer-events:none}
@media(prefers-reduced-motion:reduce){.vl-scroll-progress{display:none}}

/* glass-system.css */
/* Shared visual theme only. Application scripts and state selectors stay intact. */
:root{--glass-surface:linear-gradient(125deg,#ffffffc9,#eef2f580);--glass-border:#ffffffed;--glass-shadow:inset 0 1px 2px #fff,0 12px 36px #2437470c}
body:is(.glass-public,.glass-cabinet){--font-serif:var(--font-sans,Arial,sans-serif);--background:#fbfbfc;--foreground:#20242c;--primary:#800020;--accent:#800020;--primary-foreground:#fff;--card:#ffffffad;--border:#d6dfe5;--muted-foreground:#596674;--cream:#fbfbfc;--paper:#f6f8fa;--wine:#800020;--wine-dark:#650019;--wine-tint:#8000200e;--navy:#202a35;--navy-soft:#202a350a;--ice:#e5ebf0;--ink:#20242c;--muted:#596674;--line:#d6dfe5;--taupe:#c1cbd3;background:radial-gradient(ellipse at 95% 5%,#dce5eb9c,transparent 42%),radial-gradient(ellipse at 0% 65%,#e2e7ed70,transparent 40%),#fbfbfc;color:#20242c;font-family:Manrope,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body:is(.glass-public,.glass-cabinet) :is(h1,h2,h3,.page-title,.logo,.footer-logo,.footer-script){font-family:inherit;letter-spacing:-.035em}
body:is(.glass-public,.glass-cabinet) :is(button,input,select,textarea){font-family:inherit}
body:is(.glass-public,.glass-cabinet) :is(.header,.topbar,.inner-hero,.inner-chapter,.scenario-card,.pull-quote,.material-card,.format-card,.faq-item,.verb-studio,.quick-test,.panel,.item,.vocab-card,.feed-card,.student-sidebar,.teacher-sidebar,.diag-card,.diag-dialog,.activity-panel,.catalog-row,.lesson-card,.unit-card,.next-step,.dashboard-card){background:var(--glass-surface);border:1px solid var(--glass-border);border-radius:24px;box-shadow:var(--glass-shadow);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
body.glass-public .header{margin:18px auto 24px;padding:18px 24px;max-width:1320px;width:calc(100% - 32px);gap:20px}
body.glass-public .inner-hero{padding:32px;margin-bottom:28px}
body.glass-public .inner-chapter{padding:28px;margin-bottom:24px}
body.glass-public :is(.scenario-card,.material-card,.format-card){padding:26px}
body.glass-public :is(.generated-art,.inner-art){border-radius:22px;overflow:hidden}
body.glass-public :is(.section-soft,.inner-body,.content){background:transparent}
body.glass-public :is(.btn,.primary),body.glass-cabinet .btn-primary{background:linear-gradient(150deg,#992440,#800020 70%);color:#fff;border:1px solid #ffffff70;border-radius:18px;box-shadow:inset 0 1px 1px #ffffff60,0 7px 20px #80002018;text-decoration:none}
body:is(.glass-public,.glass-cabinet) :is(.btn-ghost,.btn-secondary,.cabinet-access,.tab){background:#ffffff8a;color:#293642;border-color:#c3cfd8;border-radius:16px}
body:is(.glass-public,.glass-cabinet) :is(input:not([type=checkbox]):not([type=radio]),textarea,select){background:#ffffffd9;color:#20242c;border-color:#c5cfd8;border-radius:12px}
body:is(.glass-public,.glass-cabinet) :is(a,button,input,select,textarea):focus-visible{outline:3px solid #800020;outline-offset:3px}
body.glass-cabinet .topbar{border-radius:0 0 22px 22px}
body.glass-cabinet :is(.feed-grid .feed-card,#overview>.panel:nth-of-type(2n),.student-sidebar,.teacher-sidebar){background:var(--glass-surface)}
body.glass-cabinet :is(.student-sidebar,.teacher-sidebar) a[aria-current=page],body.glass-cabinet :is(.learning-tabs,.homework-filters,.upload-tabs) [aria-pressed=true],body.glass-cabinet .tab.active{background:#80002010;color:#800020;border-color:#80002045}
body.glass-cabinet :is(.feed-card>small,.eyebrow,.student-sidebar>p,.teacher-sidebar>p){color:#800020}
body.glass-cabinet :is(.homework-count,.new-marker){background:#800020;color:white}
body.glass-cabinet .student-sidebar strong{display:flex;align-items:center;justify-content:space-between;gap:8px}
body.glass-cabinet :is(.work-controls,.resource-actions){border-color:#d6dfe5}
body.glass-cabinet .student-card.active{background:#273640;color:white}
/* Games use the charcoal glass counterpart, retaining their artwork and status colors. */
body.glass-game{--ink:#f3f5f7;--muted:#c6cfd7;--paper:#27333d;--bg:#1e2932;--panel:#2b3945;--card:#2b3945;--dark:#1b252d;--wine:#800020;--blue:#dcb4c1;--green:#e6bccb;--cyan:#c2dbe7;--gold:#e2bbc9;--teal:#e2bbc9;--line:#8294a14d;background:radial-gradient(ellipse at 85% 0%,#52616d,transparent 65%),#202b34;color:#f3f5f7;font-family:Manrope,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body.glass-game :is(.mission-top,.topbar,header,.progress-shell,.audio-card,.bonus-card,.news-panel,.progress-card,.vocab-card,.audio-panel,.tip-panel,.ask-panel,.tf-card){background:linear-gradient(125deg,#ffffff16,#ffffff07);border:1px solid #ffffff35;border-radius:22px;box-shadow:inset 0 1px 1px #ffffff30,0 12px 35px #00000010;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);color:#f3f5f7}
body.glass-game :is(.mission-top,header,.topbar){border-radius:0 0 22px 22px}
body.glass-game :is(.primary,button.primary,a.primary){background:linear-gradient(140deg,#9b2948,#800020);color:#fff;border:1px solid #ffffff50;border-radius:16px}
body.glass-game :is(.primary,button.primary,a.primary):hover:not(:disabled){background:#942440;color:#fff}
body.glass-game :is(button,input,textarea,select){font-family:inherit}
body.glass-game :is(input,textarea,select){color:#20242c;background:#f6f8fa;border-color:#b9c8d1;border-radius:10px}
body.glass-game :is(a,button,input,textarea,select):focus-visible{outline:3px solid #e8b5c7;outline-offset:3px}
body.glass-game :is(.back,.back-link,.storage-note,.mission-footer){color:#c6cfd7}
body.glass-game :is(.brand,.brand span){color:#f3f5f7}
/* Homepage corrections. */
.glass-home .exam-list svg,.glass-home .exam-card--featured .exam-list svg{color:#800020;stroke:#800020;flex-shrink:0}
.glass-home .aud-more svg,.glass-home .formats-teaser-copy a svg{display:none}
.glass-home .mission-radar{position:absolute;right:24px;bottom:20px;width:160px;height:160px;opacity:.14;pointer-events:none;background:repeating-radial-gradient(circle,transparent 0 24px,#e5c1cd70 25px 26px);z-index:0}
.glass-home .mission-radar i{left:110px;top:40px;width:7px;height:7px}
.glass-home .free-promo-game>:not(.mission-radar){position:relative;z-index:1}
@media(max-width:700px){body.glass-public .header{padding:16px;gap:14px;flex-wrap:wrap}body.glass-public .inner-hero,body.glass-public .inner-chapter{padding:22px}.glass-home .mission-radar{width:120px;height:120px;right:12px;bottom:12px}}
@supports not (backdrop-filter:blur(1px)){body:is(.glass-public,.glass-cabinet) .panel{background:#f0f4f7}}
body.glass-game-light{--ink:#202a35;--muted:#596674;--paper:#f5f7fa;--bg:#fbfbfc;--panel:#f1f5f8;--card:#f5f7fa;--dark:#f0f4f7;--blue:#800020;--green:#800020;--gold:#800020;--teal:#800020;--line:#cbd5dd;background:radial-gradient(ellipse at 95% 5%,#dce5eb9c,transparent 42%),#fbfbfc;color:#202a35}
body.glass-game-light :is(.mission-top,.topbar,header,.progress-shell,.audio-card,.bonus-card,.news-panel,.progress-card,.vocab-card,.audio-panel,.tip-panel,.ask-panel,.tf-card){background:var(--glass-surface);color:#202a35;border-color:#fff;box-shadow:var(--glass-shadow)}
body.glass-game-light :is(.brand,.brand span){color:#202a35}
body.glass-game-light :is(.back,.back-link,.storage-note,.mission-footer){color:#596674}
body.glass-game-light :is(.primary,button.primary,a.primary){color:#fff}
body.glass-game-light :is(a,button,input,textarea):focus-visible{outline-color:#800020}
body.glass-game :is(h1,h2,h3){font-family:inherit}
body.glass-game:not(.glass-game-light) :is(h1 em,.eyebrow,.sentence,.share-status){color:#e6bccb}
body.glass-game:not(.glass-game-light) :is(.secondary,nav button[aria-current=step],.reason button[aria-pressed=true]){background:#e3c4cf;color:#30232a}
body.glass-game :is(.operation-map,.transmission){background:linear-gradient(125deg,#ffffff12,#ffffff06);border:1px solid #ffffff35;border-radius:22px}
body.glass-game-light :is(.operation-map,.transmission){background:var(--glass-surface);border-color:#d6dfe5}
body.glass-public :is(.topic,.human-note,.top){background:var(--glass-surface);border:1px solid #fff;border-radius:24px;box-shadow:var(--glass-shadow);backdrop-filter:blur(18px)}
body.glass-public .featured{background:linear-gradient(135deg,#42515c,#1e2932);color:#fff;border:1px solid #ffffff80;border-radius:28px}
body.glass-public .feature-text h2 span{color:#e6bccb}
body.glass-public .circle-arrow{background:#800020;color:white}
body.glass-cabinet :is(.brand,.dashboard-summary strong){font-family:inherit}
body.glass-cabinet :is(.dashboard-summary>div,.dashboard-next,.feedback-note,.review-mistakes){background:var(--glass-surface);border:1px solid #fff;border-radius:24px;box-shadow:var(--glass-shadow)}
body.glass-cabinet .student-sidebar a[aria-current=page] small,body.glass-cabinet .teacher-sidebar a[aria-current=page] small{color:#654652}
body.glass-cabinet .feed-grid .feed-card{border-radius:24px;border-color:#fff;box-shadow:var(--glass-shadow)}
body.glass-cabinet .panel.next-action{background:linear-gradient(125deg,#e3eaf0d9,#ffffff90);border:1px solid #fff;border-radius:24px;box-shadow:var(--glass-shadow)}
/* Practice invitation: silver glass and wine accents; existing motion retained. */
body:is(.glass-public,.glass-home) .try-now{background:linear-gradient(125deg,#e2e8efd9,#f5f7faad);border:1px solid #fff;box-shadow:inset 0 1px 2px #fff,0 16px 40px #263c5010;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);color:#20242c}
body:is(.glass-public,.glass-home) .try-sample{background:linear-gradient(135deg,#ffffffed,#f6f8fbbd);border-color:#fff;box-shadow:inset 0 1px 2px #fff,0 12px 28px #273c5010;color:#20242c}
body:is(.glass-public,.glass-home) .try-sample>span{background:#8000200d;color:#800020}
body:is(.glass-public,.glass-home) .try-sample:after{color:#800020}
body.glass-public .topic-level{font-family:inherit;font-size:16px;font-weight:650;letter-spacing:.015em;line-height:1.45;color:#800020}
body.glass-public .human-note{padding:32px;background:linear-gradient(125deg,#e2e8efbd,#ffffff90);gap:30px}
body.glass-public .human-note .hand{font:600 24px/1.3 Manrope,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:-.035em;transform:none;max-width:180px;flex:0 0 170px;color:#800020}
body.glass-public .circle-arrow:empty{display:none}
@media(max-width:700px){body.glass-public .human-note{padding:24px;flex-direction:column;align-items:flex-start}body.glass-public .human-note .hand{flex-basis:auto;max-width:none}body.glass-public .topic-level{font-size:15px}}
/* Open contact pickers must sit above neighboring glass stacking contexts. */
body :is(.format-card,.inner-chapter,.inner-body,.inner-hero,.header,.footer-top,.content,.glass-intro,.hero-content):has(.contact-options:not([hidden])){position:relative;z-index:150;overflow:visible}
body .contact-options{z-index:200}
/* Successful connection is implementation detail; errors and demo notices remain visible. */
body.glass-cabinet .live-banner{display:none}
body.glass-cabinet :is(.topbar,.student-sidebar,.teacher-sidebar){background:linear-gradient(125deg,#ffffff65,#ffffff18);border-color:#ffffffa0;box-shadow:inset 0 1px 2px #fff9,0 10px 30px #23374909;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
body.glass-cabinet .panel.activity-panel{background:linear-gradient(125deg,#3d4d58,#202c36);color:#f5f7fa;border:1px solid #ffffff80;box-shadow:inset 0 1px 2px #ffffff60,0 15px 38px #24374718}
body.glass-cabinet .activity-panel .btn-ghost{background:#ffffff12;color:#fff;border-color:#ffffff65}
body.glass-cabinet .activity-panel .activity-row{border-color:#ffffff25;gap:16px}
.activity-description{flex:1;min-width:0}.activity-description p{font-size:14px;line-height:1.5;margin:5px 0 0;overflow-wrap:anywhere;color:#d6e0e7}
body.glass-cabinet .feed-grid .feed-card{background:linear-gradient(125deg,#ffffff85,#ffffff30)}
body.glass-cabinet #student-list{background:transparent}
@media(hover:hover) and (prefers-reduced-motion:no-preference){body.glass-cabinet :is(.feed-card,.vocab-card,.student-sidebar a,.teacher-sidebar a){transition:box-shadow .3s,background .3s}body.glass-cabinet :is(.feed-card,.vocab-card):hover{background:#ffffffa0;box-shadow:inset 0 1px 2px #fff,0 14px 35px #24374716}body.glass-cabinet :is(.student-sidebar a,.teacher-sidebar a):hover{box-shadow:inset 0 0 0 1px #ffffffcf;background:#ffffff70}}
/* Graphite workspace with clear glass navigation and neutral paper for study. */
body.glass-cabinet{--ink:#f5f6f7;--navy:#f5f6f7;--muted:#cfd3d8;--paper:#f5f6f7;--cream:#e9ebed;--line:#ffffff35;--glass-surface:linear-gradient(125deg,#ffffff17,#ffffff05);--glass-shadow:inset 0 1px 1px #ffffff55,0 14px 32px #10151c12;background:radial-gradient(ellipse at 15% 0%,#78808966,transparent 55%),radial-gradient(ellipse at 95% 65%,#92979e35,transparent 55%),#42474e;color:#f5f6f7;background-attachment:fixed}
body.glass-cabinet :is(.shell,.content,.teacher-layout){background:transparent;color:inherit}
body.glass-cabinet :is(.topbar,.student-sidebar,.teacher-sidebar,.panel,.feed-card,.vocab-card,.login-card,.student-list){background:var(--glass-surface);color:#f5f6f7;border:1px solid #ffffff40;box-shadow:var(--glass-shadow);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:24px}
body.glass-cabinet :is(h1,h2,h3,h4,.brand,.page-title){color:inherit}
body.glass-cabinet :is(.muted,.page-sub,.field-label,.student-sidebar small,.teacher-sidebar small,.feed-card small){color:#cfd3d8}
body.glass-cabinet :is(.eyebrow,.kicker){color:#e8b6c6}
body.glass-cabinet :is(.btn-ghost,.learning-tabs button,.avatar-choice,.feed-filters button){background:linear-gradient(130deg,#ffffff15,#ffffff04);border:1px solid #ffffff55;color:inherit;box-shadow:inset 0 1px 1px #ffffff40;border-radius:24px}
body.glass-cabinet :is(.student-sidebar a,.teacher-sidebar a){color:#f5f6f7}
body.glass-cabinet :is(.student-sidebar a,.teacher-sidebar a)[aria-current=page]{background:#ffffff14;color:#fff;box-shadow:inset 0 0 0 1px #ffffff45}
body.glass-cabinet :is(.student-sidebar a,.teacher-sidebar a)[aria-current=page] small{color:#dce0e4}
body.glass-cabinet .panel.next-action,body.glass-cabinet :is(.diag-card,.diag-dialog){background:linear-gradient(125deg,#fafbfc,#e9ecef);color:#252a31;border:1px solid #fff;--muted:#626b75;--ink:#252a31;--navy:#252a31;--line:#cbd0d6;box-shadow:inset 0 1px 2px #fff,0 16px 32px #11182018}
body.glass-cabinet :is(.next-action,.diag-card) .eyebrow{color:#800020}
body.glass-cabinet :is(.diag-options button,.diag-jump button){background:linear-gradient(125deg,#ffffffdc,#f0f2f4a0);color:#252a31;border:1px solid #c7cdd4;box-shadow:inset 0 1px 1px #fff}
body.glass-cabinet .diag-options button[aria-pressed=true]{background:#800020;color:#fff;border-color:#800020}
body.glass-cabinet .diag-jump button[data-done=true]{background:#dee5e9;color:#252a31}
body.glass-cabinet :is(input,textarea,select){background:#f4f6f8;color:#252a31;border:1px solid #bfc6ce;border-radius:16px}
body.glass-cabinet :is(input,textarea,select):focus-visible{outline:2px solid #dba4b6;outline-offset:3px;border-radius:16px}
body.glass-cabinet .login-wrap{padding-top:clamp(35px,7vh,90px)}
body.glass-cabinet .login-card{padding:clamp(26px,4vw,44px);border-radius:30px;background:linear-gradient(130deg,#ffffff23,#ffffff09)}
body.glass-cabinet .login-card .btn-primary{border-radius:24px;min-height:54px}
body.glass-cabinet #avatars{display:grid;grid-template-columns:repeat(auto-fit,64px);gap:12px;margin:24px 0}
body.glass-cabinet .avatar-choice{width:64px;height:64px;font-size:32px;cursor:pointer}
body.glass-cabinet .avatar-choice[aria-pressed=true]{background:#80002080;border-color:#f3bbc9;box-shadow:0 0 0 2px #f3bbc945}
@media(hover:hover){body.glass-cabinet :is(.btn-ghost,.avatar-choice,.feed-card,.student-sidebar a,.teacher-sidebar a):hover{background:#ffffff20;box-shadow:inset 0 1px 2px #ffffff70,0 10px 24px #11182018}}
@media(prefers-reduced-motion:no-preference){body.glass-cabinet :is(.btn-ghost,.avatar-choice,.feed-card){transition:background .25s,box-shadow .25s,transform .25s}body.glass-cabinet .avatar-choice:hover{transform:translateY(-3px)}}
body.glass-cabinet .shell :is(p,small){color:#d3d7dc}
body.glass-cabinet :is(.shell,.student-sidebar,.teacher-sidebar) .eyebrow{color:#efbdcc}
body.glass-cabinet :is(.student-sidebar,.teacher-sidebar)>p{color:#efbdcc}
body.glass-cabinet .panel.next-action{background:linear-gradient(125deg,#fafbfc,#e9ecef)!important}
body.glass-cabinet :is(.next-action,.diag-card,.diag-dialog) :is(p,small){color:#626b75}
body.glass-cabinet .next-action .eyebrow{color:#800020}
body.glass-cabinet [data-filter][aria-pressed=true]{background:#80002090;color:white;border-color:#df9cb1}
/* v14: teacher controls and light lesson lobby. */
body.glass-cabinet .two-col>div:has(>#student-list){background:linear-gradient(125deg,#ffffff17,#ffffff06);border:1px solid #ffffff40;border-radius:24px;padding:16px;box-shadow:var(--glass-shadow)}
body.glass-cabinet #student-list{border:0;box-shadow:none;padding:0;background:transparent}
body.glass-cabinet #student-list .student-pill{background:transparent;color:#f6f7f8;border:1px solid transparent;border-radius:18px}
body.glass-cabinet #student-list .student-pill small{color:#d5d9df;opacity:1}
body.glass-cabinet #student-list .student-pill.active,body.glass-cabinet .tabs .tab.active{background:linear-gradient(125deg,#934052,#702337);color:#fff;border:1px solid #e4aabc;box-shadow:inset 0 1px 2px #ffffff70;border-radius:28px}
body.glass-cabinet #student-list .student-pill.active small{color:#f4dce3}
body.glass-cabinet #student-list .count{background:#800020;color:#fff;border:1px solid #ebc5d1}
body.glass-cabinet .tabs .tab:not(.active){background:linear-gradient(125deg,#ffffff18,#ffffff07);color:#f5f6f7;border:1px solid #ffffff55;border-radius:28px}
body.glass-cabinet .teacher-sidebar>p{font-size:16px;font-weight:700;line-height:1.45;letter-spacing:.06em;color:#f5e7ec;margin:20px 10px 12px}
body.glass-cabinet .topbar .teacher-role{color:#f3f4f6;font-size:14px;font-weight:500;letter-spacing:0;padding:8px 14px;border:1px solid #ffffff40;border-radius:24px;background:#ffffff0c}
body.lobby.glass-public .lobby-hero h1 em{font-family:inherit;font-style:normal;font-weight:inherit}
body.lobby.glass-public :is(.top,.topic,.human-note){background:linear-gradient(125deg,#ffffff70,#ffffff18);border:1px solid #ffffffc0;box-shadow:inset 0 1px 2px #fff,0 14px 30px #26323e0a;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
body.lobby.glass-public .age-tabs button{background:linear-gradient(125deg,#ffffff80,#ffffff15);border:1px solid #c8ced5;border-radius:24px;color:#292d34;box-shadow:inset 0 1px 1px #fff}
body.lobby.glass-public .age-tabs button[aria-pressed=true]{background:linear-gradient(125deg,#934052,#702337);color:white;border-color:#d6a6b5}
body.lobby.glass-public .topic-foot{font-family:inherit;font-size:14px;color:#800020}
@media(hover:hover){body.glass-cabinet #student-list .student-pill:not(.active):hover{background:#ffffff18;border-color:#ffffff45}body.lobby.glass-public .topic.ready:hover{background:linear-gradient(125deg,#ffffffc0,#ffffff50);border-color:#d2b7c0;box-shadow:inset 0 1px 2px #fff,0 20px 38px #26323e18}body.lobby.glass-public .age-tabs button:not([aria-pressed=true]):hover{background:#ffffffc0;border-color:#a77988}}
@media(hover:hover) and (prefers-reduced-motion:no-preference){body.lobby.glass-public .topic.ready{transition:transform .3s,background .3s,box-shadow .3s,border-color .3s}body.lobby.glass-public .topic.ready:hover{transform:translateY(-6px)}body.lobby.glass-public .age-tabs button{transition:background .25s,border-color .25s}}
/* v15: readable messaging and lightweight public navigation. */
body.glass-cabinet .chat-layout>aside,body.glass-cabinet .chat-main{background:linear-gradient(125deg,#ffffff16,#ffffff05);border:1px solid #ffffff40;border-radius:24px;box-shadow:var(--glass-shadow);color:#f4f6f8}
body.glass-cabinet .chat-bubble{background:#ffffff16;color:#fff;border:1px solid #ffffff30}
body.glass-cabinet .chat-bubble.mine{background:#702337;color:white}
body.glass-cabinet .chat-thread[aria-current=true]{background:#702337;color:white;border-color:#e4aabc}
body.glass-cabinet #chat-form textarea{background:#f1f3f5;color:#252a31}
body.glass-cabinet #chat-form textarea::placeholder{color:#626b75;opacity:1}
body.lobby.glass-public .topic{background:linear-gradient(125deg,#ffffff35,#ffffff08);border-color:#ffffff95;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
body.lobby.glass-public .lobby-hero .primary{display:inline-flex;align-items:center;justify-content:center;text-align:center;gap:0;padding:16px 28px}
body.lobby.glass-public .primary span:empty{display:none}
body.lobby.glass-public .top{border-radius:28px;margin:16px auto;padding:18px 24px;max-width:1200px;width:calc(100% - 32px);box-sizing:border-box;background:linear-gradient(125deg,#ffffff35,#ffffff08)}
body.lobby.glass-public .top .brand{font-family:inherit;letter-spacing:-.04em}
body.lobby.glass-public .top .brand small{display:none}
.quick-navigation{position:fixed;right:24px;bottom:24px;z-index:500;color:#252a31;font:500 16px/1.5 Manrope,Arial,sans-serif}
.quick-navigation summary{list-style:none;cursor:pointer;padding:12px 24px;border:1px solid #fff9;border-radius:28px;background:#f1f3f5dc;backdrop-filter:blur(12px);box-shadow:0 5px 25px #18253325;text-align:center}
.quick-navigation summary::-webkit-details-marker{display:none}
.quick-navigation nav{position:absolute;bottom:64px;right:0;width:240px;padding:12px;border-radius:24px;border:1px solid #fff;background:#f1f3f5ed;backdrop-filter:blur(18px);box-shadow:0 12px 35px #18253325;display:grid}
.quick-navigation a{padding:12px;border-radius:14px;text-decoration:none;color:inherit}
.quick-navigation a:hover,.quick-navigation a:focus-visible{background:#80002012;color:#800020}
@media(max-width:600px){.quick-navigation{right:16px;bottom:max(16px,env(safe-area-inset-bottom))}.quick-navigation nav{max-height:65dvh;overflow:auto}.teacher-account{flex-wrap:wrap}body.lobby.glass-public .top{padding:16px;gap:14px;flex-wrap:wrap}.quick-navigation summary{padding:10px 20px}}
body.glass-cabinet.profile-only #choose,body.glass-cabinet.profile-only .learning-tabs,body.glass-cabinet.profile-only #profile>h2{display:none!important}
body.glass-cabinet .avatar-choice{display:flex;align-items:center;justify-content:center;padding:0!important;line-height:1;margin:0;box-sizing:border-box}
body.glass-cabinet .person-avatar{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;padding:0;line-height:1}
.chat-bubble>.person-avatar{width:32px;height:32px;font-size:23px;margin-right:8px;vertical-align:middle}.chat-bubble>.person-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.quick-navigation[hidden]{display:none!important}
/* v18: silver glass across the public information pages. */
body.glass-public:not(.lobby){--glass-surface:linear-gradient(125deg,#ffffff65,#ffffff18);--glass-border:#ffffffdf;--glass-shadow:inset 0 1px 2px #fff,inset 0 -1px 1px #ffffff55,0 18px 38px #25364512;background:radial-gradient(ellipse at 5% 12%,#b9c4ca80,transparent 50%),radial-gradient(ellipse at 90% 50%,#c5cfd666,transparent 55%),linear-gradient(125deg,#d6dfe4,#f3f5f7 65%,#dce3e8)}
body.glass-public:not(.lobby) .header{background:linear-gradient(125deg,#ffffff32,#ffffff0a);border-color:#ffffffb0;border-radius:28px;box-shadow:inset 0 1px 2px #fff,0 10px 25px #25364509;backdrop-filter:blur(8px)}
body.glass-public:not(.lobby) :is(.inner-hero,.inner-chapter,.scenario-card,.material-card,.format-card,.faq-item,.verb-studio,.quick-test,.panel,.item){background:var(--glass-surface);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:28px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
body.glass-public:not(.lobby) .inner-hero{padding:clamp(26px,4vw,48px)}
body.glass-public:not(.lobby) :is(.study-audio,.study-chip,.cabinet-access){background:linear-gradient(125deg,#ffffff55,#ffffff10);border:1px solid #ffffffdf;box-shadow:inset 0 1px 2px #fff,0 10px 24px #2536450d;backdrop-filter:blur(8px)}
body.glass-public:not(.lobby) .format-price{color:#800020}
@media(hover:hover) and (prefers-reduced-motion:no-preference){body.glass-public:not(.lobby) :is(.material-card,.format-card,.scenario-card,.faq-item){transition:background .3s,box-shadow .3s,border-color .3s}body.glass-public:not(.lobby) :is(.material-card,.format-card,.scenario-card,.faq-item):hover{background:linear-gradient(125deg,#ffffff95,#ffffff30);border-color:#fff;box-shadow:inset 0 1px 3px #fff,0 24px 42px #25364520}}
/* Embedded exercise controls must contrast with their own surface. */
body.glass-cabinet .embedded-game>summary{background:linear-gradient(125deg,#f5f7f9,#e4eaef);color:#252d36;border:1px solid #ffffffb0;border-radius:16px;font-weight:600;box-shadow:inset 0 1px 2px #fff;padding:14px 18px;cursor:pointer}
body.glass-cabinet .embedded-game>summary:hover{background:#fff;color:#800020}
body.glass-cabinet .embedded-game>summary:focus-visible{outline:2px solid #eab4c6;outline-offset:3px}
body.glass-cabinet .embedded-game>a{color:#f2dbe3}
/* Quote panels use dark text on silver glass. */
body.glass-public .pull-quote,body.glass-public .pull-quote p{color:#252d36}
body.glass-public .pull-quote cite{color:#515d69;font-style:normal;opacity:1}

/* v23: readable labels on their own light surfaces. */
body.glass-cabinet .embedded-game>summary{color:#24313b!important;background:#e8eff3!important;font-weight:600}
body.glass-cabinet .embedded-game>summary:hover{color:#800020!important;background:#f5f7f9!important}
body.glass-cabinet .diag-result{color:#293744!important;background:#e7edf0!important;opacity:1!important}
body.glass-cabinet .diag-result.correct{color:#23523b!important;background:#e0eee5!important}
body.glass-cabinet .diag-result.incorrect{color:#703323!important;background:#f2e1d8!important}
body.glass-cabinet .diag-result.unknown,body.glass-cabinet .diag-result.unanswered{color:#4a4654!important;background:#e9e5ed!important}
body.glass-cabinet .diag-result :is(span,small){color:inherit!important}

/* navigation-v19.css */
html{background:#d6dfe4}body{margin:0;display:flow-root}
body .unified-header{position:relative;inset:auto;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:24px;width:calc(100% - 40px);max-width:1320px;margin:18px auto 28px;padding:18px 24px;border:1px solid #ffffffb0;border-radius:28px;background:linear-gradient(125deg,#ffffff32,#ffffff0a);box-shadow:inset 0 1px 2px #fff,0 10px 25px #25364509;backdrop-filter:blur(10px);color:#20242c;font-family:Manrope,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;z-index:50}
body .unified-logo{font:650 25px/1.2 Manrope,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;letter-spacing:-.045em;text-decoration:none;color:inherit;white-space:nowrap}
body .unified-header nav{display:flex;align-items:center;justify-content:flex-end;gap:20px;flex-wrap:wrap}
body .unified-header nav a{color:inherit;font-size:14px;line-height:1.4;text-decoration:none;white-space:nowrap;padding:8px 0}
body .unified-header nav a:last-child{padding:10px 16px;border:1px solid #ffffffc0;border-radius:25px;background:#ffffff18}
body .unified-header nav a:hover{color:#800020}
body.glass-home .unified-header{position:absolute;top:18px;left:0;right:0;margin:0 auto}
.site-navigation{position:fixed;right:16px;bottom:16px;z-index:1000;color:#20242c;font:14px/1.5 system-ui,sans-serif}.site-navigation summary{cursor:pointer;list-style:none;border:1px solid white;border-radius:24px;padding:12px 20px;background:#edf1f4ee;box-shadow:0 8px 24px #0002}.site-navigation nav{position:absolute;right:0;bottom:58px;width:230px;display:grid;padding:12px;background:#edf1f4f5;border:1px solid white;border-radius:24px;max-height:65vh;overflow:auto}.site-navigation a{padding:12px;color:inherit;text-decoration:none;border-radius:12px}.site-navigation a:hover{background:#80002015}.site-navigation summary::-webkit-details-marker{display:none}
@media(max-width:1000px){body .unified-header{gap:12px;flex-wrap:wrap}body .unified-header nav{justify-content:flex-start;gap:8px 18px}body.glass-home .unified-header{position:relative;margin:0 auto;top:12px}body.glass-home .glass-hero{padding-top:40px}}
@media(max-width:560px){body .unified-header{width:calc(100% - 24px);padding:16px;margin:12px auto 20px;border-radius:24px}body .unified-logo{font-size:23px}body .unified-header nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:4px 12px}body .unified-header nav a{font-size:13px;white-space:normal}body .unified-header nav a:last-child{padding:8px 0;border:0;background:transparent}}
/* Clear account action at every viewport size. */
body .unified-header nav a[href$="cabinet/login.html"]{display:inline-flex;align-items:center;justify-content:center;padding:11px 18px;background:linear-gradient(135deg,#96203f,#800020);border:1px solid #ffffffa0;border-radius:26px;color:#fff;font-weight:600;box-shadow:inset 0 1px 2px #ffffff65,0 6px 18px #80002020}
body .unified-header nav a[href$="cabinet/login.html"]:hover{background:#68001a;color:#fff}

/* mobile-cabinet-v31.css */
body.glass-cabinet [hidden]{display:none!important}
body.glass-cabinet .homework-count:empty{display:none}
body.glass-cabinet .catalog-row{padding:22px;margin:0 0 20px}
body.glass-cabinet .private-files-preview{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;overflow-wrap:anywhere}
body.glass-cabinet .private-files-preview:empty{display:none}
body.glass-cabinet .private-files-preview p{flex-basis:100%;margin:0 0 4px}
body.glass-cabinet .private-files-preview button{max-width:100%;white-space:normal;overflow-wrap:anywhere;text-align:left}
body.glass-cabinet .avatar-choice[aria-pressed=true]{background:#800020!important;outline:2px solid #ffd8e4;outline-offset:2px;box-shadow:inset 0 0 0 1px white!important}
@media(max-width:900px){
 body.glass-cabinet .topbar{position:relative;inset:auto;display:flex;flex-wrap:wrap;align-items:center;gap:12px;width:calc(100% - 24px);margin:12px auto 20px;padding:14px;box-sizing:border-box}
 body.glass-cabinet .topbar>.brand{order:0;margin-right:auto;font-size:18px}
 body.glass-cabinet .topbar>.person-avatar{order:1;width:38px;height:38px;margin:0;font-size:25px;align-self:center}
 body.glass-cabinet .topbar>.teacher-account,body.glass-cabinet .topbar>.student-account{order:2;flex-basis:100%;display:flex;justify-content:flex-end;gap:8px}
 body.glass-cabinet .teacher-menu-toggle{order:3;flex-basis:100%;margin:0}
 body.glass-cabinet .teacher-sidebar{position:relative;inset:auto;margin:0 12px 20px;width:auto;box-sizing:border-box}
 body.glass-cabinet .shell{margin-top:20px!important}
 body.glass-cabinet .catalog-row{padding:18px;margin-bottom:18px}
 body.glass-cabinet .feed-grid{gap:18px}
 body.glass-cabinet .avatar-choice{display:flex;align-items:center;justify-content:center;padding:0;line-height:1}
}
/* v33: pair explicit light surfaces with dark text, including feedback details. */
body.glass-cabinet :is(.feedback-new,.comment-box,.feedback-note,.review-mistakes){background:#eef2f5!important;color:#24313b!important;border:1px solid #c3cdd5!important;border-left:4px solid #800020!important;border-radius:16px;padding:18px;margin:18px 0;line-height:1.65;overflow-wrap:anywhere}
body.glass-cabinet :is(.feedback-new,.comment-box,.feedback-note,.review-mistakes) :is(summary,p,b,strong,small,span,h2,h3){color:#24313b!important;opacity:1}
body.glass-cabinet .feedback-new summary{font-weight:650;cursor:pointer}
body.glass-cabinet :is(.feedback-new,.comment-box,.feedback-note,.review-mistakes) a:not([class*="btn"]){color:#800020;text-decoration:underline}
body.glass-cabinet .feedback.ok{color:#b7efcb}body.glass-cabinet .feedback.no{color:#ffc3c3}body.glass-cabinet .feedback.pending{color:#ffe4a6}
/* Old material links and teacher review screens remain readable too. */
body.glass-cabinet #material-list>.panel,body.glass-cabinet .material-card{background:#eef2f5!important;color:#24313b!important;--ink:#24313b;--navy:#24313b;--muted:#445563;--line:#c3cdd5}
body.glass-cabinet :is(#material-list>.panel,.material-card) :is(h2,h3,p,small,label,.field-label){color:#24313b!important}
body.glass-cabinet :is(#material-list>.panel,.material-card) .btn-ghost{color:#24313b;border-color:#8999a6;background:#e1e8ed}
body.glass-cabinet :is(#material-list>.panel,.material-card) .btn-primary{color:#fff}
body.glass-cabinet :is(.feedback-new,.comment-box,.material-card) :focus-visible{outline:2px solid #800020;outline-offset:3px}
/* One add panel: concise tabs and bounded previews. */
body.glass-cabinet .upload-tabs{display:flex;flex-wrap:wrap;gap:10px}
body.glass-cabinet .upload-tabs button{white-space:normal;min-height:44px;background:#ffffff10;color:#f5f6f7;border:1px solid #ffffff60;border-radius:20px}
body.glass-cabinet .upload-tabs button[aria-pressed=true]{background:#800020;color:#fff;border-color:#f2b9cc}
body.glass-cabinet .quick-vocab-form label{display:block;margin:18px 0}
body.glass-cabinet .quick-vocab-preview{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:14px;margin:20px 0;max-height:480px;overflow:auto}
body.glass-cabinet .quick-word{border:1px solid #ffffff50;padding:18px;border-radius:18px;min-width:0;overflow-wrap:anywhere}
body.glass-cabinet .quick-word input{box-sizing:border-box;width:100%;min-width:0}
body.glass-cabinet .embedded-game iframe{box-sizing:border-box;max-width:100%;width:100%;border:0}
body.glass-cabinet .embedded-game .btn-ghost,body.glass-cabinet .embedded-game>a{display:inline-block;margin:12px 12px 0 0}
@media(max-width:600px){body.glass-cabinet .upload-tabs button{font-size:13px;padding:10px 12px}body.glass-cabinet .resource-upload,body.glass-cabinet .quick-vocab-form{min-width:0}body.glass-cabinet .quick-vocab-preview{grid-template-columns:minmax(0,1fr)}}

/* Dictionary collections retain readable text on their pale surfaces. */
.glass-cabinet .collection-grid button,.glass-cabinet .collection-grid button strong,.glass-cabinet .collection-grid button small,.glass-cabinet .vocab-card,.glass-cabinet .vocab-card label,.glass-cabinet .vocab-card p,.glass-cabinet .vocab-card small,.glass-cabinet .vocab-card blockquote{color:#24313b!important}
.glass-cabinet .collection-grid button[aria-pressed="true"]{outline:2px solid #870027;outline-offset:2px}

/* layout-v38.9.css */
/* Explicit colour pairs for diagnostic surfaces; keep answer buttons' states intact. */
body.glass-cabinet .diag-warning{background:#f4e6d5;color:#493522!important;opacity:1;line-height:1.65;overflow-wrap:anywhere}
body.glass-cabinet .diag-warning :is(p,span,small,strong){color:inherit!important}
body.glass-cabinet .diag-result{color:#24313b!important}
body.glass-cabinet .diag-note{color:#dce0e5!important}
body.glass-cabinet :is(.diag-dialog,.diag-card) :is(.diag-note,.diag-prompt,label){color:#384654!important}
body.glass-cabinet :is(.diag-student-filter,.diag-form input,.diag-form select){color:#24313b!important;background:#f8fafb;max-width:100%;min-width:0;box-sizing:border-box}
body.glass-cabinet .diag-report>.diag-actions{margin:20px 0 24px}
body.glass-cabinet .diag-report>.panel{margin:0 0 20px}
body.glass-cabinet .diag-library>.panel{display:flex;flex-direction:column;min-width:0;align-items:flex-start}
body.glass-cabinet .diag-library>.panel>button{margin-top:auto;max-width:100%;white-space:normal}
body.glass-cabinet :is(.diag-actions,.review-actions,.teacher-account,.student-account){flex-wrap:wrap;gap:12px}
body.glass-cabinet :is(.diag-actions,.review-actions,.teacher-account,.student-account)>:is(button,a,select,input){max-width:100%;min-width:0;box-sizing:border-box;white-space:normal;overflow-wrap:anywhere}
body.glass-cabinet .diag-dialog{overflow:auto}
body.glass-cabinet .diag-report{scroll-margin-top:var(--cabinet-nav-top,120px)}
/* Sidebar clearance follows the measured header, not a guessed constant height. */
body.glass-cabinet.teacher-layout .teacher-sidebar{top:var(--cabinet-nav-top,130px)}
body.glass-cabinet .topbar{box-sizing:border-box;flex-wrap:wrap;gap:12px 18px}
body.glass-cabinet .cabinet-release{order:-1}
body.glass-cabinet :is(.diag-library,.diag-report,.diag-form){min-width:0}
body.glass-cabinet .diag-actions>button{min-height:44px}
/* Use the same breakpoint for the rail, page and menu button. */
@media(max-width:900px){
 body.glass-cabinet.teacher-layout{display:flex;flex-direction:column}
 body.glass-cabinet.teacher-layout>.topbar{order:0;position:relative;inset:auto}
 body.glass-cabinet.teacher-layout>.teacher-sidebar{order:1;position:static;inset:auto;display:none;width:auto;margin:0 12px 20px;padding:12px}
 body.glass-cabinet.teacher-layout>.teacher-sidebar.is-open{display:flex;flex-wrap:wrap;gap:8px}
 body.glass-cabinet.teacher-layout .teacher-sidebar>p{width:100%;margin:12px 8px 4px}
 body.glass-cabinet.teacher-layout .teacher-sidebar>a{flex:1 1 180px;margin:0;padding:12px}
 body.glass-cabinet.teacher-layout .teacher-menu-toggle{display:block;order:3;flex-basis:100%;min-height:44px}
 body.glass-cabinet.teacher-layout>.shell{order:2;margin:0 12px 24px!important;width:auto;min-width:0;max-width:none;padding:18px}
 body.glass-cabinet.teacher-layout>#banner-slot{order:1}
 body.glass-cabinet .teacher-role{display:none}
 body.glass-cabinet .diag-actions{align-items:stretch}
 body.glass-cabinet .diag-actions>input[type=file]{width:100%}
}
body.glass-cabinet.student-layout .student-sidebar{top:var(--student-nav-top,140px)}
@media(max-width:900px){
 body.glass-cabinet.student-layout{display:flex;flex-direction:column}
 body.glass-cabinet.student-layout>.topbar{order:0}
 body.glass-cabinet.student-layout>.student-sidebar{order:1;position:static;inset:auto;width:auto;margin:0 12px 20px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:12px}
 body.glass-cabinet.student-layout .student-sidebar>p{grid-column:1/-1}
 body.glass-cabinet.student-layout .student-sidebar a{min-width:0;white-space:normal;overflow-wrap:anywhere;margin:0}
 body.glass-cabinet.student-layout>.shell{order:2;margin:0 12px 24px;width:auto;max-width:none;min-width:0;padding:18px}
}
/* Keep the public-site menu out of the student's answer area. */
body.glass-cabinet>.site-navigation{position:relative;right:auto;bottom:auto;order:10;align-self:flex-end;width:max-content;max-width:calc(100% - 40px);margin:16px 20px 24px auto;z-index:20}
body.glass-cabinet :is(.diag-card,.diag-dialog) .btn-ghost{background:#e5ebf0;border-color:#9aa8b5;color:#24313b;box-shadow:none}
.comment-templates{margin:12px 0 18px;padding:12px;border:1px solid #9faebb;border-radius:14px;max-width:100%;box-sizing:border-box}
.comment-templates summary{cursor:pointer;font-weight:600}
.comment-templates label{display:grid;gap:8px;margin:12px 0}
.comment-template-actions{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}
.comment-templates :is(input,select,button){box-sizing:border-box;max-width:100%;min-width:0;white-space:normal}
.comment-templates>small{display:block;margin-top:12px}
.work-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin:20px 0}
.work-actions label,.work-dialog label{display:grid;gap:8px;min-width:0}
.work-actions :is(select,input,button,a){box-sizing:border-box;max-width:100%;min-width:0;white-space:normal}
.work-card{margin:20px 0;min-width:0;overflow-wrap:anywhere}
.work-card>label{display:flex;align-items:center;gap:10px}
.work-card>label input{width:20px;height:20px;flex:none}
.work-dialog{max-width:640px;width:calc(100% - 32px);max-height:90dvh;overflow:auto;box-sizing:border-box}
.work-dialog form{display:grid;gap:16px}
.work-dialog textarea{width:100%;min-height:120px;box-sizing:border-box}
.work-table-scroll{max-width:100%;overflow:auto}
.work-table-scroll table{border-collapse:collapse;width:100%}
.work-table-scroll :is(th,td){padding:12px;border:1px solid #9aa6b3;text-align:left;vertical-align:top;min-width:120px}
.work-history details{margin:16px 0}
.notice-card{margin:20px 0;overflow-wrap:anywhere}
.notice-card>.btn-ghost{margin-left:12px}
#notices-categories{display:grid;gap:12px;margin:20px 0}
#notices-categories label{display:flex;gap:12px;align-items:center}
#notices-categories input{width:20px;height:20px}
.work-card{scroll-margin-top:var(--cabinet-nav-top,130px)}
.session-recovery{position:fixed;z-index:10000;inset:auto 16px 16px;margin:auto;max-width:680px;padding:18px;background:#fff4df;color:#342615;border:2px solid #975e17;border-radius:18px;box-shadow:0 6px 30px #0004;display:flex;gap:14px;align-items:center;flex-wrap:wrap}.session-recovery p{color:inherit;margin:0;flex:1 1 260px}.session-recovery .btn-primary{white-space:normal;text-align:center}

/* login-loading.css */
.login-loading{text-align:center;padding:20px 4px;color:#f5f6f7}
.login-loading[hidden]{display:none}
.login-spinner{display:block;width:30px;height:30px;margin:0 auto 18px;border:2px solid #ffffff30;border-top-color:#ecc6d1;border-radius:50%;animation:login-spin 1s linear infinite}
.login-loading strong{display:block;font-size:20px;font-weight:600}.login-loading p{font-size:14px;line-height:1.6;color:#d5dce2;margin:10px 0 0}
.login-loading button{margin-top:18px}
@keyframes login-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.login-spinner{animation:none;border-top-color:#ecc6d1}}

/* cabinet-theme-v40.8.css */
/* Shared dark silver design tokens. Worksheet source images retain their own colors. */
html:has(body.glass-cabinet){background:#30383f}
body.glass-cabinet,body.glass-cabinet.student-dashboard-v40{--ink:#edf0f2;--navy:#edf0f2;--muted:#c3cbd1;--paper:#39434b;--line:#ffffff28;--glass-surface:linear-gradient(120deg,#ffffff13,#ffffff06);--glass-border:#ffffff30;--glass-shadow:inset 0 1px 0 #ffffff16,0 10px 25px #121a2015;background:radial-gradient(ellipse at 18% 0,#69798130,transparent 60%),#30383f;background-attachment:fixed;color:#edf0f2;color-scheme:dark;font-family:Manrope,Arial,sans-serif}
body.glass-cabinet .cabinet-icon{width:21px;height:21px;flex:0 0 21px;vertical-align:middle}
body.glass-cabinet :is(.btn-primary,button.btn-primary){background:linear-gradient(110deg,#982344,#800020)!important;border:1px solid #e4a2ba55;color:#fff;box-shadow:inset 0 1px 0 #ffffff20,0 6px 16px #43001b18;border-radius:12px;min-height:42px;font-family:inherit}
body.glass-cabinet :is(.btn-ghost,.btn-secondary,.tab){background:#ffffff07;border:1px solid #ffffff2b;border-radius:12px;color:#e5e8eb;box-shadow:inset 0 1px 0 #ffffff12;min-height:40px;font-family:inherit}
body.glass-cabinet :is(a,button,summary):focus-visible{outline:2px solid #e7b8c8;outline-offset:3px}
body.glass-cabinet :is(input:not([type=checkbox]):not([type=radio]):not([type=file]),textarea,select){background:#303b43;color:#edf0f2;border:1px solid #ffffff35;border-radius:10px;font-family:inherit;max-width:100%}
body.glass-cabinet :is(input,textarea)::placeholder{color:#b9c4cd;opacity:1}
body.glass-cabinet :is(input[type=checkbox],input[type=radio]){accent-color:#a62c52}
body.glass-cabinet :is(.panel,.item,.student-list,.activity-panel,.theme-panel){background:var(--glass-surface);border:1px solid #ffffff30;border-radius:20px;box-shadow:var(--glass-shadow);color:#edf0f2}
body.glass-cabinet.student-dashboard-v40 :is(.dashboard-pane,#dashboard .next-action,#dashboard>div>p,.dashboard-loading){background:linear-gradient(120deg,#ffffff17,#ffffff08)!important;border-color:#ffffff38;box-shadow:var(--glass-shadow)}
body.glass-cabinet.student-dashboard-v40 .feed-grid .feed-card{background:#ffffff06;border-color:#ffffff19;box-shadow:none}
body.glass-cabinet.student-dashboard-v40 .student-bottom-nav{background:#354049ef;border-color:#ffffff30}
body.glass-cabinet.student-dashboard-v40 .student-mobile-menu{background:#354049f7}
body.glass-cabinet.student-dashboard-v40 .homework-tools :is(input,select){background:#303b43}
body.glass-cabinet.student-dashboard-v40 .student-sidebar a[aria-current=page]{background:#bd789625;border-color:#dfb5c73d;color:#f7e8ee}
body.glass-cabinet.student-dashboard-v40 .student-sidebar .sidebar-note{display:none}
body.glass-cabinet :is(h1,h2,h3,.page-title){font-family:inherit;letter-spacing:-.4px}
body.glass-cabinet :is(.hint,.page-sub){color:#c3cbd1}
/* Teacher shell shares the student's palette and navigation density. */
body.glass-cabinet.teacher-layout{display:block;font-size:14px;line-height:1.6}
body.glass-cabinet.teacher-layout>.topbar{position:relative;inset:auto;margin:16px 24px 0;width:auto;max-width:none;padding:16px 22px;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #ffffff2a;border-radius:18px;background:var(--glass-surface);box-shadow:var(--glass-shadow);min-height:72px}
body.glass-cabinet.teacher-layout .brand{font-family:inherit;font-size:24px;font-weight:700;letter-spacing:-.7px;color:#edf0f2;white-space:nowrap}
body.glass-cabinet.teacher-layout .teacher-account{display:flex;align-items:center;flex-wrap:nowrap;gap:8px}
body.glass-cabinet.teacher-layout .teacher-role{display:none}
body.glass-cabinet.teacher-layout .teacher-account .person-avatar{width:34px;height:34px;min-width:34px;flex:0 0 34px;padding:0;margin:0;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center}
body.glass-cabinet.teacher-layout .teacher-account .person-avatar img{width:100%;height:100%;object-fit:cover}
body.glass-cabinet.teacher-layout>.shell{margin:24px 24px 40px 260px!important;padding:0;max-width:none;width:auto;min-width:0;background:none;border:0;box-shadow:none;backdrop-filter:none}
body.glass-cabinet.teacher-layout .teacher-sidebar{position:absolute;left:24px;top:112px!important;bottom:auto;width:214px;margin:0;padding:12px;border:1px solid #ffffff20;border-radius:18px;background:var(--glass-surface);box-shadow:none}
body.glass-cabinet.teacher-layout .teacher-sidebar>p{color:#c5b5c0;font-size:10px;letter-spacing:1.5px;margin:18px 10px 8px}
body.glass-cabinet.teacher-layout .teacher-sidebar>a{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:400;padding:10px 9px;margin:2px 0;border:1px solid transparent;border-radius:11px;color:#dde2e6;line-height:1.4;text-decoration:none;min-height:38px}
body.glass-cabinet.teacher-layout .teacher-sidebar>a[aria-current=page]{background:#bc779528;border-color:#d6a5bc40;color:#f9eaf1}
body.glass-cabinet.teacher-layout .teacher-sidebar>a:hover{background:#ffffff0b;transform:none}
body.glass-cabinet.teacher-layout .teacher-menu-toggle{display:none}
body.glass-cabinet.teacher-layout>.cabinet-release{position:static;margin:0 24px;text-align:right;font-size:10px!important;opacity:.55!important}
body.glass-cabinet.teacher-layout .page-head{margin:0 0 24px}
body.glass-cabinet.teacher-layout .page-title{font-size:34px;margin:5px 0 8px;line-height:1.2;color:#f3f4f5}
body.glass-cabinet.teacher-layout .page-head .eyebrow{font-size:10px;color:#d1b4c2;letter-spacing:1.6px}
body.glass-cabinet.teacher-layout .page-sub{font-size:14px;margin:0}
body.glass-cabinet.teacher-home-v408 #banner-slot .live-banner{display:none}
body.glass-cabinet.teacher-home-v408 .teacher-overview{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(270px,1fr);gap:20px;align-items:start;margin-bottom:28px}
body.glass-cabinet .theme-panel{padding:24px;min-width:0}
body.glass-cabinet .theme-panel h2{font-size:21px;line-height:1.35;margin:0 0 20px;color:#f1f3f5}
body.glass-cabinet .teacher-review-card{min-height:260px}
body.glass-cabinet .teacher-review-card .activity-panel{margin:0;padding:0;border:0;border-radius:0;box-shadow:none;background:none;backdrop-filter:none}
body.glass-cabinet .teacher-review-card .activity-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:14px 0;border-bottom:1px solid #ffffff1a;background:none}
body.glass-cabinet .teacher-review-card .activity-description{flex:1 1 200px;min-width:0}
body.glass-cabinet .teacher-review-card .activity-description strong{font-size:14px;color:#f0e9f0}
body.glass-cabinet .teacher-review-card .activity-description p{font-size:12px;color:#c9d1d6;margin:5px 0;overflow-wrap:anywhere}
body.glass-cabinet .teacher-review-card .activity-description small{color:#b8c3cc;font-size:10px}
body.glass-cabinet .teacher-review-card .activity-row .btn-primary{background:#ffffff09!important;color:#e8d1dc;font-size:12px;border-color:#d7b1c43a;min-height:36px;padding:7px 11px;box-shadow:none}
body.glass-cabinet .teacher-review-card .activity-row .btn-ghost{font-size:11px;min-height:36px;padding:7px 10px}
body.glass-cabinet #start-review{width:100%;margin-top:18px}
body.glass-cabinet .quiet-link{display:block;margin-top:14px;color:#e7b8c8;font-size:12px;text-decoration:none}
body.glass-cabinet .queue-filters{margin:0 0 16px;font-size:12px;color:#d6cbd4}
body.glass-cabinet .queue-filters summary{cursor:pointer}
body.glass-cabinet .review-tools :is(label,p){font-size:12px;color:#cbd3d9}
body.glass-cabinet .teacher-review-card p[role=status]{font-size:12px;color:#c7cfd5;line-height:1.5}
body.glass-cabinet .teacher-schedule #teacher-agenda{font-size:13px;color:#c4cdd4;min-height:115px}
body.glass-cabinet .teacher-lesson-row{display:grid;grid-template-columns:22px minmax(0,1fr);gap:3px 12px;padding:14px 0;border-bottom:1px solid #ffffff1c;text-decoration:none;color:#e9ecef}
body.glass-cabinet .teacher-lesson-row .cabinet-icon{grid-row:1/3}
body.glass-cabinet .teacher-lesson-row span{grid-column:2;color:#cbd2d8;font-size:12px}
body.glass-cabinet #teacher-agenda>small{display:block;font-size:10px;margin:14px 0;color:#b9c5ce}
body.glass-cabinet .theme-action{display:flex;align-items:center;gap:12px;width:100%;padding:13px 14px;min-height:48px;margin-top:10px;border:1px solid #ffffff27;border-radius:12px;background:#ffffff08;color:#e9e9ef;font:inherit;font-size:13px;text-decoration:none;text-align:left;cursor:pointer;box-sizing:border-box}
body.glass-cabinet .theme-action:hover{background:#ffffff12}
body.glass-cabinet .action-arrow{margin-left:auto}
body.glass-cabinet .teacher-students>input{width:100%;padding:11px 14px;min-height:42px;margin-bottom:14px}
body.glass-cabinet .teacher-students #manage-toggle{font-size:12px;max-width:100%;white-space:normal}
body.glass-cabinet .teacher-students .student-list{border:0;padding:0;background:none;box-shadow:none;margin:0}
body.glass-cabinet .teacher-students .student-pill{display:flex;align-items:center;gap:12px;padding:14px 8px;min-height:62px;border:0;border-bottom:1px solid #ffffff1c;border-radius:0;background:none;color:#edf0f2;text-align:left;width:100%;font-size:14px}
body.glass-cabinet .teacher-students .student-pill.active{background:#d2a0b51a;border-radius:12px;border:1px solid #d8adbf35}
body.glass-cabinet .teacher-students .student-pill small{color:#bdc7cf;font-size:11px}
body.glass-cabinet .teacher-students .student-pill .person-avatar{width:34px;height:34px;min-width:34px;font-size:25px;flex:0 0 34px}
body.glass-cabinet .teacher-students #manage-form{padding:18px;margin-bottom:20px}
body.glass-cabinet .teacher-workspace{display:block;border-top:1px solid #ffffff25;padding-top:26px;scroll-margin-top:24px}
body.glass-cabinet .teacher-workspace>h2{font-size:24px;margin-bottom:18px}
body.glass-cabinet .teacher-workspace .tabs{display:flex;flex-wrap:wrap;gap:10px}
body.glass-cabinet .teacher-workspace .item{display:flex;flex-wrap:wrap;gap:12px;padding:18px;color:#edf0f2;margin:10px 0}
body.glass-cabinet .teacher-workspace .item-meta,body.glass-cabinet .teacher-workspace .item-right{color:#c3cdd5;font-size:12px}
body.glass-cabinet .teacher-workspace .q-block{border-bottom:1px solid #ffffff25;padding:20px 0}
body.glass-cabinet :is(.diag-card,.diag-dialog){background:linear-gradient(125deg,#424d56,#36414a);color:#edf0f2;--ink:#edf0f2;--navy:#edf0f2;--muted:#cbd3d9;border-color:#ffffff30;box-shadow:var(--glass-shadow)}
body.glass-cabinet :is(.diag-card,.diag-dialog) :is(h2,h3,p,small,label,.diag-note,.diag-prompt){color:#e3e8ec!important}
body.glass-cabinet :is(.feedback-new,.comment-box,.feedback-note,.review-mistakes){background:#ffffff08!important;color:#e7e9ec!important;border-color:#d6b2c33d!important;box-shadow:none}
body.glass-cabinet :is(.feedback-new,.comment-box,.feedback-note,.review-mistakes) :is(summary,p,b,strong,small,span,h2,h3){color:#e7e9ec!important}
body.glass-cabinet .diag-warning,body.glass-cabinet :is(.diag-card,.diag-dialog) .diag-warning{background:#f1d7a618;color:#f2d6a5!important;border:1px solid #f1d7a633}
body.glass-cabinet .diag-warning :is(p,span,small,strong){color:inherit!important}
body.glass-cabinet .site-navigation>summary{background:#ffffff08;color:#d9d5dc;border:1px solid #ffffff25;box-shadow:none}
body.glass-cabinet [hidden]{display:none!important}
@media(min-width:1700px){body.glass-cabinet.teacher-home-v408>.shell{max-width:1400px;margin-right:auto!important}}
@media(max-width:1100px){body.glass-cabinet.teacher-layout>.shell{margin-left:238px!important}body.glass-cabinet.teacher-layout .teacher-sidebar{width:195px}body.glass-cabinet.teacher-home-v408 .teacher-overview{grid-template-columns:minmax(0,1.4fr) minmax(240px,1fr);gap:16px}body.glass-cabinet .theme-panel{padding:20px}}
@media(max-width:900px){body.glass-cabinet.teacher-layout>.topbar{margin:12px 16px 0;flex-wrap:wrap;padding:14px 16px}body.glass-cabinet.teacher-layout>.shell{margin:24px 16px 35px!important;padding:0}body.glass-cabinet.teacher-layout .teacher-menu-toggle{display:flex;align-items:center;justify-content:center;gap:10px;flex-basis:100%;order:3;margin:0;min-height:42px}body.glass-cabinet.teacher-layout .teacher-sidebar{display:none;position:relative;inset:auto!important;width:auto;margin:14px 16px 20px;padding:16px}body.glass-cabinet.teacher-layout .teacher-sidebar.is-open{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}body.glass-cabinet.teacher-layout .teacher-sidebar>p{grid-column:1/-1}body.glass-cabinet.teacher-layout .teacher-sidebar a{font-size:13px;margin:0;min-width:0}body.glass-cabinet.teacher-layout .page-title{font-size:29px}body.glass-cabinet.teacher-layout>.site-navigation{margin-bottom:28px}}
@media(max-width:620px){body.glass-cabinet.teacher-home-v408 .teacher-overview{grid-template-columns:minmax(0,1fr)}body.glass-cabinet.teacher-layout .brand{font-size:18px}body.glass-cabinet.teacher-layout .teacher-account{gap:5px}body.glass-cabinet.teacher-layout .teacher-account .person-avatar{width:28px;height:28px;min-width:28px;flex-basis:28px}body.glass-cabinet.teacher-layout .teacher-account .btn-ghost{font-size:11px;padding:6px 8px;min-height:36px}body.glass-cabinet.teacher-layout>.topbar{padding:12px;gap:8px}body.glass-cabinet .theme-panel{padding:20px}body.glass-cabinet .teacher-workspace .item-right{white-space:normal}body.glass-cabinet.teacher-layout .teacher-sidebar.is-open{grid-template-columns:minmax(0,1fr)}}
@media(max-width:360px){body.glass-cabinet.teacher-layout .brand{font-size:15px}body.glass-cabinet.teacher-layout .teacher-account .btn-ghost{font-size:10px;padding:5px}}
@media(prefers-reduced-motion:reduce){body.glass-cabinet *{scroll-behavior:auto!important;transition:none!important}}

body.glass-cabinet select,body.glass-cabinet input:not([type=checkbox]):not([type=radio]),body.glass-cabinet textarea{background-color:#303a42!important;color:#edf0f2!important;color-scheme:dark}

body.glass-cabinet.teacher-layout .teacher-sidebar a{opacity:1!important;color:#dde2e6!important}
body.glass-cabinet.teacher-layout .teacher-students .student-pill.active{background:#d2a0b51a!important;border-radius:12px!important;box-shadow:none!important}
body.glass-cabinet.teacher-layout :is(.btn-ghost,.btn-secondary,.tab){border-radius:12px!important}
body.glass-cabinet :is(.word-player,.ws-review-dialog){background:#39434b!important;color:#edf0f2!important}
body.glass-cabinet .word-player .choice{background:#ffffff0b;color:#edf0f2}
body.glass-cabinet .word-player .choice.correct{background:#315847}
body.glass-cabinet .word-player .choice.incorrect{background:#65404b}
body.glass-cabinet :is(.word-score:not(:empty),.ws-reviewed-answer){background:#ffffff12;color:#edf0f2}
body.glass-cabinet :is(.teacher-sidebar,.student-sidebar){opacity:1!important}
body.glass-cabinet .student-sidebar a{color:#dde2e6!important;opacity:1!important}
body.glass-cabinet.teacher-layout .teacher-students .student-list{display:block!important;overflow:visible!important}
body.glass-cabinet.teacher-layout .teacher-students .student-pill{max-width:100%;flex:none!important}
@media(max-width:620px){
 body.glass-cabinet .teacher-review-card .activity-row{display:flex!important;flex-wrap:wrap!important}
 body.glass-cabinet .teacher-review-card .activity-description{flex:1 0 100%!important}
 body.glass-cabinet .teacher-review-card .activity-row :is(.btn-primary,.btn-ghost){width:auto!important;flex:0 0 auto!important;white-space:nowrap;word-break:normal;overflow-wrap:normal}
}

/* cabinet-refinements-v40.9.css */
body.glass-cabinet .teacher-overview{align-items:stretch!important}
body.glass-cabinet .teacher-students #student-list{max-height:300px;overflow-y:auto!important;overscroll-behavior:contain;scrollbar-width:thin;padding-right:5px}
body.glass-cabinet .teacher-students .student-pill{min-height:54px;padding:9px 8px}
body.glass-cabinet .selected-student-bar{position:sticky;top:12px;z-index:25;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 20px;margin-bottom:22px;border:1px solid #e7b8c850;border-left:3px solid #e7b8c8;border-radius:16px;background:#364149f5;backdrop-filter:blur(18px);box-shadow:0 8px 25px #17212940}
body.glass-cabinet .selected-student-bar small{display:block;font-size:10px;letter-spacing:1.3px;color:#e7b8c8}
body.glass-cabinet .selected-student-bar strong{display:block;font-size:25px;line-height:1.4;overflow-wrap:anywhere;color:#edf0f2}
body.glass-cabinet .selected-student-bar button{flex-shrink:0;font-size:12px}
body.glass-cabinet #teacher-workspace>h2{display:none}
body.glass-cabinet #tab-assignments>h3:first-child{display:none}
body.glass-cabinet :is(.student-account,.teacher-account) .person-avatar{box-sizing:border-box!important;width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;max-width:34px!important;max-height:34px!important;flex:0 0 34px!important;aspect-ratio:1!important;align-self:center!important;padding:0!important;border-radius:50%!important;overflow:hidden!important}
body.glass-cabinet :is(.student-account,.teacher-account) .person-avatar img{display:block;width:100%!important;height:100%!important;max-width:none!important;min-height:0!important;object-fit:cover!important;aspect-ratio:1;border-radius:50%}
body.glass-cabinet :is(.student-sidebar,.student-mobile-menu) .cabinet-icon{width:23px;height:23px;flex:0 0 23px}
@media(max-width:620px){body.glass-cabinet .selected-student-bar{top:8px;padding:12px;gap:10px}body.glass-cabinet .selected-student-bar strong{font-size:21px}body.glass-cabinet .selected-student-bar button{max-width:115px;white-space:normal}body.glass-cabinet .teacher-students #student-list{max-height:250px}}

/* brand-v40.11.css */
/* Veltman Lang: one wordmark, locally bundled Manrope. */
@font-face{font-family:"Veltman Manrope";src:url("../assets/brand/manrope.ttf") format("truetype");font-style:normal;font-weight:200 800;font-display:swap}
:root{--veltman-wordmark-size:25px}
body .veltman-wordmark,body .unified-header .unified-logo,body .topbar .brand{
font-family:"Veltman Manrope",Manrope,Arial,sans-serif!important;
font-size:var(--veltman-wordmark-size)!important;font-weight:650!important;
font-style:normal!important;line-height:1.2!important;letter-spacing:-.04em!important;
word-spacing:0!important;text-transform:none!important;text-decoration:none!important;
white-space:nowrap;font-kerning:normal;font-synthesis:none;
}
body .veltman-wordmark .dot{display:none}
@media(max-width:620px){:root{--veltman-wordmark-size:20px}}
@media(max-width:360px){:root{--veltman-wordmark-size:17px}}

/* login-compact-v40.16.css */
@media(max-width:900px){
body.glass-cabinet.compact-login .topbar{margin:12px 12px 0;width:calc(100% - 24px);padding:10px 12px;min-height:64px}
body.glass-cabinet.compact-login .login-wrap{min-height:0;height:auto;align-items:flex-start;justify-content:center;padding:16px 12px 20px;margin:0}
body.glass-cabinet.compact-login .login-card{margin:0;align-self:flex-start;padding:24px;max-width:480px}
body.glass-cabinet.compact-login .site-navigation{margin-top:0;margin-bottom:20px}
}

/* comfort-v40.18.css */
/* Compact, readable cabinet surfaces shared by both roles. */
body.glass-cabinet :is(.word-launch,.word-launch-form,#training,#practice,.word-player,.vocab-card,.collection-grid button){background:var(--glass-surface)!important;color:var(--ink)!important;border:1px solid var(--glass-border)!important;box-shadow:var(--glass-shadow)!important}
body.glass-cabinet :is(.word-launch,.word-launch-form,#training,#practice,.word-player,.vocab-card,.collection-grid button) :is(h2,h3,label,p,small,strong,blockquote,button){color:var(--ink)!important}
body.glass-cabinet .studio-kicker{color:#e7b8c8}
body.glass-cabinet .word-launch{padding:20px;gap:20px;margin:20px 0}
body.glass-cabinet .word-launch h2{font-size:25px;margin:10px 0}
body.glass-cabinet .word-launch-form{padding:16px}
body.glass-cabinet .vocab-card{padding:18px!important;min-height:0!important}
body.glass-cabinet .vocab-card>p{margin:10px 0}
body.glass-cabinet .vocab-card:has(input:checked){border-color:#e7b8c8!important;background:#bd78961c!important}
body.glass-cabinet .vocab-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
body.glass-cabinet .vocab-actions button{margin:0!important;min-height:44px;padding:8px 12px}
body.glass-cabinet .training-modes{display:flex;gap:10px;flex-wrap:wrap}
body.glass-cabinet .training-modes button[aria-pressed=true]{background:#800020!important;border-color:#e7b8c8}
body.glass-cabinet .word-player .choice{background:#ffffff0a;color:var(--ink)}
body.glass-cabinet .word-player .choice.correct{background:#295546!important}
body.glass-cabinet .word-player .choice.incorrect{background:#693943!important}
body.glass-cabinet .word-score:not(:empty){background:#295546;color:#fff}
body.glass-cabinet .teacher-overview{align-items:start!important}
body.glass-cabinet :is(.teacher-review-card,.teacher-schedule #teacher-agenda,#dashboard .next-action,#dashboard .lesson-pane,.dashboard-loading,.notice-card){min-height:0!important;height:auto}
body.glass-cabinet #dashboard :is(.next-action,.lesson-pane){padding:20px!important}
body.glass-cabinet #dashboard .next-action .btn-primary{margin-top:12px}
body.glass-cabinet .grade-actions{display:flex!important;gap:8px!important;margin:8px 0!important;justify-content:flex-start}
body.glass-cabinet .grade-actions button{flex:0 0 44px!important;width:44px!important;height:44px!important;min-height:44px!important;padding:0!important;font-size:21px!important;line-height:1!important;border-radius:12px}
body.glass-cabinet .grade-actions button[aria-pressed=true]{border:2px solid #e7b8c8!important;background:#a8496728!important}
body.glass-cabinet .grade-comment{margin-top:8px;font-size:13px}
body.glass-cabinet .grade-comment summary{cursor:pointer;min-height:32px;display:flex;align-items:center;color:var(--muted)}
body.glass-cabinet .grade-comment textarea{min-height:70px;max-height:150px}
body.glass-cabinet .review-finish{margin-top:20px;display:flex;gap:12px;flex-wrap:wrap;align-items:center}
body.glass-cabinet .review-finish p{margin:0}
.app-nudge{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 20px;padding:16px;border:1px solid #e7b8c855;border-radius:18px;background:#ffffff0c;color:#edf0f2}
.app-nudge>div:first-child{flex:1 1 240px}.app-nudge strong{font-size:16px}.app-nudge p{margin:5px 0 0;font-size:14px;color:#c3cbd1}.app-nudge .nudge-actions{display:flex;gap:10px;flex-wrap:wrap}.app-nudge a,.app-nudge button{min-height:44px;display:inline-flex;align-items:center;padding:8px 12px;font:inherit;text-decoration:none}
body.glass-cabinet #practice input{background:#303b43!important;color:#edf0f2!important}
body.glass-cabinet #practice button{background:#ffffff0a!important;color:#edf0f2!important;border-color:#ffffff40}
body.glass-cabinet #practice button[type=submit]{background:#800020!important}
body.glass-cabinet .grade-actions button{display:inline-grid!important;place-items:center!important;text-align:center!important}
body.glass-cabinet .q-num{color:#e7b8c8!important}
body.glass-cabinet .lesson-pane{min-height:0!important}

/* task-actions-v40.19.css */
/* Action links must own a real box, including review links outside flex containers. */
.review-next-link{display:inline-flex!important;align-items:center;box-sizing:border-box;margin:16px 0 0!important;min-height:44px;max-width:100%;white-space:normal;vertical-align:top}
.review-finish{clear:both;margin-bottom:0!important}
body.glass-cabinet .review-finish+.review-next-link{display:flex!important;width:fit-content;margin-top:16px!important}
.ws-review-toolbar .review-text-search{display:block;width:100%;box-sizing:border-box;margin:14px 0 0}
.ws-review-toolbar>.review-next-link{margin-top:14px!important}
#review .review-next-link{display:flex!important;width:fit-content;margin-top:16px!important}
.ws-actions,.task-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.ws-actions>*{max-width:100%;box-sizing:border-box}
body.glass-cabinet .task-actions{margin:12px 0 0}
body.glass-cabinet .task-actions>*{margin:0!important;max-width:100%;white-space:normal}
body.glass-cabinet .managed-card{position:relative!important;min-width:0}
body.glass-cabinet .managed-card>h3,body.glass-cabinet .managed-card>small{padding-right:52px}
body.glass-cabinet .task-remove{display:inline-grid!important;place-items:center!important;flex:0 0 44px!important;width:44px!important;min-width:44px!important;height:44px!important;min-height:44px!important;padding:0!important;margin:0!important;color:#f0a9b8!important;background:#a13d5514!important;border:1px solid #e59aae55!important;border-radius:12px!important;cursor:pointer}
body.glass-cabinet .task-remove svg{width:19px;height:19px;pointer-events:none}
body.glass-cabinet .managed-card>.task-remove{position:absolute;top:16px;right:16px}
body.glass-cabinet .teacher-assignment-row{display:grid!important;grid-template-columns:minmax(0,1fr) 44px!important;align-items:center;gap:12px!important;margin:12px 0}
body.glass-cabinet .teacher-assignment-row>[data-open-assignment]{min-width:0!important;width:100%!important;margin:0!important}
body.glass-cabinet .teacher-assignment-row>.task-remove{grid-column:2;grid-row:1}
body.glass-cabinet .teacher-assignment-row>button:not(.task-remove){grid-column:1;justify-self:start;margin:0}
body.glass-cabinet .teacher-assignment-row .item-right{flex-wrap:wrap;gap:8px;white-space:normal}
body.glass-cabinet [data-worksheet-assignment]{padding:18px!important}
body.glass-cabinet [data-worksheet-assignment] h3{margin:8px 0!important;font-size:18px}
body.glass-cabinet [data-worksheet-assignment] p{margin:8px 0!important}
@media(max-width:620px){body.glass-cabinet .teacher-assignment-row{gap:8px!important}body.glass-cabinet .teacher-assignment-row .item{padding:14px!important}body.glass-cabinet .teacher-assignment-row .item-right{justify-content:flex-start}.ws-review-toolbar .ws-actions>*{flex:1 1 150px;min-width:0}.ws-review-toolbar .ws-actions select{flex-basis:100%}body.glass-cabinet .task-actions>*{font-size:12px;min-height:44px;padding:8px 10px}}

body.glass-cabinet .vocab-actions{justify-content:flex-end}
body.glass-cabinet .topbar>.notification-bell{position:relative;display:inline-flex!important;align-items:center;justify-content:center;width:44px;min-width:44px;height:44px;padding:0;margin:0 0 0 auto;flex:0 0 44px;color:inherit;text-decoration:none;border:1px solid #ffffff35;border-radius:14px;background:#ffffff08}
.notification-bell svg{width:23px;height:23px}.notification-bell span:not([hidden]){position:absolute;right:-4px;top:-4px;min-width:18px;height:18px;padding:0 3px;box-sizing:border-box;border-radius:12px;background:#a50b39;color:white;text-align:center;font:600 10px/18px sans-serif}
body.glass-cabinet .topbar{flex-wrap:wrap}

body.glass-cabinet .material-compact{padding:14px 16px!important;margin:10px 0!important}
body.glass-cabinet .material-title-row{display:flex;align-items:center;gap:12px;min-width:0}
body.glass-cabinet .material-title-row>h3{flex:1;min-width:0;margin:0!important;font-size:16px;overflow-wrap:anywhere}
body.glass-cabinet .material-title-row>.task-actions{margin:0!important;flex:0 0 auto;flex-wrap:nowrap;gap:8px}
body.glass-cabinet .material-title-row .btn-ghost{font-size:12px!important;padding:6px 10px!important;min-height:44px}
body.glass-cabinet .material-compact>p{margin:8px 0!important;font-size:14px}
@media(max-width:360px){body.glass-cabinet .material-compact{padding:12px!important}.material-title-row{gap:8px!important}.material-title-row>.task-actions{gap:4px!important}}
body.glass-cabinet #dashboard :is(.next-action,.lesson-pane){height:auto!important;min-height:0!important;padding:16px!important;align-self:start}
body.glass-cabinet #dashboard .next-action{display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;align-items:center}
body.glass-cabinet #dashboard .next-action>.eyebrow{grid-column:1;grid-row:1;margin:0!important}
body.glass-cabinet #dashboard .next-action>.btn-primary{grid-column:2;grid-row:1 / span 2;margin:0!important;font-size:12px;padding:8px 12px;min-height:44px;max-width:132px;white-space:normal;text-align:center}
body.glass-cabinet #dashboard .next-action>h2{grid-column:1;grid-row:2;font-size:20px;margin:0!important;overflow-wrap:anywhere}
body.glass-cabinet #dashboard .next-action>p:not(.eyebrow){grid-column:1 / -1;margin:0!important;font-size:13px}
body.glass-cabinet .lesson-pane h2{font-size:18px!important;margin:0 0 8px!important}
body.glass-cabinet .lesson-pane .quiet-link{margin:10px 0 0!important;padding:0!important;min-height:0}
body.glass-cabinet #lesson-content{min-height:0!important;margin:0!important;flex:0 0 auto!important}
body.glass-cabinet #lesson-content :is(a,p){font-size:16px;line-height:1.45;margin:4px 0!important}
body.glass-cabinet.student-dashboard-v40 .lesson-pane{height:auto!important;min-height:0!important;padding:16px!important;align-self:start}
body.glass-cabinet .lesson-pane .next-lesson-card{padding:0!important;margin:0!important}
body.glass-cabinet .lesson-pane .next-lesson-card span{font-size:16px!important}
body.glass-cabinet .topbar{flex-wrap:wrap!important}
body.glass-cabinet .topbar>.brand{flex:0 0 auto!important;width:max-content!important;min-width:max-content!important;white-space:nowrap}
body.glass-cabinet .topbar>.notification-bell{order:0}

/* polish-v40.20.css */
/* Account actions form one right-aligned group, with avatar inside Profile. */
body.glass-cabinet .topbar>.compact-account{margin-left:auto!important;display:flex!important;align-items:center;justify-content:flex-end;gap:8px!important;flex:0 0 auto!important;flex-basis:auto!important}
body.glass-cabinet .compact-account .notification-bell{position:relative;display:inline-flex!important;align-items:center;justify-content:center;width:40px;min-width:40px;height:40px;padding:0!important;margin:0!important;flex:0 0 40px;color:inherit;text-decoration:none;border:1px solid #ffffff35;border-radius:12px;background:#ffffff08}
body.glass-cabinet .compact-account .profile-with-avatar{display:inline-flex!important;align-items:center;gap:7px;padding:5px 10px 5px 5px!important;min-height:40px}
body.glass-cabinet .compact-account .profile-with-avatar .person-avatar{width:28px!important;height:28px!important;min-width:28px!important;flex:0 0 28px!important;padding:0!important;margin:0!important;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;overflow:hidden;font-size:21px}
body.glass-cabinet .profile-with-avatar .person-avatar img{width:100%;height:100%;object-fit:cover}
body.glass-cabinet .compact-account>button{min-height:40px!important}
.teacher-overview-column{display:flex;flex-direction:column;gap:20px;min-width:0}
.teacher-overview-column>.theme-panel{margin:0!important;min-width:0}
body.glass-cabinet .notice-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 16px;padding:16px!important;margin:12px 0!important;align-items:start}
.notice-card>small{grid-column:1;font-size:11px!important;line-height:1.5}
body.glass-cabinet .notice-card>h2{grid-column:1;font-size:17px!important;line-height:1.4;margin:0!important;overflow-wrap:anywhere}
body.glass-cabinet .notice-card>p{grid-column:1;margin:0!important;font-size:13px;line-height:1.5}
.notice-card>p:empty{display:none}
.notice-actions{grid-column:2;grid-row:1 / span 3;display:flex;gap:8px;align-items:center;align-self:center}
body.glass-cabinet .notice-actions :is(a,button){display:inline-flex;align-items:center;justify-content:center;width:auto!important;margin:0!important;min-height:40px!important;padding:7px 10px!important;font-size:12px!important;white-space:nowrap}
@media(max-width:700px){body.glass-cabinet .notice-card{grid-template-columns:minmax(0,1fr)}.notice-actions{grid-column:1;grid-row:auto;justify-self:end;margin-top:4px}body.glass-cabinet .notice-actions :is(a,button){min-height:44px!important}.teacher-overview-column{gap:16px}body.glass-cabinet .topbar>.compact-account{gap:5px!important}}

/* compact-v40.21.css */
/* Compact cabinet lists. Exercise canvases and interactive question layouts keep their dimensions. */
body:is(.page-teacher,.page-student,.page-work-center,.page-learning,.page-vocabulary,.page-diagnostics,.page-worksheets,.page-thematic,.page-thematic-results,.page-notifications,.page-billing,.page-calendar,.page-timeline) main{font-size:14px;line-height:1.45}
body:is(.page-teacher,.page-student,.page-work-center,.page-learning,.page-vocabulary,.page-diagnostics,.page-worksheets,.page-thematic,.page-thematic-results,.page-notifications,.page-billing,.page-calendar,.page-timeline) main h1{font-size:clamp(23px,2.5vw,32px)!important;line-height:1.2;margin:6px 0 12px!important;letter-spacing:-.5px}
body:is(.page-teacher,.page-student,.page-work-center,.page-learning,.page-vocabulary,.page-diagnostics,.page-worksheets,.page-thematic,.page-thematic-results,.page-notifications,.page-billing,.page-calendar,.page-timeline) main :is(h2,h3){font-size:17px!important;line-height:1.35;margin:4px 0 8px}
body:is(.page-teacher,.page-student,.page-work-center,.page-learning,.page-vocabulary,.page-diagnostics,.page-worksheets,.page-thematic,.page-thematic-results,.page-notifications,.page-billing,.page-calendar,.page-timeline) main p{margin:6px 0;line-height:1.5}
body:is(.page-work-center,.page-learning,.page-vocabulary,.page-diagnostics,.page-worksheets,.page-thematic,.page-thematic-results,.page-notifications,.page-billing,.page-calendar) main :is(.panel,.ws-card,.catalog-row,.billing-student,.vocab-card){padding:14px!important;border-radius:16px!important;min-height:0!important;margin-block:10px!important}
body:is(.page-teacher,.page-student) main :is(.material-compact,.managed-card,.next-action,.lesson-pane,.theme-panel){padding:14px!important;min-height:0!important}
body:is(.page-teacher,.page-student,.page-work-center,.page-learning,.page-vocabulary,.page-diagnostics,.page-worksheets,.page-thematic,.page-thematic-results,.page-notifications,.page-billing,.page-calendar,.page-timeline) main :is(.btn-primary,.btn-ghost,.btn-secondary,.button,button:not(.calendar-day):not(.avatar-choice)){font-size:13px!important;line-height:1.3!important;min-height:36px;padding:7px 12px!important;border-radius:10px;max-width:100%}
body:is(.page-work-center,.page-learning,.page-vocabulary,.page-diagnostics,.page-worksheets,.page-thematic,.page-thematic-results,.page-notifications,.page-billing) main :is(input:not([type=checkbox]):not([type=radio]),select){font-size:14px;min-height:36px;padding:7px 10px;max-width:100%;margin-block:3px}
.compact-icon,.task-remove{width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important;max-width:36px!important;display:inline-flex!important;align-items:center;justify-content:center;padding:7px!important;flex:0 0 36px;vertical-align:middle}
.compact-icon svg,.task-remove svg{width:19px;height:19px;pointer-events:none;flex:none}
.compact-icon svg *{pointer-events:none}.compact-icon[data-compact-icon=trash]{color:#e8b5c7}
.compact-icon:focus-visible,summary:focus-visible{outline:2px solid #e8b5c7;outline-offset:3px}
.selected-student-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.selected-student-bar{padding:12px 16px!important;gap:12px}.selected-student-bar strong{font-size:21px!important}.selected-student-bar small{font-size:10px!important}
.item-kind{font-size:11px;white-space:nowrap;color:#bac7cf;background:#ffffff0a;border:1px solid #ffffff20;border-radius:6px;padding:2px 6px}.material-title-row{grid-template-columns:minmax(0,1fr) auto auto!important;gap:8px!important}
.compact-page-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin:8px 0}.compact-page-heading h1{flex:1 1 240px}.compact-filters{display:flex;flex:0 1 auto;align-items:end;gap:8px!important;flex-wrap:wrap;margin:0!important}.compact-filters label{font-size:11px;margin:0;flex:0 1 auto}.compact-filters select{width:auto!important;max-width:180px!important}.compact-filters input{width:170px!important}.compact-filters label>*{display:block}.work-actions{gap:8px!important;margin:8px 0!important}.work-card{position:relative;padding-left:42px!important}.work-card>.work-select{position:absolute;left:12px;top:12px;margin:0}.work-select input{width:18px;height:18px;margin:0}.work-card h2{display:inline}.work-card>small{display:block;font-size:11px}.work-card>p{font-size:13px}.work-dates{display:flex;flex-wrap:wrap;gap:6px 20px;margin:8px 0}.work-dates>span{display:flex;gap:6px;font-size:12px}.work-dates small{color:#b4c0c8;font-size:inherit}.work-card>.work-actions{justify-content:flex-end}.work-card>details{font-size:12px}.work-card .work-history{overflow:auto}.work-controls{border-top:1px solid #ffffff20;padding-top:7px;margin-top:8px}.work-controls>p:empty{display:none}.work-controls>p:first-child{font-size:12px;color:#e5bfd0}.work-controls details{margin:5px 0}.work-controls details>summary{cursor:pointer;font-size:12px}.work-controls textarea{min-height:60px!important;margin:6px 0!important}
.page-learning #overview>.panel{background:linear-gradient(125deg,#ffffff0d,#ffffff04)!important;color:#edf0f2!important;border:1px solid #ffffff30!important;box-shadow:none!important}.page-learning #overview :is(p,h3,a){color:inherit}.page-learning .learning-tabs{gap:6px;margin:12px 0}.page-learning .learning-tabs>*{font-size:13px;padding:7px 12px;min-height:36px;background:#ffffff10;color:#edf0f2;border-color:#ffffff30}.date-divider{font-size:13px!important;margin:18px 0 8px!important;padding-top:10px;border-top:1px solid #ffffff30;color:#c6b5bf}.page-learning .work-controls details:not([open]){padding:0}.page-learning #overview>.panel>h3{display:inline-block;margin-right:16px}.page-learning #overview>.panel>.btn-ghost{float:right}
.page-vocabulary #teacher{display:grid;grid-template-columns:36px auto minmax(120px,260px) 1fr;align-items:center;gap:8px}.page-vocabulary #teacher h2{display:none}.page-vocabulary #teacher>label{grid-column:2;grid-row:1;margin:0}.page-vocabulary .vocab-student-avatar{grid-column:1;grid-row:1;width:30px;height:30px}.page-vocabulary #teacher>select{grid-column:3;grid-row:1;width:100%}.page-vocabulary #teacher>details{grid-column:1/-1;font-size:13px}.page-vocabulary .collection-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px!important;margin:10px 0!important}.page-vocabulary .collection-grid button{width:100%!important;text-align:left;padding:12px!important;min-height:62px!important;border-radius:12px!important;display:flex;flex-direction:column;align-items:flex-start;gap:4px}.collection-grid small{font-size:11px!important}.page-vocabulary .vocab-view-tabs{display:flex;gap:8px;margin:10px 0}.page-vocabulary .vocab-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}.page-vocabulary .vocab-card{margin:0!important}.page-vocabulary .vocab-card label{font-size:16px!important;margin:0}.page-vocabulary .vocab-card blockquote{font-size:13px;margin:8px 0;padding:0 0 0 10px}.page-vocabulary .vocab-actions{margin:6px 0 0;gap:6px}.page-vocabulary .vocab-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:10px 0}.page-vocabulary #topic-filter{width:auto;max-width:230px}.compact-search{position:relative;display:flex}.compact-search>summary{list-style:none;cursor:pointer}.compact-search>summary::-webkit-details-marker{display:none}.compact-search[open]{display:flex;align-items:center}.compact-search input{width:min(260px,65vw)!important}.page-vocabulary .word-launch{display:grid;grid-template-columns:1fr 2fr;gap:12px;padding:14px;border:1px solid #ffffff30;border-radius:16px;margin:12px 0}.page-vocabulary .word-launch-form{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px;padding:0!important;border:0!important;background:none!important}.word-launch-form label{font-size:11px;margin:0}.word-launch-form #assignment-title{grid-column:1;grid-row:2}.word-launch-form label[for=assignment-mode]{grid-column:2;grid-row:1}.word-launch-form #assignment-mode{grid-column:2;grid-row:2}.word-launch-form #assign-words{width:auto;justify-self:end;grid-column:2}.word-launch-form #assignment-result{grid-column:1/-1}.page-vocabulary .training-modes{display:flex;flex-wrap:wrap;gap:6px}
.page-diagnostics .diag-library{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px!important}.page-diagnostics .diag-library>.panel{display:flex;flex-direction:column;align-items:flex-start;height:auto!important;gap:2px}.page-diagnostics .diag-library>.panel>button{margin-top:8px}.diag-source-note{font-size:11px}.diag-source-note p{max-width:40em}.diag-actions{gap:8px!important;margin:8px 0}.diag-student-filter{max-width:230px}.page-diagnostics .diag-report>.panel{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px}.page-diagnostics .diag-report>.panel>.diag-actions{margin-left:auto!important}
.page-worksheets #sheet-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:10px}.page-worksheets .ws-card{align-self:start}.page-worksheets .ws-card h2{font-size:16px!important}.page-worksheets .ws-card .hint{font-size:11px;margin:6px 0}.page-worksheets .ws-actions{gap:6px;margin:8px 0}.page-worksheets .ws-card>p>.button{min-height:28px!important;font-size:12px!important;padding:4px 7px!important}.page-worksheets .ws-card>p{font-size:12px}
.page-thematic .level-tabs{display:flex!important;gap:6px!important;flex-wrap:wrap;justify-content:flex-start!important;margin:10px 0!important}.page-thematic .level-tab{flex:none!important;width:auto!important;min-width:40px!important;min-height:32px!important;padding:6px 12px!important;font-size:13px!important}.page-thematic .catalog-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}.page-thematic .catalog-row>.lesson-level{font-size:12px;padding:3px 7px;min-width:0;min-height:0;width:auto;margin:0}.page-thematic .catalog-row>h3{margin:0!important;flex:1}.page-thematic .catalog-row>p{font-size:12px;flex-basis:100%;order:2}.page-thematic .catalog-tools{gap:6px;margin:0;display:flex;flex-wrap:wrap;align-items:center}.page-thematic .catalog-tools input{flex:1;max-width:360px}.page-thematic .catalog-row .catalog-tools{margin-left:auto}.page-thematic .catalog-row select{width:150px!important;font-size:12px!important}
.compact-filter-menu>summary{list-style:none;cursor:pointer}.compact-filter-menu .result-controls{display:flex;flex-wrap:wrap;gap:10px}.compact-filter-menu .result-controls label{font-size:12px}.compact-filter-menu select{width:auto}.page-thematic-results main>p{font-size:12px}.page-thematic-results main{padding-bottom:20px!important;min-height:0!important}
.page-billing .billing-students{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.page-billing .billing-student{display:grid;grid-template-columns:1fr auto;gap:3px 12px;align-items:center}.page-billing .billing-student h2{margin:0!important}.page-billing .billing-student>p{font-size:12px;margin:1px 0}.page-billing .billing-student>p:first-of-type{text-align:right}.page-billing .billing-balance{grid-column:1/-1;font-size:18px;margin:4px 0}.page-billing .billing-actions{grid-column:1/-1;justify-content:flex-end;margin:8px 0 0;gap:6px}.page-billing .billing-actions button{flex:none}.page-billing .billing-totals{gap:10px;margin:12px 0}.page-billing .billing-total{padding:12px}.page-billing .billing-total strong{font-size:22px;margin:3px 0}.page-billing #billing-period{font-size:12px}.page-billing label{margin:8px 0}
.page-calendar .calendar-event{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:14px 0!important}.page-calendar .calendar-event>strong{grid-column:2;grid-row:1;font-size:18px!important;text-align:right}.page-calendar .calendar-event>h3{grid-column:1;grid-row:1;margin:0!important;font-size:16px!important}.page-calendar .calendar-event>p{grid-column:1/-1;font-size:12px;margin:0!important}.page-calendar .calendar-event>small{grid-column:1;font-size:12px}.page-calendar .calendar-event-menu{grid-column:2;grid-row:2/5;align-self:end;justify-self:end}.calendar-event-menu summary{min-width:36px;min-height:36px;text-align:center}.page-calendar #day-heading{font-size:19px!important;margin:0 0 8px!important}
body.chat-screen .chat-bubble{max-width:min(80%,620px);margin-block:3px;border-radius:14px;padding:8px 12px!important}.chat-bubble>strong{display:block;font-size:11px;color:#d9b6c6}.chat-bubble>p{margin:4px 0!important;white-space:pre-wrap;overflow-wrap:anywhere}.chat-bubble>small{display:block;text-align:right;font-size:10px}.chat-bubble.continuation>strong{display:none}.chat-bubble .person-avatar{display:none}.chat-task-picker{grid-column:1/-1;font-size:12px}.chat-task-picker summary{cursor:pointer;min-height:28px}.chat-task-options{max-height:160px;overflow:auto}.chat-task-options label{display:flex;align-items:center;gap:6px;font-size:12px;margin:5px 0}.chat-task-options input{width:18px!important;height:18px!important;margin:0!important;flex:none}.homework-chat-bubble{position:fixed;right:16px;bottom:calc(84px + env(safe-area-inset-bottom));z-index:70;background:#800020;color:white;border-radius:50%;width:44px!important;height:44px!important;max-width:44px!important;box-shadow:0 4px 18px #0005;border:1px solid #e2aebe;display:none!important}
.page-notifications .notice-card{margin:8px 0!important}.page-notifications .notice-card h2{font-size:15px!important}.page-notifications .notice-card p{font-size:13px}.page-notifications #notices-archive{margin-top:16px;padding-top:10px;border-top:1px solid #ffffff30}.page-notifications #notices-archive>summary{cursor:pointer;font-size:14px}.notice-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.notice-toolbar #notices-status{margin-right:auto}.notice-settings{margin-left:auto;position:relative}.notice-settings>summary{list-style:none}.notice-settings[open]{flex-basis:100%;margin:0}.notice-settings-content{padding:14px;border:1px solid #ffffff30;border-radius:14px;margin:8px 0}.notice-settings #notices-categories{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.notice-settings label{display:flex;align-items:center;gap:8px;font-size:13px}.notice-settings input[type=checkbox]{width:18px;height:18px;margin:0}.page-notifications .notice-actions{gap:6px!important}
@media(max-width:700px){
 .compact-page-heading{align-items:flex-start}.compact-filters{width:100%}.compact-filters label{flex:1 1 120px}.compact-filters :is(select,input){width:100%!important;max-width:100%!important}.compact-page-heading h1{flex-basis:70%}
 .page-billing .billing-students{grid-template-columns:1fr}.page-diagnostics .diag-library{grid-template-columns:repeat(2,minmax(0,1fr))}.page-vocabulary .word-launch{grid-template-columns:1fr}.page-vocabulary .collection-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.page-vocabulary .collection-grid button{overflow-wrap:anywhere}.page-vocabulary #teacher{grid-template-columns:30px auto minmax(0,1fr)}
 .material-title-row{grid-template-columns:minmax(0,1fr) auto!important}.material-title-row .item-kind{grid-column:1;grid-row:2;justify-self:start}.material-title-row .task-actions{grid-column:2;grid-row:1/3}.selected-student-bar{flex-wrap:wrap}.selected-student-actions{gap:6px}.notice-settings #notices-categories{grid-template-columns:1fr}.homework-chat-bubble{display:inline-flex!important}.page-vocabulary .vocab-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .page-thematic .catalog-row>.catalog-tools{flex-basis:100%}.page-diagnostics .diag-library h3{overflow-wrap:anywhere;font-size:14px!important}
}
@media(pointer:coarse){.compact-icon,.task-remove{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;max-width:44px!important}.compact-icon svg{width:18px;height:18px}}
/* Explicit overrides for older high-specificity glass rules. */
body.page-work-center main .work-card{padding-left:42px!important}
body.page-billing .billing-student{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
body.page-billing .billing-student>p:not(:first-of-type){grid-column:1/-1}
body.page-billing .billing-student>p:first-of-type{font-size:11px;white-space:normal}
body.glass-cabinet.page-vocabulary .word-launch{padding:12px!important;gap:10px!important;margin:12px 0!important}
body.glass-cabinet.page-vocabulary .word-launch-form{background:none!important;border:0!important;box-shadow:none!important;padding:0!important;border-radius:0!important}
body.glass-cabinet.page-vocabulary .vocab-student-avatar{width:28px!important;height:28px!important;min-width:28px!important;max-width:28px!important;border-radius:50%;padding:0!important;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;font-size:17px}
body.glass-cabinet.page-vocabulary #training{display:block;padding:10px!important;margin:10px 0!important;border-radius:12px!important}
body.glass-cabinet.page-vocabulary #training>summary{font-size:13px;cursor:pointer}
body.glass-cabinet.page-vocabulary #training:not([open])>*:not(summary){display:none!important}
body.glass-cabinet.page-vocabulary #training .training-modes{margin:10px 0}
body.page-learning .date-divider{font-size:13px!important;margin:12px 0 6px!important;padding-top:8px!important}
body.glass-cabinet.page-learning #overview>.panel{margin:8px 0!important;opacity:1!important;transform:none!important;filter:none!important}
body.glass-cabinet.page-learning #overview>.panel>.btn-ghost{float:none;display:inline-flex;margin:6px 0!important}
body.glass-cabinet.page-learning .learning-tabs button[aria-pressed=true]{background:#743c50!important;color:#fff!important}
body.page-vocabulary .vocab-actions{display:flex;flex-wrap:wrap;justify-content:flex-end}
body.page-vocabulary .vocab-actions [data-edit]{width:36px;padding:6px!important}
body.page-notifications .notice-settings>summary{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;min-width:36px;min-height:36px}
@media(max-width:420px){body.page-vocabulary .vocab-grid{grid-template-columns:minmax(0,1fr)!important}.page-vocabulary .vocab-card{display:grid;grid-template-columns:1fr auto;gap:4px 8px}.page-vocabulary .vocab-card>label{grid-column:1}.page-vocabulary .vocab-card>:is(p,blockquote,small){grid-column:1;margin:2px 0!important}.page-vocabulary .vocab-actions{grid-column:2;grid-row:1/5;align-self:start;flex-direction:column}.page-vocabulary .vocab-card label{font-size:15px!important}.page-vocabulary .vocab-card input[type=checkbox]{margin-right:6px}}
body.page-learning #overview:not([hidden]){display:block!important}
body.page-learning #overview>.date-divider{width:100%;clear:both}
body.page-learning #overview>.panel{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px}
body.page-learning #overview>.panel>h3{grid-column:1;margin:0!important}
body.page-learning #overview>.panel>p{grid-column:1;font-size:12px}
body.page-learning #overview>.panel>a{grid-column:2;grid-row:1/3;align-self:center}
body.page-learning #overview>.panel>.work-controls{grid-column:1/-1;margin:4px 0 0!important;padding:6px 0 0!important}
body.page-learning .work-controls>p{display:inline-block;margin-right:12px!important}
body.page-learning .work-controls>details{display:inline-block;margin-right:12px}
body.page-learning .work-controls>details[open]{display:block}
body.page-worksheets #sheet-list{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr))}
body.page-diagnostics .diag-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:8px 0}
body.page-diagnostics .diag-actions .diag-student-filter{width:auto!important;max-width:230px!important;background:#303c45!important;color:#edf0f2!important}
body.page-vocabulary .word-launch-form:before,body.page-vocabulary .word-launch-form:after{display:none!important}
@media(min-width:900px){body.page-work-center .work-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 16px}body.page-work-center .work-card>:is(small,h2,p){grid-column:1;margin:0!important}body.page-work-center .work-card>.work-actions{grid-column:2;grid-row:1/4;align-self:center;margin:0!important;max-width:520px}body.page-work-center .work-card>.work-dates{grid-column:1/-1;margin:5px 0}body.page-work-center .work-card>details,body.page-work-center .work-card>.work-history{grid-column:1/-1}}
@media(max-width:500px){body.page-learning #overview>.panel{grid-template-columns:minmax(0,1fr)}body.page-learning #overview>.panel>a{grid-column:1;grid-row:auto;justify-self:start}}
body.page-worksheets .compact-icon[data-compact-icon=trash]{color:#800020}
body.chat-screen .chat-bubble a{color:#f1c4d5;text-decoration:underline}
body.glass-cabinet.page-learning .work-controls{display:block!important}
body.glass-cabinet.page-learning .work-controls>p:empty{display:none!important}
body.glass-cabinet.page-learning .work-controls>p:first-child{display:block;margin:0 0 6px!important;font-size:12px}
body.glass-cabinet .work-controls>details:not([open])>*:not(summary){display:none!important}
body.glass-cabinet.page-learning .work-controls>details{display:inline-block;margin:0 12px 0 0!important}
body.glass-cabinet.page-learning .work-controls>details[open]{display:block;margin-top:8px!important}

/* refinements-v40.22.css */
/* Compact cabinet corrections, v40.22. Hidden sections always stay hidden. */
body.glass-cabinet [hidden][hidden][hidden]{display:none!important}
body.page-calendar .calendar-event-menu{grid-column:1/-1;grid-row:auto;margin:0!important;justify-self:end;align-self:end}
body.page-calendar .calendar-event>small{grid-column:1/-1;padding:0!important}
body.page-calendar .calendar-event{align-content:start;row-gap:4px!important}
body.chat-screen .chat-heading{padding:6px 4px 12px;border-bottom:1px solid #ffffff20;justify-content:flex-start}
.chat-contact-avatar{width:44px;height:44px;flex:0 0 44px;border-radius:50%;display:grid;place-items:center;background:#e0ebef;color:#33414a;font-size:25px;overflow:hidden}
.chat-contact-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}
body.chat-screen .chat-heading #edit-group{margin-left:auto}
body.chat-screen #thread-people{display:none}
body.chat-screen #chat-messages{gap:5px!important;padding:14px 6px!important}
body.chat-screen .chat-bubble{border:0!important;border-radius:18px 18px 18px 5px!important;background:#ffffff14!important;max-width:min(76%,560px)!important;box-shadow:none!important;margin:0!important;padding:9px 13px!important}
body.chat-screen .chat-bubble.mine{background:#80304b!important;border-radius:18px 18px 5px 18px!important;align-self:flex-end}
body.chat-screen .chat-bubble p{margin:2px 0!important;font-size:14px!important;line-height:1.45!important}
body.chat-screen .chat-bubble small{font-size:10px!important;opacity:.7}
body.chat-screen .chat-bubble.continuation{margin-top:-2px!important}
.chat-day{align-self:center;font-size:11px;color:#bac6cf;margin:12px 0 8px}
body.chat-screen .chat-thread{border:0!important;border-radius:12px!important;box-shadow:none!important;background:transparent!important}
body.chat-screen .chat-thread[aria-current=true]{background:#ffffff15!important}
body.page-learning #profile{max-width:900px}
.profile-notifications{margin-top:20px!important;padding:16px!important}
.notification-choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
.notification-choices label{display:flex;align-items:center;gap:8px;font-size:13px;margin:0}
.notification-choices input{width:18px!important;height:18px!important;flex:none}
.notification-choices fieldset{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:12px;border:0;padding:8px 0;margin:0}
.notification-choices legend{font-size:14px;font-weight:600;margin-bottom:8px}
.profile-notifications p{font-size:12px}
.teacher-notification-status{margin-top:16px;border-top:1px solid #ffffff28;padding-top:12px}
.bulk-delete-list{max-height:30vh;overflow:auto;font-size:13px;padding-left:22px}
body.student-dashboard-v40 .homework-pane{grid-column:1/-1!important;grid-row:1!important}
body.student-dashboard-v40 .feed-grid{display:flex!important;flex-direction:column;gap:7px!important}
body.student-dashboard-v40 .feed-card{display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:3px 12px!important;padding:12px!important;margin:0!important;border-radius:14px!important;min-height:0!important}
body.student-dashboard-v40 .feed-card>small{grid-column:1;font-size:11px!important}
body.student-dashboard-v40 .feed-card>h3{grid-column:1;margin:0!important;font-size:16px!important;line-height:1.35!important}
body.student-dashboard-v40 .feed-card>.homework-due{grid-column:1;font-size:11px!important;margin:0!important}
body.student-dashboard-v40 .feed-card>.homework-actions{grid-column:2;grid-row:1/4;align-self:center;margin:0!important}
body.student-dashboard-v40 .feed-card>.homework-actions>a{width:auto!important;min-height:40px!important;padding:8px 12px!important;font-size:12px!important;margin:0!important}
body.student-dashboard-v40 .feed-card>.task-details{grid-column:1/-1;margin-top:4px!important}
body.student-dashboard-v40 .feed-section>h2{font-size:15px!important;margin:12px 0 6px!important}
body.student-dashboard-v40 .due-group-title{font-size:12px!important;margin:8px 0 0!important}
@media(max-width:400px){body.student-dashboard-v40 .feed-card{gap:3px 8px!important}body.student-dashboard-v40 .feed-card>.homework-actions>a{padding:8px!important}}
body.page-learning .notification-choices label{margin:0!important;padding:0!important;min-height:32px!important;line-height:1.4!important;display:flex!important;align-items:center!important;gap:8px!important}
body.page-learning .notification-choices input{margin:0!important}
body.page-learning .notification-choices{gap:5px!important}
body.student-dashboard-v40 .feed-card{width:100%!important;max-width:none!important;min-width:0!important}
body.student-dashboard-v40 .feed-card>.homework-actions{display:flex!important;flex-direction:column!important;width:auto!important;min-width:0!important;max-width:112px!important;gap:5px!important}
body.student-dashboard-v40 .feed-card>.homework-actions>:is(a,button){width:auto!important;min-width:0!important;max-width:112px!important;font-size:12px!important;min-height:40px!important;line-height:1.3!important;padding:7px 10px!important;margin:0!important}
body.student-dashboard-v40 .feed-card>.homework-actions>:is(a,button){flex:none!important;height:auto!important;display:inline-flex!important;align-items:center!important;justify-content:center!important}

/* app-v40.28.css */
/* v40.28: consistent application surfaces; worksheet page overlays remain isolated. */
body.app28{--app-line:#45606d;--app-muted:#b8c8d1;--accent:var(--color-accent);background:#1d323d!important;color:#eef4f7!important;color-scheme:dark;margin:0!important;font-family:Manrope,Arial,sans-serif!important}
body.app28::before,body.app28::after{display:none!important}
body.app28 *,body.app28 *::before,body.app28 *::after{box-sizing:border-box}
body.app28 .topbar{position:relative!important;inset:auto!important;display:flex!important;align-items:center!important;gap:12px!important;margin:0!important;padding:12px 22px!important;width:100%!important;max-width:none!important;min-height:72px;border:0!important;border-bottom:1px solid var(--app-line)!important;border-radius:0!important;background:#203641!important;box-shadow:none!important;overflow:visible!important;z-index:80}
body.app28 .topbar .brand{font-size:22px!important;white-space:nowrap}
body.app28 :is(.teacher-account,.student-account){margin-left:auto!important;display:flex!important;align-items:center!important;gap:10px!important;min-width:0!important}
body.app28 .teacher-role{display:none!important}
body.app28 :is(.teacher-sidebar,.student-sidebar){position:absolute!important;top:72px!important;left:0!important;width:215px!important;padding:14px!important;margin:0!important;border:0!important;border-right:1px solid var(--app-line)!important;border-radius:0!important;background:#1a2f39!important;box-shadow:none!important;min-height:calc(100vh - 72px)}
body.app28 :is(.teacher-sidebar,.student-sidebar) a{display:flex!important;align-items:center!important;gap:10px!important;padding:10px 8px!important;margin:2px 0!important;border:0!important;border-radius:6px!important;box-shadow:none!important;background:transparent!important;font-size:13px!important;line-height:1.4!important;color:#dce8ef!important}
body.app28 :is(.teacher-sidebar,.student-sidebar) a[aria-current=page]{background:#74304966!important;color:white!important}
body.app28 .teacher-sidebar>p{font-size:10px!important;color:#b6a6b0!important;margin:18px 8px 5px!important;letter-spacing:1px}
body.app28 :is(.teacher-sidebar,.student-sidebar) svg{width:22px!important;height:22px!important;flex:0 0 22px!important}
body.app28 .student-sidebar a small{display:none!important}
body.app28 .student-sidebar a strong{font-size:13px!important}
body.app28 :is(.primary-student-nav){display:block!important}
body.app28 .shell{margin:0!important;padding:24px!important;width:auto!important;max-width:none!important;background:transparent!important;box-shadow:none!important;border:0!important;min-width:0}
body.app28:is(.teacher-layout,.student-layout)>.shell{margin-left:215px!important}
body.app28 :is(.panel,.theme-panel,.dashboard-pane,.work-card,.diag-card,.catalog-row,.timeline-row,.ws-panel,.ws-card){background:#283e4a!important;border:1px solid var(--app-line)!important;border-radius:9px!important;box-shadow:none!important;backdrop-filter:none!important;min-width:0}
body.app28 :is(h1,.page-title){font-size:28px!important;line-height:1.25!important;letter-spacing:-.5px;margin:0 0 8px!important}
body.app28 h2{font-size:19px!important}body.app28 h3{font-size:16px!important}
body.app28 :is(.page-sub,.hint,small){color:var(--app-muted)}
body.app28 :is(.btn-primary,.btn-ghost,.btn-secondary,.theme-action){display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px!important;padding:8px 12px!important;border-radius:7px!important;font-size:13px!important;line-height:1.3!important;box-shadow:none!important;white-space:normal;word-break:normal!important;overflow-wrap:normal!important}
body.app28 .btn-primary{background:var(--color-accent)!important;border:1px solid #cb4976!important;color:#fff!important}
body.app28 :is(.btn-ghost,.btn-secondary){background:#ffffff03!important;color:#e3edf3!important;border:1px solid var(--app-line)!important}
body.app28 :is(input,select,textarea){background:#1c303a!important;color:#eef4f7!important;border-color:var(--app-line)!important;min-width:0;max-width:100%}
body.app28 :is(button,a,summary):focus-visible{outline:2px solid #f3acc5;outline-offset:3px}
body.app28 .person-avatar{aspect-ratio:1!important;flex-shrink:0!important;padding:0!important;overflow:hidden!important;border-radius:50%!important}
body.app28 .topbar .person-avatar{display:inline-flex!important;align-items:center;justify-content:center;width:32px!important;height:32px!important;min-width:32px!important;max-width:32px!important;min-height:32px!important;max-height:32px!important;flex:0 0 32px!important;font-size:23px!important}
body.app28 .person-avatar img{width:100%!important;height:100%!important;object-fit:cover!important}
body.app28 .profile28{position:relative;margin:0!important;border:0!important;padding:0!important;background:none!important}
body.app28 .profile28>summary{display:flex;gap:7px;align-items:center;list-style:none;border:1px solid var(--app-line);border-radius:8px;padding:4px 8px;min-height:44px;font-size:13px;cursor:pointer}
body.app28 .profile28>summary::-webkit-details-marker{display:none}
body.app28 .profile28-items{position:absolute;right:0;top:calc(100% + 8px);width:210px;max-width:calc(100vw - 24px);padding:8px;background:#253e4b;border:1px solid var(--app-line);border-radius:8px;box-shadow:0 12px 24px #0006;z-index:120}
body.app28 .profile28-items>*{display:flex!important;width:100%!important;margin:4px 0!important;justify-content:flex-start!important}
body.app28 .profile28-items .person-avatar{display:none!important}
body.app28 .teacher-overview{display:flex!important;flex-wrap:wrap!important;gap:18px!important}
body.app28 .teacher-overview-column{display:contents!important}
body.app28 :is(.teacher-review-card,.teacher-schedule){flex:1 1 320px!important;padding:18px!important}
body.app28 .teacher-students{flex:1 0 100%!important;order:3;display:block!important;padding:16px!important;overflow:visible!important}
body.app28 .teacher-quick{order:4;flex:1 0 100%;display:flex!important;flex-wrap:wrap;gap:10px;padding:10px!important}
body.app28 .teacher-quick h2{display:none!important}
body.app28 .teacher-quick .theme-action{flex:1 1 150px;margin:0!important;background:none!important;border:0!important;text-align:left}
body.app28 .students28-heading{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}
body.app28 .students28-heading h2{margin:0!important;margin-right:auto!important}
body.app28 .students28-heading input{width:220px!important;margin:0!important;min-height:40px}
body.app28 .students28-heading #manage-toggle{margin:0!important;align-self:center!important}
body.app28 #student-list{display:flex!important;flex-wrap:nowrap!important;gap:10px!important;overflow-x:auto!important;border-radius:0!important;mask:none!important;clip-path:none!important;padding:4px 2px 10px!important;margin:0!important}
body.app28 #student-list .student-pill{flex:0 0 160px!important;display:flex!important;align-items:center!important;gap:10px!important;min-width:0!important;padding:10px!important;border-radius:8px!important;text-align:left!important;min-height:64px!important}
body.app28 #student-list .student-pill>div{min-width:0}
body.app28 #student-list .person-avatar{width:38px!important;height:38px!important;min-width:38px!important;font-size:26px!important}
body.app28 .teacher-workspace{display:block!important;margin-top:18px!important}
body.app28 .selected-student-bar{position:static!important;display:flex!important;align-items:center!important;gap:12px!important;padding:14px!important;margin:0 0 12px!important;background:#243d49!important;border:1px solid var(--app-line)!important;border-radius:8px!important}
body.app28 .selected-student-actions{display:flex!important;gap:8px!important;margin-left:auto!important;flex-wrap:wrap;justify-content:flex-end}
body.app28 .selected-student-bar strong{font-size:22px!important}
body.app28 .feed-grid{display:block!important}
body.app28 .row28{display:grid!important;grid-template-columns:38px minmax(0,1fr) auto!important;align-items:center!important;gap:6px 12px!important;padding:14px!important;margin:8px 0!important;width:100%!important;min-width:0!important}
body.app28 .row28>.row28-icon{grid-column:1;grid-row:1/3;width:38px;height:38px;display:grid;place-items:center;background:#57465f66;border-radius:7px;align-self:center}
body.app28 .row28-icon svg{width:23px;height:23px}
body.app28 .row28>.row28-copy{grid-column:2;grid-row:1/3;min-width:0;overflow-wrap:break-word}
body.app28 .row28-copy :is(h3,p,small){margin:3px 0!important;line-height:1.4!important}
body.app28 .row28-copy small{display:block;font-size:12px!important}
body.app28 .row28>.row28-actions{grid-column:3;grid-row:2;display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap;max-width:340px;margin:0!important}
body.app28 .row28>.row28-state{grid-column:3;grid-row:1;justify-self:end;margin:0!important;font-size:11px!important;padding:3px 8px!important;border-radius:6px;max-width:200px;line-height:1.4;background:#63ad9220;color:#b2e4cd;border:1px solid #5c9d8360}
body.app28 .row28 :is(.compact-icon,.task-remove){width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;padding:9px!important;flex:0 0 40px!important;aspect-ratio:1!important}
body.app28 .row28-actions svg{width:20px;height:20px}
body.app28 .row28>.row28-extra,body.app28 .row28>.work-controls{grid-column:1/-1!important;min-width:0!important;width:100%!important}
body.app28 .row28>.embedded-game{grid-column:1/-1!important;width:100%!important;min-width:0!important;margin:4px 0 0!important;background:none!important;border:0!important;padding:0!important}
body.app28 .embedded-game>summary{display:table!important;width:auto!important;max-width:100%;margin-left:auto!important;white-space:nowrap!important;word-break:normal!important;overflow-wrap:normal!important;min-height:40px!important;padding:8px 12px!important;border:1px solid var(--app-line)!important;background:#344f5d!important;color:#eef4f7!important;border-radius:7px!important;font-size:13px!important;line-height:1.5!important}
body.app28 .embedded-game iframe{display:block;width:100%!important;max-width:100%;min-height:420px;margin-top:12px;border:0}
body.app28 .catalog-row{display:grid!important;grid-template-columns:40px minmax(180px,1fr) auto!important;align-items:center!important;gap:12px!important;padding:16px!important}
body.app28 .catalog-row h3{margin:0!important;word-break:normal!important;overflow-wrap:break-word!important;min-width:0}
body.app28 .catalog-tools{display:flex!important;flex-wrap:wrap!important;justify-content:flex-end!important;gap:6px!important;margin:0!important;max-width:680px}
body.app28 .catalog-row>.private-files-preview,body.app28 .catalog-row>p{grid-column:2/-1;min-width:0}
body.app28 .catalog-tools :is(button,a,select){width:auto!important;min-width:0!important;max-width:100%;margin:0!important;min-height:40px}
body.app28 .private-files-preview{overflow-wrap:anywhere}
body.app28 .work-actions{display:flex!important;flex-wrap:wrap!important;gap:6px!important;justify-content:flex-end!important}
body.app28 .dates28{font-size:12px;grid-column:1/-1;margin:6px 0;color:var(--app-muted)}
body.app28 .timeline-filters{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto auto;gap:12px!important;align-items:end}
body.app28 .timeline-filters label{min-width:0!important;margin:0!important}
body.app28 .timeline-filters :is(input,select){width:100%!important;min-width:0!important;max-width:100%!important}
body.app28 .timeline-row{grid-template-columns:minmax(0,1fr) auto!important;gap:4px 12px!important;padding:14px!important;align-items:center!important}
body.app28 .timeline-type{grid-column:1;font-size:11px!important}
body.app28 .timeline-row>div{grid-column:1;min-width:0}
body.app28 .timeline-row>.btn-ghost{grid-column:2;grid-row:1/3;justify-self:end!important;font-size:12px!important;max-width:140px}
body.app28 .notice-toolbar{display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important}
body.app28 #notices-status{flex:1 1 200px!important;margin:0!important}
body.app28 .notice-settings{margin:0!important}
body.app28 #notices-refresh{width:40px;height:40px;padding:9px!important}
body.app28 #notices-refresh svg{width:22px;height:22px}
body.app28 .notice-settings-content{max-width:calc(100vw - 24px)}
body.app28 .word-resume button{width:auto!important;min-height:42px!important;padding:10px 14px!important;background:var(--color-accent)!important;border:1px solid #cb4976!important;border-radius:7px!important;color:white!important;font-size:14px!important}
body.app28 .bottom28{display:none}
body.app28 .teacher-sidebar .site28{position:static!important;inset:auto!important;transform:none!important;margin:18px 0!important;padding:0!important;max-width:100%!important}
body.app28 .site28 nav{position:static!important;background:transparent!important;box-shadow:none!important;padding:0!important}
body.app28.teacher-layout .homework-chat-bubble{display:none!important}
body.app28 .student-bottom-nav{background:#203641!important;border-top:1px solid var(--app-line)!important}
body.app28 .student-bottom-nav .nav-icon{display:flex!important;align-items:center;justify-content:center;white-space:nowrap!important;width:24px!important;height:24px!important;font-size:20px!important}
body.app28.chat-screen>.shell{margin:0!important;padding:12px!important}
body.app28.chat-screen :is(.teacher-sidebar,.student-sidebar,.bottom28){display:none!important}
body.app28 .back28{flex-shrink:0}
@media(max-width:1100px){body.app28 .catalog-row{grid-template-columns:36px minmax(0,1fr)!important}body.app28 .catalog-tools{grid-column:2/-1!important;max-width:none}body.app28 .row28-actions{max-width:220px!important}}
@media(max-width:700px){
body.app28 .topbar{min-height:64px!important;padding:10px!important;gap:6px!important}
body.app28 .topbar .brand{font-size:17px!important}
body.app28 :is(.teacher-account,.student-account){gap:5px!important}
body.app28 .notification-bell{width:36px!important;height:40px!important;padding:6px!important}
body.app28:is(.teacher-layout,.student-layout)>.shell,body.app28 .shell{margin-left:0!important;padding:16px 12px 100px!important}
body.app28 .teacher-sidebar{display:none!important;position:fixed!important;top:64px!important;bottom:74px!important;left:8px!important;width:calc(100% - 16px)!important;min-height:0!important;overflow-y:auto!important;z-index:90;border:1px solid var(--app-line)!important;border-radius:8px!important}
body.app28 .teacher-sidebar.is-open{display:block!important}
body.app28 .student-sidebar{display:none!important}
body.app28 .bottom28{position:fixed;bottom:0;left:0;right:0;display:flex!important;background:#203641;border-top:1px solid var(--app-line);padding:8px 4px calc(8px + env(safe-area-inset-bottom));z-index:100;gap:3px}
body.app28 .bottom28>*{display:flex!important;flex:1!important;min-width:0!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:4px!important;padding:4px!important;font-size:10px!important;line-height:1.3!important;background:transparent!important;border:0!important;border-radius:0!important;color:#dce8ee!important;text-decoration:none!important;margin:0!important}
body.app28 .bottom28 svg{width:24px!important;height:24px!important;flex-shrink:0}
body.app28 .students28-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
body.app28 .students28-heading h2{grid-column:1;grid-row:1;font-size:17px!important}
body.app28 .students28-heading #manage-toggle{grid-column:2;grid-row:1;max-width:160px;font-size:11px!important}
body.app28 .students28-heading input{grid-column:1/-1;width:100%!important}
body.app28 .teacher-students{padding:12px!important}
body.app28 .selected-student-bar{align-items:center!important;gap:8px!important;padding:10px!important}
body.app28 .selected-student-bar strong{font-size:19px!important}
body.app28 .selected-student-bar small{display:none!important}
body.app28 .selected-student-actions{gap:5px!important;max-width:180px}
body.app28 .selected-student-actions button{font-size:11px!important;min-height:36px!important;padding:6px 9px!important}
body.app28 .row28{grid-template-columns:32px minmax(0,1fr) auto!important;gap:5px 8px!important;padding:10px!important}
body.app28 .row28>.row28-icon{width:32px;height:32px;align-self:start;grid-row:1}
body.app28 .row28>.row28-copy{grid-column:2;grid-row:1/3}
body.app28 .row28-copy h3{font-size:14px!important}
body.app28 .row28-copy :is(p,small){font-size:11px!important}
body.app28 .row28>.row28-actions{max-width:130px!important;gap:5px;align-self:center}
body.app28 .row28-actions :is(a,button){font-size:11px!important;padding:7px 9px!important;min-height:40px!important}
body.app28 .row28>.row28-state{max-width:120px;font-size:10px!important}
body.app28 .row28 :is(.compact-icon,.task-remove){padding:9px!important}
body.app28 .timeline-filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}
body.app28 .timeline-row>.btn-ghost{max-width:105px;font-size:11px!important}
body.app28 .catalog-row{padding:12px!important}
body.app28 .catalog-tools{grid-column:1/-1!important}
body.app28 #notices-status{flex-basis:100%!important}
body.app28 #notices-read-all{margin-left:auto;font-size:12px!important}
body.app28 .notice-toolbar{justify-content:flex-end!important}
body.app28.chat-screen .topbar .brand{display:none!important}
body.app28 h1{font-size:25px!important}
}
body.app28 .app-nudge{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;background:#293f4a!important;border:1px solid var(--app-line)!important;border-radius:8px!important;padding:12px!important;margin:0 0 18px!important;box-shadow:none!important}
body.app28 .app-nudge strong{font-size:15px}body.app28 .app-nudge p{font-size:12px;margin:4px 0;color:var(--app-muted)}body.app28 .nudge-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
body.app28 .lesson-pane{display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:7px 14px;align-items:center;padding:14px!important}
body.app28 .lesson-pane>.eyebrow{display:none!important}
body.app28 .lesson-pane h2{grid-column:1;margin:0!important;font-size:17px!important}
body.app28 #lesson-status{grid-column:1;margin:0!important;font-size:13px;color:var(--app-muted)}
body.app28 #lesson-content{grid-column:1/-1;min-width:0}body.app28 #lesson-content:empty{display:none}
body.app28 .lesson-pane>.quiet-link{grid-column:2;grid-row:1/3;justify-self:end;margin:0!important;font-size:12px;text-align:right;max-width:120px}
body.app28 .collection-grid>button{display:flex!important;flex-direction:column;align-items:flex-start!important;gap:7px!important;text-align:left!important;padding:16px!important;border-radius:8px!important;background:#293f4a!important;border:1px solid var(--app-line)!important}
body.app28 .collection-grid strong{font-size:18px!important;line-height:1.4!important}body.app28 .collection-grid small{font-size:12px!important;line-height:1.5!important}
body.app28.app28 #student-list{flex-direction:row!important;align-items:stretch!important;max-height:none!important;height:auto!important}
body.app28.app28 #student-list .student-pill{width:160px!important;height:68px!important;min-height:68px!important;max-height:68px!important;flex:0 0 160px!important;flex-direction:row!important;justify-content:flex-start!important}
body.app28.app28 .row28>.row28-icon{width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important;max-width:38px!important;max-height:38px!important;align-self:center!important;grid-row:1/3!important}
body.app28.app28 .row28>.row28-copy{align-self:center!important}
body.app28 .teacher-assignment-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px 0}
body.app28 .teacher-assignment-row>[data-open-assignment]{min-width:0!important;width:100%!important;padding:12px!important;text-align:left!important}
body.app28 .teacher-assignment-row>.task-remove{width:40px!important;height:40px!important;min-height:40px!important;padding:9px!important}
body.app28 .student-dashboard-grid{display:grid!important;grid-template-columns:minmax(0,1fr) 320px;gap:18px!important;align-items:start}
body.app28 .lesson-pane{grid-column:1/-1!important;grid-row:1!important}
body.app28 .homework-pane{grid-column:1!important;grid-row:2/4!important;padding:14px!important}
body.app28 .feedback-pane{grid-column:2!important;grid-row:2!important;padding:16px!important}
body.app28 .student-dashboard-grid>#dashboard{grid-column:2!important;grid-row:3!important}
body.app28 .student-bottom-nav{left:0!important;right:0!important;bottom:0!important;width:100%!important;max-width:none!important;border-radius:0!important;transform:none!important;box-shadow:none!important;margin:0!important;padding:8px 4px calc(8px + env(safe-area-inset-bottom))!important}
body.app28 .student-bottom-nav .more-toggle .nav-icon{letter-spacing:2px!important;line-height:1!important;font-size:16px!important}
@media(max-width:1000px){body.app28 .student-dashboard-grid{grid-template-columns:minmax(0,1fr)!important}body.app28 .student-dashboard-grid>*{grid-column:1!important;grid-row:auto!important}body.app28 .lesson-pane{order:-1}body.app28 .student-dashboard-grid>#dashboard{order:5}}
@media(max-width:700px){body.app28.app28 .row28>.row28-icon{width:32px!important;height:32px!important;min-width:32px!important;min-height:32px!important;max-width:32px!important;max-height:32px!important}body.app28 .row28>.row28-copy{grid-column:2!important}body.app28 .row28>.row28-actions{grid-column:3!important}}
body.app28.app28 .row28>.row28-actions{display:flex!important;flex-direction:row!important;width:auto!important;min-width:0!important;justify-content:flex-end!important;grid-column:3!important;grid-row:2!important}
body.app28.app28 .row28-actions>:is(a,button){width:auto!important;flex:0 0 auto!important;max-width:100%!important;margin:0!important}
body.app28 .page-head{padding:0!important;margin:0 0 20px!important;min-height:0!important}
body.app28 .students28-heading .search28{width:40px!important;height:40px!important;padding:8px!important}
body.app28 .search28 svg{width:22px;height:22px}
body.app28 .students28-heading input{flex-basis:100%;width:100%!important}
body.app28 .row28[data-review-state=reviewed]>.row28-state{background:#7395ad20;color:#c4ddec;border-color:#7395ad60}
body.app28 .row28[data-review-state=submitted]>.row28-state{background:#c5a65a20;color:#f5d898;border-color:#c5a65a60}
body.app28 .row28[data-review-state=revision]>.row28-state{background:#cb719820;color:#f2b7d0;border-color:#cb719860}
body.app28.compact-login .login-card{background:#283e4a!important;border:1px solid var(--app-line)!important;border-radius:10px!important;box-shadow:none!important}
body.app28.compact-login .login-loading{background:transparent!important;box-shadow:none!important;border:0!important}
@media(max-width:700px){body.app28 .students28-heading{grid-template-columns:minmax(0,1fr) 40px auto}body.app28 .students28-heading .search28{grid-column:2;grid-row:1}body.app28 .students28-heading #manage-toggle{grid-column:3;max-width:140px}body.app28 .students28-heading input{grid-column:1/-1}}
@media(max-width:1000px){body.app28.app28 .student-dashboard-grid{display:flex!important;flex-direction:column!important;align-items:stretch!important}body.app28.app28 .student-dashboard-grid>*{width:100%!important;max-width:none!important;min-width:0!important;align-self:stretch!important}}
body.app28 .work-controls>p:empty{display:none!important}body.app28 .work-controls:empty{display:none!important}
body.app28 .row28>.work-controls{margin:0!important;padding:0!important}
body.app28 .row28 .dates28{font-size:11px!important;margin:5px 0!important}
body.app28 .catalog-row>.catalog-tools{grid-column:3;grid-row:1}
@media(max-width:1100px){body.app28 .catalog-row>.catalog-tools{grid-column:2/-1!important;grid-row:auto!important}}
@media(max-width:700px){body.app28 .catalog-row>.catalog-tools{grid-column:1/-1!important}}
body.app28 .teacher-assignment-row>[data-open-assignment]{display:grid!important;grid-template-columns:32px minmax(0,1fr)!important;gap:8px!important;align-items:center!important}
body.app28 .assignment28-icon{grid-column:1;grid-row:1/4;display:grid;place-items:center;width:32px;height:32px;border-radius:7px;background:#57465f66}
body.app28 .assignment28-icon svg{width:22px;height:22px}
body.app28 .teacher-assignment-row .item-main{grid-column:2;min-width:0}
body.app28 .teacher-assignment-row .status{grid-column:2;justify-self:end}
body.app28 .diag-library{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:12px!important}
body.app28 .diag-library>article{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center;gap:4px 12px!important;padding:14px!important}
body.app28 .diag-library>article>:not(button){grid-column:1;min-width:0;margin:3px 0!important}
body.app28 .diag-library>article>button{grid-column:2;grid-row:1/4;justify-self:end}
body.app28 .teacher-assignment-row .item-right{grid-column:2;justify-self:end;text-align:right;min-width:0}
body.app28 .private-files-preview:empty{display:none!important}
body.app28.student-layout .work-card{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:8px 12px!important;padding:14px!important;align-items:center}
body.app28.student-layout .work-card>:is(h2,small,.homework-due){grid-column:1;margin:0!important}
body.app28.student-layout .work-card>.work-actions{grid-column:2;grid-row:1/4;max-width:230px;margin:0!important}
body.app28.student-layout .work-card>:is(.feedback-note,.work-history){grid-column:1/-1}
@media(max-width:700px){body.app28.student-layout .work-card>.work-actions{max-width:125px}body.app28.student-layout .work-actions>:is(a,button){font-size:11px!important;min-height:40px!important;padding:7px 9px!important}body.app28.student-layout .work-card h2{font-size:16px!important}}
/* v40.29: explicit component boundaries and quieter secondary controls. */
html:has(body.app28){background:#1d323d!important;min-height:100%}
body.app28:not(.chat-screen){min-height:100vh;min-height:100dvh}
body.app28.teacher-layout .site-navigation{display:none!important}
body.app28 .diag-library{grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr))!important;gap:12px!important;max-width:1100px}
body.app28 .diag-library>article{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:8px!important;padding:16px!important}
body.app28 .diag-library>article>h3{font-size:16px!important;line-height:1.4!important}
body.app28 .diag-library>article>p{font-size:13px!important;color:var(--app-muted)}
body.app28 .diag-library>article>button{margin-top:auto!important;align-self:flex-end!important;min-height:36px!important;padding:7px 12px!important}
body.app28.chat-screen .chat-layout{grid-template-columns:260px minmax(0,1fr)!important;grid-template-rows:minmax(0,1fr)!important;min-height:0!important}
body.app28.chat-screen .chat-layout>aside{grid-column:1!important;grid-row:1!important;min-width:0!important}
body.app28.chat-screen .chat-main{grid-column:2!important;grid-row:1!important;min-width:0!important;width:100%!important;margin:0!important;border-radius:9px!important}
body.app28.chat-screen #chat-form{flex:none!important;width:100%!important}
body.app28.chat-screen #chat-text{width:100%!important;min-width:0!important}
@media(min-width:881px){body.app28.chat-screen .chat-picker{display:none!important}}
@media(max-width:880px){body.app28.chat-screen .chat-layout{display:flex!important;flex-direction:column!important}body.app28.chat-screen .chat-picker{display:flex!important;flex:none!important}body.app28.chat-screen .chat-main{flex:1!important;min-height:0!important}body.app28.chat-screen .chat-layout>aside:not(.is-open){display:none!important}}
body.app28 [data-review-state=assigned] :is(.row28-state,.status-badge,.badge){background:#d8a84a20!important;color:#f3d389!important;border:1px solid #bb974860!important}
body.app28 [data-review-state=reviewed] :is(.row28-state,.status-badge,.badge){background:#63ad9220!important;color:#a8e1c5!important;border:1px solid #5c9d8360!important}
body.app28 [data-review-state=submitted] :is(.row28-state,.status-badge,.badge){background:#719dc520!important;color:#b5d8f8!important;border:1px solid #719dc560!important}
body.app28 .vocab-view-tabs{display:flex!important;gap:4px!important;border-bottom:1px solid var(--app-line);margin:12px 0!important}
body.app28 .vocab-view-tabs>button{background:transparent!important;border:0!important;border-radius:0!important;font-size:12px!important;padding:8px!important;min-height:40px!important;color:var(--app-muted)!important}
body.app28 .vocab-view-tabs>button[aria-pressed=true]{border-bottom:2px solid #ed9fbc!important;color:#fff!important}
body.app28 :is(#all,#none){font-size:11px!important;background:none!important;border-color:transparent!important;padding:6px!important;min-height:40px!important;width:auto!important}
body.app28 .collection-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr))!important;gap:10px!important}
body.app28 .collection-grid>button{padding:12px!important;gap:3px!important}
body.app28 .collection-grid>button[aria-pressed=true]{border-color:#ed9fbc!important;background:#354853!important}
body.app28 #count{font-size:12px!important;color:var(--app-muted);margin:8px 0!important}
body.app28 .timeline-filters{gap:8px!important;margin:14px 0!important;max-width:780px}
body.app28 .timeline-filters label{font-size:12px!important}
body.app28 .timeline-filters :is(select,input){font-size:13px!important;min-height:40px!important;height:40px!important;padding:6px 9px!important;margin-top:4px!important}
body.app28 .timeline-filters button{font-size:11px!important;min-height:36px!important;justify-self:end;width:auto!important;padding:6px 10px!important}
body.app28 .timeline-row{padding:10px 12px!important;margin:7px 0!important}
body.app28 .timeline-row :is(h2,h3){font-size:16px!important;margin:3px 0!important}
body.app28 .timeline-row>.btn-ghost{background:transparent!important;border-color:transparent!important;min-height:40px!important;padding:5px 8px!important}
body.app28 .timeline-row>.btn-ghost:hover{border-color:var(--app-line)!important}
body.app28 .timeline-type{font-size:10px!important;color:var(--app-muted)!important}
body.app28 .material-dialog29{width:min(520px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto;background:#283e4a;color:#eef4f7;border:1px solid var(--app-line);border-radius:10px;padding:20px}
body.app28 .material-dialog29::backdrop{background:#07131bbb}
body.app28 .material-dialog29 input{width:100%}
body.app28 .location29{border:1px solid var(--app-line);border-radius:7px;padding:12px;margin:12px 0;min-width:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}
body.app28 .location29 legend{font-size:12px;color:var(--app-muted)}
body.app28 .location29 label{font-size:12px;min-width:0;margin:0}
body.app28 .location29 select{width:100%;font-size:13px;min-height:40px}
body.app28 .location29 p{grid-column:1/-1;font-size:12px;margin:0}
body.app28 .edit29{width:40px!important;height:40px!important;min-height:40px!important;padding:10px!important;flex:0 0 40px!important}
body.app28 .edit29 svg{width:18px;height:18px}
body.app28 .linked29{display:flex;align-items:center;gap:8px;padding:10px!important}
body.app28 .linked29 strong{flex:1;min-width:0;overflow-wrap:anywhere}
body.app28 .word-history29{background:none!important;border:0!important;border-top:1px solid var(--app-line)!important;border-radius:0!important;padding:12px 0!important;margin-top:16px!important;font-size:12px!important}
body.app28 .word-history29>summary{font-size:12px!important;font-weight:400!important;color:var(--app-muted)!important}
body.app28 .teacher-assignment-row{grid-template-columns:minmax(0,1fr) 40px 40px!important}
body.app28 .teacher-assignment-row>button:not(.task-remove):not(.edit29){grid-column:2/-1;justify-self:end}
body.app28 .work-card>.edit29{justify-self:end}
body.app28.app28 .teacher-assignment-row{display:grid!important;grid-template-columns:minmax(0,1fr) 40px 40px!important;grid-template-rows:auto!important;width:100%!important;min-width:0!important;align-items:center!important;gap:8px!important}
body.app28.app28 .teacher-assignment-row>[data-open-assignment]{grid-column:1!important;grid-row:1!important;width:100%!important;min-width:0!important;max-width:none!important}
body.app28.app28 .teacher-assignment-row>.task-remove{grid-column:2!important;grid-row:1!important}
body.app28.app28 .teacher-assignment-row>.edit29{grid-column:3!important;grid-row:1!important}
body.app28.app28 .teacher-assignment-row>button:not([data-open-assignment]):not(.task-remove):not(.edit29){grid-column:2/-1!important;grid-row:2!important;justify-self:end!important}
body.app28 [data-task-root29]{display:flex;flex-direction:column;align-items:stretch}
body.app28 [data-task-root29]>.list{display:contents!important}
body.app28 [data-task-root29]>.list>section{order:1}
body.app28 [data-task-root29]>section{order:2}
body.app28 [data-task-root29]>.list>[data-group29=reviewed]{order:10;margin-top:16px}
body.app28.app28 .teacher-assignment-row{background:#283e4a!important;border:1px solid var(--app-line)!important;border-radius:9px!important;padding:10px!important;margin:8px 0!important}
body.app28.app28 .teacher-assignment-row>[data-open-assignment]{background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:0!important;margin:0!important}
body.app28 [data-review-state=assigned] .diag-result{background:#d8a84a20!important;color:#f3d389!important}
body.app28 [data-review-state=reviewed] .diag-result{background:#63ad9220!important;color:#a8e1c5!important}
body.app28 [data-review-state=submitted] .diag-result{background:#719dc520!important;color:#b5d8f8!important}
/* v40.30: align only the reported components; preserve the library's light surfaces. */
body.app28.app28 .teacher-assignment-row.assignment30{grid-template-columns:minmax(0,1fr) auto!important;grid-template-rows:auto auto!important;gap:6px 12px!important;padding:14px!important}
body.app28.app28 .assignment30>[data-open-assignment]{grid-column:1!important;grid-row:1/3!important;align-self:center!important}
body.app28.app28 .assignment30>.assignment-state30{grid-column:2!important;grid-row:1!important;justify-self:end!important;align-self:center!important;margin:0!important;font-size:11px!important;font-weight:400!important;padding:3px 8px!important;border-radius:6px!important;line-height:1.4!important;max-width:160px}
body.app28.app28 .assignment30>.assignment-actions30{grid-column:2!important;grid-row:2!important;display:flex!important;gap:6px!important;justify-content:flex-end!important;align-items:center!important;flex-wrap:wrap!important;max-width:340px}
body.app28.app28 .assignment30 .item-right{display:block!important;text-align:left!important;margin:5px 0 0!important;font-size:12px!important;color:var(--app-muted)!important}
body.app28 .assignment-actions30>.task-remove{width:40px!important;height:40px!important;padding:9px!important;min-height:40px!important}
body.app28 .assignment-actions30 svg{width:20px;height:20px}
body.app28.app28 .work-card.work30{display:grid!important;grid-template-columns:24px minmax(0,1fr) auto!important;gap:6px 12px!important;align-items:center!important;padding:16px!important}
body.app28.app28 .work30>*{grid-column:2/-1!important;grid-row:auto!important;margin:0!important;min-width:0}
body.app28.app28 .work30>small{grid-column:2!important;grid-row:1!important}
body.app28.app28 .work30>h2{grid-column:2!important;grid-row:2!important;align-self:center!important}
body.app28.app28 .work30>.work-select{grid-column:1!important;grid-row:2!important;position:static!important;padding:0!important;align-self:center!important}
body.app28.app28 .work30>.work-actions{grid-column:3!important;grid-row:2!important;align-self:center!important;max-width:460px!important;display:flex!important;align-items:center!important;gap:6px!important}
body.app28.app28 .work30>.work-actions>*{margin:0!important;position:static!important;align-self:center!important}
body.app28.library-page :is(.catalog-layout>nav,.library-card,.library-empty,.library-dialog){background:#f3f6f8!important;color:#303c48!important;border-color:#d4dde4!important;color-scheme:light}
body.app28.library-page :is(.tree-book,.tree-unit,.library-resource){background:transparent!important;color:#303c48!important;border-color:#ccd6df!important}
body.app28.library-page :is(.catalog-layout>nav,.library-card,.library-empty,.library-dialog) :is(p,small,label,h2,h3,h4,strong,summary,.tree-file,.tree-empty){color:#303c48!important;opacity:1!important}
body.app28.library-page :is(.catalog-layout>nav,.library-card,.library-dialog) :is(.btn-ghost,.btn-secondary,a:not(.btn-primary)){background:transparent!important;color:#344f60!important;border-color:#98aeba!important}
body.app28.library-page :is(.catalog-layout>nav,.library-card,.library-dialog) :is(input,select,textarea){background:#fff!important;color:#303c48!important;border-color:#98aeba!important;color-scheme:light}
body.app28.library-page .library-dialog .dialog-actions{background:transparent!important}
body.app28.library-page .tree-book[open]>summary,body.app28.library-page .tree-unit[open]>summary{background:#8000200d!important;color:#800020!important}
body.app28.library-page .library-card .library-error,body.app28.library-page .library-dialog .library-error{color:#92233f!important}
@media(max-width:700px){body.app28.app28 .assignment30>.assignment-actions30{max-width:130px!important}body.app28.app28 .assignment30>.assignment-state30{font-size:10px!important;max-width:120px}body.app28.app28 .work30>.work-actions{max-width:130px!important}body.app28.app28 .work30>.work-actions :is(button,a){font-size:11px!important;padding:7px 9px!important}body.app28.app28 .work-card.work30{grid-template-columns:20px minmax(0,1fr) auto!important;gap:6px 8px!important;padding:10px!important}}
body.app28.app28 .teacher-assignment-row.assignment30{grid-template-rows:min-content 1fr!important}
body.app28.app28 .assignment30>.assignment-state30{align-self:start!important}
body.app28.app28 .work30>h2{align-self:start!important;padding-top:8px!important;line-height:24px!important}
body.app28.app28 .work30>.work-actions{align-self:start!important}

.work-event-dates,.work-review-editor{grid-column:1/-1;min-width:0}.work-event-dates summary{cursor:pointer;font-size:14px}.work-event-dates>.work-dates{display:flex;flex-wrap:wrap;gap:12px;margin:10px 0}.work-event-dates>small{display:block;opacity:.7;font-size:12px}.work-review-editor a{display:inline-flex;align-items:center}

/* Equal mobile gutters override the older student dashboard margins. */
@media(max-width:900px){body.glass-cabinet.app28:not(.chat-screen)>.shell{box-sizing:border-box!important;margin-left:0!important;margin-right:0!important;width:100%!important;max-width:100%!important;padding-left:max(16px,env(safe-area-inset-left))!important;padding-right:max(16px,env(safe-area-inset-right))!important}}

/* design-v40.35.css */
/* Calm shared surfaces, with a distinct family accent. */
body.app28 #student-list>.student-edit-row33{position:relative;overflow:visible;flex:0 0 206px!important;width:206px!important;padding:0!important;border-radius:14px}
body.app28 #student-list>.student-edit-row33>.student-pill{width:100%!important;flex:1 1 auto!important;padding-right:42px!important;min-height:76px!important;border-radius:14px!important}
body.app28 #student-list>.student-edit-row33>button.student-pencil35{position:absolute!important;top:2px;right:2px;z-index:2;width:40px!important;height:40px!important;min-height:40px!important;padding:10px!important;border:0!important;background:transparent!important;box-shadow:none!important;color:#ccd9df!important}
body.app28 #student-list .student-pencil35:hover{background:#b9a4d02b!important}
body.compact-login{--login-accent:#98183f;--login-ink:#fff}
body.compact-login.login-parent35{--login-accent:#bba8d4;--login-ink:#222d39}
.role-switch35{position:relative;isolation:isolate;display:grid;grid-template-columns:1fr 1fr;padding:4px;border:1px solid #607985;border-radius:14px;background:#1a303c;margin-bottom:22px}
.role-switch35>span{position:absolute;z-index:-1;top:4px;bottom:4px;left:4px;width:calc(50% - 4px);border-radius:10px;background:var(--login-accent);transition:transform .38s cubic-bezier(.22,1,.36,1),background-color .3s}
.login-parent35 .role-switch35>span{transform:translateX(100%)}
body.compact-login .role-switch35>button{margin:0!important;border:0!important;background:transparent!important;box-shadow:none!important;min-height:48px;padding:10px!important;color:#e9eef0!important;font:inherit;cursor:pointer;transition:color .25s}
body.compact-login .role-switch35>button[aria-pressed=true]{color:var(--login-ink)!important;font-weight:700}
body.compact-login #live-form>button[type=submit]{background:var(--login-accent)!important;color:var(--login-ink)!important;border:1px solid #ffffff30!important;min-height:50px;border-radius:12px!important;transition:background-color .3s,color .3s}
body.compact-login .login-book35{display:block;width:108px;height:108px;border-radius:50%;object-fit:cover;margin:0 auto 20px}
body.compact-login #live-view .eyebrow{color:#d6b6ca!important;text-align:center;font-size:10px;letter-spacing:1.4px}
body.compact-login #login-title35{text-align:center;font-size:clamp(24px,5vw,32px)!important;line-height:1.25}
body.compact-login #login-sub35{text-align:center;font-size:14px!important;color:#cbd8df!important;min-height:42px}
body.compact-login #live-form input{min-height:50px!important;background:#253d49!important;color:#f3f5f7!important;border:1px solid #5a7582!important;border-radius:12px!important}
body.parent-layout{background:#1d333f;color:#edf3f5;--parent-accent:#bba8d4;--parent-line:#556c7b;font:15px/1.55 Manrope,Arial,sans-serif}
body.parent-layout .parent-topbar{background:#223a46;border-color:#4c6471;box-shadow:none;max-width:1100px}
body.parent-layout .parent-topbar .brand{font-size:21px}
body.parent-layout .parent-shell{max-width:1020px;padding:0 20px 48px}
.parent-eyebrow35{color:#cbb8dd!important;letter-spacing:2px;font-weight:700;font-size:11px}
body.parent-layout .parent-shell h1{font-size:30px}
body.parent-layout button,body.parent-layout a.btn-ghost,body.parent-layout .parent-dialog a:not(.brand){font:inherit;min-height:48px;padding:12px 16px;border:1px solid #627788;border-radius:12px;background:#29424f;color:#f0f3f7;text-decoration:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:10px;line-height:1.35}
body.parent-layout button:hover{background:#344e5d}
body.parent-layout button:focus-visible,body.parent-layout a:focus-visible{outline:3px solid #cdbade;outline-offset:3px}
body.parent-layout .family-actions33{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:12px 0 24px}
body.parent-layout .family-actions33>button{flex-direction:column;padding:16px 12px;min-height:96px;background:#243e4b;border-radius:16px;text-align:center}
.family-actions33 svg{width:26px;height:26px;color:#cebce0;flex:none}
body.parent-layout .parent-avatar{width:62px;height:62px}
body.parent-layout .parent-child{min-height:80px;border-radius:16px!important;font-size:20px;font-weight:650;gap:16px}
body.parent-layout .parent-child[aria-pressed=true]{background:#bba8d414!important;border-color:#c5b0d9!important}
body.parent-layout .parent-next,body.parent-layout .parent-work-section{background:#253e4b;border-color:#506a77;border-radius:16px;padding:18px}
body.parent-layout .parent-counts button{background:#2c4352!important;align-items:flex-start;flex-direction:column;gap:4px}
body.parent-layout .parent-counts strong{font-size:30px;color:#f4eef8}
body.parent-layout .parent-counts span{font-size:13px}
body.parent-layout .parent-dialog{background:#233c48;color:#edf3f6;border:1px solid #697f8d;border-radius:20px;padding:24px;overflow:auto;box-sizing:border-box}
body.parent-layout .parent-dialog>header{align-items:center;margin-bottom:20px}
body.parent-layout .parent-dialog h2{font-size:22px}
body.parent-layout .parent-dialog .dialog-close35{width:48px;height:48px;padding:0;flex:none}
.dialog-actions35{display:grid;gap:10px;margin-top:20px}
body.parent-layout .dialog-actions35>*{width:100%;box-sizing:border-box}
body.parent-layout .primary35,body.parent-layout .parent-balance35{background:#bba8d4!important;color:#24303c!important;border-color:#cdbbe0!important;font-weight:650}
.empty-notices35{text-align:center;padding:26px 10px;color:#c4d1d9}
.empty-notices35 svg{width:40px;height:40px;margin-bottom:10px;color:#c9b5dd}
.empty-notices35 strong{display:block;color:#f3f0f6;font-size:18px}
.empty-notices35 p{max-width:330px;margin:8px auto}
.parent-week35{border-left:3px solid #bba8d4;padding:10px 16px;margin:20px 0;color:#d8e1e7}
.parent-week35 h2{margin-bottom:4px;font-size:17px}
body.parent-layout .parent-balance35{width:100%;justify-content:space-between;margin-bottom:20px;padding:18px 20px;font-size:18px}
.billing-total35{background:#bba8d4;color:#25303a;border-radius:14px;padding:18px;font-size:22px;font-weight:700;margin:16px 0}
.billing-row35{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;padding:16px 0;border-bottom:1px solid #526a76}
.billing-row35 small{grid-column:1/-1;color:#c5d1d9}
.billing-state35{font-size:12px;border-radius:20px;padding:5px 10px;align-self:center;white-space:normal}
.billing-state35[data-state=paid]{background:#315d52;color:#c9efdc}
.billing-state35[data-state=due],.billing-state35[data-state=partial]{background:#65583b;color:#f3e0ad}
.billing-state35[data-state=cancelled]{background:#45515c;color:#dce3e8}
body.parent-layout .parent-dialog input{width:100%;min-height:48px;background:#1b313d;color:#f1f3f6;border:1px solid #7a8b98;border-radius:10px;padding:12px;font:inherit;margin:8px 0 16px}
body.parent-layout #app-onboarding,body.parent-layout .app-onboarding{margin:16px;border-radius:16px}
.credentials35{display:grid;gap:10px;padding:16px;border:1px solid #728294;border-radius:12px;margin-top:16px}
.credentials35 textarea{width:100%;min-height:130px;font:inherit;background:#1d333f;color:#fff;padding:12px;border-radius:8px}
@media(max-width:650px){body.parent-layout .family-actions33{grid-template-columns:repeat(2,minmax(0,1fr))}body.parent-layout .parent-shell{padding:0 16px 32px}body.parent-layout .parent-topbar{margin:12px 16px;padding:10px;gap:8px;flex-wrap:wrap}body.parent-layout .parent-topbar .brand{font-size:18px}body.parent-layout .parent-topbar button{font-size:12px;min-height:44px;padding:10px}body.parent-layout .parent-dialog{width:calc(100vw - 24px);padding:18px;max-height:90dvh}body.parent-layout .parent-work{grid-template-columns:minmax(0,1fr)}body.parent-layout .parent-work>button{justify-self:stretch;margin-top:8px}body.parent-layout .parent-counts button{padding:14px 10px!important}}
@media(max-width:340px){body.parent-layout .family-actions33{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.role-switch35>span,body.compact-login .role-switch35>button,body.compact-login #live-form>button[type=submit]{transition:none}}

body.parent-layout .app-nudge{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin:0 0 24px;padding:18px;border:1px solid #607685;border-radius:16px;background:#2b4350}body.parent-layout .app-nudge>div:first-child{flex:1 1 220px}body.parent-layout .app-nudge p{margin:6px 0}body.parent-layout .nudge-actions{display:flex;flex-wrap:wrap;gap:10px}body.parent-layout .nudge-actions .btn-primary{background:#bba8d4;color:#24313d}

body.app28.compact-login .login-card{border-radius:18px!important}body.app28 #student-list .student-pencil35{font-size:18px!important}
body.parent-layout [hidden]{display:none!important}

/* loading-v40.36.css */
:root{--vl-load-accent36:#a41d48;--vl-load-light36:#df9bb3}
:root[data-vl-role36=parent],body.parent-layout{--vl-load-accent36:#bba8d4;--vl-load-light36:#deceed}
html.vl-load36::before{content:'';position:fixed;z-index:2147483000;left:0;right:0;top:0;height:3px;pointer-events:none;background:linear-gradient(90deg,transparent 0%,var(--vl-load-accent36) 40%,var(--vl-load-light36) 55%,transparent 100%);background-size:45% 100%;background-repeat:no-repeat;animation:vl-travel36 1.2s ease-in-out infinite;box-shadow:0 1px 6px #b992b52e}
html.vl-load36.vl-load-done36::before{animation:none;background:var(--vl-load-light36);opacity:0;transition:opacity .18s}
.vl-ring36,body.compact-login .login-spinner{display:inline-block;width:46px;height:46px;border:2px solid #80969f33;border-top-color:var(--vl-load-light36);border-right-color:var(--vl-load-accent36);border-radius:50%;animation:vl-spin36 1.05s linear infinite;background:none;box-shadow:none;flex:none}
body.compact-login .login-loading{padding:60px 20px!important;max-width:460px;margin:auto}
body.student-dashboard-v40 .dashboard-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px}
.vl-skeleton36{display:grid;width:100%;gap:12px;padding:12px 0;max-width:500px}
.vl-skeleton36 i{height:12px;border-radius:5px;display:block;background:linear-gradient(90deg,#78949f18 20%,#bac8d438 50%,#78949f18 80%);background-size:200% 100%;animation:vl-shimmer36 1.8s ease-in-out infinite}
.vl-skeleton36 i:first-child{width:72%;height:18px}.vl-skeleton36 i:nth-child(2){width:93%}.vl-skeleton36 i:nth-child(3){width:56%}
button.vl-busy36::before,.vl-status-busy36::before{content:'';display:inline-block;width:15px;height:15px;margin-right:9px;vertical-align:-2px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:vl-spin36 .9s linear infinite;flex:none;opacity:1}
button.vl-saved36::before,.vl-status-saved36::before{content:'✓';display:inline-block;margin-right:8px;color:inherit}
#login-loading-note.vl-status-busy36::before{display:none}
#parent-status.vl-status-busy36::after{content:'';display:block;height:72px;max-width:500px;margin:18px 0;background:linear-gradient(90deg,#78949f18,#bac8d438,#78949f18);background-size:200% 100%;border-radius:12px;animation:vl-shimmer36 1.8s ease-in-out infinite}
@keyframes vl-spin36{to{transform:rotate(360deg)}}@keyframes vl-travel36{from{background-position:-80% 0}to{background-position:180% 0}}@keyframes vl-shimmer36{from{background-position:120% 0}to{background-position:-80% 0}}
@media(prefers-reduced-motion:reduce){html.vl-load36::before,.vl-ring36,body.compact-login .login-spinner,.vl-skeleton36 i,button.vl-busy36::before,.vl-status-busy36::before,#parent-status.vl-status-busy36::after{animation:none!important}html.vl-load36::before{background:var(--vl-load-light36)}html.vl-load36.vl-load-done36::before{transition:none}}

/* cabinet44.css */
/* Shared navigation counters: both counters participate in normal text flow. */
body .student-sidebar a strong {display:flex;align-items:center;gap:var(--space-8);min-width:0}
body .student-sidebar .homework-count,
body .student-sidebar .chat-nav-count40 {
 position:static!important;inset:auto!important;transform:none!important;
 display:inline-flex!important;align-items:center;justify-content:center;flex:0 0 auto;
 box-sizing:border-box;min-width:26px!important;width:auto!important;height:26px!important;padding:0 var(--space-8)!important;margin:0!important;
 border:1px solid #f2dce5!important;border-radius:999px!important;
 background:#95052f!important;color:#fff!important;font:600 13px/1 system-ui,sans-serif!important;
 vertical-align:middle;box-shadow:none!important;
}
body .student-sidebar .homework-count[hidden],body .student-sidebar .chat-nav-count40[hidden]{display:none!important}
body .save-status:not(:empty){background:#294753!important;color:#e8f5f7!important;border:1px solid #52717c;border-radius:var(--radius-md);padding:var(--space-12) var(--space-16)}
body.app28 .student-dashboard-grid>#dashboard{grid-column:1/-1!important;grid-row:1!important;align-self:start!important;order:0!important}
body.app28 .student-dashboard-grid>.lesson-pane{grid-column:1/-1!important;grid-row:2!important;order:1!important}
body.app28 .student-dashboard-grid>.homework-pane{grid-column:1!important;grid-row:3!important;order:2!important;min-width:0}
body.app28 .student-dashboard-grid>.feedback-pane{grid-column:2!important;grid-row:3!important;align-self:start;order:3!important}
body.app28.app28 .row28>.row28-actions{align-self:start!important;justify-content:flex-end!important}
body.app28.app28 .row28>.row28-icon{align-self:start!important}
body.app28 .row28{grid-template-rows:auto 1fr!important;align-items:start!important}
.homework-tools label[hidden]{display:none!important}
.assigned-books44{margin:0 0 var(--space-16);padding:var(--space-12);border:1px solid #486570;border-radius:var(--radius-md)}
.assigned-books44 ul{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:var(--space-8)}
.connection44{margin-block:16px;padding:var(--space-12);border:1px solid #52717c;border-radius:var(--radius-md)}
.connection44 section{border-top:1px solid #52717c;margin-top:var(--space-12);padding-top:var(--space-12)}
.connection44 p{overflow-wrap:anywhere}
@media(max-width:1300px){body.app28 .student-dashboard-grid{grid-template-columns:minmax(0,1fr)!important}body.app28 .student-dashboard-grid>.feedback-pane{grid-column:1!important;grid-row:4!important}}
.ws-page>.ws-image-status44{position:absolute;inset:0;z-index:6;display:flex;flex-direction:column;gap:var(--space-12);align-items:center;justify-content:center;background:#e8f0f3;color:#203e4a;padding:var(--space-16);text-align:center}
.ws-page>.ws-image-status44[hidden]{display:none}
.ws-page>.ws-image-status44 button{background:#940a35;color:white;border:0;border-radius:var(--radius-sm);padding:var(--space-8) var(--space-16)}
body .mobile-dock .chat-nav-count40,body .chat-count40{background:#95052f!important;color:#fff!important;border-color:#f2dce5!important;font-family:system-ui,sans-serif!important;font-weight:600!important}
@media(max-width:600px){
 body.app28.app28 .feed-card.row28{grid-template-columns:26px minmax(0,1fr) 90px!important;column-gap:var(--space-8)!important}
 body.app28.app28 .feed-card.row28>.row28-state{box-sizing:border-box;max-width:90px!important;white-space:normal!important;overflow-wrap:anywhere;font-size:10px!important;line-height:1.3!important}
 body.app28.app28 .feed-card.row28>.row28-actions{max-width:90px!important;flex-wrap:wrap}
 body.app28.app28 .feed-card.row28>.row28-copy{min-width:0!important;overflow-wrap:anywhere}
}

/* brand-v104.css */
/* Veltman Lang: one wordmark, locally bundled Manrope. */
@font-face{font-family:"Veltman Manrope";src:url("../assets/brand/manrope.ttf") format("truetype");font-style:normal;font-weight:200 800;font-display:swap}
:root{--veltman-wordmark-size:25px}
html body[class] .veltman-wordmark,html body[class] .unified-header .unified-logo,html body[class] .topbar .brand,html body[class] .topbar .game-brand50{
font-family:"Veltman Manrope",Manrope,Arial,sans-serif!important;
font-size:var(--veltman-wordmark-size)!important;font-weight:650!important;
font-style:normal!important;line-height:1.2!important;letter-spacing:-.04em!important;
word-spacing:0!important;text-transform:none!important;text-decoration:none!important;
white-space:nowrap;font-kerning:normal;font-synthesis:none;
}
body .veltman-wordmark .dot{display:none}
@media(max-width:620px){:root{--veltman-wordmark-size:20px}}
@media(max-width:360px){:root{--veltman-wordmark-size:17px}}

html body[class] .topbar .game-brand50{color:inherit}

/* cabinet-fixes104.css */
/* Fix initial legacy teacher navigation before authenticated sidebar mounts. */
body.teacher-boot104>.topbar> :not(.brand):not(.person-avatar){visibility:hidden!important}body.teacher-boot104>.topbar{min-height:68px}
/* Navigation must be anchored to the viewport, not a filtered content container. */
html:has(body.glass-cabinet),body.glass-cabinet{transform:none!important;filter:none!important;perspective:none!important;contain:none!important}
body.glass-cabinet .student-bottom-nav,body.app28 .bottom28{position:fixed!important;top:auto!important;bottom:0!important;left:0!important;right:0!important;margin:0!important;transform:none!important;z-index:1000!important;max-width:none!important;width:100%!important;padding-bottom:calc(8px + env(safe-area-inset-bottom))!important}
@media(max-width:760px){body.glass-cabinet:not(.chat-screen){padding-bottom:calc(90px + env(safe-area-inset-bottom))!important}}
.game-icon104{width:72px;height:72px;object-fit:cover;border-radius:14px;flex:none;box-shadow:0 3px 12px #0004}.row28-icon .game-icon104{width:100%;height:100%;border-radius:inherit}.game-trash104{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;padding:10px!important;display:inline-grid!important;place-items:center!important;color:#edb9c8!important}.game-trash104 svg{width:22px;height:22px}.game-trash104:hover{background:var(--color-accent)55!important}
.game-picker104,#practice-games100{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px!important;align-items:stretch!important;max-height:none!important;overflow:visible!important}.game-option104{min-width:0!important;display:flex!important;flex-direction:column!important;gap:8px!important;align-items:center!important;justify-content:flex-start!important;text-align:center!important;padding:10px!important;margin:0!important;height:100%!important;border-radius:15px!important;background:#173540!important;border:1px solid #79999f!important;cursor:pointer}.game-option104 span{display:block!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;font:600 13px/1.3 Arial!important;min-height:34px!important;color:#f4eadb!important}.game-option104 .game-icon104{width:100%;height:auto;aspect-ratio:1;max-width:120px}.game-option104:has(input:checked),.game-option104[aria-pressed=true]{border:2px solid #f1cb78!important;background:#4b3942!important;box-shadow:0 0 0 2px #f1cb7833!important}.game-option104:focus-within{outline:2px solid #8ad5c9;outline-offset:2px}.game-library-grid48 article>span{padding:0;overflow:hidden;width:76px;height:76px;flex-basis:76px}.game-library-grid48 article>span img{width:100%;height:100%;border-radius:inherit}
@media(max-width:650px){.game-picker104,#practice-games100{grid-template-columns:repeat(3,minmax(0,1fr))}.game-option104 .game-icon104{max-width:90px}.game-option104 span{font-size:12px!important}.game-icon104{width:56px;height:56px}}
