@layer compatibility, foundation, components, pages, responsive;
@import url('./legacy-structure.css');
@import url('./workspaces.css');
@import url('./play-and-dialogs.css');
@import url('./entry-and-game.css');
@import url('./assistants.css');
@import url('./mechanics.css');
@layer foundation {
 :root {
  color-scheme:dark; --bg:#031321; --panel:#071e32; --panel2:#0d2942;
  --surface:var(--panel); --surface-2:var(--panel2); --surface-3:#164362;
  --border:#24445e; --text:#f2f7ff; --muted:#b8cce1; --primary:#38d5fa;
  --secondary:#3679ff; --accent:#32d5a0; --success:var(--accent); --danger:#ff8795; --warn:#ffdc79;
  --glow:#1ba4d522; --radius:16px; --shadow:0 12px 30px #0003;
  --teacher-bg:var(--bg); --teacher-surface:var(--panel); --teacher-surface-2:var(--panel2);
  --teacher-border:var(--border); --teacher-text:var(--text); --teacher-muted:var(--muted);
  --teacher-primary:var(--primary); --teacher-primary-2:var(--secondary); --teacher-shadow:var(--shadow);
 }
 * {box-sizing:border-box}
 html {min-height:100%;scroll-padding-top:5rem}
 body[data-ui] {margin:0;background:var(--bg);color:var(--text);font:1rem/1.55 Inter,system-ui,-apple-system,"Segoe UI",sans-serif;min-height:100dvh;overflow:visible;touch-action:pan-y pinch-zoom}
 body[data-ui] :where(h1,h2,h3,h4,p) {overflow-wrap:anywhere}
 h1 {font-size:clamp(1.8rem,3vw,2.65rem);line-height:1.15;letter-spacing:-.035em}
 h2 {font-size:clamp(1.35rem,2vw,1.8rem);line-height:1.25} h3 {font-size:1.1rem;line-height:1.35}
 :where(button,input,select,textarea) {font:inherit}
 :where(button,a,input,select,textarea,summary):focus-visible {outline:3px solid #ffdc79;outline-offset:3px}
 :where(button,[role=button]) {cursor:pointer;touch-action:manipulation}
 :where(button:disabled,[aria-disabled=true]) {cursor:not-allowed;opacity:.55}
 img {max-width:100%;height:auto} :where(main,section,article,aside,nav,div) {min-width:0}
 a {color:var(--primary);text-underline-offset:3px}
 [hidden],.hidden {display:none!important}
 .screen {min-height:calc(100dvh - 8rem);padding:clamp(1rem,3vw,2rem)}
 .wrap {width:100%;max-width:1320px;margin-inline:auto}
 .muted,.tiny,small {color:var(--muted)} .tiny,small {font-size:.875rem}
 .grid {display:grid;gap:1rem}.g2 {grid-template-columns:repeat(2,minmax(0,1fr))}.g3 {grid-template-columns:repeat(3,minmax(0,1fr))}.g4 {grid-template-columns:repeat(4,minmax(0,1fr))}
 .pad {padding:1.3rem} .field {margin-bottom:1rem}
 label {display:block;color:var(--muted);font-size:.875rem;text-transform:none;letter-spacing:0;line-height:1.5;margin-bottom:.4rem}
}
@layer components {
 .lbp-mini-toggle,.auth-back {display:inline-flex;align-items:center;gap:.4rem}
 .legal-nav {display:flex;align-items:center;justify-content:center;gap:.65rem;flex-wrap:wrap}
 .panel-card,.studio-panel,.ai-author-card,.v127-class-card {background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:16px;padding:1.2rem;box-shadow:var(--shadow)}
 .panel-head,.studio-heading,.dashboard-welcome,.teacher-top-actions,.section-title {display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}
 .panel-head {margin-bottom:1rem}.panel-head h2 {margin:0}.page-title {font-size:1.5rem;font-weight:750;line-height:1.2}.page-sub {color:#b3c9de;font-size:.875rem}
 .dashboard-grid,.studio-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1rem 0}
 .quick-actions {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.quick-action {min-height:64px;display:flex;align-items:center;gap:.7rem;background:var(--panel2);color:var(--text);border:1px solid var(--border);border-radius:12px;padding:.9rem;text-align:left}
 .metric-card {display:flex;gap:1rem;align-items:center}.metric-card strong,.metric-card small {display:block}.metric-icon {font-size:1.6rem;color:var(--primary)}
 .activity-list,.attention-list {display:grid;gap:.8rem}.activity-item,.attention-item {padding:.85rem;border:1px solid var(--border);border-radius:10px;background:var(--panel2)}
 .lbp-theme-toggle {width:44px;height:44px;border:1px solid #51839e;border-radius:50%;color:#f2f7ff;background:#103454}
 .v11-dialog-head {background:var(--panel);color:var(--text);position:relative;border-color:var(--border);padding:0 0 1rem}.v11-stepper {padding:1rem 0}.v11-close {min-width:44px;min-height:44px}
 .v11-skip-link {position:fixed;left:1rem;top:-100px;z-index:2000;padding:1rem;background:var(--panel);color:var(--text)}.v11-skip-link:focus {top:1rem}
 :where(.card,.panel,.metric,.stat,.module-editor,.generated-card,.professional-header,.teacher-toolbar) {background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}
 :where(.btn,.v11-btn,.v129-preview-btn,.iconbtn,.beta-link) {display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:44px;height:auto;padding:.65rem 1rem;border:1px solid var(--border);border-radius:10px;background:var(--panel2);color:var(--text);font-weight:650;line-height:1.35;text-decoration:none;white-space:normal}
 :where(.btn.primary,.v11-btn.primary,.v129-preview-btn.primary,.primary-link) {background:#0850ef;color:white;border-color:#2d7bff}
 :where(.btn.green,.v11-btn.success) {background:#117955;color:#fff;border-color:#32d5a0}
 :where(.btn.danger) {background:#852e43;color:#fff}
 :where(.input,.plan-select,input:not([type=checkbox]):not([type=radio]),select,textarea) {width:100%;max-width:100%;min-height:44px;padding:.7rem .85rem;background:var(--bg);border:1px solid var(--border);border-radius:10px;color:var(--text);font-size:1rem}
 :where(.tabs,.actions,.review-actions,.auth-actions,.v11-actions) {display:flex;gap:.6rem;flex-wrap:wrap}
 :where(.tab,.nav-btn) {min-height:44px;border:1px solid transparent;border-radius:10px;color:var(--muted);background:transparent;white-space:normal}
 :where(.tab.active,.nav-btn.active,[aria-current=page]) {background:#135bc2;color:#fff;border-color:#3f9de6}
 :where(.badge,.status-pill,.plan-pill,.theme-chip) {display:inline-flex;align-items:center;gap:.35rem;border:1px solid var(--border);background:var(--panel2);color:var(--text);font-size:.875rem;border-radius:999px;padding:.25rem .65rem;white-space:normal}
 .status-pending {color:var(--warn)} .status-validated {color:var(--accent)} .status-rejected {color:var(--danger)}
 :where(.progress,.review-progress) {height:10px;background:#02101e;border-radius:10px;overflow:hidden}
 :where(.progress,.review-progress)>span {display:block;height:100%;background:linear-gradient(90deg,#16b9d8,#32d5a0)}
 :where(.tablewrap,.table-wrap,.review-table-wrap) {width:100%;overflow:auto;overscroll-behavior-x:contain;border-radius:12px}
 :where(table,.table) {width:100%;border-collapse:collapse;color:var(--text)}
 :where(th,td,.table th,.table td) {font-size:.875rem;text-align:left;padding:.8rem;border-bottom:1px solid var(--border);overflow-wrap:anywhere}
 :where(th,.table th) {color:var(--muted);text-transform:none;letter-spacing:0}
 :where(.notice,.security-note) {background:var(--panel2);color:var(--muted);padding:1rem;border-radius:10px}
 .navigation-toggle {display:none}
 :where(.modal-backdrop,.v11-dialog-backdrop,.v125-modal,.v127-modal,.v129-game-preview-modal) {position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:1rem;background:#010a16d9;overflow:auto;overscroll-behavior:contain;backdrop-filter:none}
 :where(.modal-card,.v11-dialog,.v125-modal-card,.v127-modal-card,.v129-game-preview-shell) {width:min(1050px,100%);max-height:calc(100dvh - 2rem);overflow:auto;overscroll-behavior:contain;background:var(--panel);border:1px solid var(--border);border-radius:18px;color:var(--text);box-shadow:var(--shadow)}
 #lbpBetaBar {position:relative;inset:auto;min-height:44px;height:auto;padding:.5rem 1rem;background:#082441;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;color:var(--muted);font-size:.875rem;z-index:5}
 #lbpBetaBar .beta-label {display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}
 #lbpGlobalFooter,.lbp-global-footer {position:relative;inset:auto;height:auto;min-height:3rem;padding:1rem;text-align:center;background:var(--bg);color:var(--muted);border-top:1px solid var(--border);font-size:.875rem}
 .topbar {position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;padding:1rem;background:var(--panel);border-bottom:1px solid var(--border);backdrop-filter:none}
 .brand,.lbp-brand-lockup {display:flex;gap:.75rem;align-items:center} .brand img,.lbp-product-logo {width:52px;height:52px;object-fit:contain}
 .lbp-skip-link {position:fixed;top:-100px;left:1rem;z-index:2000;background:var(--panel);padding:1rem}.lbp-skip-link:focus {top:1rem}
}
@layer pages {
 body:not(.teacher-dark) #screen-teacher,body:not(.dark) .admin-app,body.lbp-student-light #screen-student-home {
  color-scheme:light;--bg:#edf4fc;--panel:#fff;--panel2:#e5effb;--surface:#fff;--surface-2:#e5effb;--border:#adc5dc;--text:#132d49;--muted:#445e79;--primary:#1457c3;--accent:#137251;--warn:#8e5600;--danger:#b52742;
 }
 .teacher-sidebar,.admin-app>.side {--bg:#04162b;--panel:#08233f;--panel2:#103454;--border:#285475;--text:#f2f7ff;--muted:#b3c9de;--primary:#38d5fa;color:var(--text)}
 .teacher-topbar,.admin-app .top {color:#f2f7ff}.teacher-topbar small,.admin-app .top small {color:#b3c9de}
 .v1212-library-card,.v1212-lia-hero {--text:#f2f7ff;--muted:#bdd3e5;--primary:#38d5fa;color:var(--text)}
 .copyright-short {display:none}.lbp-beta-controls {display:flex;gap:.5rem;flex-wrap:wrap}.lbp-mini-toggle {min-height:36px;border:1px solid var(--border);border-radius:8px;background:var(--panel2);color:var(--text);padding:.35rem .65rem}
 /* A6: navy identity and a light, readable sign-in form. Art remains in its own column. */
 #screen-role,.auth-screen {display:grid;place-items:center;height:auto;max-height:none;overflow:visible;padding:clamp(1rem,4vw,3rem)}
 #screen-role .hero {padding:0;text-align:left;overflow:hidden}
 .lbp-entry-grid,.auth-shell {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:min(1160px,100%);height:auto;max-height:none;min-height:600px;border:1px solid var(--border);border-radius:22px;overflow:hidden;background:var(--panel);box-shadow:var(--shadow)}
 .lbp-entry-copy {display:flex;flex-direction:column;padding:2rem;background:linear-gradient(145deg,#083451,#05223d);position:relative}
 .entry-copy-inner {order:0} .entry-assistant {order:1;width:180px;height:220px;object-fit:contain;object-position:center;margin:1rem auto 0;border-radius:18px}
 .lbp-entry-copy h1 {font-size:clamp(2rem,3.3vw,3.1rem);line-height:1.1;margin:.8rem 0;color:var(--text)}
 .lbp-entry-copy p {font-size:1rem;color:var(--muted);line-height:1.6}
 .lbp-feature-list {display:grid;gap:.85rem;margin-top:1.2rem}.lbp-feature {display:flex;gap:.7rem}.lbp-feature b,.lbp-feature span {display:block}.lbp-feature span {font-size:.875rem}.feature-icon {color:var(--primary)}
 .entry-trust {display:none}
 .lbp-entry-actions,.auth-main,.login-card {--text:#14283e;--muted:#4d647a;--bg:#fff;--panel:#fff;--panel2:#eff5fc;--border:#b7cbdc;--primary:#1257c8;--accent:#126b51;color-scheme:light;background:#f7faff;color:var(--text);padding:clamp(1.4rem,3.2vw,3rem);display:flex;flex-direction:column;justify-content:center;height:auto;overflow:visible}
 .entry-app-brand {text-align:center;margin-bottom:1.5rem}.entry-app-brand img {display:block;margin:0 auto .6rem}.entry-app-brand strong,.entry-app-brand span {display:block}.entry-app-brand span {font-size:.875rem;color:var(--muted)}
 .lbp-entry-actions h2,.auth-heading h2 {font-size:1.75rem;line-height:1.2;margin:.6rem 0}.lbp-entry-actions>p,.auth-heading p {color:var(--muted);font-size:1rem}
 .entry-role-card {display:flex;align-items:center;gap:1rem;width:100%;padding:1.1rem;margin:.5rem 0;border:1px solid var(--border);border-radius:14px;background:#fff;color:var(--text);text-align:left}
 .entry-role-card small {display:block;color:var(--muted);font-size:.875rem;line-height:1.4;margin-top:.25rem}.entry-role-icon {font-size:1.7rem;color:#12768c}
 .auth-side {padding:2rem;display:flex;flex-direction:column;gap:1.3rem;background:linear-gradient(150deg,#06415e,#07203f);color:#f2f7ff;position:relative;overflow:hidden}
 .teacher-auth-side::after {content:"";display:block;width:190px;height:250px;align-self:center;background:url('../../assets/branding/lia-full-v5.png') center/contain no-repeat;border-radius:18px}
 .auth-side-copy h1 {font-size:clamp(1.8rem,3vw,2.6rem);margin:.7rem 0}.auth-side-copy p {color:#bdd3e5;font-size:1rem}.auth-side-brand img {width:52px}.auth-side-brand small {display:block}
 .auth-back {min-height:44px;align-self:flex-start;border:1px solid #51839e;color:inherit;background:transparent;border-radius:10px;padding:.6rem 1rem}
 .auth-mini-features {display:grid;gap:.65rem;font-size:.875rem}.auth-mobile-top {display:none}
 .google-auth-btn {display:flex;align-items:center;justify-content:center;gap:.8rem;min-height:48px;width:100%;background:white;color:#162d43;border:1px solid #b7cbdc;border-radius:10px}
 .auth-divider {text-align:center;color:#4d647a;font-size:.875rem;margin:1rem 0}
 .auth-form-grid {display:grid;grid-template-columns:1fr;gap:0}.auth-actions>* {flex:1}
 .auth-status-row,.auth-footnote {font-size:.875rem;color:var(--muted);margin-top:1rem;display:flex;gap:.7rem;flex-wrap:wrap}
 .auth-dev-btn {display:none}
 /* A1, A2 and A7: one persistent navigation and dense, responsive working surfaces. */
 .admin-login {background:var(--bg);min-height:100dvh;padding:1rem;display:grid;place-items:center}.login-card {width:min(460px,100%);border-radius:20px}.admin-app .side {color:var(--text)}.admin-app .panel,.admin-app .metric {background:var(--panel);color:var(--text);border-color:var(--border)}
 .legal-wrap,.legal-card {max-width:900px;margin:auto;background:var(--panel);color:var(--text);padding:1.5rem;border-radius:16px}
 .legal-header {background:#08233f;border-bottom:1px solid #285475;padding:1rem}.legal-header-inner {max-width:1000px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.legal-brand {display:flex;gap:.8rem;align-items:center}.legal-brand img {width:48px;height:48px}.legal-brand span {display:block;color:var(--muted);font-size:.875rem}.back-link {min-height:44px;display:inline-flex;align-items:center;gap:.5rem}.legal-main {padding:clamp(1rem,3vw,2rem)}.legal-card h2 {margin-top:2rem}.legal-card li {margin:.5rem 0}.legal-meta,.legal-eyebrow {color:var(--muted)}.legal-contact,.legal-note {padding:1rem;background:var(--panel2);border-radius:12px}.legal-footer {padding:1.5rem;text-align:center;font-size:.875rem}.legal-footer nav {margin-top:.5rem}
 body.password-reset {display:grid;place-items:center;padding:1rem}body.password-reset>.card {width:min(520px,100%);padding:1.6rem}body.password-reset .brand img {width:52px;height:52px}
}
@layer responsive {
 @media (max-width:1200px) {.v1212-game-library-grid {grid-template-columns:repeat(3,minmax(0,1fr))}.v1212-dashboard-showcase {grid-template-columns:1fr}.teacher-app-shell,.admin-app {grid-template-columns:210px minmax(0,1fr)}}
 @media (max-width:850px) {
  .teacher-app-shell,.admin-app {display:block}.teacher-sidebar,.admin-app>.side {position:relative;top:auto;height:auto;max-height:none;overflow:visible;width:100%;border-right:0;border-bottom:1px solid var(--border);padding:.8rem 1rem}
  .navigation-toggle {display:block;min-height:44px;width:100%;padding:.65rem 1rem;background:var(--panel2);color:var(--text);border:1px solid var(--border);border-radius:10px;text-align:left;font-weight:700}
  .teacher-brand,.teacher-sidebar .sidebar-footer,.admin-app>.side>.brand {display:none}
  #teacherMenu,#adminMenu {display:none} .navigation-toggle[aria-expanded=true]~#teacherMenu,.navigation-toggle[aria-expanded=true]~#adminMenu {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem;margin-top:.5rem}.teacher-nav-label,.nav-label {grid-column:1/-1}
  .teacher-topbar,.admin-app .top {position:relative;padding:1rem}.teacher-content {padding:1rem}
  .lbp-entry-grid,.auth-shell {grid-template-columns:1fr;min-height:0}.auth-side {display:none}.auth-mobile-top {display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;gap:1rem}.auth-mobile-brand {display:flex;align-items:center;gap:.6rem}.mobile-brand-text small {display:block}
  .lbp-entry-copy {padding:1.3rem}.lbp-entry-copy h1 {font-size:2rem}.lbp-feature-list,.entry-assistant {display:none}.lbp-entry-actions {padding:1.5rem}.auth-main {padding:1.5rem}
  .g3,.g4,.dashboard-metrics,.metrics {grid-template-columns:repeat(2,minmax(0,1fr))}
  .v1212-student-shell,.student-results-layout,.v129-preview-body {grid-template-columns:1fr}.v1212-student-nav {display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.v1212-student-nav .brand {grid-column:1/-1}
  .qrow,.quick-review,.share-grid,.v11-grid,.v127-classes-grid,.v127-class-layout,.v127-integrations,.studio-grid,.teacher-dashboard-grid,.dashboard-grid {grid-template-columns:minmax(0,1fr)}
  .v129-preview-side {order:2}.v129-game-preview-head {padding:1rem}.v129-preview-body {padding:1rem}
  .publish-cta {position:static;flex-direction:column;align-items:stretch}.teacher-content {padding-bottom:6rem}
  .v11-dialog-backdrop {padding:.5rem}.v11-dialog {max-height:calc(100dvh - 1rem);padding:1rem}
 }
 @media (max-width:480px) {.g2,.g3,.cards3 {grid-template-columns:1fr}.v1212-game-library-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.v1212-library-card {padding:.8rem;min-height:240px}.v1212-lia-hero {padding:1.2rem}.v1212-lia-hero::after {display:none}.v1212-lia-hero>h2,.v1212-lia-hero>p {max-width:none}.v1212-lia-actions>* {width:100%}.teacher-nav .tab {font-size:.875rem}.auth-actions {flex-direction:column}.topbar .brand {flex-wrap:wrap}.result-score-grid {grid-template-columns:1fr}}
 @media (prefers-reduced-motion:reduce) {*,*::before,*::after {animation:none!important;transition:none!important;scroll-behavior:auto!important}}
 @media print {.teacher-sidebar,.navigation-toggle,#lbpBetaBar,#v11WizardFab,.topbar {display:none}.screen {padding:0}}
}
