/* Calm student shell; simulation-specific layouts keep their existing rules. */
[hidden] { display:none !important; }
#audience-gateway, #teacher-landing { display:none !important; }
.main-header { gap:14px; box-shadow:none; }
.main-header .unit-dropdown, .main-header .hamburger-btn { display:none; }
.main-header .product-nav { margin-left:auto; }
.main-header .school-name, .main-header .ref-sheet-btn, .main-header .product-nav-btn.active { color:#f4dfaa !important; }
.site-footer .footer-info-btn, .site-footer .footer-donate { color:#f4dfaa !important; }
.content-area { max-width:1280px; padding:36px 32px 56px; }
.student-home-heading { max-width:820px; margin:24px auto 40px; text-align:center; }
.student-eyebrow { display:block; color:var(--v2-muted); font-size:.78rem; letter-spacing:.08em; font-weight:650; text-transform:uppercase; }
.student-home-heading h1 { font-family:inherit; font-size:clamp(2.2rem,5vw,3.5rem); letter-spacing:-.045em; line-height:1.12; margin:14px 0 18px; color:var(--v2-text); }
.student-home-heading p, .student-page-heading p, .student-topic-heading p { color:var(--v2-muted); line-height:1.65; font-size:1.05rem; }
.student-topic-search { display:flex; margin-top:28px; padding:6px; gap:8px; border:1px solid var(--v2-border); border-radius:14px; background:var(--v2-surface); }
.student-topic-search input { flex:1; min-width:0; border:0; background:transparent; color:var(--v2-text); padding:12px 14px; font:inherit; }
.student-topic-search button { border:0; border-radius:9px; padding:12px 18px; background:#e7c777; color:#201608; font:inherit; font-weight:650; cursor:pointer; }
.student-continue { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:24px 0; margin:0 0 32px; border-top:1px solid var(--v2-border); border-bottom:1px solid var(--v2-border); }
.student-continue h2 { font-family:inherit; font-weight:650; font-size:1.2rem; line-height:1.4; margin:8px 0; }
.student-continue p { color:var(--v2-muted); margin:0; }
#student-units { margin-top:0; box-shadow:none; background:none; }
#student-units .overview-section-title { font-family:inherit; font-size:1.3rem; text-transform:none; letter-spacing:0; margin-bottom:18px; }
#student-units .overview-unit-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.overview-unit-card { min-height:148px; padding:23px !important; border:1px solid var(--v2-border); border-radius:12px; background:var(--v2-surface); box-shadow:none !important; text-align:left; }
.overview-unit-card::before { display:none; }
.overview-unit-card:hover { transform:none; border-color:var(--gold-dark); }
.ouc-subtabs, .ouc-weight { display:none; }
.ouc-number { color:var(--v2-muted); font-family:inherit; font-size:.8rem; letter-spacing:.03em; }
.ouc-name { font-family:inherit; font-size:1.15rem; color:var(--v2-text); line-height:1.35; margin:9px 0; }
.ouc-tools { color:var(--v2-muted); font-size:.8rem; }
.student-topic-heading { margin:0 0 24px; max-width:950px; }
.student-back { display:inline-block; margin:0 0 22px; color:var(--v2-muted); text-decoration:none; }
.student-topic-heading h1, .student-page-heading h1 { font-family:inherit; font-size:clamp(1.65rem,3vw,2.35rem); color:var(--v2-text); line-height:1.2; letter-spacing:-.025em; margin:12px 0; }
.student-topic-heading p { margin:0; max-width:80ch; }
.student-topic-tabs { display:flex; gap:26px; border-bottom:1px solid var(--v2-border); margin-bottom:26px; }
.student-topic-tabs button { min-height:48px; padding:10px 4px; border:0; border-bottom:3px solid transparent; background:none; font-family:inherit; font-size:1rem; font-weight:600; line-height:1.4; color:var(--v2-muted); cursor:pointer; }
.student-save { margin-top:14px; padding:8px 0; min-height:44px; color:var(--v2-muted); background:none; border:0; font:inherit; cursor:pointer; }
#student-favorites { margin-top:32px; }
#student-favorites button { margin:8px 8px 0 0; }
.student-topic-tabs button[aria-selected=true] { border-bottom-color:var(--gold-dark); color:var(--v2-text); }
.student-topic-section { min-width:0; }
.student-topic-section > .tool-header:has(> [hidden]):not(:has(> :not([hidden]))) { display:none; }
.student-topic-section > .tool-container { padding:0; background:none; border:0; box-shadow:none; }
.student-topic-section .how-to-use { margin-bottom:22px; }
.student-topic-section .lesson-section { box-shadow:none; margin-top:0; }
.student-topic-section .lesson-content { font-size:1rem; line-height:1.75; }
.student-topic-section .lesson-content p { max-width:80ch; }
.student-topic-section .ap-review-section { box-shadow:none; }
.student-topic-section .mode-toggle { flex-wrap:wrap; gap:8px; }
.student-topic-section button, .student-topic-section select, .student-topic-section summary { min-height:40px; }
.student-topic-section input:not([type=range]):not([type=checkbox]):not([type=radio]) { min-height:40px; }
.student-empty { padding:24px; border:1px solid var(--v2-border); border-radius:12px; }
.student-progress { max-width:1000px; margin:auto; }
.student-progress .exam-readiness-panel { margin-top:30px; box-shadow:none; }
.student-progress .weak-spots-section { margin-top:32px; }
.info-dialog-v2 .ap-trust-strip { margin:24px 0; grid-template-columns:1fr; }
.info-dialog-v2 .theme-toggle-wrapper { margin-top:24px; }
.info-dialog-v2 .theme-toggle { color:var(--v2-text); }
.site-footer { gap:18px; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, summary:focus-visible, [tabindex]:focus-visible { outline:3px solid var(--gold-dark); outline-offset:4px; }
@media(max-width:760px) {
 .content-area { padding:24px 16px 90px; }
 .main-header { gap:8px; padding:12px 16px; }
 .main-header .product-nav { display:none; }
 .main-header .brand-text { margin-right:auto; }
 .main-header .app-name { display:none; }
 .student-home-heading { margin:16px 0 30px; }
 #student-units .overview-unit-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
 .overview-unit-card { padding:18px !important; }
 .student-topic-search { flex-direction:column; }
 .student-topic-search button { min-height:46px; }
 .student-continue { align-items:flex-start; }
 .student-continue h2 { font-size:1.05rem; }
 .student-topic-section .two-col, .student-topic-section .tool-body { grid-template-columns:1fr !important; }
 .student-topic-section .viz-panel { overflow-x:auto; }
 .student-topic-section canvas { max-width:100%; }
 .mobile-bottom-nav { grid-template-columns:repeat(3,1fr); }
 .student-topic-section button, .student-topic-section select, .student-topic-section summary { min-height:44px; }
}
@media(max-width:420px) {
 #student-units .overview-unit-grid { grid-template-columns:1fr; }
 .overview-unit-card { min-height:120px; }
 .student-continue { flex-direction:column; gap:16px; }
}
/* Reduced motion: movement is what triggers vestibular symptoms, not opacity.
   Travel and looping animation are removed in motion.css; plain fades stay,
   so students keep the feedback that tells them an action registered. */
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto !important; animation-iteration-count:1 !important; } }

/* Keep the live highlighted tool sharp; blur only the four surrounding regions. */
.header-tour-btn { flex-shrink:0; min-height:44px; padding:9px 13px; border:1px solid rgba(244,223,170,.55); border-radius:9px; background:transparent; color:#f4dfaa; font:600 .85rem/1.4 system-ui,sans-serif; cursor:pointer; }
.header-tour-btn:hover { background:rgba(255,255,255,.1); }
.student-tour-blur { position:absolute; backdrop-filter:blur(5px); -webkit-backdrop-filter:blur(5px); background:rgba(9,12,16,.45); pointer-events:none; }
#firstTimeTour .tour-click-guard { z-index:1; touch-action:none; }
#tourSpotlight { z-index:2; border:2px solid #e7c777; border-radius:10px; box-shadow:0 0 0 1px rgba(30,20,10,.2); transition:none; }
#tourTooltip { z-index:3; width:min(370px,calc(100vw - 24px)); max-height:calc(100dvh - 24px); overflow-y:auto; padding:22px; border-radius:14px; background:var(--v2-surface); border:1px solid var(--v2-border); color:var(--v2-text); box-shadow:0 12px 45px rgba(0,0,0,.35); transition:none; }
#tourStepCount { font:600 .75rem/1.4 system-ui,sans-serif; color:var(--v2-muted); letter-spacing:.07em; margin-bottom:10px; }
#tourTitle { font:650 1.2rem/1.3 system-ui,sans-serif; color:var(--v2-text); letter-spacing:-.015em; }
#tourBody { font:400 .95rem/1.6 system-ui,sans-serif; color:var(--v2-muted); margin-bottom:20px; }
#tourTooltip .tour-btn { min-height:44px; padding:9px 13px; color:var(--v2-text); border-color:var(--v2-border); }
#tourTooltip .tour-btn.primary { background:#e7c777; color:#201608; border-color:#e7c777; }
#tourTooltip .tour-btn.primary:hover { background:#f4d88f; }
#tourTooltip .tour-actions { flex-wrap:nowrap; }
#tourTooltip .tour-actions, #tourTooltip .tour-actions-left, #tourTooltip .tour-actions-right { display:flex; flex-direction:row; align-items:center; }
#tourTooltip .tour-actions-left, #tourTooltip .tour-actions-right { width:auto; flex-wrap:nowrap; }
#tourTooltip .tour-btn { width:auto; }
@media(max-width:760px) { .main-header .brand-text { min-width:0; flex:1; }.header-tour-btn { padding:8px 10px; }#tourTooltip { padding:18px; } }
