:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--n-0:#fff;--n-25:#fcfcfd;--n-50:#f7f7f8;--n-100:#f0f0f2;--n-150:#e6e6e9;--n-200:#dcdce1;--n-300:#c2c2ca;--n-400:#9a9aa5;--n-500:#71717a;--n-600:#52525b;--n-800:#27272a;--n-900:#18181b;--n-950:#0d0d0f;--bg:var(--n-50);--surface:var(--n-0);--surface-sunken:var(--n-25);--surface-hover:var(--n-100);--line:var(--n-150);--line-strong:var(--n-200);--text:var(--n-900);--text-muted:var(--n-500);--text-subtle:var(--n-400);--accent:#2563eb;--accent-soft:#eff4ff;--accent-line:#c7d7fe;--primary:var(--n-900);--primary-text:var(--n-0);--primary-hover:var(--n-800);--read-bg:#f2f9f5;--read-line:#d3e8dc;--read-accent:#166534;--code-bg:#0f1115;--code-line:#1e2127;--code-text:#e2e4e9;--danger:#b42318;--danger-bg:#fef3f2;--danger-line:#fecdca;--r-sm:8px;--r-md:11px;--r-lg:15px;--r-full:999px;--shadow-sm:0 1px 2px #1018280d;--shadow-md:0 1px 3px #10182814, 0 8px 24px -8px #10182814;--shadow-pop:0 8px 32px -8px #10182838;--tap:.2s cubic-bezier(.2, 0, .1, 1)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#0a0a0c;--surface:#131316;--surface-sunken:#0f0f12;--surface-hover:#1c1c21;--line:#26262c;--line-strong:#33333b;--text:#f4f4f6;--text-muted:#a0a0ab;--text-subtle:#71717a;--accent:#6d9bff;--accent-soft:#14203a;--accent-line:#24406e;--primary:#f4f4f6;--primary-text:#0a0a0c;--primary-hover:#dcdce1;--read-bg:#0f1a14;--read-line:#1e3a2a;--read-accent:#6ee7a8;--code-bg:#0f0f12;--code-line:#26262c;--danger:#ff8b80;--danger-bg:#2a1512;--danger-line:#5a2620;--shadow-sm:0 1px 2px #0006;--shadow-md:0 1px 3px #00000073, 0 8px 24px -8px #00000080;--shadow-pop:0 8px 32px -8px #000000b3}}*{box-sizing:border-box}html,body,#root{height:100%}body{color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Inter,sans-serif;font-size:14px;line-height:1.55}button,input,select,textarea{font:inherit;color:inherit}:where(a){color:var(--accent);text-decoration:none}:where(a):hover{text-decoration:underline}::selection{background:var(--accent);color:#fff}.app{grid-template-rows:auto 1fr auto;height:100%;min-height:0;display:grid}.topbar{border-bottom:1px solid var(--line);background:var(--surface);flex-wrap:wrap;align-items:center;gap:16px;padding:14px 24px;display:flex}.topbar__title{letter-spacing:-.011em;white-space:nowrap;font-size:15px;font-weight:650}.topbar__spacer{flex:auto}.main{min-height:0;padding:20px 24px;overflow:auto}.main--center{place-items:center;display:grid}.footer{border-top:1px solid var(--line);background:var(--surface);color:var(--text-subtle);align-items:center;gap:16px;padding:10px 24px;font-size:12.5px;display:flex}.footer__spacer{flex:1}.footer__link{font:inherit;color:var(--text-muted);cursor:pointer;background:0 0;border:0;padding:0}.footer__link:hover{color:var(--text);text-decoration:underline}.stats{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.stat{border-radius:var(--r-full);background:var(--surface-sunken);border:1px solid var(--line);color:var(--text-muted);white-space:nowrap;align-items:baseline;gap:6px;padding:3px 10px;font-size:12.5px;display:inline-flex}.stat b{color:var(--text);font-variant-numeric:tabular-nums;font-weight:600}.label{letter-spacing:.05em;text-transform:uppercase;color:var(--text-subtle);font-size:11px;font-weight:600}.input,.select,.textarea{border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface);color:var(--text);max-width:100%;transition:border-color var(--tap), box-shadow var(--tap);padding:7px 10px}.input:hover,.select:hover,.textarea:hover{border-color:var(--n-300)}:is(.input,.select,.textarea,.btn,.seg__item,.card-pick,.footer__link):focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent);outline:none}.textarea{resize:vertical;tab-size:2;width:100%;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;line-height:1.6}.btn{background:var(--primary);color:var(--primary-text);border-radius:var(--r-sm);cursor:pointer;white-space:nowrap;transition:background var(--tap), border-color var(--tap), transform var(--tap);border:1px solid #0000;align-items:center;gap:7px;padding:8px 15px;font-size:13.5px;font-weight:600;display:inline-flex}.btn:hover:not(:disabled){background:var(--primary-hover)}.btn:active:not(:disabled){transform:translateY(.5px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn--ghost{background:var(--surface);color:var(--text);border-color:var(--line-strong)}.btn--ghost:hover:not(:disabled){background:var(--surface-hover)}.btn--danger{color:var(--danger);border-color:var(--danger-line);background:0 0}.btn--danger:hover:not(:disabled){background:var(--danger-bg)}.btn--sm{padding:5px 11px;font-size:12.5px}.seg{background:var(--surface-sunken);border:1px solid var(--line);border-radius:var(--r-md);gap:2px;padding:3px;display:inline-flex}.seg__item{color:var(--text-muted);border-radius:calc(var(--r-md) - 4px);cursor:pointer;white-space:nowrap;transition:background var(--tap), color var(--tap);background:0 0;border:0;padding:5px 12px;font-size:13px;font-weight:550}.seg__item:hover{color:var(--text)}.seg__item[aria-selected=true],.seg__item[aria-current=true]{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm);font-weight:650}.start{max-width:940px;margin:0 auto;padding:clamp(16px,5vh,56px) 0}.start__head{text-align:center;margin-bottom:28px}.start__title{letter-spacing:-.022em;margin:0 0 8px;font-size:clamp(22px,3vw,29px);font-weight:680}.start__sub{color:var(--text-muted);margin:0;font-size:15px}.picker{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin-bottom:22px;display:grid}.card-pick{text-align:left;border:1px solid var(--line);background:var(--surface);border-radius:var(--r-md);cursor:pointer;transition:border-color var(--tap), background var(--tap), box-shadow var(--tap);flex-direction:column;justify-content:flex-start;align-items:stretch;padding:13px 15px;display:flex}.card-pick:hover{border-color:var(--line-strong);background:var(--surface-hover)}.card-pick[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 1px var(--accent) inset}.card-pick__name{margin-bottom:2px;font-weight:620;display:block}.card-pick__desc{color:var(--text-muted);font-size:12.5px;line-height:1.45;display:block}.drop{border:1.5px dashed var(--line-strong);border-radius:var(--r-lg);background:var(--surface);text-align:center;cursor:pointer;transition:border-color var(--tap), background var(--tap);padding:clamp(28px,6vh,54px) 24px}.drop:hover{border-color:var(--n-300)}.drop--over{border-color:var(--accent);background:var(--accent-soft)}.drop--busy{cursor:progress}.drop input{display:none}.drop__icon{border-radius:var(--r-md);background:var(--surface-sunken);border:1px solid var(--line);width:44px;height:44px;color:var(--text-muted);place-items:center;margin:0 auto 14px;display:grid}.drop__title{margin:0 0 5px;font-size:16px;font-weight:620}.drop__hint{color:var(--text-muted);margin:0;font-size:13px}.split{grid-template-columns:1fr 1fr;align-items:start;gap:16px;height:100%;min-height:0;display:grid}@media (width<=1080px){.split{grid-template-columns:1fr}}.pane{flex-direction:column;min-width:0;min-height:0;display:flex}.pane__bar{align-items:center;gap:10px;min-height:30px;margin-bottom:8px;display:flex}.pane__bar .label{flex:none}.pane__bar .pane__file{color:var(--text-subtle);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12.5px;overflow:hidden}.pane__body{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface-sunken);flex:1;height:calc(100vh - 210px);min-height:420px;position:relative;overflow:auto}@media (width<=1080px){.pane__body{height:auto;min-height:520px}}.pane__body--read{background:var(--read-bg);border-color:var(--read-line);padding:18px}.pane__body--code{background:var(--code-bg);border-color:var(--code-line)}.pdf{flex-direction:column;align-items:center;gap:14px;padding:18px;display:flex}.pdf canvas{max-width:100%;height:auto;box-shadow:var(--shadow-md);background:#fff;border-radius:4px}.pdf__pages{flex-direction:column;align-items:center;gap:14px;display:flex}.pdf-tools{border-radius:var(--r-full);background:color-mix(in srgb, var(--n-950) 92%, transparent);box-shadow:var(--shadow-pop);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);align-items:center;gap:2px;padding:5px;display:inline-flex;position:sticky;bottom:10px}.pdf-tools button{color:#fff;border-radius:var(--r-full);cursor:pointer;width:32px;height:32px;transition:background var(--tap);background:0 0;border:0;place-items:center;display:grid}.pdf-tools button:hover:not(:disabled){background:#ffffff26}.pdf-tools button:disabled{opacity:.3;cursor:not-allowed}.pdf-tools__zoom{color:#fff;font-variant-numeric:tabular-nums;text-align:center;min-width:46px;padding:0 8px;font-size:12px}.pdf-tools__sep{background:#ffffff38;width:1px;height:18px;margin:0 3px}.code{color:var(--code-text);white-space:pre;tab-size:2;margin:0;padding:18px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;line-height:1.65;overflow-x:auto}.code .k{color:#7fb3ff}.code .s{color:#86efac}.code .n{color:#fca5a5}.code .b{color:#d8b4fe}.code .t{color:#67e8f9}.pane__float{z-index:2;gap:6px;display:flex;position:absolute;top:10px;right:10px}.pane__float .btn{color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff1a;border-color:#ffffff2e}.pane__float .btn:hover:not(:disabled){background:#fff3}.read__head{border:1px solid var(--read-line);background:var(--surface);border-radius:var(--r-md);flex-wrap:wrap;justify-content:space-between;gap:22px;margin-bottom:12px;padding:18px 20px;display:flex}.read__title{letter-spacing:-.02em;color:var(--read-accent);margin:0;font-size:24px;font-weight:680}.read__sub{color:var(--text-muted);margin:3px 0 0;font-size:13px}.read__meta{text-align:right;gap:3px;font-size:13px;display:grid}.read__meta span{color:var(--text-muted)}.read__meta b{font-variant-numeric:tabular-nums;font-weight:620}.card{background:var(--surface);border:1px solid var(--read-line);border-radius:var(--r-md);margin-bottom:12px;padding:16px 18px}.card__title{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);margin:0 0 11px;font-size:12px;font-weight:650}.duo{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (width<=760px){.duo{grid-template-columns:1fr}}.addr{margin-bottom:9px;line-height:1.5}.addr>:first-child{font-weight:620}.rows{gap:3px;margin:0;display:grid}.rows__row{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.rows__row dt{color:var(--text-muted);flex:none}.rows__row dd{text-align:right;word-break:break-word;margin:0;font-weight:550}.tablewrap{margin:0 -18px;padding:0 18px;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:left;letter-spacing:.03em;text-transform:uppercase;color:var(--text-subtle);border-bottom:1px solid var(--line);white-space:nowrap;padding:0 10px 7px;font-size:11.5px;font-weight:600}td{border-bottom:1px solid var(--line);vertical-align:top;padding:9px 10px}tbody tr:last-child td{border-bottom:0}.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.dim{color:var(--text-subtle)}.totals{border-top:1px solid var(--line);margin-top:12px;padding-top:12px}.totals .rows__row:last-child{border-top:1px solid var(--line);margin-top:5px;padding-top:7px;font-size:15px}.totals .rows__row:last-child dd{font-weight:680}.note{color:var(--text-muted);border:1px solid var(--read-line);border-radius:var(--r-sm);background:var(--surface);margin:14px 0 0;padding:9px 12px;font-size:12px}.empty{text-align:center;height:100%;min-height:300px;color:var(--text-muted);place-items:center;padding:40px 24px;display:grid}.empty h2{color:var(--text);margin:0 0 6px;font-size:16px;font-weight:620}.empty p{max-width:34rem;margin:0 0 14px}.alert{border:1px solid var(--danger-line);background:var(--danger-bg);color:var(--danger);border-radius:var(--r-md);margin-bottom:16px;padding:12px 14px}.alert b{margin-bottom:3px;display:block}.alert pre{white-space:pre-wrap;word-break:break-word;opacity:.85;margin:7px 0 0;font-size:12px}.spin{border:2px solid var(--line-strong);border-top-color:var(--text);border-radius:var(--r-full);vertical-align:-3px;width:15px;height:15px;animation:.65s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{gap:12px;padding:18px;display:grid}.sk{border-radius:var(--r-sm);background:linear-gradient(90deg, var(--line) 25%, var(--surface-hover) 37%, var(--line) 63%);background-size:400% 100%;animation:1.4s ease-in-out infinite sheen}.sk--head{border-radius:var(--r-md);height:74px}.sk--card{border-radius:var(--r-md);height:108px}.sk--row{height:15px}.sk--row:nth-child(2n){width:78%}@keyframes sheen{0%{background-position:100%}to{background-position:0}}@media (prefers-reduced-motion:reduce){.sk{animation:none}.spin{animation-duration:2.4s}*{transition-duration:1ms!important}}.admin{grid-template-columns:244px 1fr;align-items:start;gap:22px;max-width:1400px;margin:0 auto;display:grid}@media (width<=940px){.admin{grid-template-columns:1fr}}.slist{gap:5px;display:grid}.slist button{text-align:left;border:1px solid var(--line);background:var(--surface);border-radius:var(--r-md);cursor:pointer;transition:border-color var(--tap), background var(--tap);padding:10px 13px}.slist button:hover{background:var(--surface-hover)}.slist button[aria-current=true]{border-color:var(--accent);background:var(--accent-soft)}.slist .n{font-weight:620;display:block}.slist .m{color:var(--text-muted);font-size:12px}.form{gap:16px;display:grid}.field{align-content:start;gap:5px;display:grid}.field>label{font-size:13px;font-weight:620}.field>.input,.field>.select{align-self:start}.hint{color:var(--text-muted);font-size:12px;line-height:1.45}.hint code{background:var(--surface-hover);border-radius:4px;padding:1px 5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px}.grid-fields{grid-template-columns:repeat(auto-fit,minmax(178px,1fr));gap:14px;display:grid}.check{align-items:flex-start;gap:9px;display:flex}.check input{flex:none;margin-top:3px}.check b{font-weight:620}.formbar{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:9px;padding-top:14px;display:flex}.formbar .ok{color:var(--text-muted);font-size:13px}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}
