@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Fira+Code:wght@400;500;600;700&display=swap";:root[data-theme=dark],:root:not([data-theme]){--bg: #0E1116;--bg-elevated: #161A21;--bg-subtle: #1A1D23;--ink: #F4F1EA;--ink-2: #C9CCD2;--ink-3: #8E929A;--ink-4: #5C6068;--line: rgba(244,241,234,.1);--line-strong: rgba(244,241,234,.18);--accent: #FF5C57;--accent-hover: #E04A45;--accent-soft: rgba(255,92,87,.14);--accent-on: #FFFFFF;--info: #6BBEF1;--info-soft: rgba(107,190,241,.14);--warn: #F1C36B;--warn-soft: rgba(241,195,107,.14);--danger: #F16B6B;--danger-soft: rgba(241,107,107,.14);--success: #7DC36B;--success-soft: rgba(125,195,107,.14);--shadow-1: 0 1px 0 rgba(0,0,0,.4);--shadow-2: 0 4px 14px -4px rgba(0,0,0,.5)}:root{--font-sans: "Space Grotesk", system-ui, -apple-system, sans-serif;--font-mono: "Fira Code", ui-monospace, SFMono-Regular, monospace}:root{--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px}:root{--r-sm: 2px;--r-md: 4px;--r-lg: 6px;--r-xl: 12px;--r-pill: 99px}:root{--dur-instant: 75ms;--dur-fast: .15s;--dur-normal: .2s;--dur-slow: .3s;--ease-standard: cubic-bezier(.4, 0, .2, 1);--ease-enter: cubic-bezier(0, 0, .2, 1);--ease-exit: cubic-bezier(.4, 0, 1, 1)}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-sans);font-size:14px;line-height:1.55;-webkit-font-smoothing:antialiased;transition:background .2s ease,color .2s ease}code,pre,.mono{font-family:var(--font-mono)}:root[data-theme=dark]{--bg: #0E1116;--bg-elevated: #161A21;--bg-subtle: #1A1D23;--ink: #F4F1EA;--ink-2: #C9CCD2;--ink-3: #8E929A;--ink-4: #5C6068;--line: rgba(244,241,234,.1);--line-strong: rgba(244,241,234,.18);--accent: #FF5C57;--accent-hover: #E04A45;--accent-soft: rgba(255,92,87,.14);--accent-on: #FFFFFF;--info: #6BBEF1;--info-soft: rgba(107,190,241,.14);--warn: #F1C36B;--warn-soft: rgba(241,195,107,.14);--danger: #F16B6B;--danger-soft: rgba(241,107,107,.14);--success: #7DC36B;--success-soft: rgba(125,195,107,.14);--shadow-1: 0 1px 0 rgba(0,0,0,.4);--shadow-2: 0 4px 14px -4px rgba(0,0,0,.5)}:root[data-theme=light]{--bg: #F4F1EA;--bg-elevated: #FFFFFF;--bg-subtle: #EAE7E0;--ink: #0E1116;--ink-2: #3D424A;--ink-3: #6B6F77;--ink-4: #9DA1A8;--line: rgba(14,17,22,.1);--line-strong: rgba(14,17,22,.18);--accent: #FF5C57;--accent-hover: #E04A45;--accent-soft: rgba(255,92,87,.18);--accent-on: #FFFFFF;--info: #2E8AC2;--info-soft: rgba(46,138,194,.12);--warn: #C58A2E;--warn-soft: rgba(197,138,46,.12);--danger: #C24545;--danger-soft: rgba(194,69,69,.12);--success: #4F9E3D;--success-soft: rgba(79,158,61,.16);--shadow-1: 0 1px 0 rgba(14,17,22,.06);--shadow-2: 0 4px 14px -4px rgba(14,17,22,.12)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:Space Grotesk,system-ui,-apple-system,sans-serif;font-size:14px;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;transition:background .2s ease,color .2s ease}code,pre,.mono{font-family:Fira Code,ui-monospace,SFMono-Regular,monospace}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}h1,h2,h3,h4{margin:0;font-weight:600;letter-spacing:-.025em;line-height:1.15}p{margin:0}.topbar{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:14px 28px;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:saturate(140%) blur(12px);-webkit-backdrop-filter:saturate(140%) blur(12px);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;font-weight:600;letter-spacing:-.02em;color:var(--ink)}.brand-mark{color:var(--ink)}.brand-name{font-size:15px}.brand-sep{color:var(--ink-4);margin:0 2px;font-weight:400}.brand-doc{color:var(--ink-3);font-weight:500;font-size:14px}.topbar-meta{display:flex;align-items:center;gap:14px}.ver{font-size:11px;color:var(--ink-3);letter-spacing:.05em}.theme-toggle{display:flex;align-items:center;gap:8px;background:transparent;border:1px solid var(--line-strong);color:var(--ink-2);padding:5px 10px 5px 5px;border-radius:99px;cursor:pointer;font-family:inherit;font-size:11px;letter-spacing:.08em;text-transform:uppercase;transition:border-color .15s,color .15s}.theme-toggle:hover{border-color:var(--ink-3);color:var(--ink)}.theme-toggle-track{width:26px;height:14px;background:var(--bg-subtle);border-radius:99px;position:relative;border:1px solid var(--line-strong)}.theme-toggle-thumb{position:absolute;top:1px;left:1px;width:10px;height:10px;border-radius:50%;background:var(--ink);transition:transform .2s cubic-bezier(.4,0,.2,1)}:root[data-theme=light] .theme-toggle-thumb{transform:translate(12px);background:var(--accent)}.layout{display:grid;grid-template-columns:260px 1fr;width:100%;gap:32px;padding:0 20px}.sidebar{position:sticky;top:70px;align-self:start;padding:24px 0;max-height:calc(100vh - 70px);overflow-y:auto;display:flex;flex-direction:column;min-height:0}.sidebar-nav{display:flex;flex-direction:column;gap:2px}.sidebar-label{font-family:Fira Code,monospace;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-3);padding:6px 12px 10px}.sidebar-nav a{position:relative;display:flex;align-items:center;gap:6px;padding:8px 12px;font-family:Fira Code,monospace;font-size:13px;font-weight:400;color:var(--ink-3);border-left:2px solid transparent;border-radius:0 3px 3px 0;transition:color .1s ease,border-color .1s ease,background .1s ease}.sidebar-nav a:before{content:"›";display:inline-block;width:10px;margin-right:2px;color:var(--accent);opacity:0;transition:opacity .1s ease;font-weight:500}.sidebar-nav a:hover{background:var(--bg-subtle);color:var(--ink-2)}.sidebar-nav a.active{color:var(--ink);border-left-color:var(--accent);background:var(--accent-soft);font-weight:500}.sidebar-nav a.active:before{opacity:1}.sidebar-nav-label{flex:1;min-width:0}.sidebar-nav-cursor{display:inline-block;width:0;color:var(--accent);opacity:0;font-weight:500}.sidebar-nav a.active .sidebar-nav-cursor{width:auto;opacity:1;margin-left:4px;animation:sidebarCursor 1s steps(2,end) infinite}@keyframes sidebarCursor{0%,50%{opacity:1}50.01%,to{opacity:0}}.content{padding:24px 0 60px;min-width:0}.hero{padding:36px 0 56px;border-bottom:1px solid var(--line);margin-bottom:56px}.eyebrow{font-family:Fira Code,monospace;font-size:11px;letter-spacing:.18em;color:var(--ink-3);margin-bottom:24px}.hero-title{font-size:56px;line-height:1;letter-spacing:-.035em;font-weight:600;max-width:14ch;text-wrap:balance}.hero-lede{margin-top:24px;max-width:62ch;font-size:16px;color:var(--ink-2);line-height:1.6}.hero-meta{margin-top:36px;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.hero-meta>div{background:var(--bg);padding:14px 16px;display:flex;flex-direction:column;gap:4px}.meta-k{font-family:Fira Code,monospace;font-size:9px;letter-spacing:.18em;color:var(--ink-3);text-transform:uppercase}.meta-v{font-size:13px;color:var(--ink);display:inline-flex;align-items:center;gap:8px}.meta-v code{font-size:11px;color:var(--ink-2)}.swatch-dot{display:inline-block;width:10px;height:10px;border-radius:50%}.section{padding:56px 0;border-bottom:1px solid var(--line)}.section-head{margin-bottom:36px;max-width:70ch}.kicker{font-family:Fira Code,monospace;font-size:10px;letter-spacing:.18em;color:var(--ink-3);margin-bottom:12px}.section h2{font-size:36px;letter-spacing:-.03em}.section .lede{margin-top:12px;font-size:15px;color:var(--ink-2);line-height:1.6}h3.sub{font-size:13px;font-family:Fira Code,monospace;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin:40px 0 16px;padding-bottom:8px;border-bottom:1px solid var(--line)}.note{font-size:13px;color:var(--ink-2);max-width:70ch;margin-bottom:20px;line-height:1.6}.note code,p code{font-size:.92em;color:var(--ink);background:var(--bg-subtle);padding:1px 6px;border-radius:3px;border:1px solid var(--line)}.essence-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.essence{background:var(--bg);padding:28px 24px;display:flex;flex-direction:column;gap:10px}.essence-num{font-family:Fira Code,monospace;font-size:11px;color:var(--accent);letter-spacing:.15em}.essence h3{font-size:22px;letter-spacing:-.025em}.essence p{color:var(--ink-2);font-size:14px;line-height:1.55}.anchor-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.anchor-tile{padding:28px 20px;border-radius:6px;display:flex;flex-direction:column;gap:10px;min-height:160px;justify-content:space-between}.anchor-name{font-weight:600;font-size:18px;letter-spacing:-.025em}.anchor-hex{font-size:13px;opacity:.85}.anchor-role{font-size:12px;opacity:.75;line-height:1.45}.scale-table{border:1px solid var(--line);border-radius:6px;overflow:hidden;background:var(--bg-elevated)}.scale-row{display:grid;grid-template-columns:1.4fr 1.4fr 1.4fr 2fr;gap:12px;padding:12px 16px;align-items:center;font-size:13px;border-bottom:1px solid var(--line)}.scale-row:last-child{border-bottom:none}.scale-row--head{background:var(--bg-subtle);font-family:Fira Code,monospace;font-size:10px;letter-spacing:.12em;color:var(--ink-3);text-transform:uppercase}.scale-row>div{display:flex;align-items:center;gap:10px;min-width:0}.scale-row code{font-size:11px;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.swatch{display:inline-block;width:22px;height:22px;border-radius:4px;flex-shrink:0}.sem-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.sem{background:var(--bg-elevated);border:1px solid var(--line);border-radius:6px;padding:20px}.sem-head{display:flex;align-items:center;gap:10px;margin-bottom:14px}.sem-head strong{font-weight:600}.sem-head code{margin-left:auto;font-size:11px;color:var(--ink-3)}.sem-dot{width:12px;height:12px;border-radius:50%}.sem-uses{display:flex;gap:8px;margin-bottom:12px;flex-wrap:wrap}.sem p{font-size:13px;color:var(--ink-2);line-height:1.55}.badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:99px;font-size:11px;font-weight:600;letter-spacing:.02em;font-family:Fira Code,monospace}.badge--success{background:var(--success);color:#fff}.badge--success-soft{background:var(--success-soft);color:var(--success)}.badge--info{background:var(--info);color:var(--bg)}.badge--info-soft{background:var(--info-soft);color:var(--info)}.badge--warn{background:var(--warn);color:#0e1116}.badge--warn-soft{background:var(--warn-soft);color:var(--warn)}.badge--danger{background:var(--danger);color:#fff}.badge--danger-soft{background:var(--danger-soft);color:var(--danger)}.rules{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.rule{background:var(--bg-elevated);border:1px solid var(--line);border-left-width:3px;border-radius:6px;padding:14px 18px;display:flex;gap:14px;align-items:flex-start}.rule--ok{border-left-color:var(--success)}.rule--no{border-left-color:var(--danger)}.rule-tag{font-family:Fira Code,monospace;font-size:10px;letter-spacing:.15em;text-transform:uppercase;padding-top:2px;flex-shrink:0;width:38px}.rule--ok .rule-tag{color:var(--success)}.rule--no .rule-tag{color:var(--danger)}.rule p{font-size:13px;line-height:1.55;color:var(--ink-2)}.font-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.font-card{background:var(--bg-elevated);border:1px solid var(--line);border-radius:6px;padding:20px 24px}.font-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding-bottom:14px;border-bottom:1px solid var(--line);margin-bottom:14px}.font-name{font-size:18px;font-weight:600;letter-spacing:-.02em}.font-name.mono{font-family:Fira Code,monospace}.font-role{font-family:Fira Code,monospace;font-size:10px;color:var(--ink-3);letter-spacing:.1em;margin-top:4px}.font-link{font-family:Fira Code,monospace;font-size:10px;letter-spacing:.1em;color:var(--ink-3);white-space:nowrap}.font-link:hover{color:var(--accent)}.font-sample{display:flex;gap:24px;align-items:center}.font-big{font-size:80px;line-height:1;letter-spacing:-.035em;font-weight:500;color:var(--ink);flex-shrink:0}.font-glyphs{font-size:13px;color:var(--ink-2);line-height:1.6}.type-scale{background:var(--bg-elevated);border:1px solid var(--line);border-radius:6px;overflow:hidden}.type-row{display:grid;grid-template-columns:200px 1fr;gap:24px;padding:18px 20px;border-bottom:1px solid var(--line);align-items:center}.type-row:last-child{border-bottom:none}.type-spec{display:flex;flex-direction:column;gap:3px}.type-spec code{font-size:12px;color:var(--accent);background:none;border:none;padding:0}.type-spec span{font-family:Fira Code,monospace;font-size:10px;color:var(--ink-3);letter-spacing:.05em}.type-sample{color:var(--ink);min-width:0;overflow:hidden}.type-context{background:var(--bg-elevated);border:1px solid var(--line);border-radius:6px;padding:28px 28px 24px;margin-top:12px}.space-table{background:var(--bg-elevated);border:1px solid var(--line);border-radius:6px;overflow:hidden}.space-row{display:grid;grid-template-columns:1.2fr 1fr 2.5fr 2.5fr;gap:16px;padding:12px 16px;border-bottom:1px solid var(--line);align-items:center;font-size:13px}.space-row:last-child{border-bottom:none}.space-row--head{background:var(--bg-subtle);font-family:Fira Code,monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}.space-row code{font-size:12px}.space-bar{display:inline-block;height:12px;background:var(--accent);border-radius:2px}.radius-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.radius-tile{background:var(--bg-elevated);border:1px solid var(--line);padding:18px 16px;display:flex;flex-direction:column;align-items:flex-start;gap:8px;border-radius:6px}.radius-shape{width:56px;height:40px;background:color-mix(in srgb,var(--ink) 18%,transparent);border:1px solid var(--line-strong)}.radius-tile code{font-size:11px;color:var(--ink)}.radius-tile span{font-size:11px;color:var(--ink-3)}.grid-demo{display:grid;grid-template-columns:repeat(12,1fr);gap:12px;background:var(--bg-elevated);border:1px solid var(--line);border-radius:6px;padding:16px;margin-bottom:12px}.grid-col{height:120px;background:var(--accent-soft);border:1px solid var(--line);border-radius:2px}.grid-specs{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.grid-specs>div{background:var(--bg);padding:12px 14px;display:flex;flex-direction:column;gap:3px}.grid-specs code{font-size:11px;color:var(--ink-3);font-family:Fira Code,monospace;letter-spacing:.1em}.grid-specs span{font-size:13px;color:var(--ink)}.icon-specs{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-bottom:32px}.icon-specs>div{background:var(--bg);padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:10px}.icon-specs code{font-size:11px;color:var(--ink-3);font-family:Fira Code,monospace;letter-spacing:.05em}.icon-specs span{font-size:13px;color:var(--ink)}.icon-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:6px;overflow:hidden}.icon-tile{background:var(--bg-elevated);padding:18px 12px 14px;display:flex;flex-direction:column;align-items:center;gap:10px;color:var(--ink);transition:background .1s,color .1s}.icon-tile:hover{background:var(--bg-subtle);color:var(--accent)}.icon-tile svg{width:24px;height:24px}.icon-tile span{font-family:Fira Code,monospace;font-size:9px;color:var(--ink-3);letter-spacing:.05em}.icon-sizes{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:12px}.icon-sizes>div{background:var(--bg-elevated);border:1px solid var(--line);border-radius:6px;padding:18px;display:flex;flex-direction:column;align-items:flex-start;gap:8px;color:var(--ink)}.icon-sizes svg{color:var(--ink)}.icon-sizes code{font-size:12px;color:var(--accent)}.icon-sizes span{font-size:12px;color:var(--ink-3)}.motion-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.motion-card{background:var(--bg-elevated);border:1px solid var(--line);border-radius:6px;padding:20px}.motion-token{font-size:11px;color:var(--accent);display:block}.motion-value{font-size:28px;font-weight:600;letter-spacing:-.025em;margin:6px 0 14px}.motion-demo{position:relative;height:8px;background:var(--bg-subtle);border-radius:99px;overflow:hidden;margin-bottom:14px;cursor:pointer}.motion-demo:after{content:"";position:absolute;top:0;left:0;height:100%;width:100%;background:var(--accent);transform:scaleX(0);transform-origin:left;animation:motionLoop 1.4s cubic-bezier(.4,0,.2,1) infinite}.motion-demo[data-dur="75"]:after{animation-duration:1s}.motion-demo[data-dur="150"]:after{animation-duration:1.4s}.motion-demo[data-dur="200"]:after{animation-duration:1.7s}.motion-demo[data-dur="300"]:after{animation-duration:2s}@keyframes motionLoop{0%{transform:scaleX(0);transform-origin:left}40%{transform:scaleX(1);transform-origin:left}60%{transform:scaleX(1);transform-origin:right}to{transform:scaleX(0);transform-origin:right}}.motion-card p{font-size:13px;color:var(--ink-2);line-height:1.55}.ease-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.ease-card{background:var(--bg-elevated);border:1px solid var(--line);border-radius:6px;padding:18px 20px}.ease-card code{font-size:12px;color:var(--accent)}.ease-formula{font-family:Fira Code,monospace;font-size:12px;color:var(--ink-2);margin:6px 0 12px}.ease-card p{font-size:13px;color:var(--ink-2);line-height:1.55}.cmp-row{display:flex;flex-wrap:wrap;gap:14px;align-items:center;background:var(--bg-elevated);border:1px solid var(--line);border-radius:6px;padding:20px}.cmp-cell{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.cmp-label{font-family:Fira Code,monospace;font-size:10px;color:var(--ink-3);letter-spacing:.08em}.spec-table{margin-top:16px;background:var(--bg-elevated);border:1px solid var(--line);border-radius:6px;overflow:hidden}.spec-row{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;padding:10px 16px;align-items:center;font-size:13px;border-bottom:1px solid var(--line)}.spec-row:last-child{border-bottom:none}.spec-row--head{background:var(--bg-subtle);font-family:Fira Code,monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}.spec-row code{font-size:12px;color:var(--accent)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 14px;height:36px;font-family:Space Grotesk,sans-serif;font-size:14px;font-weight:500;letter-spacing:-.005em;border-radius:4px;border:1px solid transparent;cursor:pointer;transition:background 75ms ease,border-color 75ms ease,color 75ms ease,box-shadow .15s ease;white-space:nowrap}.btn:disabled{opacity:.4;cursor:not-allowed}.btn--sm{height:28px;padding:0 10px;font-size:13px;gap:6px}.btn--lg{height:44px;padding:0 18px;font-size:15px}.btn--icon{width:36px;padding:0}.btn--sm.btn--icon{width:28px}.btn--lg.btn--icon{width:44px}.btn--primary{background:var(--accent);color:var(--accent-on)}.btn--primary:hover:not(:disabled),.btn--primary.is-hover{background:var(--accent-hover)}.btn--primary.is-focus,.btn--primary:focus-visible{outline:none;box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--accent)}.btn--secondary{background:var(--bg-elevated);color:var(--ink);border-color:var(--line-strong)}.btn--secondary:hover:not(:disabled){background:var(--bg-subtle);border-color:var(--ink-3)}.btn--secondary:focus-visible{outline:none;box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--accent)}.btn--ghost{background:transparent;color:var(--ink-2)}.btn--ghost:hover:not(:disabled){background:var(--bg-subtle);color:var(--ink)}.btn--ghost:focus-visible{outline:none;box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--accent)}.btn--danger{background:var(--danger);color:#fff}.btn--danger:hover:not(:disabled){background:color-mix(in srgb,var(--danger) 88%,#000)}.btn--danger:focus-visible{outline:none;box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--danger)}.btn-spinner{display:inline-block;width:12px;height:12px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.input-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;background:var(--bg-elevated);border:1px solid var(--line);border-radius:6px;padding:20px}.field{display:flex;flex-direction:column;gap:6px}.field-label{font-family:Fira Code,monospace;font-size:10px;letter-spacing:.12em;color:var(--ink-3);text-transform:uppercase}.input{width:100%;height:36px;padding:0 12px;background:var(--bg);border:1px solid var(--line-strong);color:var(--ink);font-family:Space Grotesk,sans-serif;font-size:14px;border-radius:4px;transition:border-color .15s,box-shadow .15s,background .15s}.input::-moz-placeholder{color:var(--ink-4)}.input::placeholder{color:var(--ink-4)}.input:hover:not(:disabled):not([readonly]){border-color:var(--ink-3)}.input:focus,.input.is-focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.input:disabled,.input[readonly]{background:var(--bg-subtle);color:var(--ink-3);cursor:not-allowed}.input.mono{font-family:Fira Code,monospace;font-size:12px}.input.is-error{border-color:var(--danger);box-shadow:0 0 0 3px var(--danger-soft)}.input--with-icon{display:flex;align-items:center;gap:0;padding:0;height:36px;border:1px solid var(--line-strong);background:var(--bg);border-radius:4px;transition:border-color .15s,box-shadow .15s}.input--with-icon:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.input--with-icon>svg{color:var(--ink-3);margin-left:12px;flex-shrink:0}.input--with-icon>input{flex:1;border:none;background:transparent;outline:none;height:100%;padding:0 12px;font-family:inherit;font-size:14px;color:var(--ink)}.input--with-icon>input::-moz-placeholder{color:var(--ink-4)}.input--with-icon>input::placeholder{color:var(--ink-4)}.textarea{height:auto;padding:10px 12px;resize:vertical;line-height:1.5}.field-help{font-size:12px;color:var(--ink-3)}.field-error{font-size:12px;color:var(--danger);display:flex;align-items:center;gap:6px}.select-wrap{position:relative;display:block}.select-wrap select{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:36px;cursor:pointer}.select-wrap>svg{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--ink-3);pointer-events:none}.radio-group,.checkbox-group,.switch-group{display:flex;flex-direction:column;gap:8px}.radio,.checkbox{display:inline-flex;align-items:center;gap:10px;font-size:13px;color:var(--ink);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.radio input,.checkbox input{position:absolute;opacity:0;pointer-events:none}.radio-mark,.checkbox-mark{width:16px;height:16px;border:1.5px solid var(--line-strong);background:var(--bg);flex-shrink:0;transition:border-color .1s,background .1s;display:inline-flex;align-items:center;justify-content:center}.radio-mark{border-radius:50%}.checkbox-mark{border-radius:3px;position:relative}.radio:hover .radio-mark,.checkbox:hover .checkbox-mark{border-color:var(--ink-3)}.radio input:checked~.radio-mark{border-color:var(--accent);background:var(--bg)}.radio input:checked~.radio-mark:after{content:"";display:block;width:8px;height:8px;border-radius:50%;background:var(--accent)}.checkbox input:checked~.checkbox-mark{background:var(--accent);border-color:var(--accent)}.checkbox input:checked~.checkbox-mark:after{content:"";position:absolute;top:1px;left:4px;width:4px;height:8px;border:solid #fff;border-width:0 1.5px 1.5px 0;transform:rotate(45deg)}.checkbox input:disabled~.checkbox-mark,.radio input:disabled~.radio-mark{opacity:.4}.checkbox--th{margin:0}.switch{display:inline-flex;align-items:center;gap:10px;cursor:pointer;font-size:13px;color:var(--ink)}.switch input{position:absolute;opacity:0;pointer-events:none}.switch-track{width:32px;height:18px;background:var(--bg-subtle);border:1px solid var(--line-strong);border-radius:99px;position:relative;display:inline-block;flex-shrink:0;vertical-align:middle;transition:background .15s,border-color .15s}.switch-thumb{position:absolute;top:50%;left:2px;width:12px;height:12px;border-radius:50%;background:var(--ink-3);transform:translateY(-50%);transition:left .2s cubic-bezier(.4,0,.2,1),background .15s}.switch input:checked~.switch-track{background:var(--accent);border-color:var(--accent)}.switch input:checked~.switch-track .switch-thumb{left:16px;background:#fff}.badge--neutral{background:var(--ink-3);color:var(--bg)}.badge--neutral-soft{background:var(--bg-subtle);color:var(--ink-2);border:1px solid var(--line)}.badge--accent{background:var(--accent);color:var(--accent-on)}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}.dot--success{background:var(--success)}.dot--info{background:var(--info)}.dot--warn{background:var(--warn)}.dot--danger{background:var(--danger)}.pulse{display:inline-block;width:8px;height:8px;border-radius:50%;background:currentColor;position:relative;flex-shrink:0;margin-right:2px}.pulse:before,.pulse:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:currentColor;opacity:.5;animation:pulseRipple 1.8s cubic-bezier(0,0,.2,1) infinite}.pulse:after{animation-delay:.9s}@keyframes pulseRipple{0%{transform:scale(1);opacity:.5}to{transform:scale(2.6);opacity:0}}.badge--accent .pulse,.badge--danger .pulse{color:#fff}.badge--warn .pulse{color:#0e1116}.badge--success .pulse,.pulse--danger{color:#fff}.status-list{background:var(--bg-elevated);border:1px solid var(--line);border-radius:6px;overflow:hidden}.status-row{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:12px;padding:10px 16px;font-size:13px;border-bottom:1px solid var(--line)}.status-row:last-child{border-bottom:none}.status-row strong{font-weight:500}.status-row code{font-family:Fira Code,monospace;font-size:11px;color:var(--ink-3);background:var(--bg-subtle);padding:2px 8px;border-radius:3px}.status-row>span:last-child{font-family:Fira Code,monospace;font-size:11px;color:var(--ink-3)}.alert{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:6px;border:1px solid;margin-bottom:12px}.alert-icon{flex-shrink:0;margin-top:1px}.alert-body{flex:1;font-size:13px;line-height:1.55}.alert-body strong{font-weight:600}.alert-body p{margin-top:4px;color:var(--ink-2)}.alert-body a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.alert-close{background:none;border:none;cursor:pointer;padding:4px;color:var(--ink-3);border-radius:3px;flex-shrink:0}.alert-close:hover{color:var(--ink);background:var(--bg-subtle)}.alert--info{background:var(--info-soft);border-color:color-mix(in srgb,var(--info) 30%,transparent);color:var(--ink)}.alert--info .alert-icon{color:var(--info)}.alert--success{background:var(--success-soft);border-color:color-mix(in srgb,var(--success) 30%,transparent);color:var(--ink)}.alert--success .alert-icon{color:var(--success)}.alert--warn{background:var(--warn-soft);border-color:color-mix(in srgb,var(--warn) 30%,transparent);color:var(--ink)}.alert--warn .alert-icon{color:var(--warn)}.alert--danger{background:var(--danger-soft);border-color:color-mix(in srgb,var(--danger) 30%,transparent);color:var(--ink)}.alert--danger .alert-icon{color:var(--danger)}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.card{background:var(--bg-elevated);border:1px solid var(--line);border-radius:6px;padding:18px;display:flex;flex-direction:column;gap:14px}.card--accent{border-left:3px solid var(--accent)}.card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.card-eyebrow{font-family:Fira Code,monospace;font-size:9px;letter-spacing:.18em;color:var(--ink-3)}.card-title{font-size:17px;font-weight:600;letter-spacing:-.02em;margin-top:4px}.card-body{font-size:13px;color:var(--ink-2);line-height:1.55}.card-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.card-stats>div{display:flex;flex-direction:column;gap:2px}.stat-k{font-family:Fira Code,monospace;font-size:9px;letter-spacing:.15em;color:var(--ink-3);text-transform:uppercase}.stat-v{font-family:Fira Code,monospace;font-size:18px;color:var(--ink);font-weight:500}.stat-v small{font-size:11px;color:var(--ink-3);margin-left:2px;font-weight:400}.card-foot{display:flex;justify-content:space-between;align-items:center;padding-top:10px;border-top:1px solid var(--line)}.small{font-size:11px}.ink-3{color:var(--ink-3)}.ink-4{color:var(--ink-4)}.table-wrap{background:var(--bg-elevated);border:1px solid var(--line);border-radius:6px;overflow:hidden}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:0 14px;height:36px;text-align:left;font-size:13px;vertical-align:middle;border-bottom:1px solid var(--line)}.table th{font-family:Fira Code,monospace;font-size:10px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);background:var(--bg-subtle)}.table td strong{font-weight:500}.table .num{text-align:right}.table tbody tr:hover{background:var(--bg-subtle)}.table tbody tr:last-child td{border-bottom:none}.demo-navbar{display:flex;align-items:center;gap:24px;padding:12px 20px;background:var(--bg-elevated);border:1px solid var(--line);border-radius:6px}.demo-navbar-brand{display:flex;align-items:center;gap:10px;color:var(--ink);font-weight:600;letter-spacing:-.02em}.demo-navbar-links{display:flex;gap:4px;flex:1;margin-left:12px}.demo-navbar-links a{padding:6px 12px;font-size:13px;color:var(--ink-2);border-radius:3px;cursor:pointer;display:inline-flex;align-items:center;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .1s,border-color .1s}.demo-navbar-links a:hover{color:var(--ink)}.demo-navbar-links a.active{color:var(--ink);border-bottom-color:var(--accent)}.demo-navbar-end{display:flex;align-items:center;gap:12px}.avatar{width:28px;height:28px;border-radius:50%;background:var(--bg-subtle);color:var(--ink);display:flex;align-items:center;justify-content:center;font-family:Fira Code,monospace;font-size:10px;font-weight:600;border:1px solid var(--line-strong)}.demo-rail{width:240px;background:var(--bg-elevated);border:1px solid var(--line);border-radius:6px;overflow:hidden}.demo-rail-head{padding:16px 18px;border-bottom:1px solid var(--line)}.demo-rail-nav{display:flex;flex-direction:column;padding:8px;gap:1px}.demo-rail-nav a{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--ink-2);border-radius:3px;border-left:2px solid transparent;margin-left:-8px;padding:8px 12px 8px 10px;transition:background .1s,color .1s,border-color .1s}.demo-rail-nav a:hover{background:var(--bg-subtle);color:var(--ink)}.demo-rail-nav a.active{background:var(--accent-soft);color:var(--ink);border-left-color:var(--accent)}.demo-rail-nav a svg{color:var(--ink-3)}.demo-rail-nav a.active svg{color:var(--accent)}.demo-tabs{background:var(--bg-elevated);border:1px solid var(--line);border-radius:6px;overflow:hidden}.demo-tabs-bar{display:flex;gap:0;border-bottom:1px solid var(--line);padding:0 20px}.demo-tabs-bar a{padding:12px 16px;font-size:13px;color:var(--ink-2);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;display:inline-flex;align-items:center;gap:8px;transition:color .1s,border-color .1s}.demo-tabs-bar a:hover{color:var(--ink)}.demo-tabs-bar a.active{color:var(--ink);border-bottom-color:var(--accent)}.demo-tabs-bar a code{background:var(--bg-subtle);padding:1px 6px;border-radius:3px;font-size:10px}.demo-tabs-content{padding:24px;font-size:13px}.voice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.voice-card{background:var(--bg-elevated);border:1px solid var(--line);border-radius:6px;padding:20px;display:flex;flex-direction:column;gap:8px}.voice-num{font-family:Fira Code,monospace;font-size:11px;color:var(--accent);letter-spacing:.15em}.voice-card h4{font-size:17px;letter-spacing:-.02em}.voice-card p{font-size:13px;color:var(--ink-2);line-height:1.55}.voice-table{background:var(--bg-elevated);border:1px solid var(--line);border-radius:6px;overflow:hidden}.voice-row{display:grid;grid-template-columns:.8fr 1.5fr 1.5fr;gap:16px;padding:14px 18px;border-bottom:1px solid var(--line);align-items:center;font-size:13px}.voice-row:last-child{border-bottom:none}.voice-row--head{background:var(--bg-subtle);font-family:Fira Code,monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}.voice-row .bad{color:var(--ink-3);position:relative;padding-left:22px;line-height:1.5}.voice-row .bad:before{content:"✕";position:absolute;left:0;top:0;color:var(--danger);font-weight:600}.voice-row .good{color:var(--ink);position:relative;padding-left:22px;line-height:1.5}.voice-row .good:before{content:"✓";position:absolute;left:0;top:0;color:var(--success);font-weight:600}.voice-row>div:first-child{font-family:Fira Code,monospace;font-size:11px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.08em}.vocab-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.vocab-card{background:var(--bg-elevated);border:1px solid var(--line);border-radius:6px;padding:20px}.vocab-card strong{font-size:14px;display:block;margin-bottom:12px}.vocab-card ul{margin:0;padding-left:0;list-style:none}.vocab-card li{font-size:13px;color:var(--ink-2);line-height:1.7;padding-left:14px;position:relative}.vocab-card li:before{content:"·";position:absolute;left:4px;top:0;color:var(--accent);font-weight:700}.vocab-card li code{font-size:12px}.dd-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.dd-tile{background:var(--bg-elevated);border:1px solid var(--line);border-radius:6px;overflow:hidden;display:flex;flex-direction:column}.dd-stage{height:140px;display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--line)}.dd-tag{font-family:Fira Code,monospace;font-size:10px;letter-spacing:.15em;text-transform:uppercase;padding:10px 16px 0}.dd-tile--ok .dd-tag{color:var(--success)}.dd-tile--no .dd-tag{color:var(--danger)}.dd-tile p{font-size:13px;color:var(--ink-2);line-height:1.5;padding:6px 16px 16px}.size-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.size-cell{background:var(--bg-elevated);border:1px solid var(--line);border-radius:6px;padding:24px 18px;display:flex;flex-direction:column;align-items:center;gap:10px;color:var(--ink)}.size-stage{width:160px;height:100px;display:flex;align-items:center;justify-content:center;background:var(--bg-subtle);border:1px solid var(--line);border-radius:4px}.size-cell code{font-family:Fira Code,monospace;font-size:12px;color:var(--accent)}.size-cell span{font-size:12px;color:var(--ink-3)}.footer{padding:36px 0 0;border-top:1px solid var(--line);margin-top:56px}.footer-inner{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:24px}@media (max-width: 1024px){.layout{grid-template-columns:1fr;gap:0}.sidebar{display:none}.hero-title{font-size:40px}.essence-grid,.anchor-grid,.sem-grid,.rules,.hero-meta,.font-grid,.radius-grid,.motion-grid,.ease-grid,.grid-specs,.icon-sizes,.icon-specs,.card-grid,.voice-grid,.vocab-grid,.dd-grid,.size-row,.input-grid{grid-template-columns:repeat(2,1fr)}.icon-grid{grid-template-columns:repeat(4,1fr)}.grid-demo{grid-template-columns:repeat(6,1fr)}.voice-row{grid-template-columns:1fr;gap:6px}}@media (max-width: 640px){.hero-title{font-size:32px}.icon-grid{grid-template-columns:repeat(3,1fr)}.essence-grid,.anchor-grid,.sem-grid,.rules,.hero-meta,.font-grid,.radius-grid,.motion-grid,.ease-grid,.grid-specs,.icon-sizes,.icon-specs,.card-grid,.voice-grid,.vocab-grid,.dd-grid,.size-row,.input-grid{grid-template-columns:1fr}.type-row{grid-template-columns:1fr;gap:8px}.demo-navbar-links{display:none}.table{font-size:12px}}.react-flow{direction:ltr}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;cursor:grab}.react-flow__pane.selection{cursor:pointer}.react-flow__pane.dragging{cursor:grabbing}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow .react-flow__edges{pointer-events:none;overflow:visible}.react-flow__edge-path,.react-flow__connection-path{stroke:#b1b1b7;stroke-width:1;fill:none}.react-flow__edge{pointer-events:visibleStroke;cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge:focus .react-flow__edge-path,.react-flow__edge:focus-visible .react-flow__edge-path{stroke:#555}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge-textbg{fill:#fff}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__connectionline{z-index:1001}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:grab}.react-flow__node.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background:#1a192b;border:1px solid white;border-radius:100%}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:-4px;transform:translate(-50%)}.react-flow__handle-top{left:50%;top:-4px;transform:translate(-50%)}.react-flow__handle-left{top:50%;left:-4px;transform:translateY(-50%)}.react-flow__handle-right{right:-4px;top:50%;transform:translateY(-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;transform:translate(-50%)}.react-flow__attribution{font-size:10px;background:#ffffff80;padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-default,.react-flow__node-input,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:3px;width:150px;font-size:12px;color:#222;text-align:center;border-width:1px;border-style:solid;border-color:#1a192b;background-color:#fff}.react-flow__node-default.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:0 0 0 .5px #1a192b}.react-flow__node-group{background-color:#f0f0f040}.react-flow__nodesselection-rect,.react-flow__selection{background:#0059dc14;border:1px dotted rgba(0,89,220,.8)}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls{box-shadow:0 0 2px 1px #00000014}.react-flow__controls-button{border:none;background:#fefefe;border-bottom:1px solid #eee;box-sizing:content-box;display:flex;justify-content:center;align-items:center;width:16px;height:16px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:5px}.react-flow__controls-button:hover{background:#f4f4f4}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__minimap{background-color:#fff}.react-flow__minimap svg{display:block}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:4px;height:4px;border:1px solid #fff;border-radius:1px;background-color:#3367d9;transform:translate(-50%,-50%)}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:#3367d9;border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Space Grotesk,system-ui,-apple-system,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:Fira Code,ui-monospace,SFMono-Regular,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.bottom-0{bottom:0}.right-0{right:0}.top-0{top:0}.z-10{z-index:10}.m-0{margin:0}.mb-0{margin-bottom:0}.mb-0\.5{margin-bottom:.125rem}.mb-1{margin-bottom:var(--space-1)}.mb-3{margin-bottom:var(--space-3)}.mb-6{margin-bottom:var(--space-6)}.ml-auto{margin-left:auto}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:var(--space-1)}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:var(--space-2)}.mt-3{margin-top:var(--space-3)}.mt-4{margin-top:var(--space-4)}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.h-full{height:100%}.max-h-\[34rem\]{max-height:34rem}.min-h-screen{min-height:100vh}.w-\[340px\]{width:340px}.w-full{width:100%}.w-px{width:1px}.min-w-0{min-width:0px}.min-w-\[200px\]{min-width:200px}.max-w-\[240px\]{max-width:240px}.max-w-md{max-width:28rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-full{--tw-translate-x: 100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.resize-y{resize:vertical}.list-none{list-style-type:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-\[1fr_1fr_auto\]{grid-template-columns:1fr 1fr auto}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(var(--space-1) * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(var(--space-1) * var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded-full{border-radius:var(--r-pill)}.rounded-lg{border-radius:var(--r-lg)}.rounded-md{border-radius:var(--r-md)}.border{border-width:1px}.border-l{border-left-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.\!border-none{border-style:none!important}.border-accent{border-color:var(--accent)}.border-info{border-color:var(--info)}.border-line{border-color:var(--line)}.border-line-strong{border-color:var(--line-strong)}.border-success{border-color:var(--success)}.border-warn{border-color:var(--warn)}.\!bg-accent{background-color:var(--accent)!important}.\!bg-ink-3{background-color:var(--ink-3)!important}.bg-accent-soft{background-color:var(--accent-soft)}.bg-bg{background-color:var(--bg)}.bg-bg-elevated{background-color:var(--bg-elevated)}.bg-bg-subtle{background-color:var(--bg-subtle)}.bg-danger-soft{background-color:var(--danger-soft)}.bg-info-soft{background-color:var(--info-soft)}.bg-success-soft{background-color:var(--success-soft)}.bg-warn-soft{background-color:var(--warn-soft)}.p-0{padding:0}.p-2{padding:var(--space-2)}.p-3{padding:var(--space-3)}.p-4{padding:var(--space-4)}.p-8{padding:var(--space-8)}.px-2{padding-left:var(--space-2);padding-right:var(--space-2)}.px-3{padding-left:var(--space-3);padding-right:var(--space-3)}.px-4{padding-left:var(--space-4);padding-right:var(--space-4)}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:var(--space-1);padding-bottom:var(--space-1)}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:var(--space-2);padding-bottom:var(--space-2)}.py-3{padding-top:var(--space-3);padding-bottom:var(--space-3)}.pb-2{padding-bottom:var(--space-2)}.pb-6{padding-bottom:var(--space-6)}.pl-4{padding-left:var(--space-4)}.pt-1{padding-top:var(--space-1)}.pt-2{padding-top:var(--space-2)}.pt-3{padding-top:var(--space-3)}.text-center{text-align:center}.font-mono{font-family:Fira Code,ui-monospace,SFMono-Regular,monospace}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[20px\]{font-size:20px}.text-base{font-size:1rem;line-height:1.5rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.leading-none{line-height:1}.tracking-\[0\.18em\]{letter-spacing:.18em}.tracking-tight{letter-spacing:-.025em}.tracking-wider{letter-spacing:.05em}.text-accent{color:var(--accent)}.text-danger{color:var(--danger)}.text-info{color:var(--info)}.text-ink{color:var(--ink)}.text-ink-2{color:var(--ink-2)}.text-ink-3{color:var(--ink-3)}.text-success{color:var(--success)}.text-warn{color:var(--warn)}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.shadow-1{--tw-shadow: var(--shadow-1);--tw-shadow-colored: var(--shadow-1);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-2{--tw-shadow: var(--shadow-2);--tw-shadow-colored: var(--shadow-2);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-2{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.react-flow{--rf-background-color: var(--bg);--rf-background-pattern-color: var(--line);--rf-edge-stroke: var(--ink-3);--rf-edge-stroke-width: 1.5;--rf-edge-stroke-selected: var(--accent);--rf-connectionline-stroke: var(--ink-3);--rf-connectionline-stroke-width: 1.5;--rf-attribution-background-color: transparent;--rf-handle-background-color: var(--ink-3);--rf-handle-border-color: var(--bg-elevated);--rf-minimap-background-color: var(--bg-elevated);--rf-controls-button-background-color: var(--bg-elevated);--rf-controls-button-background-color-hover: var(--bg-subtle);--rf-controls-button-color: var(--ink);--rf-controls-button-color-hover: var(--accent);--rf-controls-button-border-color: var(--line);--rf-node-background-color: var(--bg-elevated);--rf-node-border: 1px solid var(--line);--rf-node-color: var(--ink)}.react-flow__edge-path,.react-flow__connection-path{stroke:var(--ink-3)}.react-flow__edges{z-index:1}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge:focus .react-flow__edge-path{stroke:var(--accent)}.react-flow__edge-text{fill:var(--ink-2);font-family:var(--font-mono);font-size:10px}.react-flow__edge-textbg{fill:var(--bg-elevated);stroke:var(--line)}.react-flow__arrowhead{fill:var(--ink-3)}.react-flow__controls{box-shadow:var(--shadow-2);border-radius:var(--r-md);overflow:hidden}.react-flow__controls-button{background:var(--bg-elevated);border-bottom:1px solid var(--line);color:var(--ink)}.react-flow__controls-button:hover{background:var(--bg-subtle);color:var(--accent)}.react-flow__controls-button svg{fill:currentColor}.react-flow__minimap{background-color:var(--bg-elevated);border:1px solid var(--line);border-radius:var(--r-md)}.react-flow__background{background-color:var(--bg)}.react-flow__attribution{background:transparent;color:var(--ink-4);font-size:10px}@media (min-width: 1024px){.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}
