/* Canonical shared learning-app UI layer. App-specific colors come from local theme tokens. */
.study-notification-button{width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;position:relative;border:1px solid var(--line,var(--border,#dbe4de));border-radius:11px;background:#fff;color:var(--brand,var(--primary,#2563eb));cursor:pointer}.study-notification-button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.study-notification-button.has-unread{background:var(--brand-soft,#eff6ff);box-shadow:0 0 0 2px color-mix(in srgb,var(--brand,#2563eb) 15%,transparent)}.study-notification-button i{display:none;position:absolute;right:5px;top:4px;width:8px;height:8px;border-radius:50%;background:#ef4444;border:1px solid #fff}.study-notification-button.has-unread i{display:block}.study-notification-panel{position:fixed;z-index:10010;right:max(14px,calc((100vw - 920px)/2));top:82px;width:min(350px,calc(100vw - 28px));max-height:min(78vh,650px);overflow:auto;padding:16px;border:1px solid var(--line,var(--border,#dbe4de));border-radius:18px;background:#fff;box-shadow:0 18px 55px #0f172a2b;color:var(--ink,#0f172a)}.study-notification-panel[hidden],.study-guide-backdrop[hidden],.study-review-manager[hidden]{display:none}.study-notification-panel>header,.study-review-manager>header{display:flex;justify-content:space-between;align-items:center}.study-notification-panel button,.study-review-item button{cursor:pointer}.study-notification-panel>header button,.study-guide-close,.study-review-manager>header button{border:0;background:transparent;font-size:1.4rem}.study-notice-list article{padding:12px 0;border-bottom:1px solid var(--line,#e2e8f0)}.study-notice-list p{margin:4px 0 8px;color:var(--muted,#64748b);font-size:.88rem}.study-notice-list article button,.study-tour-open,.study-review-start{border:1px solid var(--line,#dbe4de);border-radius:9px;padding:7px 10px;background:var(--brand-soft,#eff6ff);color:var(--brand-strong,var(--brand,#2563eb));font-weight:750}.study-tour-open{margin-top:12px}.study-review-item{display:flex;justify-content:space-between;gap:8px;padding:7px 0;font-size:.88rem}.study-review-item small{display:block;color:var(--muted,#64748b)}.study-review-start{width:100%;margin-top:8px}.study-review-start:disabled,.study-question-star:disabled{opacity:.55;cursor:default}.study-question-star{border:1px solid var(--line,#dbe4de);border-radius:10px;padding:8px 11px;background:#fff;color:var(--brand-strong,var(--brand,#2563eb));font-weight:750;cursor:pointer}.study-question-star:hover{background:var(--brand-soft,#eff6ff)}.study-review-question-action{display:flex;justify-content:flex-start;margin-top:10px}.study-review-question-action .study-question-star{min-height:42px;padding:10px 16px;background:var(--brand-soft,#eff6ff);font-size:.92rem}.study-review-question-action .study-question-star:disabled{opacity:1;background:#f1f5f9;color:#475569}.study-guide-backdrop{position:fixed;z-index:10020;inset:0;display:grid;place-items:center;background:#0f172a88;padding:20px}.study-guide{position:relative;width:min(440px,100%);padding:28px;border-radius:22px;background:#fff;box-shadow:0 25px 80px #0f172a55}.study-guide-close{position:absolute;right:14px;top:12px}.study-guide-step{color:var(--brand-strong,var(--brand,#2563eb));font-weight:800}.study-guide h2{margin:12px 0 6px}.study-guide p{color:var(--muted,#64748b)}.study-guide footer{display:flex;justify-content:space-between;margin-top:22px}.study-guide footer button{border:1px solid var(--line,#dbe4de);border-radius:10px;background:white;padding:9px 13px}.study-guide .study-guide-next{background:var(--brand,#2563eb);color:white}.study-guide footer .study-guide-skip{border:0;color:var(--muted,#64748b)}.study-guide-focus{outline:4px solid #60a5fa!important;outline-offset:5px!important;position:relative;z-index:10021!important}.study-review-manager{position:fixed;z-index:10030;inset:0;display:grid;align-content:start;gap:10px;margin:auto;width:min(560px,calc(100% - 28px));max-height:min(80vh,680px);overflow:auto;padding:20px;border:1px solid var(--line,#dbe4de);border-radius:18px;background:white;box-shadow:0 24px 70px #0f172a44;color:var(--ink,#0f172a)}
/* Shared canvas and component geometry. */
.study-review-empty{margin:8px 0;color:var(--muted,#64748b);font-size:.86rem}
.learning-app-shell{width:min(920px,calc(100% - 32px));margin:24px auto;color:var(--ink,var(--text,#0f172a));font:16px/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.learning-app-shell .topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border:1px solid var(--line,var(--border,#e2e8f0));border-radius:20px;background:rgba(255,255,255,.9);box-shadow:0 18px 55px rgba(15,23,42,.10);backdrop-filter:blur(12px)}
.study-settings-tools{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.study-settings-tools button{border:1px solid var(--line,#dbe4de);border-radius:9px;background:#fff;color:var(--brand-strong,var(--brand,#2563eb));padding:6px 9px;font-weight:750;cursor:pointer}.study-question-star[hidden]{display:none}
.study-review-backdrop{position:fixed;z-index:10029;inset:0;display:grid;place-items:center;padding:14px;background:#0f172a66}.study-review-backdrop[hidden]{display:none}
.study-settings-tools{margin:0 8px 0 auto;align-self:center}.study-settings-tools button{white-space:nowrap}.is-premium-locked{opacity:.64}.premium-module-tag{display:inline-block;margin-left:6px;padding:3px 7px;border-radius:999px;background:#ede9fe;color:#6d28d9;font-size:.68rem;vertical-align:middle}
.learning-app-shell .dashboard-card,.learning-app-shell .home-card{margin-top:18px;padding:30px;border:1px solid var(--line,var(--border,#e2e8f0));border-radius:26px;background:rgba(255,255,255,.9);box-shadow:0 18px 55px rgba(15,23,42,.10)}
.learning-app-shell .hero,.learning-app-shell .home-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:24px}
.learning-app-shell h1{margin:0;font-size:clamp(2rem,5vw,3rem);line-height:1.05;letter-spacing:-.035em}
.learning-app-shell .hero-mark,.learning-app-shell .home-mark{width:84px;height:84px;object-fit:contain}
.learning-app-shell .analytics-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:14px}
.learning-app-shell .analytics-card{min-height:112px;padding:14px;border:1px solid var(--line,var(--border,#e2e8f0));border-radius:16px;background:var(--surface-soft,#fbfffc);background-image:none;transition:transform .18s ease,box-shadow .18s ease}
.learning-app-shell .analytics-card span{display:block!important;color:var(--muted)!important;font-size:.7rem!important;line-height:1.2!important;font-weight:900!important;letter-spacing:.07em!important;text-transform:uppercase!important}
.learning-app-shell .analytics-card strong{display:block!important;margin:8px 0 2px!important;font-size:1.45rem!important;line-height:1.1!important}
.learning-app-shell .analytics-card small{display:block!important;color:var(--muted)!important;font-size:.78rem!important;line-height:1.2!important}
.learning-app-shell .analytics-card:hover{transform:translateY(-3px);box-shadow:0 12px 24px rgba(15,23,42,.12)}
.learning-app-shell .vertex-overview-cards,.learning-app-shell .home-overview{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:22px 0}
.learning-app-shell .vertex-overview-cards article,.learning-app-shell .home-overview-card{min-height:100px;padding:16px;border:1px solid var(--line,var(--border,#e2e8f0));border-radius:16px;background:var(--surface-soft,#fbfffc);transition:transform .18s ease,box-shadow .18s ease}
.learning-app-shell .vertex-overview-cards article:hover,.learning-app-shell .home-overview-card:hover{transform:translateY(-3px);box-shadow:0 12px 24px rgba(15,23,42,.12)}
.learning-app-shell .module-empty{padding:28px;border:1px dashed var(--line,#a7cbb0);border-radius:18px;background:var(--surface-soft,#fbfffc)}
@media(max-width:720px){.learning-app-shell{width:calc(100% - 20px);margin:12px auto}.learning-app-shell .analytics-grid{grid-template-columns:repeat(2,1fr)}.learning-app-shell .vertex-overview-cards,.learning-app-shell .home-overview{grid-template-columns:1fr}}
.learning-app-shell .level-switch{display:inline-flex;margin:22px 0 18px;padding:4px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft,#fbfffc)}
.learning-app-shell .level-tab{border:0;border-radius:10px;padding:10px 16px;background:transparent;color:var(--muted);font-weight:850;cursor:pointer;transition:transform .18s ease,background .18s ease,box-shadow .18s ease,color .18s ease}
.learning-app-shell .level-tab:hover{transform:translateY(-2px);background:var(--brand-soft,#f1faf3)}
.learning-app-shell .level-tab.is-active{background:var(--surface,#fff);color:var(--brand-strong,var(--brand));box-shadow:0 4px 12px rgba(20,83,45,.08)}
.learning-app-shell .home-actions{display:flex;gap:10px;padding-bottom:22px;border-bottom:1px solid var(--line)}
.learning-app-shell .home-start-btn,.learning-app-shell .home-settings-btn{min-height:46px}
.learning-app-shell .home-start-btn:disabled{opacity:.55;cursor:not-allowed}
.learning-app-shell .dashboard-analytics{margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}
.learning-app-shell .modal-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.learning-app-shell .modal-heading h2{margin:0;letter-spacing:-.03em}
.learning-app-shell .modal-heading p{margin:6px 0 0;color:var(--muted)}
.learning-app-shell .premium-request-divider{display:flex;align-items:center;gap:10px;margin:16px 0 10px;color:var(--muted);font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.learning-app-shell .premium-request-divider:before,.learning-app-shell .premium-request-divider:after{content:"";height:1px;flex:1;background:var(--line)}
.learning-app-shell .premium-request-toggle{width:100%;justify-content:center}
.learning-app-shell .premium-request-form{display:grid;gap:12px;margin-top:12px;padding:13px;border:1px solid var(--line);border-radius:14px;background:var(--brand-soft,#f7fdf8)}
.learning-app-shell .premium-request-form label{display:grid;gap:6px}
.learning-app-shell .premium-request-form input{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface,#fff);color:var(--ink)}
.learning-app-shell .premium-request-form button{width:100%;justify-content:center}
.learning-app-shell .feedback-modal,.learning-app-shell .modal.compact{width:min(540px,100%);padding:20px;border-radius:20px;background:var(--surface,#fff);box-shadow:0 24px 60px rgba(0,0,0,.28)}
/* Cross-app shell parity: Claro keeps its legacy DOM/runtime IDs, but its visible
   shell follows the same geometry as Vertex.  Brand tokens remain app-specific. */
.app.learning-app-shell{width:min(920px,calc(100% - 32px));margin:24px auto;display:flex;flex-direction:column;gap:18px}
.app.learning-app-shell .topbar{position:sticky;top:14px;z-index:40;min-height:70px;padding:14px 16px;border-radius:20px;background:rgba(255,255,255,.9);backdrop-filter:blur(12px)}
.app.learning-app-shell .brand{display:flex;flex-direction:row;align-items:center;gap:0;min-width:0}
.app.learning-app-shell .brand-switcher{position:relative}
.app.learning-app-shell .brand-switcher-button{display:flex;align-items:center;gap:10px;min-height:42px;padding:0;border:0;background:transparent;color:var(--text,#0f172a)}
.app.learning-app-shell .brand-switcher-button .brand-mark{width:42px;height:42px;object-fit:contain}
.app.learning-app-shell .claro-brand-copy{display:grid;line-height:1.1}
.app.learning-app-shell .claro-brand-copy strong{font-size:1.15rem}
.app.learning-app-shell .claro-brand-copy #headerLevel{font-size:.77rem;color:var(--muted);font-weight:700}
.app.learning-app-shell .claro-chevron{font-size:1rem;color:var(--muted);transform:none}
.app.learning-app-shell .brand>.subtitle{display:none}
.app.learning-app-shell .top-actions{gap:10px}
.app.learning-app-shell #activeModuleChip{display:none}
.app.learning-app-shell #premiumBtn,.app.learning-app-shell #settingsBtn{height:48px;min-width:0;border-radius:12px}
.app.learning-app-shell #premiumBtn{width:auto;padding:10px 14px;font-size:16px;background:#fff;color:var(--primary-2,#1d4ed8);border:1px solid var(--keyhint-border,#bfdbfe);box-shadow:none}
.app.learning-app-shell #settingsBtn{width:auto;padding:10px 14px;font-size:16px;background:#fff;color:var(--text,#0f172a);border:1px solid var(--keyhint-border,#bfdbfe);box-shadow:none}
.app.learning-app-shell #premiumBtn:hover,.app.learning-app-shell #settingsBtn:hover{background:var(--keyhint-bg,#eff6ff);box-shadow:0 10px 20px rgba(37,99,235,.12)}
.app.learning-app-shell .brand-switcher-button:hover{transform:none;box-shadow:none;background:transparent}
.app.learning-app-shell #dashboardAnalytics .analytics-card{background:var(--surface-2,#fbfffc);background-image:none;box-shadow:none}
.app.learning-app-shell #dashboardAnalytics .analytics-card:hover{box-shadow:0 12px 24px rgba(15,23,42,.10)}
.app.learning-app-shell button.btn,.app.learning-app-shell button.icon-btn,.app.learning-app-shell button.icon-button{font:inherit;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease}
.app.learning-app-shell button.btn.primary,.app.learning-app-shell button.primary{border-radius:12px;padding:10px 14px;font-weight:800}
.app.learning-app-shell button.btn.ghost,.app.learning-app-shell button.secondary,.app.learning-app-shell button.icon-btn{border-radius:12px;background:#fff;color:var(--text,#0f172a);border:1px solid var(--border,#e2e8f0)}
.app.learning-app-shell button.btn:hover,.app.learning-app-shell button.icon-btn:hover,.app.learning-app-shell button.icon-button:hover{transform:translateY(-2px);box-shadow:0 10px 20px rgba(15,23,42,.12)}
.app.learning-app-shell button.btn:active,.app.learning-app-shell button.icon-btn:active,.app.learning-app-shell button.icon-button:active{transform:translateY(1px)}
.app.learning-app-shell .feedback-fab,.app.learning-app-shell #feedbackButton{position:fixed;left:18px;bottom:18px;border:1px solid var(--keyhint-border,#bfdbfe);border-radius:99px;padding:10px 14px;background:#fff;color:var(--primary-2,#1d4ed8);box-shadow:0 8px 20px rgba(15,23,42,.14);font-weight:850;cursor:pointer}
.app.learning-app-shell .modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:13px;border-bottom:1px solid var(--border,#e2e8f0)}
.app.learning-app-shell .modal-head>div:first-child{display:grid;gap:4px}
.app.learning-app-shell .modal-head [id$="Title"]{font-size:1.4rem;line-height:1.1;letter-spacing:-.03em}
.app.learning-app-shell .modal-actions,.app.learning-app-shell .feedback-form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:14px}
.app.learning-app-shell .home-card{margin-top:0;padding:30px;border-radius:26px;border:1px solid var(--border,#e2e8f0);background:rgba(255,255,255,.9);box-shadow:0 18px 55px rgba(15,23,42,.10)}
.app.learning-app-shell .home-hero{display:flex;justify-content:space-between;gap:24px;align-items:flex-start}
.app.learning-app-shell .home-hero h1{margin:0;font-size:clamp(2rem,5vw,3rem);line-height:1.05;letter-spacing:-.035em}
.app.learning-app-shell .home-intro{margin:10px 0 0;color:var(--muted);max-width:52ch}
.app.learning-app-shell .home-mark{width:84px;height:84px;object-fit:contain}
.app.learning-app-shell .home-overview{margin:22px 0;display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.app.learning-app-shell .home-overview-card{padding:16px;border:1px solid var(--border,#e2e8f0);border-radius:16px;background:var(--surface-2,#fbfffc)}
.app.learning-app-shell .home-overview-card strong{display:block;margin:8px 0 3px;font-size:1.05rem}
.app.learning-app-shell .home-overview-card small{color:var(--muted)}
.app.learning-app-shell .home-help{margin-top:18px;padding:14px 16px;border-radius:16px;background:var(--brand-soft,#f1f5ff)}
@media(max-width:720px){.app.learning-app-shell{width:min(100% - 20px,920px);margin:12px auto}.app.learning-app-shell .topbar{align-items:flex-start}.app.learning-app-shell .top-actions{flex-wrap:wrap;justify-content:flex-end}.app.learning-app-shell .home-overview{grid-template-columns:1fr}}
/* Final shared geometry wins over legacy app styles. */
.learning-app-shell .analytics-grid{grid-template-columns:repeat(5,1fr);gap:12px}
.learning-app-shell .analytics-card{min-height:112px;padding:14px;border-radius:16px;background:var(--surface-soft,#fbfffc)!important;background-image:none!important;box-shadow:none}
.learning-app-shell .analytics-card:hover{transform:translateY(-3px);box-shadow:0 12px 24px rgba(15,23,42,.12)}
.learning-app-shell .home-overview,.learning-app-shell .vertex-overview-cards{grid-template-columns:repeat(2,1fr);gap:12px;margin:22px 0}
.learning-app-shell .home-overview-card,.learning-app-shell .vertex-overview-cards article{min-height:100px;padding:16px;border-radius:16px;background:var(--surface-soft,#fbfffc)!important;transition:transform .18s ease,box-shadow .18s ease}
.learning-app-shell .home-overview-card:hover,.learning-app-shell .vertex-overview-cards article:hover{transform:translateY(-3px);box-shadow:0 12px 24px rgba(15,23,42,.12)}
@media(max-width:720px){.learning-app-shell .analytics-grid{grid-template-columns:repeat(2,1fr)}.learning-app-shell .home-overview,.learning-app-shell .vertex-overview-cards{grid-template-columns:1fr}}
body:has(.learning-app-shell){padding:0!important}
.learning-app-shell .brand-switcher-button,.learning-app-shell .brand-button{font:16px/24px system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important}
.learning-app-shell .brand-switcher-button .claro-brand-copy strong,.learning-app-shell .brand-copy strong{font-size:1.15rem!important;line-height:1.1!important}
.learning-app-shell .brand-switcher-button .claro-brand-copy #headerLevel,.learning-app-shell .brand-copy span{font-size:.77rem!important;line-height:1.1!important}
.learning-app-shell #premiumBtn,.learning-app-shell #premiumButton,.learning-app-shell #settingsBtn{height:46px!important;min-height:46px!important;font-size:16px!important;line-height:24px!important;padding:10px 14px!important}
.learning-app-shell #settingsBtn{width:auto!important}
.learning-app-shell .home-hero{padding:0!important}
.learning-app-shell .home-start-btn,.learning-app-shell .home-settings-btn,.learning-app-shell #enterPracticeBtn,.learning-app-shell #homeSettingsBtn{height:46px!important;min-height:46px!important;padding:10px 14px!important;font-size:16px!important;line-height:24px!important;font-weight:800!important;border-radius:12px!important}
.learning-app-shell #classSwitcherButton,.learning-app-shell #dashboardSwitcherButton{height:40px!important;min-height:40px!important;font-size:16px!important;line-height:24px!important}
.learning-app-shell .level-tab{height:44px!important;min-height:44px!important;line-height:24px!important}
.learning-app-shell .level-tab span{display:inline!important;font-size:inherit!important;line-height:inherit!important}
.learning-app-shell .feedback-fab,.learning-app-shell #feedbackButton{height:46px!important;min-height:46px!important;font:850 16px/24px system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important}
.feedback-fab,#feedbackButton{height:46px!important;min-height:46px!important;font:850 16px/24px system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;border-radius:99px!important;padding:10px 14px!important;transition:transform .18s ease,box-shadow .18s ease,background .18s ease!important}
.modal-overlay .modal{width:min(540px,100%);padding:20px;border-radius:20px;background:#fff;box-shadow:0 24px 60px rgba(0,0,0,.28)}
.modal-overlay .modal.compact{width:min(460px,100%)}
.modal-overlay .modal-heading,.modal-overlay .modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:13px;border-bottom:1px solid var(--line,var(--border,#e2e8f0))}
.modal-overlay .modal-heading h2,.modal-overlay .modal-head [id$="Title"]{margin:0;font-size:1.4rem;line-height:1.1;letter-spacing:-.03em}
.modal-overlay .modal-heading p{margin:6px 0 0;color:var(--muted)}
.modal-overlay .modal-actions,.modal-overlay .feedback-form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:14px}
.app-switcher-menu,.app-switcher{width:300px!important}
.learning-app-shell .level-switch{display:none!important}
.learning-app-shell .analytics-card{display:block!important}
.modal-overlay .claro-premium-modal,.modal-overlay #premiumOverlay .modal{width:min(460px,100%)!important}
.modal-overlay .premium-field input,.modal-overlay #premiumPassword,.modal-overlay #premiumRequestName,.modal-overlay #premiumRequestEmail{min-height:42px;padding:10px 12px;border-radius:10px}
.modal-overlay .claro-premium-modal .icon-button,.modal-overlay #premiumOverlay .icon-button{width:38px;height:38px;border-radius:10px}
.learning-app-shell .hero p:not(.eyebrow),.learning-app-shell .home-intro{margin-bottom:12px!important;font-size:16px!important;line-height:24px!important}
.learning-app-shell .analytics-card-accuracy,.learning-app-shell .analytics-card-correct{border-color:#bde8c8!important}
.learning-app-shell .analytics-card-streak,.learning-app-shell .analytics-card-best{border-color:#f5d6b3!important}
.learning-app-shell .analytics-card-sessions{border-color:#bfd7ff!important}
.learning-app-shell .dashboard-section-heading{gap:16px!important;margin-bottom:0!important}
.learning-app-shell .session-history{margin-top:26px!important;padding-top:22px!important}
.feedback-fab,#feedbackButton{display:inline-flex!important;align-items:center!important;gap:7px!important}
.dashboard-switcher-button,#classSwitcherButton{font:800 16px/24px system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important}
#premiumBtn,#premiumButton{min-width:101px!important}
.app-shell.learning-app-shell .home-actions{border-bottom:0!important}
.app-shell.learning-app-shell .dashboard-analytics{border-top:0!important}
@media(max-width:620px){.learning-app-shell .home-actions{display:grid}.learning-app-shell .home-start-btn,.learning-app-shell .home-settings-btn{width:100%}.learning-app-shell .level-switch{margin-top:12px}}
/* Final polish pass: one restrained elevation and rhythm system across both apps. */
.learning-app-shell .topbar{box-shadow:0 14px 36px rgba(15,23,42,.08)!important}
.learning-app-shell .brand-switcher-button .brand-mark,
.learning-app-shell .app-switcher-menu img{display:block;flex:0 0 auto;object-fit:contain;background:var(--brand-soft,#f8fafc);border:0}
.learning-app-shell .app-switcher-menu img[src*="atlas-mark"]{background:#fff}
.learning-app-shell .brand-switcher-button .brand-mark{width:42px!important;height:42px!important;border-radius:12px!important}
.learning-app-shell .app-switcher-menu img{width:32px!important;height:32px!important;border-radius:9px!important}
.learning-app-shell .brand-switcher-button .brand-mark[src*="claro-mark"],
.learning-app-shell .brand-switcher-button .brand-mark[src*="vertex-mark"],
.learning-app-shell .brand-switcher-button .brand-mark[src*="meridian-mark"],
.learning-app-shell .brand-switcher-button .brand-mark[src*="atlas-mark"],
.learning-app-shell .app-switcher-menu img[src*="claro-mark"],
.learning-app-shell .app-switcher-menu img[src*="vertex-mark"],
.learning-app-shell .app-switcher-menu img[src*="meridian-mark"],
.learning-app-shell .app-switcher-menu img[src*="atlas-mark"]{transform:none}
.learning-app-shell .app-switcher-menu a{min-height:48px}
/* The app picker is a neutral collection control; the current row should not
   inherit the active app's theme color. */
.learning-app-shell .settings-accordion>summary{list-style:none;cursor:pointer}
.learning-app-shell .settings-accordion>summary::-webkit-details-marker,
.learning-app-shell .module-group>summary::-webkit-details-marker{display:none}
.learning-app-shell .settings-accordion>summary:focus-visible,
.learning-app-shell .module-group>summary:focus-visible{outline:3px solid color-mix(in srgb,var(--focus,#818cf8) 35%,transparent);outline-offset:2px}
.learning-app-shell button:not([class]){-webkit-appearance:none;appearance:none;border:1px solid var(--border,#e2e8f0);border-radius:12px;background:var(--surface,#fff);color:var(--text,#0f172a);font:inherit}
.learning-app-shell button.secondary,.learning-app-shell button.primary,.learning-app-shell button.icon-button,.learning-app-shell button.icon-btn{appearance:none;-webkit-appearance:none;display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 14px;border-radius:12px;font:800 16px/1.2 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease}
.learning-app-shell button.secondary,.learning-app-shell button.icon-button,.learning-app-shell button.icon-btn{border:1px solid var(--border,#d7dee8);background:var(--surface,#fff);color:var(--text,#0f172a)}
.learning-app-shell button.primary{border:1px solid var(--brand,#2563eb);background:var(--brand,#2563eb);color:#fff}
.learning-app-shell button.secondary:hover,.learning-app-shell button.icon-button:hover,.learning-app-shell button.icon-btn:hover,.learning-app-shell button.primary:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(15,23,42,.12)}
.learning-app-shell button.secondary:focus-visible,.learning-app-shell button.icon-button:focus-visible,.learning-app-shell button.icon-btn:focus-visible,.learning-app-shell button.primary:focus-visible{outline:3px solid color-mix(in srgb,var(--focus,#818cf8) 35%,transparent);outline-offset:2px}
.learning-app-shell .moderation-panel{display:grid;gap:10px;margin-top:18px;padding-top:16px;border-top:1px solid var(--border,#e2e8f0)}
.learning-app-shell .moderation-panel button{justify-self:start}
.learning-app-shell .dashboard-card,.learning-app-shell .home-card{box-shadow:0 18px 48px rgba(15,23,42,.08)!important;overflow:hidden}
.learning-app-shell .home-actions{display:flex;align-items:center;gap:12px!important;padding-bottom:0!important;border-bottom:0!important}
.learning-app-shell .dashboard-analytics{margin-top:26px!important;padding-top:0!important;border-top:0!important}
.learning-app-shell .dashboard-section-heading h2{font-size:1.4rem!important;line-height:1.15!important;letter-spacing:-.035em!important}
.learning-app-shell .home-overview-card,.learning-app-shell .vertex-overview-cards article{box-shadow:0 4px 14px rgba(15,23,42,.04)}
.learning-app-shell .home-overview-card strong,.learning-app-shell .vertex-overview-cards article strong{line-height:1.25!important}
@media(max-width:620px){.learning-app-shell .home-actions{display:grid;gap:10px!important}.learning-app-shell .dashboard-analytics{margin-top:24px!important}}
/* Modal parity: both apps use the same control rhythm and motion; only theme
   tokens and copy are app-specific. */
.learning-app-shell .modal-overlay .modal form,
.learning-app-shell .modal-overlay .premium-form,
.learning-app-shell .modal-overlay .feedback-form{display:grid;gap:13px;margin-top:16px}
.learning-app-shell .modal-overlay .modal label,
.learning-app-shell .modal-overlay .feedback-field,
.learning-app-shell .modal-overlay .premium-field{display:grid;gap:6px;color:var(--muted,#475569);font:900 .76rem/1.2 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:.04em;text-transform:uppercase}
.learning-app-shell .modal-overlay .modal input,
.learning-app-shell .modal-overlay .modal select,
.learning-app-shell .modal-overlay .modal textarea,
.learning-app-shell .modal-overlay .feedback-field input,
.learning-app-shell .modal-overlay .feedback-field select,
.learning-app-shell .modal-overlay .feedback-field textarea,
.learning-app-shell .modal-overlay .premium-field input{width:100%;min-height:42px;padding:10px 12px;border:1px solid var(--line,var(--border,#cbd5e1));border-radius:10px;background:var(--surface-soft,#fbfcff);color:var(--ink,var(--text,#0f172a));font:400 16px/24px system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:0;text-transform:none;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}
.learning-app-shell .modal-overlay .modal textarea{min-height:118px;resize:vertical}
.learning-app-shell .modal-overlay .modal input:focus,
.learning-app-shell .modal-overlay .modal select:focus,
.learning-app-shell .modal-overlay .modal textarea:focus{border-color:var(--focus,#818cf8);background:var(--surface,#fff);box-shadow:0 0 0 4px color-mix(in srgb,var(--focus,#818cf8) 18%,transparent);outline:none}
.learning-app-shell .modal-overlay .modal-actions button,
.learning-app-shell .modal-overlay .feedback-form-actions button{min-height:46px;padding:10px 14px;border-radius:12px;font:800 16px/24px system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease}
/* Mobile layout (<=640px only). Tablet and desktop geometry is untouched. */
@media(max-width:640px){
  body:has(.learning-app-shell){padding:0!important;overflow-x:hidden}
  .learning-app-shell,.app.learning-app-shell{width:calc(100% - 20px)!important;max-width:none;margin:10px auto!important;gap:12px!important}
  .learning-app-shell .topbar{position:sticky;top:6px;min-height:0;padding:11px 12px!important;border-radius:16px;gap:10px;flex-wrap:wrap;align-items:center}
  .learning-app-shell .brand-switcher-button,.learning-app-shell .brand-button{min-width:0;gap:8px}
  .learning-app-shell .brand-switcher-button .brand-mark,.learning-app-shell .brand-mark{width:38px!important;height:38px!important}
  .learning-app-shell .brand-switcher-button .claro-brand-copy strong,.learning-app-shell .brand-copy strong{font-size:1rem!important}
  .learning-app-shell .brand-switcher-button .claro-brand-copy #headerLevel,.learning-app-shell .brand-copy span{font-size:.7rem!important}
  .learning-app-shell .top-actions{margin-left:auto;gap:7px!important;flex-wrap:nowrap!important}
  .learning-app-shell #premiumBtn,.learning-app-shell #premiumButton,.learning-app-shell #settingsBtn{height:42px!important;min-height:42px!important;padding:8px 10px!important;font-size:.88rem!important;border-radius:11px!important}
  .learning-app-shell #settingsBtn{font-size:0!important}
  .learning-app-shell #settingsBtn::after{content:"Modules";font-size:.88rem}
  .learning-app-shell #classSwitcherButton,.learning-app-shell #dashboardSwitcherButton{height:38px!important;min-height:38px!important;padding:7px 10px!important;font-size:.86rem!important}
  .learning-app-shell .app-switcher-menu,.learning-app-shell .app-switcher{left:0;right:auto;width:min(300px,calc(100vw - 20px))!important}
  .learning-app-shell .dashboard-switcher-menu{right:0;width:min(260px,calc(100vw - 20px))}
  .learning-app-shell .home-card,.learning-app-shell .dashboard-card{margin-top:0!important;padding:22px 16px!important;border-radius:20px}
  .learning-app-shell .home-hero,.learning-app-shell .hero{gap:14px!important}
  .learning-app-shell .home-hero h1,.learning-app-shell h1{font-size:clamp(1.8rem,9vw,2.5rem)!important;line-height:1.08!important}
  .learning-app-shell .home-intro,.learning-app-shell .hero p:not(.eyebrow){margin-top:8px!important;font-size:.95rem!important;line-height:1.4!important}
  .learning-app-shell .home-mark,.learning-app-shell .hero-mark{width:58px!important;height:58px!important}
  .learning-app-shell .home-actions{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;margin-top:16px}
  .learning-app-shell .home-start-btn,.learning-app-shell .home-settings-btn,.learning-app-shell #enterPracticeBtn,.learning-app-shell #homeSettingsBtn{width:100%!important;height:46px!important;min-height:46px!important}
  .learning-app-shell .dashboard-analytics{margin-top:22px!important}
  .learning-app-shell .analytics-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
  .learning-app-shell .analytics-card{min-height:96px!important;padding:12px!important;border-radius:14px!important}
  .learning-app-shell .analytics-card strong{font-size:1.3rem!important}
  .learning-app-shell .analytics-card small{font-size:.72rem!important}
  .learning-app-shell .home-overview,.learning-app-shell .vertex-overview-cards{grid-template-columns:1fr!important;gap:10px!important;margin:18px 0!important}
  .learning-app-shell .home-overview-card,.learning-app-shell .vertex-overview-cards article{min-height:0!important;padding:14px!important}
  .learning-app-shell .module-empty{padding:20px!important}
  .learning-app-shell .session-history{margin-top:20px!important;padding-top:18px!important}
  .learning-app-shell .feedback-fab,.learning-app-shell #feedbackButton{left:12px!important;bottom:12px!important;height:42px!important;min-height:42px!important;padding:8px 12px!important;font-size:.9rem!important}
  .learning-app-shell .modal-overlay{padding:10px!important}
  .learning-app-shell .modal-overlay .modal{width:100%!important;max-height:calc(100vh - 20px);overflow:auto;padding:16px!important;border-radius:16px!important}
  .learning-app-shell .modal-overlay .modal-heading,.learning-app-shell .modal-overlay .modal-head{gap:10px!important;padding-bottom:11px!important}
  .learning-app-shell .modal-overlay .modal-heading h2,.learning-app-shell .modal-overlay .modal-head [id$="Title"]{font-size:1.2rem!important}
  .learning-app-shell .modal-overlay .modal-actions,.learning-app-shell .modal-overlay .feedback-form-actions{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}
  .learning-app-shell .modal-overlay .modal-actions button,.learning-app-shell .modal-overlay .feedback-form-actions button{width:100%!important}
}

/* Dismissible feedback and premium nudges shared by all learning apps. */
.shared-prompt{position:fixed;right:20px;bottom:20px;z-index:100;display:flex;align-items:center;gap:18px;width:min(520px,calc(100vw - 32px));padding:16px 18px;border:1px solid color-mix(in srgb,var(--brand,#2563eb) 22%,#fff);border-radius:18px;background:color-mix(in srgb,#fff 88%,var(--brand-soft,#eef2ff));box-shadow:0 18px 50px rgba(15,23,42,.18);opacity:0;transform:translateY(12px);transition:opacity .2s ease,transform .2s ease}
.shared-prompt.is-visible{opacity:1;transform:translateY(0)}
.shared-prompt-premium{z-index:2147482500!important}
.shared-prompt strong{display:block;font-size:.98rem;color:var(--ink,#0f172a)}
.shared-prompt p{margin:3px 0 0;color:var(--muted,#475569);font-size:.86rem;line-height:1.35}
.shared-prompt-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}
.shared-prompt button{min-height:38px;padding:8px 11px;border-radius:10px;font:800 .82rem/1 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;cursor:pointer}
.shared-prompt-primary{border:1px solid var(--brand,#2563eb);background:var(--brand,#2563eb);color:#fff}
.shared-prompt-dismiss{border:1px solid var(--line,#e2e8f0);background:#fff;color:var(--muted,#475569)}
.study-notification-button{position:relative;display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;padding:0;border:1px solid var(--border,#dbe3ed);border-radius:12px;background:var(--surface,#fff);color:var(--ink,#172033);cursor:pointer}
.study-notification-button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.study-notification-button.has-unread{color:var(--brand,#2563eb);border-color:color-mix(in srgb,var(--brand,#2563eb) 42%,white);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand,#2563eb) 12%,transparent)}
.study-notification-button i{position:absolute;right:7px;top:6px;width:8px;height:8px;border:1.5px solid #fff;border-radius:50%;background:#ef4444;display:none}
.study-notification-button.has-unread i{display:block}
.study-notification-panel{position:fixed;z-index:110;top:82px;right:max(18px,calc((100vw - 1180px)/2));width:min(390px,calc(100vw - 24px));max-height:min(72vh,620px);overflow:auto;padding:16px;border:1px solid var(--border,#dbe3ed);border-radius:18px;background:#fff;box-shadow:0 20px 60px rgba(15,23,42,.2)}
.study-notification-panel>header,.study-review-manager>header,.study-guides-panel>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--border,#e2e8f0)}
.study-notification-panel>header button,.study-review-manager>header button,.study-guides-panel>header button{width:34px;height:34px;border:0;border-radius:10px;background:#f1f5f9;color:#334155;font-size:1.25rem;cursor:pointer}
.study-notice-list{display:grid;gap:10px;margin:12px 0}
.study-notice-list article{padding:12px;border:1px solid var(--border,#e2e8f0);border-radius:13px;background:#fbfcfe}
.study-notice-list article strong{display:block;font-size:.92rem}
.study-notice-list article p,.study-guides-panel>p{margin:5px 0 0;color:var(--muted,#64748b);font-size:.84rem;line-height:1.45}
.study-notice-actions{display:flex;gap:8px;margin-top:10px}
.study-notice-actions button,.study-tour-open,.study-settings-tools button,.study-review-start{min-height:36px;padding:8px 11px;border:1px solid var(--border,#dbe3ed);border-radius:10px;background:#fff;color:var(--ink,#172033);font:700 .82rem/1 system-ui,sans-serif;cursor:pointer}
.study-notice-actions button:first-child,.study-tour-open,.study-review-start{border-color:var(--brand,#2563eb);background:var(--brand,#2563eb);color:#fff}
.study-notice-empty{color:var(--muted,#64748b);font-size:.9rem}
.study-review-backdrop,.study-guide-backdrop{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:18px;background:rgba(15,23,42,.3)}
.study-review-manager,.study-guides-panel{width:min(520px,100%);max-height:min(78vh,680px);overflow:auto;padding:18px;border:1px solid var(--border,#dbe3ed);border-radius:20px;background:#fff;box-shadow:0 25px 75px rgba(15,23,42,.28)}
.study-settings-tools{position:absolute;top:0;right:16px;display:flex;gap:8px;align-items:center;flex-wrap:nowrap}
#settingsOverlay .modal-head,#settingsOverlay .modal-header{position:relative;padding-right:252px!important}
.study-review-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--border,#e2e8f0)}
.study-review-item>span{display:grid;gap:3px}.study-review-item small{color:var(--muted,#64748b)}
.study-review-item button{width:32px;height:32px;border:1px solid var(--border,#dbe3ed);border-radius:9px;background:#fff;color:#b42318;font-size:1.1rem;cursor:pointer}
.study-review-start{margin-top:14px}.study-review-empty{color:var(--muted,#64748b)}
.study-guides-list{display:grid;gap:8px;margin-top:14px}
.study-guide-choice{display:grid;gap:4px;padding:12px;text-align:left;border:1px solid var(--border,#dbe3ed);border-radius:12px;background:#fff;color:var(--ink,#172033);cursor:pointer}
.study-guide-choice span{color:var(--muted,#64748b);font-size:.82rem;line-height:1.4}
.study-guide-backdrop{z-index:1300}
.study-guide{position:relative;width:min(460px,100%);padding:24px;border:1px solid #fff;border-radius:20px;background:#fff;box-shadow:0 28px 90px rgba(0,0,0,.3)}
.study-guide-close{position:absolute;right:12px;top:12px;width:34px;height:34px;border:0;border-radius:10px;background:#f1f5f9;font-size:1.2rem;cursor:pointer}
.study-guide-step{color:var(--brand,#2563eb);font-size:.75rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.study-guide h2{margin:12px 38px 8px 0;font-size:1.35rem}.study-guide p{color:var(--muted,#475569);line-height:1.5}
.study-guide footer{display:flex;justify-content:space-between;gap:10px;margin-top:20px}
.study-guide footer button{min-height:40px;padding:9px 13px;border:1px solid var(--border,#dbe3ed);border-radius:10px;background:#fff;color:var(--ink,#172033);font-weight:750;cursor:pointer}
.study-guide footer .study-guide-next{border-color:var(--brand,#2563eb);background:var(--brand,#2563eb);color:#fff}
.study-guide-focus{outline:4px solid color-mix(in srgb,var(--brand,#2563eb) 65%,white)!important;outline-offset:4px!important;box-shadow:0 0 0 8px color-mix(in srgb,var(--brand,#2563eb) 17%,transparent)!important;scroll-margin:24px}
.study-question-star{display:inline-flex;align-items:center;justify-content:center;min-height:36px;margin:8px 8px 0 0;padding:8px 11px;border:1px solid var(--border,#dbe3ed);border-radius:10px;background:#fff;color:var(--ink,#172033);font:700 .84rem/1 system-ui,sans-serif;cursor:pointer}
.study-question-star:disabled{background:#f8fafc;color:#64748b;cursor:default}
.study-question-star[hidden],.study-notification-panel[hidden],.study-review-backdrop[hidden],.study-guide-backdrop[hidden],.study-guides-panel[hidden]{display:none!important}
@media(max-width:640px){.shared-prompt{right:10px;bottom:10px;display:grid;gap:12px;padding:14px}.shared-prompt-actions{display:grid;grid-template-columns:1fr 1fr}.shared-prompt button{width:100%}}
@media(max-width:640px){.study-settings-tools{position:static;margin:10px 0 0 auto;flex-wrap:nowrap}#settingsOverlay .modal-head,#settingsOverlay .modal-header{padding-right:0!important}.study-notification-panel{top:68px;right:10px}}
.module-share-tools,.theorem-mode-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:14px 0 4px;padding:14px 16px;border:1px solid var(--border,#dbe3ed);border-radius:14px;background:linear-gradient(135deg,#fff,var(--brand-soft,#f1f5ff))}.module-share-tools span,.theorem-mode-tools p{margin:0;color:var(--muted,#64748b);font-size:.84rem}.theorem-mode-tools [role=group]{display:flex;gap:8px;flex-wrap:wrap}@media(max-width:620px){.module-share-tools,.theorem-mode-tools{align-items:stretch;flex-direction:column}.module-share-tools button,.theorem-mode-tools button{width:100%}}
#premiumOverlay{position:fixed!important;inset:0!important;z-index:2147483000!important}

/* Shareable module selections and focused theorem-practice controls. */
.module-share-tools,.theorem-mode-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:14px 0 4px;padding:14px 16px;border:1px solid var(--border,#dbe3ed);border-radius:14px;background:linear-gradient(135deg,#fff,var(--brand-soft,#f1f5ff))}.module-share-tools span,.theorem-mode-tools p{margin:0;color:var(--muted,#64748b);font-size:.84rem}.theorem-mode-tools [role=group]{display:flex;gap:8px;flex-wrap:wrap}@media(max-width:620px){.module-share-tools,.theorem-mode-tools{align-items:stretch;flex-direction:column}.module-share-tools button,.theorem-mode-tools button{width:100%}}
.theorem-mode-tools{width:100%;display:grid;justify-content:stretch;gap:7px;margin:12px 0 2px;padding:12px 14px;background:color-mix(in srgb,var(--brand-soft,#eef2ff) 72%,white)}.theorem-mode-tools p{font-weight:800;color:var(--ink,#172033)}.theorem-mode-tools [role=group]{display:flex;gap:8px;flex-wrap:wrap}

.study-review-question-action .study-question-previous-star{min-height:42px;padding:10px 16px;background:var(--brand-soft,#eff6ff);font-size:.92rem}.study-review-question-action .study-question-previous-star:disabled{opacity:1;background:#f1f5f9;color:#475569}.study-question-previous-star[hidden]{display:none!important}
