:root{--ink:#1f2124;--paper:#f6f7f8;--white:#fff;--muted:#6b7075;--line:#d5d8dc;--accent:#4a5157;--accent-dark:#444;--green:#2f7d4f;--amber:#b8860b;--red:#b03a2b;--soft:#f2f3f5;--shadow:0 18px 45px #1f212421;--font:system-ui, -apple-system, "Segoe UI", Arial, sans-serif;--frame:#d5d8dc;--frame-width:1px;--rule-width:2px;--topbar-height:72px}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);font-family:var(--font);margin:0;font-size:15px;line-height:1.45}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.topbar{min-height:var(--topbar-height);background:var(--white);border-bottom:var(--frame-width) solid var(--frame);z-index:10;justify-content:space-between;align-items:center;gap:28px;padding:0 28px;display:flex;position:sticky;top:0}.neutral-brand{flex-direction:column;line-height:1.1;display:flex}.neutral-brand strong{font-size:21px;font-weight:800}.neutral-brand span{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:700}.university-brand{display:none}.topbar-actions,.language-switch{align-items:center;gap:9px;display:flex}.language-switch{border:1px solid var(--line);gap:0}.language-switch button,.tabs button{background:0 0;border:0;padding:8px 11px;font-size:12px;font-weight:700}.language-switch button.active,.tabs button.active{background:var(--ink);color:#fff}.topbar-actions>.button{height:35px;padding:8px 11px;font-size:12px;font-weight:700}.app-shell{min-height:calc(100vh - var(--topbar-height));grid-template-columns:minmax(420px,.9fr) minmax(520px,1.1fr);display:grid}.builder{background:var(--white);border-right:1px solid var(--line);padding:42px clamp(24px,4vw,64px) 70px}.builder-intro{margin-bottom:42px}.eyebrow{color:var(--accent-dark);letter-spacing:.13em;text-transform:uppercase;margin:0 0 5px;font-size:11px;font-weight:800}.builder h1,.student-form h1{letter-spacing:-.04em;margin:0 0 13px;font-size:clamp(31px,3vw,45px);line-height:1}.builder-intro>p:last-child{color:var(--muted);max-width:55ch;margin:0}.builder section{border-top:var(--frame-width) solid var(--frame);padding:21px 0 32px}.section-heading{align-items:baseline;gap:12px;margin-bottom:17px;display:flex}.section-heading>span{color:var(--accent-dark);font-size:12px;font-weight:800}.section-heading h2{margin:0;font-size:18px}.field-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}label>span{margin-bottom:5px;font-size:12px;font-weight:600;display:block}input,textarea{border:1px solid var(--line);background:#f8f9fa;border-radius:0;width:100%;padding:10px 11px}input:focus,textarea:focus{border-color:var(--accent-dark)}.field-grid input{height:44px}textarea{resize:vertical;min-height:78px;margin-bottom:13px}.choice-stack,.check-stack{gap:8px;display:grid}.choice,.check-option{border:1px solid var(--line);text-align:left;background:#fff;align-items:flex-start;gap:11px;padding:12px;display:flex}.choice{width:100%;font-weight:600}.choice:hover,.choice.active{border-color:var(--status-color);background:#fafafa}.choice-icon,.status-button,.legend-dot{flex:none;place-items:center;font-weight:800;display:grid}.choice-icon{background:var(--soft);color:#aaa;width:24px;height:24px}.choice.active .choice-icon{background:var(--status-color);color:var(--status-fg)}.hint{color:var(--muted);margin:-8px 0 15px;font-size:12px}.areas{gap:9px;display:grid}.area-row{border-bottom:1px dotted var(--line);grid-template-columns:1fr auto;gap:8px 14px;padding:11px 0;display:grid}.area-name{align-self:center;font-size:13px;font-weight:600}.status-picker{display:flex}.status-button{border:1px solid var(--line);width:34px;height:34px;color:var(--muted);background:#fff;padding:0}.status-button+button{border-left:0}.status-button.active{background:var(--status-color);border-color:var(--status-color);color:var(--status-fg)}.selected-status{color:var(--muted);font-size:var(--text-sm,12px);text-align:right;grid-column:1/-1}.area-note{grid-column:1/-1;padding:7px 9px;font-size:12px}.check-option{cursor:pointer;font-size:13px}.check-option input{width:17px;height:17px;accent-color:var(--accent-dark);margin:1px 0 0}.check-option.disabled{opacity:.42}.bare-fieldset{border:0;min-width:0;margin:0;padding:0}.generate-row{background:var(--white);border-top:1px solid var(--line);align-items:center;gap:14px;padding:16px 0;display:flex;position:static}.button{border:1px solid var(--ink);background:#fff;padding:10px 14px;font-weight:800}.button.primary{background:var(--accent-dark);border-color:var(--accent-dark);color:#fff}.button:hover{filter:brightness(.94)}.button:disabled{color:var(--muted);background:var(--soft);border-color:var(--line);filter:none;opacity:.72}#dirty-note{color:var(--muted);font-size:12px}.output-panel{background:var(--paper);top:var(--topbar-height);height:calc(100vh - var(--topbar-height));padding:42px clamp(24px,4vw,64px);position:sticky;overflow:auto}.output-toolbar{justify-content:space-between;align-items:end;margin-bottom:22px;display:flex}.output-toolbar h2{margin:0;font-size:22px}.tabs{border:1px solid var(--ink);display:flex}.tab-pane{display:none;container-type:inline-size}.tab-pane.active{display:block}.policy-pages{gap:22px;display:grid}.slide-preview{border:var(--frame-width) solid var(--frame);width:100%;box-shadow:var(--shadow);aspect-ratio:16/9;background:#fff;margin:0;overflow:hidden}.slide-preview>svg{width:100%;height:100%;display:block}.preview-button{margin:15px 0 0 auto;display:block}.export-actions{justify-content:flex-end;gap:8px;margin-top:15px;display:flex}.overflow-panel{border:1px solid var(--red);background:color-mix(in srgb, var(--red) 6%, var(--white));border-left-width:4px;margin-top:16px;padding:16px 18px}.overflow-panel h3{margin:0 0 5px;font-size:15px}.overflow-panel p{color:var(--muted);margin:0 0 10px;font-size:12px}.overflow-panel ul{gap:7px;margin:0;padding:0;list-style:none;display:grid}.overflow-panel li{justify-content:space-between;align-items:baseline;gap:16px;font-size:12px;display:flex}.overflow-link{color:var(--accent-dark);background:0 0;border:0;padding:2px 0;font-weight:800;text-decoration:underline}pre{border:var(--frame-width) solid var(--frame);overflow-wrap:anywhere;white-space:pre-wrap;background:#fff;min-height:460px;margin:0;padding:22px;font:12px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace}#text-pane .button{margin-top:12px}.toast{text-align:right;min-height:22px;color:var(--green);font-size:12px;font-weight:700}.toast.error{color:var(--red)}.copy-fallback{border:1px solid var(--accent-dark);background:var(--white);margin-top:14px;padding:14px}.copy-fallback label{margin-bottom:8px;font-size:12px;font-weight:700;display:block}.copy-fallback textarea{min-height:150px;margin:0;font:12px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace}.live-indicator{color:var(--muted);align-items:center;gap:7px;font-size:12px;display:inline-flex}.live-indicator i{background:var(--green);width:8px;height:8px;box-shadow:0 0 0 4px color-mix(in srgb, var(--green) 12%, transparent);border-radius:50%}.live-indicator.updating i{animation:.55s live-pulse}.optional-section{border-top:var(--frame-width) solid var(--frame);padding:0 0 28px}.optional-section summary{cursor:pointer;align-items:center;gap:12px;padding:21px 0;list-style:none;display:flex}.optional-section summary::-webkit-details-marker{display:none}.optional-section summary:after{content:"+";margin-left:auto;font-size:24px;font-weight:400}.optional-section[open] summary:after{content:"−"}.optional-section summary>span:nth-child(2){flex-direction:column;gap:3px;display:flex}.optional-section summary strong{font-size:18px}.optional-section summary small{color:var(--muted);font-size:11px;font-weight:400}.optional-number{color:var(--accent-dark);font-size:12px;font-weight:800}.optional-content{padding-top:3px}[hidden]{display:none!important}.student-shell{min-height:calc(100vh - var(--topbar-height));grid-template-columns:minmax(440px,1.05fr) minmax(460px,.95fr);display:grid}.student-form{background:var(--white);border-right:1px solid var(--line);padding:42px clamp(24px,5vw,76px) 70px}.student-form section{border-top:var(--frame-width) solid var(--frame);padding:21px 0 32px}.student-fields{gap:25px;display:grid}.student-fields textarea{min-height:104px;margin-bottom:0}.student-form label:not(.student-check-option)>span{font-size:small}.student-choice-group{border:0;min-width:0;margin:0;padding:0}.student-choice-group legend,.student-scope-group>.scope-heading label{margin:0 0 5px;padding:0;font-size:medium;font-weight:600;display:block}.student-choice-group .hint{margin:0 0 10px;font-size:small}.student-check-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:8px;display:grid}.student-check-option{border:1px solid var(--line);background:var(--white);cursor:pointer;align-items:center;gap:9px;min-width:0;min-height:44px;padding:10px;font-size:medium;line-height:1.3;display:flex}.student-check-option:hover{border-color:var(--accent-dark)}.student-check-option:has(input:checked){border-color:var(--accent-dark);background:var(--soft);box-shadow:inset 3px 0 0 var(--accent-dark)}.student-check-option input{width:17px;height:17px;accent-color:var(--accent-dark);flex:none;margin:0}.student-check-option span{min-width:0;font-size:inherit;overflow-wrap:anywhere}.student-choice-group.invalid .student-check-grid{outline:2px solid var(--red);outline-offset:2px}.student-scope-group{gap:8px;display:grid}.scope-heading{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.scope-heading output{color:var(--accent-dark);font-size:12px;font-weight:800}.student-scope-group input[type=range]{height:28px;accent-color:var(--accent-dark);cursor:pointer;background:0 0;border:0;margin:0;padding:0}.scope-scale{color:var(--muted);justify-content:space-between;font-size:10px;display:flex}.scope-description{min-height:18px;color:var(--muted);margin:0 0 6px;font-size:12px}.student-completeness{color:var(--muted);align-items:center;gap:12px;margin:-10px 0 18px;font-size:11px;font-weight:700;display:flex}.student-completeness progress{width:92px;height:7px;accent-color:var(--accent-dark);border:0}.student-output-panel{top:var(--topbar-height);height:calc(100vh - var(--topbar-height));background:var(--paper);place-items:center;padding:42px clamp(24px,5vw,76px);display:grid;position:sticky;overflow:auto}.student-output-inner{width:min(100%,660px)}.student-output-inner h2{margin:0 0 22px;font-size:26px}.disclosure-card{background:var(--white);border:var(--frame-width) solid var(--frame);border-left:4px solid var(--accent-dark);min-height:220px;box-shadow:var(--shadow);flex-direction:column;justify-content:center;gap:14px;margin-bottom:16px;padding:clamp(24px,4vw,42px);display:flex}.disclosure-card p{overflow-wrap:anywhere;margin:0;font-size:18px;line-height:1.65}.disclosure-card .disclosure-context{color:var(--accent-dark);letter-spacing:.1em;text-transform:uppercase;font-size:11px;font-weight:800}.student-guidance{max-width:58ch;color:var(--muted);font-size:12px}.student-output-panel .toast{text-align:left;margin-top:10px}html[data-theme=chair] .student-form section{border-top:1px dotted #8e8e8d}html[data-theme=chair] .disclosure-card{border-color:#8e8e8d #8e8e8d #8e8e8d #ba3339;box-shadow:0 4px 16px #4444441a}html[data-theme=chair]{--topbar-height:88px}html[data-theme=chair] .topbar{border-bottom-color:#d7d7d7;padding:10px 28px}html[data-theme=chair] .neutral-brand{display:none}html[data-theme=chair] .university-brand{flex:0 auto;align-items:center;display:flex}html[data-theme=chair] .brand-lockup{align-items:center;gap:11px;display:flex}html[data-theme=chair] #ur-logo{object-fit:contain;flex:none;width:72px;height:54px}html[data-theme=chair] .brand-wordmark{flex-direction:column;line-height:1.15;display:flex}html[data-theme=chair] .brand-wordmark span{color:#000;letter-spacing:.01em;white-space:nowrap;font-size:15px;font-weight:700}html[data-theme=chair] .brand-wordmark small{color:#000;letter-spacing:.02em;white-space:nowrap;margin-top:4px;font-size:10px;font-weight:700}html[data-theme=chair] .builder h1{letter-spacing:-.025em}html[data-theme=chair] .builder section,html[data-theme=chair] .optional-section{border-top:1px dotted #8e8e8d}.preview-dialog{border:1px solid var(--frame);background:var(--paper);width:min(96vw,1440px);max-width:none;height:min(94vh,1000px);max-height:none;color:var(--ink);padding:0}.preview-dialog::backdrop{background:#000000ad}.dialog-toolbar{z-index:1;border-bottom:1px solid var(--line);background:var(--white);align-items:center;gap:14px;padding:12px 16px;display:flex;position:sticky;top:0}.dialog-toolbar h2{margin:0 auto 0 0;font-size:18px}.zoom-controls,.page-controls{align-items:center;gap:8px;display:flex}.zoom-controls .button,.page-controls .button{min-width:38px;padding:6px 9px}.zoom-controls output,.page-controls output{text-align:center;min-width:48px;font-size:12px;font-weight:800}.dialog-scroll{height:calc(100% - 62px);padding:24px;overflow:auto}.dialog-pages{width:min(1200px,100%);margin:0 auto}.dialog-page{border:1px solid var(--frame);max-width:none;box-shadow:var(--shadow);aspect-ratio:16/9;transform-origin:0 0;background:#fff;margin:0 0 24px;overflow:hidden}.dialog-page>svg{width:100%;height:100%;display:block}@keyframes live-pulse{50%{box-shadow:0 0 0 7px color-mix(in srgb, var(--green) 5%, transparent);transform:scale(1.7)}}@media (width<=1000px){.app-shell,.student-shell{grid-template-columns:1fr}.builder,.student-form{border-right:0}.output-panel{border-top:var(--frame-width) solid var(--frame);height:auto;position:static}.student-output-panel{border-top:var(--frame-width) solid var(--frame);height:auto;min-height:520px;position:static}}@media (width<=760px){html[data-theme=chair]{--topbar-height:auto}html[data-theme=chair] .topbar{flex-wrap:wrap;align-items:center}html[data-theme=chair] .university-brand,html[data-theme=chair] .brand-lockup{width:100%}html[data-theme=chair] .topbar-actions{padding-left:0}}@media (width<=620px){.topbar{flex-wrap:wrap;padding:12px 14px;position:static}.neutral-brand span{display:none}.topbar-actions{flex-wrap:wrap;width:100%}.app-shell{display:block}.builder,.output-panel,.student-form,.student-output-panel{padding:28px 16px}.field-grid{grid-template-columns:1fr}.output-toolbar{align-items:flex-start;gap:15px}.export-actions{flex-wrap:wrap}.export-actions .button{flex:150px}.area-row{grid-template-columns:1fr}.status-picker{grid-row:2}.area-note{grid-row:4}.dialog-toolbar{flex-wrap:wrap}.dialog-toolbar h2{width:100%}.dialog-scroll{padding:12px}}
