:root{color-scheme:light;-webkit-text-size-adjust:100%;text-size-adjust:100%;--bg: #f8f0ea;--surface: #f1e5dd;--surface-strong: #fffaf6;--surface-mix: color-mix(in srgb, var(--surface) 60%, white);--thead: #eed9cb;--hover: #f3e2d6;--active: #eed8c9;--row-bg: rgba(255, 250, 246, .45);--soft-good: #e1ecde;--soft-bad: #f5dad3;--soft-warn: #f3e4c4;--soft-alert: #f6ddc8;--soft-neutral: #eee0d5;--ink: #4d281a;--muted: #786257;--line: #dccabd;--accent: #c2452e;--accent-2: #1b3a6b;--good: #2a6a4a;--bad: #9c3527;--warn: #b08820;--alert: #bd5a22;--shadow: 0 8px 24px rgba(33, 26, 20, .08);--score-gradient: linear-gradient(135deg, #c2452e, #8c2f1b);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px;--space-9: 96px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}:root[data-theme=dark]{color-scheme:dark;--bg: #11100e;--surface: #191816;--surface-strong: #22201d;--surface-mix: #181715;--thead: #25221e;--hover: #28251f;--active: #2e281f;--row-bg: rgba(255, 255, 255, .025);--soft-good: rgba(130, 169, 126, .16);--soft-bad: rgba(196, 117, 103, .17);--soft-warn: rgba(191, 154, 91, .17);--soft-alert: rgba(210, 150, 95, .18);--soft-neutral: rgba(197, 190, 176, .12);--ink: #eee8dc;--muted: #a59d90;--line: #3a352d;--accent: #d2a86f;--accent-2: #9fb0a3;--good: #95c18f;--bad: #dc8c7d;--warn: #eab64f;--alert: #e0965b;--shadow: 0 8px 24px rgba(0, 0, 0, .22);--score-gradient: linear-gradient(135deg, #2c2923, #705835)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{margin:0;min-width:320px;background:var(--bg);color:var(--ink)}:root[data-theme=dark] body{background:radial-gradient(circle at top left,rgba(210,168,111,.05),transparent 32rem),var(--bg)}button,input,select{font:inherit}button{cursor:pointer}.app-shell{width:min(1760px,100%);margin:0 auto;padding:var(--space-5) var(--space-6) 96px}.preview-banner,.preview-fab{position:fixed;left:50%;z-index:35;transform-origin:bottom center;--warn: var(--accent)}.preview-banner,.preview-fab{bottom:calc(env(safe-area-inset-bottom,0px) + 72px)}@media(min-width:921px){.preview-banner,.preview-fab{bottom:18px}}.preview-banner{display:flex;align-items:center;gap:10px;width:min(380px,calc(100vw - 28px));height:92px;transform:translate(-50%);padding:10px 14px;border-radius:14px;background:color-mix(in srgb,var(--warn) 22%,var(--surface-strong));border:1.5px solid var(--warn);box-shadow:0 10px 28px #00000047;flex-wrap:wrap;font-size:.85rem;opacity:1;overflow:hidden;transition:border-radius 90ms ease 0ms,width .25s cubic-bezier(.25,.46,.45,.94) 90ms,height .25s cubic-bezier(.25,.46,.45,.94) 90ms,background .2s ease 90ms,border-color .2s ease 90ms,box-shadow .2s ease 90ms;will-change:width,height,border-radius}@media(min-width:921px){.preview-banner{height:74px}}.preview-banner.is-inactive{width:130px;height:36px;border-radius:999px;background:color-mix(in srgb,var(--warn) 55%,transparent);border-color:color-mix(in srgb,var(--warn) 75%,transparent);box-shadow:0 6px 16px #00000038;pointer-events:none;transition:width .25s cubic-bezier(.25,.46,.45,.94) 0ms,height .25s cubic-bezier(.25,.46,.45,.94) 0ms,border-radius 90ms ease .25s,background .2s ease,border-color .2s ease,box-shadow .2s ease}.preview-banner>*{transition:opacity 80ms ease .24s}.preview-banner.is-inactive>*{opacity:0;transition:opacity 70ms ease 0ms}.preview-banner-text{display:inline-flex;align-items:center;gap:8px;flex:1 1 100%;min-width:0;font-weight:800;color:var(--ink)}.preview-banner-icon{flex-shrink:0;color:color-mix(in srgb,var(--warn) 65%,var(--ink))}.preview-banner-actions{display:flex;gap:6px;flex-wrap:wrap;width:100%}.preview-banner-actions .ghost-button{padding:5px 12px;font-size:.78rem;background:var(--surface-strong);border-color:color-mix(in srgb,var(--warn) 55%,var(--line));color:var(--ink);font-weight:800;flex:1 1 auto}.preview-banner-hide-link{background:transparent;border:none;color:color-mix(in srgb,var(--ink) 70%,transparent);font-size:.78rem;font-weight:700;padding:5px 8px;cursor:pointer;text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--ink) 40%,transparent);text-underline-offset:3px;flex:0 0 auto}.preview-banner-hide-link:hover{color:var(--ink);text-decoration-color:var(--ink)}.preview-fab{display:inline-flex;align-items:center;justify-content:center;gap:6px;transform:translate(-50%);width:130px;height:36px;padding:0;border-radius:999px;background:color-mix(in srgb,var(--warn) 55%,transparent);color:#fff;border:1.5px solid color-mix(in srgb,var(--warn) 75%,transparent);font-size:.78rem;font-weight:800;letter-spacing:.02em;cursor:pointer;box-shadow:0 6px 16px #00000038;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);opacity:1;overflow:hidden;transition:opacity 80ms ease .26s,background .15s ease}.preview-fab.is-inactive{opacity:0;pointer-events:none;transition:opacity 70ms ease 0ms}.preview-fab:hover:not(.is-inactive){background:color-mix(in srgb,var(--warn) 78%,transparent)}:root[data-theme=dark] .preview-fab{color:var(--bg)}@media(prefers-reduced-motion:reduce){.preview-banner,.preview-fab{transition:opacity 0ms,transform 0ms,visibility 0s}}.app-topbar{position:relative;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-6);padding:var(--space-4) 0 var(--space-2);background:transparent}.app-brand{display:inline-flex;align-items:center;gap:.4em;min-width:0;text-decoration:none;color:inherit;outline:none}.app-brand-logo{height:clamp(1.1rem,2vw,1.4rem);width:auto;flex:0 0 auto;color:var(--ink)}.app-brand:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:4px}.app-topbar-left{display:flex;align-items:baseline;gap:var(--space-2);min-width:0;flex:1 1 auto}.profile-chip{position:relative;display:inline-flex;align-items:center;gap:0;min-width:0}.profile-chip-sep{display:none}.profile-chip-button{display:inline-flex;align-items:center;gap:var(--space-2);min-height:36px;border:1px solid var(--line);background:color-mix(in srgb,var(--surface-strong) 82%,transparent);padding:0 11px;border-radius:999px;color:var(--ink);font-size:.86rem;font-weight:750;letter-spacing:-.005em;cursor:pointer;max-width:190px;box-shadow:inset 0 1px #ffffff2e;transition:border-color .16s ease,color .16s ease,background .16s ease,transform .16s ease}.profile-chip-button:hover,.profile-chip-button:focus-visible,.profile-chip-button.open{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 50%,var(--line));background:var(--active);outline:none}.topbar-edit-profile{display:inline-flex;align-items:center;min-height:36px;border:1px solid var(--line);background:color-mix(in srgb,var(--surface-strong) 82%,transparent);padding:0 13px;border-radius:999px;color:var(--ink);font-size:.86rem;font-weight:750;letter-spacing:-.005em;cursor:pointer;white-space:nowrap;box-shadow:inset 0 1px #ffffff2e;transition:border-color .16s ease,color .16s ease,background .16s ease}.topbar-edit-profile:hover,.topbar-edit-profile:focus-visible{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 50%,var(--line));background:var(--active);outline:none}.profile-chip-button:active{transform:translateY(1px)}.profile-chip-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.profile-chip-button svg{flex-shrink:0;opacity:.7}.profile-chip-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:60;min-width:220px;padding:6px;background:var(--surface-strong);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 32px #0000002e;display:flex;flex-direction:column;gap:1px}.profile-chip-section-title{margin:4px 8px;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.profile-chip-item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);text-align:left;border:0;background:transparent;padding:8px 10px;border-radius:8px;color:var(--ink);font-size:.88rem;font-weight:500;cursor:pointer;transition:background .14s ease}.profile-chip-item:hover:not(:disabled),.profile-chip-item:focus-visible{background:color-mix(in srgb,var(--ink) 6%,transparent);outline:none}.profile-chip-item.is-active{color:var(--accent);font-weight:700}.profile-chip-item.is-danger{color:var(--bad)}.profile-chip-item.is-danger:hover:not(:disabled),.profile-chip-item.is-danger:focus-visible{background:var(--soft-bad)}.profile-chip-item:disabled{opacity:.4;cursor:not-allowed}.profile-chip-divider{border:0;border-top:1px solid var(--line);margin:6px 4px}.app-brand-name{font-family:Times New Roman,"Source Serif Pro",ui-serif,Georgia,serif;font-size:clamp(1.6rem,3vw,2.1rem);font-weight:800;line-height:1;letter-spacing:-.02em;color:var(--ink);white-space:nowrap}.app-brand-year{color:var(--accent);margin-left:.18em}.panel{border:1px solid var(--line);background:var(--surface-mix);box-shadow:var(--shadow)}.eyebrow{color:var(--muted)}.app-topbar-actions{display:inline-flex;gap:var(--space-2);align-items:center;justify-content:flex-end}.topbar-link{appearance:none;border:0;background:transparent;padding:8px 10px;border-radius:8px;color:var(--muted);font-size:.86rem;font-weight:600;letter-spacing:.01em;cursor:pointer;transition:color .16s ease,background .16s ease}.topbar-link:hover,.topbar-link:focus-visible{color:var(--ink);background:color-mix(in srgb,var(--ink) 6%,transparent);outline:none}.topbar-icon{display:inline-grid;place-items:center;width:36px;height:36px;flex:0 0 auto;border-radius:10px;border:0;background:transparent;color:var(--muted);cursor:pointer;text-decoration:none;transition:color .16s ease,background .16s ease,transform .16s ease}.topbar-icon:hover,.topbar-icon:focus-visible{color:var(--ink);background:color-mix(in srgb,var(--ink) 6%,transparent);outline:none}.topbar-icon:active{transform:scale(.94)}.topbar-settings{position:relative;display:inline-flex}.settings-popover{position:absolute;top:calc(100% + 8px);right:0;z-index:60;display:flex;flex-direction:row;gap:2px;padding:4px;border:1px solid var(--line);border-radius:12px;background:var(--surface-strong);box-shadow:var(--shadow)}.settings-popover .topbar-icon{color:var(--ink)}.settings-popover .topbar-icon:hover,.settings-popover .topbar-icon:focus-visible{background:color-mix(in srgb,var(--ink) 8%,transparent)}.lang-toggle{display:inline-flex;align-items:center;justify-content:center;gap:2px;font-size:.82rem;font-weight:800;letter-spacing:.01em;position:relative}.lang-toggle-current{line-height:1}.lang-toggle-swap{position:absolute;bottom:3px;right:3px;width:8px;height:8px;opacity:.55;transition:opacity .16s ease,transform .2s ease}.lang-toggle:hover .lang-toggle-swap,.lang-toggle:focus-visible .lang-toggle-swap{opacity:1;transform:rotate(180deg)}.theme-icon[aria-pressed=true]{color:var(--accent)}.about-backdrop{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:var(--space-4);background:#11100e6b;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.about-panel{width:min(560px,100%);border:1px solid var(--line);border-radius:28px;padding:var(--space-5);background:var(--surface-strong);box-shadow:var(--shadow)}.about-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-3)}.about-panel h2{margin:0;font-size:2rem;letter-spacing:-.04em}.about-panel p{margin:0 0 var(--space-4);color:var(--muted);line-height:1.55}.icon-button{width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--ink);font-size:1.5rem;line-height:1}.about-note-grid{display:grid;gap:var(--space-3)}.about-note-grid article{display:grid;gap:4px;padding:var(--space-3);border:1px solid var(--line);border-radius:16px;background:var(--surface)}.about-note-grid strong{color:var(--ink)}.about-note-grid span{color:var(--muted);font-size:.92rem;line-height:1.45}.eyebrow{margin:0 0 var(--space-2);text-transform:uppercase;letter-spacing:.06em;font-size:.74rem;font-weight:800}.workspace{display:grid;grid-template-columns:330px minmax(620px,1fr) 430px;gap:var(--space-4);align-items:start;overflow-anchor:none}.desktop-workspace{display:grid;grid-template-columns:minmax(280px,340px) minmax(560px,1fr) minmax(340px,400px);gap:var(--space-3);align-items:start}@media(min-width:921px)and (max-width:1280px){.desktop-workspace{grid-template-columns:minmax(280px,320px) minmax(0,1fr)}.desktop-detail-column{grid-column:1 / -1}}.desktop-grade-column,.desktop-programme-column,.desktop-detail-column{min-width:0}.desktop-grade-column{position:sticky;top:var(--space-4);max-height:calc(100vh - var(--space-4) - 24px);overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-4)}.desktop-planner-wrap{display:flex;flex-direction:column}.preference-planner-panel{padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.preference-planner-panel .planner-heading h2{font-size:1.05rem;margin:2px 0 4px}.preference-planner-panel .planner-subtitle{margin:0;font-size:.78rem;color:var(--muted);line-height:1.4}.planner-table-panel{display:flex;flex-direction:column;gap:var(--space-3)}.planner-table-scroll{overflow-x:auto;margin:0 calc(var(--space-4) * -1);padding:0 var(--space-4)}.planner-table{--planner-cols: 28px 70px 50px minmax(140px, 2fr) 70px 60px 60px 60px 60px 44px 32px auto;min-width:720px;display:grid;grid-template-columns:var(--planner-cols);row-gap:2px;align-items:stretch}.planner-row{display:contents}.planner-row>*{display:flex;align-items:center;padding:6px;font-size:.78rem;line-height:1.18;background:var(--surface-strong);border-top:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0}.planner-row>*:first-child{border-left:1px solid var(--line);border-radius:8px 0 0 8px}.planner-row>*:last-child{border-right:1px solid var(--line);border-radius:0 8px 8px 0}.planner-row.planner-row-head>*{background:transparent;border:none;font-size:.62rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:4px 6px}.planner-row.empty>*{background:transparent;border-top-style:dashed;border-bottom-style:dashed;color:var(--muted)}.planner-row.empty>*:first-child{border-left-style:dashed}.planner-row.empty>*:last-child{border-right-style:dashed}.planner-row.active>*{background:var(--active);border-color:var(--accent)}.cell-slot{justify-content:center;font-weight:900;color:var(--muted);font-size:.76rem;letter-spacing:.04em}.planner-row.active .cell-slot{color:var(--accent)}.cell-code{font-weight:800;color:var(--ink);letter-spacing:.02em}.cell-code-link{background:none;border:none;padding:6px;cursor:pointer;color:var(--ink);font-weight:800;letter-spacing:.02em;text-align:left}.cell-code-link.active,.cell-code-link:hover{color:var(--accent)}.cell-inst{font-weight:700;color:var(--ink)}.cell-programme{color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cell-formula{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cell-bench{flex-direction:column;align-items:flex-end;gap:1px;text-align:right;font-weight:700;color:var(--ink)}.cell-bench b{font-weight:800}.cell-bench .delta{font-size:.66rem;font-weight:700;font-style:normal;line-height:1}.cell-bench .delta.pos{color:var(--good)}.cell-bench .delta.neg{color:var(--bad)}.cell-score{justify-content:flex-end;font-weight:900;color:var(--accent);text-align:right}.cell-quota{justify-content:flex-end;color:var(--ink)}.cell-elig{justify-content:center;font-weight:900}.cell-elig.pass{color:var(--good)}.cell-elig.fail{color:var(--bad)}.cell-actions{display:flex;gap:2px;padding:4px 6px}.empty-row-preview{color:var(--accent);font-weight:700}.empty-row-hint{color:var(--muted)}.empty-row-error{color:var(--bad);font-weight:700}.slot-input-btn-inline{padding:2px 8px;border:1px solid var(--accent);border-radius:6px;background:transparent;color:var(--accent);font-size:.7rem;font-weight:800;cursor:pointer}.slot-input-btn-inline:hover{background:color-mix(in srgb,var(--accent) 12%,transparent)}.slot-input{width:100%;padding:4px 6px;border:1px solid var(--line);border-radius:6px;background:var(--surface-strong);color:var(--ink);font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.slot-input::placeholder{color:color-mix(in srgb,var(--muted) 70%,transparent);letter-spacing:.04em;text-transform:none;font-weight:600}.slot-input:focus{outline:none;border-color:var(--accent)}.slot-input.has-error{border-color:var(--bad)}.slot-input-side{flex:1 1 auto;min-width:0;font-size:.74rem;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.slot-input-side.preview{color:var(--accent);font-weight:700}.slot-input-side.hint{color:var(--muted)}.slot-input-side.error{color:var(--bad);font-weight:700}.slot-input-btn{flex:0 0 auto;padding:4px 10px;border:1px solid var(--line);border-radius:8px;background:transparent;color:var(--ink);font-size:.74rem;font-weight:800;cursor:pointer;transition:border-color .12s ease,color .12s ease}.slot-input-btn:not(:disabled):hover{border-color:var(--accent);color:var(--accent)}.slot-input-btn:disabled{opacity:.4;cursor:not-allowed}.planner-add-slot{margin-top:var(--space-2);align-self:stretch;padding:6px 12px;border:1px dashed var(--line);border-radius:10px;background:transparent;color:var(--muted);font-size:.8rem;font-weight:700;cursor:pointer;transition:border-color .14s ease,color .14s ease}.planner-add-slot:hover{border-color:var(--accent);color:var(--accent)}.planner-slot-code{font-size:.78rem;font-weight:800;color:var(--ink);letter-spacing:.02em}.planner-slot-name{font-size:.8rem;color:var(--ink);line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.planner-slot-meta{font-size:.72rem;color:var(--muted)}.planner-slot-actions{display:flex;align-items:center;gap:2px}.planner-icon-btn{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--muted);font-size:.7rem;cursor:pointer;padding:0;line-height:1}.planner-icon-btn:disabled{opacity:.3;cursor:not-allowed}.planner-icon-btn:not(:disabled):hover{border-color:var(--line);background:var(--surface-mix);color:var(--ink)}.planner-icon-btn.planner-remove:not(:disabled):hover{color:#c2410c;border-color:#fed7aa;background:#fff7ed}.desktop-grade-column .grade-panel:not(.mobile-collapsed) .mobile-collapse-toggle{display:none}.desktop-grade-column .grade-panel.mobile-collapsed .mobile-collapse-toggle{display:inline-flex}.desktop-grade-column .grade-footer-actions{display:flex;gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap}.desktop-grade-column .grade-footer-actions .grade-reset-button,.desktop-grade-column .grade-footer-actions .done-button{flex:1 1 0;display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 var(--space-3);font-size:.86rem;font-weight:800;border-radius:12px;cursor:pointer}.desktop-grade-column .grade-footer-actions .done-button{border:1px solid var(--accent);background:var(--accent);color:var(--bg)}.desktop-grade-column .grade-footer-actions .done-button:hover{filter:brightness(.95)}.desktop-grade-column .grade-footer-actions .grade-reset-button{border:1px solid var(--line);background:transparent;color:var(--muted);font-weight:700}.desktop-grade-column .grade-footer-actions .grade-reset-button:hover{border-color:var(--bad);color:var(--bad)}:root[data-theme=dark] .desktop-grade-column .grade-footer-actions .done-button{color:#15120f}.desktop-grade-column .grade-panel.mobile-collapsed .grade-panel-body{display:none}.desktop-grade-column .grade-panel.mobile-collapsed .grade-summary{display:flex;margin-top:var(--space-3);border:1px solid var(--line);border-radius:16px;background:var(--row-bg);padding:var(--space-3);flex-direction:column;gap:var(--space-2)}.desktop-programme-column{min-height:calc(100vh - 180px)}.desktop-programme-column .filters-topline{grid-template-columns:1fr;align-items:start;gap:var(--space-3)}.desktop-programme-column .filters-controls{grid-template-columns:minmax(0,1fr) auto auto}.desktop-programme-column .search-row{min-width:0}.desktop-detail-column{position:sticky;top:var(--space-4);min-width:0;max-height:calc(100vh - var(--space-4) - 88px);overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-3)}.desktop-empty-detail{min-height:300px}.desktop-empty-detail p:not(.eyebrow){color:var(--muted);line-height:1.5}.advisor-empty{padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-3)}.advisor-empty h2{font-size:1.15rem}.advisor-empty .advisor-empty-lede{color:var(--muted);line-height:1.5;margin:0}.advisor-empty-heading{font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:var(--space-2) 0 var(--space-1)}.advisor-empty-list{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:6px;color:var(--ink);font-size:.88rem;line-height:1.5}.advisor-empty-footnote{margin:0;font-size:.78rem;color:var(--muted);border-top:1px solid var(--line);padding-top:var(--space-3)}.mobile-welcome{position:fixed;inset:0;z-index:300;overflow-y:auto;display:flex;flex-direction:column;padding:var(--space-5) var(--space-5) var(--space-7);background:radial-gradient(125% 65% at 50% -12%,color-mix(in srgb,var(--accent) 13%,transparent),transparent 62%),var(--bg);color:var(--ink);transition:transform .46s cubic-bezier(.4,0,.2,1)}.mobile-welcome.is-exiting{transform:translateY(-100%);pointer-events:none}@media(prefers-reduced-motion:reduce){.mobile-welcome{transition:none}}.welcome-topbar{display:flex;align-items:center;justify-content:flex-end}.welcome-topbar-controls{display:inline-flex;align-items:center;gap:8px}.welcome-brand{display:flex;align-items:center;justify-content:center;gap:12px;margin:4px 0 16px}.welcome-logo{width:46px;height:46px;flex:0 0 auto}.welcome-brand .app-brand-name{font-size:1.5rem;font-weight:800;letter-spacing:-.025em}.welcome-body{flex:1;display:flex;flex-direction:column;justify-content:center;gap:var(--space-5);width:100%;max-width:30rem;margin:0 auto}.welcome-hero{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);text-align:center}.welcome-headline{font-size:clamp(1.55rem,6.4vw,2.05rem);line-height:1.12;letter-spacing:-.02em;font-weight:800;margin:0;text-wrap:balance}.welcome-accent{color:var(--accent)}.welcome-sub{color:var(--muted);line-height:1.55;margin:0;font-size:1.02rem;max-width:26rem}.welcome-peek{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--line);border-radius:18px;background:var(--surface-strong);box-shadow:0 20px 44px -26px #1d2a2f80}.welcome-peek-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2)}.welcome-peek-label{font-size:.7rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--ink)}.welcome-peek-note{font-size:.68rem;font-weight:600;color:var(--muted)}.welcome-peek-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.welcome-peek-list li{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:var(--space-3);padding:9px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.welcome-peek-slot{font-weight:900;font-size:.78rem;color:var(--muted);font-variant-numeric:tabular-nums}.welcome-peek-prog{font-weight:700;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.welcome-peek-tag{font-size:.72rem;font-weight:900;padding:3px 10px;border-radius:999px;white-space:nowrap}.welcome-peek-tag.good{background:var(--soft-good);color:var(--good)}.welcome-peek-tag.warn{background:var(--soft-warn);color:var(--warn)}.welcome-peek-tag.alert{background:var(--soft-alert);color:var(--alert)}.welcome-showcase{display:flex;flex-direction:column;gap:var(--space-3);width:100%}.welcome-track{display:flex;--welcome-slide-w: 80%;--welcome-slide-gap: var(--space-4);gap:var(--welcome-slide-gap);overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;scroll-behavior:smooth;padding:6px 0 10px}.welcome-track::-webkit-scrollbar{display:none}.welcome-track:before,.welcome-track:after{content:"";flex:0 0 calc((100% - var(--welcome-slide-w)) / 2 - var(--welcome-slide-gap))}.welcome-slide{flex:0 0 var(--welcome-slide-w);scroll-snap-align:center;scroll-snap-stop:always;display:flex;flex-direction:column;gap:var(--space-2)}.welcome-slide .welcome-peek{min-height:158px;justify-content:flex-start}.welcome-slide-cap{text-align:center;color:var(--muted);font-size:.82rem;font-weight:600;margin:0}.welcome-dots{display:flex;justify-content:center;gap:7px}.welcome-dots button{width:7px;height:7px;padding:0;border:0;border-radius:999px;background:var(--line);cursor:pointer;transition:background .2s ease,width .2s ease}.welcome-dots button.is-active{background:var(--accent);width:18px}.welcome-gauge{display:flex;flex-direction:column;gap:8px;padding:8px 2px 0}.welcome-gauge-track{position:relative;height:8px;border-radius:999px;background:var(--line)}.welcome-gauge-fill{position:absolute;inset:0 auto 0 0;border-radius:999px;background:linear-gradient(90deg,color-mix(in srgb,var(--good) 45%,var(--surface)),var(--good))}.welcome-gauge-dot{position:absolute;top:50%;width:15px;height:15px;border-radius:999px;background:var(--accent);border:2px solid var(--surface-strong);transform:translate(-50%,-50%);box-shadow:0 1px 5px #00000040}.welcome-gauge-ticks{display:flex;justify-content:space-between;font-size:.64rem;font-weight:800;letter-spacing:.04em;color:var(--muted)}.welcome-gauge-score{font-size:.84rem;color:var(--muted)}.welcome-gauge-score strong{font-size:1.15rem;font-weight:900;color:var(--ink)}.welcome-chips{display:flex;flex-wrap:wrap;gap:6px}.welcome-chips span{font-size:.72rem;font-weight:700;padding:4px 9px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink)}.welcome-bigstat{margin-top:auto;font-size:.84rem;color:var(--muted);line-height:1.4}.welcome-bigstat strong{font-size:1.4rem;font-weight:900;color:var(--accent);margin-right:4px}.welcome-actions{display:flex;flex-direction:column;gap:var(--space-3);align-items:stretch;width:100%}.welcome-cta{width:100%;min-height:52px;font-size:1rem}.welcome-footnote{text-align:center;color:var(--muted);font-size:.78rem;margin:0}.welcome-footnote a{color:var(--accent);text-decoration:none}.strategy-summary{padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.strategy-summary .strategy-heading h2{font-size:1rem;margin:2px 0 0}.strategy-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:6px}.strategy-cell{border:1px solid var(--line);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:4px;background:var(--surface-strong)}.strategy-label{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.strategy-value{font-size:.88rem;color:var(--ink);line-height:1.35}.strategy-cell.tone-good{border-color:#bbf7d0;background:#f0fdf4}:root[data-theme=dark] .strategy-cell.tone-good{border-color:#14532d;background:#22c55e1a}.strategy-cell.tone-warn{border-color:#fed7aa;background:#fff7ed}:root[data-theme=dark] .strategy-cell.tone-warn{border-color:#7c2d12;background:#f973161a}.strategy-footnote{margin:0;font-size:.78rem;color:var(--muted)}.detail-outlink{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border:1px dashed var(--line);border-radius:999px;background:transparent;color:var(--muted);font-size:.72rem;font-weight:700;text-decoration:none;cursor:not-allowed}.detail-outlink[aria-disabled=true]:hover{border-style:dashed;color:var(--muted)}.planner-share{margin-top:var(--space-2);display:flex;justify-content:stretch}.planner-share>*{width:100%;justify-content:center}.left-rail,.detail-panel{position:sticky;top:var(--space-5)}.panel{border-radius:26px;padding:var(--space-5);overflow:hidden}.panel h2{margin:0;letter-spacing:-.02em}.panel h3{margin:0 0 var(--space-5);letter-spacing:-.02em}.step-title-content h2,.filters-title h2,.share-panel-heading .step-title-content h2{font-family:Iowan Old Style,"Source Serif Pro",Charter,Georgia,Times New Roman,serif;font-size:1.36rem;line-height:1.1;letter-spacing:-.015em}.grade-panel .panel-heading{margin-bottom:var(--space-5)}.panel-heading,.filters-topline,.detail-header{display:flex;flex-wrap:wrap;gap:var(--space-4);justify-content:space-between;align-items:flex-start}.panel-heading>.grade-title-summary{flex:1 1 100%;margin-top:var(--space-2)}.grade-actions{display:flex;gap:var(--space-2)}.profile-action-row{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center;margin-bottom:var(--space-5);padding-bottom:var(--space-4);border-bottom:1px solid var(--line)}.profile-switcher{display:flex;gap:var(--space-2);align-items:center}.profile-switcher select{min-height:36px;padding:0 var(--space-2);border-radius:12px;font-size:.82rem;width:auto}.profile-switcher .ghost-button,.share-button{padding:var(--space-2) var(--space-3);font-size:.8rem;min-height:36px}.share-button.copied{border-color:var(--good);color:var(--good)}.step-title-content{min-width:0}.grade-title-summary{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:var(--space-1);grid-column:1 / -1;margin-top:var(--space-3);color:var(--muted);font-size:.78rem;line-height:1.35;min-width:0;max-width:100%}.grade-summary-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-1);min-width:0;overflow:hidden;border:1px solid color-mix(in srgb,var(--line) 78%,transparent);border-radius:12px;background:var(--row-bg);padding:var(--space-2) 2px;color:var(--muted);text-align:center}.grade-summary-cell b{display:block;width:100%;overflow:visible;text-overflow:unset;white-space:nowrap;font-size:.58rem;line-height:1;text-transform:uppercase;letter-spacing:0;text-align:center}.grade-summary-cell b.compact-label{font-size:.53rem}.grade-summary-cell em{display:block;width:100%;color:color-mix(in srgb,var(--muted) 70%,transparent);font-style:normal;font-size:.92rem;line-height:1.1;font-weight:900;text-align:center}.grade-summary-cell.filled{border-color:color-mix(in srgb,var(--accent) 38%,var(--line));background:var(--active);color:var(--accent)}.grade-summary-cell.filled em{color:var(--accent)}.mobile-collapse-toggle,.grade-summary,.done-button,.grade-reset-button{display:none}.grade-footer-actions{display:flex}.ghost-button,.pill{border:1px solid var(--line);border-radius:12px;background:var(--surface-strong);color:var(--ink);padding:var(--space-2) var(--space-3)}.pill.active{border-color:var(--accent);background:var(--active);color:var(--accent)}@media(hover:hover)and (pointer:fine){.ghost-button:hover,.pill:hover{border-color:var(--accent);background:var(--active);color:var(--accent)}}.grade-grid,.elective-block{display:grid;gap:var(--space-5)}.grade-grid{margin-top:var(--space-5)}.field,.search-field{display:grid;gap:var(--space-2);color:var(--muted);font-size:.9rem}.field>span,.search-field>span,.filter-label-text{font-size:.82rem;font-weight:850;letter-spacing:.01em}.grade-buttons{display:flex;gap:var(--space-1);overflow-x:visible}.grade-buttons.compact{display:flex}.grade-chip{flex:1 1 0;min-width:0;min-height:32px;border:1px solid var(--line);border-radius:9px;background:var(--surface-strong);color:var(--muted);padding:0 var(--space-1);font-size:.78rem;font-weight:900;white-space:nowrap;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:transform .12s ease,border-color .12s ease,background .12s ease,color .12s ease}.grade-chip.active{border-color:var(--accent);background:var(--active);color:var(--accent)}@media(hover:hover)and (pointer:fine){.grade-chip:hover:not(:disabled){border-color:var(--accent);background:var(--active);color:var(--accent)}}.grade-chip:disabled{cursor:not-allowed;opacity:.38}.grade-chip:active:not(:disabled){transform:scale(.96)}.grade-chip:focus{outline:none}.grade-chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}select,input{width:100%;min-height:42px;border:1px solid var(--line);border-radius:12px;background-color:var(--surface-strong);color:var(--ink);padding:0 var(--space-3)}select{padding-right:var(--space-6);font-weight:400;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23888' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3) center}[data-theme=dark] select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23aaa' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}.elective-block{margin-top:var(--space-5)}.grade-section-title,.elective-block h3{font-size:1rem;font-weight:850;color:var(--ink);margin:0}.grade-section-divider{border:none;border-top:1px solid var(--line);margin:var(--space-5) 0}.elective-row{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-2)}.main-column{display:grid;gap:0}.step2-panel{display:grid;gap:0;padding:0;overflow:clip}.filters-panel{display:grid;gap:var(--space-4);padding:0 var(--space-5) var(--space-6);scroll-margin-top:var(--space-3)}.filters-sticky-group{display:contents}.filters-topline{display:grid;grid-template-columns:minmax(0,.85fr) minmax(360px,1.15fr);align-items:end;padding:var(--space-5) var(--space-5) 0}.filters-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-3);align-items:end}.filters-topline p{margin:var(--space-1) 0 0;color:var(--muted)}.search-row{display:flex;align-items:center;gap:var(--space-2)}.search-row .search-field{flex:1;min-width:0}.search-field input{padding-right:var(--space-6);font-weight:400;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Ccircle cx='6.5' cy='6.5' r='5' stroke='%23888' stroke-width='1.75' stroke-linecap='round'/%3E%3Cpath d='M10.5 10.5L14 14' stroke='%23888' stroke-width='1.75' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3) center}[data-theme=dark] .search-field input{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Ccircle cx='6.5' cy='6.5' r='5' stroke='%23aaa' stroke-width='1.75' stroke-linecap='round'/%3E%3Cpath d='M10.5 10.5L14 14' stroke='%23aaa' stroke-width='1.75' stroke-linecap='round'/%3E%3C/svg%3E")}.filters-title-count,.search-count{grid-column:1 / -1;margin:var(--space-2) 0 0;font-size:.78rem;color:var(--muted)}.search-field{width:100%}.filter-toggle,.compact-toggle{display:none;position:relative;width:42px;height:42px;flex-shrink:0;border:1px solid var(--line);border-radius:12px;background:var(--surface-strong);color:var(--muted);padding:0;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .16s ease,color .16s ease}.compact-toggle{width:auto;gap:var(--space-2);padding:0 var(--space-3);font-size:.82rem;font-weight:850}.filter-badge{position:absolute;top:-5px;right:-5px;width:16px;height:16px;border-radius:50%;background:var(--accent);color:#fff;font-size:.6rem;font-weight:700;display:flex;align-items:center;justify-content:center;pointer-events:none}.filter-toggle.active,.compact-toggle.active{border-color:var(--accent);background:var(--active);color:var(--accent)}.selection-actions{display:inline-flex;gap:var(--space-2);align-items:center}.review-selected-button,.reset-selected-button{min-height:42px;border-radius:14px;padding:0 var(--space-4);font-weight:950;white-space:nowrap}.review-selected-button{border:1px solid var(--accent);background:var(--accent);color:var(--bg)}.reset-selected-button{border:1px solid var(--line);background:var(--surface-strong);color:var(--muted)}:root[data-theme=dark] .review-selected-button{color:#15120f}.institution-filter-group{display:grid;gap:var(--space-2)}.institution-pills{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--space-2)}.pill{padding:var(--space-2) var(--space-3);font-size:.86rem;font-weight:800;text-align:center}.institution-reset{justify-self:start}.advanced-filters{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:var(--space-2)}.score-range-filter{display:flex;align-items:center;gap:var(--space-2);min-width:0}.score-range-filter select{width:100%}.selected-only-filter{color:var(--muted)}.results-panel{padding:0;overflow:hidden;overflow-anchor:none}.filter-notice{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 72px);transform:translate(-50%);z-index:34;width:min(420px,calc(100vw - 28px));display:flex;flex-direction:column;gap:8px;padding:12px 14px;border-radius:14px;background:var(--surface-strong);border:1px solid color-mix(in srgb,var(--warn) 40%,var(--line));box-shadow:0 10px 28px #1d2a2f2e;font-size:.78rem;line-height:1.4;color:var(--ink)}@media(min-width:921px){.filter-notice{bottom:18px}}.filter-notice-text{margin:0;display:flex;align-items:flex-start;gap:8px}.filter-notice-icon{flex:0 0 auto;margin-top:1px;color:var(--warn)}.filter-notice-actions{display:flex;justify-content:flex-end;gap:var(--space-4)}.filter-notice-link{border:none;background:transparent;padding:2px;font-size:.78rem;font-weight:800;color:var(--muted);cursor:pointer}.filter-notice-link:hover{color:var(--ink)}.filter-notice-link.is-primary{color:var(--accent)}.results-sentinel{height:1px}.results-sentinel-row td{padding:0;border:0;height:1px}.table-shell{max-height:calc(100vh - 350px);overflow:auto}.results-table{width:100%;border-collapse:collapse;font-size:.84rem}.results-table thead{position:sticky;top:0;z-index:2;background:var(--thead)}.results-table th,.results-table td{border-bottom:1px solid var(--line);padding:10px var(--space-3);text-align:left;vertical-align:top}.results-table th{color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.sort-header{display:inline-flex;align-items:center;gap:var(--space-1);border:0;background:transparent;color:inherit;padding:0;text-transform:inherit;letter-spacing:inherit;font-size:inherit;font-weight:900}.sort-header span{color:var(--muted);font-size:.72rem}.sort-header.active{color:var(--accent)}.results-table tbody tr{background:var(--row-bg)}.results-table tbody tr:hover,.results-table tbody tr.selected{background:var(--hover)}.results-table tbody tr.picked{background:var(--active)}.results-table td:first-child{min-width:290px}.results-table td:first-child strong,.results-table td:first-child span{display:block}.programme-cell-head{display:flex!important;align-items:flex-start;gap:var(--space-2)}.programme-cell-text{display:flex;flex-direction:column;gap:2px;min-width:0}.programme-cell-text strong,.card-focus-button{display:inline-flex!important;align-items:center;gap:6px}.selected-slot-badge{display:inline-flex!important;align-items:center;justify-content:center;min-width:24px;height:20px;border-radius:999px;background:var(--accent);color:var(--surface-strong);padding:0 7px;font-size:.68rem;font-weight:950;line-height:1;letter-spacing:0;vertical-align:middle}:root[data-theme=dark] .selected-slot-badge{color:#15120f}.results-table td:first-child .programme-cell-text>span{color:var(--muted);line-height:1.25}.pick-button{display:inline-grid;place-items:center;width:18px;height:18px;flex:0 0 18px;border:1.5px solid var(--line);border-radius:4px;background:transparent;color:var(--bg);padding:0;font-size:.78rem;font-weight:950}.pick-button.picked{border-color:var(--accent);background:var(--accent);color:var(--bg)}.positive,.positive-text{color:var(--good)}.negative,.negative-text{color:var(--bad)}.muted{color:var(--muted)}.results-table td strong,.results-table td small,.results-table td span{display:block}.status,.band{display:inline-flex;align-items:center;width:fit-content;border-radius:999px;padding:var(--space-1) var(--space-2);font-size:.75rem;font-weight:900;white-space:nowrap}.status.pass,.band.above-uq,.band.above-median{background:var(--soft-good);color:var(--good)}.status.fail,.band.below-lq{background:var(--soft-bad);color:var(--bad)}.band.above-lq,.status.warn{background:var(--soft-warn);color:var(--warn)}.band.no-score,.status.neutral{background:var(--soft-neutral);color:var(--muted)}.status.new{background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent);border:1px dashed color-mix(in srgb,var(--accent) 55%,transparent)}.result-cards,.selection-tray,.selected-programme-summary{display:none}.preference-planner{display:flex;align-items:center;gap:var(--space-2);width:100%;max-width:100%;min-width:0;overflow:hidden;padding:7px var(--space-5);border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--surface-strong) 42%,transparent)}.preference-bar{flex:1 1 auto;min-width:0;width:100%;display:flex;align-items:center;gap:var(--space-2);border:0;background:transparent;text-align:left;border-radius:8px}.preference-planner:not(.is-readonly) .preference-bar{cursor:pointer}.preference-bar:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.preference-bar-expand{flex:0 0 auto;display:grid;place-items:center;width:26px;height:26px;border-radius:8px;border:1px solid var(--line);background:var(--surface-strong);color:var(--muted);transition:color .12s ease,border-color .12s ease}.preference-planner:not(.is-readonly) .preference-bar:hover .preference-bar-expand{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}.preference-line-label{flex:0 0 auto;color:var(--muted);font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;line-height:1;display:flex;align-items:center}.preference-line{display:flex;align-items:center;gap:7px;min-width:0;width:0;max-width:100%;flex:1 1 auto;overflow-x:auto;overflow-y:hidden;padding-bottom:2px;-webkit-overflow-scrolling:touch;scrollbar-width:none;-webkit-mask-image:linear-gradient(to right,#000 0%,#000 94%,transparent 100%);mask-image:linear-gradient(to right,#000 0%,#000 94%,transparent 100%);margin-top:2px}.preference-line::-webkit-scrollbar{display:none}.preference-text,.preference-extra,.preference-empty{flex:0 0 auto;color:var(--muted);font-size:.66rem;font-weight:650;white-space:nowrap;line-height:1;display:flex;align-items:center}.preference-text{border:0;background:transparent;padding:0;cursor:pointer;gap:4px}.preference-text.filled{color:var(--ink)}.preference-text.active{color:var(--accent);font-weight:800}.preference-text:disabled{cursor:default;opacity:.55}.preference-text.draggable{cursor:pointer;touch-action:pan-x;user-select:none;-webkit-user-select:none;position:relative}.preference-text.dragging{z-index:2;opacity:.9}.preference-grip-handle{display:inline-flex;align-items:center;padding:2px 10px 2px 2px;margin-right:-5px;touch-action:none;cursor:grab}.preference-text.dragging .preference-grip-handle{cursor:grabbing}.preference-grip{flex:0 0 auto;width:9px;height:13px;fill:var(--muted);opacity:.7}.preference-text.active .preference-grip{fill:var(--accent);opacity:.9}.preference-text.removing .preference-text-label{margin:0 -4px;padding:0 4px;border-radius:6px;background:color-mix(in srgb,var(--ink) 9%,transparent)}.pref-remove-backdrop{position:fixed;inset:0;z-index:90;background:transparent}.pref-remove-pop{position:fixed;z-index:91;transform:translate(-50%,calc(-100% - 10px));display:flex;align-items:center;gap:var(--space-2);padding:5px 5px 5px 12px;border-radius:12px;background:var(--surface-strong);border:1px solid var(--line);box-shadow:var(--shadow);white-space:nowrap;animation:pref-remove-pop-in .12s ease}.pref-remove-pop.is-below{transform:translate(-50%,10px)}.pref-remove-pop:after{content:"";position:absolute;left:50%;bottom:-5px;width:9px;height:9px;transform:translate(-50%) rotate(45deg);background:var(--surface-strong);border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.pref-remove-pop.is-below:after{bottom:auto;top:-5px;border-right:0;border-bottom:0;border-left:1px solid var(--line);border-top:1px solid var(--line)}.pref-remove-code{font-weight:800;font-size:.78rem;letter-spacing:-.01em;color:var(--muted)}.pref-remove-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border-radius:8px;border:0;background:color-mix(in srgb,var(--bad) 14%,transparent);color:var(--bad);font-weight:800;font-size:.82rem;cursor:pointer}.pref-remove-btn:hover{background:color-mix(in srgb,var(--bad) 22%,transparent)}@keyframes pref-remove-pop-in{0%{opacity:0}to{opacity:1}}.slot-move-backdrop{position:fixed;inset:0;z-index:96;background:transparent}.slot-move-pop{position:fixed;z-index:97;transform:translate(-50%);width:min(280px,92vw);padding:var(--space-3);border-radius:14px;background:var(--surface-strong);border:1px solid var(--line);box-shadow:var(--shadow);animation:pref-remove-pop-in .12s ease}.slot-move-title{margin:0 0 var(--space-2);font-size:.74rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.slot-move-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;max-height:40vh;overflow-y:auto}.slot-move-chip{display:inline-flex;align-items:center;justify-content:center;padding:8px 0;border-radius:9px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font-size:.8rem;font-weight:800;font-variant-numeric:tabular-nums;cursor:pointer;transition:border-color .12s ease,background .12s ease,color .12s ease}.slot-move-chip:hover:not(:disabled),.slot-move-chip:focus-visible:not(:disabled){border-color:color-mix(in srgb,var(--accent) 50%,var(--line));color:var(--accent);outline:none}.slot-move-chip.is-current{background:var(--accent);border-color:var(--accent);color:#fff;cursor:default}:root[data-theme=dark] .slot-move-chip.is-current{color:var(--bg)}.slot-move-remove{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;margin-top:10px;padding:9px 0;border-radius:10px;border:1px solid var(--soft-bad);background:var(--soft-bad);color:var(--bad);font-size:.82rem;font-weight:800;cursor:pointer;transition:background .12s ease,border-color .12s ease}.slot-move-remove:hover,.slot-move-remove:focus-visible{border-color:var(--bad);outline:none}.reorg-overlay{position:fixed;inset:0;z-index:95}.reorg-backdrop{position:absolute;inset:0;background:#140e0a80;animation:reorg-fade .16s ease}.reorg-sheet{position:absolute;left:0;right:0;bottom:0;max-height:82vh;display:flex;flex-direction:column;background:var(--bg);border-top-left-radius:20px;border-top-right-radius:20px;border-top:1px solid var(--line);box-shadow:0 -12px 40px #0000004d;padding:var(--space-4) var(--space-4) calc(var(--space-4) + env(safe-area-inset-bottom,0px));animation:reorg-slide-up .24s cubic-bezier(.22,1,.36,1)}.reorg-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3)}.reorg-title{margin:0;font-size:1.02rem;font-weight:800;color:var(--ink)}.reorg-hint{margin:2px 0 0;font-size:.78rem;color:var(--muted);line-height:1.4}.reorg-done{flex:0 0 auto;padding:7px 16px;border-radius:999px;border:1px solid var(--accent);background:var(--accent);color:#fff;font-size:.85rem;font-weight:800;cursor:pointer}:root[data-theme=dark] .reorg-done{color:var(--bg)}.reorg-grid{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2);overflow-y:auto;-webkit-overflow-scrolling:touch}.reorg-card{display:flex;align-items:center;gap:var(--space-2);padding:8px 10px;border:1px solid var(--line);border-radius:12px;background:var(--surface-strong);will-change:transform}.reorg-card.is-empty{opacity:.6}.reorg-card.is-dragging{position:relative;z-index:3;border-color:color-mix(in srgb,var(--accent) 45%,var(--line));box-shadow:0 10px 26px #00000038}.reorg-grip{flex:0 0 auto;display:grid;place-items:center;width:22px;align-self:stretch;color:var(--muted);cursor:grab;touch-action:none}.reorg-grip:active{cursor:grabbing}.reorg-grip svg circle{fill:currentColor}.reorg-slot{flex:0 0 auto;min-width:40px;padding:7px 9px;border-radius:9px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font-size:.8rem;font-weight:900;font-variant-numeric:tabular-nums;cursor:pointer;transition:border-color .12s ease,color .12s ease}.reorg-slot:hover,.reorg-slot:focus-visible{border-color:color-mix(in srgb,var(--accent) 50%,var(--line));color:var(--accent);outline:none}.reorg-slot.is-empty{cursor:default;color:var(--muted)}.reorg-card-body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:1px}.reorg-card-body strong{font-size:.85rem;font-weight:800;color:var(--ink)}.reorg-card-body small{font-size:.72rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reorg-empty-label{flex:1 1 auto;font-size:.8rem;color:var(--muted)}.reorg-remove{flex:0 0 auto;display:grid;place-items:center;width:30px;height:30px;border-radius:8px;border:1px solid var(--line);background:var(--surface);color:var(--muted);cursor:pointer;transition:color .12s ease,border-color .12s ease}.reorg-remove:hover,.reorg-remove:focus-visible{color:var(--bad);border-color:color-mix(in srgb,var(--bad) 45%,var(--line));outline:none}@keyframes reorg-fade{0%{opacity:0}to{opacity:1}}@keyframes reorg-slide-up{0%{transform:translateY(100%)}to{transform:none}}.preference-remove-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px;color:var(--muted);font-size:.76rem;font-weight:800}.preference-remove-row button{border:1px solid var(--line);border-radius:999px;background:var(--surface-strong);color:var(--muted);padding:4px 8px;font-size:.72rem;font-weight:850}.preference-remove-row button:hover{border-color:var(--accent-2);color:var(--accent-2)}.detail-layout{display:flex;flex-direction:row;align-items:flex-start;gap:var(--space-4)}.programme-menu{display:none;flex:0 0 260px;flex-direction:column;gap:var(--space-2);position:sticky;top:var(--space-4);background:var(--surface);border:1px solid var(--line);border-radius:26px;padding:var(--space-5);max-height:calc(100vh - 80px);overflow-y:auto}.detail-panel{display:grid;flex:1 1 0;min-width:0;gap:var(--space-3);max-height:calc(100vh - 36px);overflow:auto;overflow-anchor:none;scroll-margin-top:var(--space-3)}.detail-edge-tap{display:none}@media(max-width:920px){.detail-edge-tap{position:fixed;top:0;bottom:0;width:44px;z-index:30;display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;color:color-mix(in srgb,var(--muted) 55%,transparent);cursor:pointer;padding:0;opacity:.7;transition:color .14s ease,opacity .14s ease,background .14s ease;-webkit-tap-highlight-color:transparent}.detail-edge-tap:active{color:var(--accent);opacity:1;background:color-mix(in srgb,var(--accent) 8%,transparent)}.detail-edge-tap-prev{left:0}.detail-edge-tap-next{right:0}.detail-edge-tap svg{width:13px;height:21px}}.detail-panel.empty{min-height:240px}.detail-panel .grade-section-divider{margin:0}.mc-panel .panel-heading{justify-content:flex-start}.mc-panel .panel-heading .step-title-content h2{font-size:1.05rem;line-height:1.15;letter-spacing:-.015em}.mc-panel .panel-heading .step-title-content .eyebrow{margin-bottom:2px;font-size:.65rem;letter-spacing:.06em}.mc-info-button{position:absolute;top:var(--space-3);right:var(--space-4);display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;border-radius:999px;background:transparent;color:var(--muted);cursor:pointer;transition:background-color .12s ease,color .12s ease}.mc-info-button:hover,.mc-info-button:focus-visible,.mc-info-button[aria-expanded=true]{background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent)}.mc-info-popover{position:absolute;top:calc(var(--space-3) + 24px + 4px);right:var(--space-3);z-index:60;width:min(300px,calc(100vw - 48px));padding:var(--space-4);background:var(--surface-strong);border:1px solid var(--line);border-radius:14px;box-shadow:0 2px 6px #1d2a2f14,0 12px 28px #1d2a2f24;text-align:left;color:var(--ink);animation:step2-info-pop-in .13s ease}.step2-info{position:relative;grid-column:2;grid-row:1;justify-self:end;align-self:start}.step2-info-button{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;border-radius:999px;background:transparent;color:var(--muted);cursor:pointer;transition:background-color .12s ease,color .12s ease}.step2-info-button:hover,.step2-info-button:focus-visible,.step2-info-button[aria-expanded=true]{background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent)}.step2-info-pop{position:absolute;top:calc(100% + 6px);right:0;z-index:60;width:min(300px,calc(100vw - 48px));padding:var(--space-4);background:var(--surface-strong);border:1px solid var(--line);border-radius:14px;box-shadow:0 2px 6px #1d2a2f14,0 12px 28px #1d2a2f24;text-align:left;animation:step2-info-pop-in .13s ease}.step2-info-pop .step2-info-lede{margin-bottom:var(--space-4)}@keyframes step2-info-pop-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.step2-info-title{margin:0 0 var(--space-1);font-size:.9rem;font-weight:800;color:var(--ink)}.step2-info-lede{margin:0 0 var(--space-3);font-size:.8rem;line-height:1.45;color:var(--muted)}.step2-info-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.step2-info-list li{display:flex;align-items:flex-start;gap:var(--space-2);font-size:.8rem;line-height:1.4;color:var(--ink)}.step2-info-list b{font-weight:800}.step2-info-ic{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;margin-top:1px;border-radius:7px;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent)}.mobile-step3-pane,.stepper-content.vt-forward>.stepper-panel.active,.stepper-content.vt-backward>.stepper-panel.active{animation:pane-slide-in .26s cubic-bezier(.22,1,.36,1)}.mobile-step3-pane.vt-no-anim{animation:none}.mobile-step3-pane.vt-forward,.stepper-content.vt-forward>.stepper-panel.active{--slide-from: 28px}.mobile-step3-pane.vt-backward,.stepper-content.vt-backward>.stepper-panel.active{--slide-from: -28px}@keyframes pane-slide-in{0%{opacity:0;transform:translate3d(var(--slide-from, 28px),0,0)}99%{opacity:1;transform:translateZ(0)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.mobile-step3-pane,.stepper-content.vt-forward>.stepper-panel.active,.stepper-content.vt-backward>.stepper-panel.active{animation:none}}.mc-list{display:flex;flex-direction:column;gap:var(--space-3);list-style:none;padding:0;margin:var(--space-3) 0 0}.mc-list>li{min-width:0}.mc-row{position:relative;display:flex;flex-direction:column;gap:6px;width:100%;padding:10px 10px 10px 16px;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--surface-strong);box-shadow:0 1px 2px #0000000a;text-align:left;cursor:pointer;font:inherit;color:inherit;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.mc-row-filled{min-width:0}.mc-row-filled:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--line)}.mc-row-filled.band-above-uq:before,.mc-row-filled.band-above-median:before{background:var(--good)}.mc-row-filled.band-above-lq:before{background:var(--warn)}.mc-row-filled.band-below-lq:before{background:var(--bad)}.mc-row-filled.band-no-score:before{background:var(--muted)}.mc-row-filled.band-above-uq,.mc-row-filled.band-above-median{background:color-mix(in srgb,var(--good) 8%,var(--surface-strong));border-color:color-mix(in srgb,var(--good) 28%,var(--line))}.mc-row-filled.band-above-lq{background:color-mix(in srgb,var(--warn) 8%,var(--surface-strong));border-color:color-mix(in srgb,var(--warn) 28%,var(--line))}.mc-row-filled.band-below-lq{background:color-mix(in srgb,var(--bad) 9%,var(--surface-strong));border-color:color-mix(in srgb,var(--bad) 32%,var(--line))}:root[data-theme=dark] .mc-row-filled.band-above-uq,:root[data-theme=dark] .mc-row-filled.band-above-median{background:color-mix(in srgb,var(--good) 16%,var(--surface-strong));border-color:color-mix(in srgb,var(--good) 50%,var(--line))}:root[data-theme=dark] .mc-row-filled.band-above-lq{background:color-mix(in srgb,var(--warn) 16%,var(--surface-strong));border-color:color-mix(in srgb,var(--warn) 50%,var(--line))}:root[data-theme=dark] .mc-row-filled.band-below-lq{background:color-mix(in srgb,var(--bad) 18%,var(--surface-strong));border-color:color-mix(in srgb,var(--bad) 55%,var(--line))}.mc-row-filled.is-ineligible{background:color-mix(in srgb,var(--bad) 10%,var(--surface-strong));border-color:color-mix(in srgb,var(--bad) 45%,var(--line))}.mc-row-filled.is-ineligible:before{background:var(--bad)}:root[data-theme=dark] .mc-row-filled.is-ineligible{background:color-mix(in srgb,var(--bad) 18%,var(--surface-strong));border-color:color-mix(in srgb,var(--bad) 60%,var(--line))}.mc-warning{display:flex;align-items:flex-start;gap:8px;padding:8px 10px;border-radius:10px;background:color-mix(in srgb,var(--bad) 14%,var(--surface-strong));border:1px solid color-mix(in srgb,var(--bad) 38%,var(--line));color:var(--bad);font-size:.78rem;font-weight:700;line-height:1.3}.mc-warning svg{flex:0 0 14px;margin-top:1px}:root[data-theme=dark] .mc-warning{background:color-mix(in srgb,var(--bad) 20%,var(--surface-strong));border-color:color-mix(in srgb,var(--bad) 55%,var(--line))}.mc-row-filled:hover,.mc-row-filled:focus-visible{border-color:color-mix(in srgb,var(--accent) 35%,var(--line));box-shadow:0 4px 12px #0000000f}.mc-row-filled:active{transform:scale(.995)}.mc-row-empty{padding:0;background:color-mix(in srgb,var(--surface) 40%,transparent);border-style:dashed;box-shadow:none;flex-direction:row;align-items:stretch;gap:0;cursor:default;transition:background-color .12s ease,border-color .12s ease}.mc-row-empty:has(.mc-empty-add:hover),.mc-row-empty:has(.mc-empty-add:focus-visible){background:color-mix(in srgb,var(--accent) 8%,var(--surface-strong));border-color:color-mix(in srgb,var(--accent) 40%,var(--line))}.mc-empty-add{flex:1 1 auto;min-width:0;display:flex;flex-direction:row;align-items:center;gap:12px;padding:10px 10px 10px 16px;border:none;background:transparent;text-align:left;cursor:pointer;font:inherit;color:inherit}.mc-empty-label{font-size:.86rem;color:var(--muted);font-weight:700;letter-spacing:.02em}.mc-empty-plus{margin-left:auto;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:999px;background:color-mix(in srgb,var(--accent) 14%,var(--surface-strong));color:var(--accent);font-size:1rem;font-weight:900;line-height:1}.mc-empty-remove{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:34px;align-self:stretch;margin-right:4px;border:none;background:transparent;color:var(--muted);font-size:1.15rem;font-weight:700;line-height:1;cursor:pointer;border-radius:8px;transition:background-color .12s ease,color .12s ease}.mc-empty-remove:hover,.mc-empty-remove:focus-visible{background:color-mix(in srgb,var(--bad) 14%,transparent);color:var(--bad)}.mc-slot{display:inline-flex;align-items:center;justify-content:center;gap:3px;min-width:34px;height:22px;padding:0 6px;border-radius:8px;background:color-mix(in srgb,var(--accent) 14%,var(--surface));color:var(--accent);font-size:.74rem;font-weight:900;letter-spacing:.04em;font-variant-numeric:tabular-nums}.mc-slot-handle{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;border:1px solid color-mix(in srgb,var(--accent) 25%,transparent);transition:background-color .12s ease,border-color .12s ease}.mc-slot-handle:hover,.mc-slot-handle:active{background:color-mix(in srgb,var(--accent) 22%,var(--surface));border-color:color-mix(in srgb,var(--accent) 45%,transparent)}.mc-slot-handle:active{cursor:grabbing}.mc-slot-grip{width:7px;height:11px;fill:currentColor;opacity:.55;flex-shrink:0}.mc-slot-handle:hover .mc-slot-grip,.mc-slot-handle:active .mc-slot-grip{opacity:.85}.mc-slot-text{line-height:1}.mc-li-dragging{position:relative;z-index:5;filter:drop-shadow(0 6px 16px rgba(29,42,47,.18));transition:none!important}.mc-li-shifting{transition:transform .18s cubic-bezier(.2,0,.2,1)}.mc-head{display:flex;align-items:center;flex-wrap:wrap;gap:6px 8px;min-width:0;margin-bottom:-2px}.status.mc-elig{margin-left:auto;padding:2px 8px;font-size:.68rem}.mc-code{font-size:.95rem;font-weight:900;letter-spacing:.01em;color:var(--ink);flex-shrink:0}.mc-inst{font-size:.7rem;font-weight:800;color:var(--muted);letter-spacing:.04em;text-transform:uppercase;flex-shrink:0}.mc-name{display:block;width:100%;min-width:0;overflow:hidden;line-height:1.2;margin-top:-2px}.mc-name em{display:block;max-width:100%;font-style:normal;font-size:.88rem;font-weight:800;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mc-name small{display:block;max-width:100%;font-size:.72rem;font-weight:600;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mc-track-wrap{position:relative;margin:30px 14px 24px}.mc-track-inner{position:relative;width:100%}.mc-track-wrap.mc-track-empty{margin:var(--space-2) 14px var(--space-2);min-height:38px;display:flex;align-items:center;justify-content:center}.mc-track-wrap.mc-track-empty .mc-score-bubble{position:static;transform:none}.mc-score-bubble{--bubble-bg: var(--surface-strong);--bubble-fg: var(--muted);position:absolute;bottom:15px;transform:translate(-50%);display:inline-flex;align-items:center;justify-content:center;padding:5px 8px 2px;border-radius:8px;border:1.5px solid var(--bubble-bg);background:var(--bubble-bg);color:var(--bubble-fg);font-size:.85rem;font-weight:900;font-variant-numeric:tabular-nums;letter-spacing:-.02em;line-height:1;white-space:nowrap;z-index:3}.mc-bubble-arrow{position:absolute;bottom:10px;transform:translate(-50%);width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid var(--surface-strong);z-index:3}.mc-bubble-arrow.band-above-uq,.mc-bubble-arrow.band-above-median{border-top-color:var(--good)}.mc-bubble-arrow.band-above-lq{border-top-color:var(--warn)}.mc-bubble-arrow.band-below-lq{border-top-color:var(--bad)}.mc-bubble-arrow.band-no-score{display:none}.mc-no-data-caption{margin-left:8px;font-size:.62rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.mc-score-bubble.band-above-uq,.mc-score-bubble.band-above-median{--bubble-bg: var(--good);--bubble-fg: var(--surface-strong)}.mc-score-bubble.band-above-lq{--bubble-bg: var(--warn);--bubble-fg: var(--surface-strong)}.mc-score-bubble.band-below-lq{--bubble-bg: var(--bad);--bubble-fg: var(--surface-strong)}.mc-score-bubble.band-no-score,.mc-score-bubble.is-static{--bubble-bg: var(--surface-strong);--bubble-fg: var(--muted);border-color:var(--muted)}.mc-track{position:relative;width:100%;height:5px;border-radius:3px;background:color-mix(in srgb,var(--line) 80%,transparent)}:root[data-theme=dark] .mc-track{background:color-mix(in srgb,var(--ink) 45%,transparent)}:root[data-theme=dark] .mc-tick{background:color-mix(in srgb,var(--ink) 80%,transparent)}:root[data-theme=dark] .mc-marker{border-color:var(--ink)}.mc-track.no-score{background:transparent;border:1px dashed var(--line)}.mc-track-no-data{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:.62rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);white-space:nowrap}.mc-tick{position:absolute;top:-3px;bottom:-3px;width:1.5px;background:color-mix(in srgb,var(--ink) 35%,transparent);transform:translate(-50%)}.mc-tick-label{position:absolute;top:9px;display:inline-flex;align-items:baseline;gap:3px;transform:translate(-50%);white-space:nowrap;line-height:1}.mc-tick-label em{font-style:normal;font-size:.7rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.mc-tick-label b{font-size:.7rem;font-weight:800;color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.mc-tick-sep{margin:0 2px;color:var(--muted);font-weight:800}.mc-marker{position:absolute;top:50%;width:12px;height:12px;border-radius:50%;border:2px solid var(--surface-strong);box-shadow:0 1px 4px #0003;transform:translate(-50%,-50%);z-index:2}.mc-marker.band-above-uq,.mc-marker.band-above-median{background:var(--good)}.mc-marker.band-above-lq{background:var(--warn)}.mc-marker.band-below-lq{background:var(--bad)}.mc-marker.band-no-score{display:none}.mc-stats{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;background:color-mix(in srgb,var(--surface) 65%,transparent);border:1px solid color-mix(in srgb,var(--line) 80%,transparent);border-radius:10px;overflow:hidden}.mc-stat{display:flex;flex-direction:column;justify-content:center;padding:4px 5px;text-align:center;border-right:1px solid color-mix(in srgb,var(--line) 70%,transparent);min-width:0}.mc-stat:last-child{border-right:none}.mc-stat-label{font-size:.5rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase;color:var(--muted);line-height:1.1;margin-bottom:2px;text-align:center}.mc-stat-value{display:block;font-size:.8rem;font-weight:800;font-variant-numeric:tabular-nums;color:var(--ink);letter-spacing:-.02em;line-height:1}.detail-panel .detail-header.is-stuck{padding-bottom:var(--space-3)}.detail-panel .detail-header.is-stuck .detail-header-text h2{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;overflow:hidden;font-size:.95rem;font-weight:700}.detail-panel .detail-header.is-stuck .detail-header-text .eyebrow{font-size:.65rem}.detail-panel .detail-header.is-stuck .zh-name,.detail-panel .detail-header.is-stuck .detail-badges,.detail-panel .detail-header.is-stuck .remove-button{display:none}.detail-header{display:block}.detail-panel .detail-header{margin:calc(-1 * var(--space-5)) calc(-1 * var(--space-5)) 0;padding:var(--space-4) var(--space-5) var(--space-3);border-bottom:1px solid var(--line)}.detail-header-main{display:flex;align-items:center;gap:var(--space-3)}.detail-header-text{flex:1;min-width:0}.remove-button{flex-shrink:0;align-self:flex-start;background:var(--surface-strong);border:1px solid var(--line);box-shadow:none;padding:var(--space-2);cursor:pointer;color:var(--ink);line-height:0;border-radius:12px}.remove-button:hover{border-color:var(--accent);background:var(--active);color:var(--accent)}.detail-header h2{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:clamp(1.15rem,1.6vw,1.35rem);line-height:1.15;letter-spacing:-.01em}.detail-panel section>h3{margin:0 0 var(--space-3);font-size:1rem;letter-spacing:-.01em}.zh-name{color:var(--muted);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;overflow:hidden;margin:6px 0 0;font-size:.84rem;line-height:1.22}.detail-name{cursor:pointer;border-radius:8px;-webkit-tap-highlight-color:transparent}.detail-name:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.detail-panel .detail-header .detail-name.is-expanded h2,.detail-panel .detail-header .detail-name.is-expanded .zh-name{-webkit-line-clamp:unset;display:block;overflow:visible}.detail-badges{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3)}.detail-picker{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:var(--space-2);align-items:center;margin-top:0;margin-bottom:0}.detail-picker span{display:grid;gap:var(--space-1);color:var(--muted);font-size:.95rem;font-weight:900;text-align:center}.detail-picker span em{color:var(--accent);font-size:.7rem;font-style:normal;letter-spacing:.08em;text-transform:uppercase}.detail-picker .ghost-button{padding:var(--space-2) var(--space-3);font-size:.8rem;background:transparent;border-color:transparent;box-shadow:none}.detail-picker .ghost-button:disabled{cursor:not-allowed;opacity:.42}.score-context{--band-tone: var(--accent);display:flex;flex-direction:column;gap:10px}.score-context.band-above-uq,.score-context.band-above-median{--band-tone: var(--good)}.score-context.band-above-lq{--band-tone: var(--warn)}.score-context.band-below-lq{--band-tone: var(--bad)}.score-context.band-no-score{--band-tone: var(--muted)}.score-context .audit-block{padding-top:var(--space-3);border-top:1px dashed var(--line)}.score-context-header{position:relative;display:flex;flex-direction:column;gap:6px;padding:var(--space-3) var(--space-4) var(--space-3) calc(var(--space-4) + 4px);border-radius:16px;background:linear-gradient(135deg,color-mix(in srgb,var(--band-tone) 14%,transparent),transparent 60%),var(--surface-strong);border:1px solid var(--line);overflow:hidden}.score-context-header:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--band-tone)}.score-context-line{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-width:0}.score-context-score{display:flex;flex-direction:column;min-width:0}.score-context-line em{display:block;font-style:normal;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin-bottom:2px}.score-context-line strong{display:block;font-size:2rem;font-weight:950;letter-spacing:-.03em;color:var(--ink);line-height:1;font-variant-numeric:tabular-nums}.score-context-line .band{flex-shrink:0;font-size:.78rem}.score-context-note{margin:0;font-size:.76rem;color:var(--muted);line-height:1.35;display:flex;flex-direction:column;align-items:flex-start;gap:6px}.score-context-tap{display:inline-flex;align-items:center;gap:4px;flex-shrink:0;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:color-mix(in srgb,var(--accent) 70%,var(--muted))}.score-context-tap .collapsible-chevron{transition:transform .16s ease}.score-context-tap .collapsible-chevron.open{transform:rotate(180deg)}[role=button].score-context-header{cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease}[role=button].score-context-header:hover{border-color:color-mix(in srgb,var(--accent) 60%,var(--line))}[role=button].score-context-header:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.score-context-header.expanded{background:linear-gradient(135deg,color-mix(in srgb,var(--band-tone, var(--accent)) 18%,transparent),transparent 60%),var(--surface-strong)}.score-audit{margin:var(--space-3) calc(var(--space-4) * -1) calc(var(--space-3) * -1);padding:var(--space-3);background:var(--bg);border-top:1px solid var(--line);border-radius:0 0 16px 16px}.score-audit-method{display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--space-2);margin:0 0 var(--space-2);font-size:.78rem;line-height:1.3}.score-audit-method em{font-style:normal;font-size:.62rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);flex:0 0 auto}.score-audit-method span{flex:1 1 auto;min-width:0;color:var(--ink);font-weight:700}.score-audit-method b{flex:0 0 auto;font-size:.66rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);padding:2px 8px;border-radius:999px;background:color-mix(in srgb,var(--band-tone, var(--accent)) 10%,transparent)}.score-audit .audit-cell{background:var(--surface)}.score-audit .audit-cell.used{background:color-mix(in srgb,var(--band-tone, var(--accent)) 10%,var(--surface))}.score-context-subheading{margin:var(--space-2) 0 var(--space-2);font-size:.85rem!important;letter-spacing:0;font-weight:800;color:var(--muted);text-transform:uppercase}.score-hero{border-radius:16px;padding:var(--space-3) var(--space-4);background:var(--surface-strong);border:1px solid var(--line);display:flex;align-items:baseline;gap:var(--space-2);flex-wrap:wrap}.score-hero span{font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.score-hero strong{font-size:1.4rem;font-weight:900;letter-spacing:-.02em;color:var(--ink)}.score-hero small{flex-basis:100%;margin-top:2px;font-size:.74rem;color:var(--muted)}.share-result-card .score-hero{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);background:var(--surface-strong);border:1px solid var(--line);padding:8px 16px;border-radius:16px;color:inherit}.share-result-card .score-hero span{color:var(--muted);font-size:.85rem;font-weight:700;opacity:1}.share-result-card .score-hero small{display:none}.share-result-card .score-hero strong{font-size:1.8rem;font-weight:900;letter-spacing:-.04em;color:var(--accent);margin:0}.benchmark-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2);margin-top:var(--space-5)}.score-context>.benchmark-grid{margin-top:0}.benchmark-card{border:1px solid var(--line);border-radius:16px;padding:var(--space-4);background:var(--surface-strong)}.benchmark-card span,.benchmark-card small{display:block;color:var(--muted)}.benchmark-card span{font-size:.78rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.benchmark-card strong{display:block;margin:var(--space-1) 0;font-size:1.45rem}.benchmark-card small{display:flex;flex-wrap:wrap;gap:var(--space-1);align-items:baseline}.benchmark-card small b,.benchmark-card small em{font-style:normal}.benchmark-card.positive-card{border-color:color-mix(in srgb,var(--good) 36%,var(--line))}.benchmark-card.negative-card{border-color:color-mix(in srgb,var(--bad) 36%,var(--line))}.benchmark-card.positive-card small b,.benchmark-card.positive-card small em{color:var(--good)}.benchmark-card.negative-card small b,.benchmark-card.negative-card small em{color:var(--bad)}.eligibility-grid,.audit-list{display:grid;gap:var(--space-2);margin-top:var(--space-3)}.collapsible-section{border:1px solid var(--line);border-radius:16px;background:var(--surface-strong);overflow:hidden;box-shadow:0 10px 24px #1d2a2f0d}.collapsible-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;gap:var(--space-3);border:0;background:linear-gradient(135deg,var(--surface-strong),var(--surface-mix));color:var(--ink);padding:var(--space-4);text-align:left;font-weight:900;cursor:pointer}.collapsible-title-group{display:flex;align-items:center;gap:var(--space-2);letter-spacing:-.02em}.collapsible-chevron{flex-shrink:0;color:var(--muted);transition:transform .22s ease}.collapsible-section.open .collapsible-chevron{transform:rotate(180deg)}.collapsible-body{display:grid;grid-template-rows:0fr;opacity:0;overflow:hidden;transition:grid-template-rows .26s ease,opacity .22s ease}.collapsible-body>*{min-height:0;overflow:hidden}.collapsible-section.open .collapsible-body{grid-template-rows:1fr;opacity:1}.collapsible-section .eligibility-grid,.collapsible-section .audit-list{padding:0;margin-top:0}.collapsible-section.open .eligibility-grid,.collapsible-section.open .audit-list{padding:0 var(--space-3) var(--space-3)}.eligibility-section .collapsible-title-group{flex-wrap:wrap}.eligibility-section .collapsible-title-group em{color:var(--muted);font-size:.78rem;font-style:normal;font-weight:800;letter-spacing:0}.eligibility-grid{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--line)}.eligibility-row{display:grid;grid-template-columns:minmax(120px,1.2fr) 56px minmax(84px,.7fr) minmax(0,1.3fr) auto;align-items:center;gap:var(--space-2);min-width:0;padding:9px var(--space-3);background:var(--surface-strong)}.eligibility-subject{min-width:0;color:var(--ink);font-size:.82rem;font-weight:900;line-height:1.25}.eligibility-grade{color:var(--ink);font-size:.95rem;font-weight:950;text-align:center}.eligibility-row.pass .eligibility-grade,.eligibility-row.pass .eligibility-result{color:var(--good)}.eligibility-row.fail .eligibility-grade,.eligibility-row.fail .eligibility-result{color:var(--bad)}.eligibility-need,.eligibility-note{color:var(--muted);font-size:.76rem;line-height:1.25}.eligibility-note{min-width:0;font-style:normal}.eligibility-result{justify-self:end;border-radius:999px;background:var(--row-bg);padding:3px 7px;font-size:.68rem;font-weight:950;text-transform:uppercase}.eligibility-card .eligibility-card-eyebrow{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.eligibility-card .eligibility-card-eyebrow>span{color:var(--accent);font-size:.78rem;font-weight:950;letter-spacing:.06em;text-transform:uppercase}.eligibility-card.has-unmet .eligibility-card-eyebrow>span{color:var(--bad)}.eligibility-card.has-unmet>.formula-text{color:var(--bad)}.eligibility-block-tally{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;padding:2px 8px;border-radius:999px;white-space:nowrap;flex:0 0 auto}.eligibility-block-tally.good{color:var(--good);background:var(--soft-good)}.eligibility-block-tally.bad{color:var(--bad);background:var(--soft-bad)}.eligibility-card .eligibility-body{display:none;flex-direction:column;gap:var(--space-2)}.eligibility-card .eligibility-body.desktop-open{display:flex}.eligibility-rows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:10px;overflow:hidden}.eligibility-cell{display:grid;grid-template-columns:18px minmax(0,1.6fr) minmax(0,.9fr) minmax(0,.9fr);align-items:baseline;gap:4px var(--space-2);padding:8px 10px;background:var(--surface-strong);border-top:1px solid var(--line);font-size:.82rem;line-height:1.3}.eligibility-cell:first-child{border-top:none}.eligibility-cell.fail{background:color-mix(in srgb,var(--bad) 9%,var(--surface-strong))}.eligibility-cell-mark{font-weight:900;text-align:center;font-size:.86rem;line-height:1}.eligibility-cell.pass .eligibility-cell-mark{color:var(--good)}.eligibility-cell.fail .eligibility-cell-mark{color:var(--bad)}.eligibility-cell-subject{min-width:0;font-weight:800;color:var(--ink)}.eligibility-cell-have,.eligibility-cell-need{display:inline-flex;align-items:baseline;gap:4px;min-width:0;font-size:.78rem}.eligibility-cell-have em,.eligibility-cell-need em{font-style:normal;color:var(--muted);text-transform:uppercase;font-size:.66rem;font-weight:800;letter-spacing:.04em}.eligibility-cell-have b,.eligibility-cell-need b{font-weight:900;color:var(--ink)}.eligibility-cell.fail .eligibility-cell-have b{color:var(--bad)}.eligibility-cell-note{grid-column:2 / -1;font-size:.76rem;color:var(--muted);line-height:1.4;margin-top:2px}.eligibility-cell.fail .eligibility-cell-note{color:color-mix(in srgb,var(--bad) 75%,var(--ink))}.eligibility-passed-toggle{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;background:transparent;border:1px dashed var(--line);border-radius:999px;padding:4px 10px;color:var(--muted);font-size:.78rem;font-weight:700;cursor:pointer;transition:border-color .14s ease,color .14s ease}.eligibility-passed-toggle:hover{border-color:var(--accent);color:var(--accent)}.extra-info-card .extra-info-eyebrow{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.extra-info-card .extra-info-eyebrow>span{color:var(--accent);font-size:.78rem;font-weight:950;letter-spacing:.06em;text-transform:uppercase}.extra-info-tally{font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:2px 8px;border-radius:999px;background:var(--row-bg);white-space:nowrap;flex:0 0 auto}.extra-info-body{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-1)}.extra-info-row{display:flex;flex-direction:column;gap:4px;padding-top:var(--space-2);border-top:1px solid var(--line)}.extra-info-row:first-child{padding-top:0;border-top:none}.extra-info-row em{font-style:normal;color:var(--muted);font-size:.66rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.extra-info-value{color:var(--ink);font-size:.86rem;line-height:1.45}.extra-info-value.multiline{white-space:pre-wrap;word-break:break-word}.official-card .official-links{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.official-link{display:flex;flex-direction:column;gap:2px;padding:var(--space-3);border:1px solid var(--line);border-radius:10px;background:var(--surface-strong);text-decoration:none;color:var(--ink);transition:border-color .14s ease,color .14s ease}.official-link:hover{border-color:var(--accent);color:var(--accent)}.official-link strong{font-size:.86rem;font-weight:800}.official-link em{font-style:normal;font-size:.7rem;color:var(--muted);word-break:break-all}.official-link.disabled{opacity:.5;cursor:not-allowed}.official-link.disabled:hover{border-color:var(--line);color:var(--ink)}@media(max-width:600px){.official-card .official-links{grid-template-columns:1fr}}.offers-card .offers-card-eyebrow{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.offers-card .offers-card-eyebrow>span{color:var(--accent);font-size:.78rem;font-weight:950;letter-spacing:.06em;text-transform:uppercase}.offers-tally{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;padding:2px 8px;border-radius:999px;white-space:nowrap;flex:0 0 auto;color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,transparent)}.offers-body{display:flex;flex-direction:column;gap:var(--space-2)}.offers-table{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--surface-strong)}.offers-table-head,.offers-table-row{display:grid;grid-template-columns:.7fr 1.2fr 1fr 1fr;align-items:center;gap:var(--space-2);padding:8px 12px;font-size:.82rem}.offers-table-head{background:color-mix(in srgb,var(--accent) 8%,var(--surface-strong));color:var(--muted);font-size:.62rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.offers-table-head>span,.offers-table-row>span{text-align:center;display:flex;flex-direction:column;align-items:center;min-width:0}.offers-table-head>span:first-child,.offers-table-row>span:first-child{text-align:left;align-items:flex-start}.offers-table-row{border-top:1px solid var(--line);background:var(--surface-strong)}.offers-table-year{font-weight:900;color:var(--ink)}.offers-table-cell b{font-weight:900;color:var(--ink);font-size:.86rem;line-height:1.1}.offers-table-cell em{font-style:normal;color:var(--muted);font-size:.66rem;font-weight:700;letter-spacing:.02em;margin-top:1px}.offers-table-cell.accent b,.offers-table-total b{color:var(--accent)}.offers-table-note{margin:0;font-size:.72rem;color:var(--muted);line-height:1.4}.audit-block{display:flex;flex-direction:column;gap:var(--space-2)}.audit-block-header{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3)}.audit-block-header h3{margin:0;font-size:1rem;letter-spacing:-.01em;flex:1 1 auto;min-width:0}.audit-block-tally{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);white-space:nowrap;flex:0 0 auto}.audit-desktop-toggle{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;background:transparent;border:1px solid var(--line);border-radius:999px;padding:4px 10px;font-size:.78rem;font-weight:700;color:var(--ink);cursor:pointer}.audit-desktop-toggle:hover{border-color:var(--accent);color:var(--accent)}.audit-desktop-toggle .collapsible-chevron{transition:transform .16s ease}.audit-desktop-toggle .collapsible-chevron.open{transform:rotate(180deg)}.audit-body{display:flex;flex-direction:column;gap:var(--space-2)}.audit-rows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:10px;overflow:hidden}.audit-cell{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.6fr) minmax(0,1fr) minmax(0,.6fr);align-items:center;gap:4px var(--space-2);padding:8px 10px;background:var(--surface-strong);border-top:1px solid var(--line);font-size:.82rem}.audit-cell:first-child{border-top:none}.audit-cell.used{background:color-mix(in srgb,var(--band-tone, var(--accent)) 14%,var(--surface-strong));border-left:3px solid var(--band-tone, var(--accent));padding-left:8px}.audit-cell.is-bonus{background:color-mix(in srgb,var(--good) 16%,var(--surface-strong));border-left-color:var(--good)}.audit-cell.is-bonus .audit-cell-subject small{color:var(--good);font-weight:800}.audit-cell.unused{background:transparent;opacity:.5;border-left:3px solid transparent;padding-left:8px}.audit-cell.unused .audit-cell-subject strong,.audit-cell.unused .audit-cell-grade b,.audit-cell.unused .audit-cell-calc b,.audit-cell.unused .audit-cell-score b{color:var(--muted);font-weight:700}.audit-cell.unused .audit-cell-score b{text-decoration:line-through;text-decoration-color:color-mix(in srgb,var(--muted) 60%,transparent)}.audit-cell-subject{display:flex;flex-direction:column;min-width:0}.audit-cell-subject strong{font-weight:800;color:var(--ink);line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.audit-cell-subject small{color:var(--muted);font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-top:1px}.audit-cell-grade,.audit-cell-calc,.audit-cell-score{display:flex;flex-direction:column;align-items:flex-end;min-width:0;text-align:right}.audit-cell-grade em,.audit-cell-calc em,.audit-cell-score em{font-style:normal;color:var(--muted);text-transform:uppercase;font-size:.6rem;font-weight:800;letter-spacing:.05em}.audit-cell-grade b,.audit-cell-calc b,.audit-cell-score b{font-weight:900;color:var(--ink);font-size:.86rem;line-height:1.15;white-space:nowrap}.audit-cell.used .audit-cell-score b{color:var(--accent)}.audit-block .audit-body{display:none}.audit-block .audit-body.desktop-open{display:flex}.audit-row{display:flex;flex-direction:column;gap:var(--space-2);border:1px solid var(--line);border-radius:12px;background:var(--row-bg);padding:var(--space-2);font-size:.84rem}.audit-row-top{display:flex;align-items:center;gap:var(--space-2)}.audit-row-bottom{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2)}.audit-row.used{border-color:color-mix(in srgb,var(--accent) 32%,var(--line));background:var(--active)}.audit-subject,.audit-metric,.audit-total{display:grid;gap:var(--space-1);align-content:center;min-width:0;border-radius:12px}.audit-subject{flex:1;padding:var(--space-2)}.audit-subject strong,.audit-subject small{display:block}.audit-subject small,.audit-metric em,.audit-total em{color:var(--muted);font-style:normal;font-size:.7rem;font-weight:850}.audit-metric,.audit-total{border:1px solid color-mix(in srgb,var(--line) 72%,transparent);background:var(--surface-mix);padding:var(--space-2);text-align:center}.audit-metric b,.audit-total b{color:var(--ink);font-size:.88rem;line-height:1.05}.audit-row-top .audit-total{border:none;background:transparent;padding:var(--space-2);text-align:right}.audit-row-top .audit-total b{color:var(--accent);font-size:1.4rem;font-weight:900}.audit-row-top .audit-total em{text-align:right}.formula-text,.warning{color:var(--muted);line-height:1.45}.formula-year-grid{display:grid;gap:var(--space-3)}.formula-card{display:grid;gap:var(--space-2);border:1px solid var(--line);border-radius:16px;background:var(--row-bg);padding:var(--space-4);min-width:0;overflow:hidden}.formula-card>span{color:var(--accent);font-size:.78rem;font-weight:950;letter-spacing:.06em;text-transform:uppercase}.formula-card>small,.formula-card>em{color:var(--muted);font-size:.8rem;font-style:normal;line-height:1.35}.formula-card .formula-text{margin:0;color:var(--ink);font-weight:800}.warning{border-left:4px solid var(--warn);padding-left:var(--space-3)}.weight-cloud{display:flex;flex-direction:column;overflow:hidden;transition:max-height .22s ease,opacity .18s ease}.weight-cloud.collapsed{display:none}.weight-item{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--line);color:var(--muted);font-size:.82rem}.weight-item:last-child{border-bottom:none}.weight-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;gap:var(--space-1);background:none;border:none;padding:0;color:var(--accent);font-size:.82rem;font-weight:700;cursor:pointer}.weight-divider{border:none;border-top:1px solid var(--line);margin:0}.weight-toggle svg{transition:transform .22s ease}.weight-toggle.open svg{transform:rotate(180deg)}.error-panel{max-width:720px;margin:10vh auto}.profile-bar{position:relative;z-index:26;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) 0 var(--space-4);margin:0 0 var(--space-4);border-bottom:1px solid var(--line);background:var(--bg)}.profile-bar-left{flex:1;display:flex;align-items:center;gap:var(--space-2);min-width:0}.profile-bar .ghost-button,.profile-bar-select{font-size:.86rem;font-weight:400}.profile-bar-select{flex:1;min-width:0;height:36px;padding:0 var(--space-6) 0 var(--space-3);border:1px solid var(--line);border-radius:12px;background-color:var(--surface-strong);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23888' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3) center;color:var(--ink);appearance:none;-webkit-appearance:none}[data-theme=dark] .profile-bar-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23aaa' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}.profile-more{position:relative;flex-shrink:0}.profile-more-btn{padding:var(--space-2);min-width:36px;letter-spacing:.12em;font-weight:900}.profile-more-dropdown{position:absolute;top:calc(100% + var(--space-1));right:0;z-index:200;min-width:148px;border:1px solid var(--line);border-radius:12px;background:var(--surface-strong);box-shadow:var(--shadow);padding:var(--space-1);display:grid;gap:2px}.profile-more-item{display:block;width:100%;border:0;background:transparent;color:var(--ink);text-align:left;padding:var(--space-2) var(--space-3);border-radius:10px;font-size:.88rem;font-weight:700;cursor:pointer;transition:background .12s ease,color .12s ease}.profile-more-item:hover:not(:disabled){background:var(--hover)}.profile-more-item--danger{color:var(--bad)}.profile-more-item--danger:hover:not(:disabled){background:var(--soft-bad)}.profile-more-item:disabled{opacity:.35;cursor:not-allowed}.profile-more-separator{height:1px;background:var(--line);margin:var(--space-1) var(--space-2)}.rename-modal-backdrop{position:fixed;inset:0;z-index:200;background:#1d2a2f59;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:var(--space-5)}.rename-modal{background:var(--surface-strong);border:1px solid var(--line);border-radius:20px;padding:var(--space-5);width:100%;max-width:380px;box-shadow:0 8px 40px #1d2a2f2e;display:flex;flex-direction:column;gap:var(--space-5)}.rename-modal-title{font-size:1.05rem;font-weight:700;color:var(--ink);margin:0}.rename-modal-input{width:100%;box-sizing:border-box;border:1.5px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);font-size:.95rem;padding:var(--space-3) var(--space-4);outline:none;transition:border-color .15s;margin-bottom:var(--space-4)}.rename-modal-input:focus{border-color:var(--accent)}.rename-modal-actions{display:flex;justify-content:flex-end;gap:var(--space-3)}.rename-modal-actions .stepper-next-btn{min-height:38px;padding:0 var(--space-5);font-size:.9rem;border-radius:12px}.rename-modal-actions .ghost-button{min-height:38px;border-radius:12px;padding:0 var(--space-4);white-space:nowrap;flex-shrink:0}.stepper-bar{position:sticky;top:0;z-index:30;display:flex;justify-content:center;align-items:center;gap:4px;margin:0 calc(-1 * var(--space-6)) 0;padding:5px var(--space-6);background:var(--bg);border-bottom:3px solid var(--line)}.stepper-step{display:inline-flex;align-items:center;gap:6px;border:0;padding:3px 12px 3px 4px;border-radius:999px;background:transparent;color:var(--muted);font-size:.82rem;font-weight:600;letter-spacing:-.005em;white-space:nowrap;transition:color .2s ease,background .2s ease}.stepper-step:not(:disabled){cursor:pointer}.stepper-step:disabled{opacity:.4;cursor:not-allowed}@media(hover:hover)and (pointer:fine){.stepper-step:not(:disabled):not(.active):hover{color:var(--ink);background:color-mix(in srgb,var(--ink) 5%,transparent)}}.stepper-step.active{color:var(--ink);background:color-mix(in srgb,var(--accent) 12%,transparent)}.stepper-step.done{color:var(--accent)}.stepper-badge{display:inline-grid;place-items:center;width:20px;height:20px;flex-shrink:0;border-radius:999px;background:color-mix(in srgb,var(--ink) 8%,transparent);color:var(--muted);font-size:.7rem;font-weight:800;font-feature-settings:"tnum";transition:background .2s ease,color .2s ease}.stepper-step.active .stepper-badge{background:var(--accent);color:var(--surface);box-shadow:0 1px 4px color-mix(in srgb,var(--accent) 30%,transparent)}:root[data-theme=dark] .stepper-step.active .stepper-badge{color:#15120f}.stepper-step.done .stepper-badge{background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent)}.stepper-connector{flex:0 0 28px;height:1px;background:var(--line);transition:background .24s ease}.stepper-step.done+.stepper-connector{background:color-mix(in srgb,var(--accent) 50%,var(--line))}.stepper-panel{display:none}.stepper-panel.active{display:block}.stepper-panel>.grade-panel{max-width:100%;overflow:visible}.stepper-panel .mc-panel{overflow:visible}.stepper-panel .panel-heading{flex-wrap:wrap;position:sticky;top:45px;z-index:26;background:var(--surface-mix);border-bottom:1px solid var(--line);border-radius:20px 20px 0 0;box-shadow:none;transition:box-shadow .2s ease;margin:calc(-1 * var(--space-5)) calc(-1 * var(--space-5)) 0;padding:var(--space-5) var(--space-5) var(--space-4)}.stepper-panel .panel-heading.is-stuck{box-shadow:0 8px 18px #1d2a2f14}.stepper-panel .grade-title-summary{flex:0 0 100%;margin-top:0}@media(min-width:921px){.detail-picker{display:none}.programme-menu{display:flex}.programme-menu-heading{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 var(--space-1)}.programme-menu-item{display:flex;flex-direction:column;gap:3px;width:100%;text-align:left;background:transparent;border:1px solid transparent;border-radius:10px;padding:var(--space-3);cursor:pointer;transition:background .12s ease,border-color .12s ease}.programme-menu-divider{border:none;border-top:1px solid var(--line);margin:0}.programme-menu-item:hover{background:var(--surface-strong);border-color:var(--line)}.programme-menu-item.active{background:var(--active);border-color:var(--accent)}.programme-menu-item.empty-slot{cursor:default;background:transparent;opacity:.5;border:1px dashed var(--line);margin:4px 0;border-radius:10px;padding:var(--space-3)}.programme-menu-item.empty-slot .programme-menu-code{color:var(--muted)}.programme-menu-item.empty-slot .programme-menu-name{font-style:italic}.programme-menu-code{font-size:.72rem;font-weight:700;color:var(--muted);letter-spacing:.04em}.programme-menu-name{font-size:.82rem;font-weight:600;color:var(--ink);line-height:1.3}.programme-menu-bottom{display:flex;flex-direction:row;align-items:center;justify-content:space-between;margin-top:2px}.programme-menu-score-value{font-size:.9rem;font-weight:800;color:var(--accent)}.programme-menu-tags{display:flex;flex-direction:row;align-items:center;gap:4px}.status.mini,.band.mini{font-size:.65rem;padding:1px 6px;border-radius:6px}.eligibility-row{grid-template-columns:minmax(150px,1.2fr) 52px minmax(92px,.8fr) minmax(0,1.4fr) auto}.audit-row{flex-direction:row;align-items:stretch;flex-wrap:nowrap}.audit-row-top,.audit-row-bottom{display:contents}.audit-subject{flex:0 0 180px;order:1}.audit-metric{flex:1;order:2}.audit-row-top .audit-total{flex:1;order:3;border:1px solid color-mix(in srgb,var(--line) 72%,transparent);background:var(--surface-strong);text-align:center;padding:var(--space-2)}.audit-row-top .audit-total b{color:var(--accent);font-size:.88rem;font-weight:900}.audit-row-top .audit-total em{text-align:center}.stepper-panel .grade-section-title:first-child{margin-top:24px}.stepper-panel .grade-grid,.stepper-panel .elective-block{max-width:100%}.grade-grid .field,.elective-row{grid-template-columns:320px 1fr;align-items:center;gap:var(--space-3)}.stepper-panel .filters-sticky-group{display:block;position:sticky;top:45px;z-index:28;background:var(--surface-mix);border-bottom:1px solid var(--line);border-radius:20px 20px 0 0;margin:0;transition:box-shadow .2s ease}.stepper-panel .filters-sticky-group.is-stuck{box-shadow:0 8px 18px #1d2a2f14}.stepper-panel .filters-panel.mobile-closed{display:none}.stepper-panel .filters-panel{padding:16px var(--space-5)}.stepper-panel .search-field>span,.stepper-panel .filter-label-text{display:none}.stepper-panel .institution-filter-group{display:flex;flex-wrap:nowrap;gap:var(--space-2)}.stepper-panel .institution-pills{display:contents}.stepper-panel .institution-filter-group .pill{flex:1 1 0}.stepper-panel .filters-topline{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-2) var(--space-3);align-items:center;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--line)}.stepper-panel .filters-topline .filters-title{grid-column:1;grid-row:1}.stepper-panel .filters-topline .filters-controls{display:contents}.stepper-panel .filters-topline .search-row{grid-column:1 / -1;grid-row:2}.stepper-panel .filters-title-count{margin-top:var(--space-1)}.stepper-panel .preference-planner{top:156px;z-index:27}.desktop-detail-column .programme-menu{display:none}.desktop-detail-column .detail-picker{display:grid}.desktop-detail-column .detail-layout{display:block}.desktop-detail-column .detail-panel{position:static;max-height:calc(100vh - 128px)}.desktop-grade-column .grade-grid .field,.desktop-grade-column .elective-row{grid-template-columns:1fr;align-items:stretch;gap:var(--space-2)}.desktop-grade-column .grade-section-title:first-child{margin-top:0}.desktop-grade-column .grade-grid,.desktop-grade-column .elective-block{gap:var(--space-4)}.desktop-grade-column .grade-chip{min-height:30px;font-size:.74rem}.desktop-grade-column .grade-title-summary{grid-template-columns:repeat(5,minmax(0,1fr))}}.stepper-panel .grade-actions .ghost-button{padding:var(--space-1) var(--space-3);font-size:.78rem}.stepper-panel .table-shell{max-height:calc(100vh - 260px)}.stepper-panel .detail-panel{position:static;max-height:none;overflow:visible;max-width:100%}.stepper-panel .done-button,.stepper-panel .mobile-collapse-toggle{display:none!important}.stepper-footer{position:fixed;bottom:0;left:0;right:0;z-index:50;display:grid;grid-template-columns:minmax(110px,1fr) auto;align-items:center;gap:var(--space-3);width:min(1080px,calc(100% - var(--space-6)));margin:0 auto var(--space-3);padding:8px;border:1px solid var(--line);border-radius:22px;background:var(--surface-strong);box-shadow:0 -1px 2px #1d2a2f08}.stepper-footer .ghost-button{min-height:44px;border-radius:16px;border-color:transparent;background:transparent;color:var(--muted);padding:0 var(--space-4);font-size:.9rem;font-weight:800;box-shadow:none;white-space:nowrap;flex-shrink:0;transition:background .16s ease,color .16s ease,border-color .16s ease,transform .16s ease}.stepper-footer .ghost-button:hover,.stepper-footer .ghost-button:focus-visible{border-color:var(--line);background:color-mix(in srgb,var(--ink) 5%,transparent);color:var(--ink);outline:none}.stepper-footer .ghost-button:disabled{opacity:.42;cursor:not-allowed;color:var(--muted);background:transparent}.stepper-footer .ghost-button:disabled:hover{border-color:transparent;background:transparent;color:var(--muted)}.stepper-footer .ghost-button:active,.stepper-next-btn:active{transform:translateY(1px)}.stepper-next-btn{min-height:48px;border-radius:17px;padding:0 var(--space-5);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);border:1px solid color-mix(in srgb,var(--accent) 86%,black);background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 92%,white),var(--accent));color:#fff;font-weight:900;font-size:.92rem;white-space:nowrap;cursor:pointer;box-shadow:0 2px 6px #0000001f;transition:opacity .16s ease,transform .16s ease,box-shadow .16s ease}.stepper-next-btn:hover{opacity:.94;box-shadow:0 4px 10px #00000029}.share-btn-icon-mirror{visibility:hidden}.stepper-next-btn:disabled{opacity:.38;cursor:not-allowed}:root[data-theme=dark] .stepper-next-btn{color:#15120f}:root[data-theme=dark] .stepper-footer{background:var(--surface-strong);box-shadow:0 -1px 2px #0000001f}.stepper-footer-left{display:flex;align-items:center;justify-content:flex-start;min-width:0}.stepper-footer-right{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);min-width:0}.stepper-footer-info{color:var(--muted);font-size:.86rem;font-weight:700}@media(max-width:1380px){.workspace{grid-template-columns:300px minmax(520px,1fr)}.mobile-stepper-flow .detail-panel{grid-column:1 / -1;position:static;max-height:none;overflow:visible}.mobile-stepper-flow .detail-panel .detail-header{position:sticky;top:45px;z-index:26;background:var(--surface-mix);border-radius:20px 20px 0 0;border-bottom:1px solid transparent;box-shadow:none;transition:box-shadow .2s ease,border-color .2s ease}.mobile-stepper-flow .detail-panel .detail-header.is-stuck{box-shadow:0 8px 18px #1d2a2f14;border-bottom-color:var(--line)}}@media(max-width:920px){html,body{height:100%;overflow:hidden;overscroll-behavior-y:none}.app-shell{display:block;height:100dvh;padding:0 var(--space-4) 80px;box-sizing:border-box;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.stepper-content{overflow:visible}.stepper-bar{margin:0 calc(-1 * var(--space-4)) 0;padding:8px var(--space-4)}.stepper-step{padding:4px 10px 4px 4px;font-size:.78rem;gap:6px}.stepper-badge{width:20px;height:20px;font-size:.7rem}.stepper-connector{flex-basis:16px}.stepper-footer{grid-template-columns:auto minmax(0,1fr);width:calc(100% - var(--space-4));margin-bottom:var(--space-2);padding:6px;gap:var(--space-2);border-radius:18px}.stepper-footer .ghost-button{min-height:40px;padding:0 10px;font-size:.82rem}.stepper-next-btn{min-height:42px;width:100%;min-width:0;padding:0 12px;font-size:.82rem;gap:6px}.stepper-next-btn svg{width:14px;height:11px}.stepper-footer-right{gap:var(--space-2);min-width:0;justify-content:flex-end}.stepper-footer-right.is-share-mode{display:grid;grid-auto-flow:column;grid-auto-columns:1fr}.app-topbar{align-items:center;gap:var(--space-2);margin:0 calc(-1 * var(--space-4)) 0;padding:var(--space-2) var(--space-4) 0;background:var(--bg)}.app-brand-name{font-size:1.15rem;letter-spacing:-.025em}.app-brand-year{margin-left:.14em}.profile-chip-button{min-height:32px;padding:0 9px;font-size:.78rem;max-width:128px}.topbar-edit-profile{min-height:32px;padding:0 11px;font-size:.78rem}.profile-chip-sep{display:none}.topbar-icon{width:32px;height:32px}.app-topbar-actions{gap:4px;min-width:0}.app-brand{gap:var(--space-2)}.workspace{grid-template-columns:1fr}.left-rail{position:static}.panel{border-radius:22px;padding:var(--space-4)}.step2-panel{padding:0;position:relative;overflow:visible}.filters-panel{position:relative;z-index:1;margin:0;padding:var(--space-2) var(--space-4);max-height:520px;overflow:hidden;gap:var(--space-2);border:0;border-top:1px solid var(--line);border-radius:0 0 20px 20px;background:var(--surface-mix);transition:max-height .26s ease,opacity .18s ease,transform .22s ease}.preference-planner{margin:0;padding:5px var(--space-4) 6px;border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--surface-mix) 94%,transparent)}.preference-note,.preference-remove-row{display:none}.preference-line-label,.preference-text,.preference-extra,.preference-empty{font-size:.62rem}.filters-panel.mobile-closed{max-height:0;opacity:0;padding-top:0;padding-bottom:0;border-top-width:0;transform:translateY(-8px);pointer-events:none}.grade-panel{position:relative;overflow:hidden;transition:padding .3s cubic-bezier(.22,1,.36,1),margin .3s cubic-bezier(.22,1,.36,1),border-color .3s ease,background .3s ease}.grade-panel .field,.grade-panel .elective-row{min-width:0}.grade-panel .grade-buttons{min-width:0;max-width:100%}.grade-panel .grade-chip{min-width:0;padding:0 2px;font-size:.74rem}.grade-panel .panel-heading,.filters-sticky-group,.detail-panel .detail-header,.mc-panel .panel-heading{position:sticky;top:45px;z-index:26;background:var(--surface-mix);border:0;border-bottom:1px solid var(--line);border-radius:20px 20px 0 0;box-shadow:none;transition:box-shadow .2s ease;margin:calc(-1 * var(--space-4)) calc(-1 * var(--space-4)) 0;padding:var(--space-3) var(--space-4) var(--space-2)}.grade-panel .panel-heading.is-stuck,.filters-sticky-group.is-stuck,.detail-panel .detail-header.is-stuck,.mc-panel .panel-heading.is-stuck{box-shadow:0 8px 18px #1d2a2f14}.sticky-sentinel{height:0;visibility:hidden}.filters-sticky-group{display:block;padding:0}.filters-sticky-group.filters-open{border-radius:20px 20px 0 0}.filters-sticky-group .filters-topline{margin:0;padding:var(--space-3) var(--space-4) var(--space-3)}.filters-sticky-group.filters-open .filters-topline{border-bottom:0;border-radius:20px 20px 0 0}.grade-panel .panel-heading,.mc-panel .panel-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:var(--space-3)}:root[data-theme=dark] .grade-panel .panel-heading.is-stuck,:root[data-theme=dark] .filters-sticky-group.is-stuck,:root[data-theme=dark] .detail-panel .detail-header.is-stuck{box-shadow:0 10px 22px #0000003d}.grade-panel .panel-heading h2,.filters-topline h2,.detail-panel .detail-header h2{font-size:1.05rem;line-height:1.15;letter-spacing:-.015em}.grade-title-summary{grid-column:1 / -1;margin-top:var(--space-2);max-width:100%}.grade-summary-cell{border-radius:10px;padding:var(--space-1) var(--space-1) var(--space-2)}.grade-summary-cell b{font-size:.52rem}.grade-summary-cell b.compact-label{font-size:.48rem}.grade-summary-cell em{font-size:.84rem}.grade-panel .panel-heading .grade-title-summary{margin-top:0}.grade-panel .panel-heading .eyebrow,.filters-topline .eyebrow,.detail-panel .detail-header .eyebrow{margin-bottom:2px;font-size:.65rem;letter-spacing:.06em}.filters-topline p{margin-top:0;font-size:.78rem}.grade-panel.mobile-collapsed .panel-heading{margin-bottom:0;border-radius:20px;border-bottom-color:transparent}.grade-panel.mobile-collapsed{margin-bottom:calc(-1 * var(--space-2));padding:var(--space-4)}.detail-panel,.results-panel{position:relative;overflow:visible}.detail-panel .detail-header{display:block}.detail-panel .detail-header h2{display:-webkit-box;overflow:hidden;-webkit-line-clamp:2;font-size:.98rem}.detail-panel .zh-name{display:-webkit-box;-webkit-line-clamp:1;overflow:hidden}.detail-panel .detail-badges{gap:var(--space-2);margin-top:var(--space-3)}.filters-panel .institution-filter-group{display:flex;align-items:center;gap:var(--space-2);padding-top:0;min-width:0;max-width:100%}.filters-panel .institution-pills{display:flex;flex:1 1 0;min-width:0;width:0;gap:6px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:2px 0;-webkit-mask-image:linear-gradient(to right,#000 0%,#000 92%,transparent 100%);mask-image:linear-gradient(to right,#000 0%,#000 92%,transparent 100%)}.filters-panel .institution-pills::-webkit-scrollbar{display:none}.filters-panel .institution-pills .pill,.filters-panel .institution-reset{flex:0 0 auto;padding:5px 10px;font-size:.74rem;border-radius:8px;min-height:30px}.filters-panel .institution-reset{padding-inline:8px}.detail-panel .score-hero{margin-top:0}.grade-actions{align-items:center;flex-shrink:0;gap:var(--space-2)}.grade-actions .ghost-button{padding:var(--space-1) var(--space-3);font-size:.78rem}.mobile-collapse-toggle,.grade-summary,.done-button{display:flex}.grade-summary{margin-top:var(--space-3);border:1px solid var(--line);border-radius:16px;background:var(--row-bg);padding:var(--space-3);flex-direction:column;gap:var(--space-1);transition:max-height .26s ease,opacity .2s ease,margin .26s ease,padding .26s ease}.grade-panel.mobile-collapsed .grade-summary{max-height:0;opacity:0;margin-top:0;padding-top:0;padding-bottom:0;border-width:0;overflow:hidden}.grade-summary span{color:var(--muted);font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.grade-summary strong{color:var(--ink);font-size:.95rem}.grade-panel-body{overflow:hidden;transition:max-height .3s cubic-bezier(.22,1,.36,1),opacity .22s ease,margin-top .3s cubic-bezier(.22,1,.36,1)}.grade-panel.mobile-collapsed .grade-panel-body{max-height:0;margin-top:0;opacity:0;pointer-events:none}.grade-panel:not(.mobile-collapsed) .grade-panel-body{max-height:1200px;opacity:1;margin-top:var(--space-4)}.done-button,.grade-reset-button{flex:1 1 0;min-height:46px;display:inline-flex;align-items:center;justify-content:center;border-radius:16px;font-weight:950;font-size:.92rem;padding:0 var(--space-3);cursor:pointer}.done-button{border:1px solid var(--accent);background:var(--accent);color:var(--bg)}.grade-reset-button{border:1px solid var(--line);background:transparent;color:var(--muted);font-weight:700}.grade-footer-actions{display:flex;gap:var(--space-2);margin-top:var(--space-4);flex-wrap:wrap}:root[data-theme=dark] .done-button{color:#15120f}.filters-topline{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-1) var(--space-2);align-items:center;padding:var(--space-2) var(--space-4) var(--space-2)}.filters-title{grid-column:1 / -1;grid-row:1;display:block}.filters-controls{display:contents}.search-row{grid-column:1 / -1;grid-row:3}.filter-toggle{display:inline-flex;width:34px;height:34px}.compact-toggle{display:inline-flex;width:34px;height:34px;padding:0}.compact-toggle span{display:none}.selection-actions{grid-column:1 / -1;grid-row:3;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:var(--space-2)}.review-selected-button,.reset-selected-button{min-height:40px;border-radius:13px;font-size:.84rem}.search-field{grid-column:1 / -1;grid-row:2;width:100%;gap:var(--space-1)}.search-field span{display:none}.search-field input{min-height:34px;border-radius:11px;padding-left:var(--space-3);padding-right:var(--space-6);font-size:.84rem}.advanced-filters{grid-template-columns:auto auto 1fr;gap:4px;font-size:.72rem}.advanced-filters .pill{font-size:.68rem;padding:3px 8px;min-height:28px;white-space:nowrap}.score-range-filter{font-size:.72rem}.score-range-filter .filter-label-text{display:none}.score-range-filter select{min-height:28px;border-radius:9px;font-size:.72rem;padding-right:var(--space-4);width:100%}.benchmark-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2)}.benchmark-card{min-width:0;padding:var(--space-4)}.benchmark-card strong{font-size:1.22rem}.benchmark-card span{font-size:.74rem}.benchmark-card small{display:grid;gap:var(--space-1);font-size:.78rem}.eligibility-row{grid-template-columns:minmax(0,1fr) auto auto;gap:5px var(--space-2);padding:8px 10px}.eligibility-subject{grid-column:1 / 2}.eligibility-grade{grid-column:2 / 3}.eligibility-result{grid-column:3 / 4}.eligibility-need,.eligibility-note{grid-column:1 / -1}.table-shell{display:none}.result-cards{display:grid;gap:7px;padding:0;margin-top:var(--space-3);max-height:none;overflow:visible;opacity:1;transition:max-height .28s ease,opacity .22s ease,padding .28s ease}.selection-tray{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-3);margin:var(--space-3) var(--space-4) 0;padding:var(--space-3);border:1px solid var(--line);border-radius:18px;background:var(--surface-mix)}.selection-tray>div{display:grid;gap:var(--space-1);min-width:0}.selection-tray strong{font-size:.9rem}.selection-tray span{overflow:hidden;color:var(--muted);font-size:.78rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.selection-tray button{min-height:38px;border:1px solid var(--accent);border-radius:999px;background:var(--accent);color:var(--bg);padding-inline:var(--space-3);font-size:.78rem;font-weight:950;white-space:nowrap}:root[data-theme=dark] .selection-tray button{color:#15120f}.selected-programme-summary{display:none;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:var(--space-3);padding:var(--space-4);background:var(--surface-mix)}.selected-programme-summary>div{display:grid;gap:var(--space-2);min-width:0}.selected-programme-list{display:grid;gap:var(--space-2);max-height:168px;overflow:auto;padding-right:var(--space-1)}.selected-programme-pill{display:grid;gap:var(--space-1);min-width:0;width:100%;border:1px solid var(--line);border-radius:15px;background:var(--surface-strong);color:var(--ink);padding:var(--space-2) var(--space-3);text-align:left}.selected-programme-pill.active{border-color:var(--accent);background:var(--active)}.selected-programme-pill span,.selected-programme-pill strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selected-programme-pill span{color:var(--accent);font-size:.72rem;font-weight:950}.selected-programme-pill strong{font-size:.86rem}.selected-programme-summary small{color:var(--muted)}.results-panel.mobile-collapsed .result-cards{max-height:0;opacity:0;overflow:hidden;padding-top:0;padding-bottom:0;pointer-events:none}.results-panel.mobile-collapsed .selection-tray{display:none}.results-panel.mobile-collapsed .selected-programme-summary{display:grid;animation:collapseIn .22s ease both}.grade-buttons{overflow-x:visible}.grade-chip{flex:1 1 0;min-width:0;padding-inline:var(--space-1);font-size:.72rem}.mobile-card{display:grid;gap:8px;width:100%;border:1px solid var(--line);border-radius:14px;background:var(--surface-strong);color:var(--ink);padding:10px 12px;text-align:left;cursor:pointer;appearance:none;font:inherit}.mobile-card.selected,.mobile-card.picked{border-color:var(--accent);background:var(--active)}.mobile-card .pick-button{width:18px;height:18px;flex-basis:18px}.mobile-card .selected-slot-badge{min-width:26px;height:19px;padding-inline:7px;font-size:.66rem}.card-topline{display:flex;align-items:center;gap:var(--space-2);color:var(--muted);font-size:.76rem;font-weight:900}.card-topline .status{margin-left:auto}.card-code{color:var(--accent);letter-spacing:.04em}.card-focus-button,.mobile-card-main{display:inline-flex;min-width:0;border:0;background:transparent;color:inherit;padding:0;text-align:left}.card-focus-button{align-items:center;gap:var(--space-2);font-size:inherit;font-weight:inherit}.mobile-card-main{display:grid;gap:6px}.mobile-card-main>strong{font-size:.88rem;line-height:1.16;letter-spacing:-.02em}.card-zh{color:var(--muted);line-height:1.18;font-size:.74rem}.compact-score-strip{display:none}.card-score-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);border-top:1px solid var(--line);padding-top:8px}.card-score-row>span:first-child{display:grid;gap:var(--space-1)}.card-score-row em{color:var(--muted);font-size:.68rem;font-style:normal;font-weight:800}.card-score-row b{color:var(--ink);font-size:1.08rem;line-height:1;letter-spacing:-.05em}.card-benchmarks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2)}.benchmark-chip{display:grid;gap:3px;border:1px solid var(--line);border-radius:10px;background:var(--row-bg);padding:6px;text-align:center}.benchmark-chip em{color:var(--muted);font-size:.62rem;font-style:normal;font-weight:900;text-transform:uppercase}.benchmark-chip b{font-size:.74rem;line-height:1}.benchmark-chip strong{color:var(--ink);font-size:.74rem;line-height:1}.benchmark-chip.positive b{color:var(--good)}.benchmark-chip.negative b{color:var(--bad)}.compact-results{gap:1px;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--line)}.compact-results .mobile-card{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:6px;border:0;border-radius:0;padding:7px 9px;background:var(--surface-strong)}.compact-results .mobile-card.picked,.compact-results .mobile-card.selected{background:var(--active);box-shadow:inset 3px 0 0 var(--accent)}.compact-results .card-topline{display:contents}.compact-results .card-focus-button{grid-column:1;display:flex;align-items:baseline;gap:6px;min-width:0}.compact-results .card-focus-button>span:last-child{color:var(--muted);font-size:.72rem}.compact-results .card-topline .status{grid-column:2;margin-left:0}.compact-results .mobile-card .pick-button{grid-column:3}.compact-results .mobile-card-main{grid-column:1 / 3;min-width:0}.compact-results .mobile-card-main>strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem}.compact-results .compact-score-strip{grid-column:1 / 4;display:grid;grid-template-columns:auto repeat(3,minmax(0,1fr));align-items:center;gap:5px;min-width:0;color:var(--muted)}.compact-score-strip>b{color:var(--ink);font-size:.88rem;line-height:1}.compact-benchmark{display:inline-flex;align-items:center;justify-content:center;gap:3px;min-width:0;border-radius:999px;background:var(--row-bg);padding:3px 5px;font-size:.66rem;font-weight:850}.compact-benchmark em{color:var(--muted);font-style:normal}.compact-benchmark strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:inherit;font-size:.66rem}.compact-benchmark.positive{color:var(--good)}.compact-benchmark.negative{color:var(--bad)}.compact-results .card-zh,.compact-results .card-score-row,.compact-results .card-benchmarks{display:none}}@keyframes collapseIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media(max-width:560px){.stepper-connector{min-width:var(--space-2)}}@media(max-width:400px){.app-brand-name{font-size:1.05rem}.profile-chip-button{max-width:100px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}@media(max-width:560px){.app-topbar{margin-bottom:0;padding-block:var(--space-2) 0}.topbar-link{padding:6px 8px;font-size:.82rem}.topbar-icon{width:32px;height:32px}.panel{border-radius:20px;padding:var(--space-4)}.elective-row,.compact-table>div{grid-template-columns:1fr}}.about-view{max-width:760px}.about-doc{width:min(640px,100%);margin:0 auto;display:flex;flex-direction:column;gap:var(--space-4);padding-top:var(--space-2);animation:about-doc-in .36s cubic-bezier(.22,1,.36,1) both}@keyframes about-doc-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.about-hero{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-1)}.about-hero .eyebrow{margin:0}.about-title{font-family:Times New Roman,"Source Serif Pro",ui-serif,Georgia,serif;font-size:clamp(1.9rem,6vw,2.5rem);font-weight:800;letter-spacing:-.02em;line-height:1.04;margin:0;color:var(--ink)}.about-title-year{color:var(--accent);margin-left:.18em}.about-lede{margin:var(--space-1) 0 0;color:var(--muted);font-size:1.02rem;line-height:1.55}.about-facts{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2)}.about-facts li{display:flex;flex-direction:column;align-items:center;gap:2px;padding:var(--space-3) var(--space-2);border:1px solid var(--line);border-radius:14px;background:var(--surface-strong);text-align:center}.about-facts strong{font-size:1.3rem;font-weight:900;color:var(--accent);letter-spacing:-.01em;font-variant-numeric:tabular-nums}.about-facts span{font-size:.72rem;font-weight:700;color:var(--muted);letter-spacing:.01em}.about-card{display:flex;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--line);border-radius:16px;background:var(--surface-mix);box-shadow:var(--shadow)}.about-card-icon{flex:0 0 auto;display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:var(--soft-neutral);color:var(--accent)}.about-card-text{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.about-card-text h2{margin:0;font-size:1.02rem;font-weight:800;color:var(--ink);letter-spacing:-.01em}.about-card-text p{margin:0;color:var(--ink);font-size:.92rem;line-height:1.55}.about-source-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-1)}.about-source-btn{align-self:flex-start;display:inline-flex;align-items:center;padding:7px 14px;border-radius:999px;border:1px solid var(--line);background:var(--surface-strong);color:var(--accent);font-size:.85rem;font-weight:800;text-decoration:none;transition:border-color .14s ease,background .14s ease,transform .12s ease}.about-source-btn:hover,.about-source-btn:focus-visible{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));background:color-mix(in srgb,var(--accent) 8%,var(--surface-strong));outline:none}.about-source-btn:active{transform:translateY(1px)}.about-source-btn.is-secondary{color:var(--muted)}.about-source-btn.is-secondary:hover,.about-source-btn.is-secondary:focus-visible{border-color:var(--line);background:color-mix(in srgb,var(--ink) 5%,var(--surface-strong));color:var(--ink)}.about-version{margin-top:var(--space-2);padding-top:var(--space-4);border-top:1px solid var(--line);font-size:.78rem;color:var(--muted);letter-spacing:.02em;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.about-social{display:inline-flex;align-items:center;gap:var(--space-3)}.about-social a{display:inline-flex;color:var(--muted);transition:color .16s ease,transform .16s ease}.about-social a:hover,.about-social a:focus-visible{color:var(--ink);transform:translateY(-1px);outline:none}.about-version code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.82rem;color:var(--ink);background:var(--row-bg);padding:1px 6px;border-radius:5px;border:1px solid var(--line)}.topbar-back{display:inline-grid;place-items:center;width:36px;height:36px;flex:0 0 auto;margin-right:var(--space-1);padding:0;border:0;border-radius:10px;background:transparent;color:var(--muted);cursor:pointer;transition:color .16s ease,background .16s ease,transform .12s ease}.topbar-back:hover,.topbar-back:focus-visible{color:var(--ink);background:color-mix(in srgb,var(--ink) 6%,transparent);outline:none}.topbar-back:active{transform:translate(-2px)}.share-view{max-width:1120px;display:flex;flex-direction:column;gap:var(--space-4);animation:share-view-in .36s cubic-bezier(.22,1,.36,1) both}@keyframes share-view-in{0%{opacity:0;transform:translate(28px)}to{opacity:1;transform:none}}.share-view.is-exiting{animation:share-view-out .28s cubic-bezier(.4,0,1,1) both}@keyframes share-view-out{0%{opacity:1;transform:none}to{opacity:0;transform:translate(28px)}}@media(prefers-reduced-motion:reduce){.share-view,.share-view.is-exiting{animation:none}}.share-profile-card{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:var(--space-4);margin-top:calc(16px - var(--space-6));background:linear-gradient(135deg,#ffffff,var(--surface))}.share-profile-card>div{display:grid;gap:3px}.share-profile-card strong{font-size:1.1rem;font-weight:800;letter-spacing:-.02em}.share-profile-card span{color:var(--muted);font-size:.88rem;font-weight:750}.share-section{display:grid;gap:var(--space-4)}.share-section-heading{display:grid;gap:var(--space-1)}.share-section-heading h1{margin:0;font-size:clamp(1.5rem,3vw,2.3rem);letter-spacing:-.04em}.recap-card{width:min(420px,100%);display:grid;grid-template-rows:auto 1fr auto;gap:var(--space-2);margin:0 auto;padding:var(--space-3) var(--space-4);border-radius:24px;border:1px solid var(--line);background:var(--recap-base, var(--surface))}:root:not([data-theme=dark]) .recap-card{--recap-base: color-mix(in srgb, var(--surface) 38%, white)}.recap-card-top{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:.82rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.recap-card-top b{color:var(--ink)}.recap-footnote{margin:0;color:var(--muted)}.recap-bars{display:flex;flex-direction:column;gap:6px}.recap-bar{position:relative;display:flex;flex-direction:column;padding:9px 12px 9px 16px;border:1px solid var(--line);border-radius:14px;background:var(--surface-strong);overflow:hidden}.recap-bar:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--line)}.recap-bar.filled{--band-tone: var(--accent)}.recap-bar.filled.band-above-uq,.recap-bar.filled.band-above-median{--band-tone: var(--good)}.recap-bar.filled.band-above-lq{--band-tone: var(--warn)}.recap-bar.filled.band-below-lq{--band-tone: var(--bad)}.recap-bar.filled.band-no-score{--band-tone: var(--muted)}.recap-bar.filled{background:color-mix(in srgb,var(--band-tone) 7%,var(--surface-strong));border-color:color-mix(in srgb,var(--band-tone) 42%,var(--line))}.recap-bar.filled:before{background:var(--band-tone)}.recap-bar.filled .band{background:var(--band-tone);color:var(--surface-strong);border-color:transparent}.recap-bar.filled .recap-bar-slot{background:var(--band-tone);color:var(--surface-strong)}.recap-bar-slot{display:inline-flex;align-items:center;justify-content:center;width:34px;height:22px;padding:0;border-radius:999px;font-size:.72rem;font-weight:900;letter-spacing:.04em;font-variant-numeric:tabular-nums;color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);flex:0 0 auto;box-sizing:border-box}.recap-bar-headline{display:grid;grid-template-columns:34px max-content minmax(0,1fr) auto;align-items:center;column-gap:var(--space-2);row-gap:4px;min-width:0}.recap-bar-headline>b.band{justify-self:end;align-self:center}.recap-bar-headline>.recap-bar-name{grid-column:1 / -1;min-width:0}.recap-bar .mc-track-wrap{margin:23px 4px 16px}.recap-bar .mc-score-bubble{bottom:9px;padding:2px 6px 1px;font-size:.72rem;border-width:1px}.recap-bar .mc-score-bubble:after{bottom:-4px;border-left-width:4px;border-right-width:4px;border-top-width:4px}.recap-bar .mc-tick-label{top:11px}.recap-bar .mc-tick-label em,.recap-bar .mc-tick-label b{font-size:.62rem}.recap-bar .mc-tick{top:-2px;bottom:0;width:2px}.recap-bar-headline strong{color:var(--ink);font-size:.95rem;font-weight:900;letter-spacing:.01em;flex:0 0 auto}.recap-bar-inst{font-size:.7rem;font-weight:800;color:var(--muted);letter-spacing:.04em;text-transform:uppercase;flex:0 0 auto}.recap-bar-name{font-style:normal;display:flex;flex-direction:column;min-width:0;line-height:1.25;margin-top:2px}.recap-bar-name-en{font-size:.8rem;font-weight:800;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recap-bar-name-zh{font-size:.74rem;font-weight:600;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recap-bar b.band{font-size:.72rem}.recap-footnote{font-size:.62rem;line-height:1.3;letter-spacing:.02em;text-align:center}.recap-toggle{display:inline-flex;align-items:center;gap:10px;align-self:center;margin-top:calc(-1 * var(--space-2));padding:6px 14px 6px 8px;border:1px solid var(--line);border-radius:999px;background:var(--surface-strong);color:var(--muted);font-size:.82rem;font-weight:700;cursor:pointer;-webkit-user-select:none;user-select:none}.recap-toggle:has(input:checked){border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--surface-strong))}.recap-toggle input{appearance:none;-webkit-appearance:none;width:26px;height:14px;min-height:0;padding:0;border:none;margin:0;border-radius:999px;background:color-mix(in srgb,var(--muted) 30%,var(--surface));background-color:color-mix(in srgb,var(--muted) 30%,var(--surface));cursor:pointer;display:inline-block;flex:0 0 auto;position:relative;transition:background .16s ease}.recap-toggle input:after{content:"";position:absolute;top:1.5px;left:1.5px;width:11px;height:11px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:transform .16s ease}.recap-toggle input:checked{background:var(--accent);background-color:var(--accent)}.recap-toggle input:checked:after{transform:translate(12px)}.advisor-section{padding-top:var(--space-5);border-top:1px solid var(--line)}.advisor-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3)}.advisor-summary>div{display:grid;gap:var(--space-1);border:1px solid var(--line);border-radius:18px;background:var(--surface-mix);padding:var(--space-4)}.advisor-summary span{color:var(--muted);font-size:.76rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.advisor-summary strong{font-size:1rem;line-height:1.25}.share-results-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5)}.share-result-card{display:flex;flex-direction:column;gap:24px;overflow:hidden}.share-result-card h2{font-size:1.2rem}.share-list{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:16px;overflow:hidden}.share-list--benchmark .share-list-header,.share-list--benchmark .share-list-row{display:grid;grid-template-columns:40% 60px 72px 1fr;align-items:center;gap:0}.share-list--eligibility .share-list-header,.share-list--eligibility .share-list-row{display:grid;grid-template-columns:40% 64px 1fr;align-items:center;gap:0}.share-list-header{padding:var(--space-2) var(--space-4);background:var(--surface-strong);border-bottom:1px solid var(--line);font-size:.72rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.share-list-header span:not(:first-child){text-align:right}.share-list--benchmark .share-list-header span:nth-child(2),.share-list--eligibility .share-list-header span:nth-child(2){text-align:left;justify-self:start}.share-list-row{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--line)}.share-list-row:last-child{border-bottom:none}.share-list-label{font-size:.82rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.share-list-row strong{font-size:1rem;font-weight:800;letter-spacing:-.02em;justify-self:start;text-align:left}.share-list-row b,.share-list-row em{font-size:.85rem;font-style:normal;justify-self:end}.share-list-row.positive b{color:var(--accent)}.share-list-row.negative b{color:var(--accent-2)}.share-list-requirement{display:flex;flex-direction:column;gap:2px;align-items:flex-end;justify-self:end;text-align:right}.share-list-requirement em{font-style:normal;font-size:.85rem}.share-list-requirement small{font-size:.75rem;color:var(--muted);text-align:right}.share-result-card .detail-badges{margin-top:-12px}.share-result-card .grade-section-divider{margin:-12px calc(-1 * var(--space-5)) 0}.share-panel-heading{align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.share-panel-heading .step-title-content h2{margin:0;font-size:clamp(1.6rem,2.4vw,2.1rem);letter-spacing:-.02em}.profile-name-row{display:flex;align-items:center;gap:var(--space-2)}.profile-name-edit{flex:0 0 auto;display:inline-grid;place-items:center;width:30px;height:30px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--muted);cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease}.profile-name-edit:hover,.profile-name-edit:focus-visible{color:var(--accent);border-color:var(--accent);background:var(--hover);outline:none}.profile-switch{position:relative;display:inline-flex}.profile-switch-select{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;border:0;opacity:0;cursor:pointer;-webkit-appearance:none;appearance:none}.profile-switch:focus-within .profile-name-edit,.profile-switch:hover .profile-name-edit{color:var(--accent);border-color:var(--accent);background:var(--hover)}.share-panel-stats{margin:var(--space-1) 0 0;color:var(--muted);font-size:.95rem}.share-panel-actions{display:flex;align-items:center;gap:var(--space-2);flex-wrap:nowrap;max-width:100%;overflow-x:auto;scrollbar-width:none}.share-panel-actions::-webkit-scrollbar{display:none}.share-panel-actions .share-action{flex:0 0 auto}.share-panel-body{display:flex;flex-direction:column;gap:var(--space-5);margin-top:var(--space-5)}.share-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);padding:0}.share-header-text{display:flex;flex-direction:column;gap:4px;min-width:0}.share-header-actions{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.share-profile-switch{position:relative;display:inline-flex;align-items:center}.share-profile-switch>span{position:absolute;top:-8px;left:12px;padding:0 4px;background:var(--bg);font-size:.6rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);pointer-events:none}.share-profile-switch select{appearance:none;-webkit-appearance:none;padding:9px 32px 9px 14px;border:1px solid var(--line);border-radius:12px;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path d='M1 1l4 4 4-4' fill='none' stroke='%23999' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat right 12px center / 10px 6px,var(--surface-strong);color:var(--ink);font-weight:700;font-size:.86rem;cursor:pointer;min-width:140px;max-width:220px}.share-profile-switch select:focus,.share-profile-switch select:hover{outline:none;border-color:var(--accent)}.share-header-text h1{margin:0;font-size:clamp(1.6rem,3.4vw,2.4rem);letter-spacing:-.04em;font-weight:950;line-height:1.1}.share-header-stats{margin:0;color:var(--muted);font-size:.92rem;font-weight:700;line-height:1.4}.share-disclaimer{margin:0;padding:var(--space-3) var(--space-4);border:1px solid var(--line);border-radius:14px;background:var(--surface-strong);color:var(--muted);font-size:.82rem;line-height:1.5}.analysis-view{max-width:760px}.analysis-verdict{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--line);border-radius:16px;background:var(--surface-strong)}.analysis-verdict-icon{display:grid;place-items:center;width:40px;height:40px;flex:0 0 auto;border-radius:12px;color:#fff}.analysis-verdict-text{display:flex;flex-direction:column;gap:2px;min-width:0}.analysis-verdict-text strong{font-size:1.1rem;letter-spacing:-.01em}.analysis-verdict-text span{color:var(--muted);font-size:.9rem}.analysis-verdict.tone-good{border-color:color-mix(in srgb,var(--good) 40%,var(--line));background:var(--soft-good)}.analysis-verdict.tone-warning{border-color:color-mix(in srgb,var(--warn) 45%,var(--line));background:var(--soft-warn)}.analysis-verdict.tone-critical{border-color:color-mix(in srgb,var(--bad) 45%,var(--line));background:var(--soft-bad)}.analysis-verdict.tone-good .analysis-verdict-icon{background:var(--good)}.analysis-verdict.tone-warning .analysis-verdict-icon{background:var(--warn)}.analysis-verdict.tone-critical .analysis-verdict-icon{background:var(--bad)}.analysis-verdict.tone-info .analysis-verdict-icon{background:var(--accent-2)}.analysis-snapshot,.analysis-findings{border:1px solid var(--line);border-radius:16px;background:var(--surface-strong);padding:var(--space-4)}.analysis-snapshot-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-3)}.analysis-snapshot-head .eyebrow{margin:0}.analysis-snapshot-head .muted{font-size:.78rem}.analysis-bars{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.analysis-bar{display:grid;grid-template-columns:116px 1fr 28px;align-items:center;gap:var(--space-3)}.analysis-bar-label{display:flex;flex-direction:column;font-weight:800;font-size:.9rem}.analysis-bar-label em{font-style:normal;font-weight:600;font-size:.68rem;color:var(--muted)}.analysis-bar-track{height:10px;border-radius:999px;background:var(--surface);border:1px solid var(--line);overflow:hidden}.analysis-bar-fill{display:block;height:100%;min-width:0;border-radius:999px;transition:width .4s ease}.analysis-bar-count{font-weight:800;text-align:right;font-variant-numeric:tabular-nums}.analysis-bar.tone-good .analysis-bar-fill{background:var(--good)}.analysis-bar.tone-warn .analysis-bar-fill{background:var(--warn)}.analysis-bar.tone-bad .analysis-bar-fill{background:var(--bad)}.analysis-snapshot-foot{margin:var(--space-3) 0 0;font-size:.78rem;color:var(--muted)}.analysis-finding-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.analysis-finding{display:flex;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--line);border-left-width:3px;border-radius:14px;background:var(--surface)}.analysis-finding-mark{display:grid;place-items:center;width:28px;height:28px;flex:0 0 auto;border-radius:8px;color:#fff}.analysis-finding-body{display:flex;flex-direction:column;gap:4px;min-width:0}.analysis-finding-body strong{font-size:.95rem;letter-spacing:-.01em}.analysis-finding-body p{margin:0;color:var(--muted);font-size:.86rem;line-height:1.5}.analysis-finding-slots{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}.analysis-slot-chip{font-family:inherit;font-size:.7rem;font-weight:800;padding:2px 7px;border-radius:999px;background:var(--surface-strong);border:1px solid var(--line);color:var(--muted)}.analysis-slot-chip b{color:var(--ink);font-weight:800}.analysis-slot-chip.is-link{cursor:pointer;transition:color .14s ease,border-color .14s ease,background .14s ease}.analysis-slot-chip.is-link:hover,.analysis-slot-chip.is-link:focus-visible{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,var(--line));background:color-mix(in srgb,var(--accent) 8%,var(--surface-strong));outline:none}.analysis-finding.tone-critical{border-left-color:var(--bad)}.analysis-finding.tone-warning{border-left-color:var(--warn)}.analysis-finding.tone-info{border-left-color:var(--accent-2)}.analysis-finding.tone-good{border-left-color:var(--good)}.analysis-finding.tone-critical .analysis-finding-mark{background:var(--bad)}.analysis-finding.tone-warning .analysis-finding-mark{background:var(--warn)}.analysis-finding.tone-info .analysis-finding-mark{background:var(--accent-2)}.analysis-finding.tone-good .analysis-finding-mark{background:var(--good)}.analysis-detail-cta{display:grid;grid-template-columns:1fr auto;align-items:center;gap:2px var(--space-3);width:100%;text-align:left;padding:var(--space-3) var(--space-4);border:1px solid var(--line);border-radius:14px;background:var(--surface-strong);color:var(--ink);cursor:pointer;transition:border-color .15s ease,background .15s ease}.analysis-detail-cta:hover{border-color:var(--accent);background:var(--hover)}.analysis-detail-cta span{grid-column:1;font-weight:800}.analysis-detail-cta small{grid-column:1;color:var(--muted);font-size:.78rem}.analysis-detail-cta svg{grid-column:2;grid-row:1 / span 2;color:var(--accent)}@media(max-width:920px){.share-view,.analysis-view{display:block}.share-view>*+*,.analysis-view>*+*{margin-top:var(--space-4)}.share-view>.app-topbar,.analysis-view>.app-topbar,.about-view>.app-topbar{position:sticky;top:0;z-index:40;padding-bottom:var(--space-2);border-bottom:3px solid var(--line)}}.share-recap-section,.share-plan-section{display:flex;flex-direction:column;gap:var(--space-3)}.share-section-bar{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-3)}.share-section-bar h2{margin:0;font-size:1.2rem;font-weight:900;letter-spacing:-.02em}.share-download-btn{display:inline-flex;align-items:center;gap:6px}.share-download-btn:disabled{opacity:.6;cursor:not-allowed}.share-action-row{display:flex;flex-wrap:nowrap;gap:8px;justify-content:center;margin-top:calc(-1 * var(--space-2))}.share-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;padding:0 14px;border-radius:999px;border:1px solid var(--line);background:var(--surface-strong);color:var(--ink);font-size:.82rem;font-weight:700;line-height:1;cursor:pointer;transition:border-color .14s ease,color .14s ease,background .14s ease,transform .1s ease}.share-action svg{width:15px;height:15px;flex:0 0 auto;display:block}.share-action.icon-only{width:42px;min-height:42px;padding:0;border-radius:50%;flex:0 0 auto}.share-action.icon-only svg{width:20px;height:20px}.share-action.icon-only.whatsapp svg,.share-action.icon-only.threads svg,.share-action.icon-only.instagram svg{width:25px;height:25px}.share-action-row{gap:7px}.share-action:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.share-action:active:not(:disabled){transform:translateY(1px)}.share-action:disabled{opacity:.5;cursor:not-allowed}.share-action.primary{background:var(--accent);border-color:var(--accent);color:var(--bg)}.share-action.primary:hover:not(:disabled){filter:brightness(.95);color:var(--bg)}.share-action.whatsapp:hover:not(:disabled){color:#25d366;border-color:#25d366}.share-action.threads:hover:not(:disabled){color:var(--ink);border-color:var(--ink)}.share-action.instagram:hover:not(:disabled){color:#e1306c;border-color:#e1306c}:root[data-theme=dark] .share-action.primary{color:#15120f}.plan-table{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--surface-strong)}.plan-row{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr) 72px 110px 64px 24px;align-items:center;gap:var(--space-2);padding:12px 14px 12px 18px;border-top:1px solid var(--line);cursor:pointer;-webkit-user-select:none;user-select:none;font-size:.86rem;transition:background .12s ease}.plan-row:first-child{border-top:none}.plan-row:hover{background:color-mix(in srgb,var(--surface) 70%,transparent)}.plan-row-header{cursor:default;background:color-mix(in srgb,var(--surface) 60%,transparent);font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;font-weight:800;color:var(--muted);padding-top:8px;padding-bottom:8px}.plan-row-header:hover{background:color-mix(in srgb,var(--surface) 60%,transparent)}.plan-row:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--line)}.plan-row-header:before{display:none}.plan-row-filled.band-above-uq:before{background:var(--good)}.plan-row-filled.band-above-median:before{background:var(--accent)}.plan-row-filled.band-above-lq:before{background:var(--warn)}.plan-row-filled.band-below-lq:before{background:var(--bad)}.plan-row-filled.band-no-score:before{background:var(--muted)}.plan-row-empty{cursor:default;opacity:.65}.plan-row-empty:hover{background:transparent}.plan-row-empty-label{font-style:italic;color:var(--muted);grid-column:2 / -1}.plan-row-slot{font-weight:950;font-size:.88rem;color:var(--ink);letter-spacing:.02em}.plan-row-header .plan-row-slot{color:var(--muted)}.plan-row-name{display:flex;flex-direction:column;min-width:0;gap:1px}.plan-row-name strong{font-weight:900;font-size:.92rem;color:var(--ink)}.plan-row-name em{font-style:normal;color:var(--ink);font-size:.82rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plan-row-name small{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.plan-row-score{font-weight:900;font-size:1rem;color:var(--ink);text-align:right;font-variant-numeric:tabular-nums}.plan-row-band{font-size:.74rem!important;justify-self:end}.plan-row-elig{text-align:center;font-weight:900;font-size:1rem}.plan-row-elig.pass{color:var(--good)}.plan-row-elig.fail{color:var(--bad)}.plan-row-chevron-col{display:inline-flex;align-items:center;justify-content:center;color:var(--muted);transition:transform .18s ease}.plan-row.open .plan-row-chevron-col{transform:rotate(180deg);color:var(--accent)}.plan-row-expanded{list-style:none;border-top:1px solid var(--line);background:color-mix(in srgb,var(--surface) 50%,transparent)}.plan-row-expanded-inner{padding:var(--space-3) var(--space-4) var(--space-4) calc(var(--space-4) + 4px);display:flex;flex-direction:column;gap:var(--space-3)}.plan-detail-section h3{margin:0 0 6px;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.plan-benchmarks{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:6px}.plan-benchmark{display:grid;grid-template-columns:minmax(60px,auto) 1fr;grid-template-rows:auto auto;align-items:baseline;gap:2px var(--space-2);padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface-strong)}.plan-benchmark span{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.plan-benchmark strong{font-size:1rem;font-weight:900;font-variant-numeric:tabular-nums;color:var(--ink)}.plan-benchmark b{grid-column:1 / -1;font-weight:800;font-size:.82rem;font-variant-numeric:tabular-nums}.plan-benchmark em{grid-column:1 / -1;font-style:normal;font-size:.74rem;color:var(--muted)}.plan-benchmark.positive b{color:var(--good)}.plan-benchmark.negative b{color:var(--bad)}.plan-failed-reqs{margin:0;padding:0 0 0 18px;display:flex;flex-direction:column;gap:4px;font-size:.84rem;line-height:1.45;color:var(--ink)}.plan-failed-reqs b{font-weight:900;color:var(--bad)}.share-view-analysis{width:100%;gap:8px;margin-top:calc(-1 * var(--space-2))}.share-advisor{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);text-align:center;margin-top:var(--space-4);padding:var(--space-4);border:1px solid var(--line);border-radius:16px;background:var(--surface-strong)}.share-advisor-text{display:flex;flex-direction:column;gap:4px}.share-advisor-text strong{font-size:.95rem;font-weight:800;color:var(--ink)}.share-advisor-text span{font-size:.8rem;color:var(--muted);line-height:1.45}.share-advisor-btn.share-action{gap:8px;color:var(--accent);border-color:color-mix(in srgb,var(--accent) 40%,var(--line));background:color-mix(in srgb,var(--accent) 7%,var(--surface-strong))}.share-footer{display:flex;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-5) 0 0;border-top:1px solid var(--line)}.share-toast{position:fixed;left:50%;top:calc(env(safe-area-inset-top,0px) + 16px);transform:translate(-50%);z-index:200;padding:12px 20px;border-radius:18px;background:var(--ink);color:var(--surface-strong);font-size:.9rem;font-weight:700;letter-spacing:.01em;line-height:1.35;text-align:center;white-space:normal;max-width:min(420px,calc(100vw - 32px));box-shadow:0 10px 28px #0000003d;animation:share-toast-in .2s ease-out}.share-toast-success{background:var(--good);color:#fff}.share-toast-error{background:var(--bad);color:#fff}.share-toast-info{background:var(--ink);color:var(--surface-strong)}:root[data-theme=dark] .share-toast-info{color:var(--bg)}@keyframes share-toast-in{0%{opacity:0;transform:translate(-50%,-10px)}to{opacity:1;transform:translate(-50%)}}.share-footer p{margin:0;font-size:.88rem}@media(max-width:720px){.share-header,.share-section-bar{flex-direction:column;align-items:stretch}.share-section-bar .share-download-btn{width:100%;justify-content:center}.plan-row,.plan-row-header{grid-template-columns:38px minmax(0,1fr) 56px 24px;column-gap:var(--space-2);row-gap:4px}.plan-row-header{display:none}.plan-row-band,.plan-row-elig{grid-column:2 / 3;justify-self:start;text-align:left;font-size:.7rem!important}.plan-row-band{grid-row:2}.plan-row-elig{grid-row:2;margin-left:auto}.plan-row-score{grid-row:1;grid-column:3 / 4;text-align:right}.plan-row-chevron-col{grid-row:1 / span 2;grid-column:4}.share-footer{flex-direction:column}}.share-cta{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-6) var(--space-4);text-align:center;border-top:1px solid var(--line)}.share-cta p{color:var(--muted);font-size:.9rem}.share-cta-actions{display:flex;align-items:center;justify-content:center;gap:var(--space-3);flex-wrap:wrap}@media(max-width:920px){.share-view{height:100dvh;overflow-y:auto;-webkit-overflow-scrolling:touch}.advisor-summary,.share-results-list{grid-template-columns:1fr}}@media(max-width:560px){.share-profile-card{align-items:stretch;flex-direction:column}.recap-card{border-radius:22px;padding:var(--space-4)}.share-profile-card .ghost-button,.share-cta-actions,.share-cta-actions .ghost-button,.share-cta-actions .stepper-next-btn{width:100%}}@media print{body{background:#fff!important;color:#000!important}.app-shell{padding:0;width:100%}.app-topbar,.app-topbar-actions,.about-backdrop,.left-rail,.filters-bar,.results-panel,.detail-picker,.ghost-button,.profile-switcher,.share-button,.detail-badges .status.warn,.collapsible-trigger em,.weight-toggle{display:none!important}.workspace{display:block}.main-column{display:none}.detail-panel{position:static;display:block;width:100%;border:0;box-shadow:none;padding:0;overflow:visible}.detail-header{border-bottom:2px solid black;margin-bottom:var(--space-5);padding-bottom:var(--space-3)}.score-hero{border:2px solid black;background:#fff!important;color:#000!important}.collapsible-body{display:block!important;grid-template-rows:none!important;opacity:1!important}.collapsible-section{border:1px solid #ccc;margin-bottom:var(--space-5);page-break-inside:avoid}.collapsible-trigger{background:#f0f0f0!important;color:#000!important}.benchmark-card{border:1px solid black!important}.audit-row{border:1px solid #eee!important;page-break-inside:avoid}}.detail-selection-sub{margin:.15rem 0 .5rem;font-size:.82rem}.detail-selection-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.detail-selection-item{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem .6rem;padding:.5rem .65rem;border-radius:.55rem;background:var(--surface-2, rgba(127,127,127,.08));border-left:3px solid var(--border, rgba(127,127,127,.35))}.detail-selection-item.sal-required{border-left-color:var(--tone-alert, #d98324)}.detail-selection-item.sal-weighty{border-left-color:var(--tone-warn, #c79a2e)}.detail-selection-item.sal-optional{border-left-color:var(--border, rgba(127,127,127,.4))}.detail-selection-item strong{font-size:.9rem}.detail-selection-meta{display:inline-flex;flex-wrap:wrap;gap:.3rem .5rem;font-size:.8rem;opacity:.85}.detail-selection-meta>span:not(:last-child):after{content:"·";margin-left:.5rem;opacity:.5}.detail-selection-meta em{font-style:italic;opacity:.7}.detail-selection-note{flex-basis:100%;font-size:.8rem;line-height:1.45;opacity:.85}
