:root{--paper: #f6f0e5;--paper-strong: #fffaf3;--ink: #18262f;--ink-soft: #56666f;--navy: #23445a;--navy-deep: #173345;--sage: #6f8b73;--sage-soft: #dce6d7;--terracotta: #c46b3a;--terracotta-soft: #f1d8c9;--gold: #b18c44;--gold-soft: #efe2bf;--line: rgba(24, 38, 47, .12);--line-strong: rgba(24, 38, 47, .22);--shadow: 0 24px 60px rgba(20, 40, 52, .12);--radius-xl: 28px;--radius-lg: 22px;--radius-md: 16px;--radius-sm: 12px;--radius-control: 8px;--radius-pill: 6px;--radius-surface: 8px;--max-width: 1480px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;font-family:Avenir Next,Gill Sans,Trebuchet MS,sans-serif;color:var(--ink);background:radial-gradient(circle at top left,rgba(196,107,58,.15),transparent 34%),radial-gradient(circle at top right,rgba(111,139,115,.18),transparent 28%),linear-gradient(180deg,#fbf7ef,#f2eadc)}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.14) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.14) 1px,transparent 1px);background-size:30px 30px;opacity:.25;pointer-events:none}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}h1,h2,h3,h4{margin:0;font-family:Iowan Old Style,Palatino Linotype,Book Antiqua,URW Palladio L,serif;letter-spacing:-.03em}p{margin:0;line-height:1.65}ul,ol{margin:0;padding-left:1.2rem}.page-shell{position:relative;max-width:var(--max-width);margin:0 auto;padding:22px 24px 56px}.page-main{margin-top:0}.app-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 18px;margin-top:26px;padding-top:18px;border-top:1px solid rgba(24,38,47,.1);color:var(--ink-soft);font-size:.93rem;text-align:center}.app-footer-version{font-weight:700;color:var(--ink)}.topbar{display:flex;align-items:center;justify-content:space-between;gap:14px 18px;margin-bottom:18px}.topbar-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px 12px}.brand{display:flex;align-items:center;gap:12px;min-width:0}.brand-link{transition:transform .16s ease,opacity .16s ease}.brand-link:hover{transform:translateY(-1px)}.brand-mark{width:44px;height:44px;flex:0 0 auto;overflow:hidden;border-radius:14px;box-shadow:0 8px 20px #23445a2e}.brand-mark-image{width:100%;height:100%;display:block;border-radius:inherit}.brand-copy{display:grid;gap:2px}.brand-title{font-size:1.05rem;font-weight:700;letter-spacing:.01em;line-height:1.05}.brand-subtitle,.muted{color:var(--ink-soft)}.brand-subtitle{font-size:.94rem;line-height:1.3}.eyebrow{display:inline-flex;align-items:center;gap:8px;text-transform:uppercase;letter-spacing:.12em;font-size:.74rem;font-weight:700;color:var(--navy)}.eyebrow:before{content:"";width:12px;height:12px;border-radius:999px;background:linear-gradient(135deg,var(--terracotta),var(--gold))}.primary-nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.nav-link{padding:8px 12px;border-radius:var(--radius-control);border:1px solid rgba(35,68,90,.14);background:#fffaf3b8;color:var(--ink-soft);font-size:.88rem;font-weight:700;transition:transform .16s ease,background .16s ease,color .16s ease,border-color .16s ease}.nav-link:hover{transform:translateY(-1px);background:#fffaf3f5;color:var(--ink)}.nav-link.active{color:var(--paper-strong);background:linear-gradient(135deg,var(--navy),var(--navy-deep));border-color:transparent}.topbar-session{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px}.topbar-user-pill{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:0 12px;border-radius:var(--radius-control);border:1px solid rgba(35,68,90,.08);background:#23445a14;color:var(--navy);font-size:.88rem;font-weight:700}.topbar-user-role{color:var(--ink-soft);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.panel{position:relative;background:#fffaf3cc;border:1px solid rgba(24,38,47,.08);border-radius:var(--radius-surface);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.panel-pad{padding:24px}.hero-grid,.shell-grid,.split-grid,.metric-grid,.subject-grid,.resource-grid,.auth-grid,.overview-grid{display:grid;gap:22px}.hero-grid{grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr);align-items:stretch}.auth-grid{grid-template-columns:minmax(0,.92fr) minmax(320px,.68fr)}.shell-grid{grid-template-columns:300px minmax(0,1fr);align-items:start}.split-grid{grid-template-columns:minmax(0,1.18fr) minmax(320px,.82fr)}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.subject-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.resource-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.overview-grid{grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr)}.section-stack{display:grid;gap:22px}.headline{display:grid;gap:18px;padding:34px}.headline h1{max-width:15ch;font-size:clamp(2.35rem,3.9vw,3.85rem);line-height:.98}.lead{font-size:1.05rem;color:var(--ink-soft);max-width:64ch}.button-row{display:flex;flex-wrap:wrap;gap:12px}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:0 18px;border:0;border-radius:var(--radius-control);background:linear-gradient(135deg,var(--navy),var(--navy-deep));color:var(--paper-strong);font-weight:700;letter-spacing:.01em;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,opacity .16s ease;box-shadow:0 12px 24px #1733452e}.button:hover{transform:translateY(-1px)}.button.secondary{background:linear-gradient(135deg,var(--terracotta),#a9542a)}.button.ghost{background:#fffaf3bd;color:var(--ink);border:1px solid rgba(24,38,47,.1);box-shadow:none}.button.small{min-height:38px;padding:0 14px;font-size:.9rem}.signout-button{width:fit-content;flex:0 0 auto}.focus-list{display:grid;gap:12px}.focus-item,.mini-card,.role-card,.metric-card,.sidebar-card,.resource-card,.timeline-card,.detail-card{border-radius:var(--radius-surface);border:1px solid var(--line);background:#ffffff80}.focus-item,.mini-card,.role-card,.metric-card,.sidebar-card,.resource-card,.timeline-card,.detail-card,.table-card,.auth-card{padding:20px}.role-stack{display:grid;gap:16px;padding:20px}.role-card.coach,.role-card.student{background:linear-gradient(180deg,#dce6d7d9,#fffaf3e0)}.landing-role-cta{margin-top:10px}.chip-row,.tag-row,.filter-row,.action-row{display:flex;flex-wrap:wrap;gap:10px}.chip,.tag,.pill,.status-pill{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:var(--radius-pill);font-size:.85rem;font-weight:700}.chip{background:#fffaf3b3;border:1px solid rgba(255,255,255,.12)}.tag{background:#23445a14;color:var(--navy)}.pill{background:var(--gold-soft);color:#705820}.status-pill.active,.status-pill.secure{background:#6f8b7347;box-shadow:inset 0 0 0 1px #3f644338;color:#2f5d35}.status-pill.emerging{background:#c46b3a2e;color:#944e27}.status-pill.not-yet{background:#23445a12;color:#5f7485}.status-pill.pending{background:#b18c442e;color:#87661f}.subtle-chip,.count-pill{display:inline-flex;align-items:center;gap:8px;min-height:32px;padding:0 11px;border-radius:var(--radius-pill);border:1px solid rgba(24,38,47,.08);background:#ffffff7a;color:var(--ink-soft);font-size:.82rem;font-weight:700;white-space:nowrap}.count-pill{color:var(--ink);background:#fffaf3b8}.count-pill strong{font-size:.96rem}.feature-list,.tight-list{display:grid;gap:10px;color:var(--ink-soft)}.feature-list strong,.tight-list strong{color:var(--ink)}.focus-item,.mini-card{display:grid;gap:8px}.focus-item strong,.mini-card strong{font-size:1rem}.metric-card{display:grid;gap:8px;min-height:144px}.metric-label{font-size:.84rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);font-weight:700}.metric-value{font-size:2.3rem;line-height:1;font-family:Iowan Old Style,Palatino Linotype,Book Antiqua,URW Palladio L,serif}.metric-foot{margin-top:auto;color:var(--ink-soft);font-size:.92rem}.sidebar{display:grid;gap:18px}.sidebar-card{display:grid;gap:14px}.sidebar-title,.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.landing-section-title{margin-bottom:10px}.section-title h2,.sidebar-card h2,.auth-card h2,.table-card h2{font-size:1.45rem}.table-card{border-radius:var(--radius-surface);border:1px solid var(--line);background:#fffaf3d1}.student-table{width:100%;border-collapse:collapse;min-width:760px}.student-table th,.student-table td{text-align:left;padding:16px 0;border-bottom:1px solid var(--line);vertical-align:top}.student-table th{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft)}.student-table tr:last-child td{border-bottom:0}.table-wrap{overflow-x:auto}.name-stack,.table-stack{display:grid;gap:4px}.table-stack strong{font-size:1rem}.kicker{color:var(--ink-soft);font-size:.9rem}.timeline{display:grid;gap:14px}.timeline-item{position:relative;display:grid;gap:6px;padding-left:18px}.timeline-item:before{content:"";position:absolute;left:0;top:8px;width:8px;height:8px;border-radius:999px;background:linear-gradient(135deg,var(--terracotta),var(--gold))}.timeline-item:after{content:"";position:absolute;left:3px;top:18px;bottom:-12px;width:2px;background:#18262f14}.timeline-item:last-child:after{display:none}.overview-hero{padding:28px}.overview-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.profile-title{display:grid;gap:10px}.profile-title h1{font-size:clamp(2.2rem,4vw,3.5rem)}.donut-panel{display:grid;place-items:center;gap:12px;padding:18px}.donut{--value: 62;width:150px;height:150px;border-radius:50%;background:radial-gradient(circle at center,rgba(255,250,243,1) 48%,transparent 49%),conic-gradient(var(--navy) calc(var(--value) * 1%),rgba(35,68,90,.14) 0);display:grid;place-items:center;box-shadow:inset 0 0 0 1px #18262f0d}.donut:after{content:attr(data-label);display:grid;place-items:center;width:92px;height:92px;border-radius:50%;background:#fffaf3f5;color:var(--navy);text-align:center;font-size:1.1rem;font-weight:800;line-height:1.15}.subject-card{display:grid;gap:12px;padding:18px;border-radius:var(--radius-surface);border:1px solid var(--line);background:#ffffff75}.subject-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.progress-track{overflow:hidden;height:12px;border-radius:999px;background:#18262f14}.progress-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--terracotta),var(--gold))}.progress-fill.sage{background:linear-gradient(90deg,var(--sage),#4f7356)}.progress-fill.navy{background:linear-gradient(90deg,var(--navy),var(--navy-deep))}.resource-card{display:grid;gap:12px;min-height:160px}.resource-card .button{margin-top:auto;width:fit-content}.student-overview-band{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(280px,.82fr);grid-template-areas:"intro courses";gap:16px 18px;padding:18px 20px 20px;align-items:center}.student-overview-intro{grid-area:intro;display:grid;gap:16px;min-width:0}.student-overview-profile{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:center}.student-avatar-frame{width:84px;min-width:84px;aspect-ratio:1;border-radius:50%;overflow:hidden;border:1px solid rgba(24,38,47,.1);background:radial-gradient(circle at 28% 24%,rgba(255,255,255,.9),transparent 36%),linear-gradient(160deg,#fffaf4f5,#efddc9e6);box-shadow:inset 0 1px #ffffff80,0 14px 30px #c46b3a24}.student-avatar-art{display:block;width:100%;height:100%}.student-overview-copy{min-width:0}.student-overview-greeting{display:grid;gap:6px;max-width:36rem}.student-overview-greeting-lead{display:block;font-family:Iowan Old Style,Palatino Linotype,Book Antiqua,URW Palladio L,serif;font-size:clamp(1.55rem,2.4vw,2.35rem);line-height:.95;letter-spacing:-.03em;color:var(--ink);font-weight:700}.student-overview-greeting-message{display:block;max-width:none;font-size:clamp(1rem,1.4vw,1.16rem);line-height:1.55;color:var(--ink-soft);white-space:nowrap}.student-overview-courses{grid-area:courses;display:grid;gap:10px;justify-items:end;align-content:center}.student-overview-courses-label{font-size:.78rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft)}.student-overview-course-list{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.student-overview-course-pill{display:inline-flex;align-items:center;min-height:40px;padding:0 14px;border-radius:999px;border:1px solid rgba(35,68,90,.1);background:#fffaf3d1;color:var(--navy);font-size:.92rem;font-weight:700;white-space:nowrap}.student-overview-course-pill.active{border-color:transparent;background:linear-gradient(135deg,var(--navy),var(--navy-deep));color:var(--paper-strong)}.student-dashboard-shell{display:grid;grid-template-columns:minmax(320px,340px) minmax(0,1fr);gap:20px;align-items:start}.student-program-rail,.student-concept-panel{padding:24px}.student-program-rail{display:grid;gap:16px}.student-rail-head{display:grid;gap:8px}.student-rail-head h2,.student-concept-panel-head h2{font-size:1.45rem}.student-concept-panel-title-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.student-concept-panel-head h2{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 10px}.student-concept-panel-count{font-family:Avenir Next,Gill Sans,Trebuchet MS,sans-serif;font-size:.95rem;font-weight:600;letter-spacing:0;color:var(--ink-soft)}.student-rail-subtitle{font-size:1rem;line-height:1.5;color:var(--ink-soft)}.student-subject-list{position:relative;display:grid;gap:0}.student-subject-list:before,.student-subject-list:after{content:"";position:absolute;left:12px;right:12px;height:1px;background:#18262f14;pointer-events:none}.student-subject-list:before{top:0}.student-subject-list:after{bottom:0}.student-subject-button{position:relative;width:100%;padding:10px 12px;border:0;border-left:3px solid transparent;border-radius:12px;background:transparent;text-align:left;transition:border-color .16s ease,background .16s ease}.student-subject-button+.student-subject-button:before{content:"";position:absolute;top:0;left:12px;right:12px;height:1px;background:#18262f14}.student-subject-button:hover{background:#ffffff57}.student-subject-button.active{background:#23445a14;border-left-color:var(--navy)}.student-subject-header,.student-subject-foot{display:flex;align-items:center;justify-content:space-between;gap:6px}.student-subject-header strong{font-size:.94rem}.student-subject-bar{display:flex;gap:3px;height:6px;margin-top:8px}.student-subject-bar span{border-radius:999px;min-width:0}.student-subject-bar .secure{background:var(--sage)}.student-subject-bar .emerging{background:var(--gold)}.student-subject-bar .not-yet{background:#c46b3a8c}.student-subject-foot{margin-top:8px;flex-wrap:wrap;justify-content:flex-start;font-size:.74rem;color:var(--ink-soft)}.student-subject-foot span{white-space:nowrap}.student-subject-header .subtle-chip{min-height:0;padding:0;border:0;border-radius:0;background:transparent;color:var(--ink-soft);font-size:.82rem;font-weight:600}.student-main-stage{display:grid;gap:18px;align-content:start}.student-toolbar-row{display:flex;gap:8px;align-items:center;justify-content:flex-start;flex-wrap:nowrap}.student-search-wrap{position:relative;display:block;flex:1 1 360px;min-width:0}.student-search-wrap:before{content:"";position:absolute;left:14px;top:50%;width:13px;height:13px;border:2px solid rgba(24,38,47,.35);border-radius:999px;pointer-events:none;transform:translateY(-50%)}.student-search-wrap:after{content:"";position:absolute;left:25px;top:calc(50% + 4px);width:6px;height:2px;background:#18262f59;border-radius:999px;pointer-events:none;transform:translateY(-50%) rotate(45deg)}.student-search-input{display:block;width:100%;min-height:36px;padding:0 12px 0 36px;border-radius:var(--radius-sm);border:1px solid rgba(24,38,47,.12);background:#fffdf9c7;color:var(--ink);font:inherit}.student-filter-row,.student-topic-strip{display:flex;gap:6px;align-items:center}.student-filter-row{flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;flex:0 1 auto;min-width:0;max-width:100%;padding-bottom:2px}.student-topic-strip{flex-wrap:wrap;align-items:flex-start}.student-filter-pill,.student-topic-pill{min-height:36px;padding:0 12px;border-radius:var(--radius-control);border:1px solid rgba(24,38,47,.1);background:#fffdf9b8;color:var(--ink-soft);font-size:.76rem;font-weight:700;line-height:1;cursor:pointer;flex:0 0 auto;white-space:nowrap}.student-filter-pill.active,.student-topic-pill.active{background:var(--navy);border-color:var(--navy);color:var(--paper-strong)}.student-concept-panel{display:grid;gap:18px}.student-concept-panel-head,.student-concept-controls{display:grid;gap:8px}.student-concept-table-wrap{overflow:visible;border:1px solid var(--line);border-radius:var(--radius-surface);background:#ffffff61}.student-concept-table{width:100%;min-width:820px;border-collapse:separate;border-spacing:0}.student-concept-table th{padding:8px 16px;background:#f8f2e9f0;border-bottom:1px solid var(--line);color:var(--ink-soft);font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;text-align:left;box-shadow:inset 0 -1px #18262f14}.student-concept-sort{display:inline-flex;align-items:center;justify-content:flex-start;gap:6px;width:100%;padding:0;border:0;background:transparent;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;text-align:left;cursor:pointer;transition:color .16s ease}.student-concept-sort:hover,.student-concept-sort.active{color:var(--ink)}.student-concept-sort:focus-visible{outline:2px solid rgba(35,68,90,.35);outline-offset:4px;border-radius:4px}.student-concept-sort-indicator{display:inline-flex;align-items:center;justify-content:center;min-width:.8rem;color:var(--navy);font-size:.7rem;font-weight:800}.student-concept-sort:not(.active) .student-concept-sort-indicator{color:var(--ink-soft);opacity:.55}.student-concept-table td{padding:8px 16px;border-bottom:1px solid var(--line);vertical-align:middle;background:transparent;transition:background .16s ease,box-shadow .16s ease,color .16s ease}.student-concept-table tbody tr:last-child td{border-bottom:0}.student-concept-col-quiz{width:150px;min-width:150px}.student-concept-row{--student-row-surface: transparent;--student-row-hover-surface: rgba(255, 253, 249, .88);--student-row-accent: rgba(35, 68, 90, .18);transition:background .16s ease}.student-concept-row td{background:var(--student-row-surface)}.student-concept-row.is-focus{--student-row-surface: rgba(35, 68, 90, .05);--student-row-hover-surface: rgba(35, 68, 90, .1);--student-row-accent: rgba(35, 68, 90, .28)}.student-concept-row.is-primary{--student-row-surface: linear-gradient(180deg, rgba(196, 107, 58, .12), rgba(255, 253, 249, .76));--student-row-hover-surface: linear-gradient( 180deg, rgba(196, 107, 58, .18), rgba(255, 253, 249, .88) );--student-row-accent: rgba(196, 107, 58, .32)}.student-concept-row:hover td,.student-concept-row:focus-within td{background:var(--student-row-hover-surface)}.student-concept-row:hover td:first-child,.student-concept-row:focus-within td:first-child{box-shadow:inset 3px 0 0 var(--student-row-accent)}.student-concept-row:hover .student-concept-primary,.student-concept-row:focus-within .student-concept-primary,.student-concept-row:hover .student-quiz-link,.student-concept-row:focus-within .student-quiz-link,.student-concept-row:hover .student-table-muted,.student-concept-row:focus-within .student-table-muted{color:var(--ink)}.student-concept-id{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:22px;padding:0 7px;border-radius:999px;background:#23445a14;color:var(--navy);font-size:.76rem;font-weight:600}.student-concept-primary{font-size:.96rem;color:var(--navy);font-weight:500;line-height:1.22;text-decoration:underline;text-decoration-color:#23445a73;text-decoration-thickness:1.5px;text-underline-offset:.16em}.student-concept-link{display:inline-block;max-width:100%;color:inherit;transition:color .16s ease}.student-concept-mobile-meta{display:none}.student-concept-link:hover .student-concept-primary,.student-concept-link:focus-visible .student-concept-primary{color:var(--navy-deep);text-decoration-color:currentColor}.student-concept-link:focus-visible{outline:2px solid rgba(35,68,90,.35);outline-offset:4px;border-radius:4px}.student-quiz-link{display:inline-block;padding:0;border:0;background:transparent;color:var(--navy);font-size:.9rem;font-weight:500;line-height:1.22;text-decoration:underline;text-decoration-color:#23445a73;text-decoration-thickness:1.5px;text-underline-offset:.16em;text-align:left;white-space:nowrap;cursor:pointer}.student-quiz-link:hover,.student-quiz-link:focus-visible{color:var(--navy-deep);text-decoration-color:currentColor}.student-quiz-link:focus-visible{outline:2px solid rgba(35,68,90,.35);outline-offset:4px;border-radius:4px}.student-quiz-panel{display:grid;gap:18px;padding:24px;min-width:0;scroll-margin-top:18px}.student-quiz-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.student-quiz-head h2{font-size:clamp(1.5rem,2.4vw,2rem)}.student-quiz-subtitle{margin-top:6px;color:var(--ink-soft);font-size:.95rem}.student-quiz-summary,.student-quiz-state{display:grid;gap:8px;padding:16px 18px;border:1px solid var(--line);border-radius:var(--radius-sm);background:#ffffff6b}.student-quiz-state-progress{gap:14px}.student-quiz-progress-head{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px}.student-quiz-progress-copy{display:grid;gap:8px}.student-quiz-spinner{width:22px;height:22px;border:2px solid rgba(35,68,90,.16);border-top-color:#c46b3aeb;border-radius:999px;animation:student-quiz-spinner .84s linear infinite}.student-quiz-progress-track{position:relative;overflow:hidden;height:8px;border-radius:999px;background:#23445a1a}.student-quiz-progress-bar{position:absolute;inset:0 auto 0 0;width:34%;border-radius:inherit;background:linear-gradient(90deg,#c46b3a33,#c46b3af2);animation:student-quiz-progress 1.35s ease-in-out infinite}.student-quiz-progress-note{font-size:.88rem}.student-quiz-rule{font-size:.9rem;color:var(--ink-soft)}.student-quiz-question-list,.student-quiz-results-list{display:grid;gap:12px;min-height:0}.student-quiz-question-card,.student-quiz-result-card{display:grid;gap:12px;padding:16px 18px;border:1px solid var(--line);border-radius:var(--radius-sm);background:#ffffff7a}.student-quiz-question-head{display:grid;gap:8px}.student-quiz-question-head h3{font-size:1rem;line-height:1.4}.student-quiz-question-index{display:inline-flex;align-items:center;width:fit-content;min-height:26px;padding:0 10px;border-radius:999px;background:#23445a14;color:var(--navy);font-size:.74rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.student-quiz-question-index.success{background:#6f8b732e;color:#3f6443}.student-quiz-question-index.error{background:#c46b3a29;color:#944e27}.student-quiz-choice-list{display:grid;gap:8px}.student-quiz-choice{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:flex-start;gap:10px;width:100%;padding:12px 14px;border:1px solid rgba(24,38,47,.12);border-radius:12px;background:#fffdf9d1;color:var(--ink);font:inherit;text-align:left;cursor:pointer;transition:border-color .16s ease,background .16s ease,transform .16s ease}.student-quiz-choice:hover{transform:translateY(-1px);background:#fffffff5}.student-quiz-choice.active{border-color:#23445a3d;background:#23445a14}.student-quiz-choice:focus-visible{outline:2px solid rgba(35,68,90,.35);outline-offset:2px}.student-quiz-choice-index{display:inline-flex;align-items:center;justify-content:center;width:28px;min-width:28px;height:28px;border-radius:999px;background:#23445a1a;color:var(--navy);font-size:.82rem;font-weight:800}.student-quiz-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.student-quiz-actions .button:disabled{opacity:.56;cursor:not-allowed;transform:none}.student-quiz-result-summary{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;border:1px solid var(--line);border-radius:var(--radius-sm);background:linear-gradient(135deg,#fffaf3eb,#ffffffbd),radial-gradient(circle at top right,rgba(196,107,58,.16),transparent 32%)}.student-quiz-result-metric,.student-quiz-result-status{display:grid;gap:6px}.student-quiz-result-score{font-family:Iowan Old Style,Palatino Linotype,Book Antiqua,URW Palladio L,serif;font-size:clamp(1.8rem,3vw,2.5rem);line-height:.95;color:var(--ink)}.student-quiz-result-caption,.student-quiz-result-line{font-size:.92rem;color:var(--ink-soft)}@keyframes student-quiz-spinner{to{transform:rotate(360deg)}}@keyframes student-quiz-progress{0%{transform:translate(-115%)}to{transform:translate(315%)}}.student-table-muted{color:var(--ink-soft);font-size:.88rem;line-height:1.22}.student-status-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:var(--radius-pill);font-size:.78rem;font-weight:600}.student-status-pill.secure{background:#6f8b7347;box-shadow:inset 0 0 0 1px #3f64433d;color:#2f5d35}.student-status-pill.emerging{background:#b18c442e;color:#7d6120}.student-status-pill.not-yet{background:#23445a12;color:#5f7485}.student-concept-empty-cell{padding:18px}.split-note{display:grid;gap:6px;color:var(--ink-soft)}.auth-card{display:grid;gap:18px;padding:28px}.field-grid,.form-grid{display:grid;gap:14px}.field{display:grid;gap:8px}.field label{font-size:.9rem;font-weight:700;color:var(--ink-soft)}.input,.select,.textarea{width:100%;padding:14px 15px;border-radius:var(--radius-sm);border:1px solid rgba(24,38,47,.12);background:#ffffffc7;color:var(--ink);font:inherit}.compact-select{width:auto;min-width:180px;padding:10px 14px}.textarea{min-height:112px;resize:vertical}.field-note{font-size:.85rem;color:var(--ink-soft)}.field-note.danger{color:#a14f42}.credential-box,.mock-note,.helper-box,.credential-box strong,.helper-box strong{display:block;margin-bottom:6px}.mock-note{background:#efe2bf70;border-color:#b18c4440;color:#694f14}.table-actions{display:flex;flex-wrap:wrap;gap:8px}.mini-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.mini-stat{padding:14px;border-radius:var(--radius-surface);background:#ffffff8a;border:1px solid var(--line)}.mini-stat strong{display:block;font-size:1.4rem;margin-bottom:2px}.callout-banner{display:grid;gap:10px;padding:18px 20px;margin-top:22px;border-radius:var(--radius-surface);background:linear-gradient(135deg,#23445af2,#6f8b73ed);color:var(--paper-strong)}.callout-banner .muted{color:#fffaf3c7}.footer-note{margin-top:26px;color:var(--ink-soft);font-size:.93rem}.back-link{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:var(--navy)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:none;align-items:center;justify-content:center;padding:24px;background:#17334561;z-index:30}.modal-backdrop.is-open{display:flex}.modal{width:min(720px,100%);max-height:calc(100vh - 48px);overflow:auto;padding:26px}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.close-button{width:40px;height:40px;border-radius:var(--radius-sm);border:1px solid var(--line);background:#ffffffa8;color:var(--ink);font-size:1.3rem;cursor:pointer}.form-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}.two-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.three-column{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.resource-viewer{min-height:340px;display:grid;gap:22px}.resource-viewer-page,.student-quiz-page{margin-top:-14px}.resource-back-button{justify-self:start;width:fit-content}.resource-content{color:var(--ink)}.resource-viewer-header{display:grid;gap:14px}.resource-viewer-body{display:grid;gap:18px}.resource-viewer-actions{display:flex;justify-content:flex-start;padding-top:8px;border-top:1px solid var(--line)}.resource-plain-content{margin:0;white-space:pre-wrap;word-break:break-word;font-family:SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.94rem;line-height:1.65}.resource-markdown{display:grid;gap:1rem;line-height:1.7}.resource-markdown>*{margin:0}.resource-markdown :where(h1,h2,h3,h4){color:var(--navy-deep);line-height:1.08}.resource-markdown h1{font-size:clamp(1.95rem,3vw,2.5rem)}.resource-markdown h2{font-size:1.55rem}.resource-markdown h3{font-size:1.18rem}.resource-markdown :where(p,ul,ol,blockquote,table,pre){margin:0}.resource-markdown :where(ul,ol){display:grid;gap:.55rem;padding-left:1.35rem}.resource-markdown li>:first-child{margin-top:0}.resource-markdown li>:last-child{margin-bottom:0}.resource-inline-link{color:var(--navy);font-weight:700;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:.2em}.resource-inline-link:hover{color:var(--navy-deep)}.resource-markdown :where(code,pre){font-family:SFMono-Regular,Menlo,Monaco,Consolas,monospace}.resource-markdown :not(pre)>code{padding:.14rem .42rem;border:1px solid rgba(35,68,90,.12);border-radius:var(--radius-control);background:#23445a0f;font-size:.92em}.resource-markdown pre{overflow-x:auto;padding:16px 18px;border:1px solid var(--line);border-radius:var(--radius-surface);background:#23445a0f}.resource-markdown pre code{padding:0;border:0;background:transparent}.resource-markdown blockquote{padding:12px 16px;border-left:4px solid rgba(196,107,58,.5);border-radius:0 var(--radius-surface) var(--radius-surface) 0;background:#c46b3a14;color:var(--ink-soft)}.resource-markdown table{width:100%;border-collapse:collapse;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-surface)}.resource-markdown th,.resource-markdown td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.resource-markdown th{background:#23445a12;font-size:.82rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.resource-markdown tr:last-child td{border-bottom:0}.mobile-only{display:none}@media(max-width:1120px){.metric-grid,.resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:980px){.hero-grid,.auth-grid,.shell-grid,.split-grid,.overview-grid,.subject-grid,.student-dashboard-shell{grid-template-columns:1fr}.topbar,.overview-header{align-items:flex-start}.topbar-actions{justify-content:flex-start;width:100%}.topbar-session{justify-content:flex-start}.student-overview-band{grid-template-columns:minmax(0,1fr);grid-template-areas:"intro" "courses"}.student-overview-profile{gap:12px}.student-avatar-frame{width:78px;min-width:78px}.student-overview-courses{justify-items:start}.student-overview-course-list{justify-content:flex-start}.student-toolbar-row{flex-direction:column;align-items:stretch}.student-search-wrap{flex:1 1 auto;width:100%;align-self:stretch}.student-filter-row{flex:1 1 auto;width:100%;flex-wrap:wrap;overflow:visible;padding-bottom:0}}@media(max-width:720px){.page-shell{padding:22px 16px 40px}.app-footer{align-items:flex-start;flex-direction:column}.topbar{flex-direction:column;gap:12px}.topbar-actions{align-self:stretch;justify-content:flex-start}.primary-nav,.topbar-session{justify-content:flex-start}.brand-mark{width:40px;height:40px;border-radius:12px}.brand-subtitle{font-size:.88rem}.student-overview-greeting{gap:4px}.student-overview-greeting-lead{font-size:clamp(1.35rem,8vw,1.8rem)}.student-overview-greeting-message{font-size:.98rem;white-space:normal}.student-overview-courses-label{font-size:.74rem}.student-overview-course-pill{min-height:36px;padding:0 12px;font-size:.86rem}.headline,.auth-card,.overview-hero,.table-card,.student-overview-band,.student-program-rail,.student-concept-panel{padding:20px}.headline h1{max-width:none;font-size:clamp(2.15rem,8vw,3rem)}.student-overview-profile{grid-template-columns:64px minmax(0,1fr);gap:10px;align-items:start}.student-avatar-frame{width:64px;min-width:64px}.student-overview-copy p{font-size:1rem}.metric-grid,.resource-grid,.mini-stats,.two-column,.three-column{grid-template-columns:1fr}.button-row,.form-actions,.action-row{flex-direction:column;align-items:stretch}.button{width:100%}.signout-button,.resource-back-button{width:fit-content}.resource-viewer-page{margin-top:-9px}.donut{width:128px;height:128px}.student-toolbar-row{flex-direction:column;align-items:stretch}.student-filter-row{width:100%}.student-concept-panel-title-row{align-items:flex-start;flex-direction:column}.student-concept-table-wrap{border:0;border-radius:0;background:transparent}.student-concept-table{min-width:0}.student-concept-table thead{display:none}.student-concept-table,.student-concept-table tbody,.student-concept-table tr,.student-concept-table td{display:block;width:100%}.student-concept-table tbody{display:grid;gap:10px}.student-concept-row{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"id concept";align-items:start;gap:8px 12px;padding:12px 14px;border:1px solid rgba(24,38,47,.1);border-radius:16px;background:linear-gradient(180deg,#ffffffb8,#fffaf3eb),var(--student-row-surface);box-shadow:0 8px 18px #18262f0a;transition:background .16s ease,box-shadow .16s ease,border-color .16s ease}.student-concept-empty-row{display:block;border:1px dashed rgba(24,38,47,.12);border-radius:16px;background:#ffffff75}.student-concept-row td{min-width:0;width:auto;padding:0;border:0;background:transparent}.student-concept-row:hover,.student-concept-row:focus-within{border-color:#18262f24;background:linear-gradient(180deg,#ffffffdb,#fffaf3fa),var(--student-row-hover-surface);box-shadow:inset 0 0 0 1px var(--student-row-accent),0 10px 22px #18262f0f}.student-concept-row:hover td:first-child,.student-concept-row:focus-within td:first-child{box-shadow:none}.student-concept-cell-id{grid-area:id;width:auto;align-self:start}.student-concept-cell-concept{grid-area:concept;min-width:0;align-self:start}.student-concept-row .student-concept-cell-topic,.student-concept-row .student-concept-cell-quiz,.student-concept-row .student-concept-cell-status{display:none}.student-concept-id{min-width:40px;min-height:20px;padding:0 6px;font-size:.72rem}.student-concept-link{display:block}.student-concept-mobile-meta{display:grid;gap:8px;margin-top:8px}.student-concept-mobile-topic{display:block;font-size:.82rem;line-height:1.22}.student-concept-mobile-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}.student-concept-primary{font-size:.96rem;line-height:1.26;text-decoration-thickness:1px;text-underline-offset:.13em}.student-concept-cell-topic.student-table-muted{font-size:.82rem;line-height:1.22}.student-quiz-link{font-size:.82rem;flex-shrink:0;white-space:nowrap}.student-status-pill{white-space:nowrap}.student-quiz-panel{padding:18px}.student-quiz-head,.student-quiz-actions,.student-quiz-result-summary{align-items:flex-start;flex-direction:column}.student-quiz-head .button,.student-quiz-actions .button{width:100%}}
