:root{font-family:Aptos,Bahnschrift,Segoe UI,sans-serif;color:#171914;background:#eef1ed;color-scheme:light;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--paper: #fbfcf7;--paper-strong: #fbfcf7;--ink: #171914;--muted: #666b5f;--line: #c8d0c1;--line-strong: #1f261f;--red: #b7352b;--blue: #1d5f86;--teal: #0b7569;--amber: #bb7a12;--olive: #697b27;--violet: #765aa1;--shadow: 0 24px 60px rgb(35 45 32 / 14%);--grid-line: rgb(23 25 20 / 6%);--grid-line-strong: rgb(23 25 20 / 5%);--source-bg: #fbfcf7;--focus-bg: #eef1ed;--heading-bg: #fbfcf7;--table-head-bg: #eef1ed;--selected-bg: #e2eeeb;--row-text: #30352c;--summary-text: #2c3128;--preview-head-bg: #fbfcf7;--pdf-bg: #313236;--pill-bg: #fbfcf7;--selection-accent: #0b7569;--active-bg: var(--selection-accent);--active-fg: #ffffff;letter-spacing:0}@media(prefers-color-scheme:dark){:root{color-scheme:dark}}*{box-sizing:border-box}html{min-width:320px;min-height:100%;overflow-x:clip;background:linear-gradient(90deg,var(--grid-line) 1px,transparent 1px) 0 0 / 28px 28px,linear-gradient(0deg,var(--grid-line-strong) 1px,transparent 1px) 0 0 / 28px 28px,var(--background, #eef1ed)}body{min-width:320px;width:100%;min-height:100%;margin:0;overflow:visible}#root{min-height:100%}button,input,select{font:inherit}button,a{color:inherit}:root.dark,.app-shell.dark,.loading-shell.dark{color:#ecf0e7;--background: #101713;--paper: #151c18;--paper-strong: #151c18;--ink: #f1f4ea;--muted: #a8b0a1;--line: #2f3a33;--line-strong: #a8b2a6;--red: #ff6a5c;--blue: #71b8df;--teal: #52cbbb;--amber: #f2b955;--olive: #b7ca60;--violet: #c3a8f2;--shadow: 0 18px 42px rgb(0 0 0 / 24%);--grid-line: rgb(225 238 216 / 4%);--grid-line-strong: rgb(225 238 216 / 3%);--source-bg: #151c18;--focus-bg: #1b241f;--heading-bg: #151c18;--table-head-bg: #1b241f;--selected-bg: #172b27;--row-text: #d7ddcf;--summary-text: #dfe5d8;--preview-head-bg: #151c18;--pdf-bg: #0e1110;--pill-bg: #151c18;--selection-accent: #0b7569;--active-bg: var(--selection-accent);--active-fg: #ffffff}.eyebrow{margin:0 0 4px;color:var(--muted);font-size:11px;font-weight:800;letter-spacing:0;text-transform:uppercase}h1,h2{margin:0;font-family:Bahnschrift,Aptos,sans-serif;letter-spacing:0}h1{font-size:clamp(28px,4vw,52px);line-height:.95;text-box:trim-both cap alphabetic}h2{font-size:18px;line-height:1.12}.empty-preview,.loading-shell{display:grid;place-items:center;color:var(--muted)}.loading-shell{height:100vh;gap:12px;background:linear-gradient(90deg,var(--grid-line) 1px,transparent 1px) 0 0 / 28px 28px,linear-gradient(0deg,var(--grid-line-strong) 1px,transparent 1px) 0 0 / 28px 28px,var(--background, #eef1ed)}.loading-mark{width:44px;height:44px;border:3px solid var(--line);border-top-color:var(--red);border-radius:50%;animation:spin .9s linear infinite}.loading-error{display:grid;justify-items:center;gap:16px;max-width:min(460px,calc(100vw - 40px));padding:24px;border:2px solid var(--line-strong);background:var(--paper);color:var(--ink);text-align:center;box-shadow:var(--shadow)}.loading-error p{margin:0}.loading-retry{min-height:42px;padding:0 16px;border:1px solid var(--line-strong);background:var(--active-bg);color:var(--active-fg);cursor:pointer;font-weight:800}.loading-retry:hover,.loading-retry:focus-visible{filter:brightness(1.08)}.loading-retry:focus-visible{outline:2px solid var(--selection-accent);outline-offset:2px}@keyframes spin{to{transform:rotate(360deg)}}.landing-page{--landing-background: radial-gradient(circle at 75% 24%, rgb(239 244 215 / 82%), transparent 28%), radial-gradient(circle at 8% 75%, rgb(11 117 105 / 18%), transparent 32%), linear-gradient(118deg, #bfd7d2 0%, #d7e4da 48%, #d8d5b9 100%);--landing-ink: #17201b;--landing-paper: #f8f8ef;position:relative;min-height:100svh;padding:28px clamp(20px,4vw,64px) 18px;background:var(--landing-background);background-attachment:fixed;color:var(--landing-ink)}.landing-page:before{position:fixed;inset:0;background:linear-gradient(rgb(23 32 27 / 5%) 1px,transparent 1px) 0 0 / 24px 24px,linear-gradient(90deg,rgb(23 32 27 / 5%) 1px,transparent 1px) 0 0 / 24px 24px;content:"";-webkit-mask-image:linear-gradient(to bottom,#000,transparent 94%);mask-image:linear-gradient(to bottom,#000,transparent 94%);pointer-events:none}.landing-frame{position:fixed;inset:16px;z-index:4;border:1px solid rgb(248 248 239 / 72%);box-shadow:inset 0 0 0 1px #17201b1a;pointer-events:none}.landing-scroll-mask{position:fixed;right:0;left:0;z-index:2;background:var(--landing-background);background-attachment:fixed;pointer-events:none}.landing-scroll-mask--top{top:0;height:104px;background:linear-gradient(rgb(23 32 27 / 5%) 1px,transparent 1px) 0 0 / 24px 24px,linear-gradient(90deg,rgb(23 32 27 / 5%) 1px,transparent 1px) 0 0 / 24px 24px,var(--landing-background);background-attachment:fixed;mask-image:linear-gradient(to bottom,#000 0 76px,transparent 104px);-webkit-mask-image:linear-gradient(to bottom,#000 0 76px,transparent 104px)}.landing-scroll-mask--bottom{bottom:0;height:96px;mask-image:linear-gradient(to top,#000 0 72px,transparent 96px);-webkit-mask-image:linear-gradient(to top,#000 0 72px,transparent 96px)}.landing-nav,.landing-hero,.landing-section,.landing-footer{width:min(1180px,100%);margin-inline:auto}.landing-content{position:relative;z-index:1;padding-block:56px 52px}.landing-nav{position:fixed;top:28px;left:50%;z-index:3;width:min(1180px,calc(100% - clamp(40px,8vw,128px)));display:flex;align-items:center;justify-content:space-between;padding:4px;transform:translate(-50%)}.landing-brand,.landing-source{display:inline-flex;align-items:center;color:var(--landing-ink);font-weight:850;text-decoration:none}.landing-brand{gap:10px;font-family:Bahnschrift,Aptos,sans-serif;font-size:17px}.landing-brand img{width:36px;height:36px}.landing-source{gap:7px;min-height:38px;padding:0 12px;border:1px solid rgb(23 32 27 / 40%);background:#f8f8ef6b;font-size:13px}.landing-source:hover,.landing-source:focus-visible{background:var(--landing-paper)}.landing-hero{display:grid;grid-template-columns:minmax(0,.9fr) minmax(480px,1.1fr);align-items:center;gap:clamp(44px,7vw,100px);padding-block:clamp(72px,12vh,140px) clamp(54px,9vh,100px)}.landing-section{padding-block:clamp(68px,9vw,116px);border-top:1px solid rgb(23 32 27 / 35%)}.landing-section__heading{display:grid;grid-template-columns:minmax(0,.95fr) minmax(320px,1.05fr);gap:24px clamp(40px,8vw,120px);align-items:end}.landing-section__heading>p:last-child{grid-column:2;margin:0;color:#3f4941;font-size:clamp(16px,1.45vw,20px);font-weight:650;line-height:1.55}.landing-card-kicker{margin:0;color:#0a6d63;font-size:11px;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.landing-section h2{max-width:800px;font-size:clamp(34px,4.8vw,66px);line-height:.98;letter-spacing:-.035em}.landing-difference-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:clamp(44px,6vw,78px)}.landing-difference-grid article{display:flex;flex-direction:column;min-height:280px;padding:24px;border:1px solid rgb(23 32 27 / 42%);background:#f8f8efad}.landing-card-icon{display:grid;width:44px;height:44px;margin-bottom:50px;place-items:center;border:1px solid var(--landing-ink);color:#0b7569}.landing-difference-grid h3{margin:9px 0 12px;font-family:Bahnschrift,Aptos,sans-serif;font-size:clamp(20px,2vw,27px);line-height:1.05}.landing-difference-grid article>p:last-child{margin:auto 0 0;color:#4c554e;font-size:14px;font-weight:650;line-height:1.5}.landing-data{display:grid;grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);gap:clamp(50px,9vw,130px);align-items:end}.landing-data__copy>p:last-child,.landing-open-source>div:first-child>p:first-of-type{max-width:640px;margin:22px 0 0;color:#3f4941;font-size:16px;font-weight:650;line-height:1.55}.landing-source-list{border-top:2px solid var(--landing-ink)}.landing-source-list a{display:flex;align-items:center;justify-content:space-between;min-height:96px;padding:18px 20px;border-right:1px solid rgb(23 32 27 / 42%);border-bottom:1px solid rgb(23 32 27 / 42%);border-left:1px solid rgb(23 32 27 / 42%);background:#f8f8ef94;color:var(--landing-ink);text-decoration:none}.landing-source-list a:hover,.landing-source-list a:focus-visible{background:var(--landing-paper)}.landing-source-list a>span{display:grid;gap:4px}.landing-source-list strong{font-family:Bahnschrift,Aptos,sans-serif;font-size:27px;letter-spacing:-.03em}.landing-source-list small{color:#596158;font-size:12px;font-weight:800}.landing-open-source{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);gap:clamp(50px,9vw,130px);align-items:end;margin-bottom:clamp(32px,6vw,80px)}.landing-project-links{display:grid;grid-template-columns:1fr 1fr;border:2px solid var(--landing-ink);box-shadow:6px 6px #0b7569}.landing-project-links a{display:flex;align-items:center;justify-content:center;gap:9px;min-height:74px;padding:14px;background:#f8f8efe5;color:var(--landing-ink);font-size:13px;font-weight:900;text-decoration:none}.landing-project-links a+a{border-left:1px solid var(--landing-ink)}.landing-project-links .landing-license-link{grid-column:1 / -1;border-top:1px solid var(--landing-ink);border-left:0}.landing-project-links a:hover,.landing-project-links a:focus-visible{background:var(--landing-ink);color:var(--landing-paper)}.landing-source-list a:focus-visible,.landing-project-links a:focus-visible{outline:3px solid #f8f8ef;outline-offset:-5px}.landing-intro h1{max-width:760px;font-size:clamp(48px,6.1vw,92px);line-height:.88;letter-spacing:-.045em}.landing-lead{max-width:620px;margin:28px 0 0;font-size:clamp(17px,1.5vw,21px);font-weight:600;line-height:1.5}.catalog-picker{position:relative;padding:10px;border:2px solid var(--landing-ink);background:#f8f8efed;box-shadow:8px 8px #b7352b,22px 25px 50px #283a2d42}.catalog-picker:before{position:absolute;inset:-13px 8px 8px -13px;z-index:-1;border:1px solid rgb(248 248 239 / 88%);content:""}.catalog-picker__heading{display:flex;align-items:center;gap:14px;padding:17px 16px 18px;border-bottom:1px solid #adb7a8}.catalog-picker__heading h2{font-size:clamp(20px,2vw,27px)}.catalog-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding-top:10px}.catalog-option{position:relative;display:grid;grid-template-rows:auto 1fr auto;min-height:230px;padding:22px;border:1px solid #aab3a5;background:#eef1e9;color:var(--landing-ink);text-decoration:none;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.catalog-option:before{position:absolute;top:0;right:0;left:0;height:5px;background:var(--option-accent);content:""}.catalog-option--red{--option-accent: #b7352b}.catalog-option--teal{--option-accent: #0b7569}.catalog-option:hover,.catalog-option:focus-visible{z-index:1;border-color:var(--landing-ink);box-shadow:5px 5px 0 var(--option-accent);transform:translate(-3px,-3px)}.catalog-option:focus-visible,.landing-source:focus-visible,.landing-brand:focus-visible{outline:3px solid #f8f8ef;outline-offset:3px}.catalog-option__code{font-family:Bahnschrift,Aptos,sans-serif;font-size:clamp(30px,3vw,43px);font-weight:900;letter-spacing:-.04em}.catalog-option__title{align-self:center;max-width:28ch;padding-block:18px;color:#495249;font-size:13px;font-weight:700;line-height:1.4}.catalog-option__action{display:flex;align-items:center;justify-content:space-between;padding-top:13px;border-top:1px solid #bdc5b9;font-size:13px;font-weight:900}.catalog-picker__note{margin:0;padding:14px 10px 5px;color:#596158;font-size:12px;font-weight:700;text-align:center}.landing-footer{position:fixed;bottom:18px;left:50%;z-index:3;width:min(1180px,calc(100% - clamp(40px,8vw,128px)));display:flex;justify-content:space-between;padding-bottom:15px;padding-top:15px;border-top:7px solid;border-image:linear-gradient(90deg,#b7352b 0 22%,#bb7a12 22% 44%,#697b27 44% 68%,#0b7569 68%) 1;color:#17201bb3;font-size:11px;font-weight:900;letter-spacing:.05em;text-transform:uppercase;transform:translate(-50%)}@media(max-width:960px){.landing-hero{grid-template-columns:1fr;gap:52px;padding-block:72px 60px}.landing-intro{max-width:720px}.catalog-picker{width:min(720px,100%)}.landing-section__heading,.landing-data,.landing-open-source{grid-template-columns:1fr}.landing-section__heading>p:last-child{grid-column:1;max-width:720px}.landing-difference-grid{grid-template-columns:1fr 1fr}.landing-difference-grid article:last-child{grid-column:1 / -1}.landing-source-list,.landing-project-links{width:min(720px,100%)}}@media(max-width:600px){.landing-page{padding:20px 18px 14px}.landing-frame{inset:8px}.landing-nav{top:20px;width:calc(100% - 36px)}.landing-content{padding-block:52px 58px}.landing-brand span{font-size:15px}.landing-source{width:38px;padding:0;justify-content:center;font-size:0}.landing-hero{gap:44px;padding-block:62px 48px}.landing-intro h1{font-size:clamp(46px,15vw,68px)}.landing-lead{margin-top:22px;font-size:16px}.catalog-picker{box-shadow:5px 6px #b7352b,15px 20px 36px #283a2d3d}.catalog-picker:before{inset:-9px 5px 5px -9px}.catalog-picker__heading{align-items:flex-start;padding:14px 10px 16px}.catalog-options{grid-template-columns:1fr}.catalog-option{grid-template-columns:minmax(100px,auto) 1fr;grid-template-rows:auto auto;gap:5px 16px;min-height:0;padding:20px 16px 16px}.catalog-option__code{grid-row:1 / 3;align-self:center;font-size:32px}.catalog-option__title{display:none}.catalog-option__action{grid-column:2;padding-top:9px}.landing-footer{bottom:14px;width:calc(100% - 36px);gap:16px;font-size:9px}.landing-footer span:last-child{text-align:right}.landing-section{padding-block:60px}.landing-difference-grid{grid-template-columns:1fr}.landing-difference-grid article,.landing-difference-grid article:last-child{grid-column:auto;min-height:240px}.landing-card-icon{margin-bottom:34px}.landing-data,.landing-open-source{gap:42px}.landing-project-links{grid-template-columns:1fr}.landing-project-links a+a{border-top:1px solid var(--landing-ink);border-left:0}}@media(prefers-reduced-motion:reduce){.catalog-option{transition:none}}.app-shell{display:grid;grid-template-rows:auto auto minmax(0,auto);align-content:start;min-height:100vh;padding:18px;overflow:visible;background:linear-gradient(90deg,var(--grid-line) 1px,transparent 1px) 0 0 / 28px 28px,linear-gradient(0deg,var(--grid-line-strong) 1px,transparent 1px) 0 0 / 28px 28px,var(--background, #eef1ed)}.topbar{display:flex;align-items:stretch;justify-content:space-between;gap:12px;border:2px solid var(--line-strong);background:var(--paper);box-shadow:var(--shadow)}.identity{display:flex;align-items:center;gap:9px;min-width:0;padding:6px 10px;color:var(--ink);text-decoration:none}.identity-mark{display:block;width:34px;height:34px;flex:0 0 auto}.identity .eyebrow{margin-bottom:1px;font-size:9px}.identity h1{font-size:19px;line-height:1}.identity:hover,.identity:focus-visible{background:var(--focus-bg)}.identity:focus-visible{outline:2px solid var(--selection-accent);outline-offset:-4px}.source-strip{display:grid;grid-template-columns:minmax(88px,auto) minmax(150px,auto) repeat(2,minmax(72px,auto)) 52px;align-items:stretch;border-left:2px solid var(--line-strong)}.exam-toggle{border-left:2px solid var(--line-strong);display:flex;align-items:stretch;height:100%}.exam-toggle button{display:inline-flex;align-items:center;justify-content:center;min-height:100%;min-width:75px;padding:8px 12px;border:0;background:transparent;cursor:pointer;font-size:13px;font-weight:800;line-height:1;color:var(--ink)}.exam-toggle button+button{border-left:1px solid var(--line)}.exam-toggle button.active{background:var(--active-bg);color:var(--active-fg)}.exam-toggle button:hover,.exam-toggle button:focus-visible{background:var(--focus-bg)}.exam-toggle button.active:hover,.exam-toggle button.active:focus-visible{background:var(--active-bg)}.exam-toggle button:focus-visible{outline:2px solid var(--selection-accent);outline-offset:-4px}.source-strip>span,.source-strip a,.source-strip>button{display:flex;align-items:center;justify-content:center;height:100%;min-height:46px;padding:8px 12px;border-left:1px solid var(--line);color:var(--ink);font-size:13px;font-weight:800;line-height:1;text-align:center;text-decoration:none}.source-strip a{background:var(--source-bg);display:flex;gap:7px}.source-strip>button{border-top:0;border-right:0;border-bottom:0;background:var(--source-bg);cursor:pointer}.source-strip>button:hover,.source-strip>button:focus-visible{background:var(--focus-bg)}.source-strip>button:focus-visible{outline:2px solid var(--selection-accent);outline-offset:-4px}.catalog-count{gap:4px;white-space:nowrap}.catalog-count strong,.catalog-count small{font:inherit}.catalog-count small{color:var(--muted)}.workspace{display:grid;grid-template-columns:minmax(380px,1.04fr) minmax(270px,.68fr) minmax(420px,1.08fr);gap:14px;min-height:0;margin-top:14px;overflow:visible}.workspace.list-only{grid-template-columns:minmax(0,1fr)}.registry-pane,.detail-pane,.preview-pane{min-width:0;min-height:0;border:2px solid var(--line-strong);background:var(--paper);box-shadow:var(--shadow)}.pane-heading,.preview-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:68px;padding:13px 14px;border-bottom:2px solid var(--line-strong);background:var(--heading-bg)}.pane-heading>div:first-child{min-width:0}.pane-actions{display:flex;flex:0 0 auto;justify-content:flex-end}@media(min-width:921px){.pane-heading,.preview-toolbar{height:72px;min-height:72px}.pane-heading h2{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}}.control-band{display:grid;grid-template-areas:"mode year season type search reset";grid-template-columns:max-content minmax(118px,.62fr) minmax(120px,.62fr) minmax(136px,.74fr) minmax(260px,1.7fr) 52px;gap:0;margin-top:14px;border:2px solid var(--line-strong);background:var(--paper-strong);overflow:hidden}.control-band>*{min-width:0}.filter-options{display:contents}.search-box,.select-control{display:flex;align-items:center;gap:9px;min-height:52px;padding:0 12px;border-right:1px solid var(--line)}.search-box svg,.select-control svg,.segmented-control svg,.icon-command svg{flex:0 0 auto}.year-filter{grid-area:year}.season-filter{grid-area:season}.type-filter{grid-area:type}.select-control{cursor:pointer}.search-box{grid-area:search}.search-box input,.select-control select{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--ink)}.select-control select{cursor:pointer;text-overflow:ellipsis}.select-control select option{background:var(--paper-strong);color:var(--ink)}.season-filter select option svg,.type-filter select option svg{display:none}@supports (appearance: base-select){.control-band .select-control select,.control-band .select-control select::picker(select){appearance:base-select}.control-band .select-control select{padding:5px 7px;border-radius:0}.control-band .select-control select::picker-icon{color:var(--muted);transition:rotate .16s ease}.control-band .select-control select:open::picker-icon{rotate:180deg}.control-band .select-control select::picker(select){margin-block-start:6px;padding:4px;border:2px solid var(--selection-accent);border-radius:0;background:var(--paper-strong);box-shadow:5px 5px 0 var(--selection-accent);color:var(--ink)}.control-band .select-control select option{align-items:center;gap:9px;min-height:38px;padding:8px 10px;border:0;background:transparent;cursor:pointer}.control-band .season-filter select option svg,.control-band .type-filter select option svg{display:block;flex:0 0 auto}.control-band .season-filter select option[value=winter] svg{color:#68a9d3}.control-band .season-filter select option[value=summer] svg{color:#d98405}.control-band .type-filter select option.ink svg{color:var(--ink)}.control-band .type-filter select option.blue svg{color:var(--blue)}.control-band .type-filter select option.teal svg{color:var(--teal)}.control-band .type-filter select option.amber svg{color:var(--amber)}.control-band .type-filter select option.olive svg{color:var(--olive)}.control-band .type-filter select option.red svg{color:var(--red)}.control-band .type-filter select option.violet svg{color:var(--violet)}.control-band .select-control select option+option{border-top:1px solid var(--line)}.control-band .select-control select option:hover,.control-band .select-control select option:focus-visible{background:var(--focus-bg)}.control-band .select-control select option:checked{background:var(--active-bg);color:var(--active-fg);font-weight:800}.control-band .select-control select option::checkmark{order:1;margin-inline-start:auto}}.search-box:focus-within,.select-control:hover,.select-control:focus-within{background:var(--focus-bg)}.select-control span{flex:0 0 auto;color:var(--muted);font-size:12px;font-weight:800}.segmented-control{grid-area:mode;display:flex;align-items:stretch;border-right:1px solid var(--line)}.segmented-control button,.icon-command{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:52px;border:0;background:transparent;cursor:pointer;font-size:13px;font-weight:800}.segmented-control button+button,.icon-command{border-left:1px solid var(--line)}.segmented-control button{min-width:86px;padding:0 13px}.segmented-control button>span{text-box:trim-both cap alphabetic}.segmented-control button.active{background:var(--active-bg);color:var(--active-fg)}.segmented-control button:hover,.segmented-control button:focus-visible,.icon-command:hover,.icon-command:focus-visible{background:var(--focus-bg)}.segmented-control button.active:hover,.segmented-control button.active:focus-visible{background:var(--active-bg)}.segmented-control button:focus-visible,.icon-command:focus-visible{outline:2px solid var(--selection-accent);outline-offset:-4px}.segmented-control.compact button{min-height:42px}.icon-command{width:52px}.mobile-filter-toggle{display:none;grid-area:filter-toggle}.reset-filters{grid-area:reset}.pane-actions .select-control{min-width:142px;min-height:38px;padding:0 9px;gap:7px;border:1px solid var(--line-strong)}.pane-actions .select-control span{font-size:11px}.exam-code{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:7px;color:var(--ink);font-family:Bahnschrift,Aptos,sans-serif;font-weight:800;line-height:1.18}.exam-code.heading,.exam-code.compact{display:inline-grid;vertical-align:top}.exam-code.heading{grid-template-columns:18px minmax(0,auto)}.exam-code.heading>span{text-box:trim-both cap alphabetic}.exam-code.compact{grid-template-columns:14px minmax(0,auto);gap:5px;font-size:12px}.season-icon{width:18px;height:1.18em;min-height:0;stroke-width:2.2}.exam-code.heading .season-icon{height:18px;min-height:0}.exam-code.compact .season-icon{height:1.18em;min-height:0}.exam-code.compact .season-icon{width:14px}.exam-code.summer .season-icon{color:#d98405}.exam-code.winter .season-icon{color:#2f91c9}.type-pill{display:inline-flex;width:fit-content;max-width:100%;align-items:center;min-height:24px;padding:4px 8px 2px;border:1px solid currentcolor;border-radius:8px;background:var(--pill-bg);font-size:12px;font-weight:900;line-height:1.1;white-space:nowrap}.type-pill.ink{color:var(--ink)}.type-pill.blue{color:var(--blue)}.type-pill.teal{color:var(--teal)}.type-pill.amber{color:var(--amber)}.type-pill.olive{color:var(--olive)}.type-pill.red{color:var(--red)}.type-pill.violet{color:var(--violet)}.registry-pane{display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden}.task-table{height:100%;min-height:0;overflow:auto;scrollbar-gutter:stable}.table-head,.task-row{display:grid;grid-template-columns:160px 50px 132px minmax(140px,1fr) 76px;align-items:center;gap:12px;width:100%;min-height:48px;padding:0 18px 0 12px}.task-table.without-part .table-head,.task-table.without-part .task-row{grid-template-columns:minmax(126px,160px) minmax(112px,132px) minmax(140px,1fr) 70px;gap:10px;padding-right:12px}.table-head{position:sticky;top:0;z-index:2;border-bottom:1px solid var(--line-strong);background:var(--table-head-bg);color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase}.task-row,.exam-line{border:0;border-bottom:1px solid var(--line);background:transparent;cursor:pointer;text-align:left}.task-row:hover,.exam-line:hover,.task-row.selected,.exam-line.selected{background:var(--selected-bg)}.task-row.selected,.exam-line.selected{box-shadow:inset 5px 0 0 var(--selection-accent)}.task-row.filtered-out-selected{border-top:2px solid var(--line-strong);background:transparent;opacity:.72;box-shadow:inset 3px 0 0 var(--selection-accent)}.task-row.filtered-out-selected:hover{background:var(--selected-bg);opacity:.9}.row-summary{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;color:var(--row-text);font-size:13px;line-height:1.25}.exam-list{height:100%;min-height:0;overflow:auto}.exam-line{display:grid;grid-template-columns:160px 50px 74px minmax(180px,1fr);align-items:center;gap:12px;width:100%;min-height:58px;padding:0 14px}.exam-page-count{color:var(--muted)}.detail-pane{min-height:0;overflow:auto;padding-bottom:14px}.detail-close{display:none;width:42px;height:42px;flex:0 0 auto;align-items:center;justify-content:center;border:2px solid var(--line-strong);border-radius:0;background:var(--heading-bg);color:var(--ink);cursor:pointer}.detail-close:hover,.detail-close:focus-visible{background:var(--active-bg);color:var(--active-fg);outline:2px solid var(--selection-accent);outline-offset:-5px}.task-switch-line{display:flex;align-items:center;gap:10px;padding:14px;border-bottom:1px solid var(--line)}.task-summary{margin:0;padding:14px;border-bottom:1px solid var(--line);color:var(--summary-text);font-size:15px;line-height:1.48}.part-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.part-links button,.duplicate-strip button{min-height:34px;border:1px solid var(--line-strong);border-radius:8px;background:var(--pill-bg);cursor:pointer;font-size:12px;font-weight:800}.part-links button.active{border-color:var(--active-bg);background:var(--active-bg);color:var(--active-fg)}.collapsible-block{border-bottom:1px solid var(--line)}.collapsible-trigger{display:flex;width:100%;min-height:44px;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;border:0;border-bottom:1px solid var(--line);background:var(--heading-bg);color:var(--ink);cursor:pointer;font-size:12px;font-weight:900;text-transform:uppercase}.collapsible-trigger:hover,.collapsible-trigger:focus-visible{background:var(--focus-bg);outline:0}.collapsible-trigger span{display:inline-flex;align-items:center;gap:7px}.collapsible-icon{flex:0 0 auto;transition:transform .16s ease}.collapsible-icon.open{transform:rotate(180deg)}.duplicate-trigger{color:var(--red)}.metadata-grid{display:grid;grid-template-columns:116px minmax(0,1fr);gap:0}.metadata-grid span,.metadata-grid strong{min-height:42px;padding:10px 14px;border-bottom:1px solid var(--line);font-size:12px}.metadata-grid span{color:var(--muted);font-weight:900;text-transform:uppercase;white-space:nowrap}.metadata-grid strong{overflow-wrap:anywhere;font-weight:700}.metadata-grid a{display:inline-flex;align-items:center;gap:6px;color:inherit;text-decoration:none}.metadata-grid a:hover{color:var(--accent)}.metadata-grid .resource-links{display:flex;flex-wrap:wrap;gap:7px}.resource-links a{min-height:28px;padding:4px 8px;border:1px solid var(--line);border-radius:8px;background:var(--pill-bg)}.duplicate-strip{display:grid;gap:9px;padding:14px}.duplicate-strip div,.duplicate-strip button{display:flex;align-items:center;gap:7px}.duplicate-strip div{color:var(--red);font-size:13px;font-weight:900}.duplicate-strip button.same-session-repeat{border-color:var(--line);color:var(--muted);opacity:.62}.duplicate-strip button.same-session-repeat:hover,.duplicate-strip button.same-session-repeat:focus-visible{opacity:.86}.duplicate-strip button:disabled,.duplicate-strip button:disabled:hover,.duplicate-strip button:disabled:focus-visible{border-color:var(--active-bg);background:var(--pill-bg);color:inherit;cursor:default;opacity:1;outline:2px solid var(--active-bg)}.preview-pane{display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden}.preview-toolbar{background:var(--preview-head-bg)}.preview-toolbar>div:first-child{min-width:0}.preview-title{display:flex;max-width:100%;align-items:center;gap:8px;white-space:nowrap}.preview-title>:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis}.preview-title>:last-child{flex:0 0 auto;color:var(--muted)}.preview-mode-control{border:1px solid var(--line);flex:0 0 auto}.preview-frame{position:relative;min-height:0;background:var(--pdf-bg)}.preview-pane iframe{width:100%;height:100%;min-height:0;border:0;background:var(--pdf-bg)}.open-pdf-link{position:absolute;right:42px;bottom:14px;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:0 13px;border:2px solid #f1f4ea;background:#101713;color:#f1f4ea;box-shadow:0 12px 28px #00000038;font-size:13px;font-weight:900;text-decoration:none}.open-pdf-link:hover,.open-pdf-link:focus-visible{background:#171914;color:#fff}.cookie-consent{position:fixed;left:18px;bottom:18px;z-index:20;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px 14px;width:min(690px,calc(100vw - 36px));padding:16px 14px;border:2px solid var(--line-strong);background:var(--paper);box-shadow:var(--shadow);color:var(--ink)}.cookie-consent.with-close{padding-right:46px}.cookie-consent__mark{display:grid;width:44px;height:44px;place-items:center;align-self:start;border:2px solid var(--line-strong);background:var(--selected-bg);color:var(--selection-accent)}.cookie-consent__copy{min-width:0}.cookie-consent__copy h2{margin-bottom:6px}.cookie-consent__copy p:last-child{max-width:58ch;margin:0;color:var(--summary-text);font-size:14px;line-height:1.42}.cookie-consent__copy a{color:var(--selection-accent);font-weight:850;text-underline-offset:3px}.cookie-consent__copy a:hover,.cookie-consent__copy a:focus-visible{text-decoration-thickness:2px}.cookie-consent__status{grid-column:2 / 3;align-self:center;color:var(--muted);font-size:12px;font-weight:800}.cookie-consent__actions{display:flex;grid-column:3 / 4;grid-row:1 / 3;flex-direction:column;align-items:stretch;align-self:center;gap:8px}.cookie-consent__button,.privacy-settings-button,.cookie-consent__close{border:1px solid var(--line-strong);background:var(--paper-strong);color:var(--ink);cursor:pointer;font-weight:900}.privacy-page{min-height:100svh}.privacy-layout{position:relative;z-index:1;display:grid;grid-template-columns:220px minmax(0,820px);gap:clamp(42px,7vw,100px);width:min(1180px,100%);margin-inline:auto;padding-block:126px 150px}.privacy-index{position:sticky;top:116px;z-index:1;display:grid;align-self:start;border-top:2px solid var(--landing-ink);background:var(--landing-paper)}.privacy-index a{display:flex;align-items:center;min-height:49px;padding:8px 10px;border-bottom:1px solid rgb(23 32 27 / 35%);color:#3f4941;font-size:13px;font-weight:800;text-decoration:none}.privacy-index a:before{width:18px;height:1px;margin-right:10px;background:currentColor;content:""}.privacy-index .privacy-index__back{gap:8px;min-height:62px;color:var(--landing-ink)}.privacy-index .privacy-index__back:before{display:none}.privacy-index a:hover,.privacy-index a:focus-visible{background:#f8f8efb8;color:#0b7569}.privacy-article{min-width:0}.privacy-hero{padding-bottom:clamp(46px,6vw,72px)}.privacy-hero h1{max-width:820px;font-size:clamp(50px,7vw,92px);line-height:.9;letter-spacing:-.045em}.privacy-hero>p:last-child{max-width:720px;margin:28px 0 0;color:#3f4941;font-size:clamp(17px,1.6vw,21px);font-weight:650;line-height:1.55}.privacy-article section{padding-block:42px 46px;border-top:1px solid rgb(23 32 27 / 35%);scroll-margin-top:104px}.privacy-article section h2{margin-bottom:20px;font-size:clamp(25px,3vw,36px);letter-spacing:-.025em}.privacy-article section p,.privacy-article section li,.privacy-article td,.privacy-article th{font-size:15px;line-height:1.65}.privacy-article section p{max-width:76ch;margin:0;color:#3f4941;font-weight:620}.privacy-article section p+p,.privacy-article section ul+p,.privacy-article section p+ul,.privacy-table-wrap+p{margin-top:18px}.privacy-article section ul{display:grid;gap:8px;margin-bottom:0;padding-left:22px;color:#3f4941;font-weight:620}.privacy-article a,.privacy-footer a{color:#075f57;text-underline-offset:3px}.privacy-article a:hover,.privacy-article a:focus-visible,.privacy-footer a:hover,.privacy-footer a:focus-visible{text-decoration-thickness:2px}.privacy-links{display:flex;flex-wrap:wrap;gap:10px}.privacy-links a{display:inline-flex;align-items:center;gap:7px;min-height:42px;padding:8px 11px;border:1px solid rgb(23 32 27 / 40%);background:#f8f8ef94;font-size:13px;font-weight:850;text-decoration:none}.privacy-links a:hover,.privacy-links a:focus-visible{background:var(--landing-paper)}.privacy-table-wrap{overflow-x:auto;border-top:2px solid var(--landing-ink)}.privacy-table-wrap table{width:100%;border-collapse:collapse;background:#f8f8ef94;color:#3f4941}.privacy-table-wrap th,.privacy-table-wrap td{padding:13px 14px;border-right:1px solid rgb(23 32 27 / 30%);border-bottom:1px solid rgb(23 32 27 / 30%);text-align:left;vertical-align:top}.privacy-table-wrap th:first-child,.privacy-table-wrap td:first-child{border-left:1px solid rgb(23 32 27 / 30%)}.privacy-table-wrap th{color:var(--landing-ink);font-size:12px;font-weight:900}.privacy-table-wrap td:first-child{color:var(--landing-ink);font-family:Bahnschrift,Aptos,sans-serif;font-size:13px;font-weight:850;overflow-wrap:anywhere}.landing-footer>a{color:inherit;text-decoration:underline;text-underline-offset:3px}.privacy-footer{justify-content:space-between}@media(max-width:800px){.privacy-layout{grid-template-columns:1fr;gap:42px;padding-block:108px 140px}.privacy-index{grid-template-columns:repeat(2,minmax(0,1fr))}.privacy-index .privacy-index__back{grid-column:1 / -1}}@media(max-width:600px){.privacy-layout{padding-block:96px 132px}.privacy-hero h1{font-size:clamp(46px,15vw,66px)}.privacy-article section{padding-block:34px 38px}.privacy-article section p,.privacy-article section li,.privacy-article td,.privacy-article th{font-size:14px}.privacy-table-wrap th,.privacy-table-wrap td{min-width:145px;padding:11px}.privacy-footer{align-items:flex-start}}.cookie-consent__button{min-height:44px;padding:0 14px;min-width:172px}.cookie-consent__button.primary{background:var(--active-bg);color:var(--active-fg)}.cookie-consent__button.secondary:hover,.cookie-consent__button.secondary:focus-visible,.privacy-settings-button:hover,.privacy-settings-button:focus-visible,.cookie-consent__close:hover,.cookie-consent__close:focus-visible{background:var(--focus-bg)}.cookie-consent__button.primary:hover,.cookie-consent__button.primary:focus-visible{filter:brightness(1.08)}.cookie-consent__button:focus-visible,.privacy-settings-button:focus-visible,.cookie-consent__close:focus-visible{outline:3px solid color-mix(in srgb,var(--selection-accent) 45%,transparent);outline-offset:2px}.privacy-settings-button{position:fixed;left:18px;bottom:18px;z-index:19;display:grid;width:44px;height:44px;place-items:center;box-shadow:var(--shadow)}.cookie-consent__close{position:absolute;top:-2px;right:-2px;display:grid;width:34px;height:34px;place-items:center}@media(max-width:720px){.cookie-consent{left:10px;bottom:max(10px,env(safe-area-inset-bottom));grid-template-columns:auto minmax(0,1fr);width:calc(100vw - 20px);padding:12px}.cookie-consent.with-close{padding-right:42px}.cookie-consent__actions,.cookie-consent__status{grid-column:1 / -1}.cookie-consent__actions{grid-row:auto;display:grid;grid-template-columns:1fr 1fr}.cookie-consent__button{width:100%;min-width:0;padding:0 10px;white-space:normal}.privacy-settings-button{left:10px;bottom:10px}}@media(max-width:420px){.cookie-consent{grid-template-columns:minmax(0,1fr);gap:10px;max-height:calc(100dvh - max(20px,env(safe-area-inset-bottom)));overflow:auto;padding:12px;scrollbar-gutter:stable}.cookie-consent.with-close{padding-right:12px}.cookie-consent__mark{display:none}.cookie-consent__copy,.cookie-consent__status,.cookie-consent__actions{grid-column:1 / -1}.cookie-consent__copy{padding-right:30px}.cookie-consent__actions{grid-template-columns:1fr;gap:7px}.cookie-consent__button{min-height:42px}}@media(min-width:1361px){html,body,#root{height:100%;overflow:hidden}.app-shell{grid-template-rows:auto auto minmax(0,1fr);height:100vh;min-height:0;overflow:hidden}.workspace{overflow:hidden}html:has(.landing-page){height:auto;overflow-x:clip;overflow-y:auto}body:has(.landing-page),#root:has(.landing-page){height:auto;overflow:visible}}@media(max-width:1500px){.control-band{grid-template-areas:"mode year season type reset" "search search search search search";grid-template-columns:max-content repeat(3,minmax(118px,1fr)) 52px}.search-box{border-top:1px solid var(--line);border-right:0}.workspace{grid-template-columns:minmax(420px,1fr) minmax(340px,.8fr);grid-auto-rows:minmax(420px,auto)}.workspace:not(.list-only){grid-template-rows:minmax(360px,48vh) auto}.preview-pane{grid-column:1 / -1;height:40vh}.preview-frame,.preview-pane iframe{height:100%}}@media(min-width:921px)and (max-width:1500px)and (max-height:920px){html,body,#root{height:auto;overflow-y:auto}html:has(.landing-page){overflow-x:clip;overflow-y:auto}body:has(.landing-page),#root:has(.landing-page){overflow:visible}.app-shell{height:auto;min-height:100vh;overflow:visible}.workspace{overflow:visible}.preview-pane{height:auto}.preview-frame,.preview-pane iframe{height:70vh;min-height:540px}}@media(max-width:920px){.app-shell{padding:10px}.topbar,.control-band,.workspace{width:100%;max-width:100%;min-width:0}.topbar,.workspace{display:flex;flex-direction:column}.topbar{gap:0}.control-band{display:grid;grid-template-areas:"mode mode filter-toggle" "search search search" "year season season" "type type reset";grid-template-columns:minmax(0,1fr) minmax(0,1fr) 52px;margin-top:10px}.control-band:not(.filters-expanded) .filter-options{display:none}.segmented-control{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-right:1px solid var(--line);border-bottom:0}.segmented-control button{min-width:0;min-height:48px;padding:0 10px}.mobile-filter-toggle{display:inline-flex;width:auto;min-height:48px;border-left:0}.filters-expanded .segmented-control,.filters-expanded .mobile-filter-toggle{border-bottom:1px solid var(--line)}.search-box{min-height:54px;border-top:0;border-right:0;border-bottom:1px solid var(--line)}.select-control{min-height:58px;padding:0 11px}.icon-command{width:auto;min-height:48px}.reset-filters{border-left:0}.source-strip{grid-template-columns:.9fr 1.4fr .75fr .75fr 52px;border-top:2px solid var(--line-strong);border-left:0}.source-strip>span,.source-strip a,.source-strip>button{min-width:0;min-height:42px;padding:7px 8px;font-size:12px;overflow:hidden;text-overflow:ellipsis}.exam-toggle button{min-height:42px;min-width:0;padding:8px 10px;font-size:12px}.identity{padding:7px 9px}.identity-mark{width:32px;height:32px}.search-box,.select-control{border-right:0;border-bottom:1px solid var(--line)}.year-filter{border-right:1px solid var(--line)}.season-filter,.type-filter{border-right:0}.pane-heading{flex-direction:column;align-items:flex-start;gap:10px}.preview-toolbar{flex-direction:column;align-items:stretch;gap:10px}.preview-mode-control{width:100%;border:1px solid var(--line)}.preview-mode-control button{min-height:40px}.pane-heading>div:first-child,.pane-actions,.pane-actions .select-control{width:100%}.workspace:not(.list-only) .registry-pane{display:none}.detail-pane .pane-heading{flex-direction:row;align-items:center}.detail-close{display:inline-flex}.pane-actions .select-control{min-width:0;min-height:38px;border:1px solid var(--line-strong)}.segmented-control button,.icon-command{border-top:0}.task-table,.exam-list{height:320px;max-height:560px;min-height:0}.table-head{display:none}.task-row{grid-template-areas:"exam exam part" "type summary repeat";grid-template-columns:max-content minmax(0,1fr) max-content;align-items:center;gap:6px 8px;min-height:58px;padding:8px 10px 8px 12px}.task-table.without-part .task-row{grid-template-areas:"exam exam repeat" "type summary summary";grid-template-columns:max-content minmax(0,1fr) max-content;padding:8px 10px 8px 12px}.task-row .exam-code{grid-area:exam;align-items:center;min-width:0}.task-row .exam-code .season-icon{height:1.18em;min-height:0}.task-part,.task-repeat{color:var(--muted);font-size:12px;font-weight:900;line-height:1;white-space:nowrap}.task-part{grid-area:part}.task-repeat{grid-area:repeat}.task-row .type-pill{grid-area:type;min-height:22px;padding:3px 7px 1px;border-radius:7px}.task-row .row-summary{grid-area:summary;-webkit-line-clamp:1}.exam-line{grid-template-columns:1fr 1fr;padding:12px}.preview-pane{height:auto}.preview-frame,.preview-pane iframe{height:70vh;min-height:460px}}@media(max-width:360px){.control-band{grid-template-areas:"mode mode filter-toggle" "search search search" "year year year" "season season season" "type type type" "theme theme reset"}.year-filter{border-right:0}.select-control{min-height:54px}}
