@import "https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;600;700;800&display=swap";.home-fab{z-index:100;-webkit-backdrop-filter:blur(3px)saturate(210%)brightness(110%);backdrop-filter:blur(3px)saturate(210%)brightness(110%);color:#fff;isolation:isolate;background:linear-gradient(135deg,#ffffff2e 0%,#ffffff0a 40%,#ffffff03 100%);border:1px solid #ffffff52;border-radius:999px;align-items:center;gap:0;padding:.7rem 1.1rem;text-decoration:none;transition:transform .28s cubic-bezier(.16,1,.3,1),box-shadow .28s,border-color .28s;display:inline-flex;position:fixed;top:2rem;right:1.5rem;overflow:hidden;box-shadow:0 12px 32px #02061466,inset 0 1px 1px #ffffff73,inset 0 -1px 1px #ffffff1f}.home-fab:before{content:"";pointer-events:none;z-index:-1;border-radius:inherit;background:linear-gradient(130deg,#ffffff4d 0%,#0000 42%),radial-gradient(circle at 5% 0,#ffffff73,#0000 32%);position:absolute;inset:0}.home-fab:hover{border-color:#ffffff73;transform:scale(1.02);box-shadow:0 16px 40px #02061480,0 0 15px #50d7ff4d,inset 0 1px 1px #fff9,inset 0 -1px 1px #fff3}.home-fab-icon{flex-shrink:0;justify-content:center;align-items:center;margin:0 .15rem;font-size:1.25rem;line-height:1;display:inline-flex}.home-fab-label{opacity:0;white-space:nowrap;letter-spacing:.06em;text-transform:uppercase;max-width:0;font-size:.8rem;font-weight:800;transition:max-width .28s cubic-bezier(.16,1,.3,1),opacity .28s,margin .28s cubic-bezier(.16,1,.3,1);overflow:hidden}.home-fab:hover .home-fab-label{opacity:1;max-width:150px;margin-left:.4rem;margin-right:.25rem}@media (width<=760px){.home-fab{top:1rem;right:1rem}}@media (prefers-reduced-motion:reduce){.home-fab{transition:none!important}.home-fab:hover{transform:none!important}.home-fab-label{transition:none!important}}:root{--page-transition-ms:.32s;--bg-page:#020617;--bg-panel:#0f172a;--bg-panel-soft:#0f172abf;--bg-control:#1e293b;--bg-control-hover:#334155;--bg-danger:#7f1d1d59;--bg-danger-hover:#7f1d1d8c;--text-main:#e2e8f0;--text-muted:#94a3b8;--text-accent:#34d399;--text-danger:#fca5a5;--border-main:#334155;--border-muted:#475569;--shadow-strong:0 20px 45px #0006;--ease-glass:cubic-bezier(.25, 1, .3, 1);--ease-water:cubic-bezier(.34, 1.56, .64, 1);--ease-retreat:cubic-bezier(.4, 0, .6, 1);--dur-instant:80ms;--dur-fast:.18s;--dur-normal:.32s;--dur-slow:.52s;--dur-water:.6s;--glass-blur-shallow:blur(8px);--glass-blur-mid:blur(12px);--glass-blur-deep:blur(22px);--glass-surface:#0c142694;--glass-border:#a78bfa38;--glass-accent:#50d7ff;--glass-shimmer:linear-gradient(110deg, transparent 35%, #ffffff08 40%, #fff3 50%, #ffffff08 60%, transparent 65%)}@keyframes glassFadeUp{0%{opacity:0;transform:translateY(10px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes shimmerSweep{0%{transform:translate(-120%)skew(-12deg)}to{transform:translate(220%)skew(-12deg)}}@view-transition{navigation:auto}body{min-height:100vh;color:var(--text-main);background:radial-gradient(circle at 12% 18%, #10b98129, transparent 36%), radial-gradient(circle at 88% 28%, #0ea5e924, transparent 32%), var(--bg-page);opacity:0;transition:opacity var(--page-transition-ms) ease, transform var(--page-transition-ms) ease;margin:0;font-family:Open Sans,sans-serif;transform:translateY(8px)}.parser-page{padding:6rem 2rem 2rem;overflow:hidden}.app-shell{flex-direction:column;gap:1rem;width:min(95vw,1400px);min-height:calc(100vh - 8rem);margin:0 auto;display:flex}.app-shell[data-app-state=empty]{justify-content:center;height:calc(100vh - 8rem)}[data-app-state=empty] .graph-wrapper{display:none}.empty-stage{flex-direction:column;align-items:center;gap:1rem;width:100%;display:flex}.page-header{text-align:center}.page-title{letter-spacing:.01em;color:var(--text-accent);justify-content:center;align-items:center;gap:.8rem;margin:0;font-size:clamp(1.85rem,2.8vw,2.9rem);font-weight:800;line-height:1.1;display:inline-flex}.app-version-tag{color:var(--text-muted);text-transform:uppercase;letter-spacing:.02em;vertical-align:middle;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:4px;padding:.2rem .5rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.62rem;font-weight:700}.page-subtitle{color:var(--text-muted);margin:.6rem 0 0;font-size:.98rem}.file-extension{border:1px solid var(--border-main);color:var(--text-accent);background:#1e293b;border-radius:.35rem;padding:.16rem .42rem;font-size:.88rem;font-weight:600;display:inline-block}.dropzone{border:2px dashed var(--border-muted);cursor:pointer;background:#1e293b5c;border-radius:.9rem;justify-content:center;align-items:center;width:min(100%,48rem);min-height:6rem;margin:0 auto;transition:border-color .18s,background .18s,transform .18s;display:flex;box-shadow:0 10px 24px #02061759}.dropzone:hover,.dropzone.is-dragover{border-color:var(--text-accent);background:#1e293bb8;transform:translateY(-1px)}.dropzone-content{pointer-events:none;align-items:center;gap:.8rem;display:flex}.dropzone-icon{color:#64748b;width:2rem;height:2rem}.dropzone-label{color:var(--text-muted);font-weight:600}.controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.8rem;width:100%;display:flex}[data-app-state=empty] #controls,[data-app-state=full-view] #controls,[data-app-state=full-view] .empty-stage{display:none}.controls-group,.viewport-tools{align-items:center;gap:.5rem;display:flex}.viewport-tools{border:1px solid var(--border-main);background:var(--bg-panel-soft);border-radius:.7rem;padding:.35rem}.viewport-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;padding:0 .5rem;font-size:.74rem;font-weight:800}.btn,.icon-btn{border:1px solid var(--border-main);background:var(--bg-control);color:var(--text-main);cursor:pointer;border-radius:.58rem;font-family:inherit;transition:background .14s,border-color .14s,color .14s,transform .14s}.btn{padding:.56rem .9rem;font-size:.86rem;font-weight:600}.btn:hover,.icon-btn:hover{background:var(--bg-control-hover);border-color:#64748b}.btn:active,.icon-btn:active{transform:translateY(1px)}.btn-compact{padding:.48rem .74rem}.btn-danger{background:var(--bg-danger);color:var(--text-danger);border-color:#991b1ba6}.btn-danger:hover{background:var(--bg-danger-hover);border-color:#dc2626b3}.btn.is-success{color:var(--text-accent);border-color:#10b981a6}.icon-btn{justify-content:center;align-items:center;width:2rem;height:2rem;font-weight:700;display:inline-flex}.graph-wrapper{border:1px solid var(--border-main);background:var(--bg-panel);min-height:max(22rem,56vh);box-shadow:var(--shadow-strong);cursor:grab;border-radius:1rem;flex:1;position:relative;overflow:hidden}.graph-wrapper.is-panning{cursor:grabbing}[data-app-state=full-view] .graph-wrapper{z-index:220;background:#020b1d;border:0;border-radius:0;width:100vw;height:100vh;min-height:100vh;position:fixed;inset:0}.graph-close-btn{z-index:6;display:none;position:absolute;top:.8rem;right:.8rem}[data-app-state=full-view] .graph-close-btn{display:inline-flex}[data-app-state=loaded] .graph-wrapper{-webkit-backdrop-filter:blur(12px);cursor:pointer;pointer-events:auto;background:#0f172ae0;border:1px solid #ffffff24;border-radius:14px;flex-direction:column;min-height:max(22rem,56vh);display:flex;box-shadow:0 15px 35px #00000080}[data-app-state=loaded] #graph-container{pointer-events:none;flex:1;overflow:hidden}[data-app-state=loaded] #graph-container svg{width:100%;height:100%;display:block}.preview-card-header{display:none}[data-app-state=loaded] .preview-card-header{pointer-events:auto;background:#1e293bbf;border-bottom:1px solid #ffffff14;border-radius:14px 14px 0 0;flex-shrink:0;align-items:center;gap:.6rem;padding:.45rem .75rem;display:flex}.window-dots{flex-shrink:0;gap:5px;display:flex}.window-dots .dot{border-radius:50%;width:8px;height:8px;display:block}.dot-red{background:#ef4444}.dot-yellow{background:#f59e0b}.dot-green{background:#10b981}.preview-card-title{color:var(--text-muted);opacity:.85;text-align:center;white-space:nowrap;text-overflow:ellipsis;flex:1;font-family:monospace;font-size:.65rem;overflow:hidden}.preview-expand-btn{opacity:.55;transition:opacity var(--dur-fast) var(--ease-glass);flex-shrink:0}.preview-expand-btn:hover{opacity:1}.control-dock{display:none}[data-app-state=full-view] .control-dock{transform-origin:100% 100%;z-index:4;background:var(--glass-surface);border:1px solid var(--glass-border);border-radius:var(--tool-card-radius,28px);max-width:min(96rem,96vw);-webkit-backdrop-filter:var(--glass-blur-mid);backdrop-filter:var(--glass-blur-mid);flex-direction:row;align-items:center;gap:.85rem;padding:.7rem 1rem;display:flex;position:absolute;bottom:1.25rem;left:50%;overflow:visible;transform:translate(-50%);box-shadow:0 14px 34px #02061773}.control-dock.is-collapsed{pointer-events:none}.dock-body{flex-direction:column;align-items:center;gap:.6rem;display:flex;overflow:visible}.dock-row{flex-wrap:nowrap;justify-content:center;align-items:center;gap:.85rem;display:flex}.dock-collapse,.dock-pill{border:1px solid var(--glass-border);width:2rem;height:2rem;color:var(--text-main);cursor:pointer;transition:background var(--dur-fast) var(--ease-glass);background:#0f172a99;border-radius:.7rem;justify-content:center;align-items:center;display:inline-flex}.dock-collapse:hover,.dock-pill:hover{background:#1e293bd9}.dock-pill{z-index:4;width:2.6rem;height:2.6rem;-webkit-backdrop-filter:var(--glass-blur-mid);backdrop-filter:var(--glass-blur-mid);border-radius:50%;position:absolute;bottom:1.25rem;right:1.25rem;box-shadow:0 10px 26px #02061773}.dock-pill.is-hidden{display:none}.control-dock .engine-selector,.control-dock .layout-options,.control-dock .chain-depth-options,.control-dock .config-actions,.control-dock .viewport-tools{flex-flow:row;align-items:center}.control-dock .dock-row>*+*{border-left:1px solid var(--glass-border);padding-left:.85rem}.graph-container{transform-origin:50%;justify-content:center;align-items:center;width:100%;height:100%;transition:transform 75ms ease-out;display:flex}.status-text{color:#64748b;margin:2rem 0 0;font-style:italic}.status-message{text-align:center;margin:1rem;font-weight:700}.status-message--loading{color:var(--text-accent)}.status-message--error{color:#f87171}.modal-open{overflow:hidden}.graph-deselect-btn{z-index:4;display:none;position:absolute;top:.8rem;left:.8rem}[data-app-state=full-view] .graph-deselect-btn{display:inline-flex}.summary-dock{z-index:4;-webkit-backdrop-filter:blur(12px)saturate(120%);backdrop-filter:blur(12px)saturate(120%);background:#0f172a57;border:1px solid #94a3b81f;border-radius:.85rem;width:min(26rem,40vw);max-height:calc(100% - 5.5rem);padding:.8rem .9rem;position:absolute;top:4.5rem;left:.8rem;overflow:auto;box-shadow:0 10px 24px #0206173d}.summary-dock-header{justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.6rem;display:flex}.summary-dock-title{color:var(--text-main);margin:0;font-size:.93rem;line-height:1.32}.summary-dock-subtitle{color:var(--text-accent);margin:1rem 0 .5rem;font-size:.85rem;font-weight:600}.summary-list--indirect{opacity:.8}.summary-dock.is-hidden,[data-app-state=loaded] .summary-dock{display:none}.summary-subject{color:var(--text-muted);margin:0 0 .8rem;font-size:.86rem}.summary-list{gap:.5rem;margin:0;padding-left:1.1rem;display:grid}.summary-item{color:var(--text-main);font-size:.9rem;line-height:1.35}.summary-item.is-empty{color:var(--text-muted);margin-left:-1.1rem;list-style:none}.preset-loaders{flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem;display:flex}.preset-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.07em;white-space:nowrap;font-size:.8rem;font-weight:600}.preset-buttons{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.btn-preset{color:var(--text-accent);background:#34d3990f;border-color:#34d39959;font-size:.82rem;transition:background .16s,border-color .16s,transform .16s,box-shadow .16s;position:relative;overflow:hidden}.btn-preset-icon{vertical-align:middle;margin-right:.35rem;font-size:1em;display:inline-block}.btn-preset:before{content:"";opacity:0;background:linear-gradient(90deg,#34d39914,#22d3ee14);transition:opacity .16s;position:absolute;inset:0}.btn-preset:hover{background:#34d3991f;border-color:#34d399a6;transform:translateY(-1px);box-shadow:0 4px 16px #34d3992e}.btn-preset:hover:before{opacity:1}.btn-preset.is-loading{opacity:.6;cursor:wait}.node-selected rect,.node-selected polygon,.node-selected circle,.node-selected ellipse{stroke:#86efac!important;stroke-width:3px!important}body.page-ready{opacity:1;transform:translateY(0)}body.page-leaving{opacity:0;transform:translateY(10px)}@media (prefers-reduced-motion:reduce){body{opacity:1;transition:none;transform:none}}#graph-container svg{transform-origin:50%;max-width:none!important}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}@media (width<=720px){.parser-page{padding:1rem}.page-header{margin-top:3.5rem}.app-shell{width:100%;min-height:calc(100vh - 2rem)}.controls{flex-direction:column;align-items:stretch}.controls-group,.engine-selector,.layout-options,.chain-depth-options,.config-actions,.viewport-tools{flex-wrap:wrap;justify-content:center;width:100%}.graph-deselect-btn{top:.65rem;left:.65rem}.summary-dock{width:min(92vw,25rem);max-height:calc(100% - 3.7rem);top:3rem;left:.65rem}[data-app-state=full-view] .control-dock{border-radius:var(--tool-card-radius,28px) var(--tool-card-radius,28px) 0 0;border-bottom:0;border-left:0;border-right:0;width:100%;max-width:100%;max-height:55vh;padding:1rem;bottom:0;left:0;right:0;overflow-y:auto;transform:none;box-shadow:0 -12px 30px #02061766}.control-dock .dock-row{flex-direction:column;align-items:stretch}.control-dock .dock-row>*+*{border-left:0;border-top:1px solid var(--glass-border);padding-top:.6rem;padding-left:0}.control-dock .engine-selector,.control-dock .layout-options,.control-dock .chain-depth-options,.control-dock .config-actions,.control-dock .viewport-tools{flex-wrap:wrap}.graph-wrapper{min-height:58vh}.tree-modal-panel{width:96vw;max-height:92vh}}.is-hidden{display:none!important}.custom-engine-svg{display:block;overflow:visible}.custom-engine-svg .node{cursor:pointer}.custom-engine-svg .edge path{transition:stroke .12s,stroke-width .12s}.custom-engine-svg .node,.custom-engine-svg .edge{transition:opacity .3s}.custom-engine-svg.has-active-selection .node{opacity:.28}.custom-engine-svg.has-active-selection .node.node--in-chain{opacity:1}.custom-engine-svg.has-active-selection .edge{opacity:.1}.custom-engine-svg.has-active-selection .edge.edge--in-chain{opacity:1}@keyframes edge-flow-scroll{to{stroke-dashoffset:-36px}}.custom-engine-svg .edge.edge--flowing path{stroke-dasharray:8 28;animation:.9s linear infinite edge-flow-scroll}@media (prefers-reduced-motion:reduce){.custom-engine-svg .edge.edge--flowing path{stroke-dasharray:none;animation:none}}.custom-engine-svg .node rect{transition:stroke .2s,stroke-width .2s}.custom-engine-svg .edge.edge--hover-linked path{stroke:#cbd5e1;stroke-width:2px}.custom-engine-svg.has-active-trace .node{opacity:.28}.custom-engine-svg.has-active-trace .node.node--in-trace{opacity:1}.custom-engine-svg.has-active-trace .edge{opacity:.1}.custom-engine-svg.has-active-trace .edge.edge--in-trace{opacity:1}.custom-engine-svg .node.node--in-trace rect{stroke:#a78bfa;stroke-width:2.4px}.custom-engine-svg .edge.edge--in-trace path{stroke:#a78bfa;stroke-width:2.5px;stroke-dasharray:8 28;animation:.9s linear infinite edge-flow-scroll}@media (prefers-reduced-motion:reduce){.custom-engine-svg .edge.edge--in-trace path{stroke-dasharray:none;animation:none}}.custom-engine-svg .node.node--passed rect{stroke:#86efac;stroke-width:2.4px}.custom-engine-svg .node.node--active rect{stroke:#60a5fa;stroke-width:2.4px}.custom-engine-svg .node.node--pending rect{stroke:#fbbf24;stroke-width:2.4px}.custom-engine-svg .node.node--failed rect{stroke:#f87171;stroke-width:2.4px}.custom-engine-svg .node-badge circle{stroke:#0f172a;stroke-width:1.5px}.custom-engine-svg .node-badge--passed circle{fill:#86efac}.custom-engine-svg .node-badge--active circle{fill:#60a5fa}.custom-engine-svg .node-badge--pending circle{fill:#fbbf24}.custom-engine-svg .node-badge--failed circle{fill:#f87171}.custom-engine-svg .node-badge--year-term rect{fill:#0f172a;stroke:#475569;stroke-width:1px}.custom-engine-svg .node-badge--year-term text{fill:#e2e8f0;font-family:Open Sans,sans-serif;font-size:9px;font-weight:600}.custom-engine-svg .grid-header-label{letter-spacing:.04em;text-transform:uppercase}.subject-info-stack{z-index:4;flex-direction:column;gap:.6rem;display:none;position:absolute;bottom:1.25rem;left:.8rem}[data-app-state=full-view] .subject-info-stack:not(.is-hidden){display:flex}.subject-state-legend,.subject-stats-panel{background:var(--glass-surface);border:1px solid var(--glass-border);-webkit-backdrop-filter:var(--glass-blur-mid);backdrop-filter:var(--glass-blur-mid);color:var(--text-main);border-radius:16px;flex-direction:column;gap:.45rem;padding:.65rem .85rem;font-size:.78rem;display:none;box-shadow:0 10px 26px #02061773}.subject-stats-panel{min-width:13rem;display:flex}.subject-state-legend:not(.is-hidden){display:flex}.stats-row{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.stats-label{color:var(--text-muted);font-weight:600}.stats-value{font-variant-numeric:tabular-nums;font-weight:700}.stats-value.is-unsynced{color:var(--text-muted);font-variant-numeric:normal;font-size:.72rem;font-style:italic;font-weight:600}.legend-row{align-items:center;gap:.5rem;display:flex}.legend-icon circle{stroke:#0f172a;stroke-width:1.5px}.legend-icon--passed circle{fill:#86efac}.legend-icon--active circle{fill:#60a5fa}.legend-icon--pending circle{fill:#fbbf24}.legend-icon--failed circle{fill:#f87171}.legend-icon polyline,.legend-icon line{fill:none;stroke:#0f172a;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round}.legend-icon path{fill:#0f172a;stroke:none}.key-nav-hint{background:var(--glass-surface);border:1px solid var(--glass-border);-webkit-backdrop-filter:var(--glass-blur-mid);backdrop-filter:var(--glass-blur-mid);border-radius:var(--tool-card-radius,28px);z-index:100;transform-origin:50%;min-width:220px;max-width:320px;padding:16px 20px;position:absolute;box-shadow:0 8px 24px #0000008c}.key-nav-hint.is-hidden{display:none}.key-nav-hint__direction{text-transform:uppercase;letter-spacing:.08em;color:#94a3b8;margin:0 0 10px;font-size:.7rem}.key-nav-hint__list{flex-direction:column;gap:5px;margin:0 0 12px;padding:0;list-style:none;display:flex}.key-nav-hint__item{color:#e2e8f0;cursor:pointer;border-radius:6px;align-items:center;gap:10px;padding:5px 7px;font-size:.85rem;transition:background .12s;display:flex}.key-nav-hint__item:hover{background:#334155}.key-nav-hint__key{color:#94a3b8;background:#0f172a;border:1px solid #475569;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;min-width:22px;height:22px;padding:0 4px;font-size:.7rem;font-weight:600;display:inline-flex}.key-nav-hint__dismiss{color:#64748b;margin:0;font-size:.7rem}.key-nav-hint__dismiss kbd{background:#0f172a;border:1px solid #475569;border-radius:3px;padding:1px 4px;font-size:.65rem}.sync-empty-toast{z-index:1000;background:var(--glass-surface);border:1px solid var(--glass-border);max-width:360px;-webkit-backdrop-filter:var(--glass-blur-mid);backdrop-filter:var(--glass-blur-mid);border-radius:var(--tool-card-radius,20px);opacity:0;pointer-events:none;align-items:flex-start;gap:.75rem;padding:.85rem 1rem;transition:opacity .2s,transform .2s;display:flex;position:fixed;top:6.5rem;left:50%;transform:translate(-50%,-12px);box-shadow:0 8px 24px #0000008c}.sync-empty-toast.is-hidden{display:none}.sync-empty-toast.is-visible{opacity:1;pointer-events:auto;transform:translate(-50%)}.sync-empty-toast__icon{color:#fbbf24;flex-shrink:0;margin-top:.1rem;font-size:1.4rem}.sync-empty-toast__text{flex-direction:column;gap:.25rem;display:flex}.sync-empty-toast__title{color:#e2e8f0;font-size:.85rem}.sync-empty-toast__subtitle{color:#94a3b8;font-size:.75rem;line-height:1.45}.sync-empty-toast__close{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:1.5rem;height:1.5rem;margin-left:auto;transition:background .12s,color .12s;display:flex}.sync-empty-toast__close:hover{color:#e2e8f0;background:#ffffff14}.engine-selector{border:1px solid var(--border-main);background:var(--bg-panel-soft);border-radius:.7rem;align-items:center;gap:.3rem;padding:.35rem;display:flex}.engine-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:.45rem;align-items:center;gap:.35rem;padding:.38rem .7rem;font-family:inherit;font-size:.78rem;font-weight:600;transition:background .14s,color .14s,border-color .14s;display:inline-flex}.engine-btn:hover:not(:disabled){background:var(--bg-control);color:var(--text-main)}.engine-btn.is-active{background:var(--bg-control);border-color:var(--border-main);color:var(--text-main)}.engine-btn:disabled{cursor:not-allowed;opacity:.5}.engine-btn-soon{color:#a5b4fc;text-transform:uppercase;letter-spacing:.04em;background:#6366f126;border:1px solid #6366f14d;border-radius:.3rem;padding:.1rem .34rem;font-size:.64rem;font-weight:700}.layout-options{border:1px solid var(--border-main);background:var(--bg-panel-soft);border-radius:.7rem;align-items:center;gap:.3rem;padding:.35rem;display:flex}.layout-spacing-select{border:1px solid var(--border-main);background:var(--bg-control);color:var(--text-main);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%2394a3b8'/%3E%3C/svg%3E");background-position:right .4rem center;background-repeat:no-repeat;border-radius:.45rem;outline:none;padding:.38rem 1.4rem .38rem .5rem;font-family:inherit;font-size:.78rem;font-weight:600}.layout-spacing-select:focus{border-color:#60a5fa}.layout-auto-controls{align-items:center;gap:.3rem;display:inline-flex}.layout-auto-controls.is-hidden{display:none}.custom-engine-svg.is-custom-layout .node{cursor:grab}.custom-engine-svg.is-custom-layout .node:active{cursor:grabbing}.chain-depth-options{border:1px solid var(--border-main);background:var(--bg-panel-soft);border-radius:.7rem;align-items:center;gap:.3rem;padding:.35rem;display:flex}.depth-label{color:var(--text-muted);padding:0 .1rem;font-size:.72rem;font-weight:600}.depth-select{border:1px solid var(--border-main);background:var(--bg-control);color:var(--text-main);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%2394a3b8'/%3E%3C/svg%3E");background-position:right .4rem center;background-repeat:no-repeat;border-radius:.45rem;outline:none;padding:.38rem 1.4rem .38rem .5rem;font-family:inherit;font-size:.78rem;font-weight:600}.depth-select:focus{border-color:#a78bfa}.glass-select{display:inline-flex;position:relative}.glass-select__native{display:none}.glass-select__trigger{border:1px solid var(--border-main);background:var(--bg-control);color:var(--text-main);cursor:pointer;white-space:nowrap;transition:border-color var(--dur-fast) var(--ease-glass);border-radius:.45rem;align-items:center;gap:.45rem;padding:.38rem .6rem;font-family:inherit;font-size:.78rem;font-weight:600;display:inline-flex}.glass-select__trigger:after{content:"";width:10px;height:6px;transition:transform var(--dur-fast) var(--ease-glass);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%2394a3b8'/%3E%3C/svg%3E") 50% no-repeat;flex:none}.glass-select__trigger[aria-expanded=true]{border-color:#a78bfa}.glass-select__trigger[aria-expanded=true]:after{transform:rotate(180deg)}.glass-select__list{transform-origin:bottom;background:var(--glass-surface);border:1px solid var(--glass-border);min-width:100%;-webkit-backdrop-filter:var(--glass-blur-mid);backdrop-filter:var(--glass-blur-mid);z-index:10;border-radius:.7rem;margin:0;padding:.3rem;list-style:none;position:absolute;bottom:calc(100% + .4rem);left:0;box-shadow:0 -10px 28px #02061780}.glass-select__list.is-hidden{display:none}.glass-select__option{color:var(--text-main);cursor:pointer;white-space:nowrap;border-radius:.4rem;padding:.4rem .7rem;font-size:.78rem;font-weight:600}.glass-select__option:hover,.glass-select__option.is-active{background:#a78bfa2e}.glass-select__option[aria-selected=true]{color:var(--text-accent)}.ui-tooltip{z-index:500;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border-main);color:var(--text-accent);pointer-events:none;opacity:0;visibility:hidden;white-space:nowrap;background:#0f172ae6;border-radius:.6rem;padding:.4rem .7rem;font-size:.74rem;font-weight:600;transition:opacity .16s,transform .16s,visibility .16s;position:absolute;transform:translateY(4px)translate(-50%);box-shadow:0 8px 24px #0006}.ui-tooltip.visible{opacity:1;visibility:visible;transform:translateY(0)translate(-50%)}.ui-tooltip.is-error{color:#f87171;white-space:normal;text-align:center;border-color:#f8717173;max-width:220px}.config-actions{align-items:center;gap:.4rem;display:flex}.config-import-label{cursor:pointer}.credit-tooltip{z-index:500;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border-main);color:var(--text-accent);pointer-events:none;opacity:0;visibility:hidden;white-space:nowrap;background:#0f172ae6;border-radius:.6rem;padding:.5rem .8rem;font-size:.78rem;font-weight:600;transition:opacity .2s,transform .2s,visibility .2s;position:absolute;transform:translateY(4px)translate(-50%);box-shadow:0 8px 24px #0006}.credit-tooltip.visible{opacity:1;visibility:visible;transform:translateY(0)translate(-50%)}.companion-status-pill{z-index:1000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);white-space:nowrap;min-height:2.75rem;color:inherit;background:#0f172ad9;border:1px solid #ffffff1a;border-radius:999px;justify-content:center;align-items:center;max-width:15rem;padding:.4rem 1.15rem;text-decoration:none;transition:max-width .5s cubic-bezier(.34,1.56,.64,1),padding .5s cubic-bezier(.34,1.56,.64,1),background .4s,border-color .4s,box-shadow .4s,transform .5s cubic-bezier(.34,1.56,.64,1);display:flex;position:fixed;top:2.6rem;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 10px 25px -5px #00000080,0 0 0 1px #ffffff0d}.companion-status-pill.expanded{background:#1e293bf2;max-width:40rem;padding:0 1.5rem}.companion-status-pill.clickable:hover{filter:brightness(1.1);transform:translate(-50%)scale(1.02)}.companion-status-pill .companion-pill-content{z-index:2;align-items:center;height:100%;display:flex;position:relative}.companion-pill-dot{background:#94a3b8;border-radius:50%;flex-shrink:0;width:8px;height:8px;position:relative}.companion-status-pill .companion-pill-text{opacity:0;flex-direction:column;justify-content:center;max-width:0;max-height:0;margin-left:0;transition:opacity .3s,max-width .5s cubic-bezier(.34,1.56,.64,1),max-height .5s cubic-bezier(.34,1.56,.64,1),margin-left .5s cubic-bezier(.34,1.56,.64,1),transform .5s cubic-bezier(.34,1.56,.64,1);display:flex;overflow:hidden;transform:scale(.95)}.companion-status-pill.expanded .companion-pill-text{opacity:1;justify-content:center;max-width:30rem;max-height:3.5rem;margin-left:.75rem;padding:0;transform:scale(1)}.companion-pill-title{text-transform:uppercase;letter-spacing:.02em;font-size:.75rem;font-weight:800;line-height:1.2}.companion-pill-subtitle{color:#cbd5e1;margin-top:.1rem;font-size:.65rem;line-height:1.3;display:block}.companion-status-pill.status-checking{background:#0f172af2;border-color:#94a3b84d;animation:2.5s ease-in-out infinite companion-pill-breathe-slate}.status-checking .companion-pill-title{color:#0000;background:linear-gradient(90deg,#94a3b8,#f8fafc,#94a3b8) 0 0/200%;-webkit-background-clip:text;background-clip:text;animation:2.5s linear infinite companion-pill-text-shine}.status-checking .companion-pill-icon{color:#94a3b8;font-size:1.1rem;animation:2s linear infinite companion-pill-spin;display:inline-block}.status-checking .companion-pill-dot{display:none}.companion-status-pill.status-primed{background:#0f172af2;border-color:#fbbf2466;animation:3s ease-in-out infinite companion-pill-breathe-amber}.status-primed .companion-pill-dot{background:#fbbf24;box-shadow:0 0 8px #fbbf2499}.status-primed .companion-pill-dot:after{content:"";background:inherit;opacity:.4;border-radius:50%;animation:2.5s ease-out infinite companion-pill-pulse-dot;position:absolute;inset:-4px}.status-primed .companion-pill-title{color:#0000;background:linear-gradient(90deg,#fbbf24,#fef08a,#fbbf24) 0 0/200%;-webkit-background-clip:text;background-clip:text;animation:3s linear infinite companion-pill-text-shine}.status-primed .companion-pill-icon{display:none}.companion-status-pill.status-not-installed{background:#0f172af2;border-color:#ef444466;animation:2.5s ease-in-out infinite companion-pill-breathe-red}.status-not-installed .companion-pill-dot{background:#ef4444;box-shadow:0 0 8px #ef444499}.status-not-installed .companion-pill-icon{display:none}.status-not-installed .companion-pill-title{color:#fca5a5}@keyframes companion-pill-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes companion-pill-text-shine{to{background-position:200%}}@keyframes companion-pill-pulse-dot{0%{opacity:.6;transform:scale(1)}to{opacity:0;transform:scale(2.5)}}@keyframes companion-pill-breathe-amber{0%,to{box-shadow:0 10px 25px -5px #00000080,0 0 0 1px #fbbf2433,inset 0 0 10px #fbbf240d}50%{box-shadow:0 10px 25px -5px #00000080,0 0 0 1px #fbbf2480,inset 0 0 20px #fbbf2433}}@keyframes companion-pill-breathe-slate{0%,to{box-shadow:0 10px 25px -5px #00000080,0 0 0 1px #94a3b81a,inset 0 0 10px #94a3b80d}50%{box-shadow:0 10px 25px -5px #00000080,0 0 0 1px #94a3b84d,inset 0 0 20px #94a3b826}}@keyframes companion-pill-breathe-red{0%,to{box-shadow:0 10px 25px -5px #00000080,0 0 0 1px #ef444433,inset 0 0 10px #ef44440d}50%{box-shadow:0 10px 25px -5px #00000080,0 0 0 1px #ef444499,inset 0 0 20px #ef444433}}@media (width<=768px){.companion-status-pill{justify-content:center;z-index:1000!important;-webkit-backdrop-filter:blur(8px)!important;backdrop-filter:blur(8px)!important;background:#0f172aeb!important;border-radius:999px!important;width:auto!important;max-width:92vw!important;height:auto!important;min-height:2.5rem!important;margin:0!important;padding:.35rem 1.1rem!important;position:fixed!important;top:.75rem!important;left:50%!important;transform:translate(-50%)!important;box-shadow:0 10px 25px -5px #0009!important}.companion-status-pill .companion-pill-text{opacity:1!important;flex-direction:column!important;justify-content:center!important;max-width:100%!important;max-height:none!important;margin-left:.75rem!important;padding:0!important;display:flex!important;transform:none!important}.companion-status-pill .companion-pill-title{font-size:.7rem!important}.companion-status-pill .companion-pill-subtitle{font-size:.6rem!important}.companion-status-pill.clickable:hover{filter:brightness(1.2);transform:translate(-50%)!important}}
