/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-serif:ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.static{position:static}.block{display:block}.hidden{display:none}.inline{display:inline}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.italic{font-style:italic}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#f6f3eb;--paper-deep:#fbf9f4;--surface:#fff;--surface-raised:#fff;--ink:#1b2b28;--muted:#6e7772;--faint:#919994;--line:#e5e0d4;--line-strong:#c9c1b3;--green:#2f5d50;--green-hover:#294d45;--green-pale:#e2ebe7;--gold:#a9783f;--gold-pale:#f3e8d6;--red:#9a5148;--red-pale:#f4e3e0;--on:#fff;--shadow:0 1px 2px #1b2b280d, 0 8px 24px #1b2b280f;--serif:Newsreader, "Iowan Old Style", "Palatino Linotype", Georgia, serif;--sans:Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--paper:#15201e;--paper-deep:#22312e;--surface:#1c2926;--surface-raised:#22312e;--ink:#edf1ec;--muted:#abb5b0;--faint:#7f8c87;--line:#354440;--line-strong:#495b56;--green:#81ad9f;--green-hover:#9bc0b5;--green-pale:#293d38;--gold:#d2a568;--gold-pale:#3a3126;--red:#e1988f;--red-pale:#3c2926;--on:#10201c;--shadow:none}*{box-sizing:border-box}html{background:var(--paper);min-width:320px}body{background:var(--paper);min-width:320px;min-height:100vh;color:var(--ink);font-family:var(--sans);text-rendering:optimizelegibility;margin:0;font-size:15px;line-height:1.55}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--serif);letter-spacing:-.025em;font-weight:500}h3{letter-spacing:-.012em}::selection{background:var(--gold-pale);color:var(--ink)}:focus-visible{outline:3px solid var(--gold)}@supports (color:color-mix(in lab, red, red)){:focus-visible{outline:3px solid color-mix(in srgb, var(--gold) 48%, transparent)}}:focus-visible{outline-offset:2px}.app-shell{min-height:100vh}.sidebar{z-index:30;border-right:1px solid var(--line);background:var(--surface);flex-direction:column;width:244px;display:flex;position:fixed;inset:0 auto 0 0}@supports (color:color-mix(in lab, red, red)){.sidebar{background:color-mix(in srgb, var(--surface) 90%, transparent)}}.sidebar{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.sidebar-top{justify-content:space-between;align-items:center;height:82px;padding:0 25px;display:flex}.brand{font-family:var(--serif);letter-spacing:-.025em;align-items:center;gap:11px;font-size:22px;font-weight:600;display:flex}.brand-large{font-size:27px}.brand-mark{background:var(--green);width:35px;height:35px;color:var(--surface);font-family:var(--serif);border-radius:50%;place-items:center;font-size:21px;font-style:italic;display:grid}.main-nav{flex-direction:column;flex:1;gap:4px;padding:15px 14px;display:flex}.nav-link{min-height:44px;color:var(--muted);border-radius:9px;align-items:center;gap:13px;padding:0 13px;font-size:14px;font-weight:600;transition:background .16s,color .16s;display:flex;position:relative}.nav-link:hover{background:var(--paper);color:var(--ink)}.nav-link.active{background:var(--green-pale);color:var(--green)}.nav-link.active:before{background:var(--green);content:"";border-radius:0 3px 3px 0;width:3px;height:24px;position:absolute;left:-14px}.nav-dot{background:var(--gold);border-radius:50%;width:6px;height:6px;margin-left:auto}.sidebar-course{border-top:1px solid var(--line);padding:16px 18px 19px}.sidebar-course label{color:var(--faint);letter-spacing:.12em;text-transform:uppercase;margin:0 0 7px 4px;font-size:10px;font-weight:800;display:block}.select-wrap{position:relative}.select-wrap select{appearance:none;width:100%;padding-right:32px}.select-wrap svg{pointer-events:none;position:absolute;top:13px;right:11px}.sidebar-footer{border-top:1px solid var(--line);align-items:center;gap:11px;min-height:76px;padding:15px 21px;display:flex}.sidebar-footer div:last-child{min-width:0}.sidebar-footer strong,.sidebar-footer span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.sidebar-footer strong{font-size:13px}.sidebar-footer span{color:var(--muted);font-size:11px}.avatar{background:var(--gold-pale);width:34px;height:34px;color:var(--gold);font-family:var(--serif);border-radius:50%;flex:none;place-items:center;font-weight:700;display:grid}.app-main{min-height:100vh;margin-left:244px}.topbar{z-index:20;border-bottom:1px solid var(--line);background:var(--paper);align-items:center;gap:18px;height:72px;padding:0 38px;display:flex;position:sticky;top:0}@supports (color:color-mix(in lab, red, red)){.topbar{background:color-mix(in srgb, var(--paper) 89%, transparent)}}.topbar{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.global-search{width:min(520px,60vw);color:var(--faint);border:1px solid #0000;border-radius:9px;align-items:center;gap:10px;margin-right:auto;padding:8px 11px;display:flex}.global-search:focus-within{border-color:var(--line);background:var(--surface);box-shadow:var(--shadow)}.global-search input{width:100%;color:var(--ink);background:0 0;border:0;outline:0}kbd{border:1px solid var(--line);background:var(--surface);color:var(--faint);white-space:nowrap;border-radius:5px;align-items:center;gap:3px;padding:2px 6px;font-size:10px;display:flex}.topbar-actions,.button-row,.page-actions,.session-actions,.rating-buttons{align-items:center;gap:10px;display:flex}.content{width:min(1280px,100%);margin:0 auto;padding:43px 48px 80px}.page-header{justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:32px;display:flex}.page-header>div:first-child{max-width:740px}.page-header p:last-child{max-width:700px;color:var(--muted);margin:0;font-size:15px}.eyebrow{color:var(--gold);font-family:var(--sans);letter-spacing:.14em;text-transform:uppercase;margin-bottom:6px;font-size:10px;font-weight:800}.button{cursor:pointer;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:0 16px;font-size:13px;font-weight:700;line-height:1;transition:transform .12s,background .16s,color .16s,border .16s;display:inline-flex}.button:hover:not(:disabled){transform:translateY(-1px)}.button:disabled{cursor:not-allowed;opacity:.52}.button-primary{background:var(--green);color:var(--surface);box-shadow:0 3px 12px var(--green)}@supports (color:color-mix(in lab, red, red)){.button-primary{box-shadow:0 3px 12px color-mix(in srgb, var(--green) 23%, transparent)}}.button-primary:hover:not(:disabled){background:var(--green-hover)}.button-secondary{border-color:var(--line);background:var(--surface);color:var(--ink)}.button-secondary:hover:not(:disabled){border-color:var(--line-strong);background:var(--surface-raised)}.button-ghost{color:var(--muted);background:0 0}.button-ghost:hover:not(:disabled){background:var(--paper-deep);color:var(--ink)}.button-danger{background:var(--red-pale);color:var(--red)}.icon-button{width:38px;height:38px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;display:grid}.icon-button:hover{background:var(--paper-deep);color:var(--ink)}.icon-button svg{width:19px}.card{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:12px}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:40px;display:grid}.metric-card{min-height:153px;padding:22px;position:relative;overflow:hidden}.metric-card.accent{border-color:var(--green)}@supports (color:color-mix(in lab, red, red)){.metric-card.accent{border-color:color-mix(in srgb, var(--green) 42%, var(--line))}}.metric-card.accent{background:linear-gradient(145deg, var(--surface), var(--green-pale))}.metric-card>span,.metric-card>small,.metric-card>strong{display:block}.metric-card>span{color:var(--muted);margin-bottom:7px;font-size:12px;font-weight:700}.metric-card>strong{font-family:var(--serif);font-size:37px;font-weight:500;line-height:1.1}.metric-card>strong em{color:var(--muted);font-family:var(--sans);font-size:13px;font-style:normal;font-weight:600}.metric-card>.metric-text{padding-top:4px;font-size:29px}.metric-card>small{color:var(--faint);font-size:10px;position:absolute;bottom:18px}.metric-icon{background:var(--paper);width:32px;height:32px;color:var(--gold);border-radius:50%;place-items:center;display:grid;position:absolute;top:18px;right:18px}.metric-icon svg{width:16px}.dashboard-grid,.chart-grid{grid-template-columns:minmax(0,1.8fr) minmax(290px,.8fr);gap:26px;display:grid}.chart-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:36px}.chart-grid .card{padding:22px}.chart{height:290px;margin:10px -5px 0;font-size:11px}.section-heading{justify-content:space-between;align-items:flex-end;gap:20px;margin:0 0 16px;display:flex}.section-heading h2{margin:0;font-size:26px}.section-heading>a,.section-heading>span{color:var(--green);font-size:12px;font-weight:700}.section-heading.compact{align-items:center}.section-heading.compact h2{font-size:21px}.recommendation-list{flex-direction:column;gap:10px;display:flex}.recommendation{grid-template-columns:5px minmax(0,1fr) auto;align-items:center;gap:17px;padding:17px 18px 17px 0;display:grid}.recommendation-signal{background:var(--gold);border-radius:0 5px 5px 0;align-self:stretch}.recommendation-signal.muted{background:var(--line-strong)}.recommendation h3{font-family:var(--serif);margin:0;font-size:18px}.recommendation p{color:var(--muted);margin:4px 0 0;font-size:12px}.recommendation p strong{color:var(--ink)}.item-title-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.today-side{flex-direction:column;gap:18px;display:flex}.today-side>.card{padding:20px}.course-mini-list{flex-direction:column;margin:0 -8px -6px;display:flex}.course-mini-list button{color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;grid-template-columns:9px 1fr auto;align-items:center;gap:11px;padding:12px 8px;display:grid}.course-mini-list button:hover{background:var(--paper)}.course-mini-list strong,.course-mini-list small{display:block}.course-mini-list strong{font-size:12px}.course-mini-list small,.course-mini-list button>span:last-child{color:var(--faint);font-size:10px}.course-colour{border-radius:8px;width:8px;height:30px}.quick-session{background:linear-gradient(155deg, var(--green-pale), var(--surface));min-height:225px;position:relative;overflow:hidden}.quick-session h3{max-width:170px;font-family:var(--serif);margin-top:15px;font-size:22px}.quick-session p{max-width:170px;color:var(--muted);font-size:12px}.quick-illustration{border:1px solid var(--green);place-content:center;width:67px;height:67px;display:grid;position:absolute;top:25px;right:23px}@supports (color:color-mix(in lab, red, red)){.quick-illustration{border:1px solid color-mix(in srgb, var(--green) 35%, transparent)}}.quick-illustration{color:var(--green);text-align:center;border-radius:50%}.quick-illustration span{font-family:var(--serif);font-size:28px;line-height:.8}.quick-illustration small{letter-spacing:.1em;text-transform:uppercase;font-size:9px;font-weight:800}.badge{border:1px solid var(--line);background:var(--paper);width:fit-content;color:var(--muted);letter-spacing:.07em;text-transform:uppercase;white-space:nowrap;border-radius:999px;align-items:center;padding:3px 8px;font-size:9px;font-weight:800;display:inline-flex}.badge-success{border-color:var(--green)}@supports (color:color-mix(in lab, red, red)){.badge-success{border-color:color-mix(in srgb, var(--green) 30%, transparent)}}.badge-success{background:var(--green-pale);color:var(--green)}.badge-warning{border-color:var(--gold)}@supports (color:color-mix(in lab, red, red)){.badge-warning{border-color:color-mix(in srgb, var(--gold) 30%, transparent)}}.badge-warning{background:var(--gold-pale);color:var(--gold)}.badge-danger{border-color:var(--red)}@supports (color:color-mix(in lab, red, red)){.badge-danger{border-color:color-mix(in srgb, var(--red) 30%, transparent)}}.badge-danger{background:var(--red-pale);color:var(--red)}.badge-accent{background:var(--green-pale);color:var(--green)}.input,.textarea{border:1px solid var(--line);background:var(--surface-raised);width:100%;color:var(--ink);border-radius:8px;outline:0;transition:border .14s,box-shadow .14s}.input{height:41px;padding:0 12px}.textarea{resize:vertical;min-height:108px;padding:11px 12px}.input:focus,.textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px var(--green)}@supports (color:color-mix(in lab, red, red)){.input:focus,.textarea:focus{box-shadow:0 0 0 3px color-mix(in srgb, var(--green) 12%, transparent)}}.field{flex-direction:column;gap:6px;display:flex}.field-group{border:0;min-width:0;margin:0;padding:0}.progress-concepts{gap:8px;margin:10px 0;display:grid}.progress-concepts>span{justify-content:space-between;align-items:center;gap:12px;display:flex}.field-label{color:var(--ink);font-size:12px;font-weight:700}.field-hint,.field-error{font-size:10px}.field-hint{color:var(--faint)}.source-priority-help{color:var(--muted);font-size:12px;line-height:1.55}.field-error{color:var(--red)}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.form-stack{flex-direction:column;gap:18px;display:flex}.inline-form{margin:-10px 0 28px;padding:23px}.inline-form .button-row{margin-top:18px}.notice{border:1px solid var(--green);flex-direction:column;gap:2px;margin:12px 0;padding:13px 15px;display:flex}@supports (color:color-mix(in lab, red, red)){.notice{border:1px solid color-mix(in srgb, var(--green) 24%, var(--line))}}.notice{background:var(--green-pale);color:var(--ink);border-radius:8px;font-size:12px}.notice-warning{border-color:var(--gold)}@supports (color:color-mix(in lab, red, red)){.notice-warning{border-color:color-mix(in srgb, var(--gold) 30%, var(--line))}}.notice-warning{background:var(--gold-pale)}.notice-danger{border-color:var(--red)}@supports (color:color-mix(in lab, red, red)){.notice-danger{border-color:color-mix(in srgb, var(--red) 30%, var(--line))}}.notice-danger{background:var(--red-pale)}.course-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;display:grid}.course-card{min-height:294px;padding:22px;transition:transform .16s,border .16s,box-shadow .16s;display:block}.course-card:hover{border-color:var(--line-strong);transform:translateY(-2px);box-shadow:0 12px 35px #1f2d291a}.course-card-top{color:var(--faint);justify-content:space-between;align-items:center;margin-bottom:28px;display:flex}.course-monogram{color:#fff;width:47px;height:47px;font-family:var(--serif);border-radius:10px;place-items:center;font-size:17px;display:grid}.course-card h2{margin-bottom:3px;font-size:25px}.course-card>p:not(.eyebrow){min-height:36px;color:var(--muted);font-size:12px}.course-stats{gap:18px;margin:25px 0 18px;display:flex}.course-stats span{color:var(--faint);font-size:10px}.course-stats strong{color:var(--ink);font-size:15px;display:block}.course-card-footer{border-top:1px solid var(--line);color:var(--faint);justify-content:space-between;align-items:center;padding-top:14px;font-size:9px;display:flex}.tabs{border-bottom:1px solid var(--line);gap:25px;margin:-7px 0 29px;display:flex;overflow-x:auto}.tabs button{color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;padding:11px 1px 13px;font-size:12px;font-weight:700;position:relative}.tabs button.active{color:var(--green)}.tabs button.active:after{background:var(--green);content:"";height:2px;position:absolute;bottom:-1px;left:0;right:0}.course-summary{background:linear-gradient(145deg, var(--surface), var(--green-pale));padding:27px}.course-summary h2{max-width:700px;font-size:27px;line-height:1.25}.course-summary>p:not(.eyebrow){color:var(--muted)}.summary-metrics{border-top:1px solid var(--line);gap:40px;margin-top:27px;padding-top:20px;display:flex}.summary-metrics span{color:var(--muted);font-size:11px}.summary-metrics strong{color:var(--ink);font-family:var(--serif);margin-right:5px;font-size:22px}.topic-overview{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.topic-overview .card{padding:15px 17px}.topic-overview h3{font-family:var(--serif);margin-bottom:2px;font-size:17px}.topic-overview p{color:var(--muted);margin:0;font-size:10px}.split-panel{grid-template-columns:minmax(0,1.7fr) minmax(300px,.7fr);gap:28px;display:grid}.groups-layout{grid-template-columns:minmax(0,1fr) 320px;gap:28px;display:grid}.group-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.group-card{flex-direction:column;gap:10px;padding:19px;display:flex}.group-card h3,.group-card p{margin:0}.group-card h3{font-family:var(--serif);font-size:20px}.group-card p{min-height:34px;color:var(--muted);font-size:11px}.group-counts{color:var(--muted);gap:14px;font-size:10px;display:flex}.generation-layout{grid-template-columns:minmax(0,.95fr) minmax(420px,1.05fr);align-items:start;gap:28px;display:grid}.generation-form{padding:25px}.generation-status{border:1px solid var(--green);background:var(--green-pale);border-radius:10px;justify-content:space-between;align-items:center;gap:14px;padding:13px 14px;display:flex}.generation-status strong,.generation-status span{display:block}.generation-status strong{font-size:12px}.generation-status span{color:var(--muted);margin-top:3px;font-size:10px}.generation-status .button{flex:none}.generation-hint{color:var(--muted);margin:-7px 0 0;font-size:10px;line-height:1.5}.group-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.choice span{flex-direction:column;gap:2px;display:flex}.choice small{color:var(--muted);font-size:9px}.root-toggle{margin-bottom:18px}.resource-preflight{min-width:0}.resource-list{flex-direction:column;gap:8px;display:flex}.resource-row{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:10px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;padding:14px 16px;display:grid}.resource-row.disabled{opacity:.62;cursor:not-allowed}.resource-row>div>strong,.resource-row>div>span{display:block}.resource-row>div>span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.resource-count{color:var(--muted);white-space:nowrap;font-size:10px}.inline-badges{flex-wrap:wrap;gap:5px;margin-top:7px;display:flex}.retained-preview{background:var(--green-pale);justify-content:space-between;align-items:center;margin-top:18px;padding:18px;display:flex}.retained-preview h3,.retained-preview p{margin:0}.dialog-backdrop{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#141c1994;place-items:center;padding:3vh 3vw;display:grid;position:fixed;inset:0}.dialog-panel{border:1px solid var(--line);background:var(--surface);border-radius:16px;grid-template-rows:auto minmax(0,1fr) auto;width:min(1500px,94vw);height:min(900px,92vh);display:grid;overflow:hidden;box-shadow:0 24px 80px #00000047}.dialog-header,.dialog-footer{justify-content:space-between;align-items:center;gap:20px;padding:18px 22px;display:flex}.dialog-header{border-bottom:1px solid var(--line)}.dialog-header h2,.dialog-header p{margin:0}.dialog-header>div>p:last-child{color:var(--muted);margin-top:3px}.dialog-footer{border-top:1px solid var(--line);background:var(--paper)}.dialog-body{min-height:0;overflow:hidden}.generation-review{grid-template-columns:235px minmax(380px,1fr) minmax(300px,.8fr);height:100%;display:grid}.preview-navigator,.preview-editor,.evidence-panel{min-height:0;padding:20px;overflow-y:auto}.preview-navigator{border-right:1px solid var(--line);background:var(--paper)}.preview-navigator>button{width:100%;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:flex-start;gap:10px;padding:11px;display:flex}.preview-navigator>button.active{background:var(--green-pale)}.preview-navigator>button>span{border:1px solid var(--line);border-radius:50%;flex:0 0 24px;place-items:center;height:24px;font-size:10px;display:grid}.preview-navigator strong,.preview-navigator small{display:block}.preview-navigator strong{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:11px;display:-webkit-box;overflow:hidden}.preview-navigator small{color:var(--muted);margin-top:3px;font-size:9px}.preview-editor{padding:24px 28px}.preview-editor .field{margin-bottom:15px}.preview-question{min-height:170px;font-size:15px;line-height:1.55}.evidence-panel{border-left:1px solid var(--line);background:var(--paper);flex-direction:column;gap:10px;display:flex}.evidence-panel h3{font-family:var(--serif);margin:2px 0 10px;font-size:20px}.evidence-source{border:1px solid var(--line);background:var(--surface);border-radius:9px}.evidence-source summary{cursor:pointer;align-items:flex-start;gap:10px;padding:12px;display:flex}.evidence-source summary::marker{display:none}.evidence-source strong,.evidence-source small{display:block}.evidence-source small{color:var(--muted);margin-top:3px;font-size:9px}.evidence-source p{color:var(--muted);white-space:pre-wrap;margin:0;padding:0 13px 14px;font-size:11px;line-height:1.55}.preset-card{background:linear-gradient(145deg, var(--surface), var(--green-pale));margin-bottom:28px;padding:24px}.preset-heading{grid-template-columns:auto 1fr auto;align-items:start;gap:16px;display:grid}.preset-heading h2,.preset-heading p{margin:0}.preset-heading>div>p:last-child{color:var(--muted);margin-top:5px}.preset-icon{background:var(--green);color:#fff;border-radius:11px;place-items:center;width:44px;height:44px;display:grid}.preset-course-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:20px 0;display:grid}.preset-course{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:10px;grid-template-columns:auto 1fr;gap:10px;padding:14px;display:grid}.preset-course.selected{border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}.preset-course.installed{cursor:default;opacity:.78}.preset-course strong,.preset-course small,.preset-course>span:last-of-type{display:block}.preset-course small,.preset-course>span:last-of-type{color:var(--muted);font-size:9px}.preset-course>span:last-of-type{grid-column:2}.preset-footer{justify-content:space-between;align-items:center;gap:20px;display:flex}.preset-footer strong,.preset-footer small{display:block}.preset-footer small{max-width:760px;color:var(--muted);margin-top:4px;font-size:9px}.preset-progress{margin-top:18px}.preset-progress>div:first-child{justify-content:space-between;margin-bottom:7px;font-size:10px;display:flex}.upload-group-picker{flex-wrap:wrap;grid-column:1/-1;gap:7px;display:flex}.upload-scope{white-space:nowrap}.side-form{height:fit-content;padding:22px}.side-form h2{font-size:22px}.side-form .field{margin-bottom:15px}.topic-tree{flex-direction:column;gap:8px;display:flex}.topic-row{justify-content:space-between;align-items:center;padding:13px 15px;display:flex}.topic-row h3,.topic-row p{margin:0}.topic-row h3{font-family:var(--serif);font-size:17px}.topic-row p{color:var(--muted);font-size:10px}.danger-zone{border-color:var(--red)}@supports (color:color-mix(in lab, red, red)){.danger-zone{border-color:color-mix(in srgb, var(--red) 25%, var(--line))}}.danger-zone p{color:var(--muted);font-size:12px}.upload-zone{border:1px dashed var(--line-strong);background:var(--surface);grid-template-columns:auto minmax(220px,1fr) minmax(180px,240px) auto;align-items:center;gap:17px;margin-bottom:33px;padding:25px;display:grid}@supports (color:color-mix(in lab, red, red)){.upload-zone{background:color-mix(in srgb, var(--surface) 72%, var(--green-pale))}}.upload-zone{box-shadow:none;transition:border .14s,background .14s}.upload-zone.dragging{border-color:var(--green);background:var(--green-pale)}.upload-icon,.file-icon{background:var(--green-pale);width:44px;height:44px;color:var(--green);border-radius:10px;place-items:center;display:grid}.upload-zone h2{margin:0;font-size:19px}.upload-zone p{color:var(--muted);margin:2px 0 0;font-size:11px}.document-list{flex-direction:column;gap:8px;display:flex}.document-row{min-height:72px;box-shadow:none;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:15px;padding:12px 17px;display:grid;position:relative}.document-row:hover{border-color:var(--line-strong);background:var(--surface-raised)}.file-icon{width:38px;height:38px;color:var(--gold)}.file-icon svg{width:18px}.document-main{min-width:0}.document-main h3{font-family:var(--serif);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:16px;overflow:hidden}.document-main p,.document-row>span:last-child{color:var(--muted);margin:1px 0 0;font-size:10px}.progress{background:var(--paper-deep);border-radius:0 0 12px 12px;height:2px;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.progress span{background:var(--gold);height:100%;display:block}.back-link{color:var(--muted);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;margin-bottom:22px;font-size:12px;font-weight:700;display:flex}.document-detail section>.card{padding:23px}.document-text{max-height:70vh;color:var(--ink);font-family:var(--serif);white-space:pre-wrap;font-size:15px;line-height:1.75;overflow:auto}.document-editor{min-height:65vh;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.6}.metadata-list{margin:0}.metadata-list div{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:15px;padding:10px 0;font-size:11px;display:flex}.metadata-list div:last-child{border:0}.metadata-list dt{color:var(--muted)}.metadata-list dd{text-align:right;margin:0}.chunk-mini{border-bottom:1px solid var(--line);flex-direction:column;padding:8px 0;font-size:10px;display:flex}.chunk-mini span{color:var(--muted)}.practice-toolbar{justify-content:space-between;gap:20px;margin-bottom:23px;display:flex}.practice-toolbar .input{width:220px}.study-item-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.study-item-card{flex-direction:column;min-height:242px;padding:20px;display:flex}.study-item-card h2{margin:21px 0 7px;font-size:21px}.study-item-card>p{color:var(--muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:12px;display:-webkit-box;overflow:hidden}.study-card-footer{border-top:1px solid var(--line);color:var(--faint);justify-content:space-between;align-items:center;margin-top:auto;padding-top:14px;font-size:10px;display:flex}.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.choice{border:1px solid var(--line);min-height:38px;color:var(--muted);cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:8px 10px;font-size:11px;font-weight:700;display:flex}.choice.active{border-color:var(--green);background:var(--green-pale);color:var(--green)}.preview-list{flex-direction:column;gap:10px;display:flex}.preview-list .card{flex-direction:column;gap:9px;padding:16px;display:flex}.source-count{color:var(--green);align-items:center;gap:5px;margin:0;font-size:10px;font-weight:700;display:flex}.session-page{z-index:100;background:var(--paper);position:fixed;inset:0;overflow-y:auto}.session-header{z-index:3;border-bottom:1px solid var(--line);background:var(--paper);grid-template-columns:1fr minmax(230px,420px) 1fr;align-items:center;height:72px;padding:0 34px;display:grid;position:sticky;top:0}@supports (color:color-mix(in lab, red, red)){.session-header{background:color-mix(in srgb, var(--paper) 90%, transparent)}}.session-header{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.session-header>.button{justify-self:end}.session-progress{color:var(--muted);align-items:center;gap:10px;font-size:10px;font-weight:700;display:flex}.session-progress>div{background:var(--paper-deep);border-radius:5px;flex:1;height:4px;overflow:hidden}.session-progress i{background:var(--green);height:100%;display:block}.session-content{width:min(830px,100% - 40px);margin:0 auto;padding:45px 0 90px}.session-meta{align-items:center;gap:8px;margin-bottom:13px;display:flex}.session-meta>span:last-child{color:var(--faint);align-items:center;gap:4px;margin-left:auto;font-size:10px;display:flex}.question-card{padding:clamp(25px,5vw,48px)}.question-card>h1{margin:9px 0 31px;font-size:clamp(27px,4vw,40px);line-height:1.2}.answer-editor{background:var(--paper);min-height:230px;font-family:var(--serif);font-size:16px;line-height:1.7}.confidence-control{color:var(--muted);grid-template-columns:auto 1fr 40px;align-items:center;gap:13px;margin:18px 0;font-size:11px;display:grid}.confidence-control input{accent-color:var(--green)}.session-actions{justify-content:space-between;margin-top:23px}.session-actions>span{max-width:240px;color:var(--faint);text-align:right;font-size:9px}.mcq-options{flex-direction:column;gap:9px;display:flex}.mcq-options label{border:1px solid var(--line);cursor:pointer;border-radius:9px;align-items:center;gap:12px;padding:14px;display:flex}.mcq-options label.selected{border-color:var(--green);background:var(--green-pale)}.mcq-options input{accent-color:var(--green)}.feedback-reveal{animation:.22s both reveal}@keyframes reveal{0%{opacity:0;transform:translateY(5px)}}.reveal-heading{background:var(--green-pale);border-radius:10px;align-items:flex-start;gap:13px;padding:19px;display:flex}.reveal-heading>svg{background:var(--green);color:var(--surface);border-radius:50%;padding:4px}.reveal-heading h2{margin:0;font-size:22px}.feedback-list,.expected-answer,.sources-block{border-top:1px solid var(--line);margin-top:22px;padding-top:20px}.feedback-list h3{font-family:var(--serif);font-size:18px}.feedback-list li{color:var(--muted);margin-bottom:7px;font-size:12px}.expected-answer{border:1px solid var(--line);background:var(--paper);border-radius:9px;padding:19px}.expected-answer p:last-child{font-family:var(--serif);margin:0;font-size:16px;line-height:1.65}.citation-list{flex-direction:column;gap:6px;display:flex}.citation-list button{border:1px solid var(--line);background:var(--surface);color:var(--ink);text-align:left;cursor:pointer;border-radius:8px;align-items:center;gap:12px;padding:10px;display:flex}.citation-list button:hover{border-color:var(--green)}.citation-list button>span{color:var(--gold);font-family:var(--serif);font-size:16px}.citation-list strong,.citation-list small{display:block}.citation-list strong{font-size:11px}.citation-list small{color:var(--muted);font-size:9px}.rating-block{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;margin-top:27px;padding-top:23px;display:flex}.rating-block h3{font-family:var(--serif);margin:0;font-size:18px}.drawer-backdrop{z-index:200;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0d171480;position:fixed;inset:0}.citation-drawer{background:var(--surface);width:min(510px,92vw);padding:30px;animation:.18s both drawer;position:absolute;top:0;bottom:0;right:0;overflow-y:auto;box-shadow:-20px 0 50px #00000026}@keyframes drawer{0%{transform:translate(100%)}}.drawer-header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.drawer-header h2{font-size:26px}.citation-meta{color:var(--gold);letter-spacing:.08em;text-transform:uppercase;margin:20px 0 9px;font-size:10px;font-weight:800}.citation-drawer blockquote{border-left:3px solid var(--gold);background:var(--paper);font-family:var(--serif);margin:0;padding:22px;font-size:16px;line-height:1.75}.quality-actions{flex-wrap:wrap;gap:7px;margin-top:24px;display:flex}.quality-actions>span{width:100%;color:var(--muted);font-size:11px}.exam-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;display:grid}.exam-card{grid-template-columns:auto 1fr auto;align-items:center;gap:20px;padding:22px;display:grid}.exam-time{background:var(--green-pale);width:82px;height:82px;color:var(--green);border-radius:50%;align-content:center;place-items:center;display:grid}.exam-time svg{width:15px}.exam-time strong{font-family:var(--serif);font-size:25px;line-height:1}.exam-time span{text-transform:uppercase;font-size:8px;font-weight:800}.exam-card h2{margin-bottom:2px;font-size:22px}.exam-card p:not(.eyebrow),.exam-card div>span{color:var(--muted);margin:0;font-size:10px}.exam-paper{padding:32px}.exam-question{border:1px solid var(--line);border-radius:9px;margin-top:25px;padding:25px;position:relative}.exam-question>span{color:var(--gold);text-transform:uppercase;font-size:9px;font-weight:800}.exam-question h3{max-width:800px;font-family:var(--serif);margin:9px 0 0;font-size:19px}.exam-question>strong{color:var(--muted);font-size:10px;position:absolute;top:20px;right:20px}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;display:grid}.settings-grid>.card{padding:24px}.setting-status{justify-content:space-between;align-items:flex-start;display:flex}.path-value{overflow-wrap:anywhere;max-width:280px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px}.muted{color:var(--muted)}code{background:var(--paper-deep);border-radius:4px;padding:2px 5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em}.search-page-form{border:1px solid var(--line);background:var(--surface);border-radius:11px;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;margin-bottom:25px;padding:13px;display:grid}.search-results{flex-direction:column;gap:9px;display:flex}.search-result{box-shadow:none;grid-template-columns:105px 1fr;gap:18px;padding:18px;display:grid}.search-result h2{margin:0 0 3px;font-size:19px}.search-result p{color:var(--muted);margin:0;font-size:11px}.search-result mark{background:var(--gold-pale);color:var(--ink);padding:0 2px}.empty-state{border:1px dashed var(--line-strong);min-height:265px;color:var(--muted);text-align:center;border-radius:12px;align-content:center;place-items:center;padding:30px;display:grid}.empty-mark{background:var(--green-pale);width:49px;height:49px;color:var(--green);font-family:var(--serif);border-radius:50%;place-items:center;margin-bottom:14px;font-size:24px;display:grid}.empty-state h3{color:var(--ink);font-family:var(--serif);margin:0 0 5px;font-size:21px}.empty-state p{max-width:390px;font-size:12px}.skeleton-stack{flex-direction:column;gap:10px;display:flex}.skeleton{background:linear-gradient(90deg, var(--paper-deep), var(--surface), var(--paper-deep));background-size:200% 100%;border-radius:10px;height:72px;animation:1.3s linear infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}.spin{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.inline-spinner{border:2px solid var(--line);border-top-color:var(--green);border-radius:50%;width:12px;height:12px}.splash{min-height:100vh;color:var(--muted);place-content:center;place-items:center;gap:15px;display:grid}.splash .brand-mark{width:58px;height:58px;font-size:32px}.onboarding{grid-template-columns:minmax(340px,.86fr) minmax(520px,1.14fr);min-height:100vh;display:grid}.onboarding-hero{background:var(--green);color:#f7f2e9;flex-direction:column;justify-content:space-between;padding:48px clamp(35px,6vw,82px);display:flex;position:relative;overflow:hidden}.onboarding-hero:after{content:"";border:1px solid #ffffff1f;border-radius:50%;width:510px;height:510px;position:absolute;bottom:-180px;right:-180px;box-shadow:0 0 0 70px #ffffff08,0 0 0 140px #ffffff05}.onboarding-hero .brand-mark{color:#355f55;background:#f5f1e8}.hero-copy{z-index:1;margin:auto 0;position:relative}.hero-copy .eyebrow{color:#d5b27d}.hero-copy h1{letter-spacing:-.04em;max-width:540px;margin-bottom:28px;font-size:clamp(43px,5vw,70px);line-height:1.02}.hero-copy h1 em{color:#d9bd91;font-weight:400}.hero-copy>p:last-child{color:#ffffffb3;max-width:460px;font-size:15px}.privacy-pill{z-index:1;background:#ffffff12;border:1px solid #ffffff29;border-radius:999px;align-items:center;gap:8px;width:fit-content;padding:9px 13px;font-size:11px;display:flex;position:relative}.onboarding-panel{background:var(--surface);align-content:center;padding:55px clamp(35px,8vw,120px);display:grid}.onboarding-content{width:min(590px,100%);animation:.23s both reveal}.onboarding-content>h2{margin-bottom:14px;font-size:clamp(31px,4vw,45px);line-height:1.08}.onboarding-content>p:not(.eyebrow){color:var(--muted)}.principle-list{flex-direction:column;gap:16px;margin:31px 0;display:flex}.principle-list>div{align-items:flex-start;gap:14px;display:flex}.principle-list svg{width:19px;color:var(--gold)}.principle-list strong,.principle-list span{display:block}.principle-list strong{color:var(--ink);font-size:12px}.principle-list span{color:var(--muted);font-size:11px}.onboarding-content .button-row{margin-top:25px}.step-dots{gap:6px;margin-bottom:35px;display:flex}.step-dots span{background:var(--line);border-radius:4px;width:23px;height:3px}.step-dots span.active{background:var(--green)}.mobile-only{display:none}@media (width<=1080px){.metric-grid,.course-grid,.study-item-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid,.generation-layout,.groups-layout,.split-panel{grid-template-columns:minmax(0,1fr)}.today-side{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.upload-zone{grid-template-columns:auto 1fr auto}.upload-zone .input{grid-column:2/-1}.onboarding{grid-template-columns:1fr}.onboarding-hero{min-height:480px}}@media (width<=760px){.group-grid,.preset-course-grid{grid-template-columns:1fr}.preset-heading{grid-template-columns:auto 1fr}.preset-heading>.badge{grid-column:2;width:fit-content}.preset-footer{flex-direction:column;align-items:flex-start}.dialog-backdrop{padding:0}.dialog-panel{border:0;border-radius:0;width:100vw;height:100dvh}.generation-review{grid-template-columns:1fr;overflow-y:auto}.preview-navigator{border-right:0;border-bottom:1px solid var(--line);display:flex;overflow-x:auto}.preview-navigator .eyebrow{display:none}.preview-navigator>button{min-width:190px}.preview-editor,.evidence-panel{overflow:visible}.evidence-panel{border-top:1px solid var(--line);border-left:0}.dialog-body{overflow-y:auto}.mobile-only{display:grid}.sidebar{transition:transform .18s;transform:translate(-105%)}.sidebar-open{transform:translate(0);box-shadow:20px 0 50px #0003}.app-main{margin-left:0}.topbar{height:64px;padding:0 14px}.global-search{flex:1;width:auto}.global-search kbd{display:none}.content{padding:28px 18px 65px}.page-header{flex-direction:column;align-items:flex-start}.metric-grid,.course-grid,.study-item-grid,.chart-grid,.settings-grid,.exam-grid,.form-grid,.today-side{grid-template-columns:1fr}.recommendation{grid-template-columns:5px 1fr}.recommendation>.button,.recommendation>a{grid-column:2;justify-self:start}.course-stats{justify-content:space-between}.upload-zone{grid-template-columns:auto 1fr}.upload-zone .input,.upload-zone .button{grid-column:1/-1}.document-row{grid-template-columns:auto 1fr auto}.document-row>span:last-child{display:none}.practice-toolbar,.rating-block{flex-direction:column;align-items:stretch}.practice-toolbar .input{width:100%}.session-header{grid-template-columns:auto 1fr auto;padding:0 14px}.session-header .brand span:last-child{display:none}.session-header .button{width:40px;padding:0;font-size:0}.session-content{width:calc(100% - 24px);padding-top:20px}.question-card{padding:22px 18px}.session-actions{flex-direction:column;align-items:stretch}.session-actions>span{text-align:left}.rating-buttons{flex-wrap:wrap}.exam-card{grid-template-columns:auto 1fr}.exam-card>.button{grid-column:1/-1}.onboarding-hero{min-height:420px;padding:32px 27px}.hero-copy h1{font-size:44px}.onboarding-panel{padding:45px 24px 70px}}.exam-workspace{background:var(--background);min-height:100vh;color:var(--foreground)}.selection-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px;display:grid}.selection-card,.checkbox-row{cursor:pointer;align-items:center;gap:10px;display:flex}.selection-card{border:1px solid var(--border);background:var(--background);border-radius:10px;padding:12px}.selection-card.selected{border-color:var(--primary);background:var(--primary)}@supports (color:color-mix(in lab, red, red)){.selection-card.selected{background:color-mix(in srgb, var(--primary) 8%, var(--card))}}.selection-card span{display:grid}.selection-card small{color:var(--muted-foreground)}.suggestion-row{border-top:1px solid var(--border);justify-content:space-between;align-items:start;gap:10px;padding-top:10px;display:flex}.suggestion-row>span{gap:3px;display:grid}.suggestion-row small{color:var(--muted-foreground)}.note-preview{border-bottom:1px solid var(--border);padding:10px 0}.note-preview p{color:var(--muted-foreground);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:4px 0 0;display:-webkit-box;overflow:hidden}.exam-toolbar{border-bottom:1px solid var(--border);background:var(--card);z-index:20;align-items:center;gap:22px;min-height:74px;padding:12px 24px;display:flex;position:sticky;top:0}.exam-toolbar .brand{margin-right:auto}.exam-clock,.autosave-state{align-items:center;gap:10px;display:flex}.exam-clock div{display:grid}.exam-clock small{color:var(--muted-foreground);font-size:.72rem}.exam-clock strong{font-variant-numeric:tabular-nums;font-size:1.08rem}.autosave-state{color:var(--muted-foreground);font-size:.82rem}.autosave-state>span{background:var(--success);border-radius:50%;width:8px;height:8px}.autosave-state.saving>span{background:var(--accent)}.autosave-state.error{color:var(--danger)}.autosave-state.error>span{background:var(--danger)}.exam-layout{grid-template-columns:230px minmax(0,1fr);min-height:calc(100vh - 74px);display:grid}.exam-navigator{border-right:1px solid var(--border);background:var(--card);padding:28px 18px}@supports (color:color-mix(in lab, red, red)){.exam-navigator{background:color-mix(in srgb, var(--card) 82%, var(--background))}}.exam-navigator>button{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;grid-template-columns:30px 1fr auto;align-items:center;gap:10px;padding:11px;display:grid}.exam-navigator>button:hover,.exam-navigator>button.active{background:var(--secondary)}.exam-navigator>button>span{border:1px solid var(--border);border-radius:50%;place-items:center;width:28px;height:28px;font-weight:700;display:grid}.exam-navigator button div{display:grid}.exam-navigator button small{color:var(--muted-foreground)}.exam-answer-area{width:min(100%,1040px);margin:0 auto;padding:52px clamp(24px,6vw,80px)}.exam-question-heading{justify-content:space-between;align-items:start;gap:24px;margin-bottom:28px;display:flex}.exam-question-heading h1{font-family:var(--font-serif);max-width:820px;font-size:clamp(1.55rem,3vw,2.35rem);line-height:1.28}.exam-editor{resize:vertical;background:var(--card);min-height:52vh;line-height:1.7}.exam-answer-footer{color:var(--muted-foreground);align-items:center;gap:12px;padding:14px 0 28px;display:flex}.exam-answer-footer>div{gap:8px;margin-left:auto;display:flex}@media (width<=820px){.exam-toolbar{flex-wrap:wrap}.exam-layout{grid-template-columns:1fr}.exam-navigator{border-right:0;border-bottom:1px solid var(--border);gap:6px;padding:12px;display:flex;overflow-x:auto}.exam-navigator .eyebrow,.exam-navigator button div{display:none}.exam-navigator>button{grid-template-columns:auto auto;width:auto}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.more-nav summary{cursor:pointer;list-style:none}.more-nav summary::-webkit-details-marker{display:none}.more-nav summary svg:last-child{margin-left:auto;transition:transform .18s}.more-nav[open] summary svg:last-child{transform:rotate(180deg)}.more-nav>div{gap:3px;padding:3px 0 8px 14px;display:grid}.nav-link.sub{min-height:40px;font-size:.9rem}.quick-today{max-width:1180px;margin:0 auto}.continue-study{width:100%;color:var(--surface-raised);background:linear-gradient(120deg, var(--green-hover), var(--green));text-align:left;cursor:pointer;box-shadow:var(--shadow);border:0;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;margin-bottom:34px;padding:22px 26px;display:grid}.continue-study:hover{transform:translateY(-1px)}.continue-study>span:nth-child(2){display:grid}.continue-study small,.continue-study em{opacity:.78;font-style:normal}.continue-study strong{font-family:var(--serif);font-size:1.45rem;font-weight:500}.continue-study>.button{color:var(--green);background:var(--surface-raised)}.continue-icon{background:#ffffff24;border-radius:16px;place-items:center;width:50px;height:50px;display:grid}.continue-arrow{font-weight:700}.quick-course-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.quick-course-card{flex-direction:column;min-height:280px;padding:24px;transition:transform .18s,box-shadow .18s;display:flex}.quick-course-card:hover{transform:translateY(-3px);box-shadow:0 14px 42px #1f2d291c}.quick-course-heading{justify-content:space-between;align-items:start;margin-bottom:22px;display:flex}.status-dot{background:var(--green);width:11px;height:11px;box-shadow:0 0 0 5px var(--green-pale);border-radius:999px}.status-dot[data-state=review]{background:var(--gold);box-shadow:0 0 0 5px var(--gold-pale)}.quick-course-card h2{margin-bottom:20px;font-size:1.65rem}.quick-course-facts{color:var(--muted);gap:22px;margin-top:auto;display:flex}.quick-course-facts span{font-size:.8rem;display:grid}.quick-course-facts strong{color:var(--ink);font-size:1.15rem}.mini-progress{background:var(--paper-deep);border-radius:999px;height:6px;margin:20px 0 10px;overflow:hidden}.mini-progress span{background:var(--green);border-radius:inherit;height:100%;display:block}.course-study-page{max-width:1040px;margin:0 auto}.study-course-header{justify-content:space-between;align-items:start;gap:24px;margin-bottom:28px;display:flex}.study-course-header h1{margin-bottom:8px;font-size:clamp(2.2rem,5vw,3.7rem)}.study-course-header p:last-child{color:var(--muted)}.week-study-card{padding:clamp(24px,5vw,48px)}.week-study-title{justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px;display:flex}.week-study-title h2{margin:0;font-size:clamp(1.65rem,3.5vw,2.35rem)}.week-study-title>span{color:var(--muted)}.week-shortcuts{flex-wrap:wrap;gap:9px;margin-bottom:22px;display:flex}.week-selector{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:22px;display:grid}.week-chip{border:1px solid var(--line);min-height:76px;color:var(--ink);background:var(--surface);cursor:pointer;border-radius:14px;align-content:center;gap:2px;transition:border .15s,background .15s,transform .15s;display:grid}.week-chip:hover{border-color:var(--green);transform:translateY(-1px)}.week-chip.selected{color:var(--green-hover);border:2px solid var(--green);background:var(--green-pale)}.week-chip span{font-weight:750}.week-chip small{color:var(--muted);font-size:.74rem}.start-quiz-block{justify-items:center;gap:14px;margin-top:34px;display:grid}.start-quiz-button{border-radius:16px;justify-content:center;width:min(100%,440px);min-height:62px;font-size:1.08rem}.add-notes-link{color:var(--green);cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;font-weight:700;display:inline-flex}.weekly-notes-form{gap:18px;display:grid}.weekly-drop-zone{border:2px dashed var(--line-strong);min-height:210px;color:var(--muted);cursor:pointer;text-align:center;border-radius:18px;align-content:center;place-items:center;gap:8px;display:grid;position:relative}.weekly-drop-zone:hover{border-color:var(--green);background:var(--green-pale)}.weekly-drop-zone svg{color:var(--green);width:34px;height:34px}.weekly-drop-zone strong{color:var(--ink);font-size:1.05rem}.weekly-drop-zone input{opacity:0;cursor:pointer;position:absolute;inset:0}.teaching-material-card{margin-top:18px}.teaching-material-card h2{margin-bottom:8px}.teaching-material-card>div:first-child>p:last-child{color:var(--muted)}.quiz-building{text-align:center;align-content:center;place-items:center;gap:12px;max-width:700px;min-height:100vh;margin:0 auto;padding:32px;display:grid}.quiz-building h1{margin-bottom:0;font-size:clamp(2rem,5vw,3.4rem)}.quiz-building>p:not(.eyebrow){color:var(--muted);max-width:560px}.quiz-build-details{border:1px solid var(--line);width:min(560px,100%);color:var(--muted);background:var(--paper);text-align:left;border-radius:12px;padding:10px 14px}.quiz-build-details summary{cursor:pointer;min-height:32px;font-weight:750}.quiz-build-details code{color:var(--red);white-space:normal;padding-top:8px;font-size:.78rem;display:block}.build-mark{background:var(--green);color:#fff;width:70px;height:70px;font-family:var(--serif);border-radius:22px;place-items:center;font-size:2rem;display:grid}.build-mark.failed{background:var(--red)}.quick-quiz-page{min-height:100vh}.quick-quiz-page .session-header>div:first-child{min-width:180px;display:grid}.quick-quiz-page .session-header small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;max-width:300px;overflow:hidden}.quick-question-wrap{width:min(100% - 36px,820px);margin:0 auto;padding:clamp(38px,7vh,80px) 0 60px}.question-count{color:var(--muted);margin-bottom:18px;font-weight:750}.quick-question-wrap>h1{font-family:var(--serif);margin-bottom:34px;font-size:clamp(1.65rem,3.4vw,2.5rem);line-height:1.32}.quick-options{gap:12px;display:grid}.quick-option{border:1px solid var(--line);background:var(--surface);width:100%;min-height:68px;color:var(--ink);text-align:left;cursor:pointer;box-shadow:0 2px 0 var(--line);border-radius:15px;grid-template-columns:36px 1fr;align-items:center;gap:14px;padding:12px 18px;display:grid}.quick-option:hover{border-color:var(--green)}.quick-option.selected{border:2px solid var(--green);background:var(--green-pale);box-shadow:0 2px 0 var(--green)}.quick-option kbd{background:var(--paper-deep);width:32px;height:32px;color:var(--muted);border-radius:9px;place-items:center;font-weight:800;display:grid}.quick-option.selected kbd{background:var(--green);color:#fff}.quick-confidence{flex-wrap:wrap;align-items:center;gap:9px;margin:24px 0 0;display:flex}.quick-confidence>span{margin-right:8px;font-weight:700}.quick-confidence button{border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:999px;padding:8px 13px}.quick-confidence button.selected{background:var(--green-pale);border-color:var(--green);color:var(--green)}.quick-submit{justify-content:space-between;align-items:center;gap:18px;margin-top:28px;display:flex}.quick-submit>button:last-child{color:var(--muted);cursor:pointer;background:0 0;border:0}.keyboard-hint{opacity:.65;margin-left:8px;font-size:.78rem}.quick-feedback{border:1px solid var(--line);background:var(--surface);border-radius:20px;padding:clamp(24px,5vw,38px)}.quick-feedback.correct{border-top:5px solid var(--green)}.quick-feedback.incorrect{border-top:5px solid var(--gold)}.feedback-result{font-family:var(--serif);color:var(--green);margin-bottom:18px;font-size:2rem}.quick-feedback.incorrect .feedback-result{color:var(--gold)}.answer-comparison{background:var(--gold-pale);border-radius:12px;padding:16px;line-height:1.7}.feedback-explanation{max-width:680px;font-size:1.05rem;line-height:1.7}.feedback-badges{flex-wrap:wrap;gap:8px;margin:18px 0;display:flex}.boundary-explanation{background:var(--gold-pale);border-radius:14px;gap:6px;margin-top:18px;padding:18px;display:grid}.boundary-explanation .eyebrow{margin-top:8px}.boundary-explanation .eyebrow:first-child{margin-top:0}.boundary-explanation small{color:var(--muted);margin-top:8px;line-height:1.55}.feedback-actions{justify-content:space-between;align-items:center;gap:14px;margin-top:26px;display:flex}.feedback-source-list{flex-wrap:wrap;gap:8px;display:flex}.feedback-source-list button{color:var(--green);cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;font-weight:700;display:inline-flex}.quick-summary{max-width:920px;margin:0 auto;padding:30px 0 60px}.summary-celebration{text-align:center;justify-items:center;display:grid}.summary-celebration>span{color:#fff;background:var(--green);border-radius:22px;place-items:center;width:70px;height:70px;margin-bottom:18px;display:grid}.summary-celebration h1{margin-bottom:8px;font-size:clamp(2.7rem,7vw,4.8rem)}.summary-score{margin:12px 0;display:grid}.summary-score strong{font-size:2rem}.summary-score span,.summary-celebration>p:last-child{color:var(--muted)}.challenge-score{background:var(--gold-pale);color:var(--gold);border-radius:999px;align-items:baseline;gap:8px;padding:9px 14px;display:inline-flex}.challenge-score span{color:var(--muted);font-size:.82rem}.summary-concepts{grid-template-columns:1fr 1fr;gap:18px;margin:36px 0 24px;display:grid}.summary-concepts .card{padding:26px}.summary-concepts ul{gap:10px;padding:0;list-style:none;display:grid}.summary-concepts li{align-items:center;gap:8px;display:flex}.summary-actions{justify-content:center;gap:12px;display:flex}.history-summary-actions{flex-wrap:wrap}.replay-summary-note,.replay-banner{color:var(--green);background:var(--green-pale);border-radius:999px;align-items:center;gap:8px;font-size:.85rem;display:inline-flex}.replay-summary-note{margin-top:15px;padding:9px 14px}.replay-banner{margin-bottom:22px;padding:9px 13px}.recent-quiz-section{margin-top:34px}.course-resume-prompt{border-color:var(--green);justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px;padding:20px 24px;display:flex}@supports (color:color-mix(in lab, red, red)){.course-resume-prompt{border-color:color-mix(in srgb, var(--green) 35%, var(--line))}}.course-resume-prompt{background:var(--green-pale)}.course-resume-prompt h2{margin:2px 0 4px}.course-resume-prompt span{color:var(--muted)}.quiz-history-page,.session-review-page{max-width:1040px;margin:0 auto}.quiz-history-list{gap:12px;display:grid}.quiz-history-card{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;padding:18px 20px;display:grid}.history-course-mark{color:#fff;border-radius:14px;place-items:center;width:44px;height:44px;font-weight:800;display:grid}.quiz-history-main{gap:4px;min-width:0;display:grid}.quiz-history-main>span,.quiz-history-main>small{color:var(--muted)}.quiz-history-title{align-items:center;gap:9px;display:flex}.quiz-history-title strong{text-overflow:ellipsis;white-space:nowrap;font-family:var(--serif);font-size:1.18rem;overflow:hidden}.quiz-history-action{justify-self:end}.history-filters{grid-template-columns:minmax(200px,1fr) minmax(180px,.6fr);gap:16px;margin-bottom:22px;padding:18px;display:grid}.history-filters .field{margin:0}.history-load-more{justify-content:center;padding:24px;display:flex}.review-summary-bar{grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0;padding:20px;display:grid}.review-summary-bar>div{justify-items:center;gap:3px;display:grid}.review-summary-bar strong{font-family:var(--serif);font-size:1.7rem;font-weight:500}.review-summary-bar span{color:var(--muted);font-size:.82rem}.review-toolbar{justify-content:space-between;align-items:center;margin:24px 0 14px;display:flex}.review-toolbar>div{border:1px solid var(--line);background:var(--surface);border-radius:12px;gap:6px;padding:4px;display:flex}.review-toolbar button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:8px 13px;font-weight:700}.review-toolbar button.selected{color:var(--surface-raised);background:var(--green)}.review-toolbar>span{color:var(--muted);font-size:.85rem}.review-question-list{gap:12px;display:grid}.review-question{border:1px solid var(--line);border-left:4px solid var(--gold);background:var(--surface);box-shadow:var(--shadow);border-radius:16px;overflow:hidden}.review-question.correct{border-left-color:var(--green)}.review-question summary{cursor:pointer;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:18px;list-style:none;display:grid}.review-question summary::-webkit-details-marker{display:none}.review-question summary>span{background:var(--paper);border-radius:10px;place-items:center;width:32px;height:32px;font-weight:800;display:grid}.review-question summary>div{gap:4px;min-width:0;display:grid}.review-question summary small{color:var(--muted)}.review-question summary strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.review-question summary>svg{transition:transform .18s}.review-question[open] summary>svg{transform:rotate(180deg)}.review-question-body{border-top:1px solid var(--line);gap:18px;padding:0 20px 22px 66px;display:grid}.review-answer-grid{grid-template-columns:1fr 1fr;gap:12px;padding-top:18px;display:grid}.review-answer-grid>div{background:var(--paper);border-radius:12px;gap:6px;padding:14px;display:grid}.review-answer-grid span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.78rem}.review-retry-card{justify-content:space-between;align-items:center;gap:24px;margin-top:28px;padding:24px;display:flex}.review-retry-card h2{margin:2px 0 6px}.review-retry-card p:last-child{color:var(--muted);margin:0}.weekly-progress-page{max-width:1020px;margin:0 auto}.simple-metrics{grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:28px;display:grid}.simple-metrics .card{gap:8px;padding:22px;display:grid}.simple-metrics span{color:var(--muted)}.simple-metrics strong{font-family:var(--serif);font-size:2rem;font-weight:500}.simple-metrics em{color:var(--muted);font-size:.85rem;font-style:normal}.weekly-course-progress{gap:14px;display:grid}.progress-course{padding:0;overflow:hidden}.progress-course-heading{width:100%;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:auto 1fr auto;align-items:center;gap:15px;padding:18px 22px;display:grid}.progress-course-heading>span:nth-child(2){display:grid}.progress-course-heading small{color:var(--muted)}.progress-week-list{border-top:1px solid var(--line)}.progress-week{border-bottom:1px solid var(--line)}.progress-week:last-child{border-bottom:0}.progress-week>button{background:var(--surface);width:100%;color:var(--ink);text-align:left;cursor:pointer;border:0;grid-template-columns:1fr 1fr auto;align-items:center;gap:14px;padding:15px 24px;display:grid}.progress-week>button>span:nth-child(2){color:var(--muted)}.progress-week-detail{background:var(--paper);color:var(--muted);padding:16px 24px 20px}.progress-week-detail p{margin-bottom:4px}.progress-week-detail a{color:var(--green);margin-top:8px;font-weight:750;display:inline-block}.tutor-page{border:1px solid var(--line);background:var(--surface);height:calc(100vh - 195px);min-height:620px;box-shadow:var(--shadow);border-radius:20px;grid-template-columns:250px minmax(0,1fr);display:grid;overflow:hidden}.tutor-thread-list{border-right:1px solid var(--line);background:var(--paper);min-width:0;padding:20px 12px;overflow-y:auto}@supports (color:color-mix(in lab, red, red)){.tutor-thread-list{background:color-mix(in srgb, var(--paper) 70%, var(--surface))}}.tutor-thread-heading{justify-content:space-between;align-items:center;gap:10px;padding:0 8px 18px;display:flex}.tutor-thread-heading-actions{align-items:center;gap:4px;display:flex}.tutor-thread-search{border:1px solid var(--line);min-height:42px;color:var(--muted);background:var(--surface);border-radius:11px;align-items:center;gap:8px;margin:0 4px 16px;padding:0 11px;display:flex}.tutor-thread-search input{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;outline:0}.tutor-mobile-only,.tutor-mobile-leading,.tutor-mobile-menu-button,.tutor-mobile-context-summary,.tutor-mobile-menu,.tutor-menu-backdrop,.tutor-thread-backdrop,.tutor-composer-context,.tutor-context-done{display:none}.tutor-thread-heading h1{margin:0;font-size:1.55rem}.tutor-thread-group{margin-bottom:20px}.tutor-thread-group h2{color:var(--faint);font-family:var(--sans);letter-spacing:.09em;text-transform:uppercase;margin:0 10px 7px;font-size:.69rem;font-weight:800}.tutor-thread{min-width:0;color:var(--muted);border-radius:11px;gap:2px;padding:10px 11px;display:grid}.tutor-thread:hover,.tutor-thread.active{background:var(--green-pale);color:var(--ink)}.tutor-thread span,.tutor-thread small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tutor-thread span{font-weight:750}.tutor-thread small,.tutor-thread-empty{color:var(--faint);font-size:.77rem}.tutor-thread-empty{padding:10px}.tutor-welcome{align-content:center;justify-items:start;width:min(560px,100% - 40px);margin:auto;padding:40px 0;display:grid}.tutor-welcome-mark,.tutor-empty-chat>div{width:54px;height:54px;color:var(--green);background:var(--green-pale);border-radius:17px;place-items:center;margin-bottom:16px;display:grid}.tutor-welcome h1{margin-bottom:10px;font-size:clamp(2.2rem,5vw,3.8rem)}.tutor-welcome>p:not(.eyebrow){max-width:520px;color:var(--muted)}.tutor-welcome .field{width:min(100%,440px);margin:18px 0}.tutor-privacy-note{font-size:.78rem;margin-top:18px!important}.tutor-conversation-view{background:var(--surface);flex-direction:column;min-width:0;min-height:0;display:flex}.tutor-chat-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;min-height:78px;padding:12px 20px;display:flex}.tutor-chat-header h1{margin:0;font-size:1.45rem}.tutor-chat-header .eyebrow{margin-bottom:2px}.tutor-chat-header form{gap:8px;display:flex}.tutor-title-button{color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.tutor-header-actions,.quiz-header-actions{justify-content:flex-end;align-items:center;gap:7px;display:flex}.quiz-header-actions{justify-self:end}.tutor-context-chips{border-bottom:1px solid var(--line);background:var(--paper);align-items:center;gap:7px;min-height:45px;padding:7px 20px;display:flex;overflow-x:auto}.tutor-context-chips span,.tutor-context-chips button{border:1px solid var(--line);color:var(--green);background:var(--surface);border-radius:999px;flex:none;align-items:center;gap:4px;padding:5px 9px;font-size:.74rem;font-weight:700;display:inline-flex}.tutor-context-chips button{cursor:pointer}.tutor-context-chips .warning{color:var(--gold);background:var(--gold-pale)}.tutor-context-chips .question-chip{color:var(--surface-raised);background:var(--green);border-color:var(--green)}.tutor-context-chips .edit-context-chip{color:var(--muted);background:0 0;border-color:#0000}.tutor-chat-layout{flex:1;grid-template-columns:minmax(0,1fr) auto;min-height:0;display:grid;position:relative}.tutor-chat-main{grid-template-rows:minmax(0,1fr) auto;min-width:0;min-height:0;display:grid}.tutor-messages{flex-direction:column;gap:18px;min-height:0;padding:28px clamp(18px,5vw,54px);display:flex;overflow-y:auto}.tutor-empty-chat{max-width:520px;color:var(--muted);text-align:center;align-self:center;place-items:center;margin:auto;display:grid}.tutor-empty-chat h2{color:var(--ink);margin-bottom:5px;font-size:1.8rem}.tutor-message{align-self:flex-start;gap:9px;max-width:min(720px,88%);display:grid}.tutor-message.user{align-self:flex-end}.tutor-message-body{border:1px solid var(--line);background:var(--paper);overflow-wrap:anywhere;border-radius:5px 17px 17px;min-width:0;padding:13px 16px;line-height:1.65}.tutor-message-body>:first-child{margin-top:0}.tutor-message-body>:last-child{margin-bottom:0}.tutor-message-body pre{background:var(--surface-raised);max-width:100%;color:var(--surface);border-radius:10px;padding:12px;overflow-x:auto}.tutor-message-body table{border-collapse:collapse;max-width:100%;display:block;overflow-x:auto}.tutor-message-body th,.tutor-message-body td{border:1px solid var(--line);text-align:left;padding:7px 9px}.tutor-message.user .tutor-message-body{border-color:var(--green);color:#fff;background:var(--green);border-radius:17px 5px 17px 17px}.tutor-message-meta{color:var(--muted);align-items:center;gap:7px;font-size:.73rem;font-weight:750;display:flex}.tutor-message.user .tutor-message-meta{justify-content:flex-end}.tutor-message.failed .tutor-message-body,.tutor-message.interrupted .tutor-message-body{border-color:var(--red)}.tutor-message-actions{min-height:32px;color:var(--muted);align-items:center;gap:4px;display:flex}.tutor-message-actions>button{width:34px;height:34px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:9px;place-items:center;padding:0;display:grid}.tutor-message-actions>button:hover{color:var(--ink);background:var(--paper)}.tutor-message-actions svg{width:16px;height:16px}.typing-caret{vertical-align:-.15em;background:var(--green);width:2px;height:1em;margin-left:3px;animation:.8s step-end infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}.tutor-sources{width:100%}.tutor-sources summary{color:var(--green);cursor:pointer;align-items:center;gap:6px;font-size:.78rem;font-weight:750;display:inline-flex}.tutor-sources>div{gap:7px;margin-top:9px;display:grid}.tutor-sources button{border:1px solid var(--line);color:var(--ink);background:var(--surface);text-align:left;cursor:pointer;border-radius:10px;grid-template-columns:auto 1fr;align-items:start;gap:9px;padding:10px;display:grid}.tutor-sources button>span{color:var(--green);font-weight:800}.tutor-sources button div{display:grid}.tutor-sources button small{color:var(--muted)}.tutor-composer-wrap{border-top:1px solid var(--line);background:var(--surface);gap:7px;padding:12px clamp(18px,5vw,54px) 18px;display:grid}@supports (color:color-mix(in lab, red, red)){.tutor-composer-wrap{background:color-mix(in srgb, var(--surface) 94%, transparent)}}.tutor-prompt-row{gap:7px;padding-bottom:2px;display:flex;overflow-x:auto}.tutor-prompt-row button{border:1px solid var(--line);color:var(--green);background:var(--surface);cursor:pointer;border-radius:999px;flex:none;padding:7px 11px;font-size:.76rem;font-weight:700}.tutor-prompt-row button:hover{border-color:var(--green);background:var(--green-pale)}.tutor-composer{border:1px solid var(--line-strong);background:var(--surface);box-shadow:var(--shadow);border-radius:17px;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;padding:7px 8px 7px 13px;display:grid}.tutor-composer:focus-within{border-color:var(--green)}.tutor-composer .textarea{resize:none;min-height:42px;max-height:150px;box-shadow:none;background:0 0;border:0;padding:8px 0}.tutor-send{color:#fff;background:var(--green);cursor:pointer;border:0;border-radius:12px;place-items:center;width:40px;height:40px;display:grid}.tutor-send:disabled{opacity:.45;cursor:default}.stop-square{background:currentColor;border-radius:2px;width:12px;height:12px}.tutor-composer-wrap>small{color:var(--faint);font-size:.7rem}.tutor-context-panel{border-left:1px solid var(--line);background:var(--surface);width:330px;padding:20px;display:none;overflow-y:auto}.tutor-context-panel.open{display:block}.tutor-context-backdrop{z-index:3;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);background:#0d17144d;border:0;position:absolute;inset:0}.tutor-context-heading{justify-content:space-between;align-items:start;gap:12px;display:flex}.tutor-context-heading h2{margin:0;font-size:1.35rem}.context-explainer{color:var(--muted);font-size:.78rem}.context-section{border-top:1px solid var(--line);padding:13px 0}.context-section summary{color:var(--ink);cursor:pointer;justify-content:space-between;align-items:center;gap:8px;font-weight:800;display:flex}.context-week-grid{grid-template-columns:repeat(4,1fr);gap:6px;margin-top:12px;display:grid}.context-week-grid label{position:relative}.context-week-grid input{opacity:0;position:absolute}.context-week-grid span{border:1px solid var(--line);min-height:34px;color:var(--muted);cursor:pointer;border-radius:9px;place-items:center;font-size:.76rem;font-weight:750;display:grid}.context-week-grid input:checked+span{border-color:var(--green);color:var(--green);background:var(--green-pale)}.context-clear{color:var(--green);cursor:pointer;background:0 0;border:0;margin-top:8px;padding:0;font-size:.73rem;font-weight:750}.context-check-list{gap:9px;margin-top:12px;display:grid}.context-check-list label{cursor:pointer;grid-template-columns:auto 1fr;align-items:start;gap:9px;display:grid}.context-check-list input{accent-color:var(--green);margin-top:4px}.context-check-list label>span{min-width:0;display:grid}.context-check-list small{color:var(--muted);font-size:.72rem}.context-check-list.compact{max-height:230px;overflow-y:auto}.tutor-drawer-backdrop{z-index:180;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0d17146b;position:fixed;inset:0}.tutor-drawer{background:var(--surface);width:min(720px,96vw);animation:.18s both drawer;position:absolute;inset:0 0 0 auto;overflow:hidden;box-shadow:-20px 0 60px #0003}.tutor-conversation-view.compact{height:100vh}.tutor-loading{padding:30px}.tutor-scroll-latest{z-index:5;border:1px solid var(--line);width:42px;height:42px;color:var(--ink);background:var(--surface);box-shadow:var(--shadow);cursor:pointer;border-radius:50%;place-items:center;display:grid;position:absolute;bottom:102px;right:50%;translate:50%}@media (width<=1100px){.tutor-context-panel{z-index:4;width:min(360px,92%);position:absolute;inset:0 0 0 auto;box-shadow:-16px 0 40px #00000024}}@media (width<=900px){.quick-course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.week-selector{grid-template-columns:repeat(4,minmax(0,1fr))}.tutor-page{grid-template-columns:210px minmax(0,1fr)}}@media (width<=640px){.quick-course-grid,.summary-concepts,.simple-metrics{grid-template-columns:1fr}.continue-study{grid-template-columns:auto 1fr;padding:18px}.continue-study>.button{grid-column:1/-1}.continue-arrow{display:none}.study-course-header,.week-study-title{display:grid}.study-course-header>a{justify-self:start}.week-selector{grid-template-columns:repeat(3,minmax(0,1fr))}.week-study-card{padding:20px}.quick-quiz-page .session-header{grid-template-columns:1fr auto}.quick-quiz-page .session-header>div:first-child{display:none}.quick-question-wrap{width:min(100% - 24px,820px);padding-top:32px}.quick-question-wrap>h1{font-size:1.55rem}.quick-option{min-height:62px;padding:10px 12px}.quick-submit,.feedback-actions,.summary-actions{flex-direction:column;align-items:stretch}.quick-submit>button,.feedback-actions>button,.summary-actions>button{justify-content:center}.progress-week>button{grid-template-columns:1fr auto}.progress-week>button>span:nth-child(2){display:none}.quiz-history-card{grid-template-columns:auto minmax(0,1fr)}.quiz-history-action{grid-column:1/-1;justify-self:stretch}.quiz-history-action .button,.quiz-history-action a{width:100%}.history-filters,.review-summary-bar,.review-answer-grid{grid-template-columns:1fr}.review-question summary{grid-template-columns:auto minmax(0,1fr) auto}.review-question summary .badge{display:none}.review-question-body{padding:0 16px 18px}.review-retry-card,.course-resume-prompt{flex-direction:column;align-items:stretch}.review-retry-card .button-row{display:grid}.tutor-page{border-radius:14px;min-height:calc(100vh - 145px);display:block}.tutor-thread-list{border-right:0;border-bottom:1px solid var(--line);gap:8px;padding:10px;display:flex;overflow-x:auto}.tutor-thread-heading{flex:0 0 145px;padding:4px}.tutor-thread-heading h1{font-size:1.15rem}.tutor-thread-group{flex:none;gap:6px;margin:0;display:flex}.tutor-thread-group h2{display:none}.tutor-thread{width:170px}.tutor-welcome{min-height:560px}.tutor-conversation-view:not(.compact){min-height:620px}.tutor-chat-header{align-items:flex-start;padding:11px 13px}.tutor-chat-header h1{text-overflow:ellipsis;white-space:nowrap;max-width:210px;font-size:1.15rem;overflow:hidden}.tutor-header-actions .button span{display:none}.tutor-header-actions .button{padding:9px}.tutor-context-chips{padding-inline:12px}.tutor-messages{padding:20px 13px}.tutor-message{max-width:94%}.tutor-composer-wrap{padding:10px 12px 12px}.tutor-drawer{width:100vw}.quiz-header-actions .button-secondary{gap:0;padding:9px;font-size:0}}.login-page{min-height:100dvh;padding:max(24px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left));background:radial-gradient(circle at 50% 20%, var(--green-pale), var(--paper) 48%);place-items:center;display:grid}.login-card h1{margin:0}.login-card>div>p:last-child{color:var(--muted)}.login-card{gap:28px;width:min(440px,100%);padding:clamp(26px,6vw,46px);display:grid}.login-card form .button{justify-content:center;width:100%}.mobile-bottom-nav,.mobile-more-backdrop{display:none}.sidebar-logout{color:var(--muted);cursor:pointer;background:0 0;border:0;margin-left:auto;padding:7px;font-size:.72rem}.study-structure-layout{grid-template-columns:minmax(0,1fr) 300px;gap:24px;display:grid}.structure-toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin:18px 0 12px;display:flex}.structure-toolbar>span{color:var(--muted);margin-right:4px;font-size:.8rem;font-weight:750}.study-unit-editor{gap:8px;margin:0;padding:0;list-style:none;display:grid}.study-unit-editor li{border:1px solid var(--line);background:var(--surface);min-width:0;box-shadow:var(--shadow);border-radius:13px;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;display:grid}.study-unit-editor li[draggable=true]{cursor:grab}.drag-handle{color:var(--faint);letter-spacing:-4px}.unit-ordinal{width:30px;height:30px;color:var(--green);background:var(--green-pale);border-radius:9px;place-items:center;font-weight:800;display:grid}.unit-actions{align-items:center;gap:4px;display:flex}.unit-actions>button:not(.button){border:1px solid var(--line);width:44px;height:44px;color:var(--ink);background:var(--paper);cursor:pointer;border-radius:10px}.unit-actions>button:disabled{opacity:.35}.archived-units>div{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding-top:8px;display:flex}@media (width<=760px){html,body,#root{max-width:100%;overflow-x:clip}.sidebar{display:none}.app-main{min-width:0}.topbar{z-index:40;height:58px;padding-top:env(safe-area-inset-top);position:sticky;top:0}.content{min-width:0;padding:22px 14px calc(92px + env(safe-area-inset-bottom))}.input,.textarea,select{font-size:16px}.button,.icon-button,.nav-link,button,input[type=file]{min-height:44px}.mobile-bottom-nav{z-index:120;padding:7px max(5px, env(safe-area-inset-right)) max(7px, env(safe-area-inset-bottom)) max(5px, env(safe-area-inset-left));border-top:1px solid var(--line);background:var(--surface);grid-template-columns:repeat(6,1fr);display:grid;position:fixed;inset:auto 0 0}@supports (color:color-mix(in lab, red, red)){.mobile-bottom-nav{background:color-mix(in srgb, var(--surface) 95%, transparent)}}.mobile-bottom-nav{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 -8px 28px #00000014}.mobile-bottom-nav a,.mobile-bottom-nav button{min-width:0;min-height:50px;color:var(--muted);background:0 0;border:0;border-radius:11px;align-content:center;place-items:center;gap:3px;font-size:.66rem;font-weight:750;text-decoration:none;display:grid}.mobile-bottom-nav a.active,.mobile-bottom-nav button.active{color:var(--green);background:var(--green-pale)}.mobile-more-backdrop{z-index:180;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0c161373;align-items:end;display:grid;position:fixed;inset:0}.mobile-more-sheet{max-height:min(78dvh,620px);padding:8px 18px calc(20px + env(safe-area-inset-bottom));background:var(--surface);border-radius:24px 24px 0 0;overflow-y:auto;box-shadow:0 -20px 60px #0003}.sheet-handle{background:var(--line-strong);border-radius:99px;width:42px;height:5px;margin:0 auto 12px}.mobile-more-heading{justify-content:space-between;align-items:center;display:flex}.mobile-more-heading h2{margin:0}.mobile-more-sheet nav{gap:7px;margin:18px 0;display:grid}.mobile-more-sheet nav a,.mobile-logout{border:1px solid var(--line);width:100%;min-height:52px;color:var(--ink);background:var(--paper);border-radius:13px;align-items:center;gap:13px;padding:0 14px;font-weight:750;text-decoration:none;display:flex}.mobile-more-sheet nav a.active{border-color:var(--green);color:var(--green);background:var(--green-pale)}.mobile-logout{color:var(--red);cursor:pointer;justify-content:center}.study-structure-layout{grid-template-columns:minmax(0,1fr)}.study-unit-editor li{grid-template-columns:auto minmax(0,1fr)}.drag-handle{display:none}.unit-ordinal{grid-row:1}.study-unit-editor .input{grid-column:2}.unit-actions{grid-column:1/-1;justify-content:flex-end}.week-selector{grid-template-columns:repeat(2,minmax(0,1fr))}.week-chip{min-width:0}.week-chip span{overflow-wrap:anywhere}.tabs{scrollbar-width:none;margin-inline:-14px;padding-inline:14px;overflow-x:auto}.settings-grid,.dashboard-grid,.groups-layout,.tutor-page,.quiz-history-card,.review-question,.exam-layout{min-width:0}.metadata-list dd,.path-value,pre,code{overflow-wrap:anywhere;word-break:break-word}.session-page.quick-quiz-page{z-index:160;overscroll-behavior-y:contain;height:100dvh;min-height:0;scroll-padding-bottom:calc(104px + env(safe-area-inset-bottom));touch-action:pan-y;-webkit-overflow-scrolling:touch;overflow:hidden auto}.quick-quiz-page .session-header{grid-template-columns:minmax(0,1fr) auto;gap:10px;height:auto;min-height:64px;padding:8px 12px}.quick-quiz-page .session-progress{gap:8px;min-width:0}.quick-quiz-page .session-progress>span{flex:none}.quick-quiz-page .session-progress>div{min-width:42px}.quick-quiz-page .quiz-header-actions{gap:2px}.quick-quiz-page .quiz-header-actions .button{justify-content:center;width:44px;height:44px;padding:0}.quick-question-wrap{width:min(100% - 24px,820px);padding:22px 0 calc(132px + env(safe-area-inset-bottom))}.question-count{margin-bottom:10px;font-size:.78rem}.quick-question-wrap>h1{margin-bottom:22px;font-size:clamp(1.34rem,6vw,1.6rem);line-height:1.38}.quick-options{gap:10px}.quick-option{touch-action:pan-y;border-radius:14px;grid-template-columns:36px minmax(0,1fr);gap:11px;min-height:62px;padding:11px 12px;font-size:.98rem;line-height:1.42}.quick-option kbd{width:34px;height:34px}.quick-confidence{margin-top:18px}.quick-submit{z-index:170;padding:10px 12px max(10px, env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--surface);grid-template-columns:minmax(0,1fr) auto;gap:9px;margin:0;display:grid;position:fixed;inset:auto 0 0}@supports (color:color-mix(in lab, red, red)){.quick-submit{background:color-mix(in srgb, var(--surface) 96%, transparent)}}.quick-submit{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 -10px 30px #00000017}.quick-submit>.button{justify-content:center;width:100%;min-height:50px}.quick-submit>button:last-child{white-space:nowrap;min-height:50px;padding:0 10px}.quick-submit .keyboard-hint{display:none}.quick-feedback{border-radius:16px;padding:20px 16px}.feedback-result{font-size:1.7rem}.feedback-actions{padding-bottom:8px}.app-shell.tutor-focus{z-index:200;height:var(--tutor-viewport-height,100dvh);background:var(--surface);min-height:0;position:fixed;inset:0;overflow:hidden}.app-shell.tutor-focus>.sidebar,.app-shell.tutor-focus .topbar,.app-shell.tutor-focus>.mobile-bottom-nav{display:none}.app-shell.tutor-focus .app-main{height:100%;min-height:0;margin:0;overflow:hidden}.app-shell.tutor-focus .content{width:100%;height:100%;min-height:0;padding:0;overflow:hidden}.tutor-page{min-height:0;box-shadow:none;border:0;border-radius:0}.tutor-page.has-conversation{height:100%;display:block;overflow:hidden}.tutor-page.has-conversation>.tutor-conversation-view{height:100%}.tutor-page.tutor-home{min-height:calc(100dvh - 150px);display:block;overflow:hidden}.tutor-page.tutor-home .tutor-welcome{display:none}.tutor-thread-list{background:var(--surface);border:0;padding:16px 12px;display:block;overflow:auto}.tutor-home .tutor-thread-list{height:calc(100dvh - 150px)}.tutor-thread-heading{z-index:2;background:var(--surface);min-height:72px;padding:16px 4px 12px;position:sticky;top:-16px}.tutor-thread-heading h1{font-size:1.6rem}.tutor-thread-search{z-index:2;background:var(--paper);min-height:46px;margin:0 0 18px;position:sticky;top:56px}.tutor-thread-group{margin:0 0 24px;display:block}.tutor-thread-group h2{margin:0 10px 7px;display:block}.tutor-thread{width:100%;min-height:62px;padding:11px 12px}.tutor-thread+.tutor-thread{margin-top:3px}.tutor-thread-list .tutor-mobile-only{display:grid}.tutor-page.has-conversation .tutor-thread-list{z-index:232;width:min(88vw,360px);height:var(--tutor-viewport-height,100dvh);padding-top:max(12px, env(safe-area-inset-top));transition:transform .18s;position:fixed;inset:0 auto 0 0;transform:translate(-105%);box-shadow:20px 0 60px #0000003d}.tutor-page.has-conversation .tutor-thread-list.mobile-open{transform:translate(0)}.tutor-thread-backdrop{z-index:231;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0c161385;border:0;display:block;position:fixed;inset:0}.tutor-conversation-view,.tutor-conversation-view:not(.compact),.tutor-conversation-view.compact{height:var(--tutor-viewport-height,100dvh);min-height:0;overflow:hidden}.tutor-chat-header{min-height:calc(64px + env(safe-area-inset-top));padding:max(8px, env(safe-area-inset-top)) 8px 8px;background:var(--surface);grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:6px;display:grid}@supports (color:color-mix(in lab, red, red)){.tutor-chat-header{background:color-mix(in srgb, var(--surface) 96%, transparent)}}.tutor-chat-header{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.tutor-mobile-leading,.tutor-mobile-menu-button{place-items:center;width:44px;height:44px;display:grid}.tutor-chat-title{text-align:center;min-width:0}.tutor-chat-title .eyebrow{display:none}.tutor-chat-header h1{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-family:var(--sans);font-size:.98rem;font-weight:800;overflow:hidden}.tutor-title-button{text-align:center;max-width:100%;margin:0 auto;display:block}.tutor-chat-header form{grid-template-columns:minmax(0,1fr) auto;display:grid}.tutor-mobile-context-summary{max-width:100%;min-height:20px;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:2px;margin:1px auto 0;padding:0;font-size:.7rem;display:flex;overflow:hidden}.tutor-header-actions,.tutor-context-chips{display:none}.tutor-menu-backdrop{z-index:270;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0c161373;border:0;display:block;position:fixed;inset:0}.tutor-mobile-menu{z-index:271;inset:auto 8px max(8px, env(safe-area-inset-bottom));border:1px solid var(--line);background:var(--surface);border-radius:24px;gap:4px;padding:8px 12px 12px;display:grid;position:fixed;box-shadow:0 -20px 60px #00000038}.tutor-mobile-menu>button{min-height:52px;color:var(--ink);text-align:left;background:0 0;border:0;border-radius:12px;align-items:center;gap:13px;padding:0 14px;font-weight:750;display:flex}.tutor-mobile-menu>button:hover{background:var(--paper)}.tutor-mobile-menu svg{width:20px}.tutor-chat-layout{flex:1;min-height:0;display:block;overflow:hidden}.tutor-chat-main{grid-template-rows:minmax(0,1fr) auto;height:100%;min-height:0;position:relative;overflow:hidden}.tutor-messages{overscroll-behavior:contain;gap:22px;padding:22px 16px 28px;scroll-padding-bottom:24px}.tutor-empty-chat{align-self:center;padding-bottom:8vh}.tutor-empty-chat>div{width:48px;height:48px}.tutor-empty-chat h2{font-size:1.45rem}.tutor-message{gap:7px;width:100%;max-width:100%}.tutor-message.assistant{padding-right:4px}.tutor-message.user{width:auto;max-width:88%}.tutor-message.assistant .tutor-message-meta>span:first-child{color:var(--ink)}.tutor-message.assistant .tutor-message-body{background:0 0;border:0;border-radius:0;padding:0;font-size:1rem;line-height:1.68}.tutor-message.user .tutor-message-body{color:var(--ink);background:var(--paper);border:0;border-radius:18px 18px 5px;padding:11px 14px}.tutor-message.user .tutor-message-meta{display:none}.tutor-message-meta .badge{font-size:.6rem}.tutor-message-actions{margin-top:-2px}.tutor-message-actions>button{width:44px;height:44px}.tutor-sources summary{min-height:44px}.tutor-sources>div{z-index:1;position:relative}.tutor-composer-wrap{padding:8px 10px max(10px, env(safe-area-inset-bottom));background:linear-gradient(transparent, var(--surface) 18%);border-top:0;gap:6px}.tutor-prompt-row{scrollbar-width:none;margin-inline:-10px;padding:4px 10px 2px}.tutor-prompt-row::-webkit-scrollbar{display:none}.tutor-prompt-row button{min-height:36px;padding:7px 12px}.tutor-composer{background:var(--paper);border-radius:25px;grid-template-columns:42px minmax(0,1fr) 42px;align-items:end;gap:3px;padding:5px;box-shadow:0 5px 25px #0000001f}.tutor-composer-context{width:42px;height:42px;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;display:grid}.tutor-composer .textarea{min-height:42px;max-height:120px;padding:9px 4px;line-height:1.4}.tutor-send{border-radius:50%;width:42px;height:42px}.tutor-composer-wrap>small{display:none}.tutor-scroll-latest{width:44px;height:44px;position:absolute;bottom:94px;right:50%}.tutor-context-backdrop{z-index:250;background:#0c161373;border:0;display:block;position:fixed;inset:0}.tutor-context-panel{z-index:251;width:100%;max-width:none;padding:max(18px, env(safe-area-inset-top)) 18px calc(86px + env(safe-area-inset-bottom));background:var(--surface);box-shadow:none;border:0;position:fixed;inset:0}.tutor-context-heading{z-index:2;top:calc(-1 * max(18px, env(safe-area-inset-top)));margin:calc(-1 * max(18px, env(safe-area-inset-top))) -18px 0;padding:max(18px, env(safe-area-inset-top)) 18px 12px;border-bottom:1px solid var(--line);background:var(--surface);position:sticky}.tutor-context-heading h2{font-size:1.55rem}.context-week-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.context-week-grid span{overflow-wrap:anywhere;min-height:44px;padding:5px}.context-check-list label{align-items:center;min-height:48px}.context-check-list input{width:20px;height:20px}.tutor-context-done{z-index:253;padding:10px 18px max(10px, env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--surface);display:block;position:fixed;inset:auto 0 0}.tutor-context-done .button{justify-content:center;width:100%}.tutor-drawer-backdrop{z-index:240}.tutor-drawer{width:100vw;height:var(--tutor-viewport-height,100dvh);inset:0}}@media (width<=380px){.week-selector{grid-template-columns:1fr}.mobile-bottom-nav a,.mobile-bottom-nav button{font-size:.61rem}}@media (prefers-reduced-motion:reduce){.mobile-more-sheet,.tutor-drawer{animation:none}}.lecture-layout,.lecture-detail-grid{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:22px;display:grid}.lecture-course-list,.lecture-main-column,.lecture-side-column{gap:18px;min-width:0;display:grid}.lecture-course-card,.lecture-create-card,.lecture-action-card,.lecture-notes-card,.lecture-transcript-card,.lecture-side-column>.card,.lecture-processing-card{padding:22px}.lecture-create-card{position:sticky;top:92px}.lecture-list{margin:0 -10px -8px;display:grid}.lecture-list-row{border-top:1px solid var(--line);border-radius:9px;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:66px;padding:10px;display:grid}.lecture-list-row:hover,.lecture-document:hover{background:var(--paper)}.lecture-list-row span:nth-child(2),.lecture-document span{min-width:0;display:grid}.lecture-list-row small,.lecture-document small{color:var(--muted)}.lecture-status-dot{background:var(--line-strong);border-radius:50%;width:9px;height:9px}.lecture-status-dot[data-status=READY]{background:var(--green)}.lecture-status-dot[data-status=RECORDING]{background:var(--red);box-shadow:0 0 0 5px var(--red-pale)}.lecture-status-dot[data-status=TRANSCRIBING],.lecture-status-dot[data-status=GENERATING_NOTES]{background:var(--gold)}.notice-action-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.lecture-processing-card{background:linear-gradient(135deg, var(--surface), var(--green-pale));grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;margin-bottom:22px;display:grid}.lecture-processing-card h2,.lecture-processing-card p:last-child{margin-bottom:0}.processing-orb,.record-icon{width:48px;height:48px;color:var(--green);background:var(--green-pale);border-radius:50%;place-items:center;display:grid}.processing-orb.failed{color:var(--red);background:var(--red-pale)}.lecture-action-card,.lecture-notes-card,.lecture-transcript-card,.record-ready-card{gap:16px;display:grid}.lecture-document{border:1px solid var(--line);border-radius:9px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;min-height:58px;padding:10px 12px;display:grid}.lecture-document-row{grid-template-columns:minmax(0,1fr) 44px;align-items:center;gap:8px;display:grid}.lecture-document-row .lecture-document{min-width:0}.lecture-document-delete{width:44px;min-width:44px;height:44px;color:var(--red);padding:0}.lecture-document-delete:hover:not(:disabled){color:var(--red);background:var(--red-pale)}.preparation-panel{background:var(--paper);border-radius:10px;padding:20px}.preparation-panel ul,.generated-lecture-notes ul{padding-left:20px}.generated-lecture-notes{gap:4px;display:grid}.generated-lecture-notes>section{border-top:1px solid var(--line);padding:20px 0}.generated-lecture-notes>section>small{color:var(--gold);font-weight:700}.generated-lecture-notes blockquote{border-left:3px solid var(--gold);background:var(--gold-pale);border-radius:0 8px 8px 0;gap:12px;margin:10px 0;padding:14px;display:flex}.generated-lecture-notes blockquote span{display:grid}.generated-lecture-notes blockquote small{color:var(--muted)}.transcript-search{border:1px solid var(--line);background:var(--paper);border-radius:9px;align-items:center;gap:9px;min-height:44px;padding:0 13px;display:flex}.transcript-search input{min-width:0;color:var(--ink);background:0 0;border:0;outline:0;flex:1}.transcript-segments{max-height:620px;display:grid;overflow:auto}.transcript-segments article{border-bottom:1px solid var(--line);grid-template-columns:64px minmax(0,1fr) 38px;align-items:start;gap:12px;padding:13px 8px;display:grid}.transcript-segments article.marked{border-left:3px solid var(--gold);background:var(--gold-pale)}.transcript-segments article p{margin:0}.transcript-segments article>button{min-height:36px;color:var(--green);cursor:pointer;background:0 0;border:0;border-radius:7px}.recording-focus .sidebar,.recording-focus .topbar,.recording-focus>.mobile-bottom-nav{display:none}.recording-focus .app-main{margin-left:0}.recording-focus .content{width:100%;max-width:none;min-height:100dvh;padding:0}.recording-focus-page{min-height:100dvh;padding:max(20px, env(safe-area-inset-top)) max(24px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(24px, env(safe-area-inset-left));background:radial-gradient(circle at 50% 25%, var(--surface), var(--paper) 68%)}.recording-focus-page>header{grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:14px;width:min(100%,980px);margin:0 auto;display:grid}.recording-focus-page header h1{margin:0;font-size:1.35rem}.upload-health{min-height:38px;color:var(--muted);background:var(--surface);border-radius:99px;align-items:center;gap:7px;padding:0 11px;font-size:.78rem;font-weight:750;display:inline-flex}.upload-health svg{width:15px}.upload-health.healthy{color:var(--green);background:var(--green-pale)}.upload-health.recovery{color:var(--red);background:var(--red-pale)}.recording-consent-card{gap:16px;width:min(100%,650px);margin:clamp(40px,10vh,110px) auto 0;padding:clamp(24px,5vw,42px);display:grid}.recording-stage{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:20px;min-height:calc(100dvh - 120px);display:flex}.recording-live{color:var(--red);text-transform:uppercase;letter-spacing:.12em;align-items:center;gap:9px;font-size:.72rem;display:inline-flex}.recording-live span{background:var(--red);border-radius:50%;width:10px;height:10px;animation:1.6s ease-in-out infinite recording-pulse}@keyframes recording-pulse{50%{opacity:.35;transform:scale(.78)}}.recording-timer{font-variant-numeric:tabular-nums;font-family:var(--serif);letter-spacing:-.055em;font-size:clamp(76px,15vw,160px);line-height:.9}.recording-controls{gap:18px;margin-top:20px;display:flex}.important-button,.stop-recording-button{cursor:pointer;border:0;border-radius:16px;justify-content:center;align-items:center;gap:10px;min-width:190px;min-height:76px;padding:0 24px;font-weight:800;display:inline-flex}.important-button{color:#49320f;background:var(--gold-pale)}.stop-recording-button{color:var(--red);background:var(--red-pale)}.process-choice{text-align:left;align-items:center;gap:11px;max-width:450px;display:flex}.process-choice input{width:20px;height:20px}.process-choice span{display:grid}.process-choice small{color:var(--muted)}@media (width<=980px){.lecture-layout,.lecture-detail-grid{grid-template-columns:minmax(0,1fr)}.lecture-create-card{position:static}.lecture-side-column{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.lecture-course-card,.lecture-create-card,.lecture-action-card,.lecture-notes-card,.lecture-transcript-card,.lecture-side-column>.card,.lecture-processing-card{padding:17px}.lecture-side-column{grid-template-columns:minmax(0,1fr)}.lecture-list-row{grid-template-columns:10px minmax(0,1fr);min-height:72px}.lecture-list-row>.badge{grid-column:2;width:fit-content}.notice-action-row{flex-direction:column;align-items:stretch}.lecture-processing-card{grid-template-columns:auto minmax(0,1fr)}.lecture-processing-card>.button{grid-column:1/-1}.lecture-detail-grid .button,.lecture-layout .button{min-height:44px}.transcript-segments{max-height:none;overflow:visible}.transcript-segments article{grid-template-columns:56px minmax(0,1fr) 36px;padding-inline:2px}.recording-focus-page{padding-inline:14px}.recording-focus-page>header{grid-template-columns:44px minmax(0,1fr)}.upload-health{grid-column:2;width:fit-content}.recording-consent-card{border-radius:16px;margin-top:28px}.recording-stage{min-height:calc(100dvh - 150px);padding-bottom:calc(18px + env(safe-area-inset-bottom))}.recording-timer{font-size:clamp(72px,25vw,110px)}.recording-controls{bottom:calc(10px + env(safe-area-inset-bottom));gap:10px;width:100%;position:sticky}.important-button,.stop-recording-button{flex:1;min-width:0;min-height:68px;padding:0 12px}}@media (prefers-reduced-motion:reduce){.recording-live span{animation:none}}.settings-tabs{gap:.5rem;margin-bottom:1.5rem;display:flex}.privacy-settings{gap:1.5rem;display:grid}.privacy-permissions{border:1px solid var(--border,#d4ded8);border-radius:12px;gap:.5rem;padding:1rem;display:grid}.privacy-permissions legend{padding:0 .4rem;font-weight:600}.privacy-permissions .choice{margin:0}.policy-copy{max-width:860px;margin:0 auto}.policy-copy h2{margin-top:1rem}.startup-loader{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:18px;min-height:100dvh;padding:24px;display:flex}.startup-spinner{border:3px solid var(--line);border-top-color:var(--green);border-radius:50%;width:36px;height:36px;animation:1s linear infinite spin}@media (prefers-reduced-motion:reduce){.startup-spinner{animation:none}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@font-face{font-family:Inter;font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/inter-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF}@font-face{font-family:Inter;font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/inter-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Newsreader;font-style:normal;font-weight:400 500;font-display:swap;src:url(/fonts/newsreader-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF}@font-face{font-family:Newsreader;font-style:normal;font-weight:400 500;font-display:swap;src:url(/fonts/newsreader-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--background:var(--paper);--foreground:var(--ink);--card:var(--surface);--border:var(--line);--primary:var(--green);--secondary:var(--green-pale);--muted-foreground:var(--muted);--success:var(--green);--danger:var(--red);--accent:var(--gold)}h1,h2,h3{font-family:var(--serif);letter-spacing:-.01em;font-weight:500}h1{font-size:clamp(30px,4.4vw,44px);line-height:1.1}h2{font-size:22px}h3{font-size:18px}button,a,input,select,textarea{touch-action:manipulation}:focus-visible{outline:2px solid var(--green);outline-offset:3px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:500;color:var(--on);background:var(--green);border-radius:10px;padding:10px 16px;position:fixed;top:-70px;left:12px}.skip-link:focus{top:12px}.skip-link:not(:focus){clip-path:inset(50%);width:1px;height:1px;padding:0;overflow:hidden}.sidebar{background:var(--paper-deep);-webkit-backdrop-filter:none;backdrop-filter:none;width:232px;padding:20px 14px 8px}.sidebar-top{height:auto;padding:2px 8px 18px}.brand{font:500 22px var(--serif);gap:10px}.brand-mark{width:30px;height:30px;color:var(--on);font:500 17px var(--serif);border-radius:9px}.main-nav{gap:4px;padding:0}.nav-link{border-radius:10px;gap:11px;min-height:42px;padding:9px 10px;font-size:14px;font-weight:500}.nav-link.active{color:var(--ink)}.nav-link.active:before{display:none}.nav-link:hover{background:var(--green-pale)}.sidebar-footer{gap:10px;min-width:0;margin:12px 0 0;padding:14px 8px 8px}.sidebar-footer>div:not(.avatar){min-width:0}.sidebar-footer strong{white-space:nowrap;text-overflow:ellipsis;max-width:116px;font-size:12px;font-weight:500;display:block;overflow:hidden}.avatar{flex:0 0 30px;width:30px;height:30px;font-size:13px}.sidebar-logout{padding:6px 0 6px 4px;font-size:10px}.app-main{margin-left:232px}.topbar{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;height:auto;min-height:62px;padding:20px clamp(18px,4vw,56px) 0;position:relative}.topbar-actions{justify-content:flex-end;gap:14px;width:100%;max-width:968px;margin:0 auto}.global-search{width:min(240px,42vw);margin:0 auto 0 0;padding:5px 0;font-size:12px}.global-search:focus-within{padding-inline:9px}.global-search input::placeholder{color:var(--muted)}.theme-toggle{white-space:nowrap;gap:6px;min-height:30px;padding:5px 11px;font-size:12px}.content{width:100%;min-width:0;max-width:1080px;margin:0 auto;padding:6px clamp(18px,4vw,56px) 72px}.page-header{gap:16px;margin:24px 0}.page-header h1{margin-bottom:10px;font-size:clamp(30px,4.4vw,44px);line-height:1.1}.page-header p:last-child{line-height:1.55}.eyebrow{color:var(--muted);letter-spacing:.08em;font-size:10px;font-weight:500}.button{min-height:40px;box-shadow:none;border-radius:999px;padding:9px 15px;font-size:14px;font-weight:500;line-height:1.4}.button:hover:not(:disabled){border-color:var(--green);transform:none}.button-primary{color:var(--on);border-color:var(--green);box-shadow:none}.button-danger{border-color:var(--red-pale)}.card{box-shadow:none;border-radius:16px}.input,.textarea{border-color:var(--line);background:var(--surface);border-radius:12px}.badge{border-radius:999px;font-weight:500}.empty-state{border:1px solid var(--line);border-radius:14px;padding:30px 18px}.empty-mark{display:none}.dialog-panel{border-radius:20px}.dialog-header .eyebrow{display:none}.dialog-header h2{font-size:26px}.tutor-context-select{border:1px solid var(--line);min-width:0;color:var(--muted);background:var(--paper-deep);border-radius:999px;align-items:center;gap:7px;padding:5px 12px;font-size:13px;display:inline-flex}.tutor-context-select select{min-width:0;max-width:180px;color:var(--ink);font:inherit;outline-offset:1px;background:0 0;border:0}.tutor-context-select option{color:var(--ink);background:var(--surface)}.tutor-quick-context .edit-context-chip{font-weight:400}.tutor-context-controls{border:0;min-width:0;margin:0;padding:0}.app-shell.workspace-focus{height:100dvh;min-height:0;overflow:hidden}.app-shell.workspace-focus .topbar{display:none}.app-shell.workspace-focus .app-main{height:100%;min-height:0;overflow:hidden}.app-shell.workspace-focus .content{flex-direction:column;width:100%;max-width:none;height:100%;min-height:0;margin:0;padding:14px 18px;display:flex;overflow:hidden}.app-shell.workspace-focus .content>*{min-height:0}@media (width<=820px){.sidebar{display:none}.app-main{margin-left:0}.topbar{min-height:54px;padding:max(14px, env(safe-area-inset-top)) 18px 0}.content{padding:8px 18px calc(100px + env(safe-area-inset-bottom))}.mobile-bottom-nav{z-index:120;padding:6px 6px calc(6px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--paper-deep);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;grid-template-columns:repeat(5,minmax(0,1fr));display:grid;position:fixed;inset:auto 0 0}.mobile-bottom-nav a{border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-width:0;min-height:48px;padding:6px 2px;font-size:11px;font-weight:500;display:flex}.mobile-bottom-nav a.active{color:var(--ink)}.tutor-context-select select{max-width:145px}}@media (width<=760px){.app-shell.tutor-focus .content,.app-shell.recording-focus .content{padding:0}.dialog-panel{border-radius:0}.theme-toggle{min-height:30px;padding:5px 10px}.global-search{width:min(210px,47vw)}.page-header{margin-top:20px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}@media (width<=820px){.app-shell.workspace-focus{z-index:auto;height:var(--tutor-viewport-height,100dvh);background:var(--paper);position:relative;inset:auto}.app-shell.workspace-focus .app-main{height:calc(100% - 72px - env(safe-area-inset-bottom));margin:0}.app-shell.workspace-focus .content{padding:max(10px, env(safe-area-inset-top)) 12px 10px}.app-shell.workspace-focus>.mobile-bottom-nav{display:grid}}
