@import "https://fonts.googleapis.com/css2?family=Geist:wght@300;400;500;600;700;800;900&family=Geist+Mono:wght@400;500;600;700&family=Plus+Jakarta+Sans:wght@500;600;700;800&family=Inter:wght@400;500;600;700&display=swap";:root{--font-sans:"Geist", -apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", Roboto, sans-serif;--font-display:"Plus Jakarta Sans", "Geist", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono:"Geist Mono", "JetBrains Mono", "Fira Code", monospace;font-family:var(--font-sans);letter-spacing:-.011em;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--emv-navy:#0d3e5c;--emv-lime:#0ea5e9;--emv-slate:#8890a3;--emv-ink:#080d16;--emv-deep:#0e1524;--emv-panel:#161e2e;--emv-line:#94a3b826;--accent-primary:#60a5fa;--accent-secondary:#38bdf8;--accent-muted:#94a3b8;--bg-primary:#111827;--bg-secondary:#182234;--bg-tertiary:#1f2c42;--bg-glass:#182234e6;--border-color:#94a3b826;--border-active:#60a5fa73;--text-primary:#e2e8f0;--text-secondary:#94a3b8;--text-muted:#64748b;--accent-secondary-glow:#38bdf838;--accent-secondary-border-trans:#38bdf84d;--accent-secondary-bg-trans:#38bdf814;--shadow-sm:0 2px 8px #00000040;--shadow-md:0 6px 18px #0000004d;--shadow-lg:0 12px 28px #00000061;--indigo-replace:#60a5fa;--indigo-tint-1:#60a5fa0f;--indigo-tint-2:#60a5fa1f;--indigo-tint-3:#60a5fa2e;--indigo-tint-4:#60a5fa47;--indigo-tint-5:#60a5fa66;--json-key:#c084fc;--json-string:#6ee7b7;--json-number:#93c5fd;--json-boolean:#fcd34d;--json-null:#94a3b8;--color-ch:#fb923c;--color-br:#fbbf24;--color-re:#60a5fa;--color-s:#818cf8;--color-ds:#a78bfa;--color-acs:#34d399;font-weight:400;line-height:1.5}.light-theme{--accent-primary:#1e3a8a;--accent-secondary:#0284c7;--accent-muted:#64748b;--bg-primary:#f8fafc;--bg-secondary:#f1f5f9;--bg-tertiary:#fff;--bg-glass:#ffffffd9;--border-color:#0f172a14;--border-active:#0284c752;--text-primary:#0f172a;--text-secondary:#334155;--text-muted:#64748b;--accent-secondary-glow:#0284c74d;--accent-secondary-border-trans:#0284c73d;--accent-secondary-bg-trans:#0284c70f;--shadow-sm:0 4px 12px #0f172a0a;--shadow-md:0 8px 24px #0f172a0f;--shadow-lg:0 16px 32px #0f172a14;--indigo-replace:#1e3a8a;--indigo-tint-1:#1e3a8a0a;--indigo-tint-2:#1e3a8a14;--indigo-tint-3:#1e3a8a24;--indigo-tint-4:#1e3a8a38;--indigo-tint-5:#1e3a8a5c;--json-key:#7c3aed;--json-string:#047857;--json-number:#1d4ed8;--json-boolean:#c2410c;--json-null:#64748b}body{background:radial-gradient(circle at top left, var(--accent-secondary-bg-trans), transparent 25%), var(--bg-primary);min-height:100vh;color:var(--text-primary);margin:0;padding:0;transition:background-color .3s,color .3s;overflow:hidden}#root{flex-direction:column;width:100vw;height:100vh;display:flex}body.lp-mode{overflow:auto}body.lp-mode #root{height:auto;min-height:100vh;display:block}.app-header{z-index:50;align-items:center;display:flex}.header-left{align-items:center;gap:10px;display:flex}.logo-icon{color:var(--text-secondary)}.header-title-container{align-items:center;gap:8px;display:flex}.header-title{color:var(--text-primary);margin:0;font-size:14px;font-weight:700}.header-subtitle{color:var(--text-muted);font-size:11px;font-weight:500}.spec-badge{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-secondary);border-radius:4px;padding:2px 6px;font-size:10.5px;font-weight:600}.theme-toggle-btn{background:var(--bg-primary);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;transition:all .2s;display:flex}.theme-toggle-btn:hover{color:var(--text-primary);border-color:var(--border-active);box-shadow:var(--shadow-sm);transform:scale(1.05)}.dashboard-grid{flex:1;grid-template-columns:380px 1fr 390px;display:grid;position:relative;overflow:hidden}.sidebar{background:var(--bg-secondary);border-right:1px solid var(--border-color);flex-direction:column;gap:0;padding:12px;transition:background-color .3s,border-color .3s;display:flex;overflow:hidden}.control-group{background:var(--bg-tertiary);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);border-radius:14px;flex-direction:column;gap:16px;padding:18px;transition:all .3s;display:flex}.control-group:hover{border-color:var(--border-active)}.group-title{color:var(--text-primary);border-bottom:1px solid var(--border-color);align-items:center;gap:8px;margin:0;padding-bottom:12px;font-size:13.5px;font-weight:700;display:flex}h1,h2,h3,h4,.group-title,.scenario-status-title,.legend-title,.details-title,.sidebar-tab-btn,.lp-site-brand{font-family:var(--font-display);letter-spacing:-.02em}.speed-val,.timeline-num,.active-step-badge,.version-toggle-btn,.details-meta-pill,.progress-bar,.participant-bar-code{font-variant-numeric:tabular-nums}.segmented-control{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:10px;gap:2px;padding:3px;display:flex;box-shadow:inset 0 2px 4px #00000005}.segment-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;padding:8px 6px;font-family:inherit;font-size:11px;font-weight:600;transition:all .2s;display:flex}.segment-btn:hover:not(.selected){color:var(--text-primary);background:#ffffff08}.segment-btn.selected{background:var(--bg-secondary);color:var(--text-primary);border-color:var(--border-color);box-shadow:var(--shadow-sm)}.segment-icon{color:var(--text-muted);transition:color .2s}.segment-btn.selected .segment-icon{color:var(--accent-secondary)}.segment-title{font-size:10.5px;font-weight:700}.segment-desc{color:var(--text-muted);text-transform:uppercase;font-size:8px}.select-fields{flex-direction:column;gap:16px;display:flex}.field-container{flex-direction:column;gap:8px;display:flex}.field-label{color:var(--text-secondary);letter-spacing:.01em;justify-content:space-between;align-items:center;font-size:11px;font-weight:700;display:flex}.tooltip-indicator{color:var(--text-muted);cursor:help;align-items:center;display:flex}.tooltip-indicator:hover{color:var(--text-secondary)}.trans-status-container{flex-direction:column;gap:10px;display:flex}.status-buttons{grid-template-columns:repeat(5,1fr);gap:6px;display:grid}.status-btn{background:var(--bg-primary);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;padding:10px 0;font-family:inherit;font-size:12px;font-weight:800;transition:all .2s;display:flex}.status-btn.selected{box-shadow:0 4px 12px #0d3e5c47;color:#fff!important}.status-btn.Y.selected{background:#10b981;border-color:#34d399}.status-btn.A.selected{background:#3b82f6;border-color:#60a5fa}.status-btn.N.selected{background:#ef4444;border-color:#f87171}.status-btn.U.selected{background:#6b7280;border-color:#9ca3af}.status-btn.R.selected{background:#b91c1c;border-color:#ef4444}.status-btn.C.selected{background:var(--accent-primary);border-color:#154d75}.status-btn.D.selected{background:#06b6d4;border-color:#22d3ee}.status-btn.I.selected{background:#0ea5e9;border-color:#38bdf8}.status-btn.S.selected{background:#8b5cf6;border-color:#a78bfa}.path-pill{letter-spacing:.02em;text-transform:uppercase;background:var(--bg-secondary);color:var(--text-secondary);white-space:nowrap;border:1px solid #0000;border-radius:999px;padding:3px 7px;font-size:9.5px;font-weight:800;transition:all .15s;display:inline-block}.path-pill-neutral{background:var(--bg-secondary);color:var(--text-secondary);border-color:var(--border-color)}.path-pill-success{color:#047857;background:#10b9811f;border-color:#10b98166}.path-pill-warn{color:#b45309;background:#f59e0b24;border-color:#f59e0b66}.path-pill-danger{color:#b91c1c;background:#ef44441f;border-color:#ef444466}.path-pill-info{color:#0e7490;background:#06b6d41f;border-color:#06b6d466}.path-pill-accent{color:#1d4ed8;background:#2563eb1a;border-color:#2563eb59}body:not(.light-theme) .path-pill-success{color:#10b981}body:not(.light-theme) .path-pill-warn{color:#fbbf24}body:not(.light-theme) .path-pill-danger{color:#f87171}body:not(.light-theme) .path-pill-info{color:#22d3ee}body:not(.light-theme) .path-pill-accent{color:#60a5fa}.status-btn{transition:transform .15s cubic-bezier(.4,0,.2,1),border-color .15s,background-color .15s,box-shadow .15s}.status-btn:hover:not(.selected){border-color:var(--border-active);color:var(--text-primary);box-shadow:var(--shadow-sm);background:var(--bg-secondary);transform:translateY(-1.5px)}.status-caption{color:var(--text-secondary);background:var(--bg-primary);border-left:3px solid var(--accent-secondary);border-right:1px solid var(--border-color);border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color);border-radius:8px;padding:10px 12px;font-size:11px;line-height:1.45}.ds-failure-warning{color:#ef4444;background:#ef44440d;border:1px solid #ef444426;border-radius:10px;padding:12px 14px;font-size:11.5px;font-weight:500;line-height:1.45}.player-group{border:1.5px solid var(--border-active);background:#0d3e5c0a}.player-meta{justify-content:space-between;align-items:center;display:flex}.step-counter{color:var(--text-secondary);font-size:12px;font-weight:600}.counter-current{color:var(--accent-secondary);font-weight:800}.active-step-badge{color:var(--accent-secondary);background:#0d3e5c2e;border:1px solid #0d3e5c52;border-radius:4px;padding:2px 8px;font-size:10px;font-weight:800}.active-step-label-container{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:10px;align-items:center;height:52px;padding:8px 14px;display:flex;overflow:hidden}.active-step-label{color:var(--text-primary);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:13px;font-weight:600;line-height:1.35;display:-webkit-box;overflow:hidden}.player-bar{flex-direction:column;gap:14px;display:flex}.player-buttons{justify-content:center;align-items:center;gap:12px;display:flex}.player-btn{background:var(--bg-primary);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;width:38px;height:38px;box-shadow:var(--shadow-sm);border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex}.player-btn:hover:not(:disabled){border-color:var(--border-active);color:var(--text-primary);transform:scale(1.06)}.player-btn:disabled{opacity:.35;cursor:not-allowed;box-shadow:none}.play-pause-btn{background:var(--accent-secondary);width:46px;height:46px;color:var(--emv-ink);border:none}.play-pause-btn:hover{background:var(--accent-primary);box-shadow:0 0 14px #2563eb73}.play-pause-btn.playing{background:var(--emv-navy);color:#fff}.play-pause-btn.playing:hover{background:#154d75;box-shadow:0 0 14px #0d3e5c73}.speed-control{color:var(--text-secondary);align-items:center;gap:12px;font-size:11.5px;display:flex}.speed-label{font-weight:700}.speed-slider{accent-color:var(--accent-secondary);cursor:pointer;border-radius:2px;flex:1;height:4px}.speed-val{text-align:right;width:30px;font-weight:700;font-family:var(--font-mono,"Geist Mono", monospace);color:var(--text-primary)}.progress-container{background:var(--bg-primary);cursor:pointer;border:1px solid var(--border-color);border-radius:3px;height:6px;position:relative;overflow:hidden}.progress-bar{background:linear-gradient(90deg, var(--accent-secondary), #c7e46c);border-radius:3px;height:100%;transition:width .15s ease-out}.canvas-panel{background:var(--bg-primary);height:100%;transition:background-color .3s;position:relative}.legend-title{text-transform:uppercase;color:var(--text-muted);letter-spacing:.05em;margin:0;font-size:10px;font-weight:700}.legend-items{grid-template-columns:repeat(3,1fr);gap:6px 12px;display:grid}.legend-item{color:var(--text-primary);align-items:center;gap:6px;font-size:11px;font-weight:600;display:flex}.legend-dot{border-radius:50%;width:8px;height:8px}.legend-groups{flex-direction:column;min-width:250px;grid-template-columns:none!important;gap:3px!important;display:flex!important}.legend-group-item{color:var(--text-secondary);border-radius:4px;align-items:center;gap:6px;padding:2px 4px;font-size:10.5px;font-weight:600;transition:all .15s;display:flex}.legend-group-item.is-current{background:var(--bg-tertiary);color:var(--text-primary);font-weight:800}button.legend-group-item{cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;width:100%;padding:4px 6px;font-family:inherit}button.legend-group-item:hover:not(:disabled){border-color:var(--border-color);background:#0d3e5c1a}.light-theme button.legend-group-item:hover:not(:disabled){background:#0d3e5c0d}button.legend-group-item.is-current:hover:not(:disabled){background:var(--bg-tertiary);border-color:#9bc84257}button.legend-group-item:disabled{cursor:not-allowed}button.legend-group-item.is-hidden{text-decoration:line-through;-webkit-text-decoration-color:var(--text-muted);text-decoration-color:var(--text-muted);color:var(--text-muted);opacity:.72;text-decoration-thickness:1px}button.legend-group-item.is-hidden .legend-group-swatch{opacity:.45;background:var(--text-muted)!important}button.legend-group-item.is-inactive{opacity:.45}.legend-group-eye{color:var(--text-muted);opacity:.65;flex-shrink:0;align-items:center;margin-left:auto;transition:all .15s;display:inline-flex}button.legend-group-item:hover .legend-group-eye{opacity:1;color:var(--text-primary)}button.legend-group-item.is-hidden .legend-group-eye{color:#ef4444;opacity:1}.legend-group-swatch{border-radius:2px;flex-shrink:0;width:10px;height:10px;box-shadow:inset 0 0 0 1px #ffffff0f}.legend-group-label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.legend-header{justify-content:space-between;align-items:center;gap:6px;display:flex}.legend-header .legend-title{margin:0}.legend-header-actions{align-items:center;gap:6px;display:flex}.legend-mini-btn{border:1px solid var(--border-color);color:var(--text-secondary);letter-spacing:.02em;cursor:pointer;background:0 0;border-radius:4px;align-items:center;gap:3px;padding:3px 6px;font-size:10px;font-weight:700;transition:all .15s;display:inline-flex}.legend-mini-btn:hover:not(:disabled){color:var(--text-primary);background:#2563eb14;border-color:#2563eb57}.legend-mini-btn:disabled{opacity:.35;cursor:not-allowed}.legend-hidden-banner{color:#fbbf24;background:#f59e0b14;border:1px solid #f59e0b38;border-radius:4px;margin-top:4px;padding:4px 6px;font-size:9.5px;font-weight:600;line-height:1.35}.light-theme .legend-hidden-banner{color:#92400e;background:#f59e0b1f}.security-theme .legend-hidden-banner{color:#fde68a;background:#f59e0b1a;border-color:#f59e0b52}.legend-group-row{border-radius:4px;align-items:stretch;gap:2px;display:flex;position:relative}.legend-group-row .legend-group-item{flex:1;min-width:0}.legend-group-row.is-isolated{background:#2563eb0f;box-shadow:inset 0 0 0 1px #2563eb47}.legend-isolate-btn{width:22px;height:auto;color:var(--text-muted);cursor:pointer;opacity:.55;background:0 0;border:1px solid #0000;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-family:inherit;transition:all .15s;display:inline-flex}.legend-isolate-btn:hover{opacity:1;color:var(--accent-primary);background:#2563eb1a;border-color:#2563eb4d}.legend-isolate-btn.is-active{opacity:1;color:var(--accent-primary);background:#2563eb24;border-color:#2563eb73;box-shadow:0 0 8px #2563eb40}.legend-isolate-btn.is-active:hover{color:#1d4ed8;background:#2563eb33}.step-group-band{z-index:0}.step-group-band.is-current{filter:brightness(1.05)}.content-card{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;flex-direction:column;gap:4px;padding:10px 12px;display:flex}.context-banner{transition:all .18s}.context-banner:hover{filter:brightness(1.05)}.glossary-entry{transition:all .18s}.glossary-entry:hover{border-color:var(--accent-primary)!important;background:var(--bg-secondary)!important}.badge-button{font-family:inherit;transition:all .15s}.badge-button:hover{filter:brightness(1.15);transform:translateY(-1px)}.badge-button:active{transform:translateY(0)}@keyframes bandPulse{0%,to{opacity:.55}50%{opacity:.78}}.step-group-band.is-current{animation:2.4s ease-in-out infinite bandPulse}.react-flow__node,.react-flow__node-participantHeader,.react-flow__node-domainContainer,.react-flow__node-stepGroupBand{cursor:pointer}.react-flow__pane{background:var(--bg-primary);transition:background-color .3s}.react-flow__edge-path{stroke-width:2.5px;transition:stroke .3s,stroke-width .3s,opacity .3s}.react-flow__edge.animated .react-flow__edge-path{stroke-dasharray:6;filter:drop-shadow(0 0 6px var(--edge-stroke,var(--accent-primary)));animation:.5s linear infinite flowEdgePulse}.react-flow__edge-text{font-family:inherit;font-size:10px;font-weight:700;fill:var(--text-primary)!important}.react-flow__edge-textbg{fill-opacity:.95;rx:6;ry:6;stroke:var(--edge-stroke,var(--accent-primary));stroke-width:1.5px;filter:drop-shadow(0 2px 6px #00000040);transition:fill .3s,stroke .3s;fill:var(--bg-secondary)!important}.participant-header-node{transition:transform .2s ease-in-out,background-color .3s,border-color .3s;background:var(--bg-secondary)!important}.participant-header-node:hover{transform:translateY(-3px)}.lifeline-anchor-node{transition:all .3s}.lifeline-anchor-node.highlighted{transform:scale(1.3)}.internal-step-node{box-shadow:var(--shadow-sm);transition:all .3s;background:var(--bg-secondary)!important}.internal-step-node.highlighted{box-shadow:var(--shadow-md);transform:scale(1.03)}.details-sidebar{background:var(--bg-secondary);border-left:1px solid var(--border-color);flex-direction:column;transition:background-color .3s,border-color .3s;display:flex;overflow-y:auto}.details-panel{flex-direction:column;gap:12px;height:100%;padding:0;display:flex;overflow:hidden}.details-header{flex-direction:column;gap:12px;display:flex}.details-meta{justify-content:space-between;align-items:center;display:flex}.details-step-badge{background:var(--accent-primary);color:#fff;border-radius:6px;padding:3px 10px;font-size:11px;font-weight:800}.details-spec-ref{color:var(--text-muted);align-items:center;font-size:11px;font-weight:600;display:flex}.details-title{color:var(--text-primary);letter-spacing:-.015em;margin:0;font-size:20px;font-weight:700;line-height:1.25}.flow-direction{align-items:center;gap:8px;margin-top:4px;display:flex}.direction-node{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary);border-radius:6px;align-items:center;gap:6px;padding:4px 10px;font-size:11px;font-weight:600;transition:all .3s;display:flex}.node-dot{border-radius:50%;width:6px;height:6px}.direction-arrow{color:var(--text-muted);font-size:12px}.details-tabs{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;padding:3px;transition:background-color .3s,border-color .3s;display:flex}.tab-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:6px;flex:1;justify-content:center;align-items:center;padding:8px 0;font-family:inherit;font-size:12px;font-weight:600;transition:all .2s;display:flex}.tab-btn.active{background:var(--bg-secondary);color:var(--text-primary);box-shadow:var(--shadow-sm)}.details-content{flex-direction:column;flex:1;display:flex;overflow:hidden}.tab-pane{flex-direction:column;flex:1;gap:16px;display:flex;overflow-y:auto}.step-explanation{color:var(--text-secondary);margin:0;font-size:13.5px;line-height:1.6}.parameter-card{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:12px;padding:14px;transition:all .3s}.param-card-title{color:var(--text-primary);align-items:center;margin:0 0 10px;font-size:12.5px;font-weight:700;display:flex}.param-list{color:var(--text-secondary);flex-direction:column;gap:8px;margin:0;padding-left:18px;font-size:12px;line-height:1.55;display:flex}.param-list code{background:var(--bg-primary);border:1px solid var(--border-color);font-family:var(--font-mono,"Geist Mono", monospace);color:var(--accent-secondary);border-radius:4px;padding:1px 4px}.status-badge-text{border-radius:4px;padding:1px 5px;font-weight:800}.status-badge-text.Y{color:#10b981;background:#10b9811a}.status-badge-text.A{color:#3b82f6;background:#3b82f61a}.status-badge-text.N{color:#ef4444;background:#ef44441a}.status-badge-text.U{color:#6b7280;background:#6b72801a}.status-badge-text.R{color:#b91c1c;background:#b91c1c1a}.payload-pane{box-shadow:var(--shadow-sm);--json-key:#c084fc;--json-string:#34d399;--json-number:#60a5fa;--json-boolean:#fb923c;--json-null:#a1a1aa;--text-primary:#f8fafc;--text-secondary:#cbd5e1;--text-muted:#64748b;--border-color:#ffffff14;--bg-primary:#080d16;--bg-secondary:#0e1524;--bg-tertiary:#161e2e;border-radius:12px;flex-direction:column;transition:all .3s;display:flex;overflow:hidden;background:#080d16!important;border:1px solid #ffffff14!important}.payload-toolbar{background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;height:40px;padding:0 14px;transition:background-color .3s,border-color .3s;display:flex}.payload-title{color:var(--text-secondary);letter-spacing:.025em;text-transform:uppercase;font-size:11px;font-weight:700}.copy-btn{background:var(--bg-primary);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;box-shadow:var(--shadow-sm);border-radius:6px;align-items:center;gap:6px;padding:4px 10px;font-family:inherit;font-size:11px;font-weight:600;transition:all .2s;display:flex}.copy-btn:hover{border-color:var(--border-active);color:var(--text-primary)}.copied-icon{color:#10b981}.highlighted-code-container{font-family:var(--font-mono,"Geist Mono", monospace);white-space:pre-wrap;word-break:break-all;flex:1;margin:0;padding:14px;font-size:11.5px;line-height:1.6;overflow-y:auto}.json-key{color:var(--json-key);font-weight:600}.json-string{color:var(--json-string)}.json-number{color:var(--json-number)}.json-boolean{color:var(--json-boolean);font-weight:700}.json-null{color:var(--json-null);font-style:italic}.json-punctuation{color:var(--text-secondary)}.form-data-display{flex-direction:column;flex:1;gap:14px;padding:14px;display:flex;overflow-y:auto}.form-fields-box{background:var(--bg-tertiary);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);border-radius:8px;flex-direction:column;gap:8px;padding:12px;display:flex}.form-field-row{font-family:var(--font-mono,"Geist Mono", monospace);grid-template-columns:150px 1fr;font-size:11px;line-height:1.45;display:grid}.form-field-key{color:var(--accent-secondary);font-weight:700}.form-field-value{color:var(--text-primary);word-break:break-all}.decoded-json-box{border-top:1px dashed var(--border-color);flex-direction:column;gap:8px;padding-top:14px;display:flex}.decoded-header{color:var(--text-secondary);font-size:11px;font-weight:700}.json-pre{background:var(--bg-tertiary);border:1px solid var(--border-color);font-family:var(--font-mono,"Geist Mono", monospace);color:var(--text-primary);border-radius:8px;margin:0;padding:12px;font-size:11px;overflow-y:auto}.fade-in{animation:.25s ease-out forwards fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes logoPulse{0%,to{filter:drop-shadow(0 0 4px #9bc8424d);transform:scale(1)}50%{filter:drop-shadow(0 0 12px #9bc8428c);transform:scale(1.04)}}@keyframes flowEdgePulse{0%{stroke-dashoffset:24px}to{stroke-dashoffset:0}}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#80808026;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#80808040}.light-theme ::-webkit-scrollbar-thumb{background:#00000014}.light-theme ::-webkit-scrollbar-thumb:hover{background:#0000002e}.react-flow__controls{transition:background-color .3s,border-color .3s;overflow:hidden;box-shadow:var(--shadow-md)!important;border:1px solid var(--border-color)!important;background:var(--bg-secondary)!important;border-radius:8px!important;flex-direction:column!important;margin:16px!important;display:flex!important}.react-flow__controls-button{background:var(--bg-secondary)!important;border:none!important;border-bottom:1px solid var(--border-color)!important;color:var(--text-secondary)!important;fill:var(--text-secondary)!important;justify-content:center!important;align-items:center!important;width:32px!important;height:32px!important;transition:all .2s!important;display:flex!important}.react-flow__controls-button:hover{background:var(--bg-tertiary)!important;color:var(--accent-secondary)!important;fill:var(--accent-secondary)!important}.react-flow__controls-button svg{fill:currentColor!important}.react-flow__edge-label-box{transition:all .2s}.react-flow__edge-label-box:hover{transform:scale(1.05)translate(-50%,-50%);border-color:var(--accent-secondary)!important;box-shadow:var(--shadow-md)!important}.react-flow__edge-label-box.current{box-shadow:0 4px 12px #00000026!important}.react-flow__minimap{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:background-color .3s,border-color .3s;overflow:hidden;background:var(--bg-glass)!important;border:1px solid var(--border-color)!important;box-shadow:var(--shadow-md)!important;border-radius:10px!important;margin:16px!important}.react-flow__minimap-mask{fill:#00000059!important}.light-theme .react-flow__minimap-mask{fill:#ffffff59!important}.react-flow__minimap-node{fill:#8080801f!important;stroke:var(--border-color)!important}.timeline-container{flex-direction:column;gap:8px;max-height:280px;padding-right:4px;display:flex;overflow-y:auto}.timeline-step{cursor:pointer;text-align:left;background:#ffffff03;border:1px solid #0000;border-radius:8px;align-items:center;gap:10px;padding:8px 12px;font-size:12px;font-weight:500;transition:all .2s;display:flex}.timeline-step.current{background:var(--bg-primary);border-color:var(--border-active);color:var(--text-primary);font-weight:700}.timeline-step.past{color:var(--text-secondary)}.timeline-step.future{color:var(--text-muted)}.timeline-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;transition:all .2s}.timeline-dot.past{background:#10b981}.timeline-dot.current{background:var(--accent-secondary);box-shadow:0 0 8px var(--accent-secondary);animation:1.5s ease-in-out infinite dotPulse}.timeline-dot.future{background:var(--text-muted)}@keyframes dotPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.2)}}.timeline-num{font-family:var(--font-mono,"Geist Mono", monospace);min-width:32px;font-size:10.5px;font-weight:700}.timeline-text{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.scenario-status-card{border:1px solid var(--border-active);box-shadow:var(--shadow-md);background:linear-gradient(135deg,#0d3e5c40 0%,#0284c70f 100%);border-radius:14px;flex-direction:column;gap:10px;margin-bottom:4px;padding:16px;display:flex;position:relative;overflow:hidden}.light-theme .scenario-status-card{background:linear-gradient(135deg,#2563eb0d 0%,#0284c708 100%);border-color:#2563eb38}.scenario-status-card:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(circle,#2563eb0f 0%,#0000 60%);width:200%;height:200%;position:absolute;top:-50%;left:-50%}.scenario-status-header{z-index:1;justify-content:space-between;align-items:center;display:flex}.scenario-status-title{text-transform:uppercase;color:var(--text-secondary);letter-spacing:.05em;align-items:center;gap:6px;font-size:11px;font-weight:800;display:flex}.scenario-status-title svg{color:var(--accent-secondary)}.scenario-status-badge{letter-spacing:.025em;text-transform:uppercase;border-radius:6px;padding:4px 10px;font-size:10px;font-weight:800;box-shadow:0 2px 8px #00000026}.scenario-status-badge.success{color:#34d399;background:#10b98126;border:1px solid #10b98159}.light-theme .scenario-status-badge.success{color:#065f46;background:#10b9811f;border-color:#10b9814d}.scenario-status-badge.attempt{color:#b9d5e8;background:#0d3e5c4d;border:1px solid #0d3e5c80}.light-theme .scenario-status-badge.attempt{color:#0d3e5c;background:#0d3e5c1f;border-color:#0d3e5c40}.scenario-status-badge.failure{color:#ef4444;background:#ef444426;border:1px solid #ef44444d}.scenario-status-badge.warning{color:#f59e0b;background:#f59e0b26;border:1px solid #f59e0b4d}.scenario-status-desc{color:var(--text-secondary);z-index:1;font-size:11.5px;line-height:1.45}.active-lifeline path{stroke-dasharray:none!important;animation:none!important}.player-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #2563eb40}.segment-btn:hover{transform:scale(1.02)}.timeline-step{border-left:3px solid #0000!important;border-radius:0 8px 8px 0!important}.timeline-step.past:hover{background:#2563eb0a!important}.details-key-value-card{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:10px;flex-direction:column;gap:8px;padding:12px;transition:all .3s;display:flex}.details-key-value-card:hover{border-color:var(--border-active);box-shadow:var(--shadow-sm)}.sidebar{width:100%;transition:all .3s cubic-bezier(.4,0,.2,1)}.sidebar.collapsed{opacity:0!important;border-right:none!important;width:0!important;min-width:0!important;max-width:0!important;padding:0!important;overflow:hidden!important}.details-sidebar{width:100%;transition:all .3s cubic-bezier(.4,0,.2,1)}.details-sidebar.collapsed{opacity:0!important;border-left:none!important;width:0!important;min-width:0!important;max-width:0!important;padding:0!important;overflow:hidden!important}.panel-toggle-btn{background:var(--bg-glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;z-index:1000;width:20px;height:60px;box-shadow:var(--shadow-md);justify-content:center;align-items:center;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;top:50%;transform:translateY(-50%)}.panel-toggle-btn:hover{color:var(--text-primary);border-color:var(--border-active);background:var(--bg-tertiary);width:24px}.panel-toggle-btn.left{border-left:none;border-radius:0 10px 10px 0;left:0}.panel-toggle-btn.right{border-right:none;border-radius:10px 0 0 10px;right:0}.react-flow__edge-label-box{text-align:center!important;max-width:240px!important;font-size:10.5px!important;line-height:1.3!important}.fingerprint-widget{z-index:8;color:#e4e4e7;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#09090beb;border:1px solid #10b9814d;border-radius:12px;flex-direction:column;gap:12px;width:320px;max-height:calc(100% - 110px);padding:14px;font-family:inherit;animation:.3s cubic-bezier(.16,1,.3,1) slideUp;display:flex;position:absolute;top:18px;right:18px;overflow-y:auto;box-shadow:0 12px 40px -10px #00000080,0 0 20px #10b9811a}.light-theme .fingerprint-widget{color:#18181b;background:#ffffffe6;border:1px solid #10b98166;box-shadow:0 12px 40px -10px #00000026,0 0 20px #10b9810d}.security-theme .fingerprint-widget{color:#d9f5d9;background:#06120af5;border:1px solid #00ff4173;box-shadow:0 12px 40px -10px #000000b3,0 0 24px #00ff412e}.security-theme .live-indicator{background:#00ff41}.security-theme .widget-progress-label{color:#00ff41}.security-theme .widget-progress-bar-bg{background:#00ff411a}.security-theme .widget-field{background:#00ff410d;border:1px solid #00ff4124}.security-theme .field-label{color:#4a8a4a}.security-theme .field-value{color:#d9f5d9}.security-theme .widget-footer{color:#4a8a4a;border-top:1px solid #00ff4124}.widget-header{justify-content:space-between;align-items:center;font-size:10px;font-weight:700;display:flex}.live-indicator{background:#10b981;border-radius:50%;width:6px;height:6px}.pulsing{animation:1.5s ease-in-out infinite pulseGlow}@keyframes pulseGlow{0%,to{opacity:.4;transform:scale(1);box-shadow:0 0 #10b98100}50%{opacity:1;transform:scale(1.2);box-shadow:0 0 6px #10b981cc}}.widget-progress-container{flex-direction:column;gap:4px;display:flex}.widget-progress-label{color:#10b981;justify-content:space-between;font-size:9px;font-weight:700;display:flex}.widget-progress-bar-bg{background:#ffffff1a;border-radius:2px;height:4px;overflow:hidden}.light-theme .widget-progress-bar-bg{background:#0000001a}.widget-progress-bar-fill{background:#10b981;border-radius:2px;height:100%;transition:width .1s linear}.widget-grid{flex-direction:column;gap:8px;display:flex}.widget-row{gap:8px;display:flex}.widget-row>.widget-field{flex:1}.widget-field{background:#ffffff08;border:1px solid #ffffff0d;border-radius:6px;flex-direction:column;gap:2px;padding:6px 8px;display:flex}.light-theme .widget-field{background:#00000005;border:1px solid #0000000a}.field-label{text-transform:uppercase;color:#a1a1aa;letter-spacing:.02em;font-size:8px;font-weight:700}.field-value{color:#f4f4f5;word-break:break-all;font-size:10px;font-weight:600}.light-theme .field-value{color:#27272a}.widget-footer{color:#a1a1aa;border-top:1px solid #ffffff14;padding-top:8px;font-size:8.5px;font-style:italic;line-height:1.3}.light-theme .widget-footer{color:#71717a;border-top:1px solid #00000014}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.sidebar-tabs{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:10px;gap:4px;margin-bottom:4px;padding:4px;display:flex}.sidebar-tab-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:8px;padding:8px 12px;font-size:11.5px;font-weight:700;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}.sidebar-tab-btn.active{color:var(--accent-secondary);background:var(--bg-glass);box-shadow:var(--shadow-sm);border:1px solid var(--border-active)}.timeline-group{flex-direction:column;flex:1;display:flex;overflow:hidden}.timeline-container{flex-direction:column;flex:1;gap:6px;padding-right:4px;display:flex;overflow-y:auto}.active-message-edge{stroke-dasharray:6 4!important;animation:.8s linear infinite messageEdgeScroll!important}@keyframes messageEdgeScroll{0%{stroke-dashoffset:20px}to{stroke-dashoffset:0}}.data-packet{will-change:transform}.data-packet-chip{background:var(--bg-secondary);border:1.5px solid var(--packet-color,var(--accent-primary));color:var(--text-primary);font-size:10px;font-weight:800;font-family:var(--font-mono,"Geist Mono", monospace);letter-spacing:.01em;box-shadow:0 4px 10px #00000038, 0 0 0 1px #ffffff0a inset, 0 0 12px color-mix(in srgb, var(--packet-color,var(--accent-primary)) 35%, transparent);white-space:nowrap;animation-name:dataPacketTravel;animation-duration:var(--travel-duration,2s);border-radius:999px;align-items:center;gap:5px;padding:3px 8px 3px 6px;animation-timing-function:linear;animation-iteration-count:infinite;animation-direction:normal;display:inline-flex;transform:translate(-50%,14px)}.data-packet-dot{background:var(--packet-color,var(--accent-primary));width:6px;height:6px;box-shadow:0 0 6px var(--packet-color,var(--accent-primary));border-radius:50%;flex-shrink:0;animation:.9s ease-in-out infinite dataPacketPulse}.data-packet-type{color:var(--packet-color,var(--accent-primary));font-weight:900}.data-packet-field{color:var(--text-muted);text-overflow:ellipsis;max-width:110px;font-weight:600;overflow:hidden}@keyframes dataPacketTravel{0%{opacity:0;transform:translate(-50%,14px)translate(0)}8%{opacity:1}92%{opacity:1}to{transform:translate(-50%, 14px) translateX(var(--travel-distance,0px));opacity:0}}@keyframes dataPacketPulse{0%,to{filter:brightness();transform:scale(1)}50%{filter:brightness(1.3);transform:scale(1.4)}}@media (prefers-reduced-motion:reduce){.data-packet-chip,.data-packet-dot,.active-message-edge{animation:none!important}}.canvas-empty-state{z-index:5;background:var(--bg-glass);border:1px solid var(--border-color);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);text-align:center;border-radius:12px;flex-direction:column;align-items:center;gap:8px;max-width:360px;padding:18px 22px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 12px 28px #0000002e}.canvas-empty-state-title{color:var(--text-primary);letter-spacing:-.01em;font-size:13px;font-weight:800}.canvas-empty-state-desc{color:var(--text-secondary);font-size:11px;line-height:1.45}.canvas-empty-state-desc strong{color:var(--accent-primary);font-weight:800}.canvas-empty-state-btn{color:var(--accent-primary);cursor:pointer;background:#2563eb1a;border:1px solid #2563eb4d;border-radius:6px;align-items:center;gap:5px;margin-top:4px;padding:5px 10px;font-family:inherit;font-size:10.5px;font-weight:700;transition:all .18s;display:inline-flex}.canvas-empty-state-btn:hover{color:#1d4ed8;background:#2563eb2e;transform:translateY(-1px)}.react-flow{--xy-edge-stroke-default:#b1b1b7;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#555;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#ffffff80;--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:#f0f0f099;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#e2e2e2;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:transparent;--xy-background-pattern-dots-color-default:#91919a;--xy-background-pattern-lines-color-default:#eee;--xy-background-pattern-cross-color-default:#e2e2e2;background-color:var(--xy-background-color,var(--xy-background-color-default));--xy-node-color-default:inherit;--xy-node-border-default:1px solid #1a192b;--xy-node-background-color-default:#fff;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #00000014;--xy-node-boxshadow-selected-default:0 0 0 .5px #1a192b;--xy-node-border-radius-default:3px;--xy-handle-background-color-default:#1a192b;--xy-handle-border-color-default:#fff;--xy-selection-background-color-default:#0059dc14;--xy-selection-border-default:1px dotted #0059dccc;--xy-controls-button-background-color-default:#fefefe;--xy-controls-button-background-color-hover-default:#f4f4f4;--xy-controls-button-color-default:inherit;--xy-controls-button-color-hover-default:inherit;--xy-controls-button-border-color-default:#eee;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#fff;--xy-edge-label-color-default:inherit;--xy-resize-background-color-default:#3367d9;direction:ltr}.react-flow.dark{--xy-edge-stroke-default:#3e3e3e;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#727272;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#96969640;--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:#3c3c3c99;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#2b2b2b;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#141414;--xy-background-pattern-dots-color-default:#555;--xy-background-pattern-lines-color-default:#333;--xy-background-pattern-cross-color-default:#333;--xy-node-color-default:#f8f8f8;--xy-node-border-default:1px solid #3c3c3c;--xy-node-background-color-default:#1e1e1e;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #ffffff14;--xy-node-boxshadow-selected-default:0 0 0 .5px #999;--xy-handle-background-color-default:#bebebe;--xy-handle-border-color-default:#1e1e1e;--xy-selection-background-color-default:#c8c8dc14;--xy-selection-border-default:1px dotted #c8c8dccc;--xy-controls-button-background-color-default:#2b2b2b;--xy-controls-button-background-color-hover-default:#3e3e3e;--xy-controls-button-color-default:#f8f8f8;--xy-controls-button-color-hover-default:#fff;--xy-controls-button-border-color-default:#5b5b5b;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#141414;--xy-edge-label-color-default:#f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props,var(--xy-background-color,var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.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__edge-path{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width,var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke,var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width,var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{pointer-events:none;position:absolute;overflow:visible}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.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.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected,var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}svg.react-flow__connectionline{z-index:1001;position:absolute;overflow:visible}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default;position:absolute}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background-color:var(--xy-handle-background-color,var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color,var(--xy-handle-border-color-default));border-radius:100%;width:6px;min-width:5px;height:6px;min-height:5px;position:absolute}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:0;left:50%;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{z-index:5;margin:15px;position:absolute}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px)translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px)translateY(-50%)}.react-flow__attribution{background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__viewport-portal{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__minimap{background:var(--xy-minimap-background-color-props,var(--xy-minimap-background-color,var(--xy-minimap-background-color-default)))}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var(--xy-minimap-mask-background-color-props,var(--xy-minimap-mask-background-color,var(--xy-minimap-mask-background-color-default)));stroke:var(--xy-minimap-mask-stroke-color-props,var(--xy-minimap-mask-stroke-color,var(--xy-minimap-mask-stroke-color-default)));stroke-width:var(--xy-minimap-mask-stroke-width-props,var(--xy-minimap-mask-stroke-width,var(--xy-minimap-mask-stroke-width-default)))}.react-flow__minimap-node{fill:var(--xy-minimap-node-background-color-props,var(--xy-minimap-node-background-color,var(--xy-minimap-node-background-color-default)));stroke:var(--xy-minimap-node-stroke-color-props,var(--xy-minimap-node-stroke-color,var(--xy-minimap-node-stroke-color-default)));stroke-width:var(--xy-minimap-node-stroke-width-props,var(--xy-minimap-node-stroke-width,var(--xy-minimap-node-stroke-width-default)))}.react-flow__background-pattern.dots{fill:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-dots-color-default)))}.react-flow__background-pattern.lines{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-lines-color-default)))}.react-flow__background-pattern.cross{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-cross-color-default)))}.react-flow__controls{box-shadow:var(--xy-controls-box-shadow,var(--xy-controls-box-shadow-default));flex-direction:column;display:flex}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{background:var(--xy-controls-button-background-color,var(--xy-controls-button-background-color-default));border:none;border-bottom:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)));width:26px;height:26px;color:var(--xy-controls-button-color-props,var(--xy-controls-button-color,var(--xy-controls-button-color-default)));cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:4px;display:flex}.react-flow__controls-button svg{fill:currentColor;width:100%;max-width:12px;max-height:12px}.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-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{border-radius:var(--xy-node-border-radius,var(--xy-node-border-radius-default));width:150px;color:var(--xy-node-color,var(--xy-node-color-default));text-align:center;border:var(--xy-node-border,var(--xy-node-border-default));background-color:var(--xy-node-background-color,var(--xy-node-background-color-default));padding:10px;font-size:12px}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover,var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.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:var(--xy-node-boxshadow-selected,var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color,var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color,var(--xy-selection-background-color-default));border:var(--xy-selection-border,var(--xy-selection-border-default))}.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-button:hover{background:var(--xy-controls-button-background-color-hover-props,var(--xy-controls-button-background-color-hover,var(--xy-controls-button-background-color-hover-default)));color:var(--xy-controls-button-color-hover-props,var(--xy-controls-button-color-hover,var(--xy-controls-button-color-hover-default)))}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)))}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.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{background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border:1px solid #fff;border-radius:1px;width:5px;height:5px;translate:-50% -50%}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.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:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border-style:solid;border-width:0}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color,var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color,var(--xy-edge-label-color-default))}.scenario-toolbar{border-bottom:1px solid var(--border-color);background:linear-gradient(180deg, var(--accent-secondary-bg-trans), transparent), var(--bg-glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);flex-direction:column;flex-shrink:0;justify-content:flex-start;gap:10px;padding:10px 16px;transition:padding .2s;display:flex}.scenario-toolbar.collapsed{gap:0;padding:6px 16px}.scenario-toolbar-row{flex-wrap:wrap;align-items:center;gap:14px;min-height:30px;display:flex}.scenario-toolbar.collapsed .scenario-toolbar-row{min-height:28px}.scenario-toolbar-toggle{border:1px solid var(--accent-secondary-border-trans);background:var(--accent-secondary-bg-trans);height:28px;color:var(--accent-secondary);letter-spacing:.03em;cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:0 10px;font-size:11px;font-weight:700;transition:border-color .18s,background-color .18s;display:inline-flex}.scenario-toolbar-toggle:hover{border-color:var(--accent-secondary);background:var(--accent-secondary-bg-trans)}.scenario-toolbar-toggle .scenario-toolbar-kicker{color:inherit;letter-spacing:.03em;font-size:11px;font-weight:700}.scenario-toolbar-copy{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.scenario-toolbar.collapsed .scenario-toolbar-copy{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;align-items:center;max-width:60%;overflow:hidden}.scenario-toolbar-copy strong{color:var(--text-primary);white-space:nowrap;font-size:13px}.scenario-toolbar-copy span{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.scenario-toolbar.collapsed .scenario-toolbar-copy strong{font-size:12px}.scenario-preset-list{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px;padding-top:4px;display:grid}.scenario-preset-btn{border:1px solid var(--border-color);background:var(--bg-secondary);box-shadow:var(--shadow-sm);color:inherit;cursor:pointer;text-align:left;border-radius:8px;flex-direction:column;gap:3px;padding:8px 12px;transition:all .18s;display:flex}.scenario-preset-btn:hover{border-color:var(--accent-secondary);box-shadow:var(--shadow-md);transform:translateY(-1px)}.scenario-preset-btn.active{border-color:var(--accent-primary);background:#6366f124;box-shadow:0 0 14px #6366f140}.scenario-preset-label{color:var(--text-primary);font-size:11.5px;font-weight:700}.scenario-preset-summary{color:var(--text-muted);font-size:10.5px;line-height:1.35}.scenario-facts{flex-wrap:wrap;place-content:center flex-end;gap:6px;min-width:0;display:flex}.scenario-toolbar.collapsed .scenario-facts{margin-left:auto}.scenario-fact-pill{border:1px solid var(--border-color);background:var(--bg-secondary);border-radius:8px;flex-direction:row;align-items:center;gap:6px;min-width:0;padding:3px 8px;display:flex}.scenario-toolbar.collapsed .scenario-fact-pill{background:0 0;border-color:#0000;padding:2px 6px}.scenario-fact-label{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;font-size:9.5px;font-weight:700}.scenario-toolbar.collapsed .scenario-fact-label{display:none}.scenario-fact-value{color:var(--text-primary);font-size:11.5px;font-weight:700}@media (width<=1280px){.scenario-toolbar{flex-direction:column}.scenario-facts{justify-content:flex-start}}.app-header{background:linear-gradient(180deg, #0d3e5c2e, #0d3e5c0a), var(--bg-secondary);z-index:50;border-bottom:1px solid #8890a32e;flex-shrink:0;align-items:center;gap:12px;height:56px;padding:0 16px;display:flex;position:relative;box-shadow:inset 0 1px #ffffff05}.light-theme .app-header{background:linear-gradient(180deg, #0d3e5c0a, #0d3e5c03), var(--bg-secondary)}.header-brand{flex-shrink:0;align-items:center;gap:10px;display:flex}.header-title{letter-spacing:-.01em;color:var(--text-primary);white-space:nowrap;font-size:14px;font-weight:700}.header-divider{background:var(--border-color);width:1px;height:20px;margin:0 2px}.header-step-indicator{color:var(--text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap;padding:0 4px;font-size:11px;font-weight:700}.header-step-indicator .step-sep{color:var(--text-muted);margin:0 2px}.logo-icon{color:var(--accent-secondary);flex-shrink:0}.header-phase-rail{scrollbar-width:none;flex:1;align-items:center;gap:6px;min-width:0;display:flex;overflow-x:auto}.header-phase-rail::-webkit-scrollbar{display:none}.lp-inlab-nav{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;flex-shrink:0;align-items:center;gap:2px;margin-left:6px;padding:2px;display:inline-flex}.light-theme .lp-inlab-nav{background:#fff;border-color:#e2e8f0;box-shadow:0 1px 2px #0f172a0a}.inlab-nav-pill{color:var(--text-secondary);letter-spacing:-.01em;white-space:nowrap;border-radius:6px;align-items:center;padding:4px 10px;font-size:11.5px;font-weight:600;text-decoration:none;transition:color .16s,background-color .16s;display:inline-flex}.light-theme .inlab-nav-pill{color:#475569}.inlab-nav-pill:hover{color:var(--text-primary);background:#60a5fa1f}.light-theme .inlab-nav-pill:hover{color:#1d4ed8;background:#eff6ff}.inlab-nav-pill:focus-visible{outline:2px solid var(--accent-primary);outline-offset:1px}.header-actions{flex-shrink:0;align-items:center;gap:6px;margin-left:auto;display:flex}.header-action-btn,.theme-toggle-btn{border:1px solid var(--border-color);background:var(--bg-tertiary);min-width:30px;height:30px;color:var(--text-secondary);cursor:pointer;font:inherit;letter-spacing:.01em;white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:0 8px;font-size:11px;font-weight:600;transition:border-color .18s,background-color .18s,color .18s,transform .18s;display:inline-flex}.header-action-btn:hover,.theme-toggle-btn:hover,.phase-pill:hover{color:var(--text-primary);border-color:var(--accent-secondary-border-trans);background:var(--accent-secondary-bg-trans)}.spec-badge,.header-chip{border:1px solid var(--border-color);height:24px;color:var(--text-secondary);letter-spacing:.02em;white-space:nowrap;background:#ffffff08;border-radius:6px;align-items:center;padding:0 8px;font-size:10.5px;font-weight:700;display:inline-flex}.light-theme .spec-badge,.light-theme .header-chip{background:#0d3e5c09}.header-chip-status.status-y,.header-chip-status.status-a,.header-chip-status.status-s{border-color:var(--accent-secondary-border-trans);color:var(--accent-secondary);background:var(--accent-secondary-bg-trans)}.light-theme .header-chip-status.status-y,.light-theme .header-chip-status.status-a,.light-theme .header-chip-status.status-s{color:var(--accent-secondary);background:var(--accent-secondary-bg-trans)}.header-chip-status.status-c,.header-chip-status.status-d,.header-chip-status.status-i{color:#93c5fd;background:#0d3e5c1f;border-color:#0d3e5c73}.light-theme .header-chip-status.status-c,.light-theme .header-chip-status.status-d,.light-theme .header-chip-status.status-i{color:#1e40af;background:#0d3e5c0f}.header-chip-status.status-n,.header-chip-status.status-r,.header-chip-status.status-u{color:#fca5a5;background:#ef444414;border-color:#ef444466}.light-theme .header-chip-status.status-n,.light-theme .header-chip-status.status-r,.light-theme .header-chip-status.status-u{color:#b91c1c;background:#ef44440f}.phase-pill{white-space:nowrap;height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:6px;padding:0 10px;font-size:11px;font-weight:600;transition:border-color .18s,color .18s,background-color .18s;display:inline-flex}.phase-pill:hover{color:var(--text-secondary);border-color:var(--border-color);background:#ffffff08}.phase-pill.active{color:var(--text-primary);border-color:var(--accent-secondary-border-trans);background:#0d3e5c38}.phase-pill-swatch{border-radius:50%;flex-shrink:0;width:7px;height:7px}.dashboard-grid{background:var(--bg-primary)}.sidebar,.details-sidebar{background:linear-gradient(180deg, #ffffff05, transparent 26%), var(--bg-secondary);padding:12px}.control-group,.content-card,.details-key-value-card,.scenario-status-card{box-shadow:none;border-radius:12px}.control-group,.content-card,.details-key-value-card{background:var(--bg-tertiary);border-color:var(--border-color)}.control-group:hover,.details-key-value-card:hover,.content-card:hover{border-color:#9bc84242}.title-icon{color:var(--accent-primary)}.sidebar-tabs{background:var(--bg-primary);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);border-radius:10px;gap:4px;margin-bottom:4px;padding:3px;display:flex}.sidebar-tab-btn{min-width:0;color:var(--text-secondary);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;border-radius:7px;flex:1;justify-content:center;align-items:center;gap:6px;padding:7px 10px;font-size:11.5px;font-weight:700;transition:all .18s;display:inline-flex;overflow:hidden}.sidebar-tab-btn:hover{color:var(--text-primary);background:#ffffff0d}.sidebar-tab-btn.active{color:var(--text-primary);background:var(--bg-tertiary);box-shadow:0 1px 3px #0003}.light-theme .sidebar-tab-btn.active{background:var(--bg-secondary);box-shadow:0 1px 3px #00000014}.segmented-control{border-color:var(--border-color);box-shadow:none;background:#00000014}.light-theme .segmented-control{background:#0d3e5c08}.segment-btn{border-radius:8px}.segment-btn:hover:not(.selected){background:#0d3e5c14}.light-theme .segment-btn:hover:not(.selected){background:#0d3e5c0a}.segment-btn.selected{box-shadow:none;background:#0d3e5c33;border-color:#0d3e5c2e}.light-theme .segment-btn.selected{background:#0d3e5c0f}.segment-btn.selected .segment-icon,.scenario-status-title svg{color:var(--accent-secondary)!important}.scenario-status-card{box-shadow:var(--shadow-md)}.light-theme .scenario-status-card{box-shadow:var(--shadow-sm)}.progress-bar{background:linear-gradient(90deg, var(--accent-primary), var(--accent-secondary))}.canvas-panel{background:radial-gradient(circle at top left, #2563eb0a, transparent 22%), linear-gradient(180deg, #2563eb08, transparent 18%), var(--bg-primary)}.canvas-flow-shell{position:absolute;inset:0;overflow:hidden}.sequence-canvas-stage{position:absolute;inset:0}.react-flow__background,.react-flow.dark .react-flow__background{background-color:#0000!important}.step-group-band.is-current{z-index:1}.light-theme .step-group-band{filter:saturate(.9)}.swimlane-column-node{border-radius:0}.swimlane-column-anchor{-webkit-user-select:none;user-select:none}.canvas-header-bar{z-index:50;pointer-events:none;justify-content:space-between;align-items:center;gap:12px;display:flex;position:absolute;top:12px;left:16px;right:16px}.canvas-header-left{pointer-events:auto;flex-shrink:0;position:relative}.canvas-header-center{pointer-events:auto;flex:1;justify-content:center;min-width:0;display:flex;overflow:hidden}.canvas-header-right{pointer-events:auto;flex-shrink:0;align-items:center;gap:8px;display:flex}.canvas-mode-group{background:var(--bg-glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);border-radius:999px;align-items:center;gap:2px;padding:2px 3px;display:inline-flex}.canvas-mode-btn{min-height:28px;color:var(--text-secondary);font:inherit;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:999px;align-items:center;gap:5px;padding:0 10px;font-size:11px;font-weight:700;transition:border-color .18s,background-color .18s,color .18s,transform .18s;display:inline-flex}.canvas-mode-btn:hover{color:var(--text-primary);background:#2563eb14}.canvas-mode-btn.is-active{color:var(--accent-primary);background:#2563eb24;border-color:#2563eb59}.canvas-orientation-pill{border:1px solid var(--border-color);background:var(--bg-glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);min-height:32px;color:var(--text-secondary);font:inherit;cursor:pointer;box-shadow:var(--shadow-sm);border-radius:999px;align-items:center;gap:6px;padding:0 12px;font-size:11px;font-weight:700;transition:border-color .18s,background-color .18s,color .18s,transform .18s;display:inline-flex}.canvas-orientation-pill:hover{color:var(--text-primary);border-color:var(--accent-primary);background:#2563eb1a;transform:translateY(-1px)}.canvas-orientation-pill.is-active{color:var(--accent-primary);background:#2563eb1f;border-color:#2563eb59}.canvas-participant-bar{background:var(--bg-glass);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--border-color);box-shadow:var(--shadow-md);pointer-events:auto;scrollbar-width:none;border-radius:30px;align-items:center;gap:4px;max-width:100%;padding:4px 8px;display:inline-flex;overflow-x:auto}.canvas-participant-bar::-webkit-scrollbar{display:none}.participant-bar-pill{color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:20px;align-items:center;gap:5px;padding:3px 8px;font-size:11px;font-weight:600;transition:all .2s;display:inline-flex}.participant-bar-pill:hover{color:var(--text-primary);background:#ffffff0f}.participant-bar-pill.is-active{border-color:var(--participant-stroke);color:var(--text-primary);background:#ffffff1a;box-shadow:0 0 14px #6366f14d}.participant-bar-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.participant-bar-name{font-weight:600}.participant-bar-code{font-size:9px;font-family:var(--font-mono,"Geist Mono", monospace);opacity:.7}.participant-role-tag{letter-spacing:.04em;border-radius:4px;padding:1px 5px;font-size:8.5px;font-weight:800}.participant-role-tag.sender{color:#38bdf8;background:#0ea5e933;border:1px solid #0ea5e966}.participant-role-tag.receiver{color:#c084fc;background:#a855f733;border:1px solid #a855f766}.legend-toggle-pill{border:1px solid var(--border-color);background:var(--bg-glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--text-secondary);cursor:pointer;box-shadow:var(--shadow-sm);white-space:nowrap;border-radius:20px;align-items:center;gap:6px;padding:6px 12px;font-size:11px;font-weight:700;transition:all .2s;display:inline-flex}.legend-toggle-pill:hover{background:var(--bg-secondary);color:var(--text-primary);border-color:var(--accent-secondary);transform:translateY(-1px)}.canvas-legend{background:var(--bg-glass);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--border-color);box-shadow:var(--shadow-lg);border-radius:12px;width:270px;max-height:calc(100vh - 180px);padding:14px;position:absolute;top:calc(100% + 6px);bottom:auto;left:0;overflow-y:auto;z-index:60!important;pointer-events:auto!important}.react-flow__edge-label-box.current,.internal-step-node.highlighted{outline:2px solid var(--accent-primary);outline-offset:2px;animation:2s ease-in-out infinite stepFocusPulse}@keyframes stepFocusPulse{0%,to{box-shadow:0 0 12px #2563eb66,0 4px 14px #00000026}50%{box-shadow:0 0 22px #2563eba6,0 6px 18px #0003}}.legend-group-item.is-current{background:#0d3e5c29}.react-flow__pane{cursor:grab}.react-flow__controls,.react-flow__minimap{box-shadow:none;border:1px solid var(--border-color);background:var(--bg-glass);border-radius:12px;overflow:hidden}.react-flow__controls-button{background:var(--bg-tertiary);border-bottom-color:var(--border-color)}.react-flow__controls-button:hover{background:#0d3e5c24}.timeline-step{background:#ffffff05;padding:9px 12px;border-left:1px solid #0000!important;border-radius:10px!important}.light-theme .timeline-step{background:#0d3e5c05}.timeline-step.current{border-left-color:var(--accent-secondary)!important;background:#0d3e5c29!important}.light-theme .timeline-step.current{background:#0d3e5c0f!important}.timeline-step:hover{background:#0d3e5c14;border-color:#0d3e5c1f}.timeline-dot.current{background:var(--accent-secondary);box-shadow:0 0 0 4px var(--accent-secondary-bg-trans)}.panel-toggle-btn{background:var(--bg-glass);width:24px;height:72px;box-shadow:none}.panel-toggle-btn:hover{background:var(--bg-tertiary);width:28px}.details-panel{gap:12px}.details-tabs{background:var(--bg-primary);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);border-radius:10px;flex-shrink:0;gap:4px;padding:3px;display:flex}.tab-btn{min-width:0;color:var(--text-secondary);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;border-radius:7px;flex:1;justify-content:center;align-items:center;padding:7px 10px;font-size:11px;font-weight:700;transition:all .18s;display:inline-flex;overflow:hidden}.tab-btn:hover:not(:disabled){color:var(--text-primary);background:#ffffff0d}.tab-btn.active{color:var(--text-primary);background:var(--bg-tertiary);box-shadow:0 1px 3px #0003}.tab-btn:disabled{opacity:.35;cursor:not-allowed}.fingerprint-widget{border:1px solid var(--accent-secondary-border-trans);background:#08141deb}.widget-progress-bar-fill{background:linear-gradient(90deg, var(--accent-secondary), var(--accent-primary))}@media (width<=1100px){.header-phase-rail{display:none}}.sr-only{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}:focus-visible{outline:2px solid var(--accent-secondary);outline-offset:2px;border-radius:4px}.react-flow__node:focus-visible,.react-flow__edge:focus-visible,.react-flow__edge-label-box:focus-visible,.react-flow__edge-textwrapper:focus-visible{outline:2px solid var(--accent-secondary);outline-offset:2px}.internal-step-node.error{animation:1.6s ease-in-out infinite internalStepErrorPulse;border-style:dashed!important;border-width:1.5px!important}@keyframes internalStepErrorPulse{0%,to{box-shadow:0 0 0 1px var(--packet-color,var(--accent-primary))33}50%{box-shadow:0 0 0 3px var(--packet-color,var(--accent-primary))22}}.react-flow__edge-label-box.error{border-style:dashed!important}.error-message-edge{stroke-dasharray:6 4}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.data-packet-chip{animation:none!important;transform:translate(0)!important}.internalStepErrorPulse,.internal-step-node.error,.live-indicator.pulsing{animation:none!important}:focus-visible{outline-offset:0!important}}.react-flow__node[data-layer=background]{z-index:0}.react-flow__node[data-layer=rail]{z-index:1}.react-flow__node[data-layer=step]{z-index:2}.react-flow__node[data-layer=overlay]{z-index:10}.react-flow__node[data-layer=label]{z-index:5}.react-flow__node [data-step-state=current]{filter:drop-shadow(0 0 4px)}.react-flow__node [data-step-state=current]:after{content:"●";background:var(--accent-secondary);width:14px;height:14px;color:var(--bg-primary);text-align:center;box-shadow:0 0 0 2px var(--bg-primary);pointer-events:none;border-radius:50%;font-size:9px;font-weight:800;line-height:14px;position:absolute;top:-8px;right:-8px}.react-flow__node [data-step-state=error]{outline:2px dashed var(--color-danger,#ef4444);outline-offset:2px}.react-flow__node [data-step-state=active]:before{content:"✓";background:var(--accent-primary);width:12px;height:12px;color:var(--bg-primary);text-align:center;pointer-events:none;border-radius:50%;font-size:8px;font-weight:800;line-height:12px;position:absolute;top:-6px;left:-6px}.react-flow__background{background-color:#0000!important}.react-flow__background-pattern.dots{fill:var(--bg-tertiary);opacity:.6}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge[data-selected=true] .react-flow__edge-path{filter:drop-shadow(0 0 8px);stroke-width:3.5px!important}.react-flow__edge[data-aria-current=true] .react-flow__edge-path{stroke-width:3.5px}.selected-message-edge{stroke-dasharray:0}.react-flow__edge-label-box.selected{animation:1.6s ease-in-out infinite selectedEdgePulse}@keyframes selectedEdgePulse{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}@media (prefers-reduced-motion:reduce){.react-flow__edge-label-box.selected{animation:none!important}}.list-view-root{background:var(--bg-primary);z-index:50;padding:24px;position:absolute;inset:0;overflow-y:auto}.list-view-title{color:var(--text-primary);margin-bottom:6px;font-size:18px;font-weight:700}.list-view-subtitle{color:var(--text-muted);margin-bottom:18px;font-size:12px}.list-view-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.list-view-item{background:var(--bg-secondary);border:1px solid var(--border-color);cursor:pointer;border-radius:8px;grid-template-columns:80px 1fr 80px;align-items:center;gap:12px;padding:12px 16px;transition:all .15s;display:grid}.list-view-item[data-step-state=current]{border-color:var(--accent-secondary);box-shadow:0 0 0 2px var(--accent-secondary)20, var(--shadow-sm);background:linear-gradient(90deg, var(--accent-secondary)10, var(--bg-secondary) 30%)}.list-view-item[data-step-state=error]{border-style:dashed;border-color:#ef4444}.list-view-item:hover{background:var(--bg-tertiary)}.list-view-num{font-family:var(--font-mono,"Geist Mono", monospace);color:var(--accent-primary);font-size:13px;font-weight:800}.list-view-label{color:var(--text-primary);font-size:13px;font-weight:600}.list-view-pair{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;text-align:right;font-size:10px}.version-toggle{border:1px solid var(--border-color);background:var(--bg-tertiary);border-radius:8px;align-items:center;gap:2px;height:30px;padding:2px;display:inline-flex}.version-toggle-btn{min-width:38px;height:24px;color:var(--text-muted);font-family:var(--font-mono,"Geist Mono", monospace);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;padding:0 8px;font-size:11px;font-weight:600;transition:color .18s,background-color .18s,border-color .18s;display:inline-flex}.version-toggle-btn:hover{color:var(--text-primary)}.version-toggle-btn.active{color:var(--bg-primary);background:var(--accent-secondary);border-color:var(--accent-secondary);font-weight:700}.version-toggle-btn:focus-visible{outline:2px solid var(--accent-secondary);outline-offset:2px}.path-pill-clickable{cursor:pointer;font:inherit;color:inherit;font-weight:inherit;text-transform:inherit;letter-spacing:inherit;border:none;transition:transform .12s,filter .12s}.path-pill-clickable:hover{filter:brightness(1.15);transform:translateY(-1px)}.path-pill-clickable:focus-visible{outline:2px solid var(--accent-secondary);outline-offset:2px}.sandbox-banner{color:var(--text-muted);background:var(--bg-secondary);border-top:1px solid var(--border-color);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:6px 14px;font-size:11px;line-height:1.45;display:flex}.sandbox-banner-copy,.sandbox-banner-meta{align-items:center;gap:8px;min-width:0;display:flex}.sandbox-banner-copy{flex:420px}.sandbox-banner-meta{flex-wrap:wrap;flex:0 auto;justify-content:flex-end}.sandbox-credit{color:var(--text-secondary);white-space:nowrap;align-items:center;gap:6px;font-size:11.5px;display:inline-flex}.author-badge{color:var(--accent-primary);background:#2563eb14;border:1px solid #2563eb40;border-radius:12px;align-items:center;gap:5px;padding:2px 8px;font-size:11px;text-decoration:none;transition:all .2s;display:inline-flex}.author-badge:hover{border-color:var(--accent-primary);background:#2563eb29;transform:translateY(-1px);box-shadow:0 2px 8px #2563eb33}.author-badge-name{color:var(--text-primary);letter-spacing:-.01em;font-weight:800}.author-badge-inst{opacity:.85;font-weight:600}.author-badge-icon{color:var(--accent-primary)}.sandbox-repo-link{border:1px solid var(--border-color);min-height:24px;color:var(--text-primary);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:0 8px;text-decoration:none;transition:border-color .18s,background-color .18s,color .18s,transform .18s;display:inline-flex}.sandbox-repo-link:hover{border-color:var(--accent-primary);color:var(--text-primary);background:#2563eb14;transform:translateY(-1px)}.sandbox-repo-link:focus-visible{outline:2px solid var(--accent-secondary);outline-offset:2px}.sandbox-banner strong{color:var(--text-primary);font-weight:700}.sandbox-banner em{color:var(--text-secondary);font-style:italic}.snapshot-toast{align-items:center;gap:8px;display:flex}.branch-map-root{background:var(--bg-primary);width:100%;height:100%;color:var(--text-primary);flex-direction:column;gap:16px;padding:24px 32px;display:flex;overflow-y:auto}.branch-map-summary{grid-template-columns:1fr 1fr;gap:14px;display:grid}.branch-map-summary-card{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:10px;flex-direction:column;gap:6px;padding:16px 18px;display:flex}.branch-map-summary-kicker{text-transform:uppercase;letter-spacing:.08em;color:var(--accent-primary);align-items:center;gap:6px;font-size:10px;font-weight:700;display:inline-flex}.branch-map-summary-title{color:var(--text-primary);font-size:18px;font-weight:700;line-height:1.2}.branch-map-summary-copy{color:var(--text-secondary);font-size:12px;line-height:1.5}.branch-map-grid{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:start;gap:24px;display:grid}@media (width<=1100px){.branch-map-summary,.branch-map-grid{grid-template-columns:1fr}}.branch-map-column{flex-direction:column;gap:12px;min-width:0;display:flex}.branch-map-column-title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);border-bottom:1px solid var(--border-primary);align-items:center;gap:8px;padding:4px 0;font-size:11px;font-weight:700;display:inline-flex}.branch-map-column-title-secondary{margin-top:8px}.branch-map-card{--branch-accent:var(--accent-primary);background:var(--bg-secondary);border:1px solid var(--border-primary);border-left:3px solid var(--branch-accent);border-radius:8px;flex-direction:column;gap:8px;padding:12px 14px;transition:border-color .15s,transform .15s;display:flex}.branch-map-card.is-current{border-color:var(--branch-accent);background:linear-gradient(90deg, color-mix(in srgb, var(--branch-accent) 8%, var(--bg-secondary)), var(--bg-secondary));transform:translate(2px)}.branch-map-card-secondary{background:var(--bg-tertiary)}.branch-map-card-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.branch-map-card-chip{letter-spacing:.04em;text-transform:uppercase;color:var(--branch-accent);background:color-mix(in srgb, var(--branch-accent) 12%, transparent);border-radius:4px;align-items:center;padding:2px 8px;font-size:11px;font-weight:700;display:inline-flex}.branch-map-card-count{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;font-size:10px;font-weight:600}.branch-map-step-list{flex-direction:column;gap:4px;display:flex}.branch-map-step-btn{color:var(--text-primary);text-align:left;cursor:pointer;font:inherit;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:10px;padding:6px 10px;font-size:12px;transition:background-color .12s,border-color .12s;display:flex}.branch-map-step-btn:hover{background:var(--bg-tertiary);border-color:var(--border-primary)}.branch-map-step-btn.is-current{background:color-mix(in srgb, var(--branch-accent) 14%, var(--bg-tertiary));border-color:var(--branch-accent);color:var(--text-primary);font-weight:600}.branch-map-step-num{text-align:center;min-width:28px;color:var(--accent-primary);background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:4px;flex:none;padding:2px 6px;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,monospace;font-size:11px;font-weight:700}.branch-map-step-btn.is-current .branch-map-step-num{color:var(--bg-primary);background:var(--branch-accent);border-color:var(--branch-accent)}.branch-map-step-label{white-space:nowrap;text-overflow:ellipsis;flex:auto;overflow:hidden}.branch-map-branch-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.branch-lane-card{--branch-accent:var(--accent-primary);background:var(--bg-secondary);border:1px solid var(--border-primary);border-top:2px solid var(--branch-accent);opacity:.55;border-radius:8px;flex-direction:column;gap:6px;padding:12px 14px;transition:opacity .15s,transform .15s;display:flex}.branch-lane-card.is-active{opacity:1;background:color-mix(in srgb, var(--branch-accent) 6%, var(--bg-secondary));transform:translateY(-1px)}.branch-lane-title{color:var(--text-primary);font-size:12px;font-weight:700}.branch-lane-copy{color:var(--text-secondary);font-size:11px;line-height:1.45}.branch-map-closure{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:8px;margin-top:8px;padding:14px 16px;position:relative}.branch-map-closure-kicker{text-transform:uppercase;letter-spacing:.08em;color:var(--accent-primary);align-items:center;gap:6px;margin-bottom:6px;font-size:10px;font-weight:700;display:inline-flex}.branch-map-closure-copy{color:var(--text-secondary);padding-right:24px;font-size:12px;line-height:1.5}.branch-map-closure-copy strong{color:var(--text-primary);font-weight:700}.branch-map-closure-arrow{color:var(--accent-primary);opacity:.6;position:absolute;bottom:12px;right:14px}@media (prefers-reduced-motion:reduce){.branch-map-card,.branch-lane-card,.branch-map-step-btn{transition:none!important}}.tour-card{background:var(--bg-tertiary)!important;border:1px solid var(--border-active)!important;box-shadow:0 16px 40px #0006!important}.light-theme .tour-card{background:#fff!important;border:1px solid #2563eb40!important;box-shadow:0 16px 40px #0f172a1f,0 0 0 1px #2563eb14!important}.canvas-flow-shell.is-reading-mode{--reading-dim:.55}.canvas-flow-shell.is-reading-mode .react-flow__background-pattern.dots{opacity:.25}.canvas-flow-shell.is-reading-mode .step-group-band{filter:saturate(.7)brightness(1.02)}.canvas-flow-shell.is-reading-mode .react-flow__node [data-step-state=current]{filter:none}.canvas-flow-shell.is-reading-mode .react-flow__node [data-step-state=current]:after{background:var(--accent-secondary);box-shadow:0 0 0 2px var(--bg-primary), 0 0 0 4px var(--accent-secondary)!important;animation:none!important}.canvas-flow-shell.is-reading-mode .react-flow__node [data-step-state=active]:before{box-shadow:0 0 0 1.5px var(--bg-primary)}.canvas-flow-shell.is-reading-mode .react-flow__edge.selected .react-flow__edge-path,.canvas-flow-shell.is-reading-mode .react-flow__edge .react-flow__edge-path[data-selected=true],.canvas-flow-shell.is-reading-mode .react-flow__edge .react-flow__edge-path[data-step-state=current]{filter:none;stroke-width:3px!important}.canvas-flow-shell.is-reading-mode .react-flow__edge .react-flow__edge-path[data-step-state]:not([data-step-state=current]):not([data-selected=true]){opacity:var(--reading-dim);stroke-width:1.75px!important}.canvas-flow-shell.is-reading-mode .step-number-rail:not(.is-current):not([data-step-state=active]),.canvas-flow-shell.is-reading-mode .internal-step-node[data-step-state=inactive]{opacity:var(--reading-dim)}.canvas-flow-shell.is-reading-mode .react-flow__edge-label-box.selected{transform:scale(1.02);animation:none!important}.canvas-flow-shell.is-reading-mode .participant-bar-pill.is-active{box-shadow:0 0 0 2px var(--participant-stroke,var(--accent-primary)), var(--shadow-sm)}.canvas-flow-shell.is-reading-mode .data-packet-chip{filter:saturate(.7);animation-duration:2.4s!important}.canvas-flow-shell.is-reading-mode .react-flow__minimap{opacity:.6}.canvas-flow-shell.is-reading-mode .canvas-participant-bar{filter:saturate(.85)}.canvas-flow-shell.is-reading-mode .timeline-dot.current{box-shadow:0 0 0 3px var(--accent-secondary-bg-trans)}.canvas-flow-shell.is-reading-mode .scenario-status-card,.canvas-flow-shell.is-reading-mode .playback-deck,.canvas-flow-shell.is-reading-mode .control-group,.canvas-flow-shell.is-reading-mode .timeline-wrapper{box-shadow:var(--shadow-sm)!important}.canvas-flow-shell.is-focus-phase .step-group-band:not(.is-current){filter:saturate(.3);opacity:.08!important}.canvas-flow-shell.is-focus-phase .participant-header-node:not(.is-active){opacity:.65}.canvas-flow-shell.is-focus-phase .canvas-participant-bar .participant-bar-pill:not(.is-active){opacity:.55}.phase-focus-hud{z-index:45;background:var(--bg-glass);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--accent-primary);pointer-events:auto;border-radius:999px;align-items:center;gap:10px;padding:6px 14px;animation:.2s fadeIn;display:inline-flex;position:absolute;top:56px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #00000059,0 0 16px #2563eb40}.phase-focus-hud-pill{color:var(--text-primary);align-items:center;gap:6px;font-size:11px;font-weight:700;display:inline-flex}.phase-focus-hud-btn{border:1px solid var(--border-color);color:var(--text-secondary);font:inherit;cursor:pointer;background:#ffffff0f;border-radius:999px;align-items:center;gap:4px;padding:3px 9px;font-size:10.5px;font-weight:600;transition:all .15s;display:inline-flex}.phase-focus-hud-btn:hover{border-color:var(--accent-primary);color:var(--text-primary);background:#2563eb26}.reader-story-deck{z-index:50;background:var(--bg-glass);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border:1px solid var(--border-color);pointer-events:auto;border-radius:16px;width:min(820px,100% - 40px);max-height:220px;padding:14px 18px;animation:.25s cubic-bezier(.16,1,.3,1) fadeInUp;position:absolute;bottom:20px;left:50%;overflow-y:auto;transform:translate(-50%);box-shadow:0 16px 40px #00000059,0 0 0 1px #ffffff0d}.reader-deck-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;padding-bottom:8px;display:flex}.reader-deck-phase-tag{letter-spacing:.04em;text-transform:uppercase;color:var(--accent-primary);font-size:10px;font-weight:800}.reader-deck-step-badge{font-family:var(--font-mono,monospace);color:var(--accent-primary);background:#2563eb1f;border:1px solid #2563eb40;border-radius:6px;padding:2px 8px;font-size:11px;font-weight:800}.reader-deck-nav{align-items:center;gap:6px;display:flex}.reader-nav-btn{border:1px solid var(--border-color);color:var(--text-primary);font:inherit;cursor:pointer;background:#ffffff0d;border-radius:8px;align-items:center;gap:4px;padding:4px 10px;font-size:11px;font-weight:700;transition:all .15s;display:inline-flex}.reader-nav-btn:hover{border-color:var(--accent-primary);background:#2563eb26}.reader-deck-title{color:var(--text-primary);margin-bottom:4px;font-size:14px;font-weight:800}.reader-deck-body{color:var(--text-secondary);font-size:12px;line-height:1.5}@keyframes dataPacketTravelVertical{0%{opacity:0;transform:translate(14px,-50%)translateY(0)}8%{opacity:1}92%{opacity:1}to{transform:translate(14px, -50%) translateY(var(--travel-distance));opacity:0}}.data-packet-chip.is-vertical{transform:translate(14px,-50%);animation-name:dataPacketTravelVertical!important}@media (width<=1360px){.participant-bar-name{display:none}.participant-bar-pill{padding:3px 6px}}.canvas-flow-shell.is-reading-mode .step-label-text,.canvas-flow-shell.is-reading-mode .node-step-num,.canvas-flow-shell.is-reading-mode .swimlane-column-anchor,.canvas-flow-shell.is-reading-mode .phase-band-title{font-weight:650}.light-theme .canvas-flow-shell.is-reading-mode .step-label-text,.light-theme .canvas-flow-shell.is-reading-mode .node-step-num{color:#0f172a}.simulation-hud-pill{z-index:60;background:var(--bg-glass,#0f172ae0);-webkit-backdrop-filter:blur(14px);border:1px solid var(--border-active,#3b82f659);color:var(--text-primary);pointer-events:auto;border-radius:999px;align-items:center;gap:12px;padding:7px 16px;font-size:12px;animation:.2s ease-out fadeIn;display:flex;position:absolute;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #00000059,0 0 16px #3b82f633}.canvas-flow-shell.is-reading-mode .simulation-hud-pill{bottom:180px}.sim-pulse-dot{background:#10b981;border-radius:50%;flex-shrink:0;width:8px;height:8px;animation:1.5s cubic-bezier(.66,0,0,1) infinite simPulse;box-shadow:0 0 #10b981b3}@keyframes simPulse{to{box-shadow:0 0 0 8px #10b98100}}.sim-content{align-items:center;gap:8px;display:flex}.sim-title{color:var(--accent-primary,#3b82f6);font-size:11.5px;font-weight:600}.sim-step-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;max-width:220px;font-size:12px;font-weight:700;overflow:hidden}.sim-shortcuts-hints{border-left:1px solid var(--border-color,#ffffff1a);align-items:center;gap:8px;padding-left:10px;display:flex}.sim-shortcut-badge{color:var(--text-secondary);align-items:center;gap:4px;font-size:10.5px;display:inline-flex}.sim-shortcut-badge kbd{font-size:9.5px;font-family:var(--font-mono,monospace);color:var(--text-primary);background:#ffffff1f;border:1px solid #fff3;border-radius:4px;padding:1px 5px;font-weight:700}.lp-shell{width:100%;min-height:100vh;color:var(--text-primary);font-family:var(--font-sans,"Geist", -apple-system, BlinkMacSystemFont, "Inter", sans-serif);letter-spacing:-.011em;background:radial-gradient(circle at 0 0,#60a5fa0d,#0000 30%),linear-gradient(#111827 0%,#182234 100%);flex-direction:column;display:flex}.light-theme .lp-shell{color:#0f172a;background:radial-gradient(circle at 0 0,#2563eb0a,#0000 28%),linear-gradient(#f8fafc 0%,#fff 100%)}.lp-site-header{z-index:50;border-bottom:1px solid var(--border-color);background:var(--bg-glass);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);position:sticky;top:0}.light-theme .lp-site-header{background:#ffffffe6;border-bottom:1px solid #e2e8f0}.lp-site-header-inner{justify-content:space-between;align-items:center;gap:16px;max-width:1180px;margin:0 auto;padding:14px 28px;display:flex}.lp-site-brand{color:var(--text-primary);letter-spacing:-.01em;align-items:center;gap:10px;font-size:15px;font-weight:800;text-decoration:none;display:inline-flex}.light-theme .lp-site-brand{color:#0f172a}.lp-site-brand .logo-icon{color:var(--accent-primary,#2563eb)}.lp-site-nav{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.lp-site-nav-link{color:var(--text-secondary);letter-spacing:.01em;border:1px solid #0000;border-radius:8px;padding:6px 12px;font-size:12.5px;font-weight:600;text-decoration:none;transition:all .18s}.light-theme .lp-site-nav-link{color:#475569}.lp-site-nav-link:hover{color:var(--text-primary);background:#2563eb14}.light-theme .lp-site-nav-link:hover{color:#1d4ed8;background:#f1f5f9}.lp-site-nav-link.is-active{color:var(--accent-primary,#2563eb);background:#2563eb1f;border-color:#2563eb47}.light-theme .lp-site-nav-link.is-active{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.lp-main{flex-direction:column;flex:1;gap:36px;width:100%;max-width:1180px;margin:0 auto;padding:36px 28px 72px;display:flex}.lp-back-link{border:1px solid var(--border-color);color:var(--accent-primary,#2563eb);background:var(--bg-tertiary);box-shadow:var(--shadow-sm);border-radius:20px;align-self:flex-start;align-items:center;gap:6px;margin:0;padding:6px 14px;font-size:12px;font-weight:700;text-decoration:none;transition:all .18s;display:inline-flex}.light-theme .lp-back-link{color:#2563eb;background:#fff;border-color:#e2e8f0;box-shadow:0 1px 3px #0000000f}.lp-back-link:hover{color:#1d4ed8;border-color:var(--accent-primary,#2563eb);transform:translate(-2px)}.lp-header{flex-direction:column;gap:10px;display:flex}.lp-eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--accent-primary,#2563eb);margin:0;font-size:11px;font-weight:800}.lp-header h1{font-family:var(--font-display,"Plus Jakarta Sans", sans-serif);letter-spacing:-.025em;color:var(--text-primary);margin:0;font-size:clamp(28px,4vw,40px);font-weight:800;line-height:1.18}.light-theme .lp-header h1{color:#0f172a}.lp-lede{max-width:68ch;color:var(--text-secondary);margin:0;font-size:16px;line-height:1.65}.light-theme .lp-lede{color:#475569}.lp-section{flex-direction:column;gap:14px;display:flex}.lp-section h2{font-family:var(--font-display,"Plus Jakarta Sans", sans-serif);letter-spacing:-.02em;color:var(--text-primary);margin:0 0 4px;font-size:20px;font-weight:800}.light-theme .lp-section h2{color:#0f172a}.lp-section h3{font-family:var(--font-display,"Plus Jakarta Sans", sans-serif);letter-spacing:-.015em;color:var(--text-primary);margin:8px 0 4px;font-size:15px;font-weight:700}.light-theme .lp-section h3{color:#1e293b}.lp-section p,.lp-section li{color:var(--text-secondary);font-size:14.5px;line-height:1.65}.light-theme .lp-section p,.light-theme .lp-section li{color:#334155}.lp-section code{font-family:var(--font-mono,"Geist Mono", monospace);color:var(--accent-primary,#2563eb);background:#2563eb14;border:1px solid #2563eb33;border-radius:4px;padding:2px 6px;font-size:.9em}.light-theme .lp-section code{color:#1d4ed8;background:#eff6ff;border-color:#dbeafe}.lp-section a{color:var(--accent-primary,#2563eb);text-underline-offset:3px;font-weight:600;text-decoration:underline}.lp-section a:hover{color:#1d4ed8;text-decoration-thickness:2px}.cite-tabs-container{flex-direction:column;gap:16px;display:flex}.cite-tab-bar{border-bottom:1px solid var(--border-color);gap:8px;padding-bottom:8px;display:flex}.light-theme .cite-tab-bar{border-bottom-color:#e2e8f0}.cite-tab-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;padding:6px 14px;font-size:12px;font-weight:700;transition:all .18s}.light-theme .cite-tab-btn{color:#64748b}.cite-tab-btn:hover{color:var(--text-primary);background:#2563eb0f}.light-theme .cite-tab-btn:hover{color:#0f172a;background:#f1f5f9}.cite-tab-btn.active{background:var(--accent-primary,#2563eb);color:#fff;box-shadow:0 2px 8px #2563eb4d}.cite-card{border:1px solid var(--border-color);background:var(--bg-tertiary);box-shadow:var(--shadow-sm);border-radius:12px;flex-direction:column;display:flex;overflow:hidden}.light-theme .cite-card{background:#fff;border-color:#e2e8f0;box-shadow:0 4px 16px #0f172a0d}.cite-card-header{background:var(--bg-secondary);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:12px 18px;display:flex}.light-theme .cite-card-header{background:#f8fafc;border-bottom-color:#e2e8f0}.cite-card-title{color:var(--text-primary);align-items:center;gap:8px;font-size:12.5px;font-weight:700;display:flex}.light-theme .cite-card-title{color:#0f172a}.cite-copy-btn{border:1px solid var(--border-color);background:var(--bg-tertiary);color:var(--text-primary);cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:5px 12px;font-size:11.5px;font-weight:700;transition:all .15s;display:inline-flex}.light-theme .cite-copy-btn{color:#1e293b;background:#fff;border-color:#cbd5e1}.cite-copy-btn:hover{border-color:var(--accent-primary,#2563eb);color:var(--accent-primary,#2563eb);background:#2563eb0f}.cite-copy-btn.copied{color:#059669;background:#10b9811f;border-color:#10b98159}.cite-content-pre{font-family:var(--font-mono,"Geist Mono", monospace);color:#e2e8f0;background:#111827;margin:0;padding:18px;font-size:12.5px;line-height:1.6;overflow-x:auto}.light-theme .cite-content-pre{color:#f8fafc;background:#0f172a}.cite-content-prose{color:var(--text-primary);margin:0;padding:18px;font-size:14px;line-height:1.6}.light-theme .cite-content-prose{color:#1e293b}.lp-table-wrap{border:1px solid var(--border-color);background:var(--bg-tertiary);box-shadow:var(--shadow-sm);border-radius:12px;overflow-x:auto}.light-theme .lp-table-wrap{background:#fff;border-color:#e2e8f0;box-shadow:0 2px 8px #0000000a}.lp-table{border-collapse:collapse;width:100%;min-width:640px;font-size:13.5px}.lp-table th,.lp-table td{text-align:left;border-bottom:1px solid var(--border-color);padding:12px 16px}.light-theme .lp-table th,.light-theme .lp-table td{border-bottom-color:#f1f5f9}.lp-table thead th{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);background:var(--bg-secondary);font-size:11px;font-weight:800}.light-theme .lp-table thead th{color:#64748b;background:#f8fafc;border-bottom:2px solid #e2e8f0}.lp-table tbody th{color:var(--text-primary);font-weight:700}.light-theme .lp-table tbody th{color:#0f172a}.lp-table tbody tr:hover{background:#2563eb0a}.light-theme .lp-table tbody tr:hover{background:#f8fafc}.lp-rename-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.lp-rename-card{border:1px solid var(--border-color);background:var(--bg-tertiary);box-shadow:var(--shadow-sm);border-radius:12px;flex-direction:column;gap:10px;padding:16px;display:flex}.light-theme .lp-rename-card{background:#fff;border-color:#e2e8f0;box-shadow:0 2px 6px #00000008}.lp-version-blocks{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:18px;display:grid}.lp-version-card{border:1px solid var(--border-color);background:var(--bg-tertiary);box-shadow:var(--shadow-sm);border-radius:14px;flex-direction:column;gap:14px;padding:20px;display:flex}.light-theme .lp-version-card{background:#fff;border-color:#e2e8f0;box-shadow:0 4px 12px #0f172a0a}.lp-pitfall-list{counter-reset:pitfall;flex-direction:column;gap:18px;margin:0;padding:0;list-style:none;display:flex}.lp-pitfall{border:1px solid var(--border-color);background:var(--bg-tertiary);counter-increment:pitfall;box-shadow:var(--shadow-sm);border-radius:14px;flex-direction:column;gap:10px;padding:22px;display:flex;position:relative}.light-theme .lp-pitfall{background:#fff;border-color:#e2e8f0;box-shadow:0 4px 14px #0f172a0a}.lp-pitfall:before{content:counter(pitfall, decimal-leading-zero);font-family:var(--font-mono,"Geist Mono", monospace);color:var(--accent-primary,#2563eb);background:#2563eb1a;border-radius:6px;padding:2px 6px;font-size:12px;font-weight:800;position:absolute;top:20px;left:20px}.lp-pitfall h2{margin:0 0 0 44px;font-size:18px}.lp-foot{border-top:1px dashed var(--border-color);color:var(--text-muted);margin-top:28px;padding-top:18px;font-size:12.5px;line-height:1.6}.light-theme .lp-foot{color:#64748b;border-top-color:#e2e8f0}.lp-site-footer{border-top:1px solid var(--border-color);background:var(--bg-secondary);margin-top:auto;padding:36px 28px}.light-theme .lp-site-footer{background:#f8fafc;border-top-color:#e2e8f0}.lp-site-footer-inner{max-width:1180px;color:var(--text-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin:0 auto;font-size:12.5px;display:flex}.light-theme .lp-site-footer-inner{color:#64748b}.lp-site-footer-links{align-items:center;gap:16px;display:flex}.lp-site-footer-links a{color:var(--text-secondary);font-weight:600;text-decoration:none}.light-theme .lp-site-footer-links a{color:#475569}.lp-site-footer-links a:hover{color:var(--accent-primary,#2563eb)}.author-spotlight-card{background:var(--bg-secondary);border:1px solid var(--border-color);box-shadow:var(--shadow-md);border-radius:14px;flex-direction:column;gap:16px;padding:24px;display:flex}.light-theme .author-spotlight-card{background:#fff;border-color:#e2e8f0;box-shadow:0 4px 16px #0f172a0d}.author-spotlight-header{align-items:center;gap:16px;display:flex}.author-avatar-badge{width:44px;height:44px;color:var(--accent-primary);background:#2563eb1a;border:1px solid #2563eb40;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.light-theme .author-avatar-badge{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.author-spotlight-name{font-family:var(--font-display);color:var(--text-primary);letter-spacing:-.015em;font-size:18px;font-weight:800}.author-verified-badge{color:var(--accent-primary);letter-spacing:.02em;background:#2563eb1f;border:1px solid #2563eb40;border-radius:12px;align-items:center;gap:4px;padding:2px 8px;font-size:10.5px;font-weight:700;display:inline-flex}.author-spotlight-title{color:var(--text-secondary);font-size:13px;font-weight:600}.author-spotlight-bio{color:var(--text-secondary);margin:0;font-size:14px;line-height:1.6}.author-spotlight-links{flex-wrap:wrap;align-items:center;gap:10px;padding-top:4px;display:flex}.author-spotlight-btn{border:1px solid var(--border-color);background:var(--bg-tertiary);color:var(--text-secondary);border-radius:8px;align-items:center;gap:6px;padding:7px 14px;font-size:12px;font-weight:700;text-decoration:none;transition:all .2s;display:inline-flex}.light-theme .author-spotlight-btn{color:#334155;background:#f8fafc;border-color:#e2e8f0}.author-spotlight-btn:hover{border-color:var(--accent-primary);color:var(--text-primary);transform:translateY(-1px)}.author-spotlight-btn.primary{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff;box-shadow:0 2px 8px #2563eb4d}.author-spotlight-btn.primary:hover{filter:brightness(1.1);transform:translateY(-1px)}
