:root{color-scheme:dark;--bg: #0a0c11;--glow-a: rgba(106, 162, 255, .16);--glow-b: rgba(168, 120, 255, .13);--glow-c: rgba(69, 211, 154, .07);--surface: #14181f;--surface-2: #1a1f28;--surface-3: #222834;--sunken: #0d1015;--edge: rgba(255, 255, 255, .06);--edge-strong: rgba(255, 255, 255, .13);--face: #06080b;--border: #29303d;--border-soft: rgba(255, 255, 255, .07);--text: #e9edf5;--muted: #97a2b7;--faint: #6a748a;--accent: #6aa2ff;--accent-2: #a878ff;--ok: #45d39a;--warn: #f0b545;--bad: #ff6b6b;--sh-1: 0 1px 2px rgba(0, 0, 0, .45);--sh-2: 0 6px 16px -6px rgba(0, 0, 0, .6);--sh-3: 0 22px 48px -18px rgba(0, 0, 0, .85);--radius: 14px;--radius-sm: 9px;--ease: cubic-bezier(.22, 1, .36, 1)}@media (prefers-color-scheme: light){:root{color-scheme:light;--bg: #eef1f6;--glow-a: rgba(37, 99, 235, .11);--glow-b: rgba(139, 92, 246, .09);--glow-c: rgba(16, 134, 79, .06);--surface: #ffffff;--surface-2: #fafbfd;--surface-3: #f1f4f9;--sunken: #e9edf3;--edge: rgba(255, 255, 255, .9);--edge-strong: #ffffff;--face: #c6cddb;--border: #d8dee9;--border-soft: rgba(15, 23, 42, .07);--text: #141a24;--muted: #56617a;--faint: #808b9f;--accent: #2563eb;--accent-2: #7c3aed;--ok: #0f8d55;--warn: #b4740a;--bad: #d13b3b;--sh-1: 0 1px 2px rgba(15, 23, 42, .07);--sh-2: 0 6px 16px -6px rgba(15, 23, 42, .16);--sh-3: 0 22px 48px -18px rgba(15, 23, 42, .26)}}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--bg);background-image:radial-gradient(900px 520px at 12% -8%,var(--glow-a),transparent 62%),radial-gradient(760px 480px at 92% 4%,var(--glow-b),transparent 60%),radial-gradient(700px 600px at 50% 110%,var(--glow-c),transparent 65%);background-attachment:fixed;color:var(--text);font:15px/1.6 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased}.app{max-width:1060px;margin:0 auto;padding:34px 22px 72px}.top{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;flex-wrap:wrap}.brand{display:flex;align-items:center;gap:13px}.mark{width:42px;height:42px;flex:none;border-radius:12px;padding:7px;overflow:visible;background:linear-gradient(150deg,var(--accent),var(--accent-2));box-shadow:inset 0 1px #fff6,inset 0 -2px 4px #00000040,0 3px 0 -1px color-mix(in srgb,var(--accent-2) 55%,#000),0 12px 24px -10px var(--accent)}h1{margin:0;font-size:27px;letter-spacing:-.022em;font-weight:650}h3{margin:0;font-size:15.5px;letter-spacing:-.008em}h4{margin:16px 0 0;font-size:15px}p{margin:4px 0}a{color:var(--accent)}.muted{color:var(--muted)}.faint{color:var(--faint)}.small{font-size:13px}.tiny{font-size:11.5px}code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;background:var(--sunken);border:1px solid var(--border-soft);padding:1px 6px;border-radius:6px;color:var(--muted)}.stats{display:flex;gap:10px;flex-wrap:wrap}.stat{min-width:96px;padding:9px 14px;border-radius:var(--radius-sm);background:linear-gradient(180deg,var(--surface-2),var(--surface));border:1px solid var(--border);box-shadow:inset 0 1px 0 var(--edge),var(--sh-1)}.stat b{display:block;font-size:19px;line-height:1.25;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.stat span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--faint)}.stat.live b{color:var(--ok)}.pills{display:flex;gap:8px;flex-wrap:wrap}.pill{font-size:12.5px;color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 45%,transparent);background:color-mix(in srgb,var(--accent) 10%,transparent);border-radius:999px;padding:3px 12px;white-space:nowrap}.pill.ok{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 45%,transparent);background:color-mix(in srgb,var(--ok) 10%,transparent)}.lede{margin:22px 0;padding:15px 17px 15px 19px;position:relative;background:linear-gradient(180deg,var(--surface-2),var(--surface));border:1px solid var(--border);border-radius:var(--radius);box-shadow:inset 0 1px 0 var(--edge),var(--sh-1);color:var(--muted);font-size:14px;overflow:hidden}.lede:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:linear-gradient(180deg,var(--accent),var(--accent-2))}.tabs{display:flex;gap:4px;margin-bottom:18px;padding:4px;border-radius:12px;background:var(--sunken);border:1px solid var(--border-soft);box-shadow:inset 0 2px 5px #0000004d;flex-wrap:wrap}.tabs button{background:transparent;border:1px solid transparent;color:var(--muted);padding:7px 15px;border-radius:9px;cursor:pointer;font:inherit;font-size:14px;transition:color .16s,background .16s,box-shadow .16s,transform .16s var(--ease)}.tabs button:hover{color:var(--text)}.tabs button.active{background:linear-gradient(180deg,var(--surface-3),var(--surface));border-color:var(--border);color:var(--text);box-shadow:inset 0 1px 0 var(--edge-strong),0 2px 0 -1px var(--face),var(--sh-1);transform:translateY(-1px)}.tabs .count{display:inline-block;margin-left:7px;padding:0 6px;border-radius:999px;font-size:11.5px;font-variant-numeric:tabular-nums;background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent)}main{display:flex;flex-direction:column;gap:14px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:14px}.editable{display:flex;align-items:baseline;gap:6px}.rename{background:none;border:none;padding:0 2px;color:var(--faint);font-size:13px;line-height:1;cursor:pointer;opacity:0;transition:opacity .16s,color .16s}.card:hover .rename,.rename:focus-visible{opacity:1}.rename:hover{color:var(--accent)}.rename-field input{width:100%;min-width:220px;padding:4px 9px;font:inherit;font-size:15.5px;font-weight:650;letter-spacing:-.008em;color:var(--text);background:var(--sunken);border:1px solid color-mix(in srgb,var(--accent) 55%,var(--border));border-radius:8px;outline:none}.rename-field .error{margin:4px 0 0}.card-actions{display:flex;align-items:center;gap:10px;flex:none}.stack{display:flex;flex-direction:column;gap:14px}.card-fold{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;padding:0;background:none;border:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.card-fold .caret{color:var(--faint);transition:transform .22s var(--ease)}.card-fold .caret[data-open=true]{transform:rotate(90deg)}.card-fold h3{margin-bottom:2px}.card{position:relative;background:linear-gradient(180deg,var(--surface-2),var(--surface));border:1px solid var(--border);border-radius:var(--radius);padding:17px 19px;box-shadow:inset 0 1px 0 var(--edge),var(--sh-2)}.card.lift{transition:transform .22s var(--ease),box-shadow .22s var(--ease),border-color .22s}.card.lift:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--accent) 34%,var(--border));box-shadow:inset 0 1px 0 var(--edge-strong),0 3px 0 -1px var(--face),var(--sh-3)}.card header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.card-title{display:flex;align-items:flex-start;gap:12px;min-width:0}.muted-card{border-style:dashed;box-shadow:none;background:color-mix(in srgb,var(--surface) 60%,transparent)}.tile{width:36px;height:36px;flex:none;border-radius:10px;display:grid;place-items:center;font-size:15px;font-weight:700;color:#fff;background:linear-gradient(150deg,var(--accent),var(--accent-2));box-shadow:inset 0 1px #ffffff59,0 2px 0 -1px color-mix(in srgb,var(--accent-2) 60%,#000),0 8px 18px -8px var(--accent)}.tile.ok{background:linear-gradient(150deg,var(--ok),#2aa87a);box-shadow:inset 0 1px #ffffff59,0 2px 0 -1px #14603f,0 8px 18px -8px var(--ok)}.tile.warn{background:linear-gradient(150deg,var(--warn),#cf8a1a);box-shadow:inset 0 1px #ffffff59,0 2px 0 -1px #7a4d05,0 8px 18px -8px var(--warn)}.tile.bad{background:linear-gradient(150deg,var(--bad),#d13b3b);box-shadow:inset 0 1px #ffffff59,0 2px 0 -1px #7d1f1f,0 8px 18px -8px var(--bad)}.tile.self{background:linear-gradient(150deg,var(--surface-3),var(--sunken));color:var(--muted);border:1px solid var(--border);box-shadow:inset 0 1px 0 var(--edge),0 2px 0 -1px var(--face),var(--sh-1)}button{font:inherit}button.primary{background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 88%,#fff),var(--accent));border:1px solid color-mix(in srgb,var(--accent) 70%,#000);color:#fff;font-weight:600;border-radius:9px;padding:7px 16px;cursor:pointer;white-space:nowrap;box-shadow:inset 0 1px #ffffff59,0 2px 0 -1px color-mix(in srgb,var(--accent) 55%,#000),0 8px 18px -10px var(--accent);transition:transform .14s var(--ease),box-shadow .14s,filter .14s}button.primary:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.06);box-shadow:inset 0 1px #fff6,0 3px 0 -1px color-mix(in srgb,var(--accent) 55%,#000),0 12px 22px -10px var(--accent)}button.primary:active:not(:disabled){transform:translateY(1px);box-shadow:inset 0 2px 4px #0000004d}button.primary:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}button.ghost{background:linear-gradient(180deg,var(--surface-3),var(--surface));border:1px solid var(--border);color:var(--text);border-radius:9px;padding:6px 13px;cursor:pointer;font-size:13.5px;box-shadow:inset 0 1px 0 var(--edge),var(--sh-1);transition:transform .14s var(--ease),border-color .14s}button.ghost:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 45%,var(--border))}button.link{background:none;border:none;color:var(--accent);padding:0;cursor:pointer;font-size:13.5px}.row{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.meta{display:flex;gap:7px;flex-wrap:wrap;align-items:center;margin-top:12px}.chip{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--muted);background:var(--sunken);border:1px solid var(--border-soft);border-radius:999px;padding:2px 10px;white-space:nowrap}.chip b{color:var(--text);font-weight:600;font-variant-numeric:tabular-nums}.chip.accent{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 35%,transparent)}.tag{font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;border:1px solid var(--border);border-radius:999px;padding:1px 8px;color:var(--faint)}.tag.write{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 45%,transparent);background:color-mix(in srgb,var(--warn) 10%,transparent)}.badge{font-size:11px;text-transform:uppercase;letter-spacing:.05em;border-radius:6px;padding:1px 7px;background:var(--sunken);border:1px solid var(--border-soft);color:var(--muted)}.badge.tool{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 40%,transparent)}.badge.reason{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 40%,transparent)}.dot{font-weight:700;width:14px;display:inline-block}.dot.ok{color:var(--ok)}.dot.warn{color:var(--warn)}.dot.bad{color:var(--bad)}.led{width:8px;height:8px;flex:none;border-radius:50%;background:currentColor;box-shadow:0 0 0 3px color-mix(in srgb,currentColor 16%,transparent),0 0 9px color-mix(in srgb,currentColor 85%,transparent)}.led.ok{color:var(--ok)}.led.warn{color:var(--warn)}.led.bad{color:var(--bad)}.status-line{display:flex;align-items:center;gap:8px;margin-top:5px;font-size:13px;color:var(--muted)}.rail{display:flex;gap:3px;margin-top:13px}.rail i{height:5px;flex:1;border-radius:3px;background:var(--border);box-shadow:inset 0 1px 0 var(--edge)}.rail i.tool{background:linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--accent) 65%,var(--accent-2)))}.rail i.transform{background:color-mix(in srgb,var(--accent) 30%,var(--border))}.rail i.reason{background:var(--warn)}.rail i.missing{background:var(--bad)}.disclose{margin-top:13px;display:flex;align-items:center;gap:6px}.disclose .caret{display:inline-block;transition:transform .2s var(--ease)}.disclose[data-open=true] .caret{transform:rotate(90deg)}.run-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.timeline{list-style:none;margin:14px 0 0;padding:0 0 0 24px;position:relative;display:flex;flex-direction:column;gap:11px}.timeline:before{content:"";position:absolute;left:6px;top:8px;bottom:8px;width:2px;border-radius:2px;background:linear-gradient(180deg,var(--accent),color-mix(in srgb,var(--accent) 20%,transparent))}.timeline li{position:relative;font-size:14px}.timeline li:before{content:"";position:absolute;left:-22px;top:7px;width:10px;height:10px;border-radius:50%;background:var(--surface-3);border:2px solid var(--muted);box-shadow:0 0 0 3px var(--bg)}.timeline li.ok:before{border-color:var(--ok);background:color-mix(in srgb,var(--ok) 35%,var(--surface));box-shadow:0 0 0 3px var(--bg),0 0 10px color-mix(in srgb,var(--ok) 60%,transparent)}.timeline li.warn:before{border-color:var(--warn);background:color-mix(in srgb,var(--warn) 35%,var(--surface));box-shadow:0 0 0 3px var(--bg),0 0 10px color-mix(in srgb,var(--warn) 60%,transparent)}.timeline li.bad:before{border-color:var(--bad);background:color-mix(in srgb,var(--bad) 35%,var(--surface));box-shadow:0 0 0 3px var(--bg),0 0 10px color-mix(in srgb,var(--bad) 60%,transparent)}.timeline li p{margin:2px 0 0;overflow-wrap:anywhere}.steps{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.steps li{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;font-size:14px}.steps li p{flex-basis:100%;margin:0 0 0 24px;overflow-wrap:anywhere}.final{margin-top:14px;padding:11px 13px;border-radius:var(--radius-sm);background:var(--sunken);border:1px solid var(--border-soft);box-shadow:inset 0 2px 5px #00000038;font-size:14px;overflow-wrap:anywhere}.capabilities{list-style:none;margin:14px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:9px}.cap{padding:10px 12px;border-radius:var(--radius-sm);background:linear-gradient(180deg,var(--surface-3),var(--surface));border:1px solid var(--border);box-shadow:inset 0 1px 0 var(--edge),var(--sh-1);transition:transform .18s var(--ease),border-color .18s,box-shadow .18s}.cap:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 40%,var(--border));box-shadow:inset 0 1px 0 var(--edge-strong),0 2px 0 -1px var(--face),var(--sh-2)}.cap.write{border-left:2px solid color-mix(in srgb,var(--warn) 60%,transparent)}.cap-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.cap-head strong{font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cap code{display:inline-block;margin-top:5px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}.cap p{margin:5px 0 0;font-size:12.5px;color:var(--muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.cap p.clampable{cursor:pointer}.cap p.clampable:hover,.cap p.clampable:focus-visible{color:var(--text)}.cap p.open{display:block}textarea{width:100%;background:var(--sunken);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px;font:inherit;resize:vertical;box-shadow:inset 0 2px 5px #00000040;transition:border-color .16s,box-shadow .16s}textarea:focus{outline:none;border-color:color-mix(in srgb,var(--accent) 60%,var(--border));box-shadow:inset 0 2px 5px #00000040,0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.error{color:var(--bad);font-size:14px}.warn{color:var(--warn);font-size:14px}.approval{display:flex;gap:10px;align-items:flex-start;margin-top:14px;padding:10px 12px;background:color-mix(in srgb,var(--warn) 8%,var(--surface));border:1px solid color-mix(in srgb,var(--warn) 45%,transparent);border-radius:var(--radius-sm);font-size:14px}footer{margin-top:34px;padding-top:16px;border-top:1px solid var(--border-soft)}.card-delete{width:26px;height:26px;flex:none;display:grid;place-items:center;border-radius:6px;border:1px solid transparent;background:none;color:var(--faint);font-size:12px;line-height:1;cursor:pointer;opacity:0;transition:opacity .16s,color .16s,background .16s,border-color .16s}.card:hover .card-delete,.card-delete:focus-visible{opacity:1}.card-delete:hover{color:var(--bad);background:color-mix(in srgb,var(--bad) 12%,transparent);border-color:color-mix(in srgb,var(--bad) 40%,transparent)}.card.fresh{animation:arrive 3s ease-out}@keyframes arrive{0%{border-color:var(--accent);box-shadow:inset 0 1px 0 var(--edge-strong),0 0 0 4px color-mix(in srgb,var(--accent) 22%,transparent);transform:translateY(-3px)}22%{border-color:var(--accent);box-shadow:inset 0 1px 0 var(--edge-strong),0 0 0 3px color-mix(in srgb,var(--accent) 16%,transparent);transform:none}to{box-shadow:inset 0 1px 0 var(--edge),var(--sh-2)}}.fallback{margin-top:6px;padding-top:14px;border-top:1px dashed var(--border);display:flex;flex-direction:column;gap:12px}.fallback>.disclose{color:var(--faint);align-self:flex-start}.fallback>.disclose:hover{color:var(--accent)}.empty{padding:34px 20px;text-align:center;color:var(--muted);border:1px dashed var(--border);border-radius:var(--radius)}.empty .glyph{display:block;font-size:26px;margin-bottom:8px;opacity:.6}.compose .chat{display:flex;flex-direction:column;gap:16px;margin-top:16px;max-height:62vh;overflow-y:auto;padding:2px 6px 2px 2px;scrollbar-width:thin}.compose .turn{display:flex;flex-direction:column;gap:9px}.bubble{padding:11px 14px;border-radius:13px;font-size:14px;overflow-wrap:anywhere}.bubble.user{align-self:flex-end;max-width:86%;color:#fff;background:linear-gradient(160deg,var(--accent),color-mix(in srgb,var(--accent) 62%,var(--accent-2)));border-bottom-right-radius:4px;box-shadow:inset 0 1px #ffffff47,0 2px 0 -1px color-mix(in srgb,var(--accent) 55%,#000),0 10px 22px -12px var(--accent)}.bubble.agent{background:linear-gradient(180deg,var(--surface-2),var(--surface));border:1px solid var(--border);border-bottom-left-radius:4px;box-shadow:inset 0 1px 0 var(--edge),var(--sh-1)}.bubble.agent.bad{border-color:color-mix(in srgb,var(--bad) 50%,var(--border))}.bubble.agent.thinking{color:var(--muted);font-style:italic}.bubble.agent.thinking:after{content:"";animation:dots 1.4s steps(4,end) infinite}@keyframes dots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}}.hint{margin-top:8px}.confirm{margin-top:13px;padding:11px 13px;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--warn) 8%,transparent);border:1px solid color-mix(in srgb,var(--warn) 38%,transparent)}.composer{display:flex;gap:9px;align-items:flex-end;margin-top:14px;padding-top:14px;border-top:1px solid var(--border-soft)}.composer textarea{flex:1}.plan-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.save-icon{background:none;border:none;color:var(--faint);font-size:18px;line-height:1;padding:2px 4px;cursor:pointer;border-radius:6px;transition:color .15s,transform .15s var(--ease)}.save-icon:hover:not(:disabled){color:var(--accent);transform:scale(1.18)}.save-icon.saved{color:var(--warn);cursor:default;text-shadow:0 0 10px color-mix(in srgb,var(--warn) 60%,transparent)}.running{margin-top:10px}.running:after{content:"";animation:dots 1.4s steps(4,end) infinite}.diagram-wrap{margin-top:15px}.canvas{position:relative;padding:24px 26px;border-radius:20px;background:radial-gradient(120% 90% at 50% 0%,color-mix(in srgb,var(--accent) 6%,transparent),transparent 70%),var(--sunken);overflow-x:auto;scrollbar-width:thin;-webkit-mask-image:linear-gradient(90deg,transparent,#000 24px,#000 calc(100% - 24px),transparent);mask-image:linear-gradient(90deg,transparent,#000 24px,#000 calc(100% - 24px),transparent)}.graph{display:flex;align-items:center;width:max-content;min-width:100%}.slot{display:flex;align-items:center}.wire{position:relative;width:46px;height:2px;flex:none;border-radius:2px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--accent) 40%,var(--border)) 35%,color-mix(in srgb,var(--accent) 40%,var(--border)) 65%,transparent)}.wire:after{content:"";position:absolute;right:9px;top:50%;width:6px;height:6px;margin-top:-3px;border-top:1.5px solid color-mix(in srgb,var(--accent) 55%,var(--border));border-right:1.5px solid color-mix(in srgb,var(--accent) 55%,var(--border));border-radius:1px;transform:rotate(45deg)}.wire.live:before{content:"";position:absolute;top:50%;width:6px;height:6px;margin-top:-3px;border-radius:50%;background:var(--accent);box-shadow:0 0 10px var(--accent);animation:travel 1.5s ease-in-out infinite}@keyframes travel{0%{left:0;opacity:0}30%{opacity:1}to{left:100%;opacity:0}}.gnode{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;width:132px;min-height:92px;padding:14px;border:1px solid color-mix(in srgb,var(--border) 70%,transparent);background:linear-gradient(168deg,var(--surface-3),var(--surface));cursor:pointer;text-align:center;font:inherit;color:inherit;outline:none;box-shadow:inset 0 1px 0 var(--edge),0 2px 6px -2px #00000047,0 12px 26px -14px #0009;transition:transform .32s var(--ease),box-shadow .32s var(--ease),border-color .32s var(--ease)}.gnode.read{border-radius:22px}.gnode.write{border-radius:10px;border-color:color-mix(in srgb,var(--warn) 42%,transparent)}.gnode.local{border-radius:999px;width:142px;min-height:86px}.gnode.gate{clip-path:polygon(13% 0,87% 0,100% 50%,87% 100%,13% 100%,0 50%);width:152px;padding:14px 24px;border:none;background:linear-gradient(168deg,color-mix(in srgb,var(--accent-2) 16%,var(--surface-3)),var(--surface));box-shadow:none;filter:drop-shadow(0 6px 14px rgba(0,0,0,.4))}.gnode.missing{border-radius:22px;border-style:dashed;border-color:color-mix(in srgb,var(--bad) 50%,transparent)}.gnode.result{clip-path:polygon(0 0,90% 0,100% 50%,90% 100%,0 100%);width:146px;padding-right:26px;cursor:default;border:none;background:linear-gradient(168deg,color-mix(in srgb,var(--ok) 14%,var(--surface-3)),var(--surface));box-shadow:none;filter:drop-shadow(0 6px 14px rgba(0,0,0,.35))}.gnode:hover,.gnode:focus-visible,.gnode.active{transform:translateY(-2px) scale(1.025);border-color:color-mix(in srgb,var(--accent) 55%,transparent);box-shadow:inset 0 1px 0 var(--edge-strong),0 4px 10px -3px #0000004d,0 20px 40px -18px #000000b3,0 0 30px -12px var(--accent)}.gnode.write:hover,.gnode.write.active{border-color:color-mix(in srgb,var(--warn) 65%,transparent);box-shadow:inset 0 1px 0 var(--edge-strong),0 4px 10px -3px #0000004d,0 20px 40px -18px #000000b3,0 0 30px -12px var(--warn)}.gnode.gate:hover,.gnode.gate.active,.gnode.result:hover{box-shadow:none;filter:drop-shadow(0 10px 20px rgba(0,0,0,.45))}.gnode-glyph{font-size:18px;line-height:1;opacity:.9;color:var(--faint)}.gnode.read .gnode-glyph{color:var(--accent)}.gnode.write .gnode-glyph{color:var(--warn)}.gnode.gate .gnode-glyph{color:var(--accent-2)}.gnode.missing .gnode-glyph{color:var(--bad)}.gnode.result .gnode-glyph{color:var(--ok)}.gnode-name{font-size:13px;line-height:1.35;max-width:100%;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.gnode-site{font-size:9.5px;font-weight:650;text-transform:uppercase;letter-spacing:.08em;color:var(--faint);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gnode.read .gnode-site{color:color-mix(in srgb,var(--accent) 75%,var(--muted))}.gnode.write .gnode-site{color:color-mix(in srgb,var(--warn) 85%,var(--muted))}.gnode-index,.gnode-state{position:absolute;top:-9px;width:21px;height:21px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:700;font-variant-numeric:tabular-nums;z-index:2}.gnode-index{left:-9px;color:var(--muted);background:linear-gradient(180deg,var(--surface-3),var(--surface));border:1px solid color-mix(in srgb,var(--border) 70%,transparent);box-shadow:0 3px 8px -2px #00000073}.gnode-state{right:-9px;color:#fff}.gnode-state.ok{background:var(--ok);box-shadow:0 0 14px -3px var(--ok)}.gnode-state.error{background:var(--bad);box-shadow:0 0 14px -3px var(--bad)}.gnode-state.skipped{background:var(--faint)}.gnode.ok{border-color:color-mix(in srgb,var(--ok) 40%,transparent)}.gnode.error{border-color:color-mix(in srgb,var(--bad) 55%,transparent)}.gnode.skipped{opacity:.5}.gnode.running{border-color:color-mix(in srgb,var(--accent) 55%,transparent);animation:breathe 2.2s ease-in-out infinite}@keyframes breathe{0%,to{box-shadow:inset 0 1px 0 var(--edge),0 12px 26px -14px #0009}50%{box-shadow:inset 0 1px 0 var(--edge),0 12px 26px -14px #0009,0 0 32px -8px var(--accent)}}.legend{display:flex;gap:16px;flex-wrap:wrap;margin-top:11px;padding-left:4px;font-size:11.5px;color:var(--faint)}.legend-item{display:inline-flex;align-items:center;gap:7px}.swatch{width:14px;height:14px;flex:none;display:inline-block;border:1.5px solid var(--border);background:var(--surface-3)}.swatch.read{border-radius:7px;border-color:color-mix(in srgb,var(--accent) 60%,transparent)}.swatch.write{border-radius:3px;border-color:color-mix(in srgb,var(--warn) 65%,transparent)}.swatch.local{border-radius:999px;width:19px}.swatch.gate{clip-path:polygon(13% 0,87% 0,100% 50%,87% 100%,13% 100%,0 50%);border-color:color-mix(in srgb,var(--accent-2) 60%,transparent);width:19px}.swatch.missing{border-radius:7px;border-style:dashed;border-color:color-mix(in srgb,var(--bad) 60%,transparent)}.diagram-detail{margin-top:12px;padding:14px 16px;min-height:76px;background:linear-gradient(180deg,var(--surface-2),var(--surface));border:1px solid color-mix(in srgb,var(--border) 70%,transparent);border-radius:16px;box-shadow:inset 0 1px 0 var(--edge),0 8px 20px -14px #00000080}.detail-head{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:8px}.detail-head strong{font-size:14.5px}.detail-rows{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;font-size:13px}.detail-rows dt{color:var(--faint);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;white-space:nowrap}.detail-rows dd{margin:0;color:var(--muted);overflow-wrap:anywhere}.detail-note{margin:0 0 6px;font-size:13px;color:var(--muted);overflow-wrap:anywhere}.detail-result{margin-top:9px;padding:8px 10px;border-radius:7px;font-size:13px;overflow-wrap:anywhere}.detail-result.ok{background:color-mix(in srgb,var(--ok) 10%,transparent);border:1px solid color-mix(in srgb,var(--ok) 32%,transparent);color:color-mix(in srgb,var(--ok) 85%,var(--text))}.detail-result.bad{background:color-mix(in srgb,var(--bad) 10%,transparent);border:1px solid color-mix(in srgb,var(--bad) 32%,transparent);color:color-mix(in srgb,var(--bad) 85%,var(--text))}.detail-empty{display:flex;align-items:center;gap:8px;color:var(--faint);font-size:13px}@media (prefers-reduced-motion: reduce){*{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.node:hover,.node.active{transform:none}}@media (max-width: 620px){.app{padding:22px 14px 56px}.grid,.capabilities{grid-template-columns:1fr}}.ideas{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.idea{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 11px;border-radius:var(--radius-sm);background:var(--sunken);border:1px solid var(--border-soft);flex-wrap:wrap}.idea-flow{display:flex;align-items:center;gap:9px;flex-wrap:wrap;min-width:0}.idea-node{display:flex;flex-direction:column;padding:5px 11px;border:1px solid var(--border);background:linear-gradient(180deg,var(--surface-3),var(--surface));box-shadow:inset 0 1px 0 var(--edge),var(--sh-1)}.idea-node.read{border-radius:12px;border-color:color-mix(in srgb,var(--accent) 40%,var(--border))}.idea-node.write{border-radius:3px;border-width:2px;border-color:color-mix(in srgb,var(--warn) 55%,var(--border))}.idea-node b{font-size:13px;font-weight:600}.idea-node span{font-size:9.5px;font-weight:650;text-transform:uppercase;letter-spacing:.07em;color:var(--faint)}.idea-node.write span{color:var(--warn)}.idea-arrow{color:var(--faint);font-size:15px}
