/* 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}
