:root{--ground:#FBFBF9;--surface:#FFFFFF;--ink:#1A1D1F;--muted:#5A6169;--faint:#6E747A;--rule:rgba(26,29,31,0.12);--accent:#1E4FA3;--accent-ink:#FFFFFF;--band-1:#F2E9DA;--band-1-ink:#1A1D1F;--band-2:#DFC79C;--band-2-ink:#1A1D1F;--band-3:#C39A5B;--band-3-ink:#1A1D1F;--band-4:#8B602E;--band-4-ink:#E8EAEC;--band-5:#6B4420;--band-5-ink:#E8EAEC;--font-display:Literata,Georgia,"Times New Roman",serif;--font-body:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif;--font-data:"JetBrains Mono",ui-monospace,"SF Mono",Menlo,monospace;--text-xs:12px;--text-sm:14px;--text-base:16px;--text-md:18px;--text-lg:22px;--text-xl:28px;--text-2xl:35px;--text-3xl:44px;--figures:tabular-nums;--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;--radius-none:0;--radius-sm:3px;--radius-md:6px;--control-height:36px;--control-line:1.2;--icon-button:18px;--shadow-pop:0 2px 8px rgb(0 0 0/0.12);--duration-fast:120ms;--duration-base:200ms;--ease:cubic-bezier(0.2,0,0.2,1)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--ground:#131619;--surface:#1B1F23;--ink:#E8EAEC;--muted:#A0A7AF;--faint:#80878F;--rule:rgba(232,234,236,0.14);--accent:#7FA6E8;--accent-ink:#131619;--band-1:#3A3226;--band-1-ink:#E8EAEC;--band-2:#5C4C31;--band-2-ink:#E8EAEC;--band-3:#7E6437;--band-3-ink:#E8EAEC;--band-4:#B08A4E;--band-4-ink:#1A1D1F;--band-5:#D4AC6E;--band-5-ink:#1A1D1F;--shadow-pop:0 2px 10px rgb(0 0 0/0.55)}}:root[data-theme=dark]{--ground:#131619;--surface:#1B1F23;--ink:#E8EAEC;--muted:#A0A7AF;--faint:#80878F;--rule:rgba(232,234,236,0.14);--accent:#7FA6E8;--accent-ink:#131619;--band-1:#3A3226;--band-1-ink:#E8EAEC;--band-2:#5C4C31;--band-2-ink:#E8EAEC;--band-3:#7E6437;--band-3-ink:#E8EAEC;--band-4:#B08A4E;--band-4-ink:#1A1D1F;--band-5:#D4AC6E;--band-5-ink:#1A1D1F}body{background:var(--ground);color:var(--ink);font-family:var(--font-body);font-size:var(--text-base);line-height:1.55}.data{font-family:var(--font-data);font-feature-settings:var(--figures);font-variant-numeric:var(--figures)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.band{border-radius:var(--radius-sm);padding:var(--space-1) var(--space-2);font-family:var(--font-data);font-feature-settings:var(--figures);font-variant-numeric:var(--figures);font-size:var(--text-sm)}.band-1{background:var(--band-1);color:var(--band-1-ink)}.band-2{background:var(--band-2);color:var(--band-2-ink)}.band-3{background:var(--band-3);color:var(--band-3-ink)}.band-4{background:var(--band-4);color:var(--band-4-ink)}.band-5{background:var(--band-5);color:var(--band-5-ink)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@font-face{font-family:Literata;src:url(/fonts/literata-var.woff2) format("woff2");font-weight:400 700;font-display:swap}@font-face{font-family:IBM Plex Sans;src:url(/fonts/plex-sans-var.woff2) format("woff2");font-weight:400 600;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/jetbrains-mono-400.woff2) format("woff2");font-weight:400;font-display:swap}*,:after,:before{box-sizing:border-box}html{color-scheme:light dark}body{margin:0;-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--font-display);font-weight:600;line-height:1.2;margin:0}h1{font-size:var(--text-xl)}h2{font-size:var(--text-lg)}h3{font-size:var(--text-md)}p{margin:0}a{color:var(--accent)}.page{min-height:100dvh;display:flex;flex-direction:column}.shell{width:100%;max-width:72rem;margin:0 auto;padding-inline:var(--space-5)}main{flex:1 1;padding-block:var(--space-7) var(--space-9);gap:var(--space-7)}.stack,main{display:flex;flex-direction:column}.stack{gap:var(--space-5)}.stack-tight{display:flex;flex-direction:column;gap:var(--space-2)}.row{align-items:center;gap:var(--space-3)}.row,.spread{display:flex;flex-wrap:wrap}.spread{align-items:baseline;justify-content:space-between;gap:var(--space-4)}.lede{color:var(--muted);max-width:46ch}.note{font-size:var(--text-sm);color:var(--faint)}.card{border:1px solid var(--rule);border-radius:var(--radius-md);padding:var(--space-5)}.card,.site-header{background:var(--surface)}.site-header{border-bottom:1px solid var(--rule);position:-webkit-sticky;position:sticky;top:0;z-index:5}.site-header .shell{display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);padding-top:var(--space-3);padding-bottom:var(--space-3)}.wordmark{font-family:var(--font-display);font-size:var(--text-md);font-weight:600;color:var(--ink);text-decoration:none;white-space:nowrap}.site-nav{display:flex;align-items:center;gap:var(--space-5);font-size:var(--text-sm)}.site-nav a:not([class*=btn-]){color:var(--muted);text-decoration:none;padding:var(--space-1) 0;border-bottom:2px solid transparent}.site-nav a:hover{color:var(--ink)}.site-nav>*+*{position:relative}.site-nav>*+:before{content:"";position:absolute;left:calc(var(--space-5) / -2);top:50%;transform:translateY(-50%);height:1.1em;border-left:1px solid var(--rule)}.site-nav a[aria-current=page]{color:var(--ink);border-bottom-color:var(--accent)}.site-footer{border-top:1px solid var(--rule);padding:var(--space-5) 0;font-size:var(--text-sm);color:var(--faint)}.site-footer .shell{display:flex;gap:var(--space-5);flex-wrap:wrap;justify-content:space-between}.site-footer a{color:var(--muted)}@media (max-width:40rem){.site-nav{gap:var(--space-4);font-size:var(--text-xs)}.site-nav .secondary{display:none}main{padding-top:var(--space-5);gap:var(--space-5)}}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:var(--space-4);top:var(--space-4);padding:var(--space-2) var(--space-3);background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius-sm);z-index:10}button,input,select,textarea{font:inherit;color:inherit}.btn-primary,.btn-quiet,.btn-secondary{border-radius:var(--radius-sm);min-height:var(--control-height);line-height:var(--control-line);padding:var(--space-2) var(--space-4);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;border:1px solid transparent;white-space:nowrap}.btn-primary{background:var(--accent);color:var(--accent-ink);font-weight:600}.btn-secondary{background:var(--surface);border-color:var(--rule);color:var(--ink)}.btn-quiet{background:none;color:var(--muted);padding-left:var(--space-2);padding-right:var(--space-2)}.btn-quiet:hover{color:var(--ink)}button:disabled{opacity:.5;cursor:not-allowed}.field{display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--text-sm);color:var(--muted)}.field input,.field select,.field textarea{background:var(--surface);color:var(--ink);border:1px solid var(--rule);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);width:100%}.field textarea{min-height:7rem;resize:vertical;font-family:var(--font-body)}.checkbox{flex-direction:row;align-items:center;gap:var(--space-2)}.checkbox input{width:auto}.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);grid-gap:var(--space-7);gap:var(--space-7);align-items:start}@media (max-width:56rem){.hero{grid-template-columns:1fr;gap:var(--space-5)}}.hero-headline{font-size:var(--text-2xl);margin-bottom:var(--space-4)}.dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);min-height:7rem;padding:var(--space-5);border:1px dashed var(--rule);border-radius:var(--radius-md);background:var(--ground);cursor:pointer;text-align:center;transition:border-color var(--duration-fast) var(--ease)}.dropzone.dragover,.dropzone:hover{border-color:var(--accent)}.dropzone input{display:none}.dropzone-name{font-size:var(--text-base);font-weight:600}.or{display:flex;align-items:center;gap:var(--space-3);color:var(--faint);font-size:var(--text-sm)}.or:after,.or:before{content:"";flex:1 1;height:1px;background:var(--rule)}.progress{display:flex;flex-direction:column;gap:var(--space-3)}.progress-track{height:4px;background:var(--rule);border-radius:var(--radius-sm);overflow:hidden}.progress-bar{height:100%;background:var(--accent);transition:width var(--duration-base) var(--ease)}.progress-step{font-size:var(--text-sm);color:var(--muted)}.progress-elapsed{font-family:var(--font-data);font-feature-settings:var(--figures);font-variant-numeric:var(--figures);color:var(--faint)}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));grid-gap:var(--space-4);gap:var(--space-4)}.stat{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius-md);padding:var(--space-5);flex-direction:column}.stat,.stat-label{display:flex;gap:var(--space-2)}.stat-label{align-items:center}.stat-label,.unit{font-size:var(--text-sm);color:var(--muted)}.unit{margin-left:var(--space-2)}.stat-formula{display:block}.stat-formula,.why{font-size:var(--text-xs);color:var(--faint)}.why{width:var(--icon-button);height:var(--icon-button);flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;padding:0;border:1px solid var(--rule);border-radius:50%;background:none;line-height:1;cursor:pointer}.why-body{color:var(--muted);border-left:2px solid var(--rule);padding-left:var(--space-3)}.band-chip,.why-body{font-size:var(--text-sm)}.band-chip{display:inline-flex;align-items:center;gap:var(--space-2);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-2);white-space:nowrap}.band-chip .numeral{font-family:var(--font-data);font-feature-settings:var(--figures);font-variant-numeric:var(--figures);font-weight:600}.table-wrap{overflow-x:auto;border:1px solid var(--rule);border-radius:var(--radius-md);background:var(--surface)}table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}thead th{text-align:left;font-weight:600;color:var(--muted);padding:var(--space-3) var(--space-4);white-space:nowrap;position:-webkit-sticky;position:sticky;top:0;background:var(--surface)}tbody td,thead th{border-bottom:1px solid var(--rule)}tbody td{padding:var(--space-2) var(--space-4);vertical-align:top}tbody tr:last-child td{border-bottom:none}td.num,th.num{font-family:var(--font-data);font-feature-settings:var(--figures);font-variant-numeric:var(--figures);text-align:right}.sortable{background:none;border:none;padding:0;font:inherit;color:inherit;cursor:pointer;display:inline-flex;gap:var(--space-1)}.sortable[aria-sort]:not([aria-sort=none]){color:var(--ink)}.select-cell{width:1%}.pagination{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.filters summary,.pagination{font-size:var(--text-sm);color:var(--muted)}.filters summary{cursor:pointer;padding:var(--space-2) 0}.filters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));grid-gap:var(--space-4);gap:var(--space-4);padding:var(--space-4) 0}.filters-apply{display:flex;align-items:flex-end;justify-self:end}.filters-pos{flex-direction:column;padding:0 0 var(--space-4);border:0}.chips,.filters-pos{display:flex;gap:var(--space-2)}.chips{flex-wrap:wrap}.chip{border:1px solid var(--rule);background:var(--surface);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-3);font-size:var(--text-sm);color:var(--muted);cursor:pointer}.chip[aria-pressed=true]{border-color:var(--accent);color:var(--ink)}.export{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,20rem);grid-gap:var(--space-5);gap:var(--space-5)}@media (max-width:56rem){.export{grid-template-columns:1fr}}.field-list{display:flex;flex-direction:column;gap:var(--space-2)}.card-preview{border:1px solid var(--rule);border-radius:var(--radius-md);overflow:hidden}.card-face{padding:var(--space-4);background:var(--surface)}.card-face+.card-face{border-top:1px solid var(--rule)}.card-face-label{font-size:var(--text-xs);color:var(--faint);text-transform:uppercase;letter-spacing:.08em}.locked{border:1px dashed var(--rule);border-radius:var(--radius-md);padding:var(--space-5);color:var(--muted);font-size:var(--text-sm);display:flex;flex-direction:column;gap:var(--space-3);align-items:flex-start}.locked strong{color:var(--ink);font-weight:600;font-size:var(--text-base)}.empty{border:1px dashed var(--rule);border-radius:var(--radius-md);padding:var(--space-7) var(--space-5);display:flex;flex-direction:column;gap:var(--space-3);align-items:center;text-align:center;color:var(--muted)}.empty strong{color:var(--ink);font-family:var(--font-display);font-size:var(--text-md)}.empty p{max-width:44ch}.message{border-left:2px solid var(--accent);background:var(--surface);padding:var(--space-3) var(--space-4);font-size:var(--text-sm);display:flex;flex-direction:column;gap:var(--space-2);align-items:flex-start}.message strong{font-weight:600}.budget{font-size:var(--text-sm);color:var(--faint);font-feature-settings:var(--figures);font-variant-numeric:var(--figures)}.budget[data-state=low]{color:var(--ink);font-weight:600}.catalogue{display:flex;flex-direction:column}.entry{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;padding:var(--space-3) var(--space-2);border-bottom:1px solid var(--rule);text-decoration:none;color:inherit}.catalogue>.entry:first-child{border-top:1px solid var(--rule)}.entry:hover{background:var(--surface)}.entry-main{display:flex;flex-direction:column;gap:var(--space-1);flex:1 1 18rem;min-width:0}.entry-title{font-family:var(--font-display);font-size:var(--text-md);line-height:1.25}.entry-author{font-size:var(--text-sm);color:var(--muted)}.entry-meta{align-items:baseline;flex-wrap:wrap}.entry-figures,.entry-meta{display:flex;gap:var(--space-4)}.entry-figures{font-size:var(--text-sm);color:var(--faint);font-feature-settings:var(--figures);font-variant-numeric:var(--figures)}.history-row{display:flex;gap:var(--space-4);align-items:baseline;justify-content:space-between;padding:var(--space-4) 0;border-bottom:1px solid var(--rule);flex-wrap:wrap}.edition-list{display:flex;flex-direction:column;gap:var(--space-2);width:100%}.edition{display:flex;align-items:baseline;gap:var(--space-4);flex-wrap:wrap;font-size:var(--text-sm);color:var(--muted)}.edition .grow{flex:1 1}.compare-table td:first-child,.compare-table th:first-child{position:-webkit-sticky;position:sticky;left:0;background:var(--surface)}.compare-table td.leader{font-weight:600;color:var(--ink)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap;border:0}.growth{display:flex;align-items:flex-end;gap:var(--space-1);height:4rem}.growth-bar{flex:1 1;background:var(--accent);border-radius:var(--radius-sm) var(--radius-sm) 0 0;min-height:2px}.definition-list{display:grid;grid-template-columns:auto 1fr;grid-gap:var(--space-2) var(--space-5);gap:var(--space-2) var(--space-5);font-size:var(--text-sm)}.definition-list dt{color:var(--muted)}.definition-list dd{margin:0}.narrow{max-width:28rem}.prose{max-width:68ch;display:flex;flex-direction:column;gap:var(--space-5)}.prose h2{margin-top:var(--space-5)}.page-size,.prose p{color:var(--muted)}.page-size{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);margin-right:auto}.page-size select{min-height:var(--control-height);line-height:var(--control-line);padding:0 var(--space-2);border:1px solid var(--rule);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font:inherit;cursor:pointer}.why-wrap{display:inline-flex;vertical-align:middle}h3>.why-wrap{margin-left:var(--space-2)}.why-pop{position:fixed;inset:auto;margin:0;width:max-content;max-width:min(22rem,calc(100vw - 2 * var(--space-4)));padding:var(--space-3) var(--space-4);background:var(--surface);color:var(--ink);border:1px solid var(--rule-strong);border-radius:var(--radius-sm);box-shadow:var(--shadow-pop);font-family:var(--font-body);font-size:var(--text-sm);font-weight:400;line-height:1.5;text-align:left;text-transform:none;letter-spacing:normal;white-space:normal;overflow:visible;opacity:0;transition:opacity var(--duration-fast) var(--ease)}.why-pop:popover-open{opacity:1}.why-arrow{position:absolute;width:10px;height:10px;margin-left:-5px;background:var(--surface);border-left:1px solid var(--rule-strong);border-top:1px solid var(--rule-strong);transform:rotate(45deg)}.why-pop[data-side=below] .why-arrow{top:-6px}.why-pop[data-side=above] .why-arrow{bottom:-6px;transform:rotate(225deg)}@media (prefers-reduced-motion:reduce){.why-pop{transition:none}}.edition{position:relative}.edition .stretched:after{content:"";position:absolute;inset:0;border-radius:var(--radius-sm)}.edition:hover{background:var(--surface)}.edition .above{position:relative;z-index:1}.edition time{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.field.is-inert{opacity:.65;cursor:default}.field.is-inert input{cursor:not-allowed}