:root{--bg: oklch(.985 .003 95);--bg-soft: oklch(.96 .004 90);--bg-card: oklch(.995 .002 90);--line: oklch(.88 .006 90);--line-soft: oklch(.93 .005 90);--ink: oklch(.18 .012 60);--ink-soft: oklch(.42 .012 60);--ink-faint: oklch(.54 .01 70);--accent: oklch(.52 .13 162);--accent-soft: oklch(.92 .045 162);--accent-ink: oklch(.38 .11 162);--warn: oklch(.7 .14 60);--warn-ink: oklch(.48 .14 60);--anom-row-bg: oklch(.985 .015 60);--anom-row-bg-hover: oklch(.97 .025 60);--drop-hover-bg: oklch(.985 .012 162);--btn-ink-hover: oklch(.28 .012 60);--modal-shadow: oklch(.18 .012 60 / .2);--modal-veil: oklch(.18 .012 60 / .45);--card-shadow-hover: oklch(.18 .012 60 / .06);--down: oklch(.55 .13 30);--down-soft: oklch(.93 .04 30);--down-ink: oklch(.4 .13 30);--serif: "Instrument Serif", "Times New Roman", serif;--sans: "DM Sans", -apple-system, BlinkMacSystemFont, sans-serif;--mono: "JetBrains Mono", ui-monospace, monospace;--r-sm: 6px;--r-md: 10px;--r-lg: 16px}:root[data-theme=dark]{--bg: oklch(.165 .008 250);--bg-soft: oklch(.21 .01 250);--bg-card: oklch(.235 .012 250);--line: oklch(.34 .012 250);--line-soft: oklch(.28 .011 250);--ink: oklch(.96 .005 90);--ink-soft: oklch(.76 .008 90);--ink-faint: oklch(.63 .012 90);--accent: oklch(.74 .16 162);--accent-soft: oklch(.32 .07 162);--accent-ink: oklch(.84 .14 162);--warn: oklch(.78 .16 60);--warn-ink: oklch(.82 .16 60);--anom-row-bg: oklch(.27 .03 60);--anom-row-bg-hover: oklch(.31 .04 60);--drop-hover-bg: oklch(.25 .03 162);--btn-ink-hover: oklch(.85 .008 90);--modal-shadow: oklch(0 0 0 / .5);--modal-veil: oklch(0 0 0 / .65);--card-shadow-hover: oklch(0 0 0 / .4);--down: oklch(.72 .14 30);--down-soft: oklch(.3 .08 30);--down-ink: oklch(.82 .14 30)}html,body,.nav,.drop,.chart-card,.kpi-row,.kpi,.table-wrap,.insights,.highlight-card,.gallery-card,.filter-bar,.ad-slot,.step,.modal{transition:background-color .25s ease,border-color .25s ease,color .25s ease}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--sans);background:var(--bg);color:var(--ink);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button{font-family:inherit;cursor:pointer}a{color:inherit}::selection{background:var(--accent-soft);color:var(--accent-ink)}.shell{max-width:1280px;margin:0 auto;padding:0 32px}@media(max-width:720px){.shell{padding:0 20px}}.nav{display:flex;align-items:center;justify-content:space-between;padding:24px 0;border-bottom:1px solid var(--line-soft)}.brand{display:flex;align-items:center;gap:10px;font-family:var(--serif);font-size:22px;letter-spacing:-.01em}.brand-mark{width:28px;height:28px;border-radius:7px;background:var(--ink);color:var(--bg);display:grid;place-items:center;font-family:var(--mono);font-size:12px;font-weight:600}.brand-mark:before{content:"\203a_"}.nav-links{display:flex;gap:28px;font-size:14px;color:var(--ink-soft)}.nav-links a{text-decoration:none;transition:color .15s}.nav-links a:hover{color:var(--ink)}@media(max-width:640px){.nav-links{display:none}}.hero{padding:80px 0 56px;text-align:center}.eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.12em;color:var(--ink-faint);text-transform:uppercase;margin-bottom:28px}.eyebrow .dot{display:inline-block;width:6px;height:6px;background:var(--accent);border-radius:50%;margin-right:8px;vertical-align:middle;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}h1.headline{font-family:var(--serif);font-weight:400;font-size:clamp(44px,7vw,88px);line-height:1.05;letter-spacing:-.025em;margin:0 auto 40px;max-width:14ch;text-wrap:balance}h1.headline em{font-style:italic;color:var(--accent-ink)}.subhead{font-size:18px;color:var(--ink-soft);max-width:52ch;margin:0 auto 48px;text-wrap:pretty}.answer-block{font-size:16px;line-height:1.65;color:var(--ink);max-width:64ch;margin:-24px auto 48px;padding:18px 22px;text-align:left;text-wrap:pretty;background:var(--bg-card);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:10px}.notes-list{list-style:none;margin:0 auto;padding:0;max-width:72ch;display:grid;gap:20px}.notes-list li{padding-left:18px;border-left:2px solid var(--accent-soft)}.notes-list h4{font-size:16px;margin:0 0 4px;color:var(--ink)}.notes-list p{font-size:15px;line-height:1.6;color:var(--ink-soft);margin:0;text-wrap:pretty}.drop{position:relative;border:1.5px dashed var(--line);border-radius:var(--r-lg);background:var(--bg-card);padding:56px 32px;transition:all .2s ease;cursor:pointer;text-align:center}.drop:hover{border-color:var(--accent);background:var(--drop-hover-bg)}.drop.dragging{border-color:var(--accent);background:var(--accent-soft);transform:scale(1.005)}.drop-icon{width:56px;height:56px;margin:0 auto 20px;border-radius:14px;background:var(--bg);border:1px solid var(--line);display:grid;place-items:center;color:var(--ink-soft)}.drop-title{font-family:var(--serif);font-size:28px;letter-spacing:-.01em;margin-bottom:8px}.drop-sub{color:var(--ink-soft);font-size:15px;margin-bottom:24px}.drop-btn{background:var(--ink);color:var(--bg);border:0;padding:12px 22px;border-radius:999px;font-size:14px;font-weight:500;letter-spacing:-.005em;transition:transform .15s,background .15s}.drop-btn:hover{background:var(--btn-ink-hover);transform:translateY(-1px)}.drop-or{margin-top:20px;font-size:13px;color:var(--ink-faint)}.drop-or button{background:none;border:0;color:var(--accent-ink);text-decoration:underline;text-underline-offset:3px;font-size:13px;padding:0}.drop-or button:hover{color:var(--ink)}.drop-err{margin-top:16px;color:var(--warn-ink);font-size:13px;font-family:var(--mono)}.trust{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:64px;padding:28px 0;border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}.trust-item{text-align:center;padding:0 16px;border-right:1px solid var(--line-soft)}.trust-item:last-child{border-right:0}.trust-num{font-family:var(--serif);font-size:32px;letter-spacing:-.02em;line-height:1;margin-bottom:6px}.trust-num em{font-style:italic;color:var(--accent-ink)}.trust-label{font-size:12px;color:var(--ink-faint);font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase}@media(max-width:720px){.trust{grid-template-columns:repeat(2,1fr)}.trust-item:nth-child(2){border-right:0}.trust-item:nth-child(1),.trust-item:nth-child(2){border-bottom:1px solid var(--line-soft);padding-bottom:20px}.trust-item:nth-child(3),.trust-item:nth-child(4){padding-top:20px}}.dash{padding:32px 0 80px}.dash-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:28px;flex-wrap:wrap}.dash-title{font-family:var(--serif);font-size:44px;letter-spacing:-.02em;line-height:1;margin:0 0 6px}.dash-meta{font-family:var(--mono);font-size:12px;color:var(--ink-faint);letter-spacing:.04em}.dash-meta span+span:before{content:"\b7";margin:0 10px;color:var(--line)}.dash-actions{display:flex;gap:8px}.btn-ghost{background:transparent;border:1px solid var(--line);color:var(--ink);padding:8px 14px;border-radius:999px;font-size:13px;transition:all .15s}.btn-ghost:hover{background:var(--bg-card);border-color:var(--ink-soft)}.btn-ghost.danger:hover{color:var(--warn-ink);border-color:var(--warn)}.insights{background:var(--bg-card);border:1px solid var(--line-soft);border-radius:var(--r-lg);padding:22px 24px;margin-bottom:24px}.highlights{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:24px}.highlight-card{background:var(--bg-card);border:1px solid var(--line-soft);border-left:3px solid var(--ink-faint);border-radius:var(--r-md);padding:18px 20px}.highlight-up{border-left-color:var(--accent)}.highlight-down{border-left-color:var(--down)}.highlight-anom{border-left-color:var(--warn)}.highlight-label{display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:10px}.highlight-arrow{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;font-size:11px;font-family:var(--sans);color:var(--bg)}.highlight-up .highlight-arrow{background:var(--accent)}.highlight-down .highlight-arrow{background:var(--down)}.highlight-anom .highlight-arrow{background:var(--warn)}.highlight-value{font-family:var(--serif);font-size:26px;letter-spacing:-.015em;line-height:1.15;margin-bottom:6px}.highlight-sub{font-family:var(--mono);font-size:12px;color:var(--ink-soft);margin-bottom:6px}.highlight-delta{display:inline-block;background:var(--accent-soft);color:var(--accent-ink);padding:1px 7px;border-radius:4px;font-weight:500}.highlight-delta.down{background:var(--down-soft);color:var(--down-ink)}.highlight-context{font-family:var(--mono);font-size:10px;color:var(--ink-faint);letter-spacing:.04em}.anom-line{display:flex;justify-content:space-between;gap:16px;font-family:var(--serif);font-size:17px;letter-spacing:-.005em;line-height:1.4}.anom-z{font-family:var(--mono);font-size:11px;color:var(--warn-ink);padding-top:3px}.anom-val{color:var(--ink)}.filter-bar{display:flex;align-items:center;gap:14px;padding:14px 18px;background:var(--accent-soft);border:1px solid var(--accent);border-radius:var(--r-md);margin-bottom:24px;flex-wrap:wrap}.filter-bar-label{font-family:var(--mono);font-size:11px;color:var(--accent-ink);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.filter-chips{display:flex;gap:6px;flex-wrap:wrap;flex:1}.filter-chip{display:inline-flex;align-items:center;gap:6px;background:var(--bg-card);border:1px solid var(--accent);border-radius:999px;padding:4px 10px 4px 12px;font-family:var(--mono);font-size:12px;color:var(--ink);cursor:pointer;transition:background .15s}.filter-chip:hover{background:var(--bg)}.filter-chip-col{color:var(--ink-faint);font-size:10px;letter-spacing:.06em;text-transform:uppercase}.filter-chip-val{color:var(--accent-ink);font-weight:500}.filter-chip-x{display:inline-grid;place-items:center;width:14px;height:14px;border-radius:50%;background:var(--accent-ink);color:var(--bg);font-size:11px;line-height:1}.filter-clear{background:none;border:0;font-family:var(--mono);font-size:11px;color:var(--accent-ink);text-decoration:underline;text-underline-offset:3px;letter-spacing:.04em}.ask{background:var(--bg-card);border:1px solid var(--line-soft);border-radius:var(--r-lg);padding:22px 24px;margin-bottom:24px}.ask-head{margin-bottom:16px}.ask-form{display:flex;gap:8px;align-items:stretch}.ask-input{flex:1;background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:14px 18px;font-family:var(--sans);font-size:16px;color:var(--ink);outline:none;transition:border-color .15s}.ask-input::placeholder{color:var(--ink-faint)}.ask-input:focus{border-color:var(--accent)}.ask-submit{background:var(--ink);color:var(--bg);border:0;padding:0 24px;border-radius:10px;font-size:14px;font-weight:500;min-width:80px;transition:background .15s}.ask-submit:hover:not(:disabled){background:var(--btn-ink-hover)}.ask-submit:disabled{opacity:.5;cursor:not-allowed}.ask-suggestions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.ask-chip{background:var(--bg-soft);border:1px solid var(--line);border-radius:999px;padding:6px 14px;font-family:var(--sans);font-size:13px;color:var(--ink-soft);cursor:pointer;transition:all .15s}.ask-chip:hover:not(:disabled){background:var(--bg-card);border-color:var(--accent);color:var(--ink)}.ask-history{margin-bottom:16px;display:flex;flex-direction:column;gap:20px;max-height:320px;overflow-y:auto}.ask-turn{border-left:2px solid var(--accent);padding-left:16px}.ask-q{font-family:var(--sans);font-size:14px;color:var(--ink-faint);margin-bottom:8px;font-weight:500}.ask-a{font-family:var(--serif);font-size:20px;line-height:1.4;letter-spacing:-.005em;color:var(--ink)}.ask-a-loading{padding:8px 0}.insights-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.insights-eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.12em;color:var(--ink-faint);text-transform:uppercase}.insights-eyebrow .dot{display:inline-block;width:6px;height:6px;background:var(--accent);border-radius:50%;margin-right:8px;vertical-align:middle}.insights-close{background:none;border:0;color:var(--ink-faint);font-size:20px;line-height:1;padding:4px 8px;border-radius:6px}.insights-close:hover{background:var(--bg-soft);color:var(--ink)}.insights-empty{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:8px 0}.insights-empty-text{font-family:var(--serif);font-size:20px;letter-spacing:-.01em;color:var(--ink-soft);max-width:56ch;line-height:1.3}.insights-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:14px}.insights-list li{display:grid;grid-template-columns:32px 1fr;gap:16px;font-family:var(--serif);font-size:21px;line-height:1.35;letter-spacing:-.005em;color:var(--ink);padding:2px 0}.insight-mark{font-family:var(--mono);font-style:normal;font-size:11px;color:var(--accent-ink);padding-top:9px;letter-spacing:.06em}.insights-loading{display:flex;flex-direction:column;gap:12px}.shimmer-line{height:22px;background:linear-gradient(90deg,var(--bg-soft) 0%,var(--line-soft) 50%,var(--bg-soft) 100%);background-size:200% 100%;border-radius:4px;animation:shimmer 1.6s ease-in-out infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media(max-width:720px){.insights-empty{flex-direction:column;align-items:flex-start}}.kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1px;background:var(--line-soft);border:1px solid var(--line-soft);border-radius:var(--r-lg);overflow:hidden;margin-bottom:24px}.kpi{background:var(--bg-card);padding:22px 24px}.kpi-label{font-family:var(--mono);font-size:11px;color:var(--ink-faint);letter-spacing:.08em;text-transform:uppercase;margin-bottom:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kpi-value{font-family:var(--serif);font-size:36px;letter-spacing:-.02em;line-height:1}.kpi-sub{font-family:var(--mono);font-size:11px;color:var(--ink-faint);margin-top:8px}.charts{display:grid;grid-template-columns:repeat(12,1fr);gap:16px;margin-bottom:24px}.chart-card{background:var(--bg-card);border:1px solid var(--line-soft);border-radius:var(--r-lg);padding:22px 24px;grid-column:span 6;height:340px;display:flex;flex-direction:column;overflow:hidden}.chart-card.wide{grid-column:span 12;height:360px}.chart-card.third{grid-column:span 4}@media(max-width:900px){.chart-card,.chart-card.third{grid-column:span 12}}.chart-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:4px;gap:12px}.chart-title{font-family:var(--serif);font-size:22px;letter-spacing:-.01em}.chart-kind{font-family:var(--mono);font-size:10px;color:var(--ink-faint);letter-spacing:.08em;text-transform:uppercase}.chart-tools{display:flex;align-items:center;gap:6px}.chart-tool{border:1px solid var(--line);background:var(--bg-card);color:var(--ink-soft);width:20px;height:20px;border-radius:var(--r-sm);font-size:12px;line-height:1;cursor:pointer;opacity:0;transition:opacity .12s,color .12s,border-color .12s;display:inline-flex;align-items:center;justify-content:center}.chart-card:hover .chart-tool,.chart-tool:focus-visible{opacity:1}.chart-tool:hover{border-color:var(--accent);color:var(--accent-ink)}.chart-tool:disabled{opacity:0;cursor:default}.chart-card:hover .chart-tool:disabled{opacity:.3}.chart-tool-remove:hover{border-color:#c0392b;color:#c0392b}.charts-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:8px}.charts-toolbar-spacer{flex:1}.add-chart-form{display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px;padding:14px 16px;margin-bottom:12px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--bg-card)}.add-chart-form label{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:11px;color:var(--ink-soft)}.add-chart-form select{font:inherit;font-size:12px;padding:4px 8px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--bg);color:var(--ink)}.add-chart-go{font:inherit;font-size:12px;font-weight:600;padding:6px 14px;border-radius:var(--r-sm);border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer}.add-chart-go:disabled{opacity:.45;cursor:default}.charts-toolbar-note{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint)}.charts-empty{padding:40px 24px;text-align:center;color:var(--ink-soft);border:1.5px dashed var(--line);border-radius:var(--r-md)}.link-btn{background:none;border:none;padding:0;cursor:pointer;color:var(--accent-ink);text-decoration:underline;font:inherit}.chart-sub{font-family:var(--mono);font-size:11px;color:var(--ink-faint);margin-bottom:18px}.chart-body{flex:1 1 0;position:relative;min-height:0;overflow:hidden}.svg-chart{width:100%;height:100%;display:block;overflow:visible}.bar{fill:var(--accent);transition:fill .15s}.bar:hover{fill:var(--accent-ink)}.bar-label{fill:var(--ink-soft);font-family:var(--mono);font-size:11px}.bar-value{fill:var(--ink);font-family:var(--mono);font-size:11px;font-weight:500}.axis-line{stroke:var(--line);stroke-width:1}.grid-line{stroke:var(--line-soft);stroke-width:1;stroke-dasharray:2 3}.tick-label{fill:var(--ink-faint);font-family:var(--mono);font-size:10px}.line-path{fill:none;stroke:var(--accent);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.area-fill{fill:var(--accent);opacity:.08}.dot{fill:var(--bg-card);stroke:var(--accent);stroke-width:2}.table-wrap{background:var(--bg-card);border:1px solid var(--line-soft);border-radius:var(--r-lg);overflow:hidden}.table-head-row{display:flex;justify-content:space-between;align-items:baseline;padding:22px 24px 18px;border-bottom:1px solid var(--line-soft)}.table-head-row h3{font-family:var(--serif);font-size:22px;letter-spacing:-.01em;margin:0}.table-scroll{overflow-x:auto;max-height:480px;overflow-y:auto}table.data{width:100%;border-collapse:collapse;font-size:13px}table.data thead{position:sticky;top:0;background:var(--bg-card);z-index:1}table.data th{text-align:left;padding:12px 16px;font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint);font-weight:500;border-bottom:1px solid var(--line-soft);white-space:nowrap}table.data th .col-type{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:4px;background:var(--bg-soft);color:var(--ink-soft);font-size:9px;border:0;cursor:pointer;font-family:inherit;letter-spacing:inherit;text-transform:inherit;transition:background .15s,color .15s}table.data th .col-type:hover{background:var(--accent-soft);color:var(--accent-ink)}.th-sort{background:none;border:0;padding:0;font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:color .15s}.th-sort:hover{color:var(--ink)}.th-sort-glyph{font-size:10px;color:var(--ink-faint);opacity:.7;transition:opacity .15s,color .15s}.th-sort:hover .th-sort-glyph{opacity:1;color:var(--accent-ink)}.th-grid{display:inline-flex;align-items:center;gap:6px}.th-name{cursor:pointer;-webkit-user-select:none;user-select:none}.th-sort-mini{background:transparent;border:0;color:var(--ink-faint);font-size:10px;padding:1px 4px;border-radius:3px;cursor:pointer;opacity:.5;transition:opacity .15s,color .15s,background .15s;font-family:inherit}.th-sort-mini:hover{opacity:1;color:var(--accent-ink);background:var(--bg-soft)}.th-col{cursor:pointer;transition:background .12s}.th-col:hover:not(.selected){background:var(--bg-soft)}.th-col:hover:not(.selected) .th-name{color:var(--ink)}.th-col.selected{background:var(--accent-soft)}.th-col.selected .th-name{color:var(--accent-ink);font-weight:600}.col-type-wrap{position:relative;display:inline-block}.role-menu{position:absolute;top:100%;left:0;margin-top:4px;background:var(--bg-card);border:1px solid var(--line);border-radius:var(--r-sm);box-shadow:0 6px 18px var(--modal-shadow);z-index:5;padding:4px;min-width:120px;max-height:240px;overflow-y:auto}.role-menu-item{display:block;width:100%;text-align:left;background:transparent;border:0;padding:6px 10px;font-family:var(--mono);font-size:11px;color:var(--ink-soft);cursor:pointer;border-radius:4px;text-transform:lowercase;letter-spacing:.04em}.role-menu-item:hover{background:var(--bg-soft);color:var(--ink)}.role-menu-item.active{background:var(--accent-soft);color:var(--accent-ink)}table.data td{padding:10px 16px;border-bottom:1px solid var(--line-soft);font-family:var(--mono);font-size:12px;white-space:nowrap;max-width:320px;overflow:hidden;text-overflow:ellipsis}table.data td.num{text-align:right}table.data tr:last-child td{border-bottom:0}table.data tbody tr:hover{background:var(--bg-soft)}table.data tr.anomaly-row td:first-child{border-left:3px solid var(--warn);padding-left:13px}table.data tr.anomaly-row{background:var(--anom-row-bg)}table.data tr.anomaly-row:hover{background:var(--anom-row-bg-hover)}.table-toggle{background:transparent;border:1px solid var(--warn);color:var(--warn-ink);padding:6px 12px;border-radius:999px;font-family:var(--mono);font-size:11px;letter-spacing:.04em;cursor:pointer;transition:all .15s}.table-toggle:hover{background:var(--anom-row-bg-hover)}.table-toggle.active{background:var(--warn-ink);color:var(--bg);border-color:var(--warn-ink)}.cell-chip{display:inline-block;padding:2px 10px;border-radius:999px;background:var(--accent-soft);color:var(--accent-ink);font-family:var(--mono);font-size:11px;letter-spacing:.02em}.table-scroll:focus{outline:none;box-shadow:inset 0 0 0 2px var(--accent-soft)}.data-selectable{user-select:none;-webkit-user-select:none}.data-selectable.dragging{cursor:cell}.th-corner,.th-rownum{position:sticky;left:0;background:var(--bg-soft);color:var(--ink-faint);font-family:var(--mono);font-size:10px;letter-spacing:.04em;font-weight:500;text-align:center!important;padding:8px 10px;border-right:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);z-index:1;width:44px;min-width:44px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .12s,color .12s}.th-corner{z-index:3;top:0;background:var(--bg-card);border-right:1px solid var(--line-soft);color:var(--ink-faint);font-size:14px}.th-corner:hover,.th-rownum:hover{background:var(--accent-soft);color:var(--accent-ink)}.th-rownum.selected{background:var(--accent-soft);color:var(--accent-ink);font-weight:600}table.data td.selected{background:var(--accent-soft);color:var(--accent-ink)}table.data tr.anomaly-row td.selected{background:oklch(from var(--accent-soft) l c h)}table.data td.head{box-shadow:inset 0 0 0 2px var(--accent);position:relative;z-index:1}.sel-stats{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;background:var(--accent-soft);color:var(--accent-ink);border-radius:999px;font-family:var(--mono);font-size:11px;letter-spacing:.04em;white-space:nowrap}.sel-stats-count{font-weight:600}.sel-stats-label{font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-ink);opacity:.7;margin-right:2px}.sel-stats-sep{opacity:.45}.table-foot{padding:14px 24px;border-top:1px solid var(--line-soft);display:flex;flex-wrap:wrap;align-items:center;gap:12px;justify-content:space-between}.table-foot-help{background:transparent;border:0;font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--ink-faint);cursor:pointer;padding:4px 0}.table-foot-help:hover{color:var(--ink)}.shortcut-grid{flex:1 0 100%;display:flex;flex-direction:column;gap:6px;font-family:var(--sans);font-size:12px;color:var(--ink-soft);background:var(--bg-soft);border-radius:var(--r-sm);padding:12px 14px;margin-top:4px}.shortcut-grid kbd{display:inline-block;font-family:var(--mono);font-size:11px;padding:1px 7px;background:var(--bg-card);border:1px solid var(--line);border-bottom-width:2px;border-radius:4px;color:var(--ink);margin:0 2px;white-space:nowrap}.section{padding:80px 0;border-top:1px solid var(--line-soft)}.section-eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:var(--ink-faint);text-transform:uppercase;margin-bottom:16px}.section h2{font-family:var(--serif);font-weight:400;font-size:clamp(36px,5vw,56px);letter-spacing:-.02em;margin:0 0 16px;line-height:1;max-width:18ch;text-wrap:balance}.section h2 em{font-style:italic;color:var(--accent-ink)}.section-lede{font-size:18px;color:var(--ink-soft);max-width:56ch;margin-bottom:56px;text-wrap:pretty}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line-soft);border:1px solid var(--line-soft);border-radius:var(--r-lg);overflow:hidden}.step{background:var(--bg-card);padding:36px 32px}.step-n{font-family:var(--serif);font-style:italic;font-size:14px;color:var(--accent-ink);margin-bottom:32px}.step h3{font-family:var(--serif);font-size:28px;letter-spacing:-.01em;margin:0 0 12px;font-weight:400}.step p{color:var(--ink-soft);font-size:15px;margin:0;text-wrap:pretty}@media(max-width:720px){.steps{grid-template-columns:1fr}}.why{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}.why-list{list-style:none;padding:0;margin:0}.why-list li{display:grid;grid-template-columns:32px 1fr;gap:16px;padding:20px 0;border-top:1px solid var(--line-soft)}.why-list li:first-child{border-top:0;padding-top:0}.why-num{font-family:var(--mono);font-size:11px;color:var(--ink-faint);padding-top:4px}.why-list h4{font-family:var(--serif);font-size:22px;font-weight:400;letter-spacing:-.01em;margin:0 0 6px}.why-list p{color:var(--ink-soft);margin:0;font-size:15px}@media(max-width:720px){.why{grid-template-columns:1fr;gap:32px}}.faq-list{border-top:1px solid var(--line)}.faq-item{border-bottom:1px solid var(--line)}.faq-q{width:100%;background:none;border:0;text-align:left;padding:24px 0;display:flex;justify-content:space-between;align-items:center;gap:24px;font-family:var(--serif);font-size:22px;letter-spacing:-.01em;color:var(--ink)}.faq-q .plus{flex:0 0 24px;width:24px;height:24px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-family:var(--mono);font-size:12px;color:var(--ink-soft);transition:transform .2s}.faq-item.open .faq-q .plus{transform:rotate(45deg);background:var(--ink);color:var(--bg);border-color:var(--ink)}.faq-a{max-height:0;overflow:hidden;visibility:hidden;transition:max-height .25s ease,padding .25s ease,visibility .25s;color:var(--ink-soft);font-size:16px;max-width:64ch}.faq-item.open .faq-a{max-height:240px;padding:0 0 24px;visibility:visible}.ad-slot{border:1px dashed var(--line);border-radius:var(--r-md);background:var(--bg-card);padding:20px;text-align:center;color:var(--ink-faint);font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase}.ad-slot.banner{min-height:96px;display:grid;place-items:center}.ad-slot.banner-large{min-height:250px;display:grid;place-items:center}.footer{border-top:1px solid var(--line-soft);padding:56px 0 40px;background:var(--bg-soft)}.footer-grid{display:grid;grid-template-columns:2fr repeat(4,1fr);gap:40px;margin-bottom:56px}@media(max-width:1100px){.footer-grid{grid-template-columns:1.6fr 1fr 1fr 1fr;gap:32px}.footer-grid>*:nth-child(5){grid-column:2 / span 4}}@media(max-width:640px){.footer-grid{grid-template-columns:1fr 1fr;gap:24px}.footer-grid>*:first-child{grid-column:1 / -1}.footer-grid>*:nth-child(5){grid-column:auto}}.footer-grid-6{display:grid;grid-template-columns:1fr 1fr 1fr 1fr 1fr 1fr;gap:28px;margin-bottom:40px}.footer-grid-6 .footer-brand-col{grid-column:1 / -1;padding-bottom:16px;border-bottom:1px solid var(--line-soft);margin-bottom:12px}@media(max-width:1100px){.footer-grid-6{grid-template-columns:1fr 1fr 1fr;gap:24px}}@media(max-width:640px){.footer-grid-6{grid-template-columns:1fr 1fr}}.footer-brand{font-family:var(--serif);font-size:32px;letter-spacing:-.02em;margin-bottom:12px}.footer-brand em{font-style:italic;color:var(--accent-ink)}.footer-tag{color:var(--ink-soft);font-size:14px;max-width:36ch}.footer h5{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);margin:0 0 16px;font-weight:500}.footer ul{list-style:none;padding:0;margin:0}.footer li{margin-bottom:10px}.footer a{text-decoration:none;color:var(--ink-soft);font-size:14px;transition:color .15s}.footer a:hover{color:var(--ink)}.footer-bottom{display:flex;justify-content:space-between;padding-top:24px;border-top:1px solid var(--line);font-family:var(--mono);font-size:11px;color:var(--ink-faint);letter-spacing:.04em}.footer-support{display:flex;align-items:center;justify-content:center;gap:18px;padding:24px 0;margin-bottom:8px;border-top:1px dashed var(--line-soft);border-bottom:1px dashed var(--line-soft);flex-wrap:wrap}.footer-support-text{font-family:var(--serif);font-size:20px;color:var(--ink);letter-spacing:-.005em;font-style:italic}.footer-support-text em{font-style:italic;color:var(--accent-ink)}.kofi-button{display:inline-flex;align-items:center;gap:8px;background:var(--ink);color:var(--bg);border:0;padding:10px 18px 10px 16px;border-radius:999px;font-family:var(--sans);font-size:14px;font-weight:500;text-decoration:none;transition:transform .15s,background .15s}.kofi-button:hover{background:var(--btn-ink-hover);transform:translateY(-1px)}.kofi-cup{font-size:16px;display:inline-block}.kofi-button .kofi-arrow{font-family:var(--mono);font-size:12px;opacity:.7;margin-left:2px}.kofi-pill{display:inline-flex;align-items:center;gap:6px;background:transparent;border:1px solid var(--line);color:var(--ink-soft);padding:6px 12px;border-radius:999px;font-family:var(--sans);font-size:12px;text-decoration:none;transition:all .15s;white-space:nowrap}.kofi-pill:hover{border-color:var(--accent);color:var(--ink);transform:translateY(-1px)}@media(max-width:720px){.footer-grid{grid-template-columns:1fr 1fr;gap:32px}.footer-bottom{flex-direction:column;gap:8px}}.empty-preview{margin-top:56px;padding-top:32px;border-top:1px solid var(--line-soft)}.empty-preview-eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--ink-faint);text-transform:uppercase;margin-bottom:18px}.empty-preview-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}@media(max-width:720px){.empty-preview-cards{grid-template-columns:1fr}}.empty-preview-card{background:var(--bg-card);border:1px solid var(--line-soft);border-radius:var(--r-md);padding:16px 18px 14px;text-align:left;cursor:pointer;transition:all .18s ease;display:flex;flex-direction:column;gap:10px}.empty-preview-card:hover{border-color:var(--accent);transform:translateY(-2px)}.empty-preview-card:hover .empty-preview-cta{color:var(--accent-ink)}.empty-preview-tag{font-family:var(--mono);font-size:9px;letter-spacing:.1em;color:var(--ink-faint);text-transform:uppercase}.empty-preview-title{font-family:var(--serif);font-size:19px;letter-spacing:-.01em}.empty-preview-spark{height:40px;background:var(--bg-soft);border-radius:var(--r-sm);padding:6px}.empty-preview-cta{font-family:var(--mono);font-size:10px;letter-spacing:.05em;color:var(--ink-soft);margin-top:auto;transition:color .15s}.sheets-import{margin-top:16px;display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:14px 16px;background:var(--bg-card);border:1px solid var(--line-soft);border-radius:var(--r-md)}.sheets-import-label{font-family:var(--mono);font-size:11px;color:var(--ink-faint);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.sheets-import-input{flex:1;min-width:200px;background:var(--bg);border:1px solid var(--line);border-radius:var(--r-sm);padding:8px 12px;font-family:var(--sans);font-size:13px;color:var(--ink);outline:none;transition:border-color .15s}.sheets-import-input::placeholder{color:var(--ink-faint)}.sheets-import-input:focus{border-color:var(--accent)}.sheets-import-btn{background:var(--ink);color:var(--bg);border:0;padding:8px 16px;border-radius:var(--r-sm);font-family:var(--sans);font-size:13px;font-weight:500;cursor:pointer;transition:background .15s}.sheets-import-btn:hover:not(:disabled){background:var(--btn-ink-hover)}.sheets-import-btn:disabled{opacity:.5;cursor:not-allowed}.recent-files{margin:14px auto 0;max-width:560px;text-align:left}.recent-toggle{display:flex;gap:9px;align-items:flex-start;cursor:pointer;font-size:13px;color:var(--ink-soft)}.recent-toggle input{margin-top:2px;flex:none;accent-color:var(--accent);cursor:pointer}.recent-toggle-text{display:flex;flex-direction:column;gap:2px}.recent-note{font-size:11.5px;color:var(--ink-faint);line-height:1.45}.recent-list{margin-top:12px;border:1px solid var(--line-soft);border-radius:var(--r-md);background:var(--bg-card);overflow:hidden}.recent-list-head{display:flex;justify-content:space-between;align-items:center;padding:9px 12px;border-bottom:1px solid var(--line-soft);font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint)}.recent-clear{background:none;border:none;padding:0;font:inherit;color:var(--ink-faint);cursor:pointer;text-transform:none;letter-spacing:0;text-decoration:underline}.recent-clear:hover{color:var(--accent)}.recent-item{display:flex;align-items:stretch;border-top:1px solid var(--line-soft)}.recent-item:first-child{border-top:none}.recent-item-load{flex:1;display:flex;flex-direction:column;gap:2px;align-items:flex-start;padding:10px 12px;background:none;border:none;font:inherit;text-align:left;cursor:pointer;color:var(--ink)}.recent-item-load:hover{background:var(--bg-hover, rgba(0,0,0,.03))}.recent-item-name{font-size:13px;font-weight:500;word-break:break-all}.recent-item-meta{font-size:11px;color:var(--ink-faint);font-family:var(--mono)}.recent-item-x{flex:none;width:38px;background:none;border:none;border-left:1px solid var(--line-soft);font-size:18px;line-height:1;color:var(--ink-faint);cursor:pointer}.recent-item-x:hover{color:#d23;background:var(--bg-hover, rgba(0,0,0,.03))}.gloss-index{display:flex;flex-wrap:wrap;gap:8px 18px;margin:20px 0 0;max-width:70ch}.gloss-index a{font-size:14px;color:var(--accent-ink);text-decoration:none}.gloss-index a:hover{text-decoration:underline}.glossary{max-width:66ch;margin:8px 0 0}.gloss-term{padding:22px 0;border-top:1px solid var(--line-soft);scroll-margin-top:80px}.gloss-term h3{font-size:21px;margin:0 0 8px}.gloss-term p{margin:0 0 10px;color:var(--ink-soft);line-height:1.62}.gloss-term p:last-child{margin-bottom:0}.gloss-term code{font-family:var(--mono);font-size:.88em;background:var(--bg-code, rgba(0,0,0,.05));padding:1px 5px;border-radius:4px}.gloss-link{font-family:var(--mono);font-size:12px;color:var(--accent-ink);text-decoration:none}.gloss-link:hover{text-decoration:underline}.gloss-see{font-size:13.5px;color:var(--ink-faint)}.gloss-see a{color:var(--accent-ink);text-decoration:none}.gloss-see a:hover{text-decoration:underline}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--modal-veil);display:grid;place-items:center;z-index:100;padding:24px;animation:fadeIn .18s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{background:var(--bg);border:1px solid var(--line);border-radius:var(--r-lg);width:100%;max-width:480px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 24px 80px var(--modal-shadow);animation:modalIn .22s ease}@keyframes modalIn{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:24px 24px 16px;border-bottom:1px solid var(--line-soft)}.modal-eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.12em;color:var(--ink-faint);text-transform:uppercase;margin-bottom:8px}.modal-title{font-family:var(--serif);font-size:28px;letter-spacing:-.015em;margin:0 0 6px;font-weight:400}.modal-sub{font-family:var(--mono);font-size:12px;color:var(--ink-soft)}.modal-close{background:none;border:0;color:var(--ink-faint);font-size:24px;line-height:1;padding:4px 10px;border-radius:6px;flex:0 0 auto}.modal-close:hover{background:var(--bg-soft);color:var(--ink)}.sheet-list{list-style:none;padding:8px;margin:0;overflow-y:auto}.sheet-row{width:100%;display:grid;grid-template-columns:1fr auto 20px;align-items:center;gap:16px;padding:14px 16px;background:transparent;border:1px solid transparent;border-radius:var(--r-md);text-align:left;transition:all .15s}.sheet-row:hover{background:var(--bg-card);border-color:var(--accent)}.sheet-row:hover .sheet-arrow{transform:translate(2px);color:var(--accent-ink)}.sheet-name{font-family:var(--serif);font-size:18px;letter-spacing:-.005em}.sheet-rows{font-family:var(--mono);font-size:11px;color:var(--ink-faint);letter-spacing:.04em;text-transform:uppercase}.sheet-arrow{font-family:var(--mono);color:var(--ink-faint);transition:transform .15s,color .15s}.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-top:16px;text-align:left}.gallery-card{background:var(--bg-card);border:1px solid var(--line-soft);border-radius:var(--r-lg);padding:22px 24px 18px;text-align:left;cursor:pointer;transition:all .18s ease;display:flex;flex-direction:column;gap:12px}.gallery-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 8px 24px var(--card-shadow-hover)}.gallery-card:hover .gallery-cta{color:var(--accent-ink)}.gallery-tag{font-family:var(--mono);font-size:10px;letter-spacing:.1em;color:var(--ink-faint);text-transform:uppercase}.gallery-title{font-family:var(--serif);font-size:22px;letter-spacing:-.01em;line-height:1.15}.gallery-spark{height:56px;background:var(--bg-soft);border-radius:var(--r-sm);padding:8px}.gallery-desc{font-size:14px;color:var(--ink-soft);line-height:1.45;flex:1}.gallery-cta{font-family:var(--mono);font-size:12px;letter-spacing:.04em;color:var(--ink);transition:color .15s;margin-top:4px}.home-cat{padding:64px 0;border-top:1px solid var(--line-soft)}.home-cat h2{max-width:24ch}.tools-card-popular{position:relative;border-color:var(--accent)}.tools-card-popular:hover{box-shadow:0 8px 24px var(--card-shadow-hover)}.tools-card-badge{position:absolute;top:12px;right:14px;background:var(--accent);color:var(--bg);font-family:var(--mono);font-size:9px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;padding:3px 10px;border-radius:999px}.pipe-callout{padding:56px 0;background:var(--accent-soft);border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}.pipe-callout h2 em{color:var(--accent-ink)}.pipe-callout-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:24px}.pipe-callout-btn{background:var(--ink);color:var(--bg);padding:12px 22px;border-radius:999px;font-family:var(--sans);font-size:15px;font-weight:500;text-decoration:none;transition:transform .15s,background .15s}.pipe-callout-btn:hover{background:var(--btn-ink-hover);transform:translateY(-1px)}.pipe-callout-hint{font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--accent-ink);text-transform:uppercase}.privacy-callout{padding:56px 0;border-top:1px solid var(--line-soft)}.privacy-callout h2 em{color:var(--accent-ink)}.privacy-callout .why-list li{padding:16px 0}.home-cases{padding:56px 0;border-top:1px solid var(--line-soft)}.cases-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-top:24px}.cases-card{background:var(--bg-card);border:1px solid var(--line-soft);border-left:3px solid var(--accent);border-radius:var(--r-md);padding:18px 22px}.cases-eyebrow{font-family:var(--mono);font-size:10px;letter-spacing:.1em;color:var(--accent-ink);text-transform:uppercase;margin-bottom:8px}.cases-title{font-family:var(--serif);font-size:19px;letter-spacing:-.005em;margin-bottom:8px;line-height:1.25}.cases-body{font-size:14px;color:var(--ink-soft);line-height:1.55}.seo-link-list{list-style:none;padding:0;margin:12px 0 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:6px 24px}.seo-link-list li{padding:6px 0;border-bottom:1px solid var(--line-soft)}.seo-link-list li:last-child{border-bottom:0}.seo-link-list a{font-family:var(--serif);font-size:17px;letter-spacing:-.005em;color:var(--ink);text-decoration:none;transition:color .15s}.seo-link-list a:hover{color:var(--accent-ink);text-decoration:underline;text-underline-offset:3px}.related-tools{padding:48px 0;border-top:1px solid var(--line-soft)}.related-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:12px}.related-card{background:var(--bg-card);border:1px solid var(--line-soft);border-radius:var(--r-md);padding:14px 16px;text-decoration:none;color:inherit;display:flex;flex-direction:column;gap:6px;transition:all .15s}.related-card:hover{border-color:var(--accent);transform:translateY(-2px)}.related-card:hover .related-cta{color:var(--accent-ink)}.related-title{font-family:var(--serif);font-size:17px;letter-spacing:-.005em}.related-desc{font-size:12px;color:var(--ink-soft);line-height:1.4;flex:1}.related-cta{font-family:var(--mono);font-size:10px;color:var(--ink-soft);letter-spacing:.04em;transition:color .15s}.related-foot{margin-top:18px;font-size:14px;color:var(--ink-soft)}.tools-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-top:24px}.tools-card{background:var(--bg-card);border:1px solid var(--line-soft);border-radius:var(--r-lg);padding:22px 24px 18px;text-decoration:none;color:inherit;display:flex;flex-direction:column;gap:10px;transition:all .18s ease}.tools-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 8px 24px var(--card-shadow-hover)}.tools-card:hover .tools-card-cta{color:var(--accent-ink)}.tools-card-feature{border-left:3px solid var(--accent)}.tools-card-tag{font-family:var(--mono);font-size:10px;letter-spacing:.1em;color:var(--ink-faint);text-transform:uppercase}.tools-card-title{font-family:var(--serif);font-size:22px;letter-spacing:-.01em;line-height:1.15}.tools-card-desc{font-size:14px;color:var(--ink-soft);line-height:1.5;flex:1}.tools-card-cta{font-family:var(--mono);font-size:12px;letter-spacing:.04em;color:var(--ink);margin-top:6px;transition:color .15s}.conv{text-align:left;margin-top:24px}.conv-panes{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:900px){.conv-panes{grid-template-columns:1fr}}.conv-pane{background:var(--bg-card);border:1px solid var(--line-soft);border-radius:var(--r-lg);padding:18px 20px;display:flex;flex-direction:column;min-height:360px}.conv-pane-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;gap:12px}.conv-pane-label{font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--ink-faint);text-transform:uppercase}.conv-pane-actions{display:flex;gap:6px}.conv-drop{border:1.5px dashed var(--line);border-radius:var(--r-md);padding:28px 16px;text-align:center;cursor:pointer;transition:all .15s ease;margin-bottom:12px}.conv-drop:hover{border-color:var(--accent);background:var(--drop-hover-bg)}.conv-drop.dragging{border-color:var(--accent);background:var(--accent-soft);transform:scale(1.005)}.conv-drop-title{font-family:var(--serif);font-size:20px;letter-spacing:-.005em;margin-bottom:4px}.conv-drop-sub{font-family:var(--mono);font-size:11px;color:var(--ink-faint);letter-spacing:.06em;text-transform:uppercase}.conv-drop-sample{margin-top:12px;background:transparent;border:0;color:var(--accent-ink);text-decoration:underline;text-underline-offset:3px;font-size:13px;cursor:pointer;font-family:var(--sans)}.conv-drop-sample:hover{color:var(--ink)}.conv-in-paste{flex:1;width:100%;resize:vertical;min-height:140px;border:1px solid var(--line);border-radius:var(--r-sm);padding:10px 12px;font-family:var(--mono);font-size:12px;color:var(--ink);background:var(--bg);outline:none}.conv-in-paste:focus{border-color:var(--accent)}.conv-out-text{flex:1;width:100%;resize:vertical;min-height:280px;border:1px solid var(--line);border-radius:var(--r-sm);padding:12px 14px;font-family:var(--mono);font-size:12px;line-height:1.55;color:var(--ink);background:var(--bg);outline:none;white-space:pre;overflow:auto}.conv-out-text:focus{border-color:var(--accent)}.breadcrumb{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:var(--ink-faint);margin:4px 0 0}.breadcrumb a{color:var(--ink-soft);text-decoration:none}.breadcrumb a:hover{color:var(--accent-ink);text-decoration:underline}.breadcrumb-sep{color:var(--line)}.breadcrumb-current{color:var(--ink-faint)}.parse-progress{margin:14px auto 0;max-width:520px}.parse-progress-label{font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:var(--ink-soft);margin-bottom:6px;text-align:center}.parse-progress-track{height:6px;border-radius:999px;background:var(--bg-soft);border:1px solid var(--line-soft);overflow:hidden}.parse-progress-bar{height:100%;border-radius:999px;background:var(--accent);transition:width .12s linear}.conv-md-preview{margin-top:12px}.conv-md-preview-label{font-family:var(--mono);font-size:10px;letter-spacing:.08em;color:var(--ink-faint);margin-bottom:6px}.conv-md-preview-scroll{overflow:auto;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--bg-card)}.csvtd-md-table{border-collapse:collapse;width:100%;font-size:12px;color:var(--ink)}.csvtd-md-table th,.csvtd-md-table td{border:1px solid var(--line-soft);padding:6px 10px;white-space:nowrap}.csvtd-md-table th{background:var(--bg-soft);font-weight:600;position:sticky;top:0}.csvtd-md-table tbody tr:nth-child(2n) td{background:var(--bg-soft)}.conv-opts{display:flex;flex-wrap:wrap;gap:12px 18px;padding:10px 12px;background:var(--bg-soft);border:1px solid var(--line-soft);border-radius:var(--r-sm);margin-bottom:12px;font-family:var(--mono);font-size:12px;color:var(--ink-soft)}.conv-opts label{display:inline-flex;align-items:center;gap:6px}.conv-opts-input{background:var(--bg);border:1px solid var(--line);border-radius:4px;padding:3px 8px;font-family:inherit;font-size:12px;color:var(--ink);outline:none}.conv-opts-input:focus{border-color:var(--accent)}.conv-opts-add{align-self:flex-start;background:transparent;border:1px dashed var(--accent);color:var(--accent-ink);padding:6px 12px;border-radius:999px;font-family:var(--mono);font-size:11px;letter-spacing:.06em;cursor:pointer;margin-top:2px}.conv-opts-add:hover{background:var(--accent-soft)}.conv-opts-x{background:transparent;border:0;font-family:var(--mono);font-size:14px;color:var(--ink-faint);cursor:pointer;padding:2px 8px;border-radius:999px}.conv-opts-x:hover{background:var(--bg-soft);color:var(--warn-ink)}.conv-err{margin-top:10px;color:var(--warn-ink);font-family:var(--mono);font-size:12px}.pipe-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:16px;margin-top:16px;align-items:start}@media(max-width:1000px){.pipe-grid{grid-template-columns:minmax(0,1fr)}}.pipe-steps{background:var(--bg-card);border:1px solid var(--line-soft);border-radius:var(--r-lg);padding:18px 20px;display:flex;flex-direction:column;gap:10px}.pipe-steps-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:4px}.pipe-empty{font-family:var(--mono);font-size:12px;color:var(--ink-faint);padding:14px 0;text-align:center;letter-spacing:.02em}.pipe-step{background:var(--bg);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:var(--r-md);padding:12px 14px;display:flex;flex-direction:column;gap:8px;transition:opacity .15s,border-color .15s}.pipe-step-off{opacity:.55;border-left-color:var(--ink-faint)}.pipe-step-err{border-left-color:var(--warn)}.pipe-step-terminal{border-left-color:var(--accent-ink);border-left-width:4px}.pipe-step-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.pipe-step-title{font-family:var(--serif);font-size:18px;letter-spacing:-.005em;display:flex;align-items:baseline;gap:8px}.pipe-step-num{font-family:var(--mono);font-size:11px;color:var(--ink-faint);letter-spacing:.04em}.pipe-step-controls{display:flex;gap:2px}.pipe-step-controls button{background:transparent;border:0;font-family:var(--mono);font-size:13px;color:var(--ink-soft);padding:3px 8px;border-radius:4px;cursor:pointer;line-height:1}.pipe-step-controls button:hover:not(:disabled){background:var(--bg-soft);color:var(--ink)}.pipe-step-controls button:disabled{opacity:.35;cursor:not-allowed}.pipe-step-controls .pipe-step-x:hover{background:var(--bg-soft);color:var(--warn-ink)}.pipe-step-cfg-empty{font-family:var(--mono);font-size:11px;color:var(--ink-faint);padding:4px 0}.pipe-step-foot{display:flex;justify-content:space-between;align-items:center;font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:var(--ink-faint);padding-top:4px;border-top:1px dashed var(--line-soft)}.pipe-step-stat{color:var(--ink-soft)}.pipe-step-err-msg{color:var(--warn-ink)}.pipe-step-report{margin-top:6px}.pipe-step-report summary{font-family:var(--mono);font-size:11px;color:var(--accent-ink);cursor:pointer;padding:4px 0}.pipe-step-report summary:hover{color:var(--ink)}.pipe-add{position:relative;align-self:stretch;margin-top:4px}.pipe-add-btn{width:100%;background:transparent;border:1px dashed var(--accent);color:var(--accent-ink);padding:10px 16px;border-radius:var(--r-md);font-family:var(--mono);font-size:12px;letter-spacing:.04em;cursor:pointer;transition:background .15s}.pipe-add-btn:hover{background:var(--accent-soft)}.pipe-add-menu{position:absolute;left:0;right:0;top:calc(100% + 4px);background:var(--bg-card);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:0 8px 24px var(--modal-shadow);padding:4px;z-index:10;display:flex;flex-direction:column;gap:2px}.pipe-add-item{background:transparent;border:0;text-align:left;padding:8px 12px;border-radius:4px;font-family:var(--sans);font-size:14px;color:var(--ink);cursor:pointer;transition:background .12s}.pipe-add-item:hover{background:var(--bg-soft)}.pipe-preview{background:var(--bg-card);border:1px solid var(--line-soft);border-radius:var(--r-lg);padding:18px 20px;position:sticky;top:24px}.pipe-preview-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.pipe-preview-meta{font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:var(--accent-ink)}.pipe-preview-table-wrap{overflow-x:auto;max-height:480px;overflow-y:auto;border:1px solid var(--line-soft);border-radius:var(--r-sm)}.pipe-preview-table{width:100%;border-collapse:collapse;font-family:var(--mono);font-size:11px}