@font-face{font-family:Hanken Grotesk;src:url(/assets/fonts/hanken-grotesk.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Source Code Pro;src:url(/assets/fonts/source-code-pro-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}:root{--bg: #ffffff;--surface: #f8fafd;--border: #e5edf5;--ink: #061b31;--muted: #50617a;--accent: #533afd;--link: #533afd;--on-accent: #ffffff;--wash: #e8e9ff;--error: #c0123c;--ok: #0b6e4f;--warn: #8a5300;--sans: "Hanken Grotesk", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono: "Source Code Pro", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--r: 4px;color-scheme:light dark}@media (prefers-color-scheme: dark){:root{--bg: #0a1626;--surface: #10233a;--border: #213a5c;--ink: #e8eef6;--muted: #9fb0c8;--accent: #8b93ff;--link: #a3aaff;--on-accent: #061b31;--wash: #1a2a52;--error: #ff8fa3;--ok: #5fd3a6;--warn: #f2c166}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.5 var(--sans);letter-spacing:-.01em}h1,h2,h3{font-weight:300;letter-spacing:-.02em;line-height:1.15;margin:0}h1{font-size:32px}h2{font-size:26px;margin-top:64px}h3{font-size:20px;margin-top:32px;font-weight:400}p{margin:16px 0 0}a{color:var(--link);text-underline-offset:2px}a:hover{text-decoration-thickness:2px}.mono,code{font-family:var(--mono);font-size:.94em;letter-spacing:0}.muted{color:var(--muted)}.small{font-size:14px}.wrap{max-width:1040px;margin:0 auto;padding:0 16px}.narrow{max-width:720px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}[hidden]{display:none!important}.top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid var(--border)}.brand{font-weight:500;font-size:20px;color:var(--ink);text-decoration:none;letter-spacing:-.02em;display:inline-flex;align-items:center;gap:8px;min-height:44px}.brand svg{color:var(--accent)}.top .muted{font-size:12px;text-align:right}footer{margin-top:96px;border-top:1px solid var(--border);padding:32px 0 48px;font-size:14px;color:var(--muted)}footer nav{display:flex;flex-wrap:wrap;gap:8px 24px;margin-bottom:16px}footer a{color:var(--muted);display:inline-block;padding:6px 0}.hero{padding:48px 0 24px}.hero p{font-size:20px;color:var(--muted);max-width:640px;margin-top:8px;font-weight:300}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:24px}.slots{display:grid;grid-template-columns:1fr 1fr;gap:16px}.slot{position:relative;border:1px dashed var(--muted);border-radius:var(--r);background:var(--bg);transition:opacity .15s,background-color .15s}.slot label.drop{display:block;padding:16px 16px 12px;cursor:pointer;min-height:132px}.slot .num{font:400 12px var(--mono);color:var(--muted);display:block}.slot .cap{display:block;font-size:16px;font-weight:500;margin-top:2px}.slot .hint{display:block;font-size:14px;color:var(--muted);margin-top:8px}.slot .pick{display:inline-block;margin-top:12px;font-size:14px;color:var(--link);text-decoration:underline;text-underline-offset:2px}.slot:focus-within{outline:2px solid var(--accent);outline-offset:2px}.slot.over{border:2px solid var(--accent);background:var(--wash)}.slots.dragging .slot:not(.over){opacity:.6}.slot[data-state=ok]{border-style:solid;border-color:var(--ok)}.slot[data-state=error]{border-style:solid;border-color:var(--error)}.slot .msg{margin:0;padding:0 16px 12px;font-size:14px;display:flex;gap:8px;align-items:flex-start}.slot .msg:empty{display:none}.slot[data-state=ok] .msg{color:var(--ok)}.slot[data-state=error] .msg{color:var(--error)}.slot .alt{padding:0 16px 12px;margin:0;font-size:14px}.ico{flex:none;width:16px;height:16px;margin-top:3px}.under{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;margin-top:16px;font-size:14px;color:var(--muted);align-items:center}.under .lock{display:inline-flex;gap:8px;align-items:center;color:var(--ink)}.rail{display:flex;gap:8px;list-style:none;padding:16px 0 0;margin:16px 0 0;border-top:1px solid var(--border);font-size:14px;color:var(--muted);flex-wrap:wrap}.rail li{display:flex;align-items:center;gap:8px}.rail li+li:before{content:"";width:24px;height:1px;background:var(--border)}.rail .n{font:12px var(--mono);width:22px;height:22px;border:1px solid var(--border);border-radius:9999px;display:inline-flex;align-items:center;justify-content:center;background:var(--bg)}.rail li[aria-current=step]{color:var(--ink);font-weight:500}.rail li[aria-current=step] .n{border-color:var(--accent);color:var(--accent)}.rail li.done .n{background:var(--ok);border-color:var(--ok);color:var(--bg)}.btn{font:500 16px var(--sans);letter-spacing:-.01em;border-radius:var(--r);border:1px solid var(--accent);background:var(--accent);color:var(--on-accent);padding:10px 20px;min-height:44px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn:hover{filter:brightness(1.08)}.btn.ghost{background:transparent;color:var(--link);border-color:var(--border)}.btn[disabled]{opacity:.5;cursor:not-allowed}.linkbtn{font:inherit;color:var(--link);background:none;border:0;padding:10px 0;min-height:44px;cursor:pointer;text-decoration:underline;text-underline-offset:2px;text-align:left}.boxes{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;margin-top:12px}.fbox{position:relative;border:1px solid var(--border);border-radius:var(--r);background:var(--bg);padding:6px 10px 4px;display:block;min-width:0}.fbox .cap{display:block;font-size:12px;color:var(--muted);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fbox .bn{font-family:var(--mono);color:var(--ink);margin-right:6px}.fbox input,.fbox select{width:100%;border:0;background:transparent;color:var(--ink);font:400 16px var(--sans);padding:4px 0;min-height:32px;border-radius:0;letter-spacing:-.01em}.fbox input.mono,.fbox select.mono{font-family:var(--mono);font-size:15px;letter-spacing:0}.fbox input:focus,.fbox select:focus{outline:none}.fbox:focus-within{outline:2px solid var(--accent);outline-offset:1px}.fbox .eg{display:block;font:12px var(--mono);color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-height:16px;padding-bottom:2px}.fbox.bad{border-color:var(--error);outline:1px solid var(--error)}.fbox.span2{grid-column:span 2}.fbox .warn{display:block;font-size:12px;line-height:1.35;color:var(--warn);padding:2px 0 4px}.fbox .warn[hidden]{display:none}.sheetpick{display:flex;gap:8px;align-items:center;margin-top:8px;color:var(--ink)}.sheetpick select{min-height:32px;border:1px solid var(--border);border-radius:var(--r);background:var(--bg);color:var(--ink);padding:2px 6px}.sheetpick select{font:inherit;max-width:100%}.slot .msg>span{min-width:0}.ferr{color:var(--error);font-size:14px;display:flex;gap:6px;align-items:flex-start;margin:4px 0 0}fieldset{border:0;padding:0;margin:32px 0 0;min-width:0}legend{font-size:20px;font-weight:400;padding:0;letter-spacing:-.02em}legend+p{margin-top:4px}details.more{margin-top:16px}details.more>summary{cursor:pointer;color:var(--link);min-height:44px;display:inline-flex;align-items:center}.opt{display:flex;gap:12px;align-items:flex-start;margin-top:16px}.opt input[type=checkbox]{width:20px;height:20px;margin:2px 0 0;accent-color:var(--accent);flex:none}.radio{display:flex;gap:24px;margin-top:8px;flex-wrap:wrap}.radio label{display:inline-flex;gap:8px;align-items:center;min-height:44px}.radio input{accent-color:var(--accent);width:18px;height:18px}.actions{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:32px}.note{border:1px solid var(--border);border-left:3px solid var(--warn);background:var(--bg);border-radius:var(--r);padding:12px 16px;margin-top:16px;font-size:14px}.note.err{border-left-color:var(--error)}.note strong{font-weight:500}.working{list-style:none;padding:0;margin:16px 0 0}.working li{display:flex;gap:12px;align-items:center;padding:6px 0;color:var(--muted)}.working li .tick{width:18px;height:18px;border:1px solid var(--border);border-radius:9999px;display:inline-flex;align-items:center;justify-content:center;background:var(--bg);flex:none}.working li.on{color:var(--ink)}.working li.on .tick{background:var(--ok);border-color:var(--ok);color:var(--bg)}.counter{font-family:var(--mono);color:var(--muted);margin-top:8px}.sum{font-size:26px;font-weight:300;letter-spacing:-.02em;margin:0}.sum b{font-weight:500}.sum .need{color:var(--error)}.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.tag{font-size:12px;border-radius:9999px;border:1px solid var(--border);padding:2px 10px;background:var(--bg);display:inline-flex;gap:6px;align-items:center;white-space:nowrap}.tag.ok{color:var(--ok);border-color:var(--ok)}.tag.err{color:var(--error);border-color:var(--error)}.tag.warn{color:var(--warn);border-color:var(--warn)}.need-card{border:1px solid var(--border);background:var(--bg);border-radius:var(--r);padding:12px 16px 16px;margin-top:12px}.need-card h4{margin:0;font-size:16px;font-weight:500;display:flex;gap:12px;flex-wrap:wrap;align-items:baseline}.need-card h4 .mono{color:var(--muted);font-weight:400;font-size:14px}.need-card .boxes{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.need-card .rowact{display:flex;gap:16px;margin-top:8px;flex-wrap:wrap;align-items:center}.files{list-style:none;padding:0;margin:12px 0 0;border:1px solid var(--border);border-radius:var(--r);background:var(--bg)}.files li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;flex-wrap:wrap}.files li+li{border-top:2px dotted var(--muted)}.files .fn{font-family:var(--mono);font-size:14px;overflow-wrap:anywhere}.files .ct{color:var(--muted);font-size:14px;white-space:nowrap}.files a{font-size:14px;white-space:nowrap;display:inline-flex;min-height:44px;align-items:center}.dlbar{display:flex;gap:12px 16px;align-items:center;flex-wrap:wrap;margin-top:16px}.dlbar .muted{font-size:14px}.tablewrap{overflow:auto;max-height:420px;border:1px solid var(--border);border-radius:var(--r);background:var(--bg);margin-top:12px}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;padding:8px 12px;border-bottom:1px solid var(--border);vertical-align:top}th{font-weight:500;background:var(--surface);position:sticky;top:0;z-index:1;white-space:nowrap}td.mono,th.mono{white-space:nowrap}tr:last-child td{border-bottom:0}td ul{margin:0;padding:0;list-style:none}td li{display:flex;gap:6px;align-items:flex-start}td li+li{margin-top:4px}td li.e{color:var(--error)}td li.c{color:var(--warn)}.filter{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.filter button{font:14px var(--sans);border:1px solid var(--border);background:var(--bg);color:var(--ink);border-radius:9999px;padding:6px 14px;min-height:36px;cursor:pointer}.filter button[aria-pressed=true]{background:var(--wash);border-color:var(--accent)}.checklist{font:14px/1.6 var(--mono);white-space:pre-wrap;background:var(--bg);border:1px solid var(--border);border-radius:var(--r);padding:16px;margin-top:12px;overflow-wrap:anywhere;letter-spacing:0}textarea{width:100%;font:16px var(--sans);color:var(--ink);background:var(--bg);border:1px solid var(--border);border-radius:var(--r);padding:10px 12px;min-height:88px;resize:vertical}textarea:focus{outline:2px solid var(--accent);outline-offset:1px}.fb{margin-top:48px;max-width:560px}.fb label{display:block;font-weight:500}.fixlist{list-style:none;padding:0;margin:16px 0 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:8px}@media (min-width: 960px){.fixlist{grid-template-columns:repeat(3,1fr)}}.fixlist li{border:1px solid var(--border);border-radius:var(--r);padding:12px 16px;background:var(--surface)}.fixlist b{font-weight:500;display:block}.fixlist span{color:var(--muted);font-size:14px}.prices{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:16px}.price{border:1px solid var(--border);border-radius:var(--r);padding:16px;background:var(--surface)}.price .amt{font-size:26px;font-weight:300;letter-spacing:-.02em;display:block}.price .what{font-weight:500;display:block;margin-top:4px}.price .muted{font-size:14px;display:block;margin-top:4px}.links{list-style:none;padding:0;margin:16px 0 0;columns:2;column-gap:32px}.links li{break-inside:avoid;padding:6px 0}.crumbs{font-size:14px;color:var(--muted);padding-top:24px}.crumbs a{color:var(--muted)}article h1{margin-top:16px}article .lead{font-size:20px;font-weight:300;color:var(--muted);margin-top:8px}article ul,article ol{padding-left:20px}article li{margin-top:6px}article h2{font-size:26px;margin-top:48px}article .tablewrap{max-height:none}.cta{border:1px solid var(--border);border-radius:var(--r);background:var(--surface);padding:16px 24px 24px;margin-top:32px}.cta h2,.cta h3{margin-top:8px;font-size:20px;font-weight:400}.cta .btn{margin-top:16px}.widget{border:1px solid var(--border);border-radius:var(--r);background:var(--surface);padding:16px;margin-top:24px}.widget .boxes{grid-template-columns:1fr 1fr}.widget output{display:block}.widget .res{font-family:var(--mono);font-size:16px;min-height:32px;padding:4px 0;overflow-wrap:anywhere}.widget ul{margin:8px 0 0;padding:0;list-style:none;font-size:14px}.src{font-size:14px;color:var(--muted);margin-top:48px;border-top:1px solid var(--border);padding-top:16px}.src ul{padding-left:18px;margin:8px 0 0}.src a{color:var(--muted);overflow-wrap:anywhere}.faq dt{font-weight:500;margin-top:16px}.faq dd{margin:4px 0 0;color:var(--muted)}@media (max-width: 720px){h1{font-size:26px}h2{font-size:20px;margin-top:48px}.hero{padding:32px 0 16px}.hero p{font-size:16px}.card{padding:16px}.slots{grid-template-columns:1fr}.slot label.drop{min-height:96px}.boxes,.need-card .boxes,.widget .boxes{grid-template-columns:1fr}.fbox.span2{grid-column:auto}.prices{grid-template-columns:1fr}.links{columns:1}.sum{font-size:20px}.dlbar.sticky{position:sticky;bottom:0;z-index:5;background:var(--surface);margin:16px -16px 0;padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--border)}.dlbar.sticky .btn{width:100%}.top .muted{max-width:130px}.rail{flex-wrap:nowrap}.rail li{min-width:0;white-space:nowrap}.rail li+li:before{width:16px;flex:none}.rail li:not([aria-current=step]) .lbl{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.rail:not(:has([aria-current=step])) li:last-child .lbl{position:static;width:auto;height:auto;overflow:visible;clip:auto;clip-path:none}}@media (max-width: 600px){article .tablewrap{overflow:visible;border:0;background:none;border-radius:0}article table,article tbody,article tr,article td{display:block;width:100%}article thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%)}article tr{border:1px solid var(--border);border-radius:var(--r);background:var(--bg);padding:8px 12px 10px}article tr+tr{margin-top:8px}article td,article tr:last-child td{border:0;padding:4px 0 0;white-space:normal;overflow-wrap:anywhere}article td.mono{white-space:normal}article td:before{content:attr(data-label);display:block;font:400 12px/1.3 var(--sans);letter-spacing:0;color:var(--muted)}article td:empty{display:none}}@media (max-width: 720px){#result .tablewrap{overflow:hidden auto;max-height:70vh;padding:8px}#result table,#result tbody{display:block;width:100%}#result thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%)}#result tr{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:4px 10px;align-items:start;border:1px solid var(--border);border-radius:var(--r);padding:10px 12px}#result tr+tr{margin-top:8px}#result td,#result tr:last-child td{display:block;border:0;padding:0;min-width:0;overflow-wrap:anywhere}#result td.c-row{grid-area:1 / 1;color:var(--muted)}#result td.c-row:before{content:"Row ";font-family:var(--sans)}#result td.c-name{grid-area:1 / 2;font-weight:500}#result td.c-st{grid-area:1 / 3}#result td.c-st .tag{white-space:nowrap}#result td.c-tin{grid-area:2 / 1 / auto / -1;color:var(--muted)}#result td.c-tin:empty{display:none}#result td.c-notes,#result td.c-none{grid-column:1 / -1}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}@media print{.top,footer,.dlbar,.fb{display:none}}
