:root{--bg:oklch(98.5% .003 85);--bg-sunk:oklch(96.5% .004 85);--fg:oklch(22% .01 80);--fg-muted:oklch(48% .008 80);--fg-faint:oklch(68% .006 80);--rule:oklch(91% .006 85);--rule-strong:oklch(85% .008 85);--accent:oklch(58% .11 145);--accent-ink:oklch(99% .005 85);--accent-soft:oklch(58% .11 145/.08);--checker-a:oklch(97% .003 85);--checker-b:oklch(93% .005 85);--serif:"Playfair Display", Georgia, serif;--sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace}:root[data-theme=dark]{--bg:oklch(17% .005 80);--bg-sunk:oklch(14% .005 80);--fg:oklch(93% .008 85);--fg-muted:oklch(68% .006 80);--fg-faint:oklch(48% .008 80);--rule:oklch(26% .008 80);--rule-strong:oklch(33% .01 80);--accent:oklch(72% .11 145);--accent-ink:oklch(14% .005 80);--accent-soft:oklch(72% .11 145/.12);--checker-a:oklch(21% .005 80);--checker-b:oklch(25% .006 80)}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg);color:var(--fg);font-family:var(--sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-feature-settings:"ss01", "cv11";font-size:15px;line-height:1.5}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}input,textarea{font:inherit;color:inherit;background:0 0;border:none;outline:none}a{color:inherit;text-decoration:none}::selection{background:var(--accent-soft);color:var(--accent)}.app{flex-direction:column;min-height:100vh;display:flex}.topbar{border-bottom:1px solid var(--rule);background:var(--bg);z-index:10;justify-content:space-between;align-items:center;height:56px;padding:0 32px;display:flex;position:sticky;top:0}.wordmark{font-family:var(--serif);letter-spacing:-.01em;align-items:baseline;gap:6px;font-size:22px;font-style:italic;font-weight:400;display:flex}.wordmark .dot{background:var(--accent);border-radius:50%;width:6px;height:6px;display:inline-block;transform:translateY(-2px)}.nav{align-items:center;gap:4px;display:flex}.nav-btn{color:var(--fg-muted);letter-spacing:.01em;border-radius:6px;padding:6px 12px;font-size:13px;transition:color .15s,background .15s}.nav-btn:hover{color:var(--fg)}.nav-btn.active{color:var(--accent);background:var(--accent-soft)}.nav-meta{color:var(--fg-faint);font-size:12px;font-family:var(--mono);align-items:center;gap:18px;display:flex}.theme-toggle{width:28px;height:28px;color:var(--fg-muted);border-radius:6px;justify-content:center;align-items:center;transition:color .15s,background .15s;display:inline-flex}.theme-toggle:hover{color:var(--fg);background:var(--bg-sunk)}.landing{width:100%;max-width:1120px;margin:0 auto;padding:56px 32px 80px}.eyebrow{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--fg-faint);align-items:center;gap:10px;margin-bottom:28px;font-size:11px;display:flex}.eyebrow:before{content:"";background:var(--rule-strong);width:24px;height:1px}.hero-head{font-family:var(--serif);letter-spacing:-.02em;color:var(--fg);max-width:14ch;margin-bottom:24px;font-size:clamp(48px,6.5vw,92px);font-weight:400;line-height:.98}.hero-head em{color:var(--accent);font-style:italic}.hero-sub{color:var(--fg-muted);max-width:56ch;margin-bottom:48px;font-size:18px;line-height:1.5}.demo{border:1px solid var(--rule);background:var(--bg);border-radius:6px;grid-template-columns:1fr 1.2fr;min-height:420px;display:grid;overflow:hidden}.demo-pane{flex-direction:column;gap:16px;padding:24px;display:flex;position:relative}.demo-pane+.demo-pane{border-left:1px solid var(--rule);background:var(--bg-sunk)}.pane-label{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--fg-faint);justify-content:space-between;align-items:center;font-size:10px;display:flex}.pane-label .count{color:var(--fg-muted)}.dropzone{border:1px dashed var(--rule-strong);color:var(--fg-muted);text-align:center;cursor:pointer;border-radius:4px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;padding:24px;font-size:13px;transition:border-color .15s,background .15s;display:flex;position:relative}.dropzone:hover,.dropzone.drag{border-color:var(--accent);background:var(--accent-soft)}.dropzone .kbd{font-family:var(--mono);color:var(--fg-faint);font-size:11px}.preview-well{border:1px solid var(--rule);border-radius:4px;align-items:flex-start;gap:20px;padding:16px;display:flex}.preview-canvas{background-image:linear-gradient(45deg, var(--checker-b) 25%, transparent 25%), linear-gradient(-45deg, var(--checker-b) 25%, transparent 25%), linear-gradient(45deg, transparent 75%, var(--checker-b) 75%), linear-gradient(-45deg, transparent 75%, var(--checker-b) 75%);background-position:0 0,0 6px,6px -6px,-6px 0;background-size:12px 12px;background-color:var(--checker-a);border:1px solid var(--rule);border-radius:2px;flex-shrink:0;justify-content:center;align-items:center;width:128px;height:128px;display:flex;overflow:hidden}.preview-canvas svg{max-width:80%;max-height:80%;color:var(--fg)}.preview-meta{font-family:var(--mono);color:var(--fg-muted);flex-direction:column;flex:1;gap:6px;min-width:0;font-size:11px;display:flex}.preview-meta .row{justify-content:space-between;gap:12px;display:flex}.preview-meta .row .k{color:var(--fg-faint)}.preview-meta .row .v{color:var(--fg);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.preview-meta .name{font-family:var(--serif);color:var(--fg);letter-spacing:-.01em;margin-bottom:4px;font-size:20px;font-style:italic}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{font-family:var(--mono);border:1px solid var(--rule);color:var(--fg-muted);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:999px;align-items:center;gap:6px;padding:4px 10px 4px 8px;font-size:11px;transition:border-color .15s,color .15s,background .15s;display:inline-flex}.chip .tick{border:1px solid var(--rule-strong);border-radius:50%;width:10px;height:10px;transition:all .15s}.chip.on{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.chip.on .tick{background:var(--accent);border-color:var(--accent)}.chip:hover{color:var(--fg)}.chip.on:hover{color:var(--accent)}.code-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.seg{border:1px solid var(--rule);background:var(--bg);border-radius:6px;padding:2px;display:inline-flex}.seg button{font-size:12px;font-family:var(--mono);color:var(--fg-muted);letter-spacing:.02em;border-radius:4px;padding:4px 10px;transition:color .15s,background .15s}.seg button:hover{color:var(--fg)}.seg button.active{background:var(--accent-soft);color:var(--accent)}.code-wrap{border:1px solid var(--rule);background:var(--bg);border-radius:4px;flex:1;min-height:0;position:relative;overflow:hidden}.code{font-family:var(--mono);white-space:pre;height:100%;max-height:100%;color:var(--fg);tab-size:2;counter-reset:line;padding:16px 18px;font-size:12.5px;line-height:1.65;overflow:auto}.code .ln{padding-left:36px;transition:background .25s;display:block;position:relative}.code .ln:before{counter-increment:line;content:counter(line);text-align:right;width:24px;color:var(--fg-faint);opacity:.6;font-size:11px;position:absolute;top:0;left:0}.code .ln.changed{background:var(--accent-soft);animation:.9s ease-out diff-fade}@keyframes diff-fade{0%{background:var(--accent-soft)}to{background:0 0}}.code .ln.out{opacity:0;transition:opacity .18s}.code .ln.in{opacity:1}.tk-kw{color:oklch(52% .14 290)}.tk-str{color:oklch(55% .12 145)}.tk-num{color:oklch(58% .13 35)}.tk-com{color:var(--fg-faint);font-style:italic}.tk-fn{color:oklch(52% .13 245)}.tk-tag{color:oklch(52% .14 290)}.tk-attr{color:oklch(55% .1 70)}:root[data-theme=dark] .tk-kw{color:oklch(78% .15 290)}:root[data-theme=dark] .tk-str{color:oklch(78% .14 145)}:root[data-theme=dark] .tk-num{color:oklch(78% .14 35)}:root[data-theme=dark] .tk-fn{color:oklch(78% .13 245)}:root[data-theme=dark] .tk-tag{color:oklch(78% .15 290)}:root[data-theme=dark] .tk-attr{color:oklch(82% .09 70)}.code-foot{font-family:var(--mono);color:var(--fg-faint);justify-content:space-between;align-items:center;gap:12px;font-size:11px;display:flex}.copy-btn{border:1px solid var(--rule);font-family:var(--mono);color:var(--fg-muted);border-radius:4px;align-items:center;gap:6px;padding:4px 10px;font-size:11px;transition:all .15s;display:inline-flex}.copy-btn:hover{color:var(--fg);border-color:var(--rule-strong)}.copy-btn.copied{color:var(--accent);border-color:var(--accent)}.features{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);grid-template-columns:repeat(3,1fr);gap:0;margin-top:96px;display:grid}.feature{border-right:1px solid var(--rule);flex-direction:column;gap:12px;padding:32px 28px 36px;display:flex}.feature:last-child{border-right:none}.feature .num{font-family:var(--mono);letter-spacing:.14em;color:var(--fg-faint);font-size:11px}.feature h3{font-family:var(--serif);letter-spacing:-.01em;color:var(--fg);font-size:24px;font-weight:400;line-height:1.15}.feature p{color:var(--fg-muted);max-width:32ch;font-size:14px;line-height:1.55}.footer{border-top:1px solid var(--rule);font-family:var(--mono);color:var(--fg-faint);letter-spacing:.02em;justify-content:space-between;align-items:center;margin-top:64px;padding-top:24px;font-size:11px;display:flex}.footer a:hover{color:var(--fg)}.footer .links{gap:20px;display:flex}.converter{flex:1;grid-template-columns:minmax(360px,1fr) minmax(520px,1.35fr);min-height:calc(100vh - 56px);display:grid}.conv-pane{flex-direction:column;min-width:0;display:flex}.conv-pane.left{border-right:1px solid var(--rule)}.conv-pane.right{background:var(--bg-sunk)}.pane-head{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;gap:12px;height:48px;padding:0 20px;display:flex}.pane-title{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--fg-faint);font-size:11px}.name-edit{font-family:var(--serif);color:var(--fg);letter-spacing:-.01em;text-align:right;width:100%;max-width:220px;caret-color:var(--accent);font-size:18px;font-style:italic}.name-edit:focus{color:var(--accent)}.pane-body{flex-direction:column;flex:1;gap:18px;min-height:0;padding:20px;display:flex;overflow:auto}.svg-source{min-height:180px;font-family:var(--mono);border:1px solid var(--rule);background:var(--bg);color:var(--fg);resize:none;white-space:pre;border-radius:4px;flex:1;padding:14px 16px;font-size:12px;line-height:1.6;transition:border-color .15s;overflow:auto}.svg-source:focus{border-color:var(--rule-strong)}.svg-source.drag{border-color:var(--accent);background:var(--accent-soft)}.section-title{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--fg-faint);justify-content:space-between;align-items:center;font-size:10px;display:flex}.controls-grid{flex-wrap:wrap;gap:8px;display:flex}.toggle-row{flex-wrap:wrap;gap:4px;display:flex}.toggle-pill{font-size:12px;font-family:var(--mono);border:1px solid var(--rule);color:var(--fg-muted);border-radius:999px;padding:5px 12px;transition:all .15s}.toggle-pill:hover{color:var(--fg)}.toggle-pill.on{background:var(--fg);color:var(--bg);border-color:var(--fg)}.toggle-pill.switch{align-items:center;gap:8px;padding:5px 10px;display:inline-flex}.toggle-pill.switch .dot{background:var(--rule-strong);border-radius:50%;width:6px;height:6px;transition:background .15s}.toggle-pill.switch.on .dot{background:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.toggle-pill.switch .state{letter-spacing:.08em;text-transform:uppercase;color:var(--fg-faint);border-left:1px solid var(--rule);padding-left:6px;font-size:10px}.toggle-pill.switch.on .state{color:var(--bg);border-left-color:var(--fg-muted)}.code-surface{flex-direction:column;flex:1;gap:14px;min-height:0;padding:20px;display:flex}.code-surface .code-wrap{background:var(--bg)}.batch{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:48px 32px 80px}.batch-head{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:32px;padding-bottom:24px;display:flex}.batch-head h1{font-family:var(--serif);letter-spacing:-.02em;font-size:48px;font-weight:400;line-height:1}.batch-head h1 em{color:var(--accent);font-style:italic}.batch-head .sub{color:var(--fg-muted);max-width:48ch;margin-top:12px;font-size:15px}.batch-drop{border:1px dashed var(--rule-strong);cursor:pointer;border-radius:4px;justify-content:space-between;align-items:center;gap:24px;margin-bottom:40px;padding:40px;transition:all .15s;display:flex}.batch-drop:hover,.batch-drop.drag{border-color:var(--accent);background:var(--accent-soft)}.batch-drop .lead{font-family:var(--serif);color:var(--fg);letter-spacing:-.01em;font-size:22px;font-style:italic}.batch-drop .hint{font-family:var(--mono);color:var(--fg-faint);letter-spacing:.06em;text-transform:uppercase;margin-top:4px;font-size:11px}.batch-stats{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);gap:40px;margin-bottom:32px;padding:16px 0;display:flex}.batch-stat{flex-direction:column;gap:2px;display:flex}.batch-stat .k{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--fg-faint);font-size:10px}.batch-stat .v{font-family:var(--serif);color:var(--fg);letter-spacing:-.01em;font-size:24px}.batch-stat .v em{color:var(--accent);font-style:italic}.icon-grid{border-top:1px solid var(--rule);border-left:1px solid var(--rule);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:0;display:grid}.icon-cell{border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);align-items:center;gap:14px;padding:20px 18px;transition:background .15s;display:flex}.icon-cell:hover{background:var(--bg-sunk)}.icon-cell.fresh{background:var(--accent-soft);animation:1.4s ease-out diff-fade}.sample-banner{background:var(--accent-soft);border:1px solid var(--accent);border-radius:4px;justify-content:space-between;align-items:center;gap:24px;margin-bottom:16px;padding:16px 20px;display:flex}.sample-banner .lead{font-family:var(--serif);color:var(--fg);letter-spacing:-.01em;font-size:18px;font-style:italic}.sample-banner .hint{font-family:var(--mono);color:var(--fg-muted);letter-spacing:.04em;margin-top:2px;font-size:11px}.icon-thumb{border:1px solid var(--rule);background:var(--bg);width:44px;height:44px;color:var(--fg);border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.icon-thumb svg{width:24px;height:24px}.icon-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.icon-name{font-family:var(--mono);color:var(--fg);width:100%;caret-color:var(--accent);font-size:13px}.icon-name:focus{color:var(--accent)}.icon-src{font-family:var(--mono);color:var(--fg-faint);letter-spacing:.04em;white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.batch-actions{justify-content:space-between;align-items:center;gap:20px;margin-top:40px;display:flex}.btn-primary{background:var(--fg);color:var(--bg);letter-spacing:.01em;border-radius:4px;align-items:center;gap:10px;padding:12px 22px;font-size:13px;font-weight:500;transition:background .15s;display:inline-flex}.btn-primary:hover{background:var(--accent);color:var(--accent-ink)}.btn-secondary{border:1px solid var(--rule-strong);color:var(--fg-muted);border-radius:4px;padding:12px 20px;font-size:13px;transition:all .15s}.btn-secondary:hover{color:var(--fg);border-color:var(--fg)}.tweaks{background:var(--bg);border:1px solid var(--rule-strong);z-index:50;border-radius:6px;flex-direction:column;gap:14px;width:280px;padding:18px 18px 16px;display:none;position:fixed;bottom:24px;right:24px}.tweaks.open{display:flex}.tweaks h4{font-family:var(--serif);letter-spacing:-.01em;justify-content:space-between;align-items:center;font-size:18px;font-style:italic;font-weight:400;display:flex}.tweaks .field{flex-direction:column;gap:6px;display:flex}.tweaks label{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--fg-faint);font-size:10px}.swatches{gap:6px;display:flex}.swatch{border:1px solid var(--rule);cursor:pointer;border-radius:50%;width:24px;height:24px;transition:transform .15s}.swatch:hover{transform:scale(1.1)}.swatch.active{outline:2px solid var(--fg);outline-offset:2px}.fade-enter{opacity:0;transform:translateY(2px)}.fade-enter-active{opacity:1;transition:opacity .2s,transform .2s;transform:translateY(0)}.crossfade{position:relative}.crossfade>.layer{transition:opacity .2s;position:absolute;inset:0}.crossfade>.layer.out{opacity:0;pointer-events:none}
