@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-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:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--radius-sm:calc(var(--radius) - 4px);--radius-md:calc(var(--radius) - 2px);--radius-lg:var(--radius);--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,ui-sans-serif, system-ui, 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{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{.visible{visibility:visible}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.flex{display:flex}.grid{display:grid}.hidden{display:none}.table{display:table}.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{--background:#f6f5f2;--foreground:#1c1b22;--card:#fffcf8;--card-foreground:#1c1b22;--popover:#fff;--popover-foreground:#1c1b22;--primary:#4f46e5;--primary-foreground:#f8f7ff;--secondary:#eceaf3;--secondary-foreground:#2a2933;--muted:#f0eee8;--muted-foreground:#5c5a66;--accent:#e7f6fa;--accent-foreground:#125a68;--border:#e3dfd6;--input:#d8d3c8;--ring:#4f46e5;--destructive:#b42318;--destructive-foreground:#fff8f7;--success:#0f7a4d;--success-foreground:#f3fbf6;--warning:#8a5a12;--warning-foreground:#fff8eb;--info:#1d6b9a;--info-foreground:#f4f9fd;--radius:.625rem;--app-gutter:clamp(1rem, 2.2vw, 2.5rem);--reading-measure:46rem}.dark{--background:#17171d;--foreground:#eceaf3;--card:#1f1f27;--card-foreground:#eceaf3;--popover:#25252e;--popover-foreground:#eceaf3;--primary:#818cf8;--primary-foreground:#161427;--secondary:#2a2a33;--secondary-foreground:#e6e4ee;--muted:#24242c;--muted-foreground:#b3b0bd;--accent:#1c3036;--accent-foreground:#c6eaf1;--border:#33333e;--input:#3a3a46;--ring:#818cf8;--destructive:#f0a098;--destructive-foreground:#2a1210;--success:#7dcea0;--success-foreground:#102418;--warning:#e3c07a;--warning-foreground:#2a1e0b;--info:#8ec4e6;--info-foreground:#0e2433}*{box-sizing:border-box}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html.dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html,body{overflow-x:clip}body{background:var(--background);min-height:100vh;color:var(--foreground);margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;font-size:16px;line-height:1.5}a{color:var(--primary);font-weight:600;text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:2px solid var(--ring);outline-offset:2px}main{width:100%;min-width:0;max-width:none;padding:1.25rem var(--app-gutter) 3rem;margin:0}.app-header{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}.brand-mark{letter-spacing:-.03em;color:var(--foreground);font-size:1.25rem;font-weight:750}.app-header-nav{flex-wrap:wrap;flex:1;align-items:center;gap:.75rem 1rem;display:flex}.app-header-nav a{color:var(--foreground);font-weight:600}.app-header-actions{margin-left:auto}.page-title{letter-spacing:-.03em;margin:0 0 .5rem;font-size:1.5rem;line-height:1.25}.section-title,.card h2,.card h3{margin:0 0 .5rem;font-size:1.125rem;line-height:1.3}.card-title{margin:0 0 .35rem;font-size:1rem;font-weight:700}.body-strong{font-weight:650}.small,.caption{font-size:.8125rem;line-height:1.45}.caption{color:var(--muted-foreground);font-weight:650}.muted{color:var(--muted-foreground)}.question-stem,.question-context{overflow-wrap:anywhere;max-width:min(100%, var(--reading-measure));white-space:pre-wrap;font-size:1.125rem;font-weight:650;line-height:1.65}.question-material{color:var(--muted-foreground);overflow-wrap:anywhere;max-width:min(100%, var(--reading-measure));white-space:pre-wrap;font-size:.95rem}.answer-feedback,.part-prompt{overflow-wrap:anywhere;max-width:min(100%, var(--reading-measure));white-space:pre-wrap;line-height:1.65}.reading-column{max-width:min(100%, var(--reading-measure));min-width:0}.card{background:var(--card);color:var(--card-foreground);border:1px solid var(--border);border-radius:var(--radius-lg);min-width:0;margin-bottom:1rem;padding:1.125rem}.crumb{color:var(--muted-foreground);flex-wrap:wrap;gap:.35rem .5rem;margin-bottom:.75rem;font-size:.8125rem;display:flex}.student-toolbar{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.course-card{border-bottom:1px solid var(--border);overflow-wrap:anywhere;min-width:0;padding:.5rem 0}.course-card:last-child{border-bottom:0}.student-home-layout,.subject-home{align-items:start;gap:1.25rem;min-width:0;display:grid}.student-home-layout{grid-template-columns:minmax(0,1fr)}.student-home-layout>.card{margin-bottom:0}.subject-home{grid-template-columns:minmax(0,1fr)}@media (min-width:801px){.student-home-layout{grid-template-columns:minmax(0,1.55fr) minmax(18rem,.9fr)}.subject-home{grid-template-columns:minmax(0,1.4fr) minmax(20rem,1fr)}}.knowledge-tree details{background:0 0;border:0;margin-top:.65rem;padding:0}.tree-nested{margin-left:.75rem}.tree-section{margin:.5rem 0 .5rem 1rem}.mode-list{gap:.65rem;display:grid}.mode-card{border:1px solid var(--border);border-radius:var(--radius-lg);padding:.75rem}.mode-card-available{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.mode-card-available{border-color:color-mix(in srgb, var(--primary) 28%, var(--border))}}.mode-card-available{background:var(--primary)}@supports (color:color-mix(in lab, red, red)){.mode-card-available{background:color-mix(in srgb, var(--primary) 6%, var(--card))}}.mode-card-soon{background:var(--muted);color:var(--muted-foreground);pointer-events:none}.grid{gap:.75rem;display:grid}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.clean-list{gap:.5rem;min-width:0;padding-left:1.25rem;display:grid}.question-block,.part-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--card);padding:1rem}.part-list{gap:1rem;display:grid}.part-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.part-number{color:var(--primary);font-weight:750}.mark-pill{background:var(--success);border-radius:999px;padding:.25rem .65rem}@supports (color:color-mix(in lab, red, red)){.mark-pill{background:color-mix(in srgb, var(--success) 16%, var(--card))}}.mark-pill{color:var(--success);border:1px solid var(--success);font-size:.8125rem;font-weight:750}@supports (color:color-mix(in lab, red, red)){.mark-pill{border:1px solid color-mix(in srgb, var(--success) 28%, var(--border))}}details{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--card);margin-top:.65rem;padding:.75rem}summary{cursor:pointer;font-weight:700}.auth-card{max-width:28rem}.auth-form{gap:.65rem;margin:1rem 0;display:grid}.auth-label{font-size:.8125rem;font-weight:700}.auth-input,.ui-input{border:1px solid var(--input);border-radius:var(--radius-md);width:100%;max-width:100%;color:var(--foreground);background:var(--card);overflow-wrap:anywhere;padding:.65rem .75rem;font-size:1rem}.auth-input:focus,.ui-input:focus{outline:2px solid var(--ring)}@supports (color:color-mix(in lab, red, red)){.auth-input:focus,.ui-input:focus{outline:2px solid color-mix(in srgb, var(--ring) 45%, transparent)}}.auth-input:focus,.ui-input:focus{border-color:var(--ring)}textarea.auth-input{resize:vertical;min-height:8rem}.auth-button,.ui-button{border-radius:var(--radius-md);background:var(--primary);min-height:2.5rem;color:var(--primary-foreground);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:.4rem;padding:.55rem .85rem;font-size:.875rem;font-weight:700;display:inline-flex}.ui-button[data-variant=secondary],.auth-button-secondary{background:var(--secondary);color:var(--secondary-foreground)}.ui-button[data-variant=ghost],.account-trigger{color:var(--foreground);border-color:var(--border);background:0 0}.ui-button[data-variant=destructive]{background:var(--destructive);color:var(--destructive-foreground)}.auth-button:disabled,.ui-button:disabled{opacity:.6;cursor:not-allowed}.auth-choice-row{gap:.5rem;display:grid}.ui-alert,.auth-alert{border-radius:var(--radius-md);margin:.75rem 0;padding:.75rem;font-size:.9rem;line-height:1.5}.ui-alert-error,.auth-alert-error{background:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.ui-alert-error,.auth-alert-error{background:color-mix(in srgb, var(--destructive) 10%, var(--card))}}.ui-alert-error,.auth-alert-error{border:1px solid var(--destructive)}@supports (color:color-mix(in lab, red, red)){.ui-alert-error,.auth-alert-error{border:1px solid color-mix(in srgb, var(--destructive) 35%, var(--border))}}.ui-alert-error,.auth-alert-error{color:var(--destructive)}.ui-alert-ok,.ui-alert-success,.auth-alert-ok{background:var(--success)}@supports (color:color-mix(in lab, red, red)){.ui-alert-ok,.ui-alert-success,.auth-alert-ok{background:color-mix(in srgb, var(--success) 12%, var(--card))}}.ui-alert-ok,.ui-alert-success,.auth-alert-ok{border:1px solid var(--success)}@supports (color:color-mix(in lab, red, red)){.ui-alert-ok,.ui-alert-success,.auth-alert-ok{border:1px solid color-mix(in srgb, var(--success) 32%, var(--border))}}.ui-alert-ok,.ui-alert-success,.auth-alert-ok{color:var(--success)}.ui-alert-warn,.ui-alert-warning,.auth-alert-warn{background:var(--warning)}@supports (color:color-mix(in lab, red, red)){.ui-alert-warn,.ui-alert-warning,.auth-alert-warn{background:color-mix(in srgb, var(--warning) 14%, var(--card))}}.ui-alert-warn,.ui-alert-warning,.auth-alert-warn{border:1px solid var(--warning)}@supports (color:color-mix(in lab, red, red)){.ui-alert-warn,.ui-alert-warning,.auth-alert-warn{border:1px solid color-mix(in srgb, var(--warning) 36%, var(--border))}}.ui-alert-warn,.ui-alert-warning,.auth-alert-warn{color:var(--warning)}.ui-alert-info{background:var(--info)}@supports (color:color-mix(in lab, red, red)){.ui-alert-info{background:color-mix(in srgb, var(--info) 12%, var(--card))}}.ui-alert-info{border:1px solid var(--info)}@supports (color:color-mix(in lab, red, red)){.ui-alert-info{border:1px solid color-mix(in srgb, var(--info) 32%, var(--border))}}.ui-alert-info{color:var(--info)}.ui-state{gap:.4rem;display:grid}.ui-menu{background:var(--popover);min-width:12rem;color:var(--popover-foreground);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:0 8px 24px var(--foreground);padding:.35rem}@supports (color:color-mix(in lab, red, red)){.ui-menu{box-shadow:0 8px 24px color-mix(in srgb, var(--foreground) 12%, transparent)}}.ui-menu{z-index:50}.ui-menu-label{color:var(--muted-foreground);padding:.4rem .55rem;font-size:.75rem;font-weight:700}.ui-menu-item{border-radius:var(--radius-sm);cursor:pointer;outline:none;align-items:center;gap:.45rem;width:100%;padding:.45rem .55rem;font-size:.875rem;display:flex}.ui-menu-item[data-highlighted],.ui-menu-item:focus,.ui-menu-item[data-state=checked]{background:var(--muted)}.ui-menu-item[data-state=checked]{font-weight:700}.ui-menu-separator{background:var(--border);height:1px;margin:.3rem 0}.account-email{text-overflow:ellipsis;max-width:14rem;color:var(--foreground);font-weight:650;display:block;overflow:hidden}.account-logout{width:100%;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:.45rem;padding:0;display:flex}.ui-sheet-overlay{background:var(--foreground);position:fixed;inset:0}@supports (color:color-mix(in lab, red, red)){.ui-sheet-overlay{background:color-mix(in srgb, var(--foreground) 32%, transparent)}}.ui-sheet-overlay{z-index:40}.ui-sheet{background:var(--popover);width:min(22rem,92vw);color:var(--popover-foreground);border-right:1px solid var(--border);z-index:50;padding:1.25rem 3.5rem 1.25rem 1.25rem;position:fixed;top:0;bottom:0;left:0;overflow:auto}.ui-sheet-close{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--card);width:2.5rem;height:2.5rem;color:var(--foreground);cursor:pointer;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:.65rem;right:.65rem}.ui-sheet[data-side=right]{border-right:0;border-left:1px solid var(--border);left:auto;right:0}.sheet-home-link{margin:.75rem 0 1rem;display:inline-block}.context-nav-mobile{margin-bottom:1rem;display:none}.desktop-context{display:contents}.paper-summary-grid,.mapping-grid,.mapping-summary{gap:.75rem;display:grid}.paper-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.mapping-grid,.mapping-summary{grid-template-columns:1.2fr .8fr}.badge{background:var(--secondary);color:var(--secondary-foreground);border-radius:999px;align-items:center;padding:.2rem .6rem;font-size:.75rem;font-weight:700;display:inline-flex}.submit-bar{background:var(--background);flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:.75rem;padding:.75rem 0;display:flex;position:sticky;bottom:0}@supports (color:color-mix(in lab, red, red)){.submit-bar{background:color-mix(in srgb, var(--background) 92%, transparent)}}@media (max-width:800px){.subject-home,.student-home-layout,.student-toolbar,.app-header{flex-direction:column;align-items:stretch;display:flex}.app-header-actions{margin-left:0}.desktop-context{display:none}.context-nav-mobile{display:block}.grid-2,.grid-4,.paper-summary-grid,.mapping-grid,.mapping-summary,.part-header{flex-direction:column;grid-template-columns:1fr}}@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}
