/*! 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)))){*,::backdrop,:after,:before{--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{:host,:root{--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-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{*,::backdrop,:after,:before{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}:host,html{-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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{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}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,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,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-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,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.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}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.hidden{display:none}.rounded{border-radius:.25rem}.blur{--tw-blur:blur(8px)}.blur,.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{--paper-50:#fffefa;--paper-100:#f7f3eb;--paper-200:#eee8df;--paper-300:#ded7cb;--paper-600:#8d8277;--paper-700:#66605a;--paper-950:#302d28;--plum-100:#eee6f2;--plum-700:#5c416f;--plum-800:#493359;--sage-700:#4c6654;--ochre-800:#755221;--red-800:#943e40;--color-bg-page:var(--paper-100);--color-bg-surface:var(--paper-50);--color-bg-group:var(--paper-200);--color-text-primary:var(--paper-950);--color-text-secondary:var(--paper-700);--color-border-subtle:var(--paper-300);--color-border-control:var(--paper-600);--color-border-focus:var(--plum-700);--color-accent:var(--plum-700);--color-accent-hover:var(--plum-800);--color-accent-soft:var(--plum-100);--color-weight-completed:var(--sage-700);--color-warning-text:var(--ochre-800);--color-danger-text:var(--red-800);--color-danger-border:var(--red-800);--color-text-inverse:#fffefa;--color-success-text:#4c6654;--color-success-bg:#eef2eb;--color-warning-bg:#f6eddf;--color-danger-bg:#f9ede7;--color-danger-text-inverse:#ffd5d5;--color-backdrop:#302d286e;--shadow-dialog:0 20px 64px #302d282b;--text-caption:.8125rem;--text-small:.875rem;--text-body:1rem;--text-section:1.5rem;--text-page:clamp(2.125rem,4vw,2.7rem);--font-heading:"Source Serif 4",Georgia,serif;--font-body:"Source Sans 3",Arial,sans-serif;--radius-control:5px;--radius-surface:8px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--ink:var(--color-text-primary);--muted:var(--color-text-secondary);--line:var(--color-border-subtle);--canvas:var(--color-bg-page);--navy:var(--color-accent);--green:var(--color-accent);--lime:var(--color-accent-soft)}*{box-sizing:border-box}body{background:var(--canvas);color:var(--ink);font-family:var(--font-body);margin:0;font-size:1rem;line-height:1.55}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.6}.auth-form-alert:focus,[data-template-error]:focus,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--color-border-focus);outline-offset:4px}h1,h2,h3,p{margin:0}h1{letter-spacing:-.045em;font-size:clamp(1.9rem,3vw,2.65rem);line-height:1.15}h1,h2{font-weight:650}h2{letter-spacing:-.025em;font-size:1.2rem}h3{font-size:1rem;font-weight:650}small{font-size:.85rem}.muted,small{color:var(--muted)}.eyebrow{letter-spacing:.1em;color:var(--green);margin-bottom:14px;font-size:.75rem;font-weight:700}.logo{letter-spacing:-.055em;align-items:center;gap:10px;font-size:1.7rem;display:inline-flex}.logo-mark{background:var(--lime);color:var(--navy);text-align:center;border-radius:10px;width:35px;height:35px;font-size:1.75rem;line-height:32px}.button{border:1px solid #0000;justify-content:center;align-items:center;gap:8px;min-height:46px;padding:11px 20px;font-size:.94rem;display:inline-flex}.primary{background:var(--navy);color:var(--color-text-inverse)}@media (hover:hover){.primary:hover{background:var(--color-accent-hover)}}.secondary{background:var(--color-bg-surface);border-color:var(--color-border-control);color:var(--color-accent)}@media (hover:hover){.secondary:hover{background:var(--color-accent-soft)}}.ghost{border-color:var(--color-border-control);background:0 0}.danger{background:var(--color-danger-text);color:var(--color-text-inverse)}.text-link{color:var(--green);font-weight:600;text-decoration:underline}.notice{color:var(--muted);max-width:650px;font-size:.8rem}.notice>span{margin-right:5px}.stack{flex-direction:column;gap:20px;display:flex}.panel{border:1px solid var(--line);padding:28px}.badge{border-radius:var(--radius-control);white-space:nowrap;padding:5px 9px;font-size:.75rem}.progress{background:var(--color-bg-group);border-radius:10px;height:6px;overflow:hidden}.progress>span{background:var(--color-weight-completed);border-radius:10px;height:100%;display:block}.alert{border:1px solid var(--color-warning-text);border-radius:var(--radius-control);padding:14px;font-size:.9rem}.skip{background:var(--color-bg-surface);z-index:20;padding:12px;position:absolute;top:-100px;left:16px}.skip:focus{top:12px}label{flex-direction:column;gap:7px;font-size:.9rem;font-weight:600;display:flex}input,select{border:1px solid var(--color-border-control);border-radius:var(--radius-control);background:var(--color-bg-surface);min-height:46px;color:var(--ink);width:100%;min-width:0;padding:10px 12px}input::placeholder{color:var(--color-text-secondary);opacity:1}input[aria-invalid=true],select[aria-invalid=true]{border-color:var(--color-danger-border)}input[type=checkbox]{width:20px;min-height:20px}.check{flex-direction:row;align-items:center;gap:10px}.onboarding-page{background:#f5f8f6;flex-direction:column;align-items:center;min-height:100svh;padding:32px 20px;display:flex}.onboarding-page header{width:min(100%,560px);padding-bottom:44px}.onboarding-card{background:#fff;border:1px solid #dae3e0;border-radius:24px;width:min(100%,560px);padding:36px}.onboarding-card h1{overflow-wrap:anywhere;margin:24px 0 32px;font-size:clamp(1.7rem,5vw,2.3rem);line-height:1.2}.onboarding-progress{color:#546b63;justify-content:space-between;align-items:center;gap:20px;font-size:.85rem;display:flex}.onboarding-progress div{gap:6px;display:flex}.onboarding-actions{justify-content:space-between;gap:16px;margin-top:16px;display:flex}.onboarding-options{border:0;margin:0;padding:0;display:grid}.onboarding-option{cursor:pointer;border:1px solid #d5dfdb;border-radius:12px;flex-direction:row;align-items:center;padding:14px;display:flex}.onboarding-option:has(input:focus-visible){outline:3px solid #547c63}.onboarding-option input{accent-color:#356653;flex-shrink:0;width:18px;height:18px;min-height:18px;padding:0}.onboarding-option span{min-width:0}.onboarding-login{text-align:center;margin-top:28px;font-size:.9rem;display:block}.draft-status{color:#61736c;margin:0;font-size:.78rem}.onboarding-page footer{width:min(100%,560px);margin-top:auto;padding-top:36px;font-size:.8rem}.profile-summary{overflow-wrap:anywhere;margin-bottom:24px;padding:24px}.profile-name{overflow-wrap:anywhere;min-width:0;max-width:100%}.workspace-top{flex-wrap:wrap}.semester-chip{white-space:normal}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (max-width:600px){.onboarding-page{padding:24px 16px}.onboarding-page header{padding-bottom:28px}.onboarding-card{border-radius:20px;padding:24px 20px}}.hero-preview .preview-note{width:fit-content;margin:16px 0 0 auto;position:static;transform:none}.back-link{color:var(--muted);margin-bottom:22px;font-size:.85rem;display:inline-block}.course-heading{align-items:flex-start}.save-indicator{color:var(--green);flex-direction:column;gap:10px;max-width:250px;padding-top:8px;font-size:.8rem;display:flex}.metrics-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.metric{border:1px solid var(--line);background:#fff;border-radius:14px;padding:24px}.metric:first-child{background:var(--navy);color:#fff;border-color:var(--navy)}.metric p{min-height:25px;font-size:.8rem;font-weight:600}.metric strong{letter-spacing:-.045em;margin:8px 0;font-size:2.5rem;font-weight:600;display:block}.metric small{font-size:.75rem;line-height:1.5;display:block}.metric:first-child small{color:#b4c6ce}.completion-strip{margin:22px 0 28px}.completion-strip>div:first-child{color:var(--muted);justify-content:space-between;margin-bottom:10px;font-size:.8rem;display:flex}.completion-strip b{color:var(--ink);margin-left:8px}.course-layout{grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);align-items:start;gap:24px;margin-top:24px;display:grid}.assessment-panel{padding:26px}.assessment-group{border-top:1px solid var(--line);padding:22px 0}.assessment-group:last-child{padding-bottom:0}.assessment-title{justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.weight{color:#406239;white-space:nowrap;background:#ecf1e9;border-radius:6px;padding:4px 9px;font-size:.75rem;font-weight:600}.score-fields{grid-template-columns:minmax(75px,1fr) minmax(150px,1.8fr);gap:12px;display:grid}.score-fields label{color:var(--muted);font-size:.75rem}.score-input input{color:var(--ink);font-size:1.1rem;font-weight:600}.status-input select{font-size:.85rem}.field-error{grid-column:1/-1}.field-error,.mode-label{font-size:.8rem}.mode-label select{font-size:.85rem}.category-hint{color:var(--muted);margin-bottom:16px;font-size:.8rem}.destructive{color:#9b3a42}.assessment-group>.button{margin-top:16px;font-size:.8rem}.target-column{flex-direction:column;gap:20px;display:flex}.target-panel .muted{margin:8px 0 12px;font-size:.85rem}.target-panel .stack{gap:12px}.target-panel .stack>.muted{margin:0}.target-panel h3{padding-top:5px;font-size:.8rem}.target-result{background:#e8f1e3;border:1px solid #d4e4ca;border-radius:12px;padding:20px}.target-result>span{font-size:.85rem;font-weight:600;display:block}.target-result>span+span{margin-top:5px;font-size:.75rem;font-weight:400}.target-result>strong{letter-spacing:-.05em;font-size:2.5rem;font-weight:600;line-height:1.5;display:block}.target-result>small{display:block}.target-result p{color:var(--muted);margin-top:10px;font-size:.8rem}.target-result.impossible{background:#fff0ef;border-color:#ecc8c9}.projection-panel{background:#edf1f4}.projection-value{letter-spacing:-.04em;margin:10px 0;font-size:2.5rem;display:block}.projection-panel .muted{font-size:.8rem}.rounding-note{color:var(--muted);padding:0 5px;font-size:.75rem}.dismiss{float:right;background:0 0;border:0;margin-left:15px;font-size:1.3rem}.mobile-logout{display:none}@media (max-width:1100px){.course-layout{grid-template-columns:1fr}.target-column{grid-template-columns:1.2fr 1fr;align-items:start;display:grid}.rounding-note{grid-column:1/-1}.metric{padding:20px}.metric strong{font-size:2rem}}@media (max-width:800px){.mobile-logout{display:block}.mobile-logout .nav-action{color:var(--ink);margin:0}.metrics-grid{gap:10px}.metric{padding:16px}.metric p{font-size:.75rem}.metric small{font-size:.7rem}}@media (max-width:520px){.metrics-grid{grid-template-columns:1fr 1fr}.metric:first-child{grid-column:1/-1}.metric:first-child strong{font-size:2.7rem}.metric p{min-height:36px}.target-column{display:flex}.target-column>.panel{width:100%}.course-heading{gap:15px}.save-indicator{max-width:100%;padding:0}.score-fields{grid-template-columns:1fr 1.6fr}.assessment-panel{padding:20px}.assessment-title h3{font-size:.95rem}}.landing{background:#f9fbfa;max-width:1320px;margin:auto;padding:0 6%}.landing-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:32px 0;display:flex}.hero{grid-template-columns:1.2fr 1fr;align-items:center;gap:65px;padding:90px 0 100px;display:grid}.hero h1{letter-spacing:-.055em;font-size:clamp(2.8rem,4.7vw,4.6rem);line-height:1.08}.hero h1 span{color:#438268}.hero-description{max-width:470px;color:var(--muted);margin:26px 0 30px;font-size:1.15rem}.hero-actions{flex-wrap:wrap;align-items:center;gap:24px;display:flex}.hero-foot{color:var(--muted);margin-top:32px;font-size:.85rem}.hero-preview{padding:20px 0 30px;position:relative}.preview-card{background:#fff;border:1px solid #d7e2dd;border-radius:20px;padding:30px;box-shadow:0 18px 55px #1533260d}.preview-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.preview-top .eyebrow{margin:0;font-size:.7rem}.preview-card h2{margin:28px 0;font-size:1.8rem;line-height:1.2}.preview-card>p{color:var(--muted);font-size:.85rem}.preview-value{letter-spacing:-.065em;margin:0 0 18px;font-size:3.7rem;font-weight:600}.preview-value span{letter-spacing:0;color:var(--muted);font-size:1rem}.preview-card .progress{margin-bottom:12px}.preview-row{border-top:1px solid var(--line);justify-content:space-between;margin-top:18px;padding-top:18px;font-size:.9rem;display:flex}.preview-note{background:var(--lime);border-radius:12px;padding:18px 25px;font-size:.9rem;position:absolute;bottom:0;right:-20px;transform:rotate(-3deg);box-shadow:0 8px 30px #12342012}.features{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:40px;padding:38px 0 55px;display:grid}.feature-number{color:#689a70;font-size:.8rem;font-weight:700}.features h2{margin:12px 0 8px}.features p{color:var(--muted);font-size:.95rem}.landing-footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;gap:25px;padding:25px 0;font-size:.8rem;display:flex}.auth-page{background:linear-gradient(155deg,#edf3ef,#f8faf9);flex-direction:column;align-items:center;padding:36px 20px;display:flex}.auth-page header{margin-bottom:40px}.auth-card{border:1px solid var(--line);background:#fff;border-radius:20px;width:min(100%,440px);padding:36px;box-shadow:0 12px 50px #152c3508}.auth-card h1{font-size:2rem}.auth-card .muted{font-size:.94rem}.auth-page footer{text-align:center;margin-top:auto;padding-top:36px}.sidebar{background:var(--navy);color:#e7eef0;flex-direction:column;flex-shrink:0;width:228px;height:100dvh;padding:32px 22px;display:flex;position:sticky;top:0}.sidebar .logo{color:#fff;padding-left:8px}.workspace-label{letter-spacing:.13em;color:#8da6af;margin:50px 12px 14px;font-size:.65rem}.sidebar nav{flex-direction:column;gap:8px;display:flex}.nav-item{border-radius:9px;align-items:center;gap:12px;padding:12px;font-size:.87rem;display:flex}.nav-item[aria-current]{background:#ffffff12;font-weight:700}@media (hover:hover){.nav-item:hover{background:#ffffff1e}}.nav-item>span{font-size:1.2rem}.sidebar-foot{color:#91abb4;margin-top:auto;padding:25px 12px 0;font-size:.8rem}.nav-action{color:#e6eef0;background:0 0;border:0;margin-top:22px;padding:8px 0;font-size:.9rem}.logout-control{min-width:0}.logout-error{color:var(--color-danger-text);letter-spacing:0;overflow-wrap:anywhere;max-width:28ch;font-size:.8125rem;line-height:1.5}.sidebar .logout-error{color:var(--color-danger-text-inverse)}button[aria-disabled=true]{cursor:wait}.workspace{flex:1;min-width:0}.workspace-top{border-bottom:1px solid var(--line);letter-spacing:.11em;min-height:76px;color:var(--muted);background:#fff;justify-content:space-between;align-items:center;gap:10px;padding:12px 42px;font-size:.65rem;display:flex}.semester-chip{letter-spacing:0;border:1px solid var(--line);border-radius:30px;padding:5px 13px;font-size:.8rem}.workspace-main{max-width:1440px;min-height:calc(100dvh - 165px);margin:auto;padding:42px}.page-heading{justify-content:space-between;align-items:center;gap:24px;margin-bottom:28px;display:flex}.page-heading .muted{margin-top:14px;font-size:.94rem}.page-heading>div{min-width:0}.page-heading h1{overflow-wrap:anywhere}.page-heading .button{flex-shrink:0}.semester-banner{background:#e6eddf;border:1px solid #d8e2d0;border-radius:14px;justify-content:space-between;align-items:center;margin-bottom:38px;padding:25px 30px;display:flex}.semester-banner p{letter-spacing:.12em;color:#516b4c;margin-bottom:8px;font-size:.68rem;font-weight:700}.semester-banner strong{font-size:2rem;line-height:1}.semester-banner strong span{letter-spacing:0;margin-left:8px;font-size:.95rem;font-weight:400}.banner-detail{align-items:center;gap:12px;display:flex}.banner-detail span{color:#51664e;max-width:80px;font-size:.8rem;line-height:1.4}.section-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.section-heading>.muted{font-size:.8rem}.course-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.course-card{border:1px solid var(--line);background:#fff;border-radius:14px;padding:23px}.card-top{justify-content:space-between;align-items:center;gap:8px;margin-bottom:22px;display:flex}.course-symbol{letter-spacing:-.05em;background:#e5ede2;border-radius:10px;justify-content:center;align-items:center;width:42px;height:42px;font-size:.95rem;font-weight:700;display:inline-flex}.tone-1{color:#4d6694;background:#e4eaf5}.tone-2{color:#9b7144;background:#f4e9db}.tone-3{color:#7b61a1;background:#e9e3f3}.tone-4{color:#397788;background:#e1eef0}.card-meta{color:var(--muted);margin-top:4px;font-size:.75rem}.card-score{align-items:center;gap:12px;margin:23px 0 16px;display:flex}.card-score strong{letter-spacing:-.05em;font-size:2.7rem;font-weight:600}.card-score span{line-height:1.5}.card-average,.card-score span{color:var(--muted);font-size:.75rem}.card-average{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;margin-bottom:17px;padding-bottom:20px;display:flex}.card-average b{color:var(--ink);font-size:.9rem}.progress-label{color:var(--muted);justify-content:space-between;margin-bottom:8px;font-size:.75rem;display:flex}.progress-label b{color:var(--ink)}.card-link{color:var(--green);justify-content:space-between;margin-top:22px;font-size:.85rem;font-weight:600;display:flex}.tip{border-top:1px solid var(--line);align-items:center;gap:16px;margin-top:34px;padding:25px 0;display:flex}.tip>span{color:var(--green);background:#e8eee7;border-radius:9px;padding:4px 12px;font-size:1.5rem}.tip strong{font-size:.9rem}.tip p{color:var(--muted);margin-top:3px;font-size:.8rem}.workspace-footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:20px;padding:22px 42px;font-size:.7rem;display:flex}.empty-state{text-align:center;padding:52px 24px}.empty-state p{color:var(--muted);margin:12px 0 24px}.empty-symbol{background:#eaf0e6;border-radius:14px;margin-bottom:20px;padding:2px 15px;font-size:2rem;display:inline-block}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;display:grid}.catalog-card h2{margin:15px 0 5px}.catalog-card>p{font-size:.85rem}.catalog-card ul{margin:22px 0;padding:0;list-style:none}.catalog-card li{border-bottom:1px solid #eef1f3;justify-content:space-between;gap:12px;padding:8px 0;font-size:.85rem;display:flex}.catalog-card small{margin-bottom:18px;display:block}.catalog-card .button{width:100%}.account-panel{max-width:650px}.template-body{border:0;min-width:0;padding:0}.template-builder{margin-top:24px}.template-builder .panel{box-shadow:none;background:#edf2f4;border:0;gap:12px;padding:16px}.template-builder .template-criterion{background:#fff;border:0;gap:12px;padding:12px}.template-builder .template-criterion legend{background:#fff;border-radius:6px;font-size:.85rem}.template-builder label{font-size:.8rem}.template-builder input:not([type=checkbox]),.template-builder select{border-color:var(--color-border-control);background-color:#fff;min-height:42px;padding:9px 10px;font-size:.9rem}.template-builder .template-eligible{border:0;padding:0}.template-builder .template-eligible legend{padding:0 0 8px}.template-icon-remove{color:#a12e35;cursor:pointer;background:0 0;border:0;border-radius:8px;flex:0 0 40px;justify-content:center;align-items:center;width:40px;height:42px;display:inline-flex}@media (hover:hover){.template-icon-remove:hover{background:#fff0f1}}.template-icon-remove:focus-visible{outline:3px solid var(--green);outline-offset:2px}.template-activity-row,.template-condition-row{grid-template-columns:minmax(0,1fr) 150px auto;align-items:end;gap:10px;display:grid}.template-bonus-row,.template-category-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.template-bonus-row{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) minmax(0,1fr)}.template-equal-share{min-height:42px;color:var(--muted);align-items:center;font-size:.9rem;display:flex}.template-short-field{max-width:230px}.partial-average-status{color:#244d41;background:#edf5f1;border-radius:10px;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:6px 12px;padding:12px 14px;display:grid}.partial-average-status p{grid-column:1/-1;font-size:.84rem;line-height:1.5}.optional-exam-warning{color:#714c15;overflow-wrap:anywhere;background:#fff8e9;border-radius:8px;padding:8px 10px;font-size:.83rem;line-height:1.5}.template-share-total{color:var(--muted)}.template-builder .template-consent{font-size:.82rem}.template-builder .template-criterion>.button{align-self:start}.template-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.template-identity-compact .template-fields{grid-template-columns:minmax(0,1fr)}.template-identity-compact{gap:8px}.template-passing{color:var(--muted);font-size:.85rem}.template-rule-picker{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.template-rule-picker label{flex:260px;min-width:0}.template-eligible{border:1px solid var(--line);border-radius:10px;gap:10px;min-width:0;padding:14px;display:grid}.template-eligible legend{font-size:.85rem}.template-eligible .check{overflow-wrap:anywhere;align-items:center;gap:10px;margin:0;display:flex}.template-eligible .check input{flex:0 0 18px;width:18px;height:18px}.template-eligible small{color:var(--muted);margin-left:auto;font-size:.75rem;font-weight:400}.template-criterion{border:1px solid var(--line);border-radius:12px;min-width:0;padding:20px}.template-criterion legend{padding:0 8px;font-weight:650}.template-assessment{gap:12px;padding:14px 16px}.template-assessment-fields{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) 86px 40px;align-items:end;gap:12px;display:grid}.template-assessment-fields>label{min-width:0}.template-criterion small,.template-metadata dd,.template-name{overflow-wrap:anywhere}.template-actions,.template-row{flex-wrap:wrap;align-items:end;gap:14px;display:flex}.template-row>label{flex:180px}.template-actions{align-items:center}.template-remove{align-self:start}.template-consent{align-items:start;line-height:1.7}.template-consent input{flex:0 0 20px;margin-top:4px}.template-status{color:var(--muted);font-size:.78rem}.template-name{margin:8px 0;font-size:1rem}.template-details{margin-bottom:20px}.template-details summary{cursor:pointer;color:var(--green);padding:12px 0}.template-details li small{color:var(--muted);margin:6px 0 0}.template-details li strong{white-space:nowrap}.template-metadata{font-size:.85rem}.template-metadata dt{color:var(--muted);margin-top:12px}.template-metadata dd{margin:4px 0 0}.template-notice{margin-bottom:24px}.curriculum-controls{align-items:center;gap:24px;margin-bottom:24px;display:grid}.curriculum-pending{margin-bottom:24px}.economics-course h2{overflow-wrap:anywhere}.template-variants{margin-top:22px}.template-variant+.template-variant{border-top:1px solid var(--line);margin-top:24px;padding-top:24px}.template-variant .template-status{margin-bottom:12px}.template-variant>.notice{margin:12px 0}.template-variant>.muted{font-size:.85rem}.curriculum-unavailable{margin-top:22px}.curriculum-empty-title{color:var(--muted);font-weight:600}.curriculum-unavailable .notice{margin:12px 0 20px}.curriculum-additional{margin-top:36px}.curriculum-additional>.notice{margin-bottom:22px}@media (max-width:600px){.curriculum-controls{gap:16px}.curriculum-controls,.template-fields{grid-template-columns:minmax(0,1fr)}.template-criterion{padding:14px}.template-assessment-fields{grid-template-columns:minmax(0,1fr) 74px}.template-assessment-fields>label:first-child{grid-area:1/1}.template-assessment-fields>label:nth-child(2){grid-area:2/1}.template-assessment-fields>label:nth-child(3){grid-area:2/2}.template-assessment-fields>.template-icon-remove{grid-area:1/2;justify-self:end}.template-activity-row{grid-template-columns:minmax(0,1fr) 88px 40px;gap:6px}.template-bonus-row,.template-category-controls{grid-template-columns:minmax(0,1fr)}.template-condition-row{grid-template-columns:minmax(0,1fr) 74px}.template-condition-row .template-remove{grid-column:1/-1}.template-actions>.button,.template-row>.button{width:100%}.template-conflict .button{white-space:normal}}.loading-state{flex-direction:column;gap:20px;display:flex}.skeleton{background:#e2e8ec;border-radius:16px;height:130px}@media (max-width:1150px){.course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace-main{padding:28px}.workspace-top{padding:12px 28px}.sidebar{width:210px;padding:28px 16px}.page-heading{align-items:flex-start}.page-heading .button{font-size:.85rem}.hero{gap:35px}.hero h1{font-size:3.4rem}}@media (max-width:800px){.app-shell{display:block}.sidebar{flex-direction:row;justify-content:space-between;align-items:center;gap:18px;width:100%;height:auto;padding:16px 20px;position:relative}.sidebar .logo{padding:0;font-size:1.45rem}.sidebar .logo-mark{width:30px;height:30px;font-size:1.5rem;line-height:27px}.sidebar-foot,.workspace-label{display:none}.sidebar nav{flex-direction:row;gap:2px}.nav-item{padding:8px;font-size:.75rem}.nav-item>span{display:none}.workspace-top{min-height:55px;padding:12px 22px}.workspace-main{min-height:70vh;padding:26px 22px}.workspace-footer{flex-direction:column;align-items:flex-start;padding:22px}.page-heading{flex-wrap:wrap}.page-heading h1{font-size:2rem}.hero{grid-template-columns:1fr;gap:35px;padding:55px 0}.hero h1{font-size:3.3rem}.hero-preview{width:100%;max-width:470px;margin:auto}.preview-note{right:-5px}.features{gap:25px}.landing-footer{flex-direction:column}.hero-description{max-width:none}.hero-foot{margin-top:22px}}@media (max-width:520px){.catalog-grid,.course-grid{grid-template-columns:1fr}.sidebar{flex-wrap:wrap;gap:8px}.sidebar nav{grid-template-columns:repeat(3,minmax(0,1fr));width:100%;display:grid}.nav-item{text-align:center;white-space:normal;overflow-wrap:anywhere;justify-content:center;min-width:0;font-size:.82rem;line-height:1.4}.workspace-top{font-size:.58rem}.semester-banner{gap:15px;padding:22px 20px}.semester-banner strong span{margin:9px 0 0;font-size:.8rem;display:block}.banner-detail{text-align:right;flex-direction:column;align-items:flex-end}.banner-detail span{font-size:.7rem}.section-heading{align-items:flex-end}.section-heading>.muted{font-size:.7rem}.hero h1{font-size:2.75rem}.hero-actions{gap:18px}.hero-description{font-size:1.05rem}.features{grid-template-columns:1fr;gap:30px}.preview-card{padding:24px}.preview-note{padding:14px 20px;font-size:.8rem}.auth-card{padding:28px 24px}.auth-page{padding:28px 18px}.panel{padding:22px}.course-card{padding:24px}.page-heading .button{width:100%}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.workspace-main:has(>.compact-dashboard){padding-top:16px;padding-bottom:20px}.compact-dashboard .page-heading{gap:16px;margin-bottom:12px}.compact-dashboard .page-heading h1{font-size:2rem;line-height:1.15}.compact-dashboard .page-heading .eyebrow{margin-bottom:7px}.compact-dashboard .page-heading .muted{margin-top:7px;font-size:.82rem}.compact-dashboard .semester-banner{gap:12px;margin-bottom:12px;padding:10px 18px}.compact-dashboard .semester-banner strong{font-size:1.2rem}.compact-dashboard .semester-banner strong span{margin:0 0 0 6px;font-size:.8rem;display:inline}.compact-dashboard .semester-banner>span{color:#405b42;font-size:.75rem}.compact-dashboard .course-grid{gap:14px}.compact-course-card{flex-direction:column;gap:5px;min-width:0;padding:12px;display:flex}.card-heading-row{flex-wrap:wrap;align-items:flex-start;gap:6px 8px;min-height:32px}.card-heading-row h2{overflow-wrap:anywhere;flex:170px;min-width:0;margin:0;font-size:1.04rem;line-height:1.25}.semester-badge{color:#456453;white-space:nowrap;background:#f4f8f6;border:1px solid #dce5e2;border-radius:20px;flex:none;padding:3px 7px;font-size:.65rem;line-height:1.35;display:inline-block}.course-title-button{text-align:left;color:var(--ink);cursor:pointer;overflow-wrap:anywhere;width:100%;font-weight:700}@media (hover:hover){.course-title-button:hover{color:var(--green);text-underline-offset:3px;text-decoration:underline}}.compact-course-card .card-meta{margin:-4px 0 0;font-size:.68rem}.card-template-title{color:var(--muted);overflow-wrap:anywhere;font-size:.72rem}.card-planning-overview{grid-template-columns:minmax(0,1fr) 84px;align-items:center;gap:10px;padding:4px 0;display:grid}.card-pass-action{color:#204c3b;text-align:left;cursor:pointer;overflow-wrap:anywhere;background:#eef5f0;border:1px solid #d4e3d8;border-radius:10px;flex-direction:column;justify-content:center;align-items:flex-start;min-width:0;min-height:110px;padding:10px;transition:background .15s,border-color .15s;display:flex}@media (hover:hover){.card-pass-action:hover:not(:disabled){background:#e3eee6;border-color:#6d947c}}.card-pass-action:focus-visible{outline-offset:3px;outline:3px solid #275e49}.card-pass-label{font-size:.72rem;font-weight:650}.card-pass-number{letter-spacing:-.04em;font-variant-numeric:tabular-nums;margin-top:4px;font-size:2.2rem;line-height:1.15}.card-pass-state{margin-top:8px;font-size:1.02rem;line-height:1.25}.card-pass-assessment{margin-top:1px;font-size:.7rem}.card-pass-action small{color:#526b5d;margin-top:6px;font-size:.65rem;line-height:1.35}.card-pass-action.completed_failed,.card-pass-action.impossible{color:#744728;background:#fbf3ed;border-color:#ebdccc}.card-setup-planning{color:var(--muted);padding:10px 0;font-size:.75rem;line-height:1.5}.card-planning-overview .weight-completion{text-align:center;flex-direction:column;justify-content:center;gap:3px}.card-planning-overview .weight-completion>b{margin:0;font-size:1.1rem;line-height:1.2}.planner-choice-group{border:0;min-width:0;margin:0;padding:0}.planner-choice-group legend{margin-bottom:10px;padding:0;font-size:.9rem;font-weight:650}.planning-options{flex-wrap:wrap;gap:8px;display:flex}.planning-options .planning-option{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:8px;flex:125px;align-items:center;gap:8px;min-width:0;min-height:46px;margin:0;padding:10px;font-size:.78rem;line-height:1.35;display:flex}.planning-option:has(input:checked){color:#204c3b;background:#eef5f0;border-color:#537f67}.planning-option:focus-within{outline-offset:2px;outline:2px solid #275e49}.planning-option input[type=radio]{appearance:auto;accent-color:#275e49;flex:0 0 17px;width:17px;height:17px;min-height:0;margin:0;padding:0}.planned-assessment-detail,.planning-pass-rule{color:#436451;margin:12px 0;font-size:.77rem;line-height:1.5}.planned-assessment-detail{overflow-wrap:anywhere;background:#f4f8f5;border-left:3px solid #779d86;margin:0;padding:10px 12px}.planning-rule-unavailable{overflow-wrap:anywhere}.planning-rule-unavailable p{margin:8px 0;font-size:.8rem;line-height:1.5}.weight-completion{align-items:center;gap:9px;min-height:32px;font-size:.77rem;display:flex}.weight-completion>span{color:var(--muted)}.weight-completion>b{font-variant-numeric:tabular-nums;margin-left:auto}.pie-unavailable{stroke:#536e61;stroke-width:2px}.card-categories{background:#f5f8f6;border-radius:6px;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;min-height:50px;padding:6px 8px}.card-categories dt{color:var(--muted);overflow-wrap:anywhere;font-size:.68rem;line-height:1.2}.card-categories dd{margin:4px 0 0;font-size:.85rem;font-weight:650}.card-categories small{color:#675117;margin-left:4px;font-size:.65rem;font-weight:400;display:inline}.card-category-hint{min-height:50px;color:var(--muted);padding:8px 0;font-size:.73rem;line-height:1.4}.card-more-categories{color:var(--muted);font-size:.68rem}.card-edit-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;min-height:28px;margin-top:auto;display:flex}.card-edit-row>.text-link{min-height:28px;font-size:.8rem}.card-edit-row .save-indicator{gap:3px;max-width:100%;padding:0;font-size:.65rem}.dashboard-note{color:var(--muted);margin:14px 0 0;font-size:.72rem;line-height:1.5}.course-dialog{color:var(--ink);background:#f4f6f8;border-radius:18px;width:min(880px,100vw - 48px);max-width:none;margin:auto;padding:0;overflow:hidden;box-shadow:0 24px 80px #071d3040}.course-dialog[open]{flex-direction:column;display:flex}.course-picker-dialog [hidden]{display:none!important}.course-picker-dialog{width:min(920px,100vw - 48px)}.course-picker-dialog .template-builder{margin-top:0}.course-picker-dialog:has(.template-builder){background:#dfe8ec}.course-picker-dialog:has(.template-builder) .course-dialog-header{background:#edf2f4}.course-picker-dialog .template-fields{gap:12px}.course-picker-dialog .template-criterion{padding:14px}.course-picker-dialog .panel{padding:16px}.flow-semester{display:block}.flow-course-list,.flow-models{gap:12px;margin-top:14px;display:grid}.flow-course-option{justify-content:space-between;align-items:center;gap:16px;min-width:0;display:flex}.flow-course-option>div{min-width:0}.flow-course-option h3{overflow-wrap:anywhere;font-size:1rem}.flow-course-option .muted,.flow-course-option small{font-size:.74rem}.flow-course-option .button{flex:none}.flow-course-status{margin:6px 0;font-size:.83rem}.flow-back{justify-self:start}.curriculum-setup-card{min-height:215px}.curriculum-setup-card .button{align-self:start;margin-top:auto}.setup-status{margin-top:8px;font-size:.9rem;font-weight:600}.curriculum-setup-card .notice{margin-bottom:10px}.additional-disciplines{margin-top:28px}.additional-disciplines>h2{font-size:1.1rem}.additional-disciplines>.notice{margin:6px 0 14px}.semester-provenance{margin-top:16px}@media (max-width:600px){.flow-course-option{flex-direction:column;align-items:stretch;gap:10px}.flow-course-option .button{align-self:start}.course-picker-dialog .template-fields{grid-template-columns:minmax(0,1fr)}.course-picker-dialog .template-actions>.button{width:100%}.course-picker-dialog .template-row>label{min-width:0}}.course-dialog-header{border-bottom:1px solid var(--line);background:#fff;flex:none;grid-template-columns:minmax(0,1fr) auto;gap:10px 16px;padding:18px 22px 12px;display:grid}.course-dialog-header h2{overflow-wrap:anywhere;font-size:1.22rem;line-height:1.25}.course-dialog-header .muted{margin-top:5px;font-size:.73rem}.course-dialog-header>.field-error{grid-column:1/-1}.private-model-saved{color:#23634d;grid-column:1/-1;font-size:.75rem}.dialog-header-actions{align-items:start;gap:6px;display:flex}.course-dialog [hidden]{display:none!important}.course-summary-grid{gap:10px}.course-summary-grid .metric:first-child{grid-column:auto}.metric-required{text-align:left;color:#174d3c;cursor:pointer;background:#e8f3ed;border:1px solid #9cbcad;min-width:0}@media (hover:hover){.metric-required:hover{background:#dceee3}}.metric-required-assessment,.metric-required-label{overflow-wrap:anywhere;font-size:.73rem;line-height:1.35;display:block}.metric-required-label{min-height:2.5em;font-weight:600}.course-dialog .metric.metric-required small{color:#315e4d;margin-top:4px;font-size:.66rem;display:block}.private-model-dialog{background:#dfe8ec}.private-model-dialog .course-dialog-header{background:#edf2f4}.private-model-notice{color:#435d6b;margin-bottom:12px;font-size:.78rem}@media (max-width:900px){.course-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.dialog-close{align-self:start;min-height:36px;padding:7px 12px;font-size:.78rem}.dialog-save-row{grid-column:1/-1;justify-content:space-between;align-items:center;gap:14px;font-size:.8rem;display:flex}.dialog-save-row .save-indicator{flex-flow:wrap;gap:10px;max-width:none;padding:0;font-size:.75rem}.course-dialog-body{min-height:0;padding:18px 22px 22px;overflow-y:auto}.course-editor [hidden]{display:none!important}.course-dialog .course-layout{margin-top:14px;display:block}.course-dialog .target-column{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:start;gap:16px;display:grid;position:static}.course-dialog .rounding-note{grid-column:1/-1}.course-dialog .metric{padding:12px}.course-dialog .metric p{min-height:2.5em;font-size:.73rem}.course-dialog .metric strong{margin:4px 0;font-size:1.7rem}.course-dialog .metric small{display:none}.course-dialog .completion-strip{margin:12px 0 16px}.course-dialog .assessment-panel,.course-dialog .projection-panel,.course-dialog .target-panel{padding:18px}.course-dialog .assessment-panel{box-shadow:none;background:0 0;border:0;padding:0}.course-dialog .assessment-group{background:#e2eaee;border:1px solid #ccd8df;border-radius:12px;margin-top:12px;padding:12px;box-shadow:0 2px 4px #153b4810}.course-dialog .assessment-row{background:#fff;border-radius:8px;margin-top:8px;padding:10px}.course-dialog .assessment-standalone .assessment-row{background:0 0;margin-top:0;padding:0}.course-dialog .assessment-group.assessment-standalone{padding:12px}.course-dialog .section-heading h2{font-size:1.15rem}.course-dialog .assessment-title h3{font-size:.95rem}.category-summary{margin:6px 0 12px;font-size:.8rem}.activity-weight{color:var(--muted);text-align:right;white-space:nowrap;font-size:.72rem}.assessment-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(120px,1.35fr) minmax(215px,2fr) 58px 36px;align-items:start;gap:6px 10px;padding:12px 0;display:grid}.assessment-group.assessment-standalone{padding:0}.assessment-row:last-child,.assessment-standalone .assessment-row{border-bottom:0}.assessment-name-field,.assessment-weight{min-width:0;color:var(--muted);flex-direction:column;gap:7px;font-size:.75rem;font-weight:600;display:flex}.assessment-name-display{min-height:42px;color:var(--ink);overflow-wrap:anywhere;background:0 0;border:0;align-items:center;padding:9px 0;font-size:.85rem;font-weight:600;display:flex}.assessment-row .score-fields{grid-template-columns:minmax(65px,.7fr) minmax(120px,1.4fr);gap:8px;min-width:0}.assessment-row .score-fields label{min-width:0}.assessment-row input,.assessment-row select{min-width:0;min-height:42px;margin:0;padding:9px 10px;font-size:.85rem}.assessment-row .activity-name{font-weight:400}.assessment-weight{text-align:right}.assessment-row .activity-weight{font-weight:400;line-height:42px}.activity-remove{color:#af2537;background:#fff6f7;border:1px solid #ecc7cd;border-radius:8px;justify-content:center;align-items:center;width:36px;min-height:42px;margin-top:25px;display:inline-flex}@media (hover:hover){.activity-remove:hover{background:#ffe7eb}}.activity-draft-hint,.activity-empty{color:var(--muted);font-size:.75rem}.activity-draft-hint{grid-column:1/-1}.activity-empty{margin-top:12px}@container (max-width:560px){.assessment-row{grid-template-columns:minmax(0,1fr) 58px 36px;gap:8px}.assessment-name-field{grid-area:1/1}.assessment-row .score-fields{grid-area:2/1/auto/-1}.assessment-weight{grid-area:1/2}.activity-remove{grid-area:1/3}}.course-dialog .editor-next-step{width:100%;margin-top:16px;font-size:.83rem}@media (max-width:600px){.compact-dashboard .semester-banner{flex-wrap:wrap;padding:12px}.compact-course-card{padding:16px}.compact-dashboard .page-heading{gap:12px}.course-dialog{border-radius:12px;width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}.course-picker-dialog{width:calc(100vw - 32px);max-height:calc(100dvh - 40px)}.course-dialog-header{gap:8px;padding:14px 12px 10px}.course-dialog-header h2{font-size:1.08rem}.course-dialog-body{padding:12px}.course-dialog .metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.course-dialog .metric{padding:9px}.course-dialog .metric p{min-height:3.6em;font-size:.8125rem}.course-dialog .metric strong{font-size:1.3rem}.course-dialog .target-column{grid-template-columns:1fr}.course-dialog .assessment-panel,.course-dialog .projection-panel,.course-dialog .target-panel{padding:12px}.course-dialog .assessment-panel{padding:0}.course-dialog .assessment-group{padding:10px}.course-dialog .metric p{min-height:2.5em}}@media (max-width:800px){.assessment-row input,.assessment-row select,.mode-label select,.status-input select,.template-builder input:not([type=checkbox]),.template-builder select,input:not([type=checkbox]):not([type=radio]),select{font-size:1rem}.assessment-name-field,.assessment-weight,.score-fields label,.target-panel label,.template-builder label{font-size:.8125rem}.activity-weight,.card-categories dt,.card-categories small,.card-category-hint,.card-edit-row .save-indicator,.card-more-categories,.card-pass-action small,.card-pass-assessment,.card-pass-label,.card-planning-overview .weight-completion>span,.card-template-title,.course-dialog .metric.metric-required small,.dashboard-note,.metric-required-assessment,.metric-required-label,.semester-badge,.workspace-top{font-size:.75rem;line-height:1.4}}@media (max-width:360px){.template-activity-row{grid-template-columns:minmax(0,1fr) 40px}.template-activity-row>label:first-child{grid-column:1}.template-activity-row>.template-equal-share,.template-activity-row>label:nth-child(2){grid-area:2/1}.template-activity-row>.template-icon-remove{grid-area:1/2}}@font-face{font-family:"Source Serif 4";src:url(/fonts/source-serif-4-latin.woff2)format("woff2");font-style:normal;font-weight:400 700;font-display:swap}@font-face{font-family:Source Sans\ 3;src:url(/fonts/source-sans-3-latin.woff2)format("woff2");font-style:normal;font-weight:400 700;font-display:swap}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{min-height:100dvh}:is(h1,h2,h3){font-family:var(--font-heading);letter-spacing:-.025em;text-wrap:balance;overflow-wrap:anywhere;font-weight:500;line-height:1.4}.page-heading h1,h1{font-size:var(--text-page);font-weight:400;line-height:1.2}h2{font-size:var(--text-section)}h3{font-size:1.125rem}:is(button,a){touch-action:manipulation}:is(input,select,textarea){background:var(--color-bg-surface);border-color:var(--color-border-control);border-radius:var(--radius-control);color:var(--color-text-primary);font-size:var(--text-body);min-height:44px}input:disabled,select:disabled{background:var(--color-bg-group);opacity:1;color:var(--color-text-secondary)}input[type=checkbox],input[type=radio]{accent-color:var(--color-accent)}label{color:var(--color-text-secondary)}:is(strong,dd,input,.activity-weight){font-variant-numeric:tabular-nums}:is(a,button,input,select,textarea,summary):focus-visible,:is(h1,h2)[tabindex="-1"]:focus{outline:3px solid var(--color-border-focus);outline-offset:4px}.logo{font-family:var(--font-heading);font-weight:600}.logo-mark{width:2.125rem;height:2.375rem;color:var(--color-text-inverse);background:var(--color-accent);place-items:center;font-size:1.5rem;line-height:1;display:grid}.button,.logo-mark{border-radius:var(--radius-control)}.button{min-height:44px;font-family:var(--font-body);box-shadow:none;overflow-wrap:anywhere;white-space:normal;padding:10px 16px;font-size:.9375rem;font-weight:600;transition:none}.button.primary{color:var(--color-text-inverse);background:var(--color-accent);border-color:var(--color-accent)}.button.secondary{color:var(--color-accent);border-color:var(--color-border-control);background:0 0}.button.danger{background:var(--color-danger-text);color:var(--color-text-inverse)}.button:disabled{opacity:1;background:var(--color-bg-group);color:var(--color-text-secondary);border-color:var(--color-border-subtle)}.text-link{color:var(--color-accent);text-underline-offset:4px}.panel{border-radius:var(--radius-surface);background:var(--color-bg-surface);border:1px solid var(--color-border-subtle);box-shadow:none}.badge{background:var(--color-bg-group);color:var(--color-text-secondary);white-space:normal}.metric{background:var(--color-bg-surface);border-radius:var(--radius-surface);min-width:0}.metric:first-child{color:var(--color-text-primary);background:var(--color-bg-group);border-color:var(--color-border-subtle)}.metric strong{font-family:var(--font-heading);font-weight:500}.metric small,.metric:first-child small{color:var(--color-text-secondary)}.alert{background:var(--color-warning-bg);border-color:var(--color-warning-text);color:var(--color-warning-text);overflow-wrap:anywhere}.alert.error{background:var(--color-danger-bg)}.alert.success{background:var(--color-success-bg);border-color:var(--color-success-text);color:var(--color-success-text)}.destructive,.field-error{color:var(--color-danger-text)}.save-indicator{color:var(--color-text-secondary)}.score-fields{grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr))}.save-indicator[data-save-state=conflict],.save-indicator[data-save-state=error]{color:var(--color-danger-text)}.page-heading{flex-wrap:wrap;gap:16px 24px}.empty-state{padding:32px 24px}.empty-state p{max-width:65ch;margin-inline:auto}.back-link{color:var(--color-accent);text-underline-offset:4px;min-height:24px;text-decoration:underline}.skeleton{background:var(--color-bg-group);border-radius:var(--radius-surface);animation:none}@media (hover:hover){.button.primary:hover:not(:disabled){background:var(--color-accent-hover)}.button.secondary:hover:not(:disabled){background:var(--color-bg-group)}.text-link:hover{color:var(--color-accent-hover)}}@media (forced-colors:active){.button,.logo-mark,.panel{border:1px solid canvastext}}.compact-dashboard .page-heading{align-items:center;margin-block-end:16px}.compact-dashboard .page-heading h1{font-family:var(--font-heading);letter-spacing:-.04em;font-size:2.7rem;font-weight:400;line-height:1.2}.compact-dashboard .semester-banner{border:0;border-block-start:1px solid var(--line);color:var(--ink);background:0 0;border-radius:0;flex-wrap:wrap;gap:8px 24px;margin:0;padding:16px 0 18px;display:flex}.compact-dashboard .semester-banner strong{font-family:var(--font-body);font-size:1rem;font-weight:600}.compact-dashboard .semester-banner strong span,.compact-dashboard .semester-banner>span{color:var(--muted);margin:0;font-size:.875rem;font-weight:400}.compact-dashboard .course-grid{grid-template-columns:minmax(0,1fr);gap:10px;display:grid}.compact-course-card{background:var(--color-bg-surface);border:1px solid var(--line);border-radius:var(--radius-surface);box-shadow:none;grid-template-rows:auto auto;grid-template-columns:minmax(0,1.13fr) minmax(0,1.18fr) minmax(0,1fr) 44px;align-items:center;gap:6px 20px;padding:18px 24px;display:grid}.card-heading-row{flex-direction:column-reverse;grid-area:1/1;align-items:start;gap:5px;display:flex}.card-heading-row h2{font-family:var(--font-heading);font-size:1.375rem;font-weight:500;line-height:1.4}.course-title-button{font:inherit;text-align:start;min-height:30px;font-weight:500}.semester-badge{color:var(--muted);white-space:normal;background:0 0;border:0;border-radius:0;padding:0;font-size:.8125rem;font-weight:400}.compact-course-card .card-model-status{color:var(--muted);grid-area:2/1;align-self:start;margin:0;font-size:.8125rem}.card-planning-overview{grid-area:1/2/3;grid-template-columns:minmax(0,1fr) 76px;gap:12px;padding:0}.card-pass-action{min-height:96px;color:var(--ink);text-align:start;background:0 0;border:0;border-radius:4px;padding:0}.card-pass-label{color:var(--muted);font-size:.8125rem;font-weight:400;line-height:1.4}.card-pass-number{font-family:var(--font-heading);color:var(--color-accent);letter-spacing:-.025em;margin-block:3px 0;font-size:2rem;font-weight:500;line-height:1.2}.card-pass-state{margin-block-start:4px;font-size:1rem;font-weight:600;line-height:1.4}.card-pass-assessment{font-size:.875rem}.card-goal-badge{width:fit-content;max-width:100%;padding:var(--space-1) var(--space-2);border-radius:var(--radius-control);background:var(--color-accent-soft);color:var(--color-accent);font-family:var(--font-body);font-size:var(--text-caption);overflow-wrap:anywhere;margin-block-start:var(--space-2);font-weight:600;line-height:1.4;display:block}.card-pass-action small{color:var(--muted);margin-block-start:4px;font-size:.8125rem;line-height:1.4}.weight-pie{flex:none;width:48px;height:48px}.pie-remaining{fill:var(--color-bg-group);stroke:var(--color-border-control);stroke-width:.5px}.pie-completed{fill:var(--color-weight-completed)}.weight-completion{gap:3px;min-width:0}.card-planning-overview .weight-completion>span{font-size:.8125rem;line-height:1.4}.card-planning-overview .weight-completion>b{font-size:.9375rem;font-weight:600}.card-assessments{border-inline-start:1px solid var(--line);grid-area:1/3/3/-1;place-self:center;gap:6px;width:100%;min-width:0;padding-inline:22px 32px;display:grid}.card-categories{background:0 0;border-radius:0;grid-template-columns:minmax(0,1fr);gap:5px;min-height:0;margin:0;padding:0;display:grid}.card-categories>div{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.card-categories dt{font-size:.8125rem;line-height:1.4}.card-categories dd{white-space:nowrap;margin:0;font-size:.9375rem;font-weight:600}.card-categories small{color:var(--color-warning-text);font-size:.75rem}.card-edit-row{grid-area:3/3/auto/-1;justify-content:end;gap:6px 12px;min-height:0;margin:0;padding-inline-start:22px}.card-edit-button{z-index:1;width:26px;height:26px;color:var(--color-accent);border-radius:var(--radius-control);background:0 0;border:1px solid #0000;grid-area:1/4;place-self:start end;place-items:center;margin-block-start:-12px;margin-inline-end:-12px;padding:0;display:inline-grid}.card-edit-button:focus-visible{outline:3px solid var(--color-border-focus);outline-offset:2px}.card-edit-row .save-indicator{color:var(--muted);font-size:.75rem}.semester-provenance{color:var(--muted);margin-block:12px 0;font-size:.8125rem}@media (hover:hover){.card-edit-button:hover:not(:disabled){color:var(--color-accent-hover);background:var(--color-bg-group);border-color:var(--color-border-control)}.course-title-button:hover{color:var(--color-accent-hover);text-underline-offset:4px;text-decoration:underline}.card-pass-action:hover:not(:disabled){background:0 0;border-color:#0000}.card-pass-action:hover :is(.card-pass-number,.card-pass-state){text-underline-offset:5px;text-decoration:underline;text-decoration-thickness:1px}}@media (max-width:960px){.compact-course-card{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 44px;gap:12px 24px}.card-heading-row{grid-area:1/1}.compact-course-card .card-model-status{grid-area:2/1}.card-planning-overview{grid-area:1/2/3}.card-edit-button{grid-column:3}.card-assessments{border-inline-start:0;border-block-start:1px solid var(--line);grid-area:3/1/auto/-1;padding:12px 0 0}.card-categories{grid-template-columns:repeat(3,minmax(0,1fr))}.card-categories[data-count="1"]{grid-template-columns:minmax(0,1fr)}.card-categories[data-count="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}.card-categories[data-count="4"]{grid-template-columns:repeat(4,minmax(0,1fr))}.card-categories>div{flex-direction:column;gap:2px}.card-edit-row{grid-area:4/1/auto/-1;padding:0}}@media (max-width:700px){.compact-dashboard .page-heading{flex-wrap:wrap;gap:16px}.compact-dashboard .page-heading h1{font-size:2.125rem}.compact-dashboard .page-heading .button{width:auto}.compact-dashboard .semester-banner{gap:4px 16px;padding-block:14px}.compact-course-card{grid-template-columns:minmax(0,1fr) 44px;gap:5px;padding:16px}.card-heading-row{flex-flow:wrap;grid-area:auto/1;gap:5px}.card-heading-row h2{flex-basis:100%;font-size:1.3rem}.semester-badge{font-size:.8125rem}.compact-course-card .card-model-status{grid-area:auto/1}.card-planning-overview{grid-area:auto/1/auto/-1;grid-template-columns:minmax(0,1fr) 76px;margin-block:10px}.card-pass-action{min-height:84px}.card-assessments{grid-area:auto/1/auto/-1;padding-block-start:12px}.card-categories[data-count="4"]{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.card-edit-row{grid-area:auto/1/auto/-1;gap:4px 10px;padding-block-start:8px}.card-edit-button{grid-column:2;margin-block-start:-8px;margin-inline-end:-8px}.card-edit-row .save-indicator{font-size:.75rem}.semester-provenance{line-height:1.5}}@media (forced-colors:active){.compact-course-card{border:1px solid canvastext}.pie-completed{fill:highlight}.pie-remaining{fill:canvas;stroke:canvastext}}.card-identity{grid-area:1/1/3;gap:6px;min-width:0;display:grid}.card-identity .card-heading-row,.compact-course-card .card-identity .card-model-status{grid-area:auto}.card-heading-row{flex-flow:column}.card-heading-row h2{flex:none}.card-category-hint,.card-template-title,.dashboard-note{font-size:var(--text-caption);line-height:1.5}.card-category-hint{margin:0}.compact-course-card>.notice{font-size:var(--text-caption);grid-column:2/-1}.card-pass-action{transition:none}.card-pass-action:focus-visible{outline-color:var(--color-border-focus)}.card-pass-action.completed_failed,.card-pass-action.impossible{color:var(--color-warning-text);background:0 0;border:0}.curriculum-setup-card{grid-template-columns:minmax(0,1.13fr) minmax(0,1.18fr) minmax(0,1fr);gap:4px 28px;min-height:0}.curriculum-setup-card .card-heading-row{grid-area:1/1/4}.curriculum-setup-card .card-setup-planning,.curriculum-setup-card>.notice,.curriculum-setup-card>.setup-status,.curriculum-setup-card>.template-status{font-size:var(--text-caption);grid-area:auto/2;margin:0;padding:0}.curriculum-setup-card>.button{grid-area:1/3/4;place-self:center end;width:fit-content;max-width:100%;margin:0}.setup-empty-message{grid-area:1/2/4;place-self:center;gap:4px;inline-size:max-content;min-inline-size:0;max-inline-size:100%;display:grid}.curriculum-setup-card .setup-empty-message>p{font-size:var(--text-caption);margin:0;padding:0}.setup-empty-message>.setup-empty-notice{max-inline-size:35ch}.additional-disciplines>h2{font-family:var(--font-body);font-weight:600;font-size:var(--text-body)}.additional-disciplines>.notice{font-size:var(--text-caption)}@media (max-width:960px){.card-identity{grid-area:1/1/3}.compact-course-card>.notice{grid-column:1/-1}.curriculum-setup-card{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.curriculum-setup-card>.button{grid-area:auto/1/auto/-1;margin-top:12px}}@media (max-width:700px){.card-identity{grid-area:1/1}.curriculum-setup-card{grid-template-columns:minmax(0,1fr);gap:8px}.curriculum-setup-card>:is(.card-heading-row,.setup-empty-message,.setup-status,.template-status,.notice,.card-setup-planning,.button){grid-area:auto/1}.setup-empty-message{justify-self:start;inline-size:100%}}.course-dialog{background:var(--color-bg-surface);border:1px solid var(--line);border-radius:10px;width:min(960px,100vw - 48px);max-height:calc(100dvh - 48px);box-shadow:0 20px 64px #302d282b}.course-dialog-header,.private-model-dialog .course-dialog-header{background:var(--color-bg-surface);border-block-end:1px solid var(--line);gap:8px 24px;padding:22px 28px 14px}.course-dialog-header h2{font-family:var(--font-heading);font-size:1.75rem;font-weight:500;line-height:1.4}.course-dialog-header .muted{font-size:.875rem}.private-model-notice{color:var(--color-text-secondary);font-size:var(--text-small)}.dialog-close{min-height:44px;padding:8px 14px}.dialog-save-row .save-indicator{color:var(--muted);font-size:.8125rem}.course-dialog-body{scrollbar-gutter:stable;padding:22px 28px 28px;scroll-padding-block:12px}.course-summary-grid{border-block-end:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));gap:0;padding-block-end:20px}.course-dialog .metric{color:var(--ink);border:0;border-inline-start:1px solid var(--line);box-shadow:none;background:0 0;border-radius:0;padding:0 20px}.course-dialog .metric:first-child{color:var(--ink);background:0 0;border-inline-start:0;padding-inline-start:0}.course-dialog .metric p,.metric-required-label{color:var(--muted);min-height:2.8em;font-size:.8125rem;font-weight:400;line-height:1.4}.course-dialog .metric strong{letter-spacing:-.025em;margin-block:4px;font-size:1.85rem;font-weight:500;line-height:1.3}.course-dialog .metric small{color:var(--muted);font-size:.8125rem;line-height:1.4;display:block}.course-dialog .metric-required{border-radius:var(--radius-control);color:var(--color-accent);text-align:start;padding-inline-end:8px}.course-dialog .metric-required .required-state{font-size:1rem;line-height:1.4}.course-dialog .metric.metric-required small,.metric-required-assessment{color:var(--muted);font-size:.8125rem;line-height:1.4}.course-dialog .course-layout{margin-block-start:20px}.course-dialog .section-heading{flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin-block-end:8px}.course-dialog .section-heading h2{font-family:var(--font-heading);font-size:1.3rem}.course-dialog .section-heading .muted{font-size:.8125rem}.course-dialog .assessment-group,.course-dialog .assessment-group.assessment-standalone{border:0;border-block-end:1px solid var(--line);box-shadow:none;background:0 0;border-radius:0;margin-block-start:0;padding:12px 0}.course-dialog .assessment-title h3{font-family:var(--font-body);font-size:1rem;font-weight:600}.course-dialog .assessment-row{background:0 0;border:0;border-radius:0;grid-template-columns:minmax(120px,1.2fr) minmax(258px,1.6fr) 70px 40px;gap:8px 16px;margin-block-start:0;padding:8px 0}.assessment-name-field,.assessment-weight,.score-fields label{color:var(--muted);font-size:.8125rem;font-weight:400}.assessment-name-display{min-height:44px;font-size:1rem;font-weight:500}.assessment-row .score-fields{grid-template-columns:minmax(110px,.9fr) minmax(136px,1.4fr);gap:12px}.assessment-row .activity-weight{font-size:.875rem;line-height:44px}.assessment-row :is(input,select){min-height:44px;padding:8px 10px;font-size:1rem}.category-summary{color:var(--muted);margin-block:6px 4px;font-size:.875rem}.weight{background:var(--color-bg-group);color:var(--muted);border-radius:4px;font-size:.8125rem;font-weight:500}.mode-label{color:var(--muted);flex-wrap:wrap;font-size:.875rem}.activity-remove{border-color:var(--color-danger-border);width:40px;min-height:44px;color:var(--color-danger-text);border-radius:var(--radius-control);background:0 0}.course-dialog .editor-next-step{width:auto;margin-block-start:20px}.target-panel{box-shadow:none;background:0 0;border:0;padding:0!important}.projection-panel{background:var(--color-bg-group);border-radius:var(--radius-surface);border:0;padding:20px!important}.projection-panel h2,.target-panel h2{font-size:1.5rem}.target-panel h3{font-size:1.125rem;line-height:1.4}.planning-heading{align-items:center;gap:var(--space-2);display:flex}.planning-heading h2{flex:1;min-width:0}.planning-help{flex:0 0 44px;align-self:center;display:inline-flex;position:relative}.planning-help-button{width:44px;min-height:44px;color:var(--color-text-secondary);border-radius:var(--radius-control);background:0 0;border:1px solid #0000;place-items:center;padding:0;display:inline-grid}.planning-help-button[aria-expanded=true]{background:var(--color-bg-group);border-color:var(--color-border-control)}.planning-help-content{z-index:2;width:min(26rem,100vw - 96px);padding:var(--space-3);color:var(--color-text-primary);background:var(--color-bg-surface);border:1px solid var(--color-border-control);border-radius:var(--radius-control);box-shadow:var(--shadow-dialog);overflow-wrap:anywhere;inset-inline-end:0;font-size:.875rem;line-height:1.5;position:absolute;top:100%}.planning-help-content[hidden]{display:none}.planned-assessment-detail{color:var(--muted);background:var(--color-bg-group);border-color:var(--color-border-control);font-size:.875rem}.projection-panel .eyebrow,.target-panel .eyebrow{color:var(--color-accent);font-size:.8125rem}.planning-options .planning-option{background:var(--color-bg-surface);color:var(--ink);border-color:var(--color-border-control);border-radius:var(--radius-control);min-height:44px;font-size:.9375rem}.planning-option:has(input:checked){background:var(--color-accent-soft);border-color:var(--color-accent);color:var(--color-accent)}.planning-option:focus-within{outline-color:var(--color-border-focus)}input[type=radio]{accent-color:var(--color-accent);min-height:18px}.target-result{background:var(--color-accent-soft);border:0;border-inline-start:3px solid var(--color-accent);color:var(--ink);border-radius:0;padding:16px}.target-result.underdetermined{background:var(--color-bg-group);border-color:var(--color-warning-text)}.target-result.impossible{border-color:var(--color-danger-border);background:#f9ede7}.projection-value,.target-result>strong{font-family:var(--font-heading);color:var(--color-accent)}.template-details{border:1px solid var(--line);border-radius:var(--radius-surface);margin-block-start:20px;padding:16px}.field-error{font-size:.875rem;line-height:1.5}.alert.error,.field-error{color:var(--color-danger-text)}.alert.error{border-color:var(--color-danger-border);background:#f9ede7}.alert.success{background:var(--color-bg-group);color:var(--color-weight-completed);border-color:var(--color-weight-completed)}.category-hint,.planning-bound-assessment,.planning-pass-rule,.rounding-note{color:var(--muted);font-size:.875rem}.projection-panel .muted,.target-panel .muted,.target-panel label{font-size:.9375rem}@media (hover:hover){.button.primary:hover{background:var(--color-accent-hover)}.button.secondary:hover{background:var(--color-bg-group)}.text-link:hover{color:var(--color-accent-hover);text-underline-offset:4px;text-decoration:underline}.metric-required:hover{background:var(--color-accent-soft)}}@media (max-width:960px){.course-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 0}.course-dialog .metric:nth-child(3){border-inline-start:0;padding-inline-start:0}}@container (max-width:560px){.course-dialog .assessment-row{grid-template-columns:minmax(0,1fr) 64px 40px;gap:8px}.course-dialog .assessment-row:not(:has(.activity-remove)){grid-template-columns:minmax(0,1fr) 64px}.assessment-row .score-fields{grid-template-columns:minmax(110px,.9fr) minmax(0,1.4fr)}}@media (max-width:700px){.course-dialog{border-radius:8px;width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}.course-dialog-header{gap:6px 12px;padding:16px 16px 12px}.course-dialog-header h2{font-size:1.375rem}.course-dialog-body{padding:18px 16px 24px}.course-dialog .metric{padding-inline:12px}.course-dialog .metric:first-child,.course-dialog .metric:nth-child(3){padding-inline-start:0}.course-dialog .metric strong{font-size:1.6rem}.course-dialog .metric p{min-height:2.8em}.course-dialog .metric small{font-size:.75rem}.course-dialog .target-column{grid-template-columns:minmax(0,1fr)}.course-dialog .editor-next-step{width:100%}.dialog-save-row{flex-wrap:wrap}}@media (forced-colors:active){.course-dialog{border:1px solid canvastext}}.course-dialog{box-shadow:var(--shadow-dialog)}.course-dialog::backdrop{background:var(--color-backdrop)}.course-dialog-body{overscroll-behavior:contain}.dialog-header-actions{flex-wrap:wrap}.dialog-save-row:has(>.save-indicator:only-child:empty){display:none}.assessment-panel{container-type:inline-size}.assessment-group{box-shadow:none;background:0 0;border-radius:0}.assessment-category-body{min-width:0;margin-inline-start:var(--space-4)}.assessment-category-body>.button{margin-block-start:var(--space-2);font-size:.8rem}.assessment-row .activity-remove{margin-block-start:0}.assessment-row .score-value-field{min-width:0;display:block;position:relative}.assessment-row .score-value-field input{font-variant-numeric:tabular-nums;width:100%;padding-inline-end:40px}.assessment-row .score-scale{color:var(--color-text-secondary);pointer-events:none;-webkit-user-select:none;user-select:none;inset-inline-end:10px;font-size:.875rem;position:absolute;top:50%;transform:translateY(-50%)}.course-layout .assessment-row{border-color:var(--color-border-subtle);background:0 0;border-radius:0}.target-result.impossible{background:var(--color-danger-bg)}.private-model-saved{color:var(--color-success-text)}.metric-required,.metric-required:hover{color:var(--color-accent);background:var(--color-accent-soft);border-color:var(--color-accent)}.course-dialog .metric-required strong{color:var(--color-accent)}.planning-option input[type=radio]{accent-color:var(--color-accent)}.assessment-row{grid-template-columns:minmax(120px,1.35fr) minmax(258px,2fr) 58px 40px}@container (max-width:560px){.assessment-category-body{margin-inline-start:var(--space-2)}.assessment-row{grid-template-columns:minmax(0,1fr) 58px 40px}}@media (max-width:520px){.course-dialog-header{grid-template-columns:minmax(0,1fr)}.dialog-header-actions{justify-content:flex-end}.course-dialog .course-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.planning-assessment-choice .planning-option,.planning-substitution-switch{border:1px solid var(--color-border-control);border-radius:var(--radius-control);cursor:pointer;flex-direction:row;align-items:center;gap:12px;min-height:44px;padding:10px 12px;display:flex}.planning-substitution-switch input[role=switch]{appearance:none;border:1px solid var(--color-text-secondary);background:var(--color-bg-group);border-radius:16px;flex:0 0 42px;width:42px;height:24px;min-height:24px;margin:0;padding:2px}.planning-substitution-switch input[role=switch]:before{content:"";background:var(--color-text-secondary);border-radius:50%;width:18px;height:18px;display:block}.planning-substitution-switch input[role=switch]:checked{background:var(--color-accent);border-color:var(--color-accent)}.planning-substitution-switch input[role=switch]:checked:before{background:var(--color-bg-surface);transform:translate(18px)}.planning-substitution-switch:focus-within{outline:2px solid var(--color-border-focus);outline-offset:3px}.planning-assessment-choice .planning-option+.planning-option{margin-top:8px}.course-dialog:not(.private-model-dialog):has(.course-editor-planning){width:min(680px,100vw - 48px)}.course-dialog .course-editor-planning .target-column{display:block}.planning-target-field{gap:var(--space-2);display:grid}.planning-field-heading{align-items:center;gap:var(--space-2);display:flex}.planning-field-heading h3,.planning-field-heading label{flex:1;min-width:0;margin:0}.planning-mode-row{align-items:center;gap:var(--space-2);border:1px solid var(--color-border-control);border-radius:var(--radius-control);padding-inline:12px 4px;display:flex}.planning-mode-row .planning-substitution-switch{border:0;flex:1;min-width:0;padding:0}.planning-bound-assessment,.planning-real-result{color:var(--color-text-secondary);font-size:var(--text-small);margin:0}.planning-answer{flex-wrap:wrap;align-items:baseline;gap:12px;display:flex}.planning-answer strong{font-family:var(--font-heading);color:var(--color-accent);font-size:2.5rem;font-weight:500;line-height:1.2}.planning-answer span{color:var(--color-text-secondary)}.planning-simulation>summary{cursor:pointer;color:var(--color-accent);padding-block:12px;font-weight:600}.planning-simulation>summary:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:3px}.planning-simulation-body{padding-block-start:8px}.planning-simulation .projection-panel{margin:0;padding:16px!important}.planning-confirm-replacement{gap:var(--space-2);display:grid}.catalog-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,25rem),1fr));align-items:start;gap:16px}.catalog-card,.draft-card{background:var(--color-bg-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-surface);min-width:0;box-shadow:none;padding:24px}.catalog-card .course-symbol{background:var(--color-bg-group);width:34px;height:34px;color:var(--color-accent);border-radius:var(--radius-control);font-family:var(--font-heading);letter-spacing:0;place-items:center;margin:0;font-size:1rem;font-weight:500;display:inline-grid}.catalog-card h2,.draft-card h2{overflow-wrap:anywhere;margin:14px 0 6px;font-size:1.5rem;line-height:1.4}.catalog-card>p,.template-variant>.muted{font-size:.9375rem;line-height:1.5}.catalog-card small,.template-variant>small{color:var(--color-text-secondary);margin-block:6px 12px;font-size:.8125rem;line-height:1.5;display:block}.catalog-card .button,.draft-card .button{white-space:normal;place-self:start;width:auto;max-width:100%}.curriculum-controls{background:var(--color-bg-group);border-radius:var(--radius-surface);box-shadow:none;border:0;grid-template-columns:minmax(180px,260px) minmax(0,1fr);gap:16px 24px;margin-block-end:20px;padding:16px 20px}.curriculum-controls label,.flow-semester{color:var(--color-text-secondary);font-size:.875rem;font-weight:500}.curriculum-controls .notice{margin:0;font-size:.875rem;line-height:1.5}.template-name{font-family:var(--font-body);margin-block:12px 6px;font-size:1.0625rem;font-weight:600;line-height:1.4}.template-status{color:var(--color-text-secondary);font-size:.8125rem;line-height:1.5}.template-status.community{color:var(--color-warning-text)}.template-status.reviewed{color:var(--color-success-text)}.template-variants{margin-block-start:16px}.template-variant+.template-variant{border-block-start:1px solid var(--color-border-subtle);margin-block-start:20px;padding-block-start:20px}.template-variant .template-status{margin-block-end:8px}.template-details{border:0;border-block:1px solid var(--color-border-subtle);background:0 0;border-radius:0;margin-block:12px 16px;padding:0}.template-details summary{min-height:44px;color:var(--color-accent);padding-block:12px;font-size:.9375rem;font-weight:600;line-height:1.4}.template-details summary:focus-visible{outline:3px solid var(--color-border-focus);outline-offset:4px}.template-details ul{margin-block:8px 16px;padding:0;list-style:none}.template-details li{border-block-end:1px solid var(--color-border-subtle);justify-content:space-between;align-items:baseline;gap:12px;padding-block:10px;font-size:.9375rem;display:flex}.template-details li>div{min-width:0}.template-details li small{margin-block:4px 0;font-size:.8125rem;line-height:1.5;display:block}.template-details li strong{font-variant-numeric:tabular-nums;flex:none}.template-metadata{margin-block:4px 16px;font-size:.875rem;line-height:1.5}.template-metadata dt{margin-block-start:10px}.template-details>.notice{margin-block:12px}.template-conflict{border-color:var(--color-warning-text);background:var(--color-warning-bg);color:var(--color-text-primary);gap:12px}.template-conflict .button{align-self:start}.curriculum-unavailable{margin-block-start:20px}.curriculum-unavailable .notice{margin-block:8px 16px;font-size:.875rem;line-height:1.5}.curriculum-additional{margin-block-start:28px}.draft-card{gap:10px}.draft-card h2{margin:0}.draft-card>.button{margin-block-start:6px}.course-picker-dialog:has(.template-builder),.course-picker-dialog:has(.template-builder) .course-dialog-header{background:var(--color-bg-surface)}.flow-semester{max-width:280px}.flow-course-list{gap:0;margin-block-start:16px}.course-picker-dialog .flow-course-option{border:0;border-block-end:1px solid var(--color-border-subtle);box-shadow:none;background:0 0;border-radius:0;gap:16px 24px;padding:18px 0}.flow-course-option h3{font-family:var(--font-heading);font-size:1.25rem;font-weight:500;line-height:1.4}.flow-course-option .muted,.flow-course-option small{font-size:.8125rem;line-height:1.5}.flow-course-status{margin-block:6px 2px;font-size:.9375rem;font-weight:500}.flow-models{gap:16px}.course-picker-dialog .flow-models>.template-variant{border:1px solid var(--color-border-subtle);border-radius:var(--radius-surface);background:var(--color-bg-surface);box-shadow:none;margin:0;padding:20px}.template-builder{gap:16px;width:100%;margin-block-start:24px;container:academic-form/inline-size}.template-builder .template-body{gap:20px}.course-picker-dialog .template-builder .panel,.template-builder .panel{background:var(--color-bg-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-surface);min-width:0;box-shadow:none;gap:16px;padding:24px}.template-builder .panel>h2{font-family:var(--font-heading);font-size:1.5rem;font-weight:500;line-height:1.4}.template-builder .template-identity-compact{padding-block:16px}.course-picker-dialog .template-builder .template-fields,.template-builder .template-fields{gap:16px}.template-builder .template-identity-compact .template-fields{grid-template-columns:minmax(0,1fr)}.template-builder label{min-width:0;color:var(--color-text-secondary);gap:6px;font-size:.875rem;font-weight:500;line-height:1.5}.template-builder input:not([type=checkbox]):not([type=radio]),.template-builder select{min-height:44px;color:var(--color-text-primary);background:var(--color-bg-surface);border-color:var(--color-border-control);border-radius:var(--radius-control);padding:9px 12px;font-size:1rem}.template-builder input:not([type=checkbox]):not([type=radio])[aria-invalid=true],.template-builder select[aria-invalid=true]{border-color:var(--color-danger-border)}.template-builder input:disabled,.template-builder select:disabled{color:var(--color-text-secondary);background:var(--color-bg-group)}.course-picker-dialog .template-builder .template-criterion,.template-builder .template-criterion{border:0;border-block-start:1px solid var(--color-border-subtle);background:0 0;border-radius:0;gap:12px;min-width:0;margin:0;padding:16px 0 4px}.template-builder .template-criterion legend{max-width:100%;color:var(--color-text-primary);background:var(--color-bg-surface);font-family:var(--font-body);overflow-wrap:anywhere;border-radius:0;padding:0 12px 0 0;font-size:.9375rem;font-weight:600;line-height:1.5}.course-picker-dialog .template-builder .template-assessment,.template-builder .template-assessment{border:1px solid var(--color-border-subtle);border-radius:var(--radius-surface);background:var(--color-bg-page);gap:10px;padding:12px}.template-builder .template-assessment legend{background:0 0;padding-inline:4px;font-size:.875rem}.template-builder .template-category-inset{border-inline-start:3px solid var(--color-border-control);border-radius:var(--radius-control);background:var(--color-bg-group);gap:8px;min-width:0;margin-inline-start:12px;padding:12px}.template-builder .template-percent-field{min-width:0;display:block;position:relative}.template-builder .template-percent-field input:not([type=checkbox]):not([type=radio]){font-variant-numeric:tabular-nums;width:100%;padding-inline-end:28px}.template-percent-suffix{color:var(--color-text-secondary);pointer-events:none;-webkit-user-select:none;user-select:none;inset-inline-end:10px;position:absolute;top:50%;transform:translateY(-50%)}.template-builder .template-icon-add{width:44px;height:44px;color:var(--color-accent);background:var(--color-bg-surface);border:1px solid var(--color-border-control);border-radius:var(--radius-control);justify-self:start;place-items:center;padding:0;display:inline-grid}.template-builder .template-icon-add:focus-visible{outline:3px solid var(--color-border-focus);outline-offset:3px}.template-builder .template-assessment .field-error{margin:0;font-size:.875rem}.template-builder .template-assessment-fields{grid-template-columns:minmax(0,1.35fr) minmax(0,1.2fr) 96px 44px;align-items:start;gap:8px}.template-builder .template-activity-row>.template-equal-share,.template-builder .template-activity-row>.template-icon-remove,.template-builder .template-activity-row>label,.template-builder .template-assessment-fields>.template-icon-remove,.template-builder .template-assessment-fields>label{grid-area:auto}.template-builder .template-activity-row{grid-template-columns:minmax(0,1fr) 96px 44px;align-items:start;gap:8px}.template-builder .template-condition-row{grid-template-columns:minmax(0,1fr) 140px auto;gap:12px}.template-builder .template-bonus-row,.template-builder .template-category-controls{gap:12px}.template-builder .template-icon-remove{width:44px;height:44px;color:var(--color-danger-text);border-radius:var(--radius-control);background:0 0;border:1px solid #0000;flex-basis:44px}.template-builder .template-icon-remove:focus-visible{outline:3px solid var(--color-border-focus);outline-offset:3px}.template-builder .template-remove{min-height:44px;color:var(--color-danger-text);text-underline-offset:4px;text-decoration:underline}.template-builder .template-equal-share{min-height:44px;color:var(--color-text-secondary);font-variant-numeric:tabular-nums;font-size:1rem}.template-builder .template-passing,.template-builder .template-share-total{color:var(--color-text-secondary);font-size:.9375rem;line-height:1.5}.template-builder .template-eligible{gap:8px}.template-builder .template-eligible legend{margin-block-end:4px;padding:0;font-size:.875rem}.template-builder .template-eligible .check{background:var(--color-bg-group);border-radius:var(--radius-control);border:1px solid #0000;min-height:44px;padding:8px 12px}.template-builder .template-eligible .check:has(input:checked){border-color:var(--color-accent);background:var(--color-accent-soft)}.template-builder .template-eligible small{margin-inline-start:auto;font-size:.8125rem}.template-builder .template-consent{color:var(--color-text-primary);gap:10px;font-size:.9375rem;font-weight:400;line-height:1.5}.template-builder .template-actions{gap:12px}.template-builder .template-submit{border-block-start:2px solid var(--color-border-subtle)}.additional-rule-summary{color:var(--color-text-primary);gap:12px;margin-block:16px;font-size:.9375rem;line-height:1.5}.additional-rule-summary>div{border-inline-start:2px solid var(--color-border-subtle);padding-inline-start:14px}.additional-rule-summary .notice{margin-block-start:6px;font-size:.875rem;line-height:1.5}.onboarding-page{background:var(--color-bg-page);min-height:100dvh;padding:32px 24px}.onboarding-page header{width:min(100%,600px);padding-block-end:28px}.onboarding-card{background:var(--color-bg-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-surface);width:min(100%,600px);box-shadow:none;padding:32px}.onboarding-card h1{font-family:var(--font-heading);letter-spacing:-.025em;margin-block:20px 28px;font-size:clamp(1.75rem,4vw,2.25rem);font-weight:500;line-height:1.3}.onboarding-progress{color:var(--color-text-secondary);flex-wrap:wrap;gap:12px;font-size:.875rem}.onboarding-progress i{background:var(--color-bg-group);border-radius:0;width:28px;height:4px}.onboarding-progress i.active{background:var(--color-accent)}.onboarding-options{gap:10px}.onboarding-option{min-height:52px;color:var(--color-text-primary);background:var(--color-bg-surface);border-color:var(--color-border-control);border-radius:var(--radius-control);gap:12px;padding:12px 14px;font-size:1rem;font-weight:400;line-height:1.5}.onboarding-option:has(input:checked){background:var(--color-accent-soft);border-color:var(--color-accent)}.onboarding-option:has(input:focus-visible){outline:3px solid var(--color-border-focus);outline-offset:3px}.onboarding-option input{accent-color:var(--color-accent)}.onboarding-options.semesters{grid-template-columns:repeat(2,minmax(0,1fr))}.onboarding-actions{gap:12px;margin-block-start:12px}.onboarding-actions>.button{white-space:normal;max-width:100%}.onboarding-login{margin-block-start:24px;font-size:.9375rem;line-height:1.5}.onboarding-page .draft-status{color:var(--color-text-secondary);font-size:.8125rem;line-height:1.5}.onboarding-page footer{width:min(100%,600px);padding-block-start:28px;font-size:.8125rem}@media (hover:hover){.template-builder .template-icon-add:hover{color:var(--color-accent-hover);background:var(--color-accent-soft)}.template-builder .template-icon-remove:hover,.template-builder .template-remove:hover{color:var(--color-danger-text);background:var(--color-danger-bg)}}@container academic-form (max-width:660px){.course-picker-dialog .template-builder .panel,.template-builder .panel{padding:20px}.template-builder .template-assessment-fields{grid-template-columns:minmax(0,1fr) 96px 44px}.template-builder .template-assessment-fields>label:first-child{grid-column:1/-1}.template-builder .template-condition-row{grid-template-columns:minmax(0,1fr) 110px}.template-builder .template-condition-row .template-remove{grid-column:1/-1}}@container academic-form (max-width:440px){.course-picker-dialog .template-builder .panel,.template-builder .panel{padding:16px}.course-picker-dialog .template-builder .template-fields,.template-builder .template-bonus-row,.template-builder .template-category-controls,.template-builder .template-fields{grid-template-columns:minmax(0,1fr)}.template-builder .template-assessment-fields{grid-template-columns:minmax(0,1fr) 44px}.template-builder .template-assessment-fields>label:nth-child(2){grid-column:1/-1}.course-picker-dialog .template-builder .template-assessment,.template-builder .template-assessment{padding:8px}.template-builder .template-category-inset{margin-inline-start:6px;padding:8px}.template-builder .template-activity-row{grid-template-columns:minmax(0,1fr) 84px 44px;align-items:start;gap:6px}.template-builder .template-condition-row{grid-template-columns:minmax(0,1fr)}.template-builder .template-eligible .check{flex-wrap:wrap}.template-builder .template-actions>.button{width:100%}}@container academic-form (max-width:300px){.template-builder .template-activity-row{grid-template-columns:minmax(0,1fr) 44px}.template-builder .template-activity-row>label:first-child{grid-area:1/1}.template-builder .template-activity-row>label:nth-child(2){grid-area:2/1;width:min(100%,96px)}.template-builder .template-activity-row>.template-icon-remove{grid-area:1/2}}@media (max-width:600px){.catalog-card,.course-picker-dialog .flow-models>.template-variant,.draft-card{padding:20px}.curriculum-controls{grid-template-columns:minmax(0,1fr);gap:12px;padding:16px}.onboarding-page{padding:24px 16px}.onboarding-card{padding:24px 20px}.onboarding-page header{padding-block-end:24px}}@media (max-width:380px){.onboarding-card{padding:22px 16px}.onboarding-options.semesters{grid-template-columns:minmax(0,1fr)}}@media (forced-colors:active){.onboarding-progress i,.template-builder .template-assessment,.template-builder .template-category-inset,.template-builder .template-icon-add,.template-builder .template-icon-remove{border:1px solid canvastext}.onboarding-progress i.active{background:highlight}}.app-shell{--shell-content-width:1280px;--shell-inline-space:clamp(1rem,3.5vw,3rem);min-height:100dvh;color:var(--color-text-primary);background:var(--color-bg-page);flex-direction:column;display:flex}.app-header{background:var(--color-bg-surface);border-block-end:1px solid var(--color-border-subtle)}.app-header-inner{width:100%;max-width:var(--shell-content-width);padding:16px var(--shell-inline-space);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 32px;margin-inline:auto;display:flex}.app-header .logo{color:var(--color-text-primary);flex:none}.app-navigation{flex-wrap:wrap;align-items:stretch;gap:4px 12px;min-width:0;display:flex}.app-navigation .nav-item{border-radius:var(--radius-control) var(--radius-control) 0 0;min-width:0;min-height:44px;color:var(--color-text-secondary);text-align:center;text-wrap:balance;background:0 0;border-block-end:2px solid #0000;justify-content:center;align-items:center;padding:10px 12px;font-size:.9375rem;font-weight:400;line-height:1.4;display:inline-flex}.app-navigation .nav-item[aria-current]{border-block-end-color:var(--color-accent);color:var(--color-accent);background:0 0;font-weight:600}.app-shell .workspace{flex-direction:column;flex:1;min-width:0;display:flex}.app-shell .workspace-top{width:100%;max-width:var(--shell-content-width);min-height:0;padding:16px var(--shell-inline-space) 20px;color:var(--color-text-secondary);letter-spacing:0;background:0 0;border:0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 24px;margin-inline:auto;font-size:.875rem;display:flex}.app-shell .semester-chip{overflow-wrap:anywhere;border:0;border-radius:0;max-width:100%;padding:0;font-size:.875rem;line-height:1.5}.workspace-account{justify-content:flex-end;align-items:start;gap:8px 20px;min-width:0;max-width:100%;display:flex}.workspace-account .profile-name{min-width:0;min-height:44px;color:var(--color-text-primary);text-align:end;text-decoration:underline;-webkit-text-decoration-color:var(--color-border-control);text-decoration-color:var(--color-border-control);text-underline-offset:4px;overflow-wrap:anywhere;align-self:start;padding-block:10px;font-size:.9375rem;font-weight:500;line-height:1.5}.workspace-account .logout-control{flex:0 auto;min-width:0;max-width:30ch}.workspace-account .nav-action{border:1px solid var(--color-border-control);border-radius:var(--radius-control);background:var(--color-bg-surface);min-height:44px;color:var(--color-accent);margin:0;padding:9px 12px;font-size:.875rem;font-weight:500;line-height:1.5}.workspace-account .logout-error{color:var(--color-danger-text);margin-block-start:8px;font-size:.8125rem}.workspace-account .logout-error:empty{margin:0}.app-shell .workspace-main{min-height:0;padding:0 var(--shell-inline-space) 40px;flex:1;scroll-margin-block-start:16px}.app-shell .workspace-footer,.app-shell .workspace-main{width:100%;max-width:var(--shell-content-width);margin-inline:auto}.app-shell .workspace-footer{padding:20px var(--shell-inline-space) 24px;border-block-start:1px solid var(--color-border-subtle);color:var(--color-text-secondary);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px 24px;font-size:.8125rem;line-height:1.5;display:flex}.workspace-footer .notice{max-width:65ch;font-size:inherit;margin:0}@media (hover:hover){.app-navigation .nav-item:hover{background:var(--color-accent-soft);color:var(--color-accent)}.workspace-account .profile-name:hover{color:var(--color-accent);text-decoration-color:currentColor}.workspace-account .nav-action:hover:not([aria-disabled=true]){background:var(--color-accent-soft);color:var(--color-accent-hover)}}@media (max-width:680px){.app-header-inner{gap:12px;padding-block:16px 10px}.app-navigation{flex:100%;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr) minmax(0,1fr);gap:4px;display:grid}.app-navigation .nav-item{padding-inline:6px;font-size:.875rem}.app-shell .workspace-top{align-items:start;gap:8px 16px;padding-block:14px 20px}.workspace-account{flex:auto;justify-content:space-between}.workspace-account .profile-name{text-align:start}}@media (forced-colors:active){.app-navigation .nav-item[aria-current]{border-block-end-color:linktext}}.auth-page{background:var(--color-bg-page);min-height:100dvh;color:var(--color-text-primary);padding:36px 20px 24px}.auth-page>header{text-align:start;width:min(100%,460px);margin-block-end:28px}.auth-tagline{color:var(--color-text-secondary);margin-block-start:10px;font-size:.9375rem;line-height:1.5}.auth-page .auth-card{border:1px solid var(--color-border-subtle);border-radius:var(--radius-surface);background:var(--color-bg-surface);width:min(100%,460px);box-shadow:none;padding:28px 32px 32px;scroll-margin-block-start:16px}.auth-card>.alert{margin-block-end:24px}.auth-form{gap:20px}.auth-form-heading{margin-block-end:4px}.auth-form-heading h1{font-family:var(--font-heading);letter-spacing:-.02em;text-wrap:balance;overflow-wrap:break-word;font-size:clamp(1.875rem,5vw,2.25rem);font-weight:500;line-height:1.3}.auth-form-heading .muted{max-width:42ch;color:var(--color-text-secondary);margin-block-start:10px;font-size:1rem;line-height:1.5}.account-panel>label,.auth-form>label{min-width:0;color:var(--color-text-primary);font-size:.9375rem;font-weight:500;line-height:1.5}.account-panel input:not([type=checkbox]),.auth-form input{background:var(--color-bg-surface);min-height:46px;margin-block-start:6px;font-size:1rem}.auth-form label small{color:var(--color-text-secondary);margin-block-start:6px;font-size:.875rem;font-weight:400;line-height:1.5;display:block}.auth-form>.button{margin-block-start:4px}.auth-form>.text-link{width:fit-content;min-height:32px;padding-block:4px;line-height:1.5}.auth-form>.muted{color:var(--color-text-secondary);font-size:.9375rem;line-height:1.5}.auth-form>.muted a{color:var(--color-accent);text-underline-offset:3px;margin-inline-start:4px;text-decoration:underline}.auth-page>footer{width:min(100%,460px);color:var(--color-text-secondary);text-align:start;margin-block-start:auto;padding-block-start:28px;font-size:.8125rem;line-height:1.5}.auth-page>footer .notice{font-size:inherit}.workspace-main>.profile-summary{border-radius:var(--radius-surface);background:var(--color-bg-group);max-width:760px;box-shadow:none;border:0;gap:6px;margin-block-end:28px;padding:24px 28px;display:grid}.profile-summary h2{font-family:var(--font-heading);margin-block-end:4px;font-size:1.5rem;font-weight:500;line-height:1.3}.profile-summary p{color:var(--color-text-secondary);overflow-wrap:anywhere;font-size:.9375rem;line-height:1.5}.profile-summary p:first-of-type{color:var(--color-text-primary);font-size:1.125rem;font-weight:500}.workspace-main>.account-panel{border:1px solid var(--color-border-subtle);border-radius:var(--radius-surface);background:var(--color-bg-surface);max-width:760px;box-shadow:none;gap:20px;padding:28px}.account-panel h1{font-family:var(--font-heading);letter-spacing:-.02em;overflow-wrap:break-word;font-size:clamp(1.75rem,4vw,2rem);font-weight:500;line-height:1.3}.account-panel>p{max-width:65ch;color:var(--color-text-secondary);font-size:1rem;line-height:1.6}.account-panel>label:not(.check){max-width:420px}.account-panel>.check{align-items:start;gap:12px;padding-block:8px;font-weight:400}.account-panel .check input{flex:none;margin-block-start:3px}.account-panel>.button{align-self:start}@media (max-width:520px){.auth-page{padding:24px 16px}.auth-page>header{margin-block-end:24px}.auth-page .auth-card{padding:24px 20px}.workspace-main>.account-panel,.workspace-main>.profile-summary{padding:20px}}.template-sharing-actions{gap:var(--space-2);margin-block:0 var(--space-4);flex-wrap:wrap;display:flex}.template-action-help{min-width:0;display:inline-flex;position:relative}.template-action-tooltip{z-index:5;width:min(17rem,100vw - 48px);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-control);border-radius:var(--radius-control);background:var(--color-bg-surface);color:var(--color-text-primary);box-shadow:var(--shadow-dialog);overflow-wrap:anywhere;font-size:.875rem;line-height:1.5;position:absolute;inset-block-start:100%;inset-inline-start:0}.template-action-help:last-child .template-action-tooltip{inset-inline:auto 0}.template-action-tooltip[hidden]{display:none}.template-sharing-dialog{border:1px solid var(--line);border-radius:var(--radius-surface);background:var(--color-bg-surface);width:min(680px,100% - 32px);max-height:calc(100dvh - 32px);color:var(--ink);box-shadow:var(--shadow-dialog);margin:auto;padding:0;overflow:hidden}.template-sharing-dialog::backdrop{background:var(--color-backdrop)}.template-sharing-dialog[open]{flex-direction:column;display:flex}.template-sharing-header{justify-content:space-between;align-items:start;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--line);display:flex}.template-sharing-header h2{font-family:var(--font-heading);font-size:var(--text-section);margin:0;font-weight:500}.template-sharing-header .dialog-close{min-width:44px;font-size:1.25rem}.template-sharing-body{overscroll-behavior:contain;min-height:0;padding:var(--space-5);gap:var(--space-4);display:grid;overflow-y:auto}.template-sharing-body p{margin:0}.template-sharing-body form,.template-sharing-history,.template-sharing-preview,.template-sharing-result{gap:var(--space-3);min-width:0;display:grid}.template-sharing-body input:not([type=checkbox]){width:100%;min-width:0}.template-sharing-body .button,.template-sharing-result>.text-link{justify-self:start}.template-sharing-selection{gap:var(--space-2);border:0;min-width:0;margin:0;padding:0;display:grid}.template-sharing-selection legend{margin-block-end:var(--space-2);padding:0;font-weight:600}.template-sharing-choice{align-items:start;gap:var(--space-3);min-height:44px;padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-control);cursor:pointer;grid-template-columns:20px minmax(0,1fr);display:grid}.template-sharing-choice:has(input:checked){border-color:var(--color-accent);background:var(--color-accent-soft)}.template-sharing-choice:has(input:disabled){cursor:default}.template-sharing-choice input[type=checkbox]{width:18px;height:18px;accent-color:var(--color-accent);margin-block-start:3px}.template-sharing-choice>span{gap:var(--space-1);overflow-wrap:anywhere;display:grid}.template-sharing-choice .muted,.template-sharing-conflict{font-size:var(--text-small);font-weight:400}.template-sharing-conflict{color:var(--color-warning-text)}.template-sharing-item{gap:var(--space-1);min-width:0;display:grid}.template-sharing-model{padding:var(--space-2) var(--space-3);border:1px solid var(--line);border-radius:var(--radius-control);overflow-wrap:anywhere}.template-sharing-model summary{min-height:32px;padding-block:var(--space-1);cursor:pointer;color:var(--color-accent)}.template-sharing-rules{gap:var(--space-3);padding-block:var(--space-3);font-size:var(--text-small);display:grid}.template-sharing-components{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.template-sharing-components>li{gap:var(--space-1);display:grid}.template-sharing-component-heading{justify-content:space-between;align-items:baseline;gap:var(--space-1) var(--space-3);flex-wrap:wrap;display:flex}.template-sharing-components ul{padding-inline-start:20px;list-style:outside}.template-sharing-notice{padding:var(--space-3);background:var(--color-success-bg);color:var(--color-success-text);border-radius:var(--radius-control)}.template-sharing-history{border-top:1px solid var(--line);padding-block-start:var(--space-4)}.template-sharing-history h3,.template-sharing-preview h3{margin:0;font-size:1.125rem}.template-sharing-history ul{margin:0;padding:0;list-style:none}.template-sharing-history li{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-4);padding-block:var(--space-3);border-bottom:1px solid var(--line);flex-wrap:wrap;display:flex}.template-sharing-history li>div:first-child{gap:var(--space-1);min-width:0;font-size:var(--text-small);display:grid}.template-sharing-history code{overflow-wrap:anywhere}.template-sharing-row-actions{gap:var(--space-4);display:flex}.template-sharing-row-actions button{min-height:44px}@media (max-width:600px){.template-action-help:first-child .template-action-tooltip{inset-block:auto 100%}.template-sharing-dialog{width:calc(100% - 16px);max-height:calc(100dvh - 16px)}.template-sharing-body,.template-sharing-header{padding:var(--space-4)}.template-sharing-actions>.template-action-help{flex:auto}.template-action-help>button{width:100%}}.suggestion-footer-actions{flex-wrap:wrap;align-items:center;gap:8px 20px;display:flex}.suggestion-footer-actions>a,.suggestion-footer-button{align-items:center;min-height:44px;display:inline-flex}.suggestion-dialog{border:1px solid var(--line);border-radius:var(--radius-surface);background:var(--color-bg-surface);width:min(640px,100% - 32px);max-height:calc(100dvh - 32px);color:var(--color-text-primary);box-shadow:var(--shadow-dialog);margin:auto;padding:0;overflow:hidden}.suggestion-dialog[open]{flex-direction:column;display:flex}.suggestion-dialog::backdrop{background:var(--color-backdrop)}.suggestion-dialog-header{justify-content:space-between;align-items:start;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--line);display:flex}.suggestion-dialog-header h2{font-family:var(--font-heading);font-size:var(--text-section);margin:0;font-weight:500}.suggestion-dialog-header .dialog-close{min-width:44px;font-size:1.25rem}.suggestion-dialog-body{overscroll-behavior:contain;min-height:0;padding:var(--space-5);overflow-y:auto}.suggestion-admin,.suggestion-admin-detail,.suggestion-email-history,.suggestion-email-preview,.suggestion-form,.suggestion-implementation,.suggestion-receipt,.suggestion-status-form,.suggestion-status-form>label{gap:var(--space-3);min-width:0;display:grid}.suggestion-admin p,.suggestion-form p,.suggestion-receipt p{margin:0}.suggestion-form textarea,.suggestion-status-form textarea{resize:vertical;border:1px solid var(--color-border-control);border-radius:var(--radius-control);background:var(--color-bg-surface);width:100%;min-width:0;min-height:120px;color:var(--color-text-primary);font:inherit;padding:10px 12px}.suggestion-form input[type=file]{width:100%;min-width:0;max-width:100%}.suggestion-form-actions{justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;display:flex}.suggestion-error{color:var(--color-danger-text);overflow-wrap:anywhere}.suggestion-notice{color:var(--color-success-text);background:var(--color-success-bg);border-radius:var(--radius-control);padding:var(--space-3)}.suggestion-upload-list{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.suggestion-upload-list li{gap:var(--space-1);min-width:0;font-size:var(--text-small);overflow-wrap:anywhere;align-content:start;display:grid}.suggestion-upload-list img{aspect-ratio:4/3;object-fit:contain;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--color-bg-group);width:100%}.suggestion-upload-list button{justify-self:start;min-height:44px}.suggestion-receipt small{overflow-wrap:anywhere}.suggestion-receipt .button,.suggestion-status-form .button{justify-self:start}.suggestion-admin .page-heading{margin-bottom:0}.suggestion-admin .page-heading p{margin-top:var(--space-2)}.suggestion-status-filter{gap:var(--space-2);max-width:280px;display:grid}.suggestion-pagination{align-items:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap;display:flex}.suggestion-pagination .button{min-height:44px}.suggestion-admin-columns{gap:var(--space-5);grid-template-columns:minmax(240px,1fr) minmax(0,1.7fr);align-items:start;display:grid}.suggestion-admin-list{align-content:start;gap:var(--space-3);min-width:0;display:grid}.suggestion-list-item{gap:var(--space-2);width:100%;padding:var(--space-4);text-align:start;border:1px solid var(--line);border-radius:var(--radius-surface);background:var(--color-bg-surface);overflow-wrap:anywhere;display:grid}.suggestion-list-item[aria-pressed=true]{border-color:var(--color-accent);background:var(--color-accent-soft)}.suggestion-list-heading{justify-content:space-between;gap:var(--space-1) var(--space-3);flex-wrap:wrap;display:flex}.suggestion-list-snippet{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.suggestion-status{color:var(--color-text-secondary);font-size:var(--text-small)}.suggestion-admin-detail{padding:var(--space-5);overflow-wrap:anywhere}.suggestion-admin-detail h2{font-family:var(--font-heading);font-size:var(--text-section);margin:0;font-weight:500}.suggestion-admin-detail h3,.suggestion-receipt h3{margin:0;font-size:1.125rem}.suggestion-full-text{white-space:pre-wrap;overflow-wrap:anywhere}.suggestion-admin-attachments ul{gap:var(--space-2);padding:0;list-style:none;display:grid}.suggestion-admin-attachments li{gap:var(--space-2);flex-wrap:wrap;display:flex}.suggestion-admin-attachments a{color:var(--color-accent);text-decoration:underline}.suggestion-email-preview{padding:var(--space-4);border:1px solid var(--line);border-radius:var(--radius-control);background:var(--color-bg-group)}.suggestion-email-history{border-top:1px solid var(--line);padding-block-start:var(--space-4)}.suggestion-email-history ul{margin:0;padding:0;list-style:none}.suggestion-email-history li{gap:var(--space-1);padding-block:var(--space-3);border-bottom:1px solid var(--line);font-size:var(--text-small);display:grid}.suggestion-email-history button{justify-self:start;min-height:44px}@media (max-width:760px){.suggestion-admin-columns{grid-template-columns:minmax(0,1fr)}}@media (max-width:600px){.suggestion-dialog{width:calc(100% - 16px);max-height:calc(100dvh - 16px)}.suggestion-admin-detail,.suggestion-dialog-body,.suggestion-dialog-header{padding:var(--space-4)}.suggestion-upload-list{grid-template-columns:repeat(2,minmax(0,1fr))}.suggestion-form-actions .button{flex:auto}}.suggestion-retry-confirmation{grid-template-columns:18px minmax(0,1fr);align-items:start;gap:8px;display:grid}.suggestion-retry-confirmation input{width:18px;height:18px;min-height:18px;accent-color:var(--color-accent);margin-top:2px;padding:0}@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}