@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(./bricolage-grotesque-vietnamese-wght-normal-BUzh504Q.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(./bricolage-grotesque-latin-ext-wght-normal-CcLUaPy7.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(./bricolage-grotesque-latin-wght-normal-DLoelf7F.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Azeret Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./azeret-mono-latin-ext-wght-normal-CaAVEd4C.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Azeret Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./azeret-mono-latin-wght-normal-BhHwRSCm.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Archivo;font-style:normal;font-display:swap;font-weight:400;src:url(./archivo-vietnamese-400-normal-BF4g3tCF.woff2)format("woff2"),url(./archivo-vietnamese-400-normal-FGOLYM1a.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo;font-style:normal;font-display:swap;font-weight:400;src:url(./archivo-latin-ext-400-normal-B5tPZzqW.woff2)format("woff2"),url(./archivo-latin-ext-400-normal-DrmqtLj6.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo;font-style:normal;font-display:swap;font-weight:400;src:url(./archivo-latin-400-normal-C81ewxNO.woff2)format("woff2"),url(./archivo-latin-400-normal-Bl602Mgc.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Archivo;font-style:normal;font-display:swap;font-weight:500;src:url(./archivo-vietnamese-500-normal-k0drYPZA.woff2)format("woff2"),url(./archivo-vietnamese-500-normal-7W3lD2kQ.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo;font-style:normal;font-display:swap;font-weight:500;src:url(./archivo-latin-ext-500-normal-RFhg4CpD.woff2)format("woff2"),url(./archivo-latin-ext-500-normal-D7mXw3Kz.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo;font-style:normal;font-display:swap;font-weight:500;src:url(./archivo-latin-500-normal-CGugC8dq.woff2)format("woff2"),url(./archivo-latin-500-normal-pkzA7jw9.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Archivo;font-style:normal;font-display:swap;font-weight:600;src:url(./archivo-vietnamese-600-normal-anCjMumA.woff2)format("woff2"),url(./archivo-vietnamese-600-normal-C8xBVdfP.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo;font-style:normal;font-display:swap;font-weight:600;src:url(./archivo-latin-ext-600-normal-Dm61iqcg.woff2)format("woff2"),url(./archivo-latin-ext-600-normal-D7uErJuz.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo;font-style:normal;font-display:swap;font-weight:600;src:url(./archivo-latin-600-normal-3BBy0ZsW.woff2)format("woff2"),url(./archivo-latin-600-normal-DwYieO8P.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Archivo;font-style:normal;font-display:swap;font-weight:700;src:url(./archivo-vietnamese-700-normal-nuAQAQa7.woff2)format("woff2"),url(./archivo-vietnamese-700-normal-Bz2vkKqq.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo;font-style:normal;font-display:swap;font-weight:700;src:url(./archivo-latin-ext-700-normal-DD_nkw6b.woff2)format("woff2"),url(./archivo-latin-ext-700-normal-CgyfnKjw.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo;font-style:normal;font-display:swap;font-weight:700;src:url(./archivo-latin-700-normal-D9cHMWGj.woff2)format("woff2"),url(./archivo-latin-700-normal-lT5TFe7H.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Archivo;font-style:normal;font-display:swap;font-weight:800;src:url(./archivo-vietnamese-800-normal-DHDgv4cm.woff2)format("woff2"),url(./archivo-vietnamese-800-normal-BKe5Z8rz.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo;font-style:normal;font-display:swap;font-weight:800;src:url(./archivo-latin-ext-800-normal-BC6piDwP.woff2)format("woff2"),url(./archivo-latin-ext-800-normal-B9NTbsU1.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo;font-style:normal;font-display:swap;font-weight:800;src:url(./archivo-latin-800-normal-cB6v3kRN.woff2)format("woff2"),url(./archivo-latin-800-normal-DZa_k145.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*{box-sizing:border-box}:root{--school-primary:#7b1e2b;--school-secondary:#f2c14e;--school-on-primary:#f7f2e8;--school-on-secondary:#7b1e2b;--cream:#f7f2e8;--cream-hi:#fffdf8;--cream-lo:#e4ddd0;--outline:#1b2a4a;--navy:var(--school-primary);--navy-line:color-mix(in srgb, var(--school-primary) 78%, white);--ink-lo:color-mix(in srgb, var(--school-on-primary) 72%, var(--school-primary));--ink-hi:var(--school-on-primary);--gold:var(--school-secondary);--gold-dim:var(--school-primary);--brass-deep:var(--school-primary);--parchment:var(--cream);--parchment-line:#c9c1b2;--parchment-line-lo:var(--cream-lo);--ink:var(--outline);--ink-muted:#5a5f6b;--green:#1f6b3a;--grass:#82a561;--grass-deep:#729452;--grass-line:#2a381c2e;--grass-line-idle:#2a381c0d;--grass-highlight:#a3c17d;--field-crop:#bdb468;--field-hay:#9bb86c;--field-plough:#9d8563;--field-rough:#8a9d5a;--wood:#4b7238;--haze:#cad6d3;--turf-band:#ffffff08;--turf-fleck:#2a381c0d;--building-shadow:#2a381c47;--text-scale:1;--text-2xs:calc(10px * var(--text-scale));--text-xs:calc(11px * var(--text-scale));--text-sm:calc(12px * var(--text-scale));--text-base:calc(13px * var(--text-scale));--text-md:calc(14px * var(--text-scale));--text-lg:calc(15px * var(--text-scale));--text-xl:calc(17px * var(--text-scale));--text-2xl:calc(22px * var(--text-scale));--text-3xl:calc(26px * var(--text-scale));--text-4xl:calc(32px * var(--text-scale));--text-5xl:calc(44px * var(--text-scale));--space-2:2px;--space-4:4px;--space-6:6px;--space-8:8px;--space-12:12px;--space-16:16px;--space-24:24px;--space-32:32px;--inset-panel:var(--space-16);--inset-card:var(--space-8) var(--space-12);--radius-xs:4px;--radius-sm:8px;--radius-md:10px;--radius-lg:14px;--radius-xl:16px;--radius-pill:20px;--shadow-1:2px 2px 0 var(--outline);--shadow-2:4px 4px 0 var(--outline);--shadow-3:6px 6px 0 var(--outline);--elevation-dialog:var(--shadow-3);--elevation-popup:var(--shadow-2);--elevation-note:var(--shadow-1);--ok-on-dark:var(--school-secondary);--ok-on-light:#1f6b3a;--bad-on-dark:#ffb0a6;--bad-on-light:#a13a3a;--warn-on-dark:#ffd98a;--warn-on-light:#9c6a1e;--danger-ink:#a13a3a;--danger-bg:#fbe3e3;--danger-line:#d9a8a8;--grade-a:var(--ok-on-light);--grade-a-bg:#dbeadf;--grade-b:#4a6a2c;--grade-b-bg:#e3ecd6;--grade-c:#7d6218;--grade-c-bg:#f0e7c9;--grade-d:#8a4e1e;--grade-d-bg:#f3e0cd;--grade-f:var(--danger-ink);--grade-f-bg:var(--danger-bg);--cohort-1:#8a6d14;--cohort-2:#3c4d6b;--cohort-3:#4a6b46;--cohort-4:#8c4a3f;--cohort-5:#a9683a;--cohort-6:#6a4a63;--cohort-7:#a98a3c;--cohort-8:#33706a;--frame-wood:#6b4a2b;--frame-wood-dark:#3d2a17;--frame-wood-light:#a37b4c;--frame-plaque:#d9b86c;--frame-plaque-edge:#8a6a2a;--frame-plaque-ink:#2a1d0c;--display:"Bricolage Grotesque Variable", "Bricolage Grotesque", "Archivo", system-ui, sans-serif;--sans:"Archivo", system-ui, sans-serif;--mono:"Azeret Mono Variable", "Azeret Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--toolbar-height:64px;--corner-menu-height:40px;--log-ticker-height:26px}html,body,#root{height:100%}body{font-family:var(--sans);font-weight:500;font-size:var(--text-base);font-variant-numeric:tabular-nums;background:var(--cream);color:var(--ink);margin:0}button{cursor:pointer;font-family:inherit}button,input,select,textarea{font-size:inherit}:focus-visible{outline:3px solid var(--school-secondary);outline-offset:2px;border-radius:var(--radius-xs)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root[data-motion=reduce] *,:root[data-motion=reduce] :before,:root[data-motion=reduce] :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}:root[data-vision=safe]{--ok-on-light:#1f5fa8;--bad-on-light:#9a4d00;--bad-on-dark:#ffc27a;--danger-ink:#b35a00;--danger-bg:#fdebd6;--danger-line:#e6b98a;--grade-a-bg:#dbe8f6;--grade-b:#3f6f9e;--grade-b-bg:#e2ebf3;--grade-d:#9a5a10;--grade-d-bg:#f6e3cc}.btn,.btn-primary,.btn-quiet,.btn-danger,.menu-btn,.panel-action,.building-info-jump,.facility-start,.relocate-slot,.map-touch-bar button,.dept-action,.dept-bulk button,.next-up-door,.report-card-actions button,.new-college-btn,.school-restaff,.course-drawer-action,.course-drawer-appoint,.row-action-develop,.row-action-secondary,.facility-commit,.faculty-card-foot button,.coach-release,.offer-add,.ad-mascot-roll,.ad-decline,.letter-skip,.admissions-lock,.opening-coach-actions button,.segmented>button,.curriculum-chip,.tab-overlay-close,.title-primary,.startup-begin-btn,:where(.modal-actions,.final-page-leave)>button{border:2px solid var(--outline);border-radius:var(--radius-pill);box-shadow:var(--shadow-1);background:var(--cream-hi);color:var(--ink);padding:var(--space-4) var(--space-12);font-family:var(--display);text-transform:none;letter-spacing:0;cursor:pointer;font-weight:800}:is(.btn,.menu-btn,.panel-action,.building-info-jump,.facility-start,.relocate-slot,.map-touch-bar button,.dept-action,.dept-bulk button,.next-up-door,.report-card-actions button,.new-college-btn,.school-restaff):hover:not(:disabled),.btn-primary,.admissions-lock,.row-action-develop,.course-drawer-action,.facility-commit,.faculty-card-foot button.appoint,.dept-action.appoint,.opening-coach-actions button,.map-touch-bar button.primary,.title-primary,.startup-begin-btn,:where(.modal-actions,.final-page-leave)>button{background:var(--school-secondary);color:var(--school-on-secondary)}:is(.btn-primary,.admissions-lock,.row-action-develop,.course-drawer-action,.facility-commit,.faculty-card-foot button.appoint,.dept-action.appoint,.opening-coach-actions button,.map-touch-bar button.primary,.title-primary,.startup-begin-btn,:where(.modal-actions,.final-page-leave)>button):hover:not(:disabled){background:var(--school-secondary);color:var(--school-on-secondary);box-shadow:3px 3px 0 var(--outline);transform:translate(-1px,-1px)}.btn-quiet,.row-action-secondary,.course-drawer-appoint,.offer-add,.ad-mascot-roll,.ad-decline,.letter-skip,.opening-coach-actions button.secondary{color:var(--ink);background:0 0}:is(.btn-quiet,.row-action-secondary,.course-drawer-appoint,.offer-add,.ad-mascot-roll,.ad-decline,.letter-skip,.opening-coach-actions button.secondary):hover:not(:disabled){background:var(--cream-lo);color:var(--ink);box-shadow:var(--shadow-1);transform:none}.btn-danger,.faculty-card-foot button.dismiss,.coach-release,.dept-action.reassign{color:var(--danger-ink);border-color:var(--bad-on-light);background:0 0}:is(.btn-danger,.faculty-card-foot button.dismiss,.coach-release,.dept-action.reassign):hover:not(:disabled){background:var(--danger-bg);color:var(--danger-ink)}:is(.btn,.btn-primary,.btn-quiet,.btn-danger,.menu-btn,.panel-action,.building-info-jump,.facility-start,.relocate-slot,.map-touch-bar button,.dept-action,.dept-bulk button,.next-up-door,.report-card-actions button,.new-college-btn,.school-restaff,.course-drawer-action,.course-drawer-appoint,.row-action-develop,.row-action-secondary,.facility-commit,.faculty-card-foot button,.coach-release,.offer-add,.ad-mascot-roll,.ad-decline,.letter-skip,.admissions-lock,.opening-coach-actions button,.segmented>button,.curriculum-chip,.title-primary,.startup-begin-btn,:where(.modal-actions,.final-page-leave)>button):disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.modal-actions{align-items:center;gap:var(--space-12) var(--space-16);flex-wrap:wrap;display:flex}.modal-actions>button:not([class]){padding:var(--space-8) var(--space-16);font-size:var(--text-md)}.confirm-button{align-items:flex-start;gap:var(--space-4);flex-direction:column;max-width:100%;display:inline-flex}.confirm-button>button.confirm-armed,.confirm-button>button.confirm-armed:hover:not(:disabled){border-color:var(--bad-on-light);background:var(--danger-bg);color:var(--danger-ink);transform:none}.confirm-warning{font-size:var(--text-sm);color:var(--danger-ink);line-height:1.4}.segmented{align-items:center;gap:var(--space-4);flex-wrap:wrap;display:inline-flex}.segmented>button{font-size:var(--text-xs)}.segmented>button:hover:not(:disabled){background:var(--cream-lo);color:var(--ink)}.segmented>button:is(.active,.on,.is-on,[aria-pressed=true]){background:var(--school-secondary);color:var(--school-on-secondary)}.segmented.switch{isolation:isolate;max-width:100%;padding:var(--space-2);border:2px solid var(--outline);border-radius:var(--radius-pill);background:var(--cream-lo);box-shadow:inset 0 2px 0 color-mix(in srgb, var(--outline) 12%, transparent);grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:0;display:inline-grid;position:relative}.segmented.switch:before{content:"";z-index:-1;top:var(--space-2);bottom:var(--space-2);left:var(--space-2);width:calc((100% - 2 * var(--space-2)) / var(--seg-count,3));box-sizing:border-box;border:2px solid var(--outline);border-radius:var(--radius-pill);background:var(--school-secondary);transform:translateX(calc(var(--seg-index,0) * 100%));opacity:clamp(0, calc(var(--seg-index,0) + 1), 1);transition:transform .18s;position:absolute}.segmented.switch>button{box-shadow:none;color:var(--ink-muted);text-align:center;background:0 0;border-color:#0000}.segmented.switch>button:hover:not(:disabled){color:var(--ink);background:0 0}.segmented.switch>button:is(.active,.on,.is-on,[aria-pressed=true]){color:var(--school-on-secondary);background:0 0}.segmented.switch>button:focus-visible{outline:2px solid var(--school-primary);outline-offset:0;border-radius:var(--radius-pill)}.close-btn{border:2px solid var(--outline);background:var(--cream-hi);width:26px;height:26px;color:var(--ink);box-shadow:var(--shadow-1);cursor:pointer;border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.close-btn svg,.tab-overlay-close svg{width:12px;height:12px;display:block}.close-btn:hover,.tab-overlay-close:hover{background:var(--outline);color:var(--cream)}.heading-screen,.tab-overlay-head h2,.startup-card h1{font-family:var(--display);font-weight:800;font-size:var(--text-4xl);letter-spacing:-.02em;color:var(--ink);line-height:1}.heading-dialog,.modal h2,.opening-coach h2{font-family:var(--display);font-weight:800;font-size:var(--text-3xl);letter-spacing:-.02em;line-height:1.05}.heading-panel,.panel h2,.panel-head-title h3,.toolbar-popup-head h2,.building-info-head h3,.course-drawer-head h2,.course-drawer-head h3,.hall-title,.title-hall-head,.milestone-note-title{font-family:var(--display);font-weight:800;font-size:var(--text-xl);letter-spacing:-.01em;text-transform:none;color:var(--ink);line-height:1.15}.section-head,.final-report-addendum h4,.standing-head h3,.milestone-card h3,.chronicle-era-name,.dean-plan h3,.hall-reading-title{font-family:var(--display);font-weight:800;font-size:var(--text-md);letter-spacing:-.01em;color:var(--ink);line-height:1.25}.eyebrow,.statement-col h3,.consequence-panel h3,.cohort-breakdown h3,.review-section h3,.report-movers h3,.report-standings-head,.digest-head,.milestone-unlocks-head,.offer-commit h4,.course-drawer-section h4,.final-report h4,.facility-group-head,.faculty-market-head,.settings-row legend,.sound-controls legend,.ladder-tier h3,.chronicle-subhead,.milestone-unlocks-fold summary{font-family:var(--display);font-weight:800;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--school-primary)}.dateline,.letter-eyebrow,.final-report-eyebrow{font-family:var(--display);font-weight:800;font-size:var(--text-sm);letter-spacing:.01em;color:var(--school-primary)}.tooltip,.help-hint-text,.figure-hint,.touch-title,.speed-locked-note,.cohort-card-tip,.campus-map-why{background:var(--cream-hi);color:var(--ink);border:2px solid var(--outline);border-radius:var(--radius-md);box-shadow:var(--elevation-note);padding:var(--space-8) var(--space-12);font-family:var(--sans);font-size:var(--text-sm);text-align:left;text-transform:none;letter-spacing:0;font-style:normal;font-weight:600;line-height:1.4}.warning-note,.offer-warning,.course-drawer-warning,.stall-note{padding:var(--space-2) 0 var(--space-2) var(--space-12);border-left:4px solid var(--bad-on-light);color:var(--danger-ink);font-size:var(--text-sm);background:0 0;margin:0;font-weight:600;line-height:1.4}.state-chip{padding:1px var(--space-6);border-radius:var(--radius-pill);font-family:var(--display);font-weight:800;font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.06em;vertical-align:middle;line-height:1.4;display:inline-block}.state-chip.bad{background:var(--bad-on-light);color:var(--cream-hi)}.front-screen{z-index:60;align-items:center;gap:var(--space-24);padding:40px var(--space-16);background:color-mix(in srgb, var(--cream) 97%, transparent);flex-direction:column;display:flex;position:fixed;inset:0;overflow-y:auto}.title-card{background:var(--cream-hi);border:3px solid var(--outline);border-radius:var(--radius-xl);width:min(640px,100%);box-shadow:var(--elevation-dialog);padding:var(--space-24)}.title-screen,.startup,.front-art>.front-screen{background:#4f9be0 url(./campus-quad-Bo9WAn9G.webp) 50% 62%/cover no-repeat fixed}.front-art{display:contents}.title-screen{gap:var(--space-24);padding:clamp(28px, 7vh, 72px) var(--space-16) 40px}.title-head{text-align:center;color:#fff;text-shadow:0 2px 14px #0a326e47}.logo{flex-direction:column;align-items:center;gap:clamp(10px,2vh,18px);display:flex}.logo-mark{color:#fff;filter:drop-shadow(0 2px 10px #0a326e40);width:clamp(88px,13vw,150px);height:auto;display:block}.logo-name{font-family:var(--sans);letter-spacing:.04em;text-transform:uppercase;color:#fff;margin:0;font-size:clamp(40px,8vw,96px);font-weight:800;line-height:1}.title-tagline{margin:var(--space-12) 0 0;font-family:var(--sans);font-weight:600;font-size:var(--text-xl);color:#fff}.title-screen .title-card{width:min(460px,100%);margin-top:auto}.title-set-aside{border:2px dashed var(--parchment-line);border-radius:var(--radius-lg);font-size:var(--text-sm);color:var(--ink-muted);margin:0 0 14px;padding:10px 14px;line-height:1.45}.title-set-aside .menu-btn{width:auto;margin:8px 8px 0 0;padding:4px 12px;display:inline-block}.title-stats{border:2px solid var(--parchment-line);border-radius:var(--radius-lg);font-size:var(--text-md);margin:0 0 14px;padding:10px 14px}.title-stats .menu-btn{width:auto;margin:8px 8px 0 0;padding:4px 12px;display:inline-block}.crash-screen p{color:var(--ink);line-height:1.5}.crash-actions{flex-wrap:wrap;gap:8px;margin:14px 0;display:flex}.crash-actions .menu-btn,.crash-actions .title-primary{width:auto}.crash-detail{font-family:var(--display);font-variant-numeric:tabular-nums;font-size:var(--text-sm);color:var(--ink-muted);overflow-wrap:anywhere}.import-save{flex-direction:column;gap:6px;display:flex}.import-save-note{font-size:var(--text-sm);color:var(--ink-muted);flex-direction:column;gap:6px;margin:0;line-height:1.4;display:flex}.import-save-note p{color:var(--ink);margin:0;font-weight:600}.title-actions{flex-direction:column;gap:8px;margin-bottom:20px;display:flex}.title-primary{align-items:center;gap:var(--space-2);padding:var(--space-12) var(--space-16);border-radius:var(--radius-lg);font-size:var(--text-xl);flex-direction:column;display:flex}.title-sub{font-family:var(--sans);font-weight:600;font-size:var(--text-sm);opacity:.85}.title-hall-head{margin:0 0 var(--space-8)}.title-hall-all{margin-top:10px}.hall-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.hall-head .hall-title{margin:0}.settings-row{border:0;flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 14px;padding:0;display:flex}.settings-row legend{margin-bottom:var(--space-6);padding:0}.settings-note{font-size:var(--text-xs);color:var(--ink-muted);flex-basis:100%;margin:4px 0 0}.title-version{margin:var(--space-12) 0 0;font-size:var(--text-sm);color:var(--ink-muted);text-align:center;font-variant-numeric:tabular-nums}.credits-lede{color:var(--ink-muted);font-style:italic}.credits-list{grid-template-columns:auto 1fr;gap:6px 16px;display:grid}.credits-list dt{font-family:var(--display);color:var(--ink);font-weight:800}.credits-list dd{color:var(--ink-muted);margin:0}.credits-mark{margin-left:1px}.credits-footnote{margin:var(--space-12) 0 0;padding-top:var(--space-8);border-top:1px solid var(--parchment-line);font-size:var(--text-sm);color:var(--ink-muted)}.app{z-index:10;pointer-events:none;position:fixed;inset:0}.app>*{pointer-events:auto}.stat-label{font-family:var(--display);font-size:var(--text-2xs);color:var(--ink-muted);font-weight:800;line-height:1}.stat-value{font-family:var(--display);font-size:var(--text-md);color:var(--ink);font-weight:800;line-height:1}.toolbar-funds-btn .stat-value{font-size:var(--text-2xl);font-variant-numeric:tabular-nums;letter-spacing:-.01em;color:var(--ink-hi)}.stat-value.money{color:var(--ink-hi)}.stat-value.money-negative{color:var(--bad-on-dark)}.stat-value.stat-warn{color:var(--bad-on-light)}.stat-value.gold{color:var(--ink)}.speeds{gap:4px;display:flex}.speeds button{width:30px;height:30px;color:var(--ink-hi);border:2px solid color-mix(in srgb, var(--school-on-primary) 35%, transparent);font-family:var(--display);font-size:var(--text-sm);letter-spacing:.02em;background:0 0;border-radius:50%;justify-content:center;align-items:center;padding:0;font-weight:800;display:flex}.speeds button svg{width:14px;height:14px;display:block}.speeds button.sandbox{border-radius:var(--radius-pill);width:auto;padding:0 10px}.speeds button:hover{border-color:var(--ink-hi)}.speeds button.locked{opacity:.35;cursor:not-allowed}.speeds button.locked:hover{border-color:inherit}.speeds button.active{background:var(--school-secondary);color:var(--school-on-secondary);border-color:var(--school-secondary);font-weight:800}.speeds button.sandbox{border-style:dashed;border-color:var(--warn-on-dark);color:var(--warn-on-dark)}.speeds button.sandbox.active{background:var(--warn-on-dark);color:var(--outline);border-color:var(--warn-on-dark)}.debug-panel{z-index:11;font-family:var(--mono);position:fixed;top:126px;left:16px}.debug-toggle{color:var(--warn-on-dark);border-radius:var(--radius-sm);font-family:var(--mono);font-size:var(--text-xs);background:#3a2f1c;border:1px dashed #a67c1c;padding:5px 10px;font-weight:700}.debug-toggle:hover,.debug-toggle.active{color:#14161a;background:#a67c1c}.debug-body{width:290px;max-height:calc(100vh - var(--toolbar-height,96px) - 60px);background:var(--navy);border-radius:var(--radius-md);color:var(--ink-hi);font-size:var(--text-xs);border:1px solid #a67c1c;padding:8px 10px 10px;position:absolute;top:calc(100% + 6px);left:0;overflow-y:auto}.debug-section{border-top:1px solid var(--navy-line);padding:6px 0}.debug-section:first-child{border-top:0;padding-top:0}.debug-section h3{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:#a67c1c;margin:0 0 5px;font-weight:700}.debug-row{white-space:pre;justify-content:space-between;gap:8px;line-height:1.6;display:flex}.debug-row-label{color:var(--ink-lo)}.debug-row-value{color:var(--ink-hi);text-align:right}.debug-set-row{align-items:center;gap:5px;margin-bottom:4px;display:flex}.debug-set-row .debug-row-label{flex:1}.debug-input{min-width:0;color:var(--ink-hi);border:1px solid var(--navy-line);border-radius:var(--radius-sm);font-family:var(--mono);font-size:var(--text-xs);background:#0a0f1c;flex:1;padding:3px 5px}.debug-input.file{flex:none;width:100%;padding:4px}.debug-btn{color:var(--ink-hi);border:1px solid var(--navy-line);border-radius:var(--radius-sm);font-family:var(--mono);font-size:var(--text-xs);background:#24304a;padding:3px 8px}.debug-btn.wide{flex:1}.debug-btn:hover:not(:disabled){color:#14161a;background:#a67c1c;border-color:#a67c1c}.debug-btn:disabled{opacity:.4}.debug-check{color:var(--ink-lo);align-items:center;gap:6px;display:flex}.debug-note{color:var(--ink-lo);margin:0 0 5px;line-height:1.5}.debug-note.error{color:var(--warn-on-dark)}.menu-btn{padding:7px var(--space-12);font-size:var(--text-base);text-align:left;width:100%}.toolbar{z-index:10;background:var(--school-primary);color:var(--ink-hi);border-top:4px solid var(--school-secondary);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:7px 16px;display:flex;position:fixed;bottom:0;left:0;right:0}.log-ticker{z-index:5;left:0;right:0;bottom:var(--toolbar-height);height:var(--log-ticker-height);background:var(--cream);color:var(--ink);border-top:2px solid var(--outline);box-sizing:border-box;font-size:var(--text-sm);white-space:nowrap;align-items:center;gap:8px;padding:0 12px;font-weight:600;display:flex;position:fixed;overflow:hidden}.log-ticker-toggle{border-radius:var(--radius-sm);width:20px;height:20px;color:var(--ink-muted);cursor:pointer;background:0 0;border:none;flex:none;justify-content:center;align-items:center;padding:0;display:flex}.log-ticker-toggle svg{width:14px;height:14px;display:block}.log-ticker-toggle:hover,.log-ticker-toggle[aria-expanded=true]{color:var(--ink);background:var(--cream-lo)}.log-ticker>span{text-overflow:ellipsis;overflow:hidden}.log-ticker .ts{color:var(--school-primary);font-family:var(--display);flex:none;margin-right:-2px;font-weight:800;overflow:visible}.log-ticker .good{color:var(--ok-on-light)}.log-ticker .bad{color:var(--bad-on-light)}.log-ticker-empty{color:var(--ink-muted);font-style:italic}.toolbar-left,.toolbar-right{flex-direction:column;flex:0 auto;gap:5px;display:flex}.toolbar-left{align-items:flex-start}.toolbar-right{align-items:flex-end}.toolbar-funds-btn{border-radius:var(--radius-md);color:var(--ink-hi);background:0 0;border:2px solid #0000;flex-direction:row;flex:none;align-items:baseline;gap:8px;padding:2px 8px;display:flex}.toolbar-funds-btn:hover{border-color:color-mix(in srgb, var(--school-on-primary) 35%, transparent)}.toolbar-funds-btn.active{border-color:var(--school-secondary)}.toolbar-funds-net{font-family:var(--mono);font-size:var(--text-2xs);color:var(--school-secondary);font-weight:700}.toolbar-stats{gap:5px;padding-left:8px;display:flex}.toolbar-stat{background:var(--cream);height:30px;color:var(--ink);border-radius:var(--radius-pill);white-space:nowrap;font:inherit;text-align:left;border:2px solid #0000;flex-direction:column;justify-content:center;align-items:flex-start;gap:2px;padding:0 10px;display:flex;position:relative}.toolbar-stat .stat-value{line-height:1}.toolbar-stat svg{width:16px;height:16px;color:var(--school-primary);flex:none;display:none}button.toolbar-stat:hover{border-color:var(--school-secondary)}.toolbar-right{column-gap:var(--space-12);grid-template-columns:auto auto;grid-template-areas:"cal school""cal speed";align-items:center;row-gap:5px;display:grid}.toolbar-right>.toolbar-school{grid-area:school;justify-self:end}.toolbar-right>.toolbar-speed{grid-area:speed;justify-self:end}.toolbar-calendar{box-sizing:border-box;background:var(--cream-hi);min-width:50px;color:var(--outline);border:2px solid var(--outline);border-radius:var(--radius-xs);box-shadow:2px 2px 0 color-mix(in srgb, var(--outline) 45%, transparent);text-align:center;font-family:var(--display);grid-area:cal;justify-items:center;font-weight:800;line-height:1;display:grid;position:relative}.toolbar-calendar:before,.toolbar-calendar:after{content:"";background:var(--outline);border-radius:3px;width:5px;height:9px;position:absolute;top:-5px}.toolbar-calendar:before{left:11px}.toolbar-calendar:after{right:11px}.toolbar-calendar-term{background:var(--school-secondary);color:var(--school-primary);border-bottom:2px solid var(--outline);font-size:calc(8.5px * var(--text-scale));letter-spacing:.08em;text-transform:uppercase;border-radius:2px 2px 0 0;justify-self:stretch;padding:5px 4px 3px}.toolbar-calendar-week{font-size:var(--text-2xl);font-variant-numeric:tabular-nums;padding-top:3px}.toolbar-calendar-word{font-size:calc(7.5px * var(--text-scale));letter-spacing:.16em;text-transform:uppercase;color:var(--ink-muted);padding:1px 0 4px}.toolbar-school{flex:none;align-items:center;gap:10px;display:flex}.toolbar-clock{font-family:var(--display);font-size:var(--text-sm);color:var(--ink-hi);white-space:nowrap;font-weight:800}.toolbar-days{gap:3px;display:grid}.day-ticker{grid-template-columns:repeat(7,14px);gap:2px 3px;display:grid}.day-ticker-letter{font-family:var(--display);font-weight:800;font-size:calc(7px * var(--text-scale));text-align:center;color:color-mix(in srgb, var(--school-on-primary) 65%, transparent);line-height:1}.day-ticker-cell{background:color-mix(in srgb, var(--school-on-primary) 30%, transparent);border-radius:3px;width:14px;height:6px}.day-ticker-cell.lit{background:var(--school-secondary)}.year-bar{gap:3px;display:flex}.year-bar-term{background:color-mix(in srgb, var(--school-on-primary) 25%, transparent);border-radius:1px;flex:1;height:3px;overflow:hidden}.year-bar-term>span{background:var(--school-secondary);height:100%;display:block}.toolbar-speed{flex:none;align-items:center;gap:6px;display:flex;position:relative}.speed-locked-note{max-width:280px;padding:var(--space-4) var(--space-8);white-space:normal;z-index:5;position:absolute;bottom:calc(100% + 6px);right:0}.toolbar-tabs{flex:none;align-items:center;gap:4px;display:flex}.toolbar-tab-scroll{display:contents}.toolbar-icon-btn{border-radius:var(--radius-lg);min-width:48px;height:46px;color:var(--ink-hi);font-family:var(--display);white-space:nowrap;background:0 0;border:2px solid #0000;flex-direction:column;flex:none;justify-content:center;align-items:center;gap:3px;padding:0 9px;font-weight:800;display:flex;position:relative}.toolbar-icon-btn svg{width:18px;height:18px;display:block}.toolbar-icon-btn:hover{border-color:color-mix(in srgb, var(--school-on-primary) 35%, transparent)}.toolbar-icon-btn.active{color:var(--school-on-secondary);background:var(--school-secondary);border-color:var(--school-secondary)}.toolbar-tab-label{font-size:var(--text-xs);letter-spacing:.01em;font-weight:800;line-height:1}.toolbar-tab-scroll .toolbar-icon-btn{padding-bottom:7px}.committee-lamps{gap:2px;display:flex;position:absolute;bottom:2px;left:50%;transform:translate(-50%)}.committee-lamp{--lamp-fill:0%;box-sizing:border-box;border:1px solid color-mix(in srgb, var(--school-on-primary) 40%, transparent);background:color-mix(in srgb, var(--school-on-primary) 12%, transparent);border-radius:1.5px;width:7px;height:6px}.committee-lamp.lit{border-color:var(--school-secondary);background:linear-gradient(to top, var(--school-secondary) var(--lamp-fill), color-mix(in srgb, var(--school-secondary) 32%, transparent) var(--lamp-fill));box-shadow:0 0 4px color-mix(in srgb, var(--school-secondary) 65%, transparent)}.committee-lamp.ready{border-color:var(--school-on-primary);animation:1.8s ease-in-out infinite committee-lamp-breathe}.committee-lamp.done{background:var(--cream-hi);border-color:var(--cream-hi);box-shadow:0 0 8px 1px var(--cream-hi)}@keyframes committee-lamp-breathe{0%,to{background:color-mix(in srgb, var(--school-on-primary) 10%, transparent)}50%{background:color-mix(in srgb, var(--school-on-primary) 55%, transparent)}}.toolbar-icon-btn.active .committee-lamp{border-color:color-mix(in srgb, var(--school-on-secondary) 45%, transparent);background:color-mix(in srgb, var(--school-on-secondary) 8%, transparent)}.toolbar-icon-btn.active .committee-lamp.lit{border-color:var(--school-on-secondary);box-shadow:none;background:linear-gradient(to top, var(--school-on-secondary) var(--lamp-fill), color-mix(in srgb, var(--school-on-secondary) 25%, transparent) var(--lamp-fill))}.toolbar-icon-btn.active .committee-lamp.ready{border-color:var(--school-on-secondary);animation:none}.toolbar-icon-btn.active .committee-lamp.done{background:var(--school-on-secondary);border-color:var(--school-on-secondary);box-shadow:none}@media (prefers-reduced-motion:reduce){.committee-lamp.ready{background:color-mix(in srgb, var(--school-on-primary) 45%, transparent);animation:none}}:root[data-motion=reduce] .committee-lamp.ready{background:color-mix(in srgb, var(--school-on-primary) 45%, transparent);animation:none}.toolbar-build-btn{background:var(--cream);width:auto;height:44px;color:var(--school-primary);border:2px solid var(--school-secondary);border-radius:var(--radius-pill);box-shadow:0 0 0 1px var(--school-secondary);flex-direction:row;flex:none;gap:8px;margin-left:6px;padding:0 16px;font-weight:800}.toolbar-build-btn:hover{border-color:var(--cream)}.toolbar-build-btn.active{background:var(--school-secondary);color:var(--school-on-secondary);border-color:var(--school-secondary)}.toolbar-build-label{font-family:var(--display);font-size:var(--text-md)}.alert-badge{background:var(--danger-ink);width:15px;height:15px;color:var(--cream-hi);border:2px solid var(--cream);font-family:var(--display);font-size:var(--text-2xs);pointer-events:none;border-radius:50%;justify-content:center;align-items:center;font-weight:800;line-height:1;display:flex;position:absolute;top:-3px;right:-3px}.tab-content,.students-tab{flex-direction:column;gap:16px;display:flex}.panel{background:var(--cream-hi);border:2px solid var(--outline);border-radius:var(--radius-lg);padding:var(--inset-panel);color:var(--ink)}.panel h2{margin:0 0 var(--space-12)}.panel-head{justify-content:space-between;align-items:baseline;gap:var(--space-12);border-bottom:1px solid var(--parchment-line);padding-bottom:var(--space-8);margin-bottom:var(--space-12);display:flex}.panel-head h2{margin:0}.panel-head-title{align-items:baseline;gap:var(--space-6);display:inline-flex}.panel-head-title h3,.panel-head-title h2{margin:0}.panel-head-figure{align-items:center;gap:10px;display:inline-flex}.panel .stat{font-family:var(--sans);color:var(--ink-muted);font-weight:600;font-size:var(--text-sm)}.panel-action{padding:var(--space-4) var(--space-12);font-size:var(--text-xs);white-space:nowrap}.toolbar-popup{z-index:20;bottom:calc(var(--toolbar-height) + 12px);background:var(--cream);border:3px solid var(--outline);border-radius:var(--radius-xl);box-shadow:var(--elevation-popup);color:var(--ink);flex-direction:column;animation:.15s cubic-bezier(.2,.8,.3,1) popup-rise;display:flex;position:fixed}@keyframes popup-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.toolbar-popup-head{justify-content:space-between;align-items:center;gap:var(--space-12);border-bottom:1px solid var(--parchment-line);padding:var(--space-8) var(--space-16);flex:none;display:flex}.toolbar-popup-head h2{margin:0}.toolbar-popup-body{min-height:0;padding:var(--space-12) var(--space-16) var(--space-16);flex:1;overflow-y:auto}.toolbar-popup-body::-webkit-scrollbar{width:8px}.toolbar-popup-body::-webkit-scrollbar-thumb{background:var(--parchment-line);border-radius:var(--radius-sm)}.toolbar-popup-body{scrollbar-width:thin;scrollbar-color:var(--parchment-line) transparent}.build-popup{max-height:432px;left:16px;right:16px}.log-popup{width:min(420px,100vw - 32px);max-height:42vh;left:16px}.log-popup .log{max-height:none}.help-hint{display:inline-block;position:relative}.help-hint-btn{border:2px solid var(--outline);width:16px;height:16px;color:var(--ink);line-height:1;font-family:var(--display);font-size:var(--text-2xs);background:0 0;border-radius:50%;justify-content:center;align-items:center;padding:0;font-weight:800;display:inline-flex}.help-hint-btn:hover{background:var(--outline);color:var(--cream)}.help-hint-text{z-index:15;width:min(240px,100vw - 16px);max-height:min(60vh,420px);margin:0;position:absolute;top:22px;left:0;overflow-y:auto}.help-hint-text.align-end{left:auto;right:0}.badge{background:var(--school-secondary);color:var(--school-on-secondary);font-family:var(--display);border:1.5px solid var(--outline);font-weight:800;font-size:var(--text-2xs);border-radius:var(--radius-pill);vertical-align:middle;margin-left:6px;padding:1px 7px;display:inline-block}.progress-bar{flex:1;align-items:center;gap:7px;min-width:0;display:flex}.progress-bar-track{background:var(--cream-lo);border-radius:4px;flex:1;min-width:0;height:8px;overflow:hidden}.progress-bar-fill{background:var(--school-primary);border-radius:4px;height:100%;transition:width .25s;display:block}.progress-bar-label{font-family:var(--display);font-weight:800;font-size:var(--text-2xs);color:var(--ink-muted);white-space:nowrap}.progress-ring{flex:none;display:block}.progress-ring-track{fill:none;stroke:var(--cream-lo)}.progress-ring-fill{fill:none;stroke:var(--school-primary);stroke-linecap:round;transform-origin:50%;transition:stroke-dashoffset .3s;transform:rotate(-90deg)}.progress-ring-center{font-family:var(--display);fill:var(--ink);text-anchor:middle;dominant-baseline:central;font-weight:800}.progress-figure{align-items:center;gap:8px;display:inline-flex}.progress-figure .stat{line-height:1.25}.curriculum-scroll{padding-right:6px}.subgroup-degree{font-family:var(--display);font-weight:800;font-size:var(--text-2xs);letter-spacing:.08em;border-radius:var(--radius-pill);background:var(--school-primary);color:var(--school-on-primary);padding:2px 7px}.course-cell.graduate{border-width:2px}.course-cell{text-align:left;border-radius:var(--radius-md);border:2px dashed var(--parchment-line);width:100%;min-height:58px;color:var(--ink-muted);box-sizing:border-box;font-family:var(--sans);background:0 0;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:2px;padding:6px 8px 8px;transition:transform .1s,box-shadow .1s,background .12s,border-color .12s;display:flex;position:relative;overflow:hidden}.cell-code{font-family:var(--display);font-size:var(--text-2xs);letter-spacing:.06em;opacity:.75;font-weight:800}.cell-title{font-size:var(--text-xs);-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;font-weight:700;line-height:1.25;display:-webkit-box;overflow:hidden}.cell-stamp{font-size:var(--text-xs);opacity:.75;line-height:1;position:absolute;top:5px;right:6px}.cell-next{font-size:var(--text-2xs);color:var(--ink-muted);white-space:nowrap;text-overflow:ellipsis;max-width:100%;margin-top:auto;padding-top:2px;font-weight:600;overflow:hidden}.course-cell.locked{opacity:.55;cursor:pointer}.course-cell.blocked{border-style:solid;border-color:var(--bad-on-light);background:var(--cream);color:var(--ink-muted);cursor:pointer}.course-cell.available{border-style:solid;border-color:var(--outline);background:var(--cream-hi);color:var(--ink);cursor:pointer;box-shadow:var(--shadow-1)}.course-cell.available:hover,.course-cell.available:focus-visible{box-shadow:3px 3px 0 var(--outline);transform:translate(-1px,-1px)}.course-cell.developing{border-style:solid;border-color:var(--school-hue,var(--school-primary));color:var(--ink);cursor:pointer;animation:1.7s ease-in-out infinite cell-pulse}.course-cell.developing .cell-title,.course-cell.done .cell-title{font-weight:700}.course-cell.done{border-style:solid;border-color:var(--school-hue,var(--school-primary));background:var(--school-hue,var(--school-primary));color:var(--school-on-primary);cursor:pointer}.course-cell.unstaffed{border-color:var(--bad-on-light);box-shadow:inset 0 0 0 2px var(--bad-on-light)}.cell-stamp.unstaffed{color:var(--danger-ink);opacity:1;font-weight:800}.course-cell.done.unstaffed .cell-stamp.unstaffed{color:var(--school-on-primary)}.course-cell.selected{outline:3px solid var(--school-secondary);outline-offset:1px}@keyframes cell-pulse{0%,to{background:color-mix(in srgb, var(--school-hue,var(--school-primary)) 22%, var(--cream-hi))}50%{background:var(--cream-hi)}}.cell-gate-dot{width:7px;height:7px;box-shadow:0 0 0 2px var(--cream-hi);border-radius:50%;position:absolute;top:4px;right:4px}.cell-gate-dot.hireable{background:var(--warn-on-light)}.cell-gate-dot.blocked{background:var(--bad-on-light)}.cell-progress{background:color-mix(in srgb, var(--outline) 12%, transparent);height:5px;position:absolute;bottom:0;left:0;right:0}.cell-progress-fill{background:var(--school-hue,var(--school-primary));height:100%;transition:width .25s;display:block}.kind-tag{background:var(--school-primary);color:var(--school-on-primary);font-family:var(--display);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.06em;border-radius:var(--radius-pill);vertical-align:middle;margin-right:6px;padding:2px 7px;font-weight:800;display:inline-block}.building-info-construction{color:var(--school-primary);font-weight:700}.build-mode{flex-direction:column;gap:10px;display:flex}.build-mode-topline{gap:16px;display:flex}.build-mode-topline .stat{font-weight:600;font-size:var(--text-sm);color:var(--ink-muted)}.build-mode-tabs{gap:var(--space-6);border-bottom:2px solid var(--outline);padding-bottom:var(--space-12);flex-wrap:wrap;display:flex}.build-cat-tab{align-items:center;gap:var(--space-6);display:inline-flex;position:relative}.build-cat-tab svg{width:16px;height:16px;display:block}.build-mode-tray{padding-bottom:4px;overflow:auto hidden}.build-mode-tray::-webkit-scrollbar{height:8px}.build-mode-tray::-webkit-scrollbar-thumb{background:var(--parchment-line);border-radius:var(--radius-sm)}.build-mode-tray{scrollbar-width:thin;scrollbar-color:var(--parchment-line) transparent}.build-tile-row{flex-wrap:nowrap;align-items:stretch;gap:10px;min-height:148px;display:flex}.build-tile{text-align:center;background:var(--cream-hi);border:2px solid var(--outline);border-radius:var(--radius-lg);width:132px;color:var(--ink);box-shadow:var(--shadow-1);flex-direction:column;flex:0 0 132px;align-items:center;gap:5px;padding:0 9px 10px;display:flex;position:relative}button.build-tile{font-family:inherit}.build-tile-plan{box-sizing:border-box;border-bottom:2px solid var(--outline);border-radius:calc(var(--radius-lg) - 2px) calc(var(--radius-lg) - 2px) 0 0;background-color:color-mix(in srgb, var(--haze) 35%, var(--cream-hi));background-image:linear-gradient(color-mix(in srgb, var(--outline) 10%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--outline) 10%, transparent) 1px, transparent 1px);background-position:-1px -1px;background-size:8px 8px;flex:none;justify-content:center;align-self:stretch;align-items:center;height:92px;margin:0 -9px 2px;padding:6px 8px 4px;display:flex;position:relative}.build-tile-icon{width:36px;height:36px;color:var(--outline);justify-content:center;align-items:center;display:flex}.build-tile-icon svg{width:32px;height:32px;display:block}.build-thumb{width:100%;height:100%;display:block}.build-thumb svg{width:100%;height:100%;display:block;overflow:visible}.build-tile-stamp{font-family:var(--mono);font-weight:700;font-size:var(--text-2xs);letter-spacing:.02em;white-space:nowrap;color:var(--school-primary);border:1.5px solid var(--school-primary);border-radius:var(--radius-xs);background:color-mix(in srgb, var(--cream-hi) 75%, transparent);padding:2px 4px;line-height:1;position:absolute;bottom:4px;right:5px;transform:rotate(-6deg)}.build-tile-name{font-family:var(--display);font-weight:800;font-size:var(--text-md);line-height:1.15}.build-tile-sub{font-size:var(--text-xs);color:var(--ink);line-height:1.2}.build-tile-foot{font-family:var(--display);font-weight:800;font-size:var(--text-xs);color:var(--ink);margin-top:auto;padding-top:4px}.build-tile-note{font-size:var(--text-2xs);color:var(--bad-on-light);font-style:italic;line-height:1.15}.build-tile-progress{width:100%;margin-top:auto;padding-top:6px}.build-tile.available:hover:not(:disabled){background:var(--school-secondary);color:var(--school-on-secondary);box-shadow:var(--shadow-2)}.build-tile.available:hover:not(:disabled) .build-tile-foot,.build-tile.available:hover:not(:disabled) .build-tile-sub{color:var(--school-on-secondary)}.build-tile.available:disabled{color:var(--ink-muted);cursor:not-allowed;box-shadow:none;border-color:var(--parchment-line);background:var(--cream)}.build-tile.available:disabled .build-tile-plan{border-bottom-color:var(--parchment-line)}.build-tile.available:disabled .build-tile-icon{color:color-mix(in srgb, var(--outline) 30%, transparent)}.build-tile.available:disabled .build-thumb{opacity:.45;filter:grayscale(.6)}.build-tile.available:disabled .build-tile-sub,.build-tile.available:disabled .build-tile-foot{color:var(--ink-muted)}.build-tile.available:disabled .build-tile-stamp{color:var(--ink-muted);border-color:var(--parchment-line)}.build-tile.placing{background:var(--school-secondary);color:var(--school-on-secondary);border-color:var(--outline);box-shadow:var(--shadow-2)}.build-tile.placing .build-tile-foot,.build-tile.placing .build-tile-sub{color:var(--school-on-secondary)}.build-tile.developing{background:var(--cream-hi);border-color:var(--school-primary);border-style:dashed}.build-tile.developing .build-tile-plan{border-bottom:2px dashed var(--school-primary)}.build-tile.developing .build-tile-icon{color:var(--school-primary)}.build-tile.done{background:var(--cream)}.build-tile.built-summary:hover{box-shadow:var(--shadow-2)}.campus-map{z-index:0;background:var(--haze);color:var(--ink);position:fixed;inset:0}.campus-map-canvas{top:0;right:0;bottom:calc(var(--toolbar-height) + var(--log-ticker-height));position:fixed;left:0}.campus-map-svg{cursor:grab;touch-action:none;width:100%;height:100%;display:block}.campus-map-svg.panning{cursor:grabbing}.campus-map-svg.path-draw,.campus-map-svg.path-erase,.campus-map-svg.path-plant,.campus-map-svg.path-fell{cursor:crosshair}.building-info-panel{z-index:10;width:260px;max-height:calc(100vh - var(--toolbar-height) - 32px);background:var(--cream);border:3px solid var(--outline);border-radius:var(--radius-lg);box-shadow:var(--elevation-popup);padding:var(--space-12) var(--inset-panel);position:fixed;top:16px;left:16px;overflow-y:auto}.building-info-head{justify-content:space-between;align-items:center;gap:var(--space-12);border-bottom:2px solid var(--outline);padding-bottom:var(--space-8);margin-bottom:var(--space-8);display:flex}.building-info-head h3{margin:0}.building-info-line{font-size:var(--text-sm);color:var(--ink);margin:0 0 6px;line-height:1.4}.building-info-level{align-items:center;gap:var(--space-8);display:flex}.level-pips{gap:3px;display:inline-flex}.level-pips i{border:1.5px solid var(--outline);background:var(--cream-hi);border-radius:2px;width:10px;height:6px}.level-pips i.on{background:var(--school-secondary)}.building-info-jump{width:100%;margin-top:var(--space-8);padding:var(--space-6) var(--space-12);font-size:var(--text-xs);display:block}.hall-slots{grid-template-columns:repeat(3,1fr);gap:6px;margin:6px 0 8px;display:grid}.hall-slot{border-radius:var(--radius-sm);border:2px solid var(--parchment-line);min-height:46px;font-size:var(--text-xs);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:4px;line-height:1.2;display:flex}.hall-slot.pending{background:0 0;border-style:dashed}.hall-slot.empty{background:var(--cream-hi);color:var(--ink-muted);border-color:var(--outline);box-shadow:var(--shadow-1);font-size:var(--text-md);cursor:pointer}.hall-slot.empty:hover:not(:disabled),.hall-slot.empty.open{border-color:var(--outline);background:var(--school-secondary);color:var(--school-on-secondary)}.hall-slot.empty:disabled{cursor:default;opacity:.6;box-shadow:none}.hall-slot.housed{border-color:var(--school-hue,var(--outline));background:color-mix(in srgb, var(--school-hue,var(--cream-hi)) 12%, var(--cream-hi));color:var(--ink)}.hall-offer-tile{background:color-mix(in srgb, var(--school-hue,var(--cream-hi)) 10%, var(--cream-hi))}.hall-slot-motif{font-size:var(--text-sm);line-height:1}.hall-slot-name{font-weight:600}.hall-offer{border-top:2px solid var(--outline);margin-top:4px;padding-top:8px}.hall-offer-head{font-family:var(--display);font-weight:800;font-size:var(--text-sm);color:var(--ink);margin:0 0 6px}.hall-offer-tiles{flex-direction:column;gap:6px;margin-bottom:8px;display:flex}.hall-offer-tile{align-items:flex-start;gap:var(--space-2);text-align:left;padding:var(--space-6) var(--space-8);border-radius:var(--radius-sm);border:2px solid var(--outline);box-shadow:var(--shadow-1);background:var(--cream-hi);color:var(--ink);cursor:pointer;font-size:var(--text-xs);flex-direction:column;display:flex}.hall-offer-tile:hover{background:var(--cream)}.hall-offer-tile.selected{box-shadow:inset 0 0 0 2px var(--school-secondary), var(--shadow-2)}.hall-offer-code{font-family:var(--display);font-weight:800}.hall-offer-name{font-weight:700;font-size:var(--text-sm)}.hall-offer-meta{color:var(--ink-muted);font-weight:600}.hall-offer-picker .instructor-options{margin-bottom:6px}.hall-offer-choice{align-items:stretch;gap:var(--space-4) var(--space-6);flex-wrap:wrap;display:flex}.hall-offer-choice>.hall-offer-tile{flex:1 1 0;min-width:0}.hall-offer-choice>.confirm-button{flex:none;align-items:stretch}.hall-offer-choice>.confirm-button>button{flex:auto}.hall-offer-choice>.confirm-button.is-armed{flex:1 0 100%}.hall-offer-choice>.confirm-button.is-armed>button{white-space:normal;text-align:left}.hall-offer-decline{padding:var(--space-2) var(--space-8);font-size:var(--text-xs)}.hall-offer-note{color:var(--ink-muted);margin:0 0 8px}.lab-project{flex-direction:column;gap:1px;display:flex}.lab-project-name{font-weight:700}.lab-project-meta{font-size:var(--text-xs);color:var(--ink-muted);font-weight:600}.lab-project-track{margin:0 0 4px}.building-info-takedown{border-top:1px dashed var(--outline);margin-top:10px;padding-top:8px}.building-info-confirm{gap:8px;display:flex}.building-info-confirm .building-info-jump{margin-top:0}.building-info-note{opacity:.7;margin-top:10px;font-style:italic}.building-info-panel.hall{width:440px;max-width:calc(100vw - 32px)}.building-info-dedication{font-weight:600}.hall-slot.housed{padding:0;overflow:hidden}.hall-slot.housed.open{grid-column:1/-1}.program-tile{cursor:pointer;width:100%;color:var(--ink);font-size:var(--text-xs);text-align:center;background:0 0;border:0;flex-direction:column;align-items:center;gap:2px;padding:5px 4px 4px;line-height:1.2;display:flex}.program-tile:hover{background:var(--cream-hi)}.program-tile-meta{color:var(--ink-muted);align-items:center;gap:4px;font-weight:700;display:inline-flex}.hall-slot.housed.open .program-tile{text-align:left;flex-direction:row;justify-content:flex-start;gap:8px;padding:6px 8px}.program-summary{border-top:2px solid var(--parchment-line);text-align:left;padding:6px 8px 8px}.program-summary-facts{flex-wrap:wrap;gap:14px;margin:0 0 6px;display:flex}.program-summary-facts div{flex-direction:column;gap:1px;display:flex}.program-summary-facts dt{font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-muted)}.program-summary-facts dd{font-family:var(--display);font-weight:800;font-size:var(--text-xs);color:var(--ink);margin:0}.program-summary-next{margin:0}.program-summary-blocked{color:var(--danger-ink)}.program-summary .building-info-jump,.relocate-details{margin-top:6px}.relocate-details>summary{cursor:pointer;font-size:var(--text-xs);color:var(--ink-muted)}.relocate-details>summary:hover{color:var(--ink)}.program-tile-transit{color:var(--warn-on-light);font-weight:700}.program-tile-move{color:var(--school-hue,var(--ink));font-weight:800}.hall-slot.housed.office{border-color:var(--school-primary);background:color-mix(in srgb, var(--school-secondary) 22%, var(--cream-hi))}.hall-slot.housed.office.open{grid-column:1/-1}.hall-slot.housed.office.open .program-tile{text-align:left;flex-direction:row;justify-content:flex-start;gap:8px;padding:6px 8px}.hall-slot.housed.office.closing{opacity:.62;background:var(--cream-lo);border-style:dashed}.hall-slot.housed.office.closing .program-tile{cursor:default}.office-motif{color:var(--school-primary)}.office-chip{font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.08em;background:var(--school-primary);color:var(--school-on-primary);border-radius:999px;padding:1px 6px}.office-seat{font-size:var(--text-2xs);color:var(--ink-muted);font-weight:700}.office-seat.on{color:var(--green)}.office-allowance{font-size:var(--text-xs);color:var(--ink-muted);flex-wrap:wrap;align-items:center;gap:4px;margin:0 0 6px;font-weight:700;display:flex}.office-allowance i{border:2px solid var(--school-primary);border-radius:3px;width:14px;height:14px;display:inline-block}.office-allowance i.held{background:var(--school-primary)}.office-allowance i.free{background:var(--school-secondary)}.office-allowance i.locked{border-style:dashed;border-color:var(--ink-muted);opacity:.6}.offer-switch{margin:0 0 8px}.hall-offer.follows-switch{border-top:0;margin-top:0;padding-top:0}.office-group{font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-muted);margin:10px 0 4px;font-weight:700}.hall-offer-tile.office-tile{--school-hue:var(--school-primary);border-color:var(--school-primary)}.hall-offer-tile.office-tile .hall-offer-code{color:var(--school-primary)}.hall-offer-tile.office-tile:disabled{opacity:.5;cursor:default;border-style:dashed}.office-confirm{background:color-mix(in srgb, var(--school-secondary) 25%, var(--cream-hi));border:2px solid var(--outline);border-radius:var(--radius-sm);flex:1 0 100%;padding:8px 10px}.office-confirm .building-info-line{margin-bottom:6px}.office-close{margin-top:6px}.office-action{margin:0 0 8px}.relocate-suggested{margin-top:6px}.course-cell.transit{opacity:.55}.cell-stamp.transit{color:var(--warn-on-light)}.relocate,.relocate-note{text-align:left;padding:4px 0 0}.relocate-row{font-size:var(--text-xs);flex-wrap:wrap;align-items:center;gap:4px;margin:4px 0;display:flex}.relocate-hall{color:var(--ink-muted);flex:100%}.relocate-slot{min-width:24px;min-height:22px;padding:0 var(--space-6);font-size:var(--text-xs)}.main-menu{z-index:11;position:fixed;top:16px;right:16px}.main-menu-btn{width:var(--corner-menu-height);height:var(--corner-menu-height);background:var(--cream);border:2px solid var(--outline);color:var(--ink);box-shadow:var(--shadow-1);border-radius:50%;justify-content:center;align-items:center;display:flex}.main-menu-btn svg{width:20px;height:20px;display:block}.main-menu-btn:hover,.main-menu-btn.active{background:var(--outline);color:var(--cream)}.main-menu-popup{top:calc(var(--corner-menu-height) + 8px);background:var(--cream);border:3px solid var(--outline);border-radius:var(--radius-lg);width:220px;box-shadow:var(--elevation-popup);padding:var(--space-12);flex-direction:column;gap:6px;display:flex;position:absolute;right:0}.campus-map-zoom-controls{z-index:10;top:calc(var(--corner-menu-height) + 24px);background:var(--cream);border:2px solid var(--outline);border-radius:var(--radius-pill);padding:var(--space-4);box-shadow:var(--shadow-1);flex-direction:column;align-items:center;gap:4px;display:flex;position:fixed;right:16px}.campus-map-zoom-controls button{width:30px;height:30px;color:var(--ink);font-family:var(--display);font-weight:800;font-size:var(--text-lg);background:0 0;border:2px solid #0000;border-radius:50%;justify-content:center;align-items:center;padding:0;line-height:1;display:flex}.campus-map-zoom-controls button:hover{background:var(--outline);color:var(--cream)}.campus-map-zoom-controls .help-hint-btn{width:30px;height:30px;color:var(--ink);font-size:var(--text-md);background:0 0;border:2px solid #0000;border-radius:50%}.campus-map-zoom-controls .help-hint-btn:hover{background:var(--outline);color:var(--cream)}.campus-map-zoom-controls .help-hint-text{width:320px;top:0;left:auto;right:34px}.campus-map-zoom-controls.touch-ui button,.campus-map-zoom-controls.touch-ui .help-hint-btn{width:40px;height:40px}.campus-map-zoom-controls button[aria-pressed=true]{background:var(--outline);color:var(--cream)}.campus-map-zoom-controls button{-webkit-tap-highlight-color:transparent}@media (hover:none){.campus-map-zoom-controls button:not([aria-pressed=true]):hover{color:var(--ink);background:0 0}}.campus-map-zoom-controls button svg{width:18px;height:18px;display:block}.campus-map-zoom-controls .map-tools-toggle svg{width:16px;height:16px}.map-touch-bar{z-index:12;background:var(--cream);border:3px solid var(--outline);border-radius:var(--radius-lg);max-width:calc(100vw - 32px);box-shadow:var(--elevation-popup);flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;padding:8px 10px;display:flex;position:fixed;top:12px;left:50%;transform:translate(-50%)}.map-touch-bar-name{font-family:var(--display);font-weight:800;font-size:var(--text-md);color:var(--ink);flex-direction:column;margin-right:4px;display:flex}.map-touch-bar-note{font-family:var(--sans);font-weight:600;font-size:var(--text-sm);color:var(--ink-muted)}.map-touch-bar button{min-height:44px;padding:0 var(--space-16);font-size:var(--text-md)}.elsewhere-banner{z-index:110;align-items:center;gap:var(--space-12);max-width:calc(100vw - 32px);padding:var(--space-8) var(--space-12);background:var(--cream);color:var(--ink);border:3px solid var(--outline);border-left:8px solid var(--danger-ink);border-radius:var(--radius-lg);box-shadow:var(--elevation-popup);flex-wrap:wrap;justify-content:center;display:flex;position:fixed;top:12px;left:50%;transform:translate(-50%)}.elsewhere-banner-text{font-family:var(--display);font-weight:800;font-size:var(--text-md);flex-direction:column;margin:0;display:flex}.elsewhere-banner-note{font-family:var(--sans);font-weight:600;font-size:var(--text-sm);color:var(--ink-muted)}.elsewhere-banner button{min-height:44px;padding:0 var(--space-16);font-size:var(--text-md)}.campus-ground{fill:var(--grass)}.campus-grid{stroke:var(--grass-line-idle);stroke-width:1px;fill:none;vector-effect:non-scaling-stroke}.campus-road{fill:#6f6d66}.campus-road-kerb{stroke:#b9b2a0;stroke-width:2px;fill:none;vector-effect:non-scaling-stroke}.campus-road-centre{stroke:#e8dca8;stroke-width:1.5px;stroke-dasharray:10 12;fill:none;vector-effect:non-scaling-stroke}.ring{pointer-events:none}.ring-base{fill:var(--grass)}.ring-field{--cover:var(--grass);fill:var(--cover)}.ring-crop{--cover:var(--field-crop)}.ring-hay{--cover:var(--field-hay)}.ring-plough{--cover:var(--field-plough)}.ring-crop,.ring-hay,.ring-plough{stroke:var(--grass);stroke-width:14px;stroke-linejoin:round}.ring-rough{--cover:var(--field-rough)}.ring-town{--cover:var(--lawn,#8fae6b)}.ring-lit,.ring-shaded{fill-rule:evenodd}.ring-lit{fill:#fff6d629}.ring-shaded{fill:#16221430}.ring-far-hill{--far-hill:color-mix(in srgb, var(--wood) 60%, var(--grass-deep))}.ring-lane{stroke:#8f8a7e;stroke-width:34px;stroke-linecap:round;fill:none}.ring-crown{fill:var(--leaf-canopy,#4f7a3c);opacity:var(--leaf-opacity,1)}.ring-crown-top{fill:var(--leaf-canopy-top,#679a4c);opacity:var(--leaf-opacity,1)}.ring-pine-crown{fill:#37623f}.ring-pine-crown-top{fill:var(--conifer-top,#467c4f)}.ring-haze-stop{stop-color:var(--haze)}.campus-map-svg.placing .campus-grid,.campus-map-svg.path-draw .campus-grid,.campus-map-svg.path-erase .campus-grid,.campus-map-svg.path-plant .campus-grid,.campus-map-svg.path-fell .campus-grid{stroke:var(--grass-line)}.campus-preview{pointer-events:none;fill:none;stroke-width:2px;vector-effect:non-scaling-stroke}.campus-preview.ok{stroke:var(--gold);fill:#c9a22738}.campus-preview.blocked{stroke:#b4544a;fill:#b4544a2e;stroke-dasharray:4 3}.campus-preview-front{pointer-events:none}.campus-preview-front line{stroke-width:4px;stroke-linecap:round;vector-effect:non-scaling-stroke}.campus-preview-front.ok line{stroke:var(--gold)}.campus-preview-front.ok polygon{fill:var(--gold)}.campus-preview-front.blocked line{stroke:#b4544a}.campus-preview-front.blocked polygon{fill:#b4544a}.campus-map-why{pointer-events:none;padding:var(--space-4) var(--space-8);color:var(--danger-ink);border-color:var(--bad-on-light);white-space:nowrap;position:absolute;transform:translate(16px,14px)}.campus-path-ghost{pointer-events:none;stroke-width:2px;vector-effect:non-scaling-stroke}.campus-path-ghost.draw{stroke:var(--gold);fill:#c9a22747}.campus-path-ghost.erase{stroke:#b4544a;fill:#b4544a38;stroke-dasharray:4 3}.campus-path-ghost.plant{stroke:#3f6b2a;fill:#3f6b2a47}.campus-path-ghost.fell{stroke:#b4544a;fill:#b4544a38;stroke-dasharray:4 3}.campus-path-ghost.lamp,.campus-path-ghost.bench{stroke:var(--gold);fill:#c9a22733}.campus-walkers{pointer-events:none}.walker-shadow{fill:#0003}.walker-head{fill:#e9c9a6}.walker-leg{fill:none;stroke-width:1.7px;stroke-linecap:round}.campus-lamp-foot{fill:#0003}.campus-lamp-post{stroke:#3a3a38;stroke-width:1.6px}.campus-lamp-head{fill:#f5e3a3;stroke:#3a3a38;stroke-width:1px}.campus-bench-shadow{fill:#0000002e}.campus-bench-iron{fill:none;stroke:#33312e;stroke-width:1.2px;stroke-linecap:round;stroke-linejoin:round}.campus-bench-seat{fill:#a8733f;stroke:#5e4027;stroke-width:.5px;stroke-linejoin:round}.campus-bench-apron{fill:#6e4a2a}.campus-bench-back{fill:#8a5b32;stroke:#5e4027;stroke-width:.5px;stroke-linejoin:round}.campus-bench.ghost{opacity:.72;pointer-events:none}.campus-flag-pole{stroke:#d8d4c8;stroke-width:1.4px}.campus-flag-finial{fill:#d9b44a}.campus-site-wall{fill:#d6cebcc7;stroke:#5a544680;stroke-width:.8px}.campus-site-shell polygon.campus-site-hatch{fill:url(#campus-scaffold);stroke:none}.campus-site-frame{pointer-events:none}.campus-site-column{fill:#6c706f}.campus-site-slab{fill:#cec8bc80;stroke:#605e588c;stroke-width:.6px}.campus-site-edge{fill:#8f8b82}.glass-pane{fill:#c4e2e8b8;stroke:#50686e99;stroke-width:.8px}.glass-roof{fill:#d6eef2cc;stroke:#50686e99;stroke-width:.8px}.glass-ridge{stroke:#465a60cc;stroke-width:1.2px}.landmark-inscription{fill:#5a4e3a;font-family:var(--display);letter-spacing:.08em;text-anchor:middle;dominant-baseline:middle;font-weight:800}.campus-age{pointer-events:none}.campus-age-streak{stroke:#28241e38;stroke-width:1.6px;stroke-linecap:round;fill:none}.campus-ivy-leaf{fill:#4d7a3a;fill-opacity:.82}.campus-age-boards{fill:#8a6a42;stroke:#2e2216;stroke-width:1px}.campus-age-plank{stroke:#2e2216;stroke-width:1px;fill:none}.campus-age-grime{fill:#3a3a3866}.campus-age-tarp{fill:#3f6f9c;stroke:#274866;stroke-width:.9px;stroke-linejoin:round}.campus-age-tarp.flap{fill:#335d85}.campus-age-hoarding{fill:#b39868;stroke:#5a4630;stroke-width:1px}.campus-age-post{stroke:#5a4630;stroke-width:1.2px;fill:none}.campus-age-weeds{fill:none;stroke:#5f7a36;stroke-width:1.4px;stroke-linecap:round}.campus-age-slates{stroke:#1e1c188c;stroke-width:2.4px;fill:none}.campus-rack-hoop{stroke:#5c6166;stroke-width:1.4px;stroke-linecap:round}.campus-desire{fill:none;stroke:#b0a06861;stroke-width:7px;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.campus-map-ghost{pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}.campus-map-ring{z-index:-1;pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}.campus-map-scene{z-index:-1;pointer-events:none;position:absolute;inset:0;overflow:hidden}.campus-map-scene>canvas{transform-origin:0 0;display:block;position:absolute;top:0;left:0}.campus-map-svg.over-building:not(.panning){cursor:pointer}.campus-map-ghost .campus-rotate-btn{pointer-events:auto}.campus-rotate-btn{cursor:pointer}.campus-rotate-btn circle{fill:var(--parchment);stroke:var(--gold-dim);stroke-width:1.5px}.campus-rotate-btn:hover circle{fill:#efe1b8}.campus-rotate-btn text{font-size:var(--text-base);fill:var(--ink);pointer-events:none}.campus-paths{pointer-events:none}.campus-path-fill{fill:#cbbd8e}.campus-path-joint{stroke:#786a4247;stroke-width:1px;fill:none;vector-effect:non-scaling-stroke}.campus-path-kerb{stroke:#a89566;stroke-width:3px;fill:none;stroke-linejoin:round;vector-effect:non-scaling-stroke}.campus-building{cursor:pointer}.campus-building-shadow{fill:var(--building-shadow);pointer-events:none}.campus-map-svg.placing .campus-building,.campus-map-svg.path-draw .campus-building,.campus-map-svg.path-erase .campus-building,.campus-map-svg.path-plant .campus-building,.campus-map-svg.path-fell .campus-building{pointer-events:none}.iso-course{fill:#fffdf638}.iso-curtain-glass{fill:#7fb3d8}.iso-mullion{fill:#fafcfdd1}.iso-undercroft{fill:#1c262ea8}.iso-pool-glimpse{fill:#6ba3bd8c}.iso-roller{fill:#464a48b3}.iso-cross{fill:#cf2f2a}.iso-helipad{fill:#fffdf647}.iso-helipad-mark{fill:#fffdf6d9}.iso-eaves-shadow{fill:#1c181042}.iso-door{fill:#261e109e}.iso-door-surround{fill:#fffdf638}.iso-door-leaf{fill:#604424bf}.iso-door-bar{fill:#261e106b}.iso-door-glass{fill:#fffdf66b}.iso-door-lintel{fill:#261e104d}.iso-door-leaf-open{fill:#463018d9;opacity:0}.iso-door-way.door-open .iso-door-leaf{opacity:0}.iso-door-way.door-open .iso-door-leaf-open{opacity:1}.iso-door-way.door-open .iso-door{fill:#ecc478b8}.iso-step-tread{fill:#fffdf657}.iso-rooflight{fill:#fffdf66b}.iso-louvre{fill:#1e222a9e}.iso-plinth{fill:#faf6ea6b}.iso-cornice{fill:#faf6ea80}.iso-parapet{fill:#faf6ea24}.iso-pediment{fill:#faf6ea9e}.iso-finial{stroke-width:2px;vector-effect:non-scaling-stroke}.iso-clock-face{fill:#fcfaf2eb;stroke:#3c301873;stroke-width:1px;vector-effect:non-scaling-stroke}.iso-clock-hand{stroke:#302612d9;stroke-width:1.4px;vector-effect:non-scaling-stroke;stroke-linecap:round}.iso-bell{fill:#8a6a3a;stroke:#322410b3;stroke-width:.8px;vector-effect:non-scaling-stroke}.iso-carillon-mast{stroke:#3c3e42e6;stroke-width:1.4px;vector-effect:non-scaling-stroke;stroke-linecap:round}.iso-bell-hanger{stroke:#282828cc;stroke-width:1px;vector-effect:non-scaling-stroke}.iso-terrace-post{stroke:#46484ae6;stroke-width:1.2px;vector-effect:non-scaling-stroke}.iso-ridge{stroke:#2a381c47;stroke-width:1px;vector-effect:non-scaling-stroke}.map-building-list{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.campus-building-halo{fill:none;stroke:#f6f1e2;stroke-width:2.5px;vector-effect:non-scaling-stroke;pointer-events:none}.campus-map-svg.inspecting .campus-building:not(.inspected){opacity:.45}.scaffold-hatch{stroke:#2a381c57;stroke-width:2.5px;fill:none}.scaffold-pole{fill:#705f32eb}.scaffold-rail{fill:#705f32b8}.crane-steel{fill:#d8a92a}.crane-lattice{fill:#5e4a10bf}.crane-tie{fill:#483a12d9}.crane-cab{fill:#f2f0e6;stroke:#3a2f0e80;stroke-width:.8px;vector-effect:non-scaling-stroke}.crane-weight{fill:#5d564b}.crane-ballast{fill:#686256e6}.campus-building-complete{fill:none;stroke:var(--gold);stroke-width:3px;pointer-events:none;vector-effect:non-scaling-stroke;animation:1.5s ease-out forwards campus-complete}@keyframes campus-complete{0%{opacity:0;stroke-width:1px}22%{opacity:1;stroke-width:4px}to{opacity:0;stroke-width:2px}}.campus-building-progress-track{fill:#2a381c4d;pointer-events:none}.campus-building-progress-fill{fill:var(--gold);pointer-events:none}.ground-lawn{fill:var(--lawn,#8fae6b)}.ground-graded{fill:#a08965}.ground-graded-scrape{stroke:#4a3a2621;stroke-width:1px;fill:none;vector-effect:non-scaling-stroke}.site-hoarding-post{stroke:#3a2f0e47;stroke-width:1px;fill:none;vector-effect:non-scaling-stroke}.site-hoarding-cap{stroke:#3a2f0e73;stroke-width:1.2px;fill:none;vector-effect:non-scaling-stroke}.ground-turf{fill:var(--turf,#6d9150)}.ground-endzone{fill:var(--turf-deep,#5d7f43)}.ground-turf-roof{fill:var(--turf-roof,#5d8a4a)}.ground-deck{fill:#d8d2bd}.ground-water{fill:var(--water,#6ba3bd)}.ground-track{fill:#b4714f}.ground-dirt{fill:#c08d5c}.ground-dirt-pale{fill:#cda06f}.ground-line{stroke:#fffdf6b8;stroke-width:1.4px;fill:none;vector-effect:non-scaling-stroke}.ground-line-heavy{stroke:#fffdf6d9;stroke-width:2.2px;fill:none;vector-effect:non-scaling-stroke}.ground-line-fine{stroke:#fffdf699;stroke-width:1px;fill:none;vector-effect:non-scaling-stroke}.ground-lane,.ground-pool-lane{stroke:#fffdf68c;stroke-width:1px;fill:none;vector-effect:non-scaling-stroke}.ground-pool-lane{opacity:var(--under-ice-opacity,1)}.ground-mow{fill:#ffffff0e}.ground-walk-fill{fill:#cbbd8e}.ground-fence{fill:#463e3080}.ground-fence-rail{stroke:#f6f1e280;stroke-width:1.2px;vector-effect:non-scaling-stroke}.stand-rail{stroke:#f6f1e28c;stroke-width:1.2px;vector-effect:non-scaling-stroke}.stand-aisle{fill:#2a28226b}.ground-fence-mesh{fill:#3c423a38}.ground-fence-post{stroke:#3a38308c;stroke-width:1px;vector-effect:non-scaling-stroke}.ground-post{stroke:#46423acc;stroke-width:1.4px;vector-effect:non-scaling-stroke}.ground-mast{stroke:#46484ae6;stroke-width:1.6px;vector-effect:non-scaling-stroke}.ground-mast-head{fill:#4a4d50}.ground-foul-pole{stroke:#e6c84a;stroke-width:1.6px;vector-effect:non-scaling-stroke}.ground-goal{stroke:#fffdf6e6;stroke-width:1.3px;vector-effect:non-scaling-stroke}.ground-base{fill:#fffdf6e6}.ground-glazing{fill:#26343eb8}.ground-scoreboard-face{fill:#1d2a1f}.ground-net{fill:#282c288c}.ground-net-tape{stroke:#fffdf6e6;stroke-width:1.2px;vector-effect:non-scaling-stroke}.ground-apron{fill:#a39d8e}.ground-track-inner{fill:#bd7b58}.ground-dzone{fill:#bb8d73}.ground-runway{fill:#d6c9b0}.ground-court{fill:var(--court,#5e8a58)}.ground-court-play{fill:#4e7c92}.ground-coping{fill:#e9e4d2}.ground-water-deep{fill:#1e3c5a29;opacity:var(--under-ice-opacity,1)}.ground-block{fill:#efe9da}.ground-medallion{fill:#cbbd8e}.campus-tree-shadow{fill:#2a381c33}.campus-tree-trunk{fill:#6b5236}.campus-tree-crown{fill:var(--leaf-canopy,#4f7a3c);opacity:var(--leaf-opacity,1)}.campus-tree-crown-top{fill:var(--leaf-canopy-top,#679a4c);opacity:var(--leaf-opacity,1)}.campus-tree.conifer .campus-tree-crown{fill:#37623f;opacity:1}.campus-tree.conifer .campus-tree-crown-top{fill:var(--conifer-top,#467c4f);opacity:1}.campus-tree.ornamental .campus-tree-crown{fill:var(--leaf-ornamental,#7d9e4a)}.campus-tree.ornamental .campus-tree-crown-top{fill:var(--leaf-ornamental-top,#9ab85f)}.ground-fountain-kerb{fill:#d8cfb4}.ground-fountain-water{fill:#7fb2c9}.ground-fountain-basin{fill:#5f96b0}.ground-fountain-jet{fill:#f6fcffdb}.ground-monument{fill:#b9ad8a}.ground-monument-cap{fill:#d8cfb4}.ground-fountain-spray{fill:#f6fcff57}.ground-fountain-veil{fill:#ecf6fc61}.ground-fountain-paving{fill:#cfc5aa}.ground-statue-walk{fill:#d6ccb2}.ground-plinth-top{fill:#ddd4bd}.ground-plinth-left{fill:#bdb39a}.ground-plinth-right{fill:#a39a82}.ground-bench-top{fill:#b4aa91}.ground-bench-left{fill:#978e77}.ground-bench-right{fill:#847c67}.ground-bronze{fill:#5e6b4e}.ground-bronze-dark{fill:#454f3a}.ground-bronze-light{fill:#7b8c68}.ground-bed{fill:var(--bed,#7a6248)}.ground-bloom-0,.ground-bloom-1,.ground-bloom-2,.ground-bloom-3{opacity:var(--bloom-opacity,1)}.ground-bloom-0{fill:#d9566a}.ground-bloom-1{fill:#e8b33f}.ground-bloom-2{fill:#e9e3ee}.ground-bloom-3{fill:#b070c4}.ground-hedge{fill:#3f6b34}.ground-moss{fill:var(--moss,#6d8a4a)}.ground-garden-grass{fill:var(--garden-grass,#7fa652)}.ground-pond-edge{fill:#8e8a7c}.ground-pond{fill:var(--pond,#6ba3bd)}.ground-koi,.ground-koi-white{opacity:var(--under-ice-opacity,1)}.ground-koi{fill:#e0782f}.ground-koi-white{fill:#f4efe4}.ground-lily,.ground-lily-flower{opacity:var(--bloom-opacity,1)}.ground-lily{fill:#5f9a45}.ground-lily-flower{fill:#f3b5cc}.ground-petal,.ground-petal-light{opacity:var(--petal-opacity,1)}.ground-petal{fill:#f2b3c9}.ground-petal-light{fill:#fbe1ea}.ground-step-stone{fill:#a9a497;stroke:#3c383059;stroke-width:.6px}.ground-rock-top{fill:#8f8c84}.ground-rock-left{fill:#6f6c66}.ground-rock-right{fill:#5c5a55}.ground-lantern-top{fill:#c9c3b4}.ground-lantern-left{fill:#aaa495}.ground-lantern-right{fill:#928c7e}.ground-lantern-light-top{fill:#c9c3b4}.ground-lantern-light-left{fill:#f2d98a}.ground-lantern-light-right{fill:#d9bd6c}.jg-sakura .campus-tree.ornamental .campus-tree-crown,.jg-sakura .campus-tree.canopy .campus-tree-crown{fill:var(--sakura,#e79bb8)}.jg-sakura .campus-tree.ornamental .campus-tree-crown-top,.jg-sakura .campus-tree.canopy .campus-tree-crown-top{fill:var(--sakura-top,#f7c6d8)}.jg-sakura .campus-tree.ornamental .campus-tree-trunk,.jg-sakura .campus-tree.canopy .campus-tree-trunk{fill:#5a3b33}.ground-bridge{fill:#c8402c;stroke:#8a2a1c;stroke-width:.8px}.ground-bridge-rail{fill:none;stroke:#9e3020;stroke-width:1.6px;stroke-linecap:round}.jg-torii-top{fill:#d24a33}.jg-torii-left{fill:#c3412b}.jg-torii-right{fill:#a33322}.jg-kasagi-top{fill:#3a3431}.jg-kasagi-left{fill:#2b2624}.jg-kasagi-right{fill:#221e1c}.jg-base-top{fill:#b9bcc0}.jg-base-left{fill:#9da1a6}.jg-base-right{fill:#868a90}.jg-runner{fill:#a8262a}.jg-wall-left{fill:#eef0f2}.jg-wall-right{fill:#d3d8de}.jg-post{stroke:#b3261e;stroke-width:1.3px}.jg-beam{fill:#b3261e}.jg-door{fill:#8e9297}.jg-roof-back{fill:#1f3650}.jg-roof-left{fill:#34587a}.jg-roof-right{fill:#27445f}.jg-finial{fill:#e8b923}.jg-shrub-pink{fill:var(--azalea,#d9829f)}.jg-shrub-pink-top{fill:var(--azalea-top,#f0a8c0)}.jg-shrub-magenta{fill:var(--azalea-deep,#b5487a)}.jg-shrub-magenta-top{fill:var(--azalea-deep-top,#d5679a)}.jg-shrub-green{fill:#3f6b34}.jg-shrub-green-top{fill:#58884a}.ground-hedge-top{fill:var(--hedge-top,#55863f)}.chapter-pediment{fill:#efe9da}.chapter-letters-cast{fill:#28241eb3}.chapter-letters{fill:#8a7f63;font-family:var(--display);dominant-baseline:middle;-webkit-user-select:none;user-select:none;pointer-events:none;font-weight:800}.campus-hall-marks{cursor:pointer}.campus-hall-marks-plate{fill:#141a108c}.campus-hall-pip{fill:#0000;stroke:#f6f1e2;stroke-width:1.2px}.campus-hall-pip.filled{stroke:#f6f1e299}.campus-hall-pip.blocked{stroke:#e0553f;stroke-width:2.2px}.campus-hall-flag circle{fill:var(--gold)}.campus-hall-flag path{stroke:#1a2035;stroke-width:1.6px;stroke-linecap:round;fill:none}.campus-lab-mark{cursor:pointer}.campus-lab-plate{fill:#141a108c}.campus-lab-track{fill:none;stroke:#f6f1e238;stroke-width:3.2px}.campus-full-mark{cursor:pointer}.campus-full-ring{fill:none;stroke:var(--school-secondary);stroke-width:3.2px}.campus-full-bed{fill:none;stroke:#f6f1e2;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round}.campus-full-pillow{fill:#f6f1e2}.campus-lab-progress{fill:none;stroke:var(--gold);stroke-width:3.2px;stroke-linecap:round;filter:brightness(1.35)saturate(1.1)}.campus-lab-orbit{fill:none;stroke:#f6f1e299;stroke-width:1.1px}.campus-lab-nucleus{fill:var(--gold);stroke:#f6f1e2;stroke-width:.8px}.campus-lab-electron{fill:#f6f1e2}.campus-label{pointer-events:none;opacity:0;transition:opacity 90ms linear}.campus-label-plate{fill:#141a1080}.campus-label-text{fill:#f6f1e2;font-family:var(--display);text-anchor:middle;dominant-baseline:middle;-webkit-user-select:none;user-select:none}.tab-overlay{z-index:3;background:var(--cream);color:var(--ink);flex-direction:column;animation:.14s ease-out overlay-fade;display:flex;position:fixed;inset:0}@keyframes overlay-fade{0%{opacity:0}to{opacity:1}}.tab-overlay-head{justify-content:space-between;align-items:center;gap:var(--space-12);padding:var(--space-12) var(--space-16);border-bottom:3px solid var(--outline);flex:none;padding-right:68px;display:flex}.tab-overlay-head h2{margin:0}.tab-overlay-close{align-items:center;gap:var(--space-6);padding:var(--space-6) var(--space-12);font-size:var(--text-sm);display:inline-flex}.tab-overlay-body{padding:14px 18px;padding-bottom:calc(var(--toolbar-height) + var(--log-ticker-height) + 40px);overflow-y:auto}.tab-overlay-body::-webkit-scrollbar{width:8px}.tab-overlay-body::-webkit-scrollbar-thumb{background:var(--parchment-line);border-radius:var(--radius-sm)}.tab-overlay-body{scrollbar-width:thin;scrollbar-color:var(--parchment-line) transparent}.curriculum-filters{border-bottom:2px solid var(--outline);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;padding:0 0 12px;display:flex}.curriculum-search{border:2px solid var(--outline);border-radius:var(--radius-pill);background:var(--cream-hi);min-width:0;max-width:280px;height:36px;color:var(--ink);font-size:var(--text-sm);flex:200px;padding:0 12px;font-family:inherit;font-weight:600}.curriculum-search:focus-visible{outline:3px solid var(--school-secondary);outline-offset:1px}.curriculum-select{border:2px solid var(--outline);border-radius:var(--radius-pill);background:var(--cream-hi);height:36px;color:var(--ink);font-size:var(--text-sm);padding:0 10px;font-family:inherit;font-weight:700}.curriculum-chip{height:36px;padding:0 var(--space-12);font-size:var(--text-sm)}.curriculum-chip:hover:not(:disabled){background:var(--cream-lo);color:var(--ink)}.curriculum-chip.on,.curriculum-chip.on:hover:not(:disabled){background:var(--school-secondary);color:var(--school-on-secondary)}.curriculum-chip.clear{background:0 0}.curriculum-result-count{font-size:var(--text-xs);color:var(--ink-muted);font-weight:700}.curriculum-crumbs{flex-wrap:wrap;align-items:baseline;gap:7px;margin:0;display:flex}.curriculum-crumbs .crumb{font:inherit;color:var(--ink-muted);cursor:pointer;text-underline-offset:3px;background:0 0;border:none;padding:0;text-decoration:underline}.curriculum-crumbs .crumb:hover{color:var(--ink)}.curriculum-crumbs .crumb-sep{color:var(--ink-muted)}.curriculum-crumbs .crumb-current{color:var(--ink)}.next-up{background:var(--cream-hi);border:2px solid var(--outline);border-radius:var(--radius-lg);flex-direction:column;gap:8px;margin-bottom:14px;padding:10px 12px;display:flex}.next-up-item{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.standing-ceiling.binding{color:var(--bad-on-light)}.standing-link{color:var(--school-primary);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.next-up.with-committee{grid-template-columns:minmax(0,1fr) minmax(260px,380px);align-items:start;gap:12px 18px;display:grid}.next-up-main{flex-direction:column;gap:8px;min-width:0;display:flex}.committee{border-left:2px dashed var(--parchment-line);min-width:0;padding-left:14px}.committee-head{align-items:center;gap:8px;margin-bottom:6px;display:flex}.committee-head .next-up-label{min-width:0}.committee-count{font-family:var(--display);font-weight:800;font-size:var(--text-sm);color:var(--ink);margin-right:auto}.committee-seats{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin:0;padding:0;list-style:none;display:grid}.committee-seat{border:2px solid var(--outline);border-radius:var(--radius-md);background:var(--cream);flex-direction:column;justify-content:center;gap:3px;min-width:0;min-height:40px;padding:4px 6px;display:flex}.committee-seat-name{font-family:var(--display);font-weight:800;font-size:var(--text-2xs);color:var(--ink);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}@media (width<=560px){.committee-seat-name{white-space:normal;overflow-wrap:anywhere}}.committee-seat.busy{background:var(--school-secondary)}.committee-seat.busy .committee-seat-name{color:var(--school-on-secondary)}.committee-seat-bar{background:color-mix(in srgb, var(--outline) 18%, transparent);border-radius:2px;height:4px;display:block;overflow:hidden}.committee-seat-bar>span{background:var(--school-primary);height:100%;display:block}.committee-seat-left{font-size:var(--text-2xs);color:var(--school-on-secondary);opacity:.85;font-weight:700}.committee-seat.open{border-style:dashed}.committee-seat.open .committee-seat-name{color:var(--ink-muted);font-weight:700}.committee-seat.locked{border-style:dotted;border-color:var(--parchment-line);background:0 0}.committee-seat.locked .committee-seat-name{color:var(--ink-muted);font-weight:700}.committee-seat.locked .committee-seat-left{color:var(--ink-muted)}.committee-note{font-size:var(--text-xs);color:var(--ink-muted);margin:6px 0 0;font-style:italic}@media (width<=760px){.next-up.with-committee{grid-template-columns:minmax(0,1fr)}.committee{border-left:none;border-top:2px dashed var(--parchment-line);padding:10px 0 0}}.committee-box .committee{border:none;padding:0}@media (width>=761px){.committee-box .committee-seats{grid-template-columns:repeat(8,minmax(0,1fr))}}.committee-faculty{border-top:2px dashed var(--parchment-line);font-size:var(--text-sm);color:var(--ink);flex-wrap:wrap;align-items:baseline;gap:4px 6px;margin:0;padding-top:8px;font-weight:600;display:flex}.committee-faculty-label{color:var(--bad-on-light);font-weight:800}.committee-faculty .committee-faculty-door{margin:0 0 0 auto;display:inline}.next-up-label{min-width:108px;font-family:var(--display);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.08em;color:var(--school-on-primary);background:var(--school-primary);border-radius:var(--radius-pill);text-align:center;flex:none;padding:3px 9px;font-weight:800}.next-up-body{font-size:var(--text-sm);color:var(--ink);font-weight:600}.next-up-offer{font-weight:700}.next-up-mark{color:var(--school-hue,var(--ink-muted))}.next-up-sep{color:var(--ink-muted);font-weight:400}.next-up-doors{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.next-up-door{padding:var(--space-4) var(--space-12);font-size:var(--text-xs);border-left:5px solid var(--school-hue,var(--outline))}.next-up-item.wall .next-up-door{border-left-color:var(--bad-on-light)}.next-up-note{font-size:var(--text-xs);color:var(--ink-muted);font-style:italic}.next-up-pair{gap:2px;display:inline-flex}.next-up-door.quiet{background:0 0;border-left-width:2px}.course-drawer-door{font:inherit;font-size:var(--text-xs);color:var(--school-primary);cursor:pointer;text-underline-offset:3px;background:0 0;border:none;margin-top:8px;padding:0;font-weight:700;text-decoration:underline;display:block}.course-drawer-door:hover{color:var(--ink)}@media (width>=900px) and (height>=700px){.curriculum-pinned{z-index:2;background:var(--cream-hi);margin:0 -4px;padding:14px 4px 2px;position:sticky;top:-14px}}.row-action{font-size:var(--text-xs);flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 6px;display:flex}.row-action-develop{align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-12);font-size:var(--text-xs);display:inline-flex}.row-action-develop .cell-code{opacity:1}.row-action-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:22em;font-weight:800;overflow:hidden}@media (width<=600px){.row-action-title{max-width:11em}}.row-action-cost{color:var(--ink-muted);font-weight:700}.row-action-secondary{padding:var(--space-4) var(--space-12);font-size:var(--text-xs)}.row-action-note{color:var(--ink);font-weight:600}.row-action-worth{color:var(--ink-muted);font-variant-numeric:tabular-nums;margin-left:auto;font-weight:700}.program-row-head .row-action{flex:auto;margin:0}.program-row.collapsed .program-row-head{align-items:center;margin-bottom:0}.school-group{margin-bottom:var(--space-16)}.school-group-head{z-index:1;background:var(--cream-hi);color:var(--ink);border:2px solid var(--outline);border-radius:0 var(--radius-lg) 0 0;box-shadow:var(--shadow-1);align-items:stretch;display:flex;position:relative;overflow:hidden}.school-group.collapsed .school-group-head{border-radius:0 var(--radius-lg) var(--radius-lg) 0}.school-group-tab{min-width:40px;padding:0 var(--space-8);background:var(--school-hue,var(--school-primary));color:var(--school-on-primary);border-right:2px solid var(--outline);flex:none;place-items:center;display:grid}.school-group-head-body{align-items:center;gap:var(--space-8) var(--space-12);min-width:0;padding:var(--space-6) var(--space-12) var(--space-6) var(--space-8);flex-wrap:wrap;flex:1;display:flex}.school-group-head h3{font-family:var(--display);font-weight:800;font-size:var(--text-lg);letter-spacing:-.01em;color:inherit;margin:0}.school-group-mark{color:inherit;font-size:var(--text-xl);line-height:1}.school-group-unnamed{color:var(--ink-muted);font-weight:600}.school-group-tally{align-items:center;gap:var(--space-8);margin-left:auto;display:inline-flex}.school-group-meter{border:1.5px solid var(--outline);border-radius:var(--radius-xs);background:var(--cream-lo);width:50px;height:8px;overflow:hidden}.school-group-meter>span{background:var(--school-hue,var(--school-primary));height:100%;display:block}.program-rows{flex-direction:column;display:flex;overflow-x:auto}.program-row{border:solid var(--outline);border-width:0 2px 1px 6px;border-left-color:var(--school-hue,var(--outline));border-bottom-color:var(--parchment-line);background:var(--cream-hi);min-width:480px;padding:8px 10px 10px}.program-row:last-child{border-bottom:2px solid var(--outline);border-radius:0 0 var(--radius-lg) 0}.program-row.graduate{border-right-style:dashed}.program-row-head{flex-wrap:wrap;align-items:baseline;gap:8px;margin-bottom:6px;display:flex}.program-row-head h4{font-family:var(--display);font-weight:800;font-size:var(--text-md);color:var(--ink);margin:0}.program-row-hall{font-size:var(--text-2xs);color:var(--ink-muted);font-weight:700}.program-row-mark{color:var(--school-hue,var(--ink-muted));font-size:var(--text-md);line-height:1}.collapse-toggle{font-size:var(--text-sm);color:inherit;cursor:pointer;background:0 0;border:0;padding:0 2px;line-height:1}.program-row.collapsed{padding-bottom:6px}.program-row-dark{font-family:var(--display);font-size:var(--text-2xs);color:var(--danger-ink);text-transform:uppercase;letter-spacing:.04em;font-weight:800}.school-restaff{padding:var(--space-4) var(--space-12);font-size:var(--text-xs)}.dean-plan h3{font-size:var(--text-sm);margin:12px 0 4px}.dean-plan ul{font-size:var(--text-xs);margin:0;padding-left:18px}.program-row-cells{grid-template-columns:minmax(0,1fr) 1px repeat(4,minmax(0,1fr)) 1px repeat(4,minmax(0,1fr)) 1px minmax(0,1fr);align-items:stretch;gap:4px;display:grid}.program-row-cells.graduate{grid-template-columns:repeat(9,minmax(0,1fr))}.tier-rule{border-left:2px dotted var(--outline);align-self:stretch;margin:4px 0}.program-row-cells .course-cell{min-height:54px;padding:5px 6px}.program-row-cells .cell-title{white-space:nowrap;text-overflow:ellipsis;align-self:stretch;min-width:0;display:block;overflow:hidden}.course-cell.placeholder{border:2px dashed var(--parchment-line);border-radius:var(--radius-md);background:0 0;min-height:54px}:is(.school-group,.hall-slot) .course-cell.done .cell-code{opacity:.75}:is(.school-group,.hall-slot) .course-cell.done .instructor-chip{background:var(--cream-hi)}.school-group .course-cell.placeholder{border-color:color-mix(in srgb, var(--school-hue,var(--parchment-line)) 35%, var(--parchment-line))}.lane-count{font-family:var(--display);font-weight:800;font-size:var(--text-xs);color:var(--ink-muted);font-variant-numeric:tabular-nums;margin-left:auto}.school-group-head .lane-count{font-size:var(--text-sm);color:var(--ink);margin-left:0}.instructor-chip{border-radius:var(--radius-pill);background:var(--cream-hi);border:1.5px solid var(--outline);max-width:100%;font-size:var(--text-2xs);color:var(--ink);align-items:center;gap:4px;margin-top:3px;padding:2px 6px 2px 2px;font-weight:600;line-height:1;display:inline-flex}.instructor-chip.draggable{cursor:grab}.instructor-chip.draggable:active{cursor:grabbing}.instructor-chip-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.instructor-chip-grade{font-weight:800}.course-cell.done .instructor-chip{background:var(--cream-hi)}.course-cell.drag-source{outline:3px dashed var(--school-secondary);outline-offset:1px}.course-cell.drop-target{box-shadow:inset 0 0 0 3px var(--outline)}.course-cell.drop-over{box-shadow:inset 0 0 0 3px var(--school-secondary);background:var(--cream-hi)}.swap-preview{font-family:var(--display);font-size:var(--text-2xs);color:var(--ink-muted);margin-top:2px;font-weight:800;display:block}.swap-preview.up{color:var(--ok-on-light)}.swap-preview.down{color:var(--bad-on-light)}.search-post{margin-bottom:8px}.course-drawer-more{margin-top:8px}.course-drawer-more>summary{cursor:pointer;font-size:var(--text-xs);color:var(--ink-muted)}.course-drawer-more>summary:hover{color:var(--ink)}.search-running{color:var(--warn-on-light);font-weight:700}.dept-body .search-post{margin-top:6px}.worklist{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:9px;display:grid}.worklist-row{flex-direction:column;gap:3px;display:flex}.worklist-where{font-size:var(--text-xs);color:var(--ink-muted);padding-left:2px}.prereq-static{align-items:baseline;gap:6px;padding:2px 0;display:flex}.prereq-link{text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;align-items:baseline;gap:6px;padding:2px 0;display:flex}.prereq-link:hover{text-underline-offset:2px;text-decoration:underline}.prereq-go{opacity:0;flex:none;margin-left:auto}.prereq-link:hover .prereq-go,.prereq-link:focus-visible .prereq-go{opacity:.7}.prereq-bridge{font-family:var(--display);font-weight:800;font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.06em;border-radius:var(--radius-pill);opacity:.8;border:1.5px solid;flex:none;padding:1px 6px}.facility-group-head{margin:var(--space-16) 0 var(--space-8)}.facility-roster{border:2px solid var(--outline);border-radius:var(--radius-lg);background:var(--cream-hi)}.facility-panel{padding:var(--space-8) var(--space-12);border-bottom:1px solid var(--parchment-line)}.facility-panel:last-child{border-bottom:0}.facility-panel>:not(.facility-head){margin-left:calc(12px + var(--space-12))}.facility-panel>.facility-head+*{margin-top:var(--space-8)}.facility-panel.running{padding-bottom:var(--space-12)}.facility-head{align-items:center;gap:var(--space-12);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.facility-head>button{flex:none}.facility-lamp{border:2px solid var(--outline);background:var(--cream-lo);border-radius:50%;width:12px;height:12px}.facility-lamp.on{background:var(--school-secondary);box-shadow:0 0 0 3px color-mix(in srgb, var(--school-secondary) 35%, transparent)}.facility-title{flex-direction:column;min-width:0;display:flex}.facility-name{font-family:var(--display);font-size:var(--text-md);letter-spacing:-.01em;color:var(--ink);font-weight:800;line-height:1.2}.facility-status{font-size:var(--text-xs);color:var(--ink-muted);font-style:italic;line-height:1.35}.facility-status.busy{color:var(--ink);font-style:normal;font-weight:600}.facility-tags{align-items:center;gap:var(--space-6);flex-wrap:wrap;display:flex}.facility-depth{font-family:var(--display);font-size:var(--text-2xs);color:var(--school-on-secondary);background:var(--school-secondary);border:1.5px solid var(--outline);border-radius:var(--radius-pill);letter-spacing:.06em;text-transform:uppercase;padding:1px 7px;font-weight:800;line-height:1.3}.facility-start,.facility-cancel{padding:var(--space-4) var(--space-12);font-size:var(--text-xs);white-space:nowrap}@media (width<=560px){.facility-head{row-gap:var(--space-6);grid-template-columns:auto minmax(0,1fr)}.facility-head>:last-child{grid-column:2;justify-self:start}.facility-lamp{align-self:start;margin-top:3px}.facility-panel>:not(.facility-head){margin-left:0}}.facility-team{gap:5px var(--space-24);margin-block:var(--space-8) 12px;grid-template-columns:repeat(auto-fill,minmax(min(380px,100%),1fr));display:grid}.scholar-row{grid-template-columns:32px minmax(0,1fr) auto auto;align-items:center;gap:10px;display:grid}.scholar-body{flex-direction:column;gap:0;min-width:0;display:flex}.scholar-name{font-size:var(--text-sm);color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.scholar-field{font-size:var(--text-xs);color:var(--ink-muted);font-weight:600}.facility-cross{font-family:var(--display);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.06em;color:var(--school-primary);border-radius:var(--radius-pill);border:1.5px solid;padding:1px 7px;font-weight:800}.scholar-stat{grid-template-columns:auto 64px auto;align-items:center;gap:6px;display:grid}.scholar-stat-label{font-family:var(--display);font-weight:800;font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-muted)}.scholar-bar-track{background:var(--cream-lo);border-radius:4px;height:7px;position:relative;overflow:hidden}.scholar-bar-headroom{background:var(--parchment-line);position:absolute;inset:0 auto 0 0}.scholar-bar-fill{background:var(--school-primary);border-radius:4px;position:absolute;inset:0 auto 0 0}.scholar-stat-value{font-family:var(--display);font-weight:800;font-size:var(--text-xs);color:var(--ink)}.scholar-drop{width:22px;height:22px;color:var(--ink-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex}.scholar-drop svg{width:14px;height:14px;display:block}.scholar-drop:hover{color:var(--danger-ink);background:var(--danger-bg)}.facility-progress{border-top:2px dashed var(--parchment-line);padding-top:10px}.facility-track{background:var(--cream-lo);border-radius:5px;height:10px;margin-bottom:7px;display:block;overflow:hidden}.facility-fill{background:var(--school-primary);border-radius:5px;height:100%;display:block}.facility-progress-meta{font-size:var(--text-xs);color:var(--ink-muted);flex-wrap:wrap;gap:3px 14px;font-weight:600;display:flex}.facility-progress-meta b{font-family:var(--display);color:var(--ink);font-weight:800}.facility-rate{margin-left:auto}.offer-set{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px;display:grid}.empty-note.landmark-note{margin-top:var(--space-12)}.research-park,.athletics-complex{margin-top:var(--space-16);border-top:2px dashed var(--parchment-line)}.athletics-complex-line,.research-park-line{font-size:var(--text-sm);color:var(--ink);margin:0 0 6px;line-height:1.4}.speed-ups{margin:var(--space-12) 0 0;flex:100%;gap:6px;display:grid}.speed-ups-head{font-family:var(--display);text-transform:uppercase;letter-spacing:.05em;font-weight:800;font-size:var(--text-2xs);color:var(--ink-muted);margin:0}.speed-up{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 12px;display:flex}.speed-up-text{font-size:var(--text-sm);color:var(--ink);flex:260px;margin:0;line-height:1.4}.speed-up-done{font-size:var(--text-xs);color:var(--ink-muted);font-style:italic}button.btn-speed-up{color:var(--school-primary);border-color:var(--school-primary);white-space:nowrap}.park-tally{gap:var(--space-6);margin:var(--space-12) 0 var(--space-8);display:grid}.park-tally-head{justify-content:space-between;align-items:baseline;gap:var(--space-12);font-family:var(--display);font-size:var(--text-2xs);letter-spacing:.12em;text-transform:uppercase;color:var(--school-primary);margin:0;font-weight:800;display:flex}.park-tally-count{font-family:var(--mono);font-size:var(--text-xs);letter-spacing:0;color:var(--ink)}.park-tally-cells{gap:3px;display:grid}.park-tally-cell{border:1.5px solid var(--outline);border-radius:var(--radius-xs);background:var(--cream-lo);height:16px;position:relative}.park-tally-cell.finished{background:var(--ok-on-light)}.park-tally-cell.finished:after{content:"";border:solid var(--cream-hi);border-width:0 2px 2px 0;width:4px;height:8px;position:absolute;top:50%;left:50%;transform:translate(-50%,-65%)rotate(40deg)}.offer{text-align:left;padding:var(--inset-card);border:2px solid var(--outline);border-radius:var(--radius-md);background:var(--cream-hi);color:var(--ink);cursor:pointer;box-shadow:var(--shadow-1);flex-direction:column;gap:4px;font-family:inherit;display:flex}.offer:hover:not(:disabled){box-shadow:var(--shadow-2)}.offer.selected{background:var(--school-secondary);color:var(--school-on-secondary);box-shadow:var(--shadow-2)}.offer.selected .offer-depth,.offer.selected .offer-cost,.offer.selected .offer-topic,.offer.selected .offer-meta,.offer.selected .offer-blurb,.offer.selected .offer-odds{color:var(--school-on-secondary)}.offer.blocked{opacity:.55;cursor:not-allowed;box-shadow:none;border-color:var(--parchment-line)}.offer-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.offer-depth{font-family:var(--display);font-weight:800;font-size:var(--text-md);color:var(--ink)}.offer-cost{font-family:var(--display);font-weight:800;font-size:var(--text-xs);color:var(--ink-muted)}.offer-topic{font-size:var(--text-base);color:var(--ink);font-weight:600;line-height:1.25}.offer-meta{font-size:var(--text-xs);color:var(--ink-muted);font-weight:600}.offer-blurb{font-size:var(--text-xs);color:var(--ink-muted);line-height:1.35}.offer-odds{font-size:var(--text-xs);color:var(--ink);font-weight:700}.admissions-ceiling-note{font-size:var(--text-xs);color:var(--ink-muted);margin:4px 0 12px;line-height:1.45}.offer-commit{border-top:2px dashed var(--parchment-line);flex-direction:column;gap:7px;margin-top:12px;padding-top:10px;display:flex}.offer-commit h4{margin:0}.offer-bench{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.offer-bench-label{font-size:var(--text-xs);color:var(--ink-muted)}.offer-add{padding:var(--space-2) var(--space-12);font-size:var(--text-xs)}.offer-add-field{color:var(--ink-muted);font-size:var(--text-2xs);font-weight:600}.offer-note{font-size:var(--text-xs);color:var(--ink-muted);margin:0;font-weight:600}.facility-commit{padding:var(--space-8) var(--space-16);font-size:var(--text-md)}.record-list{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));align-items:start;gap:8px;display:grid}.record{padding:var(--inset-card);border:2px solid var(--parchment-line);border-radius:var(--radius-md);background:var(--cream-hi);grid-template-columns:40px minmax(0,1fr);gap:4px 10px;display:grid}.record.cancelled{opacity:.6}.record-year{font-family:var(--display);font-weight:800;font-size:var(--text-xs);color:var(--school-primary)}.record-body{flex-direction:column;gap:1px;min-width:0;display:flex}.record-topic{font-size:var(--text-sm);color:var(--ink);font-weight:600}.record-team{font-size:var(--text-xs);color:var(--ink-muted);text-overflow:ellipsis;overflow:hidden}.record-outcome{font-size:var(--text-xs);color:var(--ink-muted);flex-wrap:wrap;grid-column:2;gap:2px 10px;font-weight:600;display:flex}.record-award{color:var(--school-primary);font-weight:800}.record-grant{color:var(--ok-on-light)}.record-cancelled{font-style:italic}@media (width<=760px){.scholar-row{grid-template-columns:32px minmax(0,1fr) auto}.scholar-stat{grid-column:1/-1;grid-template-columns:auto minmax(0,1fr) auto}}.grade-mark{--mark-ink:var(--grade-a);width:1.75em;height:1.75em;font-family:var(--display);color:var(--mark-ink);vertical-align:middle;transform:rotate(var(--mark-tilt,-4deg));flex:none;place-items:center;font-weight:800;line-height:1;display:inline-grid;position:relative}.grade-mark.sm{font-size:var(--text-base)}.grade-mark.lg{font-size:var(--text-2xl)}.grade-mark svg{width:calc(100% + .24em);height:calc(100% + .24em);position:absolute;inset:-.12em;overflow:visible}.grade-mark path{fill:var(--mark-fill,none);stroke:var(--mark-ink);stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round}.grade-mark-letter{position:relative}.mark-a{--mark-ink:var(--grade-a)}.mark-b{--mark-ink:var(--grade-b)}.mark-c{--mark-ink:var(--grade-c)}.mark-d{--mark-ink:var(--grade-d)}.mark-f{--mark-ink:var(--grade-f)}.grade-a{color:var(--grade-a);background:var(--grade-a-bg)}.grade-b{color:var(--grade-b);background:var(--grade-b-bg)}.grade-c{color:var(--grade-c);background:var(--grade-c-bg)}.grade-d{color:var(--grade-d);background:var(--grade-d-bg)}.grade-f{color:var(--grade-f);background:var(--grade-f-bg)}.course-cell .grade-mark{font-size:var(--text-xs);position:absolute;top:3px;right:4px}.course-cell.done .grade-mark{--mark-fill:var(--cream-hi)}.panel-head-figure .grade-mark{margin-left:2px}.course-drawer-grade{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:12px;display:grid}.course-drawer-grade-body{min-width:0}.course-drawer-grade-score{font-size:var(--text-xs);color:var(--ink-muted);font-weight:700}.course-drawer-factors{flex-direction:column;gap:3px;margin:6px 0 0;padding:0;list-style:none;display:flex}.course-drawer-factors li{font-size:var(--text-sm);color:var(--ink-muted);justify-content:space-between;gap:10px;display:flex}.course-drawer-factors li .num{font-family:var(--display);font-weight:800;font-size:var(--text-xs);flex:none}.course-drawer-factors li.up .num{color:var(--ok-on-light)}.course-drawer-factors li.down .num{color:var(--danger-ink)}.curriculum-layout.with-drawer{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:16px;display:grid}.course-drawer{background:var(--cream-hi);border:3px solid var(--outline);border-radius:var(--radius-xl);box-shadow:var(--elevation-popup);max-height:calc(100vh - var(--toolbar-height) - var(--log-ticker-height) - 96px);flex-direction:column;display:flex;position:sticky;top:0;overflow:hidden}.course-drawer-head{justify-content:space-between;align-items:flex-start;gap:var(--space-12);padding:var(--space-12) var(--space-16);border-bottom:3px solid var(--outline);flex:none;display:flex}.course-drawer-head h2,.course-drawer-head h3{margin:var(--space-2) 0 0;line-height:1.1}.course-drawer-code{font-family:var(--display);font-weight:800;font-size:var(--text-xs);color:var(--school-primary);letter-spacing:.08em}.course-drawer-body{padding:var(--space-12) var(--space-16) var(--space-16);gap:var(--space-16);flex-direction:column;display:flex;overflow-y:auto}.course-drawer-desc{font-size:var(--text-sm);color:var(--ink-muted);margin:0;line-height:1.5}.course-drawer-facts{grid-template-columns:1fr 1fr;gap:8px 12px;margin:0;display:grid}.course-drawer-facts>div{flex-direction:column;gap:1px;display:flex}.course-drawer-facts dt{font-family:var(--display);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-muted);font-weight:800}.course-drawer-facts dd{font-size:var(--text-sm);color:var(--ink);margin:0;font-weight:700}.course-drawer-section{flex-direction:column;gap:8px;display:flex}.course-drawer-section h4{margin:0}.course-drawer-section h5{margin:0 0 var(--space-6);font-family:var(--display);font-weight:800;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-muted)}.course-drawer-prereqs{font-size:var(--text-sm);flex-direction:column;gap:3px;margin:0;padding:0;list-style:none;display:flex}.course-drawer-prereqs .met{color:var(--ok-on-light)}.course-drawer-prereqs .unmet{color:var(--danger-ink)}.course-drawer-note{font-size:var(--text-sm);color:var(--ink-muted);margin:0;line-height:1.45}.course-drawer-note.quiet{font-style:italic}.instructor-options{flex-direction:column;gap:6px;display:flex}.instructor-option{gap:var(--space-12);text-align:left;width:100%;padding:var(--inset-card);background:var(--cream);border:2px solid var(--outline);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);cursor:pointer;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;font-family:inherit;display:grid}.instructor-option:hover:not(:disabled){background:var(--cream-hi)}.instructor-option.selected{background:var(--cream-hi);box-shadow:inset 0 0 0 2px var(--school-secondary), var(--shadow-2)}.instructor-option.full{opacity:.62;cursor:default;box-shadow:none}.instructor-option-body{flex-direction:column;gap:2px;min-width:0;display:flex}.instructor-option-name{font-family:var(--display);font-weight:800;font-size:var(--text-md);color:var(--ink);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.instructor-option-meta{font-size:var(--text-xs);color:var(--ink-muted)}.instructor-option-pay{white-space:nowrap}.instructor-option-bars{flex-direction:column;gap:2px;margin-top:2px;display:flex}.instructor-stat{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:6px;display:grid}.instructor-stat-label{font-family:var(--display);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-muted);font-weight:800}.instructor-bar-track{background:var(--cream-lo);border-radius:4px;height:7px;position:relative;overflow:hidden}.instructor-bar-headroom{background:var(--parchment-line);position:absolute;inset:0 auto 0 0}.instructor-bar-fill{background:var(--school-primary);position:absolute;inset:0 auto 0 0}.instructor-stat-value{font-family:var(--display);font-weight:800;font-size:var(--text-xs);color:var(--ink)}.instructor-option-right{flex-direction:column;flex:none;align-items:flex-end;gap:4px;display:flex}.instructor-option-load{font-weight:700;font-size:var(--text-xs);color:var(--ink-muted);text-align:right;flex-direction:column;align-items:flex-end;line-height:1.25;display:flex}.instructor-option-load.full{color:var(--danger-ink)}.instructor-load-label{font-family:var(--display);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.06em}.course-drawer-action{width:100%;padding:var(--space-8) var(--space-16);font-size:var(--text-md)}.course-drawer-hire{border-top:2px dashed var(--outline);padding-top:10px}.course-drawer-candidate{flex-direction:column;gap:5px;margin-bottom:9px;display:flex}.course-drawer-appoint{padding:var(--space-6) var(--space-12);font-size:var(--text-xs);align-self:stretch}.empty-note{color:var(--ink-muted);font-style:italic;font-size:var(--text-base);margin:0}.stall-note{margin:0 0 var(--space-8)}.panel dl{grid-template-columns:1fr auto;gap:5px 12px;margin:0;display:grid}.panel dt{color:var(--ink-muted)}.panel dd{text-align:right;font-family:var(--display);color:var(--ink);margin:0;font-weight:800}.panel dl.satisfaction-target{margin:0 0 var(--space-12)}.satisfaction-cards{grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr));grid-auto-flow:dense;gap:10px;display:grid}.satisfaction-card{border:2px solid var(--outline);border-radius:var(--radius-lg);background:var(--cream-hi);padding:var(--inset-card);flex-direction:column;gap:8px;display:flex}.satisfaction-card-head{align-items:center;gap:10px;display:flex}.satisfaction-card-text{flex-direction:column;gap:1px;min-width:0;display:flex}.satisfaction-card-label{font-family:var(--display);font-weight:800;font-size:var(--text-md)}.satisfaction-card-weight{margin-top:var(--space-2);padding:var(--space-2) 5px;background:var(--cream-lo);color:var(--outline);font-family:var(--mono);font-size:var(--text-2xs);white-space:nowrap;border-radius:3px;align-self:flex-start;font-weight:700;line-height:1}.satisfaction-card-full{color:var(--ok-on-light);font-family:var(--display);font-weight:800;font-size:var(--text-2xs);letter-spacing:.12em;text-transform:uppercase;line-height:1.2}.satisfaction-card-coverage{font-size:var(--text-xs);color:var(--ink-muted);font-weight:600}.satisfaction-card-toggle{text-align:left;color:var(--school-primary);font-size:var(--text-xs);text-underline-offset:2px;cursor:pointer;background:0 0;border:none;padding:0;font-weight:700;text-decoration:underline}.satisfaction-card-detail{border-top:2px dashed var(--parchment-line);font-size:var(--text-sm);padding-top:6px}.satisfaction-dial{flex:none}.satisfaction-dial-track{fill:none;stroke:var(--cream-lo)}.satisfaction-dial-fill{fill:none;stroke-linecap:butt;transition:stroke-dasharray .32s}.satisfaction-dial-value{font-family:var(--display);fill:var(--ink);font-size:17px;font-weight:800}.satisfaction-dial.ok .satisfaction-dial-fill{stroke:var(--ok-on-light)}.satisfaction-dial.warn .satisfaction-dial-fill{stroke:var(--warn-on-light)}.satisfaction-dial.bad .satisfaction-dial-fill{stroke:var(--bad-on-light)}.satisfaction-dial.dormant .satisfaction-dial-fill{stroke:none}.satisfaction-dial.dormant .satisfaction-dial-value{fill:var(--ink-muted)}.satisfaction-dial-centre{fill:none;stroke:var(--parchment-line);stroke-width:1.5px}.satisfaction-dial.full .satisfaction-dial-fill{stroke:var(--school-secondary)}.satisfaction-dial.full .satisfaction-dial-centre{fill:var(--school-secondary);stroke:var(--outline);stroke-width:2px}.satisfaction-dial.full .satisfaction-dial-value{fill:var(--outline);font-size:15px}@media (prefers-reduced-motion:reduce){.satisfaction-dial-fill{transition:none}}.satisfaction-contributor-list{margin:0 0 8px}.satisfaction-contributor-list:last-child{margin-bottom:0}.satisfaction-contributor-list li{font-size:var(--text-xs);justify-content:space-between;gap:10px;padding:2px 0;font-weight:600;display:flex}.satisfaction-contributor-total{border-top:2px dashed var(--parchment-line);margin-top:4px;font-weight:800;padding-top:4px!important}ul,ol{margin:0;padding:0;list-style:none}.outcome-note{color:var(--school-primary);font-weight:600;font-size:var(--text-xs)}.faculty-list{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));align-items:start;gap:8px;margin:0;padding:0;display:grid}.faculty-card{background:var(--cream-hi);border:2px solid var(--outline);border-radius:var(--radius-lg);padding:var(--inset-card);min-width:0}.faculty-card.faculty-tile{border-radius:var(--radius-sm) var(--radius-sm) var(--radius-lg) var(--radius-lg);box-shadow:var(--shadow-1)}.faculty-card.listed{background:var(--cream);border-style:dashed}.faculty-card.committed{border-left:6px solid var(--school-primary)}.faculty-card-main{align-items:flex-start;gap:10px;display:flex}.faculty-card-body{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.faculty-card-head{align-items:baseline;gap:6px;display:flex}.faculty-card-spacer{flex:1}.faculty-name{font-family:var(--display);font-weight:800;font-size:var(--text-lg);letter-spacing:-.01em;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.faculty-acclaim{color:var(--school-on-secondary);background:var(--school-secondary);border:1.5px solid var(--outline);border-radius:var(--radius-pill);font-size:var(--text-2xs);letter-spacing:1px;flex:none;padding:1px 6px;line-height:1.3}.faculty-card-field{font-size:var(--text-xs);color:var(--ink-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.faculty-commitment{color:var(--school-primary);font-weight:600}.faculty-commitment strong{color:var(--ink);font-weight:700}.faculty-commitment-left{color:var(--ink-muted)}.faculty-card-teaching.idle{color:var(--ink-lo);font-style:italic}.faculty-card-listing{color:var(--ink-muted)}.faculty-bars{gap:10px;margin:1px 0 2px;display:flex}.faculty-bar{flex:1;align-items:center;gap:4px;min-width:0;display:flex}.faculty-bar-label{font-family:var(--display);font-weight:800;font-size:var(--text-2xs);color:var(--ink-muted)}.faculty-bar-track{background:var(--cream-lo);border-radius:4px;flex:1;min-width:0;height:8px;position:relative;overflow:hidden}.faculty-bar-headroom{background:var(--parchment-line);position:absolute;inset:0 auto 0 0}.faculty-bar-fill{background:var(--school-primary);border-radius:4px;position:absolute;inset:0 auto 0 0}.faculty-bar-value{font-family:var(--display);font-weight:800;font-size:var(--text-xs);color:var(--ink);text-align:right;min-width:18px}.faculty-card-foot{font-size:var(--text-xs);color:var(--ink-muted);flex-wrap:wrap;align-items:center;gap:6px;font-weight:700;display:flex}.faculty-card-foot .faculty-expand-btn{margin-left:auto}.faculty-card-salary{white-space:nowrap}.faculty-card-load{white-space:nowrap;color:var(--ink)}.faculty-card-load.full{color:var(--bad-on-light);font-weight:800}.faculty-card-salary+:is(.faculty-card-load,.candidate-expiry):before{content:"· ";color:var(--ink-muted);font-weight:700}.faculty-card-foot button{padding:var(--space-2) var(--space-8);font-size:var(--text-2xs);white-space:nowrap}.faculty-card-foot .confirm-button.is-armed{flex:1 0 100%}.faculty-card-foot .confirm-button.is-armed>button{white-space:normal;text-align:left}.faculty-card-foot .faculty-expand-btn{align-items:center;gap:var(--space-2);color:var(--school-primary);box-shadow:none;padding:0 var(--space-2);width:auto;font-family:var(--display);font-size:var(--text-xs);background:0 0;border:none;display:inline-flex}.faculty-expand-btn svg,.dept-caret svg{width:10px;height:10px;display:block}.faculty-portrait{box-shadow:0 0 0 2.5px var(--school-primary);border-radius:50%;flex-shrink:0}.faculty-card.listed .faculty-portrait{box-shadow:0 0 0 2px var(--parchment-line)}.faculty-card .faculty-portrait.square,.faculty-portrait.square{box-shadow:none;border-radius:0;display:block}.faculty-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));align-items:stretch}.faculty-tile{flex-direction:column;padding:0;display:flex;overflow:clip}.faculty-tile-band{justify-content:space-between;align-items:baseline;gap:var(--space-8);padding:var(--space-4) var(--space-12);background:var(--school-primary);color:var(--school-on-primary);font-family:var(--display);font-weight:800;font-size:var(--text-2xs);letter-spacing:.12em;text-transform:uppercase;line-height:1.3;display:flex}.faculty-tile-field{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.faculty-tile-waiting{white-space:nowrap;color:var(--school-secondary);flex:none}.faculty-tile-body{gap:var(--space-8);padding:var(--space-8) var(--space-12);flex-direction:column;display:flex}.faculty-tile-top{align-items:flex-start;gap:10px;min-width:0;display:flex}.faculty-tile-mount{border:3px solid var(--cream-hi);border-radius:var(--radius-xs);outline:1.5px solid var(--outline);box-shadow:2px 2px 0 color-mix(in srgb, var(--outline) 25%, transparent);flex:none;margin:2px;display:block;overflow:hidden}.faculty-tile-who{flex-direction:column;align-items:flex-start;gap:1px;min-width:0;display:flex}.faculty-tile .faculty-name{white-space:normal;font-size:var(--text-md);-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.15;display:-webkit-box}.faculty-tile-rank{margin-top:var(--space-4);padding:1px var(--space-4);border:1.5px solid var(--ink-muted);border-radius:var(--radius-xs);font-family:var(--display);font-size:var(--text-2xs);color:var(--ink-muted);text-transform:uppercase;letter-spacing:.12em;font-weight:800;line-height:1.2}.faculty-tile-stats{gap:var(--space-4) var(--space-8);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;display:grid}.faculty-stat{display:contents}.faculty-stat-label{font-family:var(--display);font-weight:800;font-size:var(--text-2xs);color:var(--ink-muted);text-transform:uppercase;letter-spacing:.1em}.faculty-stat-track{background:var(--cream-lo);border-radius:3px;height:6px;position:relative;overflow:hidden}.faculty-stat-fill,.faculty-stat-headroom{border-radius:3px;position:absolute;inset:0 auto 0 0}.faculty-stat-fill{background:var(--stat-grade)}.faculty-stat-headroom{background:color-mix(in srgb, var(--stat-grade) 28%, transparent)}.faculty-stat-grade{align-items:baseline;gap:var(--space-2);min-width:1.2em;display:inline-flex}.faculty-stat-letter{font-family:var(--display);font-weight:800;font-size:var(--text-sm);color:var(--stat-grade);line-height:1}.faculty-stat-rise{font-family:var(--display);color:var(--school-primary);font-weight:800;font-size:var(--text-xs)}.faculty-badges{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.faculty-badges .faculty-quirk{font-size:var(--text-2xs);text-overflow:ellipsis;white-space:nowrap;max-width:100%;margin:0;padding:1px 7px;line-height:1.4;overflow:hidden}.faculty-badge{font-family:var(--display);font-weight:800;font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.05em;border-radius:var(--radius-pill);white-space:nowrap;padding:1px 7px;line-height:1.4}.faculty-badge.retiring{color:var(--cream);background:var(--bad-on-light)}.faculty-badge.project{color:var(--school-on-primary);background:var(--school-primary)}.faculty-tile-foot{gap:var(--space-6);padding:var(--space-6) var(--space-12) var(--space-8);background:var(--cream);border-top:1.5px dashed var(--parchment-line);flex-direction:column;margin-top:auto;display:flex}.faculty-tile-facts{font-family:var(--mono)}.faculty-tile-actions{justify-content:space-between}.faculty-card-foot.faculty-tile-actions .faculty-expand-btn{margin-left:0}.faculty-stat-short{display:none}@media (width<=520px){.faculty-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.faculty-tile-band{padding:var(--space-2) var(--space-8);letter-spacing:.06em}.faculty-tile-body{padding:var(--space-6) var(--space-8);gap:5px}.faculty-tile-foot{gap:var(--space-4);padding:var(--space-4) var(--space-8) var(--space-6)}.faculty-tile-top{gap:6px}.faculty-tile .faculty-portrait{width:40px;height:40px}.faculty-tile .faculty-name{font-size:var(--text-sm)}.faculty-tile-rank,.faculty-stat-long{display:none}.faculty-stat-short{display:inline}.faculty-tile-stats{gap:3px 6px}.faculty-tile .faculty-card-foot{gap:4px}.faculty-tile-facts{font-size:var(--text-2xs);letter-spacing:-.03em;column-gap:var(--space-8)}.faculty-card-salary+:is(.faculty-card-load,.candidate-expiry):before{content:none}}.faculty-grid-tools{margin:0 0 10px}.faculty-grid-tools .dept-tools{margin-bottom:6px}.faculty-search{font:inherit;border:2px solid var(--outline);border-radius:var(--radius-sm);background:var(--cream-hi);color:var(--ink);flex:12em;min-width:0;max-width:20em;padding:3px 8px;font-weight:600}.dept-tool-count{color:var(--ink-muted);align-items:center;gap:6px;font-weight:700;display:inline-flex}.faculty-clear{box-shadow:none;font:inherit;color:var(--school-primary);text-underline-offset:3px;cursor:pointer;background:0 0;border:none;padding:0;font-weight:700;text-decoration:underline}.faculty-short{font-size:var(--text-xs);flex-wrap:wrap;align-items:center;gap:4px 6px;display:flex}.faculty-short-label{color:var(--ink);margin-right:4px;font-weight:700}.faculty-short>button.dept-note{box-shadow:none;cursor:pointer;border:1.5px solid #0000;min-height:0}.faculty-short>button.dept-note.on{border-color:var(--outline);box-shadow:0 0 0 2px var(--cream-hi), 0 0 0 3.5px var(--outline)}.faculty-market-note{font-size:var(--text-xs);color:var(--ink-muted);margin:0 0 8px}.faculty-tools-toggle{display:none}@media (width<=520px){.faculty-tools-toggle{align-items:center;gap:var(--space-4);box-shadow:none;width:auto;min-height:0;color:var(--school-primary);font-family:var(--display);font-size:var(--text-xs);background:0 0;border:none;padding:0;font-weight:700;display:inline-flex}.faculty-tools-toggle svg{width:10px;height:10px;display:block}.faculty-people>.panel-head>.panel-head-title,.faculty-grid-tools:not(.open)>:not(.faculty-tools-toggle){display:none}.faculty-grid-tools.open>.faculty-tools-toggle{margin-bottom:8px}}.training-bar{border:2px solid var(--outline);border-left-width:6px;border-left-color:var(--school-primary);border-radius:var(--radius-sm);background:var(--cream-hi);font-size:var(--text-xs);flex-wrap:wrap;align-items:baseline;gap:2px 10px;margin:0 0 10px;padding:8px 10px;display:flex}.training-bar.pending{border-left-color:var(--ink-muted);color:var(--ink-muted);display:block}.training-bar-title{font-family:var(--display);text-transform:uppercase;letter-spacing:.05em;font-weight:800;font-size:var(--text-2xs)}.training-bar-count{color:var(--school-primary);font-weight:800}.training-bar.spent .training-bar-count{color:var(--ink-muted)}.training-bar-note{color:var(--ink-muted);flex:100%;margin:2px 0 0}.training-bar-hint{display:none}@media (width<=520px){.training-bar-hint{display:inline}.training-bar-note{display:none}}.faculty-badge.trained{color:var(--cream);background:var(--ok-on-light)}.faculty-badge.trained.training{color:var(--school-on-primary);background:var(--school-primary)}.faculty-card-foot.faculty-tile-actions .confirm-button:has(.btn-train){margin-left:auto;margin-right:4px}.faculty-card-foot button.btn-train{color:var(--school-primary);border-color:var(--school-primary)}.faculty-card-foot button.btn-train:disabled{color:var(--ink-muted);border-color:var(--ink-muted)}.faculty-people .panel-head{flex-wrap:wrap;gap:8px}.faculty-tile-top{box-shadow:none;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;width:100%;margin:0;padding:0}.faculty-tile-top:hover .faculty-name{text-underline-offset:3px;text-decoration:underline}.faculty-tile.expanded{grid-column:1/-1;grid-template-columns:minmax(200px,260px) minmax(0,1fr);align-items:start;gap:16px;display:grid}.faculty-tile-face{flex-direction:column;display:flex;position:sticky;top:0}.faculty-tile.expanded>.faculty-person{padding:var(--space-12) var(--space-12) var(--space-12) 0}.faculty-sheet-body>.faculty-person{padding:0 var(--space-12) var(--space-12)}.faculty-person{min-width:0;font-size:var(--text-sm);flex-direction:column;gap:12px;display:flex}.faculty-person-joined{margin:0;line-height:1.5}.faculty-person-joined strong{font-family:var(--display);color:var(--ink);font-weight:800}.faculty-person-joined.candidate{color:var(--ink-muted);font-style:italic}.faculty-person-section{border-top:2px dashed var(--parchment-line);min-width:0;padding-top:8px}.faculty-person-section h5{font-family:var(--display);font-weight:800;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--ink);margin:0 0 6px}.panel .faculty-person-facts,.faculty-person-facts{grid-template-columns:max-content minmax(0,1fr);gap:4px 12px;margin:0;display:grid}.faculty-person-facts dt{color:var(--ink);white-space:nowrap;font-weight:700}.faculty-person-facts dd{text-align:left;color:var(--ink);margin:0;font-family:inherit;font-weight:400}.faculty-person-note{color:var(--ink-muted);font-size:var(--text-xs)}.career-list{flex-direction:column;gap:3px;margin:0;padding:0;display:flex}.career-list li.cancelled{color:var(--ink-muted)}.career-list li.honor:before{content:"★ ";color:var(--school-primary)}.career-list li.honor.program:before{content:"◆ "}.career-list li.honor.service:before{content:"● "}.career-list li.honor.training:before{content:"▲ ";color:var(--ok-on-light)}.career-timeline{flex-direction:column;gap:3px;display:flex}.career-axis{font-size:var(--text-2xs);color:var(--ink-muted);justify-content:space-between;margin-left:calc(38% + 8px);margin-right:7.5em;font-weight:700;display:flex}.career-rows{flex-direction:column;gap:2px;display:flex}.career-row{font-size:var(--text-xs);grid-template-columns:38% minmax(0,1fr) 7.5em;align-items:center;gap:8px;display:grid}.career-row-label{text-overflow:ellipsis;white-space:nowrap;color:var(--ink-muted);overflow:hidden}.career-row-code{color:var(--ink);font-weight:800}.career-row-track{background:var(--cream-lo);border-radius:3px;height:10px;position:relative}.career-bar{background:var(--parchment-line);border-radius:3px;position:absolute;top:0;bottom:0}.career-bar.now{background:var(--school-primary)}.career-row-when{font-size:var(--text-2xs);color:var(--ink-muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.career-more{font-size:var(--text-xs);color:var(--ink-muted);margin:4px 0 0}.career-chart{max-width:380px;margin:0}.career-chart svg{background:var(--cream-lo);border-radius:var(--radius-sm);width:100%;height:auto;display:block}.career-band{stroke:var(--parchment-line);stroke-width:1px;stroke-dasharray:3 3}.career-band-label{fill:var(--ink-muted);font-size:8px;font-weight:700}.career-line{fill:none;stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.career-line.teaching{stroke:var(--school-primary)}.career-line.research{stroke:var(--ink);stroke-dasharray:4 3}.career-chart figcaption{font-size:var(--text-xs);flex-wrap:wrap;gap:4px 12px;margin-top:4px;font-weight:700;display:flex}.career-key:before{content:"";vertical-align:middle;border-top:2px solid var(--school-primary);width:16px;height:0;margin-right:5px;display:inline-block}.career-key.research:before{border-top:2px dashed var(--ink)}.career-chart-years{color:var(--ink-muted);margin-left:auto}.faculty-sheet{z-index:60;background:var(--cream);flex-direction:column;display:flex;position:fixed;inset:0}.faculty-sheet-head{border-bottom:2px solid var(--outline);background:var(--cream-hi);align-items:center;gap:8px;padding:10px 16px;display:flex}.faculty-sheet-title{min-width:0;font-family:var(--display);font-weight:800;font-size:var(--text-lg);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.faculty-sheet-body{flex:1;margin:12px 16px 16px;overflow-y:auto}.faculty-sheet-body .faculty-tile-top{cursor:default;pointer-events:none}@media (width<=520px){.faculty-sheet-body .faculty-portrait{width:64px;height:64px}.faculty-sheet-body .faculty-tile-rank{display:block}.faculty-sheet-body .faculty-stat-long{display:inline}.faculty-sheet-body .faculty-stat-short{display:none}.faculty-sheet-body .faculty-name{font-size:var(--text-lg)}.faculty-sheet-body .faculty-person{margin-top:12px}.faculty-person-facts{grid-template-columns:minmax(0,1fr);gap:0}.faculty-person-facts dd{margin-bottom:6px}.career-row{grid-template-columns:minmax(0,1fr) 6.5em;grid-template-areas:"label when""track track";row-gap:1px}.career-row-label{grid-area:label}.career-row-when{text-align:right;grid-area:when}.career-row-track{grid-area:track}.career-axis{margin:0}}.log-door{box-shadow:none;font:inherit;color:inherit;text-underline-offset:3px;cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:0;font-weight:700;text-decoration:underline}.commitment{padding:var(--inset-card);border:2px solid var(--parchment-line);border-radius:var(--radius-md);background:var(--cream-hi);flex-direction:column;gap:3px;display:flex}.dept-board .panel-head{flex-wrap:wrap;gap:8px}.dept-head,.dept-row{grid-template-columns:186px minmax(160px,480px) 86px 58px 150px minmax(200px,1fr);align-items:center;gap:10px;display:grid}.dept-head>*,.dept-row>*{overflow:hidden}.dept-head{padding:var(--space-4) var(--space-8) var(--space-6);border-bottom:2px solid var(--outline);font-family:var(--display);font-weight:800;font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-muted)}.dept-group{margin-top:12px}.dept-group h4{font-family:var(--display);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.08em;color:var(--cream);background:var(--outline);border-radius:var(--radius-pill);margin:0 0 4px 8px;padding:3px 10px;font-weight:800;display:inline-block}.dept-row{border-radius:var(--radius-md);text-align:left;width:100%;color:var(--ink);background:0 0;border:2px solid #0000;padding:4px 8px}.dept-row:hover{background:var(--cream-hi);border-color:var(--parchment-line)}.dept.open>.dept-row{background:var(--cream-hi);border-color:var(--outline)}.dept-name{min-width:0;font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:5px;font-weight:700;display:flex;overflow:hidden}.dept-caret{color:var(--school-primary);font-size:var(--text-2xs)}.dept-row.empty .dept-name{color:var(--ink-muted);font-weight:400}.dept-slots,.dept-catalogue{font-family:var(--display);font-weight:800;font-size:var(--text-xs);color:var(--ink-muted);text-align:right;white-space:nowrap}.dept-row .dept-slots{color:var(--ink);font-size:var(--text-sm)}.dept-people{font-size:var(--text-2xs);color:var(--ink-muted);white-space:nowrap;align-items:center;gap:5px;font-weight:700;display:flex}.dept-hired,.dept-listed{background:var(--cream-lo);border-radius:var(--radius-pill);color:var(--ink);padding:2px 7px}.dept-listed{color:var(--ok-on-light)}.dept-note{font-family:var(--display);font-weight:800;font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;border-radius:var(--radius-pill);padding:2px 7px}.dept-note.over{color:var(--cream);background:var(--bad-on-light)}.dept-note.short{color:var(--outline);background:var(--warn-on-dark)}.dept-note.empty{color:var(--ink-muted);border:1.5px dashed var(--parchment-line)}.dept-row>.dept-action-cell{min-width:0;padding:0 var(--space-2) var(--space-2) 0;justify-content:flex-start;display:flex}.dept-action{align-items:center;gap:var(--space-4);max-width:100%;padding:var(--space-2) var(--space-8);font-size:var(--text-xs);white-space:nowrap;text-overflow:ellipsis;display:inline-flex;overflow:hidden}.dept-action-meta{font-family:var(--sans);font-size:var(--text-2xs);color:var(--ink-muted);font-weight:600}.dept-action.appoint .dept-action-meta{color:var(--school-on-secondary);opacity:.8}.dept-row{cursor:pointer}.dept-row:focus-visible{outline:3px solid var(--school-secondary);outline-offset:-3px}.dept-demand-door{font:inherit;color:var(--school-primary);cursor:pointer;text-underline-offset:3px;background:0 0;border:none;padding:0;font-weight:700;text-decoration:underline}.dept-demand-door:hover{color:var(--ink)}.faculty-next{margin:10px 0 0}.next-up-meta{font-size:var(--text-2xs);color:var(--ink-muted);font-weight:600}.next-up-item.listings .next-up-door{border-left-color:var(--ok-on-light)}.next-up-item.listings .next-up-door.soon{border-left-color:var(--bad-on-light)}.next-up-item.searches .next-up-door{border-left-color:var(--warn-on-light)}.next-up-door .grade-mark{margin:0 2px}.capacity-meter{min-width:0;display:block}.capacity-track{background:var(--cream-lo);border-radius:7px;height:14px;display:flex;position:relative;overflow:hidden}.capacity-seg{height:100%;display:block}.capacity-seg.offered{background:var(--school-primary)}.capacity-seg.available{background:color-mix(in srgb, var(--school-primary) 42%, var(--cream))}.capacity-seg.locked{background:repeating-linear-gradient(90deg, var(--parchment-line) 0 3px, transparent 3px 7px)}.capacity-rule{background:var(--outline);width:3px;box-shadow:0 0 0 2px var(--cream-hi);border-radius:2px;margin-left:-1px;position:absolute;top:-1px;bottom:-1px}.capacity-rule.at-zero{margin-left:0}.capacity-rule.gross{background:var(--ink-muted);opacity:.55;width:1px}.capacity-rule.beyond{background:var(--ok-on-light);width:4px;margin-left:-4px}.capacity-meter.over .capacity-rule{background:var(--danger-ink)}.capacity-meter.short .capacity-rule{background:var(--warn-on-light)}.capacity-legend{white-space:nowrap;align-items:center;gap:10px;min-width:0;display:flex;overflow:hidden}.capacity-key-pair{align-items:center;gap:4px;display:flex}.capacity-key{border-radius:1px;flex:none;width:10px;height:8px}.capacity-key.offered{background:var(--school-primary)}.capacity-key.available{background:color-mix(in srgb, var(--school-primary) 42%, var(--cream))}.capacity-key.locked{background:repeating-linear-gradient(90deg, var(--parchment-line) 0 2px, transparent 2px 4px)}.capacity-key.rule{background:var(--outline);border-radius:2px;width:3px;height:11px}.dept-body{padding:6px 8px 14px 24px}.dept-demand{font-size:var(--text-sm);color:var(--ink-muted);margin:0 0 8px;line-height:1.45}.dept-body .empty-note{margin:0 0 6px}.faculty-market-head{justify-content:space-between;align-items:baseline;gap:var(--space-8);margin:var(--space-12) 0 var(--space-6);padding-top:var(--space-8);border-top:2px dashed var(--parchment-line);display:flex}.dept-bulk{gap:var(--space-4);flex-wrap:wrap;display:flex}.dept-bulk button{padding:var(--space-2) var(--space-8);font-size:var(--text-2xs)}.dept-bulk{margin-left:auto}.dept-tools{font-size:var(--text-xs);color:var(--ink);flex-wrap:wrap;align-items:center;gap:8px 16px;margin:0 0 10px;font-weight:700;display:flex}.dept-tool{align-items:center;gap:6px;display:inline-flex}.dept-tool select{font:inherit;border:2px solid var(--outline);border-radius:var(--radius-sm);background:var(--cream-hi);color:var(--ink);max-width:14em;padding:3px 6px;font-weight:600}.dept-tool-check input{accent-color:var(--school-primary);width:16px;height:16px}.dept-tool-empty{color:var(--ink-muted);font-weight:600}.faculty-figures{font-size:var(--text-sm);color:var(--ink-muted);margin:8px 0 0;line-height:1.5}.faculty-figures strong{font-family:var(--display);color:var(--ink);font-variant-numeric:tabular-nums;font-weight:800}.faculty-figures>span{white-space:nowrap}.faculty-market-standing{font-size:var(--text-sm);color:var(--ink-muted);margin:6px 0 0;line-height:1.5}.faculty-market-standing strong{font-family:var(--display);color:var(--ink);font-weight:800}.faculty-summary .panel-head{flex-wrap:wrap}.faculty-summary .panel-head .stat+.stat{margin-left:12px}@media (width<=1100px){.dept-head,.dept-row{grid-template-columns:150px minmax(90px,1fr) 72px minmax(120px,200px)}.dept-catalogue,.dept-people{display:none}}.candidate-expiry{white-space:nowrap;color:var(--school-primary)}.candidate-expiry.soon{color:var(--bad-on-light);font-weight:800}.log{max-height:190px;font-size:var(--text-sm);overflow-y:auto}.log li{border-bottom:1px solid var(--parchment-line);padding:3px 0}.log .ts{color:var(--school-primary);font-family:var(--display);margin-right:6px;font-weight:800}.log .good{color:var(--ok-on-light)}.log .bad{color:var(--bad-on-light)}.funnel-lines{flex-direction:column;display:flex}.funnel-net .statement-line-label{gap:3px}.funnel-net .statement-line-note{font-family:var(--sans);color:var(--school-on-primary);opacity:.85;max-width:62ch;font-weight:500}.body-legend{font-size:var(--text-xs);color:var(--ink-muted);flex-wrap:wrap;gap:4px 16px;margin:0 0 16px;display:flex}.body-legend-item{align-items:center;gap:6px;display:inline-flex}.body-legend-item.is-absent{opacity:.45}.body-legend-swatch{border:1.5px solid var(--outline);border-radius:3px;flex:none;width:12px;height:12px}.body-legend-count{font-variant-numeric:tabular-nums;color:var(--ink);font-weight:700}.body-rows{flex-direction:column;gap:10px;display:flex}.body-row-head{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:4px;display:flex}.body-row-label{font-family:var(--display);font-size:var(--text-base);color:var(--ink);font-weight:800}.body-row-total{font-size:var(--text-sm);color:var(--ink-muted);font-variant-numeric:tabular-nums}.body-bar{background:var(--cream-lo);border:2px solid var(--outline);border-radius:6px;gap:1px;height:20px;display:flex;overflow:hidden}.body-bar-seg{min-width:2px}.body-bar-empty{background:repeating-linear-gradient(45deg, transparent, transparent 4px, var(--parchment-line) 4px, var(--parchment-line) 5px);flex:1}.history-summary{font-size:var(--text-base);color:var(--ink-muted);margin:0 0 14px;line-height:1.5}.history-charts{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px 22px;display:grid}.history-chart{margin:0}.history-chart figcaption{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:6px;display:flex}.history-chart-label{font-family:var(--display);font-size:var(--text-base);color:var(--ink);font-weight:800}.history-chart-latest{font-family:var(--display);font-weight:800;font-size:var(--text-base);color:var(--school-primary)}.history-chart-svg{background:var(--cream-hi);border:2px solid var(--outline);border-radius:var(--radius-sm);width:100%;height:auto;display:block}.history-chart-rule{stroke:var(--parchment-line);stroke-width:1px}.history-chart-rule.faint{stroke:var(--cream-lo);stroke-dasharray:3 4}.history-chart-line{fill:none;stroke:var(--school-primary);stroke-width:2.5px;stroke-linejoin:round;stroke-linecap:round}.history-chart-axis{font-family:var(--display);font-weight:800;font-size:var(--text-xs);color:var(--ink-muted);justify-content:space-between;gap:8px;margin-top:4px;display:flex}.history-chart-range{color:var(--ink-muted)}.history-chart-note{font-size:var(--text-xs);color:var(--ink-muted);margin:6px 0 0;font-style:italic;line-height:1.45}.multi-chart{max-width:760px;margin:0}.history-charts .multi-chart{grid-column:1/-1}.multi-chart figcaption{font-family:var(--display);font-size:var(--text-base);color:var(--ink);margin-bottom:6px;font-weight:800}.multi-chart svg{background:var(--cream-hi);border:2px solid var(--outline);border-radius:var(--radius-sm);width:100%;height:auto;max-height:220px;display:block;overflow:visible}.chart-axis{stroke:var(--outline);stroke-width:1px;opacity:.5}.chart-line{fill:none;stroke-width:2.2px;stroke-linejoin:round;stroke-linecap:round}.chart-tick{fill:var(--ink-muted);font-variant-numeric:tabular-nums;font-size:10px}.chart-end{font-variant-numeric:tabular-nums;font-size:10px;font-weight:700}.standings{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px 26px;display:grid}.standing-head{border-bottom:1px solid var(--parchment-line);justify-content:space-between;align-items:baseline;gap:10px;padding-bottom:4px;display:flex}.standing-head h3{font-family:var(--display);font-weight:800;font-size:var(--text-md);color:var(--ink);margin:0}.standing-figure{font-family:var(--display);font-size:var(--text-md);color:var(--school-primary);font-weight:800}.standing-arrow{color:var(--ink-muted);font-weight:400}.standing-note{font-size:var(--text-xs);color:var(--ink-muted);margin:6px 0 10px;line-height:1.5}.standing-rows{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.standing-row-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:0 8px;display:flex}.standing-row-head>.standing-row-figure{text-align:right;margin-left:auto}.standing-pillar{margin:4px 0 2px}.standing-pillar>summary{cursor:pointer;font-size:var(--text-xs);color:var(--school-primary);font-weight:700}.standing-pillar .standing{border-left:2px solid var(--parchment-line);margin-top:6px;padding-left:10px}.standing-row-label{font-size:var(--text-sm);color:var(--ink)}.standing-row-figure{font-family:var(--display);font-weight:800;font-size:var(--text-sm);color:var(--ink)}.standing-row-of{color:var(--ink-muted);font-weight:400}.standing-bar{background:var(--cream-lo);border-radius:var(--radius-sm);height:9px;margin:3px 0;position:relative;overflow:hidden}.standing-bar-reach,.standing-bar-fill{border-radius:var(--radius-sm);position:absolute;inset:0 auto 0 0}.standing-bar-reach{background:var(--parchment-line)}.standing-bar-fill{background:var(--school-primary)}.standing-detail{font-size:var(--text-xs);color:var(--ink-muted);margin:0;line-height:1.45}.standing-multiplier{font-style:italic}.standing-readings-note{border-top:1px dashed var(--parchment-line);margin-top:12px;padding-top:8px;font-style:italic}.standing-penalty .standing-bar-fill{background:var(--bad-on-light)}.standing-penalty .standing-row-figure{color:var(--bad-on-light)}.standing-row-grade{color:var(--ink-muted);font-weight:400}.team-held{color:var(--bad-on-light);font-weight:700}.standing-row-specialized{border-radius:var(--radius-sm);background:var(--school-primary);color:var(--school-on-primary);font-size:var(--text-2xs);white-space:nowrap;vertical-align:1px;margin-left:8px;padding:0 6px;font-weight:700}.standing-specialized{font-weight:600}.standing-reading .standing-row-label,.standing-reading .standing-row-figure{color:var(--ink-muted)}.history-table-scroll{overflow-y:auto}.history-table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.history-table th{background:var(--cream-hi);text-align:right;font-family:var(--display);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--school-primary);border-bottom:2px solid var(--outline);padding:4px 6px;font-weight:800;position:sticky;top:0}.history-table td{text-align:right;border-bottom:1px solid var(--parchment-line);padding:3px 6px;font-weight:600}.history-table th:first-child,.history-table td:first-child{text-align:left}.history-table-scroll::-webkit-scrollbar{width:8px}.history-table-scroll::-webkit-scrollbar-thumb{background:var(--parchment-line);border-radius:var(--radius-sm)}.history-table-scroll{scrollbar-width:thin;scrollbar-color:var(--parchment-line) transparent}.income-statement{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:10px 28px;display:grid}.statement-col h3{margin:0 0 var(--space-6);border-bottom:2px solid var(--outline);padding-bottom:var(--space-4)}.statement-line{border-bottom:1px solid var(--parchment-line);justify-content:space-between;align-items:baseline;gap:12px;padding:5px 0;display:flex}.statement-line-label{font-size:var(--text-base);flex-direction:column;gap:2px;display:flex}.statement-line-note{font-size:var(--text-xs);color:var(--ink-muted);font-style:italic;line-height:1.35}.statement-line-amount{font-family:var(--display);font-weight:800;font-size:var(--text-base);white-space:nowrap}.statement-total{font-size:var(--text-base);color:var(--ink);justify-content:space-between;align-items:baseline;gap:12px;padding:6px 0 0;font-weight:700;display:flex}.statement-net{border-radius:var(--radius-md);background:var(--school-primary);border:2px solid var(--outline);font-family:var(--display);font-size:var(--text-lg);color:var(--school-on-primary);justify-content:space-between;align-items:baseline;gap:12px;margin-top:14px;padding:9px 14px;font-weight:800;display:flex}.statement-net .state-chip{margin-left:var(--space-8);background:var(--cream-hi);color:var(--danger-ink)}.statement-net .statement-line-amount{font-size:var(--text-lg)}.treasury-columns{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:16px;display:grid}.modal-backdrop{background:color-mix(in srgb, var(--outline) 45%, transparent);z-index:100;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--cream);color:var(--ink);border-radius:var(--radius-xl);padding:0 var(--space-24) var(--space-24);border:3px solid var(--outline);width:100%;max-width:440px;box-shadow:var(--elevation-dialog);--ink-hi:var(--outline);--ink-lo:var(--ink-muted);--navy-line:var(--parchment-line);--navy:var(--cream-lo);--ok-on-dark:var(--ok-on-light);--bad-on-dark:var(--bad-on-light);--warn-on-dark:var(--warn-on-light);max-height:90vh;overflow-y:auto}.modal>h2{margin:0 calc(-1 * var(--space-24)) var(--space-16);padding:var(--space-16) var(--space-24) var(--space-12);background:var(--school-primary);color:var(--school-on-primary);border-bottom:4px solid var(--school-secondary)}.modal[data-interrupt=milestone]>h2,.modal[data-interrupt=championship]>h2,.modal[data-interrupt=rankings-entry]>h2{background:var(--school-secondary);color:var(--school-on-secondary);border-bottom-color:var(--school-primary);font-size:var(--text-4xl);padding:var(--space-24) var(--space-24) var(--space-16)}.modal::-webkit-scrollbar{width:8px}.modal::-webkit-scrollbar-thumb{background:var(--navy-line);border-radius:var(--radius-sm)}.modal{scrollbar-width:thin;scrollbar-color:var(--navy-line) transparent}.modal h2{margin:0 0 var(--space-12)}.modal p{color:var(--ink);font-size:var(--text-md);margin:0 0 16px;line-height:1.45}.modal-card{background:var(--cream-hi);border:2px solid var(--outline);border-radius:var(--radius-lg)}.report-headline{background:var(--cream-hi);border:2px solid var(--outline);border-radius:var(--radius-lg);align-items:baseline;gap:10px;padding:10px 14px;display:flex;margin:0 0 14px!important}.report-headline-detail{font-size:var(--text-base);color:var(--ink-muted);font-weight:600}.rank-move{font-family:var(--display);font-size:var(--text-2xl);font-weight:800}.rank-move.up{color:var(--ok-on-light)}.rank-move.down{color:var(--bad-on-light)}.rank-move.flat{color:var(--ink-muted);font-size:var(--text-base)}.report-crossing{font-size:var(--text-base);font-weight:600;line-height:1.45;margin:0 0 8px!important}.report-crossing.passed{color:var(--ok-on-light)}.report-crossing.passed-by{color:var(--bad-on-light)}.report-movers{margin:14px 0}.report-movers h3,.report-standings-head{margin:0 0 var(--space-6)}.report-movers ul{margin:0;padding:0;list-style:none}.report-movers li{font-size:var(--text-base);border-bottom:1px solid var(--parchment-line);justify-content:space-between;align-items:baseline;gap:10px;padding:4px 0;display:flex}.report-mover-move{white-space:nowrap;align-items:baseline;gap:8px;display:inline-flex}.report-mover-places{font-size:var(--text-xs);color:var(--ink-muted);font-weight:700}.stat-sep{color:var(--parchment-line)}.report-others{border-top:2px solid var(--outline);border-bottom:2px solid var(--outline);margin:14px 0;padding:0;list-style:none}.report-others li{font-size:var(--text-base);align-items:baseline;gap:10px;padding:6px 0;display:flex}.report-others li+li{border-top:1px solid var(--parchment-line)}.report-other-label{font-family:var(--display);text-transform:uppercase;letter-spacing:.08em;font-weight:800;font-size:var(--text-xs);color:var(--ink-muted);min-width:96px}.report-other-rank{font-family:var(--display);color:var(--school-primary);font-weight:800;font-size:var(--text-lg)}.report-other-note{color:var(--ink-muted);font-size:var(--text-xs);text-align:right;margin-left:auto}.milestone-entry{margin:0 0 12px}.milestone-entry h3{font-family:var(--display);font-weight:800;font-size:var(--text-xl);letter-spacing:-.01em;color:var(--ink);margin:0 0 4px}.milestone-detail{font-size:var(--text-base);margin:0 0 8px!important}.milestone-unlocks-head{margin:0 0 var(--space-6)}.milestone-unlocks{margin:0 0 4px;padding:0;list-style:none}.milestone-unlocks li{font-size:var(--text-base);border-bottom:1px solid var(--parchment-line);color:var(--ink);padding:4px 0;font-weight:600}.milestone-gain{color:var(--ok-on-light)}.event-choices{gap:8px;display:grid}.event-choice{text-align:left;background:var(--cream-hi);width:100%;color:var(--ink);border:2px solid var(--outline);border-radius:var(--radius-lg);padding:var(--space-12) var(--space-16);font-weight:500;font-family:var(--sans);box-shadow:var(--shadow-1);cursor:pointer;display:block}.event-choice:not(:disabled):hover{box-shadow:3px 3px 0 var(--outline);transform:translate(-1px,-1px)}.event-choice:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.event-choice.is-on{border-color:var(--school-primary);box-shadow:inset 0 0 0 1px var(--school-primary), var(--shadow-1)}.event-choice-label{font-family:var(--display);font-weight:800;font-size:var(--text-lg);justify-content:space-between;align-items:baseline;gap:10px;display:flex}.event-choice-cost{font-family:var(--display);font-weight:800;font-size:var(--text-sm);color:var(--school-primary);white-space:nowrap}.event-choice-detail{font-size:var(--text-sm);color:var(--ink-muted);margin-top:5px;line-height:1.45;display:block}.event-choice-detail.promise-target{color:var(--ink)}.admissions-field{margin-bottom:16px;display:block}.admissions-field span{font-size:var(--text-base);color:var(--ink);margin-bottom:6px;font-weight:600;display:block}.admissions-field span strong{color:var(--ink);font-family:var(--display);font-weight:800;font-size:var(--text-xl)}.admissions-field input[type=range]{width:100%;height:28px;accent-color:var(--school-primary)}.admissions-outcomes{background:var(--cream-hi);border:2px solid var(--outline);border-radius:var(--radius-lg);gap:2px;margin:4px 0 18px;padding:12px 14px;display:grid}.admissions-outcomes>div{justify-content:space-between;align-items:baseline;padding:3px 0;display:flex}.admissions-outcomes dt{font-size:var(--text-base);color:var(--ink);margin:0;font-weight:600}.admissions-outcomes dt .outcome-note{color:var(--school-primary);font-size:var(--text-xs)}.admissions-outcomes dd{color:var(--ink);font-family:var(--display);font-weight:800;font-size:var(--text-lg);margin:0}.price-tier-value.price-tier-bargain{color:var(--ok-on-light)}.price-tier-value.price-tier-fair{color:var(--school-primary)}.price-tier-value.price-tier-expensive{color:var(--warn-on-light)}.price-tier-value.price-tier-reckless{color:var(--bad-on-light)}.price-tier-tag.price-tier-bargain{color:var(--ok-on-light)}.price-tier-tag.price-tier-fair{color:var(--school-primary)}.price-tier-tag.price-tier-expensive{color:var(--warn-on-light)}.price-tier-tag.price-tier-reckless{color:var(--bad-on-light)}.price-tier-tag{font-size:var(--text-xs);margin-top:4px;font-weight:700;display:block}.price-tolerance{font-size:var(--text-xs);color:var(--ink-muted);margin-top:2px;display:block}.consequence-panel{background:var(--cream-hi);border:2px solid var(--outline);border-radius:var(--radius-lg);margin:4px 0 18px;padding:10px 14px}.consequence-panel h3{margin:0 0 var(--space-6)}.consequence-panel .admissions-outcomes{background:0 0;border:0;margin:0;padding:0}.consequence-delta{font-size:var(--text-sm);margin-left:8px;font-weight:700}.consequence-delta.good{color:var(--ok-on-light)}.consequence-delta.bad{color:var(--bad-on-light)}.coverage-adequate{color:var(--ink-muted)}.admissions-lock{margin:var(--space-2) 0 var(--space-16);padding:var(--space-8) var(--space-16);font-size:var(--text-md);display:block}.figure.reveal>dd{font-size:var(--text-3xl)!important}.admissions-prompt{margin:0 0 16px}.cohort-breakdown{background:var(--cream-hi);border:2px solid var(--outline);border-radius:var(--radius-lg);margin:4px 0 18px;padding:10px 14px}.cohort-breakdown h3{margin:0 0 var(--space-12)}.cohort-cards{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.cohort-card{gap:var(--space-6);min-width:0;padding:0 0 var(--space-8);background:var(--cream-hi);border:2px solid var(--outline);border-radius:var(--radius-md);flex-direction:column;display:flex;position:relative}.cohort-card-label{justify-content:space-between;align-items:center;gap:var(--space-4);padding:5px var(--space-8);background:var(--cohort);color:var(--cream-hi);border-radius:calc(var(--radius-md) - 2px) calc(var(--radius-md) - 2px) 0 0;font-family:var(--display);font-size:var(--text-2xs);overflow-wrap:anywhere;text-transform:uppercase;letter-spacing:.08em;font-weight:800;line-height:1.15;display:flex}.cohort-card-pull{font-size:var(--text-2xs);letter-spacing:0;flex:none}.cohort-card-figures{align-items:baseline;gap:0 var(--space-6);padding:0 var(--space-8);flex-wrap:wrap;display:flex}.cohort-card-count{font-family:var(--display);font-size:var(--text-2xl);color:var(--outline);font-weight:800;line-height:1}.cohort-card-count.count-sm{font-size:var(--text-xl)}.cohort-card-count.count-xs{font-size:var(--text-md)}.cohort-card-count.count-xxs{font-size:var(--text-sm)}.cohort-card-delta{font-family:var(--mono);font-size:var(--text-xs);color:var(--ink-muted);white-space:nowrap;font-weight:700}.cohort-card-delta.up{color:var(--ok-on-light)}.cohort-card-delta.down{color:var(--bad-on-light)}.cohort-card-bars{padding:0 var(--space-8);gap:3px;display:grid}.cohort-card-bar{align-items:center;gap:var(--space-6);font-size:var(--text-2xs);color:var(--ink-muted);white-space:nowrap;grid-template-columns:3.4em minmax(0,1fr);font-weight:600;line-height:1.1;display:grid}.cohort-card-bar i{background:var(--cohort);border-radius:3px;height:5px;display:block}.cohort-card-bar.last i{background:var(--cream-lo);box-shadow:inset 0 0 0 1px var(--parchment-line)}.cohort-card-tip{z-index:20;width:124px;padding:var(--space-6) var(--space-8);text-align:center;opacity:0;pointer-events:none;transition:opacity .12s;position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%)}.cohort-card:hover .cohort-card-tip{opacity:1}.cohort-card:nth-child(4n+1) .cohort-card-tip{left:0;transform:none}.cohort-card:nth-child(4n) .cohort-card-tip{left:auto;right:0;transform:none}@media (prefers-reduced-motion:reduce){.cohort-card-tip{transition:none}}.digest{background:var(--cream-hi);border:2px solid var(--outline);border-radius:var(--radius-lg);margin:4px 0 18px;padding:12px 14px}.digest-head{margin:0 0 var(--space-6)}.digest-note{font-size:var(--text-sm);color:var(--ink-muted);line-height:1.45;margin:0 0 10px!important}.digest-row{border-top:1px solid var(--parchment-line);font-size:var(--text-base);cursor:pointer;align-items:baseline;gap:8px;padding:5px 0;display:flex}.digest-row input{accent-color:var(--school-primary)}.digest-row.declined{opacity:.5}.digest-row-name{min-width:0;color:var(--ink);flex:1;font-weight:600}.digest-row-kind{font-family:var(--display);font-weight:800;font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.06em;color:var(--school-primary);margin-left:8px}.digest-row-cost{font-size:var(--text-xs);color:var(--ink-muted);white-space:nowrap;font-weight:700}.student-life-columns{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:16px;display:grid}.student-life-columns .panel-span-2{grid-column:1/-1}.panel-count{font-family:var(--display);font-weight:800;font-size:var(--text-xs);color:var(--ink-muted);white-space:nowrap}.org-list{max-height:320px;margin:0;padding:0;overflow-y:auto}.org-row{border-bottom:1px solid var(--parchment-line);font-size:var(--text-base);justify-content:space-between;align-items:baseline;gap:10px;padding:5px 0;display:flex}.org-name{min-width:0;font-weight:700}.org-tag{font-family:var(--display);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-muted);border:1.5px solid var(--parchment-line);border-radius:var(--radius-pill);margin-left:8px;padding:1px 6px;font-weight:800}.org-meta{font-size:var(--text-xs);color:var(--ink-muted);white-space:nowrap;font-weight:600}.org-list::-webkit-scrollbar{width:8px}.org-list::-webkit-scrollbar-thumb{background:var(--parchment-line);border-radius:var(--radius-sm)}.org-list{scrollbar-width:thin;scrollbar-color:var(--parchment-line) transparent}.athletics-layout{grid-template-columns:minmax(0,1fr);align-items:start;gap:16px;display:grid}.athletics-side,.athletics-main{flex-direction:column;gap:16px;min-width:0;display:flex}@media (width>=1000px){.athletics-layout{grid-template-columns:300px minmax(0,1fr)}.athletics-side{position:sticky;top:0}}.athletics-budget{flex-wrap:wrap;align-items:center;gap:10px;margin:12px 0 6px;display:flex}.athletics-budget-label{font-family:var(--display);font-weight:800;font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-muted)}.panel .athletics-pot{font-size:var(--text-sm);flex-direction:column;gap:2px;margin:0;display:flex}.panel .athletics-pot>.figure{border-bottom:1px dashed var(--parchment-line);justify-content:space-between;gap:10px;padding:2px 0;display:flex}.athletics-pot dt{color:var(--ink-muted)}.athletics-pot dd{font-variant-numeric:tabular-nums;margin:0;font-weight:700}.team-card-list{grid-template-columns:minmax(0,1fr);gap:6px;margin:0;padding:0;list-style:none;display:grid}.team-card{min-width:0;padding:var(--inset-card);background:var(--cream-hi);border:2px solid var(--outline);border-radius:var(--radius-md);flex-direction:column;flex:1;gap:5px;display:flex;position:relative}.team-card-head{align-items:center;gap:7px;min-width:0;display:flex}.team-card-name{font-family:var(--display);font-weight:800;font-size:var(--text-base);letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.team-card-corner{background:var(--school-secondary);clip-path:polygon(0 0,100% 0,100% 100%);border-top-right-radius:calc(var(--radius-md) - 2px);width:40px;height:40px;color:var(--school-on-secondary);font-size:var(--text-md);cursor:default;line-height:1;position:absolute;top:0;right:0}.team-card-corner>[aria-hidden]{top:var(--space-4);right:var(--space-4);position:absolute}.team-card.is-flagship .team-card-head{padding-right:var(--space-24)}.team-card.collapsed{padding-top:var(--space-6);padding-bottom:var(--space-6)}.team-card-head{flex-wrap:wrap}.team-card.collapsed .team-card-name{flex:0 auto}.team-card-line{align-items:center;gap:var(--space-4) var(--space-12);font-size:var(--text-2xs);color:var(--ink-muted);flex-wrap:wrap;margin-left:auto;display:flex}.team-card-line strong{color:var(--ink)}.team-card-standing.scoreboard.compact{align-items:baseline;gap:var(--space-8);padding:var(--space-2) var(--space-8);box-shadow:none;display:inline-flex}.scoreboard.compact .scoreboard-digits{font-size:var(--text-md);cursor:help}.team-card-next{color:var(--ink);font-weight:700}.staff-seat-hire.team-card-next{color:var(--school-primary)}.team-card-standing.scoreboard{background:var(--outline);color:var(--cream);border-radius:var(--radius-sm);box-shadow:inset 0 0 0 3px color-mix(in srgb, var(--outline) 85%, white);grid-template-columns:auto minmax(0,1fr);display:grid;overflow:hidden}.scoreboard-cell{min-width:0;padding:var(--space-6) var(--space-12);align-content:center;gap:3px;display:grid}.scoreboard-cell+.scoreboard-cell{border-left:1.5px solid color-mix(in srgb, var(--outline) 70%, white)}.scoreboard-rank{cursor:help}.scoreboard-label,.scoreboard-status{font-family:var(--display);font-weight:800;font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.12em;color:color-mix(in srgb, var(--cream) 68%, var(--outline));line-height:1}.scoreboard-digits{font-family:var(--mono);font-weight:700;font-size:var(--text-2xl);letter-spacing:-.02em;color:var(--school-secondary);text-shadow:0 0 6px color-mix(in srgb, var(--school-secondary) 40%, transparent);line-height:1}.scoreboard-digits small{font-size:var(--text-xs);color:color-mix(in srgb, var(--cream) 68%, var(--outline));text-shadow:none}.scoreboard-game{font-family:var(--display);font-weight:700;font-size:var(--text-sm);line-height:1.2}.scoreboard-score{font-family:var(--mono);margin-right:var(--space-4);font-weight:700}.scoreboard-score.up{color:color-mix(in srgb, var(--ok-on-light) 45%, white)}.scoreboard-score.down{color:var(--bad-on-dark)}.scoreboard-status{letter-spacing:.05em;line-height:1.3}.scoreboard-status>span:not([aria-hidden]){white-space:nowrap}.scoreboard-status .season-finish{letter-spacing:inherit;color:inherit}.scoreboard-status .season-finish.missed{color:var(--bad-on-dark)}.scoreboard-status .season-finish:is(.final,.semifinal){color:var(--school-secondary)}.scoreboard-status .season-finish.champion{color:var(--school-on-secondary);letter-spacing:.06em}.team-card-rival{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.team-card-meta{font-size:var(--text-2xs);color:var(--ink-muted);flex-wrap:wrap;gap:2px 10px;display:flex}.team-card-meta strong{color:var(--ink)}.team-card-scholarships{border-top:1px dashed var(--parchment-line);font-size:var(--text-2xs);flex-wrap:wrap;align-items:center;gap:4px 8px;padding-top:3px;display:flex}.team-card-cut{padding-top:var(--space-6);border-top:1px dashed var(--parchment-line);font-size:var(--text-2xs);flex-wrap:wrap;align-items:center;gap:4px 10px;display:flex}.team-card-staff{gap:var(--space-6);padding-top:var(--space-6);border-top:1px dashed var(--parchment-line);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.staff-seat{min-width:0;padding:var(--space-6) var(--space-4);background:var(--cream-hi);border:2px solid var(--outline);border-radius:var(--radius-md);text-align:center;font-size:var(--text-2xs);color:var(--ink-muted);flex-direction:column;align-items:center;gap:3px;line-height:1.2;display:flex}.staff-seat-role{font-family:var(--display);font-weight:800;font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.08em;color:var(--school-primary);line-height:1}.staff-seat-name{max-width:100%;font-family:var(--display);font-weight:800;font-size:var(--text-sm);color:var(--ink);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.staff-seat-line{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.staff-seat.open{border-style:dashed;border-color:var(--parchment-line);background:0 0}.staff-seat.open .staff-seat-name{color:var(--ink-muted);font-weight:700}.staff-seat-face{border:2px dashed var(--parchment-line);border-radius:50%;flex:none;width:34px;height:34px}.staff-seat-hire{font-family:var(--display);font-weight:800;font-size:var(--text-xs);color:var(--school-primary);text-underline-offset:2px;background:0 0;border:0;padding:0;text-decoration:underline}.staff-seat-hire:hover{color:var(--ink)}.coach-release{align-items:center;gap:var(--space-4);padding:var(--space-2) var(--space-6);font-size:var(--text-2xs);white-space:nowrap;display:inline-flex}.coach-release svg{width:12px;height:12px;display:block}.staff-seat .confirm-button{margin-top:var(--space-2);align-items:center}.staff-seat .confirm-button.is-armed>button{white-space:normal}.team-card .visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.ad-candidates{grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0;display:grid}.ad-candidate{align-items:center;gap:var(--space-4);padding:var(--space-12) var(--space-8);background:var(--cream-hi);color:var(--ink);border:2px solid var(--outline);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);cursor:pointer;text-align:center;font-weight:500;font-family:var(--sans);flex-direction:column;display:flex}.ad-candidate:hover,.ad-candidate:focus-visible{box-shadow:3px 3px 0 var(--outline);transform:translate(-1px,-1px)}.ad-candidate-name{font-family:var(--display);font-size:var(--text-md);align-items:center;min-height:2.6em;font-weight:800;display:flex}.ad-candidate-quality{font-size:var(--text-xs);color:var(--ink-muted);font-weight:600}.ad-candidate-salary{font-family:var(--display);font-weight:800;font-size:var(--text-xl);color:var(--school-primary)}.ad-candidate-tag{font-family:var(--display);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-muted);font-weight:800}.ad-mascot{font-size:var(--text-base);flex-wrap:wrap;align-items:center;gap:8px;margin:4px 0 14px;display:flex}.ad-mascot-label{color:var(--ink-muted);font-weight:600}.ad-mascot-input{min-width:140px;font-family:var(--display);font-weight:800;font-size:var(--text-lg);background:var(--cream-hi);border:2px solid var(--outline);border-radius:var(--radius-md);color:inherit;flex:1;padding:6px 10px}.ad-mascot-input:focus-visible{outline:3px solid var(--school-secondary);outline-offset:1px}.ad-mascot-roll{font-size:var(--text-xs);padding:var(--space-4) var(--space-12)}.ad-decline{width:100%;font-size:var(--text-xs);padding:var(--space-8) var(--space-12)}.department-ad{align-items:center;gap:10px;min-width:0;margin:2px 0 12px;display:flex}.department-ad-who{flex-direction:column;gap:1px;min-width:0;display:flex}.department-ad-name{font-family:var(--display);font-size:var(--text-lg);letter-spacing:-.01em;font-weight:800}.department-ad-role{font-family:var(--display);font-weight:800;font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.06em;color:var(--school-primary)}.department-ad-empty{margin:0}.panel .department-standings{flex-wrap:wrap;gap:18px;margin:0;display:flex}.department-standings div{flex-direction:column;gap:2px;display:flex}.department-standings dt{font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-muted)}.panel .department-standings dd{text-align:left;font-family:var(--display);font-weight:800;font-size:var(--text-base);color:var(--ink-muted);margin:0}.department-standings dd strong{color:var(--ink);font-size:var(--text-xl)}.season-finish{text-transform:uppercase;letter-spacing:.05em;color:var(--ink-muted)}.season-finish.champion{color:var(--school-on-secondary);background:var(--school-secondary);border:1.5px solid var(--outline);border-radius:var(--radius-pill);padding:1px 7px;font-weight:800}.season-finish.final,.season-finish.semifinal{color:var(--school-primary);font-weight:700}.season-finish.none{font-style:italic}.championship-path{border-top:2px solid var(--outline);border-bottom:2px solid var(--outline);margin:14px 0;padding:0;list-style:none}.championship-path li{font-size:var(--text-base);gap:12px;padding:6px 0;font-weight:600;display:flex}.championship-path li+li{border-top:1px solid var(--parchment-line)}.championship-round{font-family:var(--display);text-transform:uppercase;letter-spacing:.06em;font-weight:800;font-size:var(--text-2xs);color:var(--school-primary);min-width:96px}.championship-worth{gap:22px;margin:0 0 16px;display:flex}.championship-worth div{flex-direction:column;gap:2px;display:flex}.championship-worth dt{font-family:var(--display);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-muted);font-weight:800}.championship-worth dd{font-family:var(--display);font-weight:800;font-size:var(--text-xl);color:var(--school-primary);margin:0}.coach-market{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.coach-candidate{padding:var(--inset-card);font-size:var(--text-sm);border:1.5px solid var(--parchment-line);border-radius:var(--radius-md);flex-direction:column;gap:5px;display:flex}.coach-candidate.wanted{background:var(--cream-hi);border-color:var(--outline)}.coach-candidate-top{align-items:center;gap:8px;min-width:0;display:flex}.coach-candidate-who{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.coach-candidate-field{font-size:var(--text-2xs);color:var(--ink-muted);text-transform:uppercase;letter-spacing:.05em}.coach-candidate-listed{font-family:var(--display);font-weight:800;font-size:var(--text-2xs);color:var(--ink-muted);white-space:nowrap}.coach-candidate .stat{font-size:var(--text-2xs)}.coach-candidate-hire{gap:var(--space-4);flex-wrap:wrap;display:flex}.coach-candidate-hire .panel-action{white-space:normal;text-align:left;max-width:100%}.coach-candidate-idle{font-size:var(--text-2xs);color:var(--ink-muted)}.coach-market-toggle{margin-top:8px}.demand-grievance{margin:0 0 10px}.demand-progress{align-items:center;margin:0 0 12px;display:flex}.demand-deadline{font-family:var(--display);font-weight:800;font-size:var(--text-xs);color:var(--ink-muted);white-space:nowrap}.demand-deadline.urgent{color:var(--danger-ink)}.startup{justify-content:center;align-items:center;gap:var(--space-16);min-height:100vh;padding:24px var(--space-16);box-sizing:border-box;flex-direction:column;display:flex}.startup-brand{align-items:center;gap:var(--space-12);color:#fff;font-family:var(--sans);font-weight:800;font-size:var(--text-3xl);letter-spacing:.04em;text-transform:uppercase;text-shadow:0 2px 12px #0a326e4d;display:flex}.startup-brand-mark{filter:drop-shadow(0 2px 8px #0a326e40);width:44px;height:auto;display:block}.startup-card{background:var(--cream-hi);border:3px solid var(--outline);border-radius:var(--radius-xl);padding:var(--space-32);box-sizing:border-box;width:100%;max-width:480px;color:var(--ink);box-shadow:var(--elevation-dialog)}.startup-card h1{margin:var(--space-6) 0 var(--space-24)}.startup-back{margin:calc(-1 * var(--space-12)) 0 var(--space-12) calc(-1 * var(--space-8));padding:var(--space-4) var(--space-8);border-radius:var(--radius-pill);color:var(--school-primary);font-family:var(--display);font-weight:800;font-size:var(--text-sm);cursor:pointer;background:0 0;border:0;display:inline-block}.startup-back:hover{background:var(--cream-lo)}.startup-name{box-sizing:border-box;width:100%;font-size:var(--text-xl);padding:var(--space-8) var(--space-12);border-radius:var(--radius-md);border:2px solid var(--outline);background:var(--cream);color:var(--ink);font-family:var(--display)}.startup-name:focus{border-color:var(--gold-dim)}.startup-name-note{margin:var(--space-8) 0 0;font-size:var(--text-xs);color:var(--ink-muted);line-height:1.35}.startup-facade{margin:14px 0 28px}.startup-facade-svg{width:100%;height:auto;display:block}.startup-facade-caption{margin:var(--space-8) 0 0;font-size:var(--text-xs);color:var(--ink-muted);text-align:center;line-height:1.35}.facade-sky{fill:#d6e7f6}.facade-banner-text{letter-spacing:.14em;font-family:Georgia,Times New Roman,Liberation Serif,serif;font-weight:400}.startup-vernaculars{grid-template-columns:repeat(20,minmax(0,1fr));gap:6px;margin-bottom:14px;display:grid}.startup-vern-btn{text-align:center;background:var(--cream-hi);border:2px solid var(--outline);border-radius:var(--radius-md);min-height:44px;padding:var(--space-6) var(--space-4);color:var(--ink);box-shadow:var(--shadow-1);font-family:var(--display);font-weight:800;font-size:var(--text-xs);justify-content:center;align-items:center;line-height:1.15;display:flex}.startup-vern-btn:hover{background:var(--cream-lo)}.startup-vern-btn.active{background:var(--school-secondary);color:var(--school-on-secondary)}.startup-vern-btn{flex-direction:column;grid-column:span 4;gap:2px}.startup-vern-btn.bonus{grid-column:span 5}.startup-vern-btn.locked{opacity:.72;border-style:dashed}.startup-vern-btn.locked.active{opacity:1}.startup-vern-lock{font-weight:600;font-size:var(--text-2xs);letter-spacing:.06em;text-transform:uppercase;opacity:.75}.startup-vern-locked-note{font-size:var(--text-xs);color:var(--ink);text-align:center;margin:-6px 0 14px}.startup-colors{grid-template-columns:repeat(8,minmax(0,1fr));gap:6px;display:grid}.startup-color-btn{aspect-ratio:1;background:var(--cream-hi);border:2px solid var(--outline);border-radius:var(--radius-md);box-shadow:var(--shadow-1);padding:3px;display:flex}.startup-color-btn:hover{background:var(--cream-lo)}.startup-color-btn.active{background:var(--school-secondary)}.startup-color-swatch{border-radius:var(--radius-xs);flex-direction:column;flex:1;display:flex;overflow:hidden}.startup-color-swatch>span{flex:1;display:block}.startup-color-swatch>span:last-child{flex:0 0 38%}.startup-color-name{font-family:var(--display);font-weight:800;font-size:var(--text-md);color:var(--school-primary);margin:8px 0 20px}.startup-replacing{margin:0 0 var(--space-12);font-size:var(--text-sm);color:var(--danger-ink);text-align:center;line-height:1.4}.startup-begin-btn{width:100%;padding:var(--space-12);font-size:var(--text-lg)}.log::-webkit-scrollbar{width:8px}.log::-webkit-scrollbar-thumb{background:var(--parchment-line);border-radius:var(--radius-sm)}.log{scrollbar-width:thin;scrollbar-color:var(--parchment-line) transparent}@media (width<=1439px){.toolbar{gap:8px;padding:7px 12px}.toolbar-icon-btn{min-width:42px;padding:0 5px}.toolbar-tabs{gap:2px}.toolbar-build-btn{margin-left:4px;padding:0 12px}}@media (width<=1150px){.toolbar{flex-wrap:wrap;justify-content:center;gap:10px;padding:8px 10px}.toolbar-left,.toolbar-right{flex-basis:100%;justify-content:center}}@media (width<=760px){.student-life-columns,.treasury-columns{grid-template-columns:minmax(0,1fr)}.curriculum-layout.with-drawer{grid-template-columns:1fr}.curriculum-layout.with-drawer .course-drawer{order:-1;max-height:none;position:static}}.summer-steps{counter-reset:beat;gap:0;margin:16px 0 14px;padding:0;list-style:none;display:flex}.summer-steps li{counter-increment:beat;font-family:var(--display);font-weight:800;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-muted);border-bottom:3px solid var(--parchment-line);text-align:center;white-space:nowrap;flex:1;padding:0 0 8px;position:relative}.summer-steps li:before{content:counter(beat) " · ";letter-spacing:0}.summer-steps li.done{color:var(--ink-muted);border-bottom-color:var(--school-primary)}.summer-steps li.current{color:var(--school-primary);border-bottom-color:var(--school-secondary);font-weight:800}.review-grid{grid-template-columns:1fr 1fr;gap:10px;margin:0 0 16px;display:grid}.review-section{padding:var(--inset-card);background:var(--cream-hi);border:2px solid var(--outline);border-radius:var(--radius-lg);min-width:0;margin:0}.review-section h3{margin:0 0 var(--space-6)}.review-section ul{margin:0;padding:0;list-style:none}.review-section li{font-size:var(--text-sm);color:var(--ink);border-top:1px solid var(--parchment-line);padding:3px 0;font-weight:500;line-height:1.4}.review-section li:first-child{border-top:none}.review-section li.good{color:var(--ok-on-light);font-weight:600}.review-section li.bad{color:var(--bad-on-light);font-weight:600}[data-section]{scroll-margin-top:var(--space-12)}.review-detail{font-size:var(--text-xs);color:var(--ink-muted);margin-top:1px;font-weight:400;line-height:1.4;display:block}.review-section .review-items{margin:2px 0 0 var(--space-6)}.review-section .review-items li{font-size:var(--text-xs);color:var(--ink);border-top:none;padding:1px 0;font-weight:400}.review-more{font:inherit;cursor:pointer;color:var(--ink-muted);text-underline-offset:2px;background:0 0;border:0;padding:0;text-decoration:underline}.review-more:hover{color:var(--ink)}.review-empty{font-size:var(--text-sm);color:var(--ink-muted);font-style:italic;margin:0!important}@media (width<=560px){.review-grid{grid-template-columns:1fr}}.ambitions{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:4px 22px;margin:0;padding:0;list-style:none;display:grid}.ambition{border-top:1px solid var(--parchment-line);grid-template-columns:auto 1fr auto;align-items:baseline;gap:0 10px;padding:6px 0;display:grid}.ambition-mark{color:var(--school-primary);align-self:center;display:inline-flex}.ambition-mark svg,.prereq-static svg,.prereq-link svg{flex:none;align-self:center;width:13px;height:13px;display:block}.build-tile-foot svg{vertical-align:0;width:10px;height:10px;display:inline-block}.ambition-body{flex-direction:column;min-width:0;display:flex}.ambition-name{font-family:var(--display);font-weight:800;font-size:var(--text-sm);color:var(--ink)}.ambition-line{font-size:var(--text-xs);color:var(--ink-muted);line-height:1.4}.ambition-year{font-family:var(--display);font-weight:800;font-size:var(--text-xs);color:var(--school-primary);white-space:nowrap}.ambition.unreached .ambition-mark,.ambition.unreached .ambition-name,.ambition.unreached .ambition-year{color:var(--ink-muted)}.ambition.unreached .ambition-name{font-weight:600}.final-report h4{margin:var(--space-16) 0 var(--space-6)}.final-report p{margin:0 0 8px;line-height:1.5}.final-report-title{font-family:var(--display);font-weight:800;font-size:var(--text-lg);color:var(--ink);margin:0 0 10px;line-height:1.3}.final-report-mark{font-family:var(--display);color:var(--ink);align-items:center;gap:10px;font-weight:800;display:flex}.final-report-last-word{color:var(--ink-muted);font-style:italic;margin-top:8px!important}.final-report-axes-note{color:var(--ink-muted);font-size:var(--text-sm)}.final-report-axes{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.final-report-axes li{padding:var(--inset-card);background:var(--cream-hi);border:2px solid var(--outline);border-radius:var(--radius-lg);grid-template-rows:auto auto;grid-template-columns:auto 1fr;align-items:center;gap:2px 10px;display:grid}.final-report-axes .grade-mark{grid-row:1/span 2}.final-report-axis-label{font-family:var(--display);color:var(--ink);font-weight:800}.final-report-axis-line{font-size:var(--text-xs);color:var(--ink-muted);line-height:1.4}.final-report-addendum{border-top:2px dashed var(--parchment-line);margin-top:14px;padding-top:10px}.final-report-eyebrow{margin-bottom:var(--space-6)}.final-report-figures{grid-template-columns:1fr 1fr;gap:2px 24px}.final-report-figures>div{padding:4px 0}@media (width<=560px){.final-report-figures{grid-template-columns:1fr}}.history-table .history-delta{color:var(--ink-muted);font-size:var(--text-2xs)}.history-table td.bad{color:var(--bad-on-light)}.admissions-outcomes .pool-change{flex-direction:column;align-items:flex-start;gap:3px}.admissions-outcomes .pool-change dt{font-size:var(--text-xs);color:var(--school-primary)}.pool-change-parts{flex-wrap:wrap;gap:4px 12px;font-weight:700;display:flex;font-size:var(--text-sm)!important}.pool-change-parts .good{color:var(--ok-on-light)}.pool-change-parts .bad{color:var(--bad-on-light)}.modal.modal-narrow{max-width:440px}.modal.modal-wide{max-width:720px}.modal.modal-page{width:min(960px,94vw);max-width:960px}.report-table{border-collapse:collapse;width:100%;font-size:var(--text-base);margin:0 0 16px}.report-table th{text-align:left;font-family:var(--display);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-muted);border-bottom:2px solid var(--outline);background:var(--cream);padding:6px 8px;font-weight:800;position:sticky;top:0}.report-table td{border-bottom:1px solid var(--parchment-line);padding:4px 8px}.report-table tr.me td{color:var(--school-primary);font-weight:800}.report-table-rank,.report-table-score,.report-table-last{white-space:nowrap;font-weight:700}.report-table th:nth-child(3),.report-table th:nth-child(4),.report-table-score,.report-table-last{text-align:right}.report-table .rank-move{font-size:var(--text-xs)}.report-table-gap td{text-align:center;color:var(--ink-muted)}.report-table th.report-table-pillar,.report-table td.report-table-pillar{text-align:right;white-space:nowrap}.report-table td.report-table-pillar{color:var(--ink-muted);font-size:var(--text-sm)}.report-table .spec-tag{border:1px solid var(--parchment-line);border-radius:var(--radius-sm);font-family:var(--display);font-size:var(--text-2xs);color:var(--ink-muted);text-transform:uppercase;letter-spacing:.02em;vertical-align:1px;white-space:nowrap;margin-left:6px;padding:0 4px;font-weight:700;display:inline-block}.report-table td.report-table-pillar.specialized{color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:var(--school-primary);text-decoration-color:var(--school-primary);text-underline-offset:3px;font-weight:800}@media (width<=520px){.report-table.with-pillars td,.report-table.with-pillars th{padding:4px}.report-table.with-pillars td.report-table-pillar{font-size:var(--text-xs)}.report-table.with-pillars .report-table-name{word-break:break-word}}.milestone-cards{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;margin:0 0 14px;display:grid}.milestone-card{padding:var(--inset-card);background:var(--cream-hi);border:2px solid var(--outline);border-radius:var(--radius-lg);min-width:0}.milestone-card h3{font-family:var(--display);font-weight:800;font-size:var(--text-md);color:var(--ink);margin:0 0 4px}.milestone-card .milestone-detail{font-size:var(--text-sm);color:var(--ink-muted);margin:0 0 6px!important}.milestone-unlocks-fold summary{cursor:pointer;font-family:var(--display);font-weight:800;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--school-primary)}.milestone-unlocks-fold[open] summary{margin-bottom:4px}.letter-eyebrow{margin:0 0 var(--space-4)}.modal .letter-eyebrow{margin:var(--space-16) 0 var(--space-6);color:var(--school-primary)}.letter-body{line-height:1.55}.milestone-opens{border:2px solid var(--outline);border-radius:var(--radius-lg);background:var(--cream-hi);color:var(--ink);margin:0 0 14px;padding:10px 14px 10px 30px}.milestone-opens li{margin:4px 0;line-height:1.4}.letter-ask{background:var(--cream-hi);border:2px solid var(--outline);border-radius:var(--radius-lg);color:var(--ink);align-items:baseline;gap:10px;padding:10px 14px;font-weight:600;display:flex;margin:0 0 14px!important}.letter-ask-label{font-family:var(--display);font-weight:800;font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.08em;color:var(--school-on-primary);background:var(--school-primary);border-radius:var(--radius-pill);flex:none;padding:2px 7px}.letter-actions{flex-wrap:wrap;align-items:center;gap:14px 16px;margin-top:4px;display:flex}.letter-actions>button{margin:0}.letter-skip{font-size:var(--text-xs);padding:var(--space-6) var(--space-12)}.opening-coach .letter-skip{margin:12px 0 0}.hall-wall{background:var(--cream-hi);border:3px solid var(--outline);border-radius:var(--radius-xl);width:min(960px,100%);padding:var(--space-16) var(--space-24);box-shadow:var(--elevation-dialog)}.hall-title{margin:0 0 var(--space-12)}.hall-frames{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px;margin:0;padding:0;list-style:none;display:grid}.hall-frame{width:100%;padding:var(--space-8);background:var(--frame-wood);border:3px solid var(--frame-wood-dark);border-radius:var(--radius-xs);box-shadow:inset 0 0 0 3px var(--frame-wood-light);cursor:pointer;text-align:left;color:var(--ink);flex-direction:column;display:flex}.hall-frame.is-open{outline:3px solid var(--school-primary)}.hall-portrait{background:var(--cream);border:2px solid var(--frame-wood-dark);display:block;overflow:hidden}.hall-portrait svg{width:100%;height:auto;display:block}.hall-plaque{margin-top:var(--space-8);padding:var(--space-6) var(--space-8);background:var(--frame-plaque);border:2px solid var(--frame-plaque-edge);border-radius:var(--radius-xs);display:block}.hall-plaque-name{font-family:var(--display);font-weight:800;font-size:var(--text-sm);color:var(--frame-plaque-ink);display:block}.hall-plaque-meta{align-items:center;gap:var(--space-6);font-size:var(--text-xs);color:var(--frame-wood-dark);display:flex}.hall-reading{margin-top:16px}.hall-reading-title{margin:0 0 var(--space-8)}.hall-reading-grades{font-size:var(--text-sm);flex-wrap:wrap;gap:6px 14px;margin:0 0 12px;display:flex}.build-popup.holding{max-height:none}.build-holding{flex-wrap:wrap;align-items:center;gap:8px 16px;display:flex}.build-holding-name{font-weight:700}.build-holding-keys{font-size:var(--text-sm);color:var(--ink-muted);flex:1}.build-holding .menu-btn{flex:none;width:auto;margin:0}.chronicle-eras{gap:12px;margin:0;padding:0;list-style:none;display:grid}.chronicle-era{border-left:4px solid var(--school-primary);background:var(--cream-hi);border-radius:0 var(--radius-lg) var(--radius-lg) 0;padding:10px 14px}.chronicle-era-name{font-family:var(--display);font-weight:800;font-size:var(--text-md);color:var(--ink);margin:0 0 4px}.chronicle-era-lines{color:var(--ink-muted);margin:0;line-height:1.5}.chronicle-subhead{margin:var(--space-16) 0 var(--space-6)}.review-era{color:var(--ink-muted);margin:-4px 0 12px;font-style:italic}.tab-overlay-body.split{min-height:0;padding:0;padding-bottom:calc(var(--toolbar-height) + var(--log-ticker-height));flex-direction:column;flex:1;display:flex;overflow:hidden}.inbox{flex:1;grid-template-columns:minmax(300px,420px) minmax(0,1fr);min-height:0;display:grid}.inbox-list{border-right:3px solid var(--outline);flex-direction:column;min-height:0;display:flex}.inbox-tools{border-bottom:2px solid var(--outline);flex:none;gap:8px;padding:12px 14px 10px;display:grid}.inbox-search{box-sizing:border-box;border:2px solid var(--outline);border-radius:var(--radius-pill);background:var(--cream-hi);width:100%;color:var(--ink);font:inherit;font-size:var(--text-sm);padding:6px 12px}.inbox-filters>button{align-items:center;gap:var(--space-4);padding:var(--space-2) var(--space-8);display:inline-flex}.inbox-filter-count{border-radius:var(--radius-pill);background:var(--school-secondary);color:var(--school-on-secondary);letter-spacing:0;padding:0 5px}.inbox-rows{scrollbar-width:thin;scrollbar-color:var(--parchment-line) transparent;flex:1;min-height:0;overflow-y:auto}.inbox-group{z-index:2;background:var(--cream-lo);border-bottom:1px solid var(--parchment-line);color:var(--ink-muted);font-family:var(--display);font-weight:800;font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.08em;justify-content:space-between;gap:10px;padding:7px 14px 5px;display:flex;position:sticky;top:0}.inbox-row{background:var(--cream);width:100%;color:var(--ink);border:0;border-bottom:1px solid var(--parchment-line);text-align:left;font:inherit;border-radius:0;grid-template-columns:10px minmax(0,1fr) auto;gap:1px 8px;padding:8px 14px 8px 16px;display:grid;position:relative}button.inbox-row{cursor:pointer}button.inbox-row:hover{background:var(--cream-hi)}.inbox-row:before{content:"";width:5px;position:absolute;top:0;bottom:0;left:0}.inbox-row.decide:before{background:var(--school-primary)}.inbox-row.decide.urgent:before{background:var(--danger-ink)}.inbox-row.selected{z-index:1;background:var(--cream-hi);box-shadow:inset 0 0 0 2px var(--outline)}.inbox-dot{border-radius:50%;width:8px;height:8px;margin-top:4px}.inbox-row.unread.letter .inbox-dot{background:var(--school-secondary);border:1.5px solid var(--outline)}.inbox-from{white-space:nowrap;text-overflow:ellipsis;min-width:0;color:var(--school-primary);font-family:var(--display);font-weight:800;font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.08em;grid-column:2;overflow:hidden}.inbox-when{white-space:nowrap;color:var(--ink-muted);font-size:var(--text-2xs);grid-column:3;align-self:start;font-weight:700}.inbox-due{border-radius:var(--radius-pill);background:var(--cream-lo);white-space:nowrap;font-family:var(--display);font-weight:800;font-size:var(--text-2xs);grid-column:3;align-self:start;padding:1px 7px}.inbox-row.urgent .inbox-due{background:var(--danger-ink);color:var(--cream-hi)}.inbox-subject{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:var(--text-base);grid-column:2/4;font-weight:600;overflow:hidden}.inbox-row.decide .inbox-subject,.inbox-row.unread .inbox-subject{font-family:var(--display);font-weight:800}.inbox-preview{white-space:nowrap;text-overflow:ellipsis;min-width:0;color:var(--ink-muted);font-size:var(--text-sm);grid-column:2/4;overflow:hidden}.inbox-preview.lapsed{color:var(--danger-ink);font-weight:600}.inbox-meter{background:var(--cream-lo);border-radius:3px;height:6px;margin-top:4px;display:block;overflow:hidden}.inbox-meter i{background:var(--school-primary);height:100%;display:block}.inbox-row .inbox-meter{grid-column:2/4}.inbox-meter.wide{height:8px;margin:0}.inbox-row.bulletin{padding-block:6px}.inbox-row.bulletin .inbox-subject{white-space:normal;font-family:var(--sans);font-weight:500;font-size:var(--text-sm);grid-column:2}.inbox-row.bulletin.good .inbox-subject{color:var(--ok-on-light)}.inbox-row.bulletin.bad .inbox-subject{color:var(--bad-on-light)}.inbox-link{color:var(--school-primary);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.inbox-empty{color:var(--ink-muted);font-size:var(--text-sm);margin:0;padding:18px 16px;line-height:1.5}.inbox-read{scrollbar-width:thin;scrollbar-color:var(--parchment-line) transparent;min-height:0;padding:18px 28px 28px;overflow-y:auto}.inbox-back{display:none}.inbox-letter{gap:14px;max-width:920px;display:grid}.inbox-read-head{border-bottom:2px solid var(--outline);gap:6px;padding-bottom:12px;display:grid}.inbox-tags{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.inbox-tags .letter-eyebrow{margin:0!important}.inbox-tag{border-radius:var(--radius-pill);white-space:nowrap;font-family:var(--display);font-weight:800;font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.08em;padding:2px 8px}.inbox-tag.decide{background:var(--school-primary);color:var(--school-on-primary)}.inbox-tag.letter{background:var(--school-secondary);color:var(--school-on-secondary)}.inbox-tag.answered{background:var(--cream-lo);color:var(--ink)}.inbox-read-head h3{text-wrap:balance;max-width:34ch;margin:0}.inbox-meta{color:var(--ink-muted);font-size:var(--text-sm);margin:0}.inbox-read-grid{grid-template-columns:minmax(0,1fr) 230px;align-items:start;gap:22px;display:grid}.inbox-read-main{gap:14px;min-width:0;display:grid}.inbox-body{max-width:64ch}.inbox-para{font-size:var(--text-lg);margin:0 0 10px;line-height:1.6}.inbox-para:last-child{margin-bottom:0}.inbox-para.lapsed{color:var(--danger-ink);font-weight:600}.inbox-note{color:var(--ink-muted);font-size:var(--text-md)}.inbox-section-label{margin:0}.charter-rename{gap:var(--space-4);flex-direction:column;max-width:420px;display:flex}.charter-rename input{font:inherit;padding:var(--space-6) var(--space-8);border:2px solid var(--outline);border-radius:var(--radius-sm);background:var(--cream-hi);color:var(--ink);font-weight:600}.charter-rename-note{font-size:var(--text-xs);color:var(--ink-muted)}.inbox-read .event-choices{max-width:680px}.inbox-read .event-choice:disabled{opacity:.5;cursor:not-allowed}.inbox-read .milestone-opens{max-width:640px;margin:0}.inbox-actions{margin:0}.inbox-side{border:2px solid var(--outline);border-radius:var(--radius-lg);background:var(--cream-hi);grid-template-columns:minmax(0,1fr);gap:6px;padding:12px 14px;display:grid;position:sticky;top:0}.inbox-side-key{margin-top:var(--space-4);font-size:var(--text-2xs)}.inbox-side-big{color:var(--school-primary);font-family:var(--display);font-weight:800;font-size:var(--text-2xl);line-height:1.1}.inbox-side-big.urgent{color:var(--danger-ink)}.inbox-side-value{font-weight:700;font-size:var(--text-md);line-height:1.35}.inbox-side .inbox-meter{margin:0}.inbox-goal{border:2px solid var(--outline);border-radius:var(--radius-lg);background:var(--cream-hi);grid-template-columns:minmax(0,1fr);gap:6px;max-width:640px;padding:12px 14px;display:grid}.inbox-goal-stakes{color:var(--ink-muted);font-size:var(--text-sm)}.inbox-quiet{max-width:52ch;color:var(--ink-muted);gap:8px;padding-top:24px;display:grid}.inbox-quiet h3{margin:0}.inbox-quiet p{margin:0;line-height:1.5}.inbox-row.hold:before{background:var(--outline)}.inbox-row.hold .inbox-due,.inbox-tag.hold{background:var(--outline);color:var(--cream)}.inbox-hold{gap:12px;display:grid}.inbox-hold-note{color:var(--ink-muted);font-size:var(--text-sm);flex-wrap:wrap;align-items:center;gap:8px;margin:0;display:flex}.modal.modal-inbox{width:100%;max-width:820px;max-height:none;box-shadow:var(--shadow-2);margin:0;animation:none;overflow:visible}.modal.modal-inbox.modal-page{max-width:none}.tab-overlay-held{color:var(--ink-muted);font-size:var(--text-sm);margin:0;font-style:italic}.toolbar-icon-btn:disabled{opacity:.45;cursor:not-allowed}.toolbar-icon-btn:disabled:not(.toolbar-build-btn):hover{border-color:#0000}@media (width<=760px){.inbox{grid-template-columns:minmax(0,1fr)}.inbox-list{border-right:0}.inbox[data-pane=read] .inbox-list,.inbox[data-pane=list] .inbox-read{display:none}.inbox-back{margin-bottom:var(--space-12);font-size:var(--text-sm);display:inline-block}.inbox-read{padding:14px 16px 24px}.inbox-read-grid{grid-template-columns:minmax(0,1fr)}.inbox-side{position:static}}.inbox-badge{background:var(--school-secondary);min-width:17px;height:17px;color:var(--school-on-secondary);border:2px solid var(--school-primary);font-family:var(--display);font-size:var(--text-2xs);pointer-events:none;border-radius:9px;justify-content:center;align-items:center;padding:0 4px;font-weight:800;line-height:1;display:flex;position:absolute;top:-3px;right:-3px}.inbox-badge.urgent{background:var(--danger-ink);color:var(--cream-hi);border-color:var(--cream);animation:1.1s ease-in-out infinite inbox-pulse}.inbox-badge.dot{width:11px;min-width:11px;height:11px;padding:0;top:3px;right:6px}.toolbar-icon-btn.active .inbox-badge:not(.urgent){border-color:var(--school-secondary);background:var(--cream)}@keyframes inbox-pulse{0%,to{box-shadow:0 0 0 0 var(--danger-ink)}50%{box-shadow:0 0 0 4px #0000}}.opening-coach{z-index:30;top:16px;right:calc(var(--corner-menu-height) + 32px);width:min(400px, calc(100vw - var(--corner-menu-height) - 64px));box-sizing:border-box;padding:var(--space-16) var(--space-24);background:var(--cream);color:var(--ink);border:3px solid var(--outline);border-radius:var(--radius-xl);box-shadow:var(--elevation-note);animation:.25s ease-out popup-rise;position:fixed}@media (width<=760px){.opening-coach{width:auto;left:16px;right:16px}.opening-coach.under-panel{top:auto;bottom:calc(var(--toolbar-height) + var(--log-ticker-height) + 8px);max-height:30vh;overflow-y:auto}}.opening-coach h2{margin:0 0 var(--space-8)}.opening-coach p{font-size:var(--text-md);margin:0 0 12px;line-height:1.5}.opening-coach-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.opening-coach-actions button{padding:var(--space-8) var(--space-16);font-size:var(--text-md)}.opening-coach-wait{font-family:var(--display);font-weight:800;font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.08em;color:var(--school-primary)}.opening-target{outline:4px solid var(--school-secondary);outline-offset:2px;animation:1.1s ease-in-out infinite opening-pulse}@keyframes opening-pulse{0%,to{outline-offset:2px}50%{outline-offset:6px}}.build-tile.opening-target{border-color:var(--school-secondary);outline:none}.build-tile.opening-target:after{content:"";border-radius:calc(var(--radius-lg) - 2px);pointer-events:none;box-shadow:inset 0 0 0 3px var(--school-secondary);animation:1.1s ease-in-out infinite opening-pulse-inset;position:absolute;inset:0}@keyframes opening-pulse-inset{0%,to{box-shadow:inset 0 0 0 3px var(--school-secondary)}50%{box-shadow:inset 0 0 0 6px var(--school-secondary)}}.log-ticker-next{flex:0 auto;align-items:center;gap:7px;min-width:0;max-width:52%;margin-left:auto;display:flex}.log-ticker-next-label{font-family:var(--display);text-transform:uppercase;letter-spacing:.08em;font-weight:800;font-size:var(--text-2xs);color:var(--school-on-primary);background:var(--school-primary);border-radius:var(--radius-pill);flex:none;padding:2px 7px}.log-ticker-next-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.log-ticker-next.urgent .log-ticker-next-label{animation:1.1s ease-in-out infinite next-pulse}@keyframes next-pulse{0%,to{box-shadow:0 0 0 0 var(--school-primary)}50%{box-shadow:0 0 0 4px #0000}}.log-ticker-next button.log-ticker-next-text{color:var(--ink);font:inherit;cursor:pointer;text-align:left;-webkit-text-decoration:underline dotted var(--school-primary);text-decoration:underline dotted var(--school-primary);background:0 0;border:none;padding:0}.log-ticker-next button.log-ticker-next-text:hover{color:var(--school-primary)}.log-ticker-ladder{color:var(--ink);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:none;flex:none;align-items:center;gap:7px;margin-left:auto;padding:0;display:flex}.log-ticker-ladder:hover{color:var(--school-primary)}.log-ticker-ladder+.log-ticker-next{margin-left:16px}.log-ticker-ladder-progress{color:var(--ink-muted);font-variant-numeric:tabular-nums;font-weight:700}.ladder-popup{width:min(560px,100vw - 32px);max-height:70vh;left:16px}.ladder-tier h3{margin:var(--space-12) 0 var(--space-6);color:var(--ink-muted)}.ladder-tier ul{margin:0;padding:0;list-style:none}.ladder-rung{border:2px solid var(--parchment-line);border-radius:var(--radius-lg);margin-bottom:6px;padding:8px 10px}.ladder-rung.reached{border-color:var(--outline);background:var(--cream-hi)}.ladder-rung.side{border-style:dashed}.ladder-rung-head{align-items:baseline;gap:8px;display:flex}.ladder-rung-mark{width:16px;color:var(--school-primary);flex:none;align-self:center;display:inline-flex}.ladder-rung-mark svg{width:14px;height:14px;display:block}.ladder-rung-name{color:var(--ink);font-weight:700}.ladder-rung-state{font-size:var(--text-xs);color:var(--ink-muted);font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:auto}.ladder-rung-opens{margin:var(--space-4) 0 0 var(--space-24);font-size:var(--text-xs);color:var(--ink-muted);line-height:1.35}.pennant{z-index:11;pointer-events:none;width:150px;filter:drop-shadow(3px 3px 0 var(--outline));flex-direction:column;align-items:stretch;display:flex;position:fixed;top:0;left:24px}.pennant-body{box-sizing:border-box;text-align:center;background:var(--school-primary);min-height:92px;color:var(--school-on-primary);border:4px solid var(--school-secondary);border-top:0;border-bottom:0;place-items:center;padding:26px 12px 8px;display:grid;position:relative}.pennant-body:before{content:"";pointer-events:none;border:1.5px dashed color-mix(in srgb, var(--school-secondary) 70%, transparent);border-top:0;border-bottom:0;position:absolute;inset:0 5px}.pennant-tail{background:var(--school-secondary);clip-path:polygon(0 0,100% 0,50% 100%);height:46px;margin-top:-1px}.pennant-tail:before{content:"";background:var(--school-primary);clip-path:polygon(0 0,100% 0,50% 100%);height:calc(100% - 8px);margin:0 4px;display:block}.pennant-name{font-family:var(--display);font-weight:800;font-size:var(--text-2xl);letter-spacing:-.01em;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;text-wrap:balance;pointer-events:auto;min-width:0;max-width:100%;line-height:1.08}.pennant-name.long{font-size:calc(var(--text-2xl) * .82)}.pennant-name.longer{font-size:calc(var(--text-2xl) * .7)}.pennant-name.longest{font-size:calc(var(--text-2xl) * .6);line-height:1.12}body:has(.building-info-panel) .pennant{display:none}.trophy{align-items:baseline;gap:var(--space-8);display:flex}.trophy-year{font-family:var(--display);font-variant-numeric:tabular-nums;opacity:.8;font-weight:800}.priority-slot{min-width:0;list-style:none;display:flex}.priority-slot.wide{grid-column:1/-1;display:block}.priority-card{cursor:grab;flex:1;min-width:0;display:flex}.priority-card.dragging{opacity:.5}.priority-card.over{outline:2px dashed var(--ink,currentColor);outline-offset:2px;border-radius:var(--radius-md)}.priority-rank{background:var(--outline);min-width:22px;height:22px;color:var(--cream);font-family:var(--display);font-variant-numeric:tabular-nums;font-weight:800;font-size:var(--text-2xs);-webkit-user-select:none;user-select:none;border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.funded-line{font-family:var(--display);font-size:var(--text-2xs);letter-spacing:.06em;text-transform:uppercase;opacity:.75;align-items:center;gap:8px;margin:2px 0;font-weight:800;display:flex}.funded-line:before,.funded-line:after{content:"";opacity:.5;border-top:2px dashed;flex:1}.priority-slot.awaiting .team-card{background:0 0;border-style:dashed}.org-tag.band-flagship{opacity:1}.org-tag.band-competitive{opacity:.8}.org-tag.band-developmental{opacity:.55}.org-tag.banned{color:var(--bad-on-light)}.estate-funding,.treasury-dial{align-items:center;gap:10px;margin:6px 0 10px;display:flex}.estate-funding strong,.treasury-dial strong{text-align:center;min-width:3.2em}.treasury-transfer{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.treasury-transfer>span:first-child{margin-right:4px}.estate-worst{gap:6px;margin:8px 0 0;padding:0;list-style:none;display:grid}.estate-worst li{align-items:center;gap:10px;display:flex}.estate-worst li>span:first-child{flex:1}.panel-action.small{padding:var(--space-2) var(--space-8);font-size:var(--text-sm)}.panel-action.active,.seat-policies .panel-action.on{background:var(--school-secondary);color:var(--school-on-secondary)}.seat-list{grid-template-columns:minmax(0,1fr);gap:10px;margin:8px 0 0;padding:0;list-style:none;display:grid}.seat{border:1.5px solid var(--parchment-line);border-radius:var(--radius-sm);padding:var(--inset-card)}.seat.vacant{border-style:dashed}.seat-head{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.seat-blurb{font-size:var(--text-sm);margin:4px 0 6px}.seat-policies,.seat-appoint{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.faculty-quirk{border-radius:var(--radius-pill);border:1px dashed var(--ink-muted);font-size:var(--text-xs);color:var(--ink-muted);margin:2px 0 4px;padding:0 8px;display:inline-block}.admissions-projection{font-size:var(--text-sm);color:var(--ink-muted);margin:4px 0 10px}.alumni-list{gap:6px;margin:8px 0 0;padding:0;list-style:none;display:grid}.alumni-list li{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.alumni-line{font-style:italic}.alumni-figures{flex-shrink:0;align-items:center;gap:10px;display:flex}.campaign-list{gap:10px;margin:8px 0;padding:0;list-style:none;display:grid}.campaign-list li p{margin:2px 0 6px}.standings-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:10px 0;display:grid}@media (width<=900px){.standings-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}.standings-card{border:2px solid var(--outline);border-radius:var(--radius-lg);padding:var(--inset-card);background:var(--cream-hi)}.standings-card-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.standings-card-label{font-family:var(--display);font-weight:800;font-size:var(--text-sm);min-width:0}.standings-card-label .standing-row-specialized{display:inline-block}.standings-card-rank{font-family:var(--display);font-size:var(--text-lg);color:var(--school-primary)}.standings-card-leader{font-size:var(--text-2xs);color:var(--ink-muted);min-height:1.3em;margin:2px 0 6px}.identity-list{gap:var(--space-12);margin:8px 0 0;padding:0;list-style:none;display:grid}.identity-entry{gap:var(--space-4) var(--space-12);grid-template-columns:auto minmax(0,1fr);align-items:start;display:grid}.identity-sticker{--tilt:-8deg;width:calc(82px * var(--text-scale));height:calc(82px * var(--text-scale));padding:var(--space-4);border:2px solid var(--outline);box-shadow:var(--shadow-1);background:var(--school-secondary);color:var(--outline);transform:rotate(var(--tilt));font-family:var(--display);font-weight:800;font-size:calc(9px * var(--text-scale));letter-spacing:0;text-transform:uppercase;text-align:center;border-radius:50%;grid-row:span 2;place-items:center;line-height:1.05;display:grid;position:relative}.identity-sticker:before{content:"";border:1px dashed var(--outline);border-radius:50%;position:absolute;inset:3px}.identity-sticker>span{width:min-content;position:relative}.identity-sticker.warning{background:var(--cream-hi)}.identity-entry:nth-child(3n+2) .identity-sticker{--tilt:6deg}.identity-entry:nth-child(3n) .identity-sticker{--tilt:-3deg}.identity-quote{color:var(--school-primary);font-style:italic;font-weight:600;font-size:var(--text-lg);quotes:"“" "”";align-self:end;line-height:1.3}.identity-quote:before{margin-right:var(--space-4);vertical-align:-.42em;line-height:0;font-family:var(--sans);font-style:normal;font-weight:800;font-size:var(--text-5xl);color:var(--school-secondary);-webkit-text-stroke:1px var(--school-primary)}.identity-quote:after{content:none}.identity-why{color:var(--ink-muted);font-size:var(--text-sm);margin:0;line-height:1.4}.identity-coming{margin:var(--space-12) 0 0;gap:var(--space-6);padding:0;list-style:none;display:grid}.identity-coming li{align-items:center;gap:var(--space-6);color:var(--outline);font-size:var(--text-xs);flex-wrap:wrap;font-weight:700;display:flex}.identity-pips{gap:3px;display:flex}.identity-pips i{border:1.5px solid var(--outline);border-radius:3px;width:14px;height:6px}.identity-pips i.on{background:var(--school-primary)}.identity-years{color:var(--ink-muted);font-weight:600}.panel dl>.figure{display:contents}.figure>dd,.figure-box{position:relative}.figure>dd:focus-visible,.figure-box:focus-visible{outline:2px solid var(--school-primary);outline-offset:2px;border-radius:var(--radius-sm)}.figure-hint{z-index:40;pointer-events:none;white-space:normal;width:max-content;max-width:260px;display:none;position:absolute;top:calc(100% + 6px);right:0}.figure-box>.figure-hint{left:0;right:auto}.figure-hint.above{top:auto;bottom:calc(100% + 8px)}.figure:hover .figure-hint,.figure>dd:focus-visible>.figure-hint,.figure-box:hover>.figure-hint,.figure-box:focus-visible>.figure-hint{display:block}@media (hover:none){.figure:hover .figure-hint,.figure-box:hover>.figure-hint{display:none}.figure>dd:focus>.figure-hint,div.figure-box:focus>.figure-hint{display:block}.help-hint-btn{position:relative}.help-hint-btn:after{content:"";position:absolute;inset:-12px}}.touch-title{z-index:90;pointer-events:none;position:fixed}.sound-controls{border:0;flex-direction:column;gap:6px;min-width:0;margin:0 0 14px;padding:0;display:flex}.sound-controls legend{margin-bottom:var(--space-6);padding:0}.sound-level{font-size:var(--text-sm);color:var(--ink);grid-template-columns:72px minmax(0,1fr) 30px;align-items:center;gap:8px;display:grid}.sound-level input{width:100%;min-width:0;accent-color:var(--school-primary)}.sound-level-value{text-align:right;font-variant-numeric:tabular-nums;color:var(--ink-muted)}.debug-bench-row{flex-wrap:wrap;gap:4px;margin-bottom:6px;display:flex}.next-thousand{font-size:var(--text-base)}.next-thousand.bad{color:var(--bad-on-light)}.crowding-cost{font-size:var(--text-base);color:var(--bad-on-light)}.sound-mute{padding:var(--space-4) var(--space-12);font-size:var(--text-xs);align-self:flex-start}.species-chips{flex-direction:column;flex:0 0 132px;justify-content:center;gap:5px;display:flex}.species-chip{padding:var(--space-4) var(--space-12);font-size:var(--text-xs)}.title-actions .confirm-button,.main-menu-popup .confirm-button{align-items:stretch;display:flex}.venue-teams{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:8px;display:grid}.venue-team{padding:var(--inset-card);border:2px solid var(--school-primary);border-radius:var(--radius-lg);background:var(--cream-hi);flex-direction:column;gap:2px;min-width:0;display:flex}.venue-team.waiting{opacity:.8;border-style:dashed}.venue-team-name{font-family:var(--display);font-weight:800;font-size:var(--text-sm);color:var(--school-primary)}.venue-team-meta,.venue-team-coach{font-size:var(--text-2xs);color:var(--ink-muted);overflow-wrap:anywhere}.final-page{z-index:70;background:var(--school-primary);justify-content:center;align-items:flex-start;padding:48px 16px 64px;display:flex;position:fixed;inset:0;overflow-y:auto}.final-page-inner{background:var(--cream);border-radius:var(--radius-xl);width:min(1080px,100%);box-shadow:var(--elevation-popup);border-top:10px solid var(--school-secondary);padding:40px 48px 48px}.final-page-inner h2{font-size:var(--text-5xl);margin:var(--space-6) 0 var(--space-16);line-height:1.05}.final-page-inner .final-report-eyebrow{font-size:var(--text-md)}@media (width<=700px){.final-page-inner{padding:24px 18px 32px}}.report-card-actions{flex-wrap:wrap;align-items:center;gap:8px;margin:14px 0;display:flex}.report-card-actions button{padding:var(--space-6) var(--space-12);font-size:var(--text-sm)}.report-card-said{font-size:var(--text-sm);color:var(--ink-muted)}.feedback-prompt{border:2px solid var(--parchment-line);border-radius:var(--radius-lg);font-size:var(--text-md);margin:12px 0 0;padding:10px 14px}.feedback-prompt .menu-btn{width:auto;margin:6px 8px 0 0;padding:4px 12px;display:inline-block}.menu-note{font-size:var(--text-sm);color:var(--ink-muted);margin:2px 0 4px;line-height:1.4}.review-backup{font-size:var(--text-sm);color:var(--ink-muted);margin:12px 0 0}.review-backup .menu-btn{width:auto;margin:6px 0 0;padding:4px 12px;display:inline-block}.report-card-manual{font-size:var(--text-sm);color:var(--ink-muted);flex-direction:column;flex-basis:100%;gap:4px;display:flex}.report-card-manual input{width:100%;font:inherit;color:var(--ink);background:var(--cream-hi);border:2px solid var(--outline);border-radius:var(--radius-xs);padding:6px 8px}.final-page-leave{flex-wrap:wrap;align-items:flex-start;gap:12px;margin-top:24px;display:flex}.final-page-leave>button{font-size:var(--text-lg);padding:var(--space-12) var(--space-24)}.hall-leave{border-top:2px solid var(--parchment-line);margin-top:18px;padding-top:14px}.final-page-leave .new-college-btn{font-size:var(--text-lg);padding:var(--space-12) var(--space-24)}.hall-leave .new-college-btn{padding:var(--space-6) var(--space-12)}@media (width<=560px){.toolbar-tabs{gap:0;width:100%}.toolbar-tab-scroll{overscroll-behavior-x:contain;scrollbar-width:none;flex:auto;align-items:center;gap:2px;min-width:0;padding:3px 18px 3px 2px;display:flex;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 18px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 18px),#0000)}.toolbar-tab-scroll::-webkit-scrollbar{display:none}.app.dock-folded .toolbar-tabs,.app.dock-folded .toolbar-right,.toolbar-days{display:none}.toolbar-right>.toolbar-school{justify-self:start}.toolbar-calendar-term{padding:3px 4px 2px}.toolbar-calendar-week{font-size:var(--text-xl);padding-top:2px}.toolbar-calendar-word{padding-bottom:3px}.toolbar-stat{flex-direction:row;align-items:center;gap:5px;padding:0 8px 0 6px}.toolbar-stat svg{display:block}.toolbar-stat .stat-label{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.build-popup{max-height:min(560px, calc(100vh - var(--toolbar-height) - 140px))}.tab-overlay-head h2{font-size:calc(26px * var(--text-scale))}.pennant{width:128px;left:12px}.pennant-body{min-height:64px;padding:18px 10px 6px}.pennant-tail{height:34px}.summer-steps li{white-space:normal;flex:auto;padding:0 4px 6px}.summer-steps li:before{content:counter(beat);display:block}.cohort-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.cohort-card-label{overflow-wrap:break-word;letter-spacing:.04em}.cohort-card:nth-child(n) .cohort-card-tip{left:0;right:auto;transform:none}.cohort-card:nth-child(2n) .cohort-card-tip{left:auto;right:0}.toolbar-icon-btn{min-width:44px}.program-row-cells,.program-row-cells.graduate{grid-template-columns:repeat(3,minmax(0,1fr))}.program-row-cells .tier-rule{display:none}.capacity-legend{white-space:normal;flex-wrap:wrap;row-gap:4px;overflow:visible}.program-row{min-width:0}.dept-head{display:none}.dept-row{grid-template-columns:minmax(0,1fr) auto;row-gap:4px}.dept-row>.capacity-meter{order:3;grid-column:1/-1}.dept-row>.dept-slots{order:2}.dept-row>.dept-action-cell{order:4;grid-column:1/-1}.seat-appoint .panel-action,.seat-appoint .confirm-button{white-space:normal;text-align:left;max-width:100%}.alumni-list li{flex-wrap:wrap}.alumni-figures{flex-wrap:wrap;flex-shrink:1}}.toasts{z-index:14;right:16px;bottom:calc(var(--toolbar-height) + var(--log-ticker-height,28px) + 12px);pointer-events:none;flex-direction:column;gap:6px;width:min(360px,100vw - 32px);margin:0;padding:0;list-style:none;display:flex;position:fixed}.toast{pointer-events:auto;align-items:center;gap:var(--space-8);padding:var(--space-8) var(--space-8) var(--space-8) var(--space-12);background:var(--cream);color:var(--ink);border:2px solid var(--outline);border-radius:var(--radius-md);box-shadow:var(--elevation-note);font-size:var(--text-sm);border-left-width:6px;font-weight:700;animation:.22s ease-out toast-in;display:flex}.toast.good{border-left-color:var(--green)}.toast.bad{border-left-color:var(--danger-ink)}.toast.matter{border-left-color:var(--school-primary)}.toast.letter{border-left-color:var(--school-secondary)}.toast-open{padding:var(--space-2) var(--space-8);font-size:var(--text-xs);flex:none}.toast-text{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.school-banner{z-index:13;max-width:calc(100vw - 32px);padding:var(--space-12) var(--space-24);background:var(--school-hue,var(--school-primary));color:var(--cream-hi);border:3px solid var(--outline);border-radius:var(--radius-lg);box-shadow:var(--elevation-popup);font-family:var(--display);font-weight:800;font-size:var(--text-xl);text-align:center;pointer-events:none;align-items:center;gap:12px;animation:4.5s ease-in-out both banner-in;display:flex;position:fixed;top:28%;left:50%;transform:translate(-50%)}.school-banner-motif{font-size:var(--text-2xl)}@keyframes banner-in{0%{opacity:0;transform:translate(-50%,-12px)scale(.96)}8%,85%{opacity:1;transform:translate(-50%)scale(1)}to{opacity:0;transform:translate(-50%)scale(1)}}.dust-puff circle{fill:#c4b08c8c;transform-box:fill-box;transform-origin:50%;animation:.9s ease-out both dust-puff}@keyframes dust-puff{0%{opacity:.9;transform:scale(.3)}to{opacity:0;transform:scale(1.5)}}.modal{animation:.15s ease-out modal-in}@keyframes modal-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.toolbar-stat.rank-up{animation:1.6s ease-out rank-up}.toolbar-stat.rank-down{animation:1.6s ease-out rank-down}@keyframes rank-up{0%,40%{box-shadow:0 0 0 4px var(--green)}to{box-shadow:0 0 #0000}}@keyframes rank-down{0%,40%{box-shadow:0 0 0 4px var(--danger-ink)}to{box-shadow:0 0 #0000}}.toolbar-funds-btn .money-negative{animation:.9s ease-out red-pulse;display:inline-block}@keyframes red-pulse{0%{transform:scale(1)}30%{transform:scale(1.18)}to{transform:scale(1)}}.modal[data-interrupt=specialization]>p{max-width:72ch}.spec-cards{gap:var(--space-12);margin:var(--space-12) 0;grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.spec-card{gap:var(--space-8);padding:var(--space-12);background:var(--cream-hi);border:2px solid var(--outline);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);flex-direction:column;min-width:0;display:flex}.spec-card-head h3{font-family:var(--display);font-weight:800;font-size:var(--text-lg);margin:2px 0 0;line-height:1.2}.spec-card-pillar{font-family:var(--display);font-weight:800;font-size:var(--text-2xs);letter-spacing:.08em;text-transform:uppercase;color:var(--school-primary)}.spec-card .spec-card-worth{font-family:var(--display);font-weight:800;font-size:var(--text-md);color:var(--school-primary);margin:4px 0 0}.spec-card-lines{font-size:var(--text-sm);margin:0;padding-left:16px;line-height:1.4;list-style:outside}.spec-card-lines li+li{margin-top:3px}.spec-card-foot{gap:var(--space-8);padding-top:var(--space-8);border-top:1px solid var(--parchment-line);margin-top:auto;display:grid}.spec-card .spec-card-compare{font-size:var(--text-sm);margin:0;font-weight:700}.spec-card-more{font-size:var(--text-sm);line-height:1.4}.spec-card-more ul{color:var(--ink-muted);margin:0 0 4px;padding-left:16px;list-style:outside}.spec-card-more li+li{margin-top:3px}.spec-card-more p{font-size:inherit;margin:0 0 4px}.spec-card-more li.spec-card-park{font-style:italic}.spec-card .spec-card-toggle{align-self:flex-start;align-items:center;gap:var(--space-2);box-shadow:none;color:var(--school-primary);padding:0 var(--space-2);font-family:var(--display);font-size:var(--text-xs);background:0 0;border:none;display:inline-flex}.spec-strongest,.spec-card-yours{font-weight:700}.spec-card .confirm-button{gap:6px;display:grid}.spec-card-choose{width:100%;padding:var(--space-8) var(--space-12)}.spec-card .confirm-button{align-items:stretch}.spec-later{align-items:center;gap:var(--space-8);font-size:var(--text-sm);color:var(--ink-muted);flex-wrap:wrap;display:flex}.specialization-status{margin:0 0 var(--space-8)}.history-views{display:flex}.history-views .segmented.switch{min-width:min(100%,420px)}.pillar-rule{margin:0 0 var(--space-8)}@media (width<=1100px){.spec-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.spec-cards{grid-template-columns:minmax(0,1fr)}}
