:root{--bg:#f6f7f9;--panel:#fff;--text:#1d2330;--muted:#5b6476;--border:#e3e6eb;--grid:#eceef2;--accent:#1d6ac6;--on-accent:#fff;--series-1:#2a78d6;--band:#2a78d629;--limit:#b42318;--ok-bg:#dcf3e3;--ok-fg:#11632b;--warn-bg:#fff4d6;--warn-fg:#7a5200;--err-bg:#fde0df;--err-fg:#a3261f;--highlight:#eef4fd;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:15px}@media (prefers-color-scheme:dark){:root{--bg:#14171c;--panel:#1c2027;--text:#e6e8ec;--muted:#98a2b3;--border:#2d333d;--grid:#262b33;--accent:#5b9cf0;--on-accent:#0b1a2e;--series-1:#3987e5;--band:#3987e538;--limit:#f97066;--ok-bg:#173d24;--ok-fg:#8fe0a6;--warn-bg:#3a3420;--warn-fg:#f5cf6b;--err-bg:#4a1e1c;--err-fg:#ffaba5;--highlight:#1e2a3d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}body{background:var(--bg);margin:0}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--accent)}.app{overflow-wrap:anywhere;max-width:1200px;margin:0 auto;padding:0 16px 48px}.muted{color:var(--muted)}.small{font-size:.82rem}.center{text-align:center;padding:40px 0}.topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 0;display:flex}.brand{color:inherit;font-size:1.2rem;font-weight:700;text-decoration:none}.logo{color:var(--accent)}.topnav{flex-wrap:wrap;align-items:center;gap:16px;font-size:.9rem;display:flex}.topnav a{color:var(--text);text-decoration:none}.topnav a:hover{color:var(--accent)}@media (width<=640px){.topnav a{display:none}}.privacy{color:var(--ok-fg);background:var(--ok-bg);border-radius:999px;padding:4px 10px;font-size:.85rem}.primary{background:var(--accent);color:var(--on-accent);cursor:pointer;border:0;border-radius:8px;padding:9px 16px;font-weight:600}.primary:disabled{opacity:.5;cursor:default}.secondary{border:1px solid var(--border);background:var(--panel);cursor:pointer;border-radius:8px;padding:8px 14px;position:relative}.secondary input[type=file]{opacity:0;cursor:pointer;position:absolute;inset:0}.link{color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.error,.warning{border-radius:8px;padding:10px 14px}.error{background:var(--err-bg);color:var(--err-fg)}.warning{background:var(--warn-bg);color:var(--warn-fg)}.input-step{max-width:860px;margin:24px auto 0}.input-step h1{margin:0 0 10px;font-size:1.7rem;line-height:1.25}.lede{color:var(--muted);margin:0 0 18px;line-height:1.55}.drop{border:2px dashed var(--border);background:var(--panel);border-radius:12px;padding:12px}.drop.over{border-color:var(--accent)}.drop textarea{resize:vertical;background:0 0;border:0;outline:none;width:100%;min-height:200px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.85rem}.drop-actions{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:12px;padding-top:10px;display:flex}.points{color:var(--muted);grid-template-columns:repeat(3,1fr);gap:14px;margin:22px 0 0;padding:0;font-size:.9rem;line-height:1.45;list-style:none;display:grid}.points strong{color:var(--text);display:block}.step-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin:12px 0;display:flex}.step-head h2{margin:0 0 4px}.step-head p{margin:0}.step-actions{flex-wrap:wrap;gap:8px;display:flex}button{white-space:nowrap}.table-scroll{border:1px solid var(--border);background:var(--panel);border-radius:10px;overflow-x:auto}.preview{border-collapse:collapse;width:100%;font-size:.85rem}.preview th,.preview td{border-bottom:1px solid var(--border);text-align:left;white-space:nowrap;padding:6px 8px}.preview th{vertical-align:top;background:var(--bg)}.preview select{background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:4px;max-width:170px;margin-top:4px;padding:1px 2px;font-size:.8rem;display:block}.col-name{font-weight:600}.role-ignore{font-style:italic}td.ignored{color:var(--muted)}.settings{grid-template-columns:repeat(3,1fr);align-items:start;gap:14px;margin-top:14px;display:grid}fieldset{border:1px solid var(--border);background:var(--panel);border-radius:10px;margin:0;padding:10px 14px}legend{padding:0 4px;font-weight:600}fieldset label{justify-content:space-between;align-items:center;gap:8px;margin:6px 0;font-size:.9rem;display:flex}fieldset label.radio,fieldset label.check{justify-content:flex-start}.settings .validated{grid-column:1/-1}.study-fields{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:4px 14px;display:grid}.study-fields label{flex-direction:column;align-items:stretch;gap:2px}.model-list{columns:2 280px;column-gap:24px}.model-list label{break-inside:avoid;margin-top:0}fieldset input[type=number]{border:1px solid var(--border);background:var(--bg);border-radius:6px;width:80px;padding:3px 6px}.headline{background:var(--panel);border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:10px;margin-bottom:14px;padding:14px 18px;line-height:1.5}.headline-label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:.75rem}.headline-value{font-size:1.4rem;font-weight:700}table.summary,table.mini{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:.88rem}.mini td:first-child{white-space:nowrap}.table-scroll table{overflow-wrap:normal}@media (width<=640px){table.summary{min-width:640px}}.summary th,.summary td,.mini th,.mini td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:7px 10px}.summary th,.mini th{background:var(--bg);font-weight:600}.summary tr.limiting td{background:var(--highlight)}.summary tr.skipped td{font-size:.82rem}.tag{background:var(--highlight);color:var(--accent);vertical-align:middle;border-radius:4px;margin:0 6px;padding:1px 6px;font-size:.7rem;font-weight:600;display:inline-block}.log{background:var(--panel);border:1px solid var(--border);border-radius:10px;margin:14px 0;padding:10px 14px}.log summary,.models summary{cursor:pointer;font-weight:600}.notes{margin:8px 0;padding-left:18px;font-size:.88rem;line-height:1.45}.notes li.warning{color:var(--warn-fg);background:0 0;padding:0}.notes li.info{color:var(--muted)}.card{background:var(--panel);border:1px solid var(--border);border-radius:12px;margin:16px 0;padding:16px 18px}.card-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;display:flex}.card-head h3{margin:2px 0 0;font-size:1.2rem}.kind{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:.72rem}.card-limit{font-size:.9rem}.reason{margin:10px 0 4px;line-height:1.5}.card h4{margin:18px 0 6px;font-size:.95rem}.card-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:16px;margin-top:10px;display:grid}.models{margin-top:14px}.models .table-scroll{margin-top:8px}.mini tr.chosen td{background:var(--highlight)}svg{width:100%;height:auto;display:block}.panels{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;display:grid}.panel{border:1px solid var(--border);border-radius:8px}.panel-title{fill:var(--text);font-size:11px;font-weight:600}.tick{fill:var(--muted);font-size:9px}.prediction .tick{font-size:10px}.grid{stroke:var(--grid);stroke-width:1px}.fit{fill:none;stroke:var(--series-1);stroke-width:2px;stroke-linecap:round}.band{fill:var(--band);stroke:none}.limit{stroke:var(--limit);stroke-width:1.5px;stroke-dasharray:5 4}.limit-label{fill:var(--muted);font-size:10px}.pt{fill:var(--series-1);stroke:var(--panel);stroke-width:2px}.pt.censored{fill:var(--panel);stroke:var(--series-1);stroke-width:1.5px}.footnote{margin-top:24px}@media (width<=800px){.points,.settings,.card-grid{grid-template-columns:1fr}.input-step h1{font-size:1.4rem}}.limit-input,.inline-select{border:1px solid var(--border);background:var(--bg);color:inherit;font:inherit;border-radius:6px;padding:2px 6px}.limit-input{width:72px}.nowrap{white-space:nowrap}.storage-row{flex-wrap:wrap;align-items:center;gap:10px;margin:4px 0;display:flex}.storage-row label{gap:4px;margin:0}.storage-row input[type=number]{width:60px}.chart-tabs{flex-wrap:wrap;gap:4px;margin-bottom:6px;display:flex}.tab{border:1px solid var(--border);background:var(--bg);color:var(--muted);cursor:pointer;border-radius:999px;padding:3px 10px;font-size:.8rem}.tab.active{background:var(--highlight);color:var(--accent);border-color:var(--accent);font-weight:600}.mini tr.shown td{background:var(--highlight)}.months-input{border:1px solid var(--border);background:var(--bg);width:110px;color:inherit;border-radius:6px;padding:3px 6px}.months-input.invalid{border-color:#d92d20}.pt-hit.clickable{cursor:pointer}.pt-hit.clickable:hover .pt,.pt-hit.clickable:focus-visible .pt{stroke:var(--text);stroke-width:2px}.pt-hit:focus{outline:none}.pt-excluded{stroke:#d92d20;stroke-width:2px;fill:none}.exclude-form{border:1px solid var(--border);background:var(--panel);border-left:4px solid #d92d20;border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px;margin:10px 0;padding:10px 12px;display:flex}.exclude-form label{flex:260px;align-items:center;gap:6px;display:flex}.exclude-form input{border:1px solid var(--border);background:var(--bg);min-width:0;color:inherit;border-radius:6px;flex:1;padding:4px 8px}.print-only{display:none}@media print{@page{size:A4;margin:16mm 14mm}body{color:#111;background:#fff}.app{max-width:none;padding:0}.app>:not(.report){display:none!important}.print-only{display:block}.report{overflow-wrap:normal;font-size:10pt;line-height:1.4}.report h1{margin:0 0 2mm;font-size:18pt}.report h2{break-after:avoid;margin:6mm 0 2mm;font-size:13pt}.report h3{break-after:avoid;margin:5mm 0 1.5mm;font-size:11pt}.report table{border-collapse:collapse;break-inside:auto;width:100%;margin:2mm 0 3mm;font-size:8.5pt}.report th,.report td{text-align:left;vertical-align:top;border:.5pt solid #98a2b3;padding:1mm 1.5mm}.report th{background:#f2f4f7}.report tr{break-inside:avoid}.report ul{margin:1mm 0 3mm;padding-left:5mm}.report .muted{color:#475467}.report-chart{break-inside:avoid;max-width:150mm}.report-chart svg{width:100%;height:auto}.report-footer{border-top:.5pt solid #98a2b3;margin-top:8mm;padding-top:2mm}}.drop-actions a.link{align-self:center}.format-help{background:var(--panel);border:1px solid var(--border);border-radius:10px;margin-top:14px;padding:10px 16px;font-size:.92rem;line-height:1.5}.format-help summary{cursor:pointer;font-weight:600}.format-help ul{padding-left:18px}.sheet-choice{background:var(--panel);border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:10px;margin-top:12px;padding:10px 16px}.sheet-choice .step-actions{flex-wrap:wrap}.site-footer{border-top:1px solid var(--border);color:var(--muted);flex-wrap:wrap;gap:16px;margin-top:40px;padding:16px 0;font-size:.85rem;display:flex}.site-footer a{color:var(--muted)}.paywall-backdrop{z-index:10;background:#10141c73;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.paywall{background:var(--panel);border-radius:12px;max-width:460px;padding:18px 22px;line-height:1.5;box-shadow:0 10px 30px #00000040}.paywall h2{margin:0 0 6px;font-size:1.2rem}.paywall .step-actions{flex-wrap:wrap;justify-content:flex-end}.paywall a.primary,.paywall a.secondary{color:inherit;text-decoration:none;display:inline-block}.paywall a.primary{color:var(--on-accent)}.early{margin:-6px 0 10px}.bottom-actions{justify-content:flex-end;margin-top:16px;display:flex}.pt-hit{outline:none}.pt-hit:focus-visible>circle:first-of-type{stroke:var(--accent);stroke-width:2px}
