html,body{height:100%;margin:0;background:#0d1117}#app{height:100vh}.gg-root{display:contents;--bg: #090909;--bg-1: #0e0e0e;--bg-2: #141414;--bg-3: #1f1f1f;--panel: #0e0e0e;--border: #1f1f1f;--border-2: #2d2d2d;--input: #777777;--text: #e3e3e3;--text-dim: #a8a8a8;--text-faint: #6e6e6e;--accent: #7b5dcd;--accent-2: #7052be;--accent-active: #5b3da2;--accent-fg: #e3e1ed;--secondary-hover: #252525;--secondary-active: #2d2d2d;--ring: #876adb;--good: #4beb8f;--warn: #d95d00;--danger: #ff6578;--info: #006bea;--radius: .5rem;--shadow: 0 0 0 1px #23292f, 0 8px 16px -4px #01040966, 0 24px 48px -12px #01040966;--shadow-focus: 0 0 0 2px var(--ring);color:var(--text);font-family:Geist,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:13px;font-synthesis:none;-webkit-font-smoothing:antialiased}.gg-root *,.gg-root *:before,.gg-root *:after{box-sizing:border-box}.gg-workbench{height:100%;display:flex;flex-direction:column;background:var(--bg);color:var(--text)}.gg-root button{font:inherit;color:var(--text);background:var(--bg-3);border:1px solid var(--border-2);border-radius:calc(var(--radius) - 2px);padding:6px 12px;cursor:pointer;transition:background .12s,border-color .12s,transform .05s}.gg-root button:has(svg){display:inline-flex;align-items:center;justify-content:center;gap:6px}.gg-root button svg{flex:none}.gg-root button:hover{background:var(--secondary-hover);border-color:var(--border-2)}.gg-root button:active{transform:translateY(1px)}.gg-root button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-fg);font-weight:600}.gg-root button.primary:hover{background:var(--accent-2);border-color:var(--accent-2)}.gg-root button.ghost{background:transparent}.gg-root button.small{padding:4px 9px;font-size:12px}.gg-root button.danger{background:color-mix(in oklch,var(--danger) 22%,var(--bg));border-color:color-mix(in oklch,var(--danger) 42%,var(--bg));color:color-mix(in oklch,var(--danger) 55%,#fff)}.gg-root button.danger:hover{background:color-mix(in oklch,var(--danger) 32%,var(--bg))}.gg-root button.active{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}.gg-root button.icon-btn{padding:2px 6px;font-size:12px;line-height:1;background:transparent;border-color:transparent;color:var(--text-dim)}.gg-root button.icon-btn:hover{background:var(--bg-3);color:var(--text)}.gg-root input,.gg-root select,.gg-root textarea{font:inherit;color:var(--text);background:var(--bg-1);border:1px solid var(--input);border-radius:calc(var(--radius) - 2px);padding:5px 8px;width:100%}.gg-root input[type=checkbox]{width:auto;accent-color:var(--accent)}.gg-root input[type=range]{padding:0;accent-color:var(--accent)}.gg-root button:focus-visible,.gg-root input:focus-visible,.gg-root select:focus-visible,.gg-root textarea:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.gg-root input:focus,.gg-root select:focus,.gg-root textarea:focus{outline:none;border-color:var(--input)}.gg-root textarea{resize:vertical;font-family:Geist Mono,ui-monospace,SF Mono,Menlo,monospace;font-size:12px}.gg-root .app-header{display:flex;align-items:center;gap:16px;padding:10px 16px;border-bottom:1px solid var(--border);background:var(--panel)}.gg-root .brand{display:flex;align-items:center;gap:9px;font-weight:650;font-size:15px}.gg-root .brand .logo{color:var(--accent);font-size:20px}.gg-root .grammar-name{max-width:320px;background:var(--bg-2);font-weight:600}.gg-root .header-right{margin-left:auto}.gg-root .muted{color:var(--text-faint)}.gg-root .view-switch{display:flex;gap:6px}.gg-root .header-tools{display:flex;align-items:center;gap:10px}.gg-root .history-controls{display:flex;gap:2px}.gg-root .hc-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:28px;padding:0;background:transparent;color:var(--text-dim);border:1px solid var(--border-2);border-radius:7px;cursor:pointer}.gg-root .history-controls .hc-btn:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.gg-root .history-controls .hc-btn:last-child{border-top-left-radius:0;border-bottom-left-radius:0;margin-left:-1px}.gg-root .hc-btn:hover:not(:disabled){background:var(--bg-3);color:var(--text)}.gg-root .hc-btn:disabled{opacity:.4;cursor:default}.gg-root .menu-bar{display:flex;align-items:center;gap:2px}.gg-root .menu{position:relative}.gg-root .menu-btn{background:transparent;border-color:transparent;color:var(--text-dim);padding:5px 10px}.gg-root .menu-btn:hover{color:var(--text);background:var(--bg-2)}.gg-root .menu-btn.open{color:var(--text);background:var(--bg-3);border-color:var(--border-2)}.gg-root .menu-dropdown{position:absolute;top:calc(100% + 4px);left:0;z-index:50;min-width:210px;max-height:70vh;overflow-y:auto;display:flex;flex-direction:column;padding:5px;gap:1px;background:var(--panel);border:1px solid var(--border-2);border-radius:var(--radius);box-shadow:0 10px 30px #0006}.gg-root .menu-dropdown.align-right{left:auto;right:0}.gg-root .menu-item{display:flex;align-items:center;gap:9px;width:100%;text-align:left;background:transparent;border-color:transparent;color:var(--text);padding:6px 9px;border-radius:6px}.gg-root .menu-item:hover:not(:disabled){background:var(--bg-3)}.gg-root .menu-item:disabled{opacity:.45;cursor:default}.gg-root .menu-item.danger{color:var(--danger, #ff6b6b)}.gg-root .menu-item .mi-icon{display:flex;flex:none;color:var(--text-dim)}.gg-root .menu-item .mi-label{flex:1;min-width:0;white-space:nowrap}.gg-root .menu-item .mi-hint{color:var(--text-faint);font-size:10px;text-transform:uppercase;letter-spacing:.04em}.gg-root .menu-sep{height:1px;background:var(--border);margin:4px 2px}.gg-root .menu-heading{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);padding:5px 9px 2px}.gg-root .modal-overlay{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;background:#00000080;backdrop-filter:blur(2px)}.gg-root .modal{width:min(560px,92vw);display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--border-2);border-radius:var(--radius);box-shadow:0 20px 60px #00000080}.gg-root .modal-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--border)}.gg-root .modal-head h3{margin:0;font-size:13px}.gg-root .modal-body{padding:14px}.gg-root .modal-body .graph-input{width:100%}.gg-root .modal-foot{display:flex;justify-content:flex-end;gap:8px;padding:12px 14px;border-top:1px solid var(--border)}.gg-root .main{flex:1;display:flex;min-height:0}.gg-root .rail{overflow-y:auto;border-right:1px solid var(--border);background:var(--panel)}.gg-root .rail.left{width:290px;flex:none}.gg-root .rail.mid{width:270px;flex:none}.gg-root .right{flex:1;display:flex;flex-direction:column;min-width:0}.gg-root .resize-handle{flex:none;width:6px;margin:0 -3px;z-index:4;cursor:col-resize;position:relative;touch-action:none}.gg-root .resize-handle:after{content:"";position:absolute;inset:0 2px;border-radius:2px;background:transparent;transition:background .12s}.gg-root .resize-handle:hover:after,.gg-root .resize-handle:active:after{background:var(--accent)}.gg-root .right-content{flex:1;min-height:0;position:relative;display:flex}.gg-root .rail::-webkit-scrollbar,.gg-root .inspector::-webkit-scrollbar{width:9px}.gg-root .rail::-webkit-scrollbar-thumb,.gg-root .inspector::-webkit-scrollbar-thumb{background:var(--secondary-active);border-radius:6px}.gg-root .tab-bar{display:flex;align-items:center;gap:6px;padding:8px 12px;border-bottom:1px solid var(--border);background:var(--bg-1)}.gg-root .tab{background:transparent;border-color:transparent;color:var(--text-dim)}.gg-root .tab.active{background:var(--bg-3);color:var(--text);border-color:var(--border-2)}.gg-root .control-panel,.gg-root .rule-list{padding:12px;display:flex;flex-direction:column;gap:14px}.gg-root .panel-section{display:flex;flex-direction:column;gap:9px}.gg-root .panel-section h3,.gg-root .panel-head h3{margin:0;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim)}.gg-root .btn-row{display:flex;gap:6px;flex-wrap:wrap}.gg-root .plan-row{align-items:center}.gg-root .plan-row .goal-pick{flex:1 1 120px;min-width:0;gap:6px}.gg-root .plan-row .goal-pick select{flex:1;min-width:0}.gg-root .plan-row .plan-btn{flex:1 1 auto;white-space:nowrap}.gg-root .btn-row button{flex:1 1 auto}.gg-root .field{display:flex;flex-direction:column;gap:4px}.gg-root .field.inline{flex-direction:row;align-items:center;gap:8px}.gg-root .field-label{font-size:11px;color:var(--text-dim)}.gg-root .field-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.gg-root .divider{height:1px;background:var(--border);margin:4px 0}.gg-root .stats{padding:10px 12px;background:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius);display:flex;flex-direction:column;gap:8px}.gg-root .stat-row{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}.gg-root .stat.big{font-size:19px;font-weight:700;color:var(--accent);font-variant-numeric:tabular-nums}.gg-root .stat-label{color:var(--text-faint);margin-right:8px}.gg-root .legend{display:flex;flex-wrap:wrap;gap:6px}.gg-root .legend-item{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--text-dim);background:var(--bg-3);padding:2px 7px;border-radius:20px}.gg-root .legend-dot{width:9px;height:9px;border-radius:50%;display:inline-block}.gg-root .collapsible{display:flex;flex-direction:column}.gg-root .collapsible-head{display:flex;align-items:center;gap:6px}.gg-root .collapsible-toggle{justify-content:start;flex:1;min-width:0;display:flex;align-items:center;gap:6px;background:none;border:none;padding:4px 2px;cursor:pointer;color:var(--text-dim);font:inherit;text-align:left}.gg-root .collapsible-toggle:hover{color:var(--text)}.gg-root .collapsible-caret{flex:none;transition:transform .12s ease}.gg-root .collapsible:not(.collapsed) .collapsible-caret{transform:rotate(90deg)}.gg-root .collapsible-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gg-root .collapsible-right{display:flex;align-items:center;gap:6px;flex:none}.gg-root .group-count{font-size:10px;color:var(--text-faint);background:var(--bg-3);border-radius:20px;padding:1px 7px;font-variant-numeric:tabular-nums}.gg-root .group-enable{cursor:pointer}.gg-root .collapsible-body{padding:4px 0 8px 6px}.gg-root .example-groups{display:flex;flex-direction:column;gap:2px}.gg-root .example-grid{display:flex;flex-direction:column;gap:6px}.gg-root .example-card{text-align:left;display:flex;flex-direction:column;gap:2px;padding:8px 10px}.gg-root .ex-title{font-weight:600}.gg-root .ex-blurb{font-size:11px;color:var(--text-faint)}.gg-root .graph-input{width:100%}.gg-root .panel-head{display:flex;align-items:center;justify-content:space-between}.gg-root .rules{display:flex;flex-direction:column;gap:7px}.gg-root .rule-row{background:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius);padding:8px;cursor:pointer;display:flex;flex-direction:column;gap:6px}.gg-root .rule-row:hover{border-color:var(--border-2);background:var(--bg-2)}.gg-root .rule-row.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.gg-root .rule-row-top{display:flex;gap:8px;align-items:flex-start}.gg-root .rule-main{flex:1;min-width:0}.gg-root .rule-name-row{display:flex;align-items:center;gap:6px}.gg-root .rule-swatch{width:10px;height:10px;border-radius:3px;flex:none}.gg-root .rule-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gg-root .rule-meta{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.gg-root .meta-chip{font-size:10px;color:var(--text-dim);background:var(--bg-3);padding:1px 6px;border-radius:5px}.gg-root .rule-controls{display:flex;gap:2px;justify-content:flex-end}.gg-root .match-badge{font-size:11px;min-width:20px;text-align:center;padding:1px 5px;border-radius:6px;background:var(--bg-3);color:var(--text-faint);font-variant-numeric:tabular-nums}.gg-root .match-badge.has{background:color-mix(in oklch,var(--good) 24%,var(--bg));color:var(--good)}.gg-root .match-badge.blocked{background:color-mix(in oklch,var(--warn) 24%,var(--bg));color:var(--warn);white-space:nowrap}.gg-root .graph-view{flex:1;position:relative;display:flex;min-width:0}.gg-root .graph-canvas{position:absolute;inset:0;width:100%;height:100%;cursor:grab}.gg-root .graph-canvas:active{cursor:grabbing}.gg-root .graph-toolbar{position:absolute;top:10px;left:10px;right:10px;z-index:3;display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:color-mix(in srgb,var(--bg-1) 85%,transparent);backdrop-filter:blur(6px);border:1px solid var(--border);border-radius:var(--radius);padding:7px 10px}.gg-root .graph-toolbar .brush-input{width:70px}.gg-root .tb-label{font-size:11px;color:var(--text-dim)}.gg-root .tb-hint{font-size:11px;color:var(--text-faint);margin-left:auto}.gg-root .tb-check{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--text-dim)}.gg-root .tb-check input{margin:0}.gg-root .graph-overlay{position:absolute;top:64px;right:12px;z-index:4;pointer-events:none}.gg-root .graph-shortcuts{position:absolute;right:12px;bottom:12px;z-index:4;background:color-mix(in srgb,var(--bg-1) 86%,transparent);backdrop-filter:blur(6px);border:1px solid var(--border);border-radius:var(--radius);font-size:11px;overflow:hidden;min-width:168px;box-shadow:var(--shadow)}.gg-root .graph-shortcuts.collapsed{min-width:0}.gg-root .gs-head{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;background:transparent;border:none;border-radius:0;padding:6px 10px;color:var(--text-dim);font-size:11px;cursor:pointer;font-weight:600;letter-spacing:.03em}.gg-root .gs-head:hover{background:var(--bg-3);color:var(--text)}.gg-root .gs-caret{color:var(--text-faint)}.gg-root .gs-body{padding:4px 10px 8px;display:flex;flex-direction:column;gap:4px}.gg-root .gs-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.gg-root .gs-keys{display:flex;gap:3px;flex-wrap:wrap}.gg-root .gs-act{color:var(--text-dim);white-space:nowrap}.gg-root .graph-shortcuts kbd{font-family:ui-sans-serif,system-ui;font-size:10px;line-height:1.4;background:var(--bg-3);border:1px solid var(--border-2);border-bottom-width:2px;border-radius:5px;padding:1px 5px;color:var(--text);white-space:nowrap}.gg-root .node-inspector{pointer-events:auto;width:230px;background:color-mix(in srgb,var(--bg-1) 94%,transparent);border:1px solid var(--border-2);border-radius:var(--radius);padding:10px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:8px}.gg-root .ni-title{font-weight:600;font-size:12px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em}.gg-root .ni-props{display:flex;flex-direction:column;gap:4px}.gg-root .rule-editor{flex:1;display:flex;flex-direction:column;min-width:0;overflow:hidden}.gg-root .rule-header{display:flex;flex-direction:column;gap:7px;padding:10px 12px;border-bottom:1px solid var(--border);background:var(--bg-1)}.gg-root .rh-top{display:flex;gap:8px;align-items:center}.gg-root .rule-name-input{font-size:14px;font-weight:650;background:var(--bg-2)}.gg-root .rh-color{width:34px;min-width:34px;height:30px;padding:2px;background:var(--bg-2);cursor:pointer;flex:none}.gg-root .rule-desc-input{font-family:inherit;font-size:12px;color:var(--text-dim);resize:vertical;min-height:34px}.gg-root .rule-group-input{font-size:12px;color:var(--text-dim);background:var(--bg-2)}.gg-root .rh-group{gap:8px}.gg-root .rh-group .field-label{flex:none}.gg-root .rh-group .rule-group-input{flex:1;min-width:0}.gg-root .rh-params{display:flex;gap:8px;flex-wrap:wrap}.gg-root .rh-param{display:flex;flex-direction:column;gap:2px;flex:1;min-width:64px}.gg-root .rh-param span{font-size:10px;color:var(--text-faint);text-transform:uppercase;letter-spacing:.04em}.gg-root .rh-param input{padding:4px 6px;font-size:12px}.gg-root .editor-toolbar{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid var(--border);background:var(--bg-1);flex-wrap:wrap}.gg-root .editor-toolbar .brush-input{width:90px}.gg-root .label-chips{display:flex;gap:4px;flex-wrap:wrap}.gg-root .edge-dir-toggle{min-width:158px;text-align:center;border-color:var(--accent-2);color:color-mix(in srgb,var(--accent) 45%,#fff)}.gg-root .edge-dir-toggle:hover{background:color-mix(in oklch,var(--accent) 20%,var(--bg-2))}.gg-root .chip{padding:2px 9px;border-radius:20px;border:none;font-size:11px;font-weight:600;cursor:pointer}.gg-root .tb-spacer{flex:1}.gg-root .editor-body{position:relative;flex:1;min-height:0;display:flex}.gg-root .ec-host{position:relative;flex:1;min-width:0;display:flex}.gg-root .rule-svg{width:100%;flex:1;min-height:0;touch-action:none;background:radial-gradient(circle at 1px 1px,rgba(255,255,255,.04) 1px,transparent 0) 0 0 / 26px 26px,var(--bg);display:block;cursor:grab}.gg-root .rule-svg:active{cursor:grabbing}.gg-root .rule-svg:focus{outline:none}.gg-root .ec-zoom{position:absolute;left:10px;bottom:10px;z-index:3;display:flex;gap:0;background:color-mix(in srgb,var(--bg-1) 86%,transparent);backdrop-filter:blur(6px);border:1px solid var(--border-2);border-radius:8px;overflow:hidden}.gg-root .ec-zoom button{background:transparent;border:none;border-radius:0;color:var(--text-dim);padding:4px 10px;font-size:13px;min-width:30px}.gg-root .ec-zoom button:hover{background:var(--bg-3);color:var(--text)}.gg-root .ec-zoom button:nth-child(2){min-width:48px;font-size:11px;border-left:1px solid var(--border-2);border-right:1px solid var(--border-2)}.gg-root .editor-inspector{position:absolute;top:10px;width:290px;max-height:calc(100% - 20px);z-index:4;background:color-mix(in srgb,var(--bg-1) 95%,transparent);border:1px solid var(--border-2);border-radius:var(--radius);box-shadow:var(--shadow);padding:12px;overflow-y:auto;overscroll-behavior:contain}.gg-root .editor-inspector.right{right:10px}.gg-root .editor-inspector.left{left:10px}.gg-root .ei-close{position:absolute;top:8px;right:8px;z-index:1}.gg-root .panel-frame{fill:#ffffff04;stroke:var(--border-2);stroke-width:1.5;stroke-dasharray:4 5}.gg-root .panel-title{fill:var(--text-dim);font-size:13px;font-weight:600}.gg-root .panel-frame.nac{stroke:var(--danger, #e5484d);stroke-opacity:.75;fill:color-mix(in srgb,#e5484d 5%,transparent)}.gg-root .panel-title.nac{fill:color-mix(in srgb,var(--danger, #e5484d) 75%,var(--text-dim))}.gg-root .nac-del{cursor:pointer}.gg-root .nac-del-bg{fill:var(--bg-1);stroke:var(--border-2);stroke-width:1;stroke-dasharray:none}.gg-root .nac-del:hover .nac-del-bg{fill:var(--danger, #e5484d);stroke:var(--danger, #e5484d)}.gg-root .nac-del-x{fill:var(--text-dim);font-size:12px;font-weight:700;pointer-events:none}.gg-root .nac-del:hover .nac-del-x{fill:#fff}.gg-root .ec-add-nac{position:absolute;left:10px;top:10px;z-index:3;background:color-mix(in srgb,var(--bg-1) 86%,transparent);backdrop-filter:blur(6px);border:1px solid var(--border-2);border-radius:8px;color:var(--text-dim);padding:5px 11px;font-size:12px;font-weight:600;cursor:pointer}.gg-root .ec-add-nac:hover{background:var(--bg-3);color:var(--text);border-color:color-mix(in srgb,var(--danger, #e5484d) 60%,var(--border-2))}.gg-root .node-g,.gg-root .edge-g,.gg-root .map-g{cursor:pointer}.gg-root .node-circle{transition:stroke-width .1s}.gg-root .node-text{font-size:13px;font-weight:600;pointer-events:none}.gg-root .node-badge{fill:#fff;font-size:11px;paint-order:stroke;stroke:#000;stroke-width:3px;stroke-linejoin:round;pointer-events:none}.gg-root .edge-line{stroke:#8a96a5;stroke-width:2;fill:none}.gg-root .edge-line.sel{stroke:var(--accent);stroke-width:3}.gg-root .edge-hit{stroke:transparent;stroke-width:14}.gg-root .edge-label{fill:var(--text-dim);font-size:11px;text-anchor:middle;pointer-events:none}.gg-root .map-line{stroke:#f59f00;stroke-width:2;stroke-dasharray:6 4;opacity:.85}.gg-root .map-line.sel{stroke:#ffd43b;stroke-width:3;opacity:1}.gg-root .map-hit{stroke:transparent;stroke-width:14}.gg-root .live-link{stroke:var(--accent);stroke-width:2.5;stroke-dasharray:6 4;pointer-events:none}.gg-root .marquee-rect{fill:color-mix(in oklch,var(--accent) 16%,transparent);stroke:var(--accent);stroke-width:1;pointer-events:none}.gg-root .node-port-hit{fill:transparent;cursor:crosshair}.gg-root .node-port{fill:var(--accent);stroke:var(--bg);stroke-width:1.5;opacity:.45;cursor:crosshair;transition:opacity .1s;pointer-events:none}.gg-root .node-g:hover .node-port{opacity:1}.gg-root .node-g:hover .node-circle{filter:brightness(1.08)}.gg-root .context-menu{position:fixed;z-index:200;min-width:184px;padding:5px;background:var(--bg-1);border:1px solid var(--border-2);border-radius:var(--radius);box-shadow:0 10px 32px #0000008c;display:flex;flex-direction:column;gap:1px}.gg-root .ctx-item{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;text-align:left;background:transparent;border:none;border-radius:6px;padding:7px 10px;color:var(--text);font-size:12.5px;cursor:pointer}.gg-root .ctx-item:hover:not(:disabled){background:var(--accent);color:var(--accent-fg)}.gg-root .ctx-item:disabled{opacity:.4;cursor:default}.gg-root .ctx-item.danger{color:color-mix(in oklch,var(--danger) 60%,#fff)}.gg-root .ctx-item.danger:hover{background:color-mix(in oklch,var(--danger) 32%,var(--bg));color:color-mix(in oklch,var(--danger) 35%,#fff)}.gg-root .ctx-hint{font-size:11px;color:var(--text-faint)}.gg-root .ctx-item:hover .ctx-hint{color:color-mix(in srgb,var(--accent-fg) 72%,transparent)}.gg-root .ctx-sep{height:1px;background:var(--border);margin:4px 2px}.gg-root .inspector{border-top:1px solid var(--border);background:var(--bg-1);padding:12px;max-height:38%;overflow-y:auto}.gg-root .insp{display:flex;flex-direction:column;gap:9px;max-width:520px}.gg-root .insp h4{margin:0;font-size:13px}.gg-root .insp h5{margin:4px 0 0;font-size:11px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em}.gg-root .insp-note{font-size:12px;color:var(--text-faint);background:var(--bg-2);padding:6px 8px;border-radius:7px}.gg-root .insp-empty,.gg-root .empty-hint{color:var(--text-faint);font-size:12px;padding:8px}.gg-root .pred-list{display:flex;flex-direction:column;gap:5px}.gg-root .pred-row{display:flex;gap:5px;align-items:center}.gg-root .pred-row .pred-key{width:90px}.gg-root .pred-row select{width:auto;flex:none}.gg-root .pred-row .pred-val{flex:1;min-width:50px}.gg-root .prop-key{font-size:11px;color:var(--accent);min-width:60px;font-family:Geist Mono,ui-monospace,monospace}.gg-root .dir-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.gg-root .segmented{display:inline-flex;gap:0;border:1px solid var(--border-2);border-radius:8px;overflow:hidden;width:max-content}.gg-root .seg{border:none;border-radius:0;background:var(--bg-1);padding:5px 12px;color:var(--text-dim)}.gg-root .seg+.seg{border-left:1px solid var(--border-2)}.gg-root .seg:hover{background:var(--bg-3)}.gg-root .seg.active{background:var(--accent);color:var(--accent-fg);font-weight:600}.gg-toast{position:fixed;bottom:18px;left:50%;transform:translate(-50%) translateY(20px);background:#0e0e0e;border:1px solid #2d2d2d;color:#e3e3e3;padding:9px 16px;border-radius:20px;box-shadow:0 6px 24px #0006;opacity:0;transition:opacity .2s,transform .2s;pointer-events:none;z-index:100;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:12px}.gg-toast.show{opacity:1;transform:translate(-50%) translateY(0)}@media (max-width: 1100px){.gg-root .rail.left{width:240px}.gg-root .rail.mid{width:220px}}
