:root{--surface-base: #111312;--surface-overlay: rgba(23, 25, 24, .9);--surface-elevated: rgba(28, 31, 30, .96);--surface-frosted: rgba(32, 35, 34, .76);--surface-border: rgba(132, 140, 136, .24);--surface-border-strong: rgba(156, 165, 160, .42);--text-main: #f2f2ef;--text-muted: #a2a59d;--accent: #ff6b35;--accent-strong: #ff8055;--accent-soft: rgba(255, 107, 53, .16);--accent-subtle: rgba(255, 107, 53, .08);--shadow-soft: 0 12px 24px rgba(4, 6, 5, .24);--shadow-hover: 0 16px 30px rgba(4, 6, 5, .3);--orange-gradient: linear-gradient(140deg, #ff6b34 0%, #e55a2b 100%)}.app{width:100%;min-height:100vh;height:100vh;display:flex;flex-direction:column;overflow:hidden;color:var(--text-main);background:#131514;font-family:var(--font-sans)}.app:before{content:none;position:fixed;inset:0;pointer-events:none}.app.light{--surface-base: #f4f3ee;--surface-overlay: rgba(250, 249, 244, .96);--surface-elevated: rgba(255, 255, 252, .98);--surface-frosted: rgba(252, 251, 246, .88);--surface-border: rgba(108, 115, 106, .24);--surface-border-strong: rgba(95, 103, 94, .36);--text-main: #1e2120;--text-muted: #5f645e;--accent: #b8833f;--accent-strong: #9d6e33;--accent-soft: rgba(184, 131, 63, .15);--accent-subtle: rgba(184, 131, 63, .08);--shadow-soft: 0 10px 24px rgba(16, 20, 17, .08);--shadow-hover: 0 12px 28px rgba(16, 20, 17, .12);color:var(--text-main);background:#f3f2ed}.app.light:before{content:none}.site-header{padding:.18rem .9rem .2rem;background:transparent;border:0}.site-header-content{position:relative;padding:.2rem .35rem;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.6rem;border:0;background:transparent;border-radius:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.site-header-content:after{content:none;position:absolute;inset:0;pointer-events:none}.site-header-left{display:flex;align-items:center;min-width:0}.site-header h1{margin:0;font-size:clamp(.9rem,1.75vw,1.04rem);letter-spacing:.01em;font-weight:600;line-height:1.18;font-family:var(--font-sans)}.site-eyebrow,.site-subtitle{margin:0;color:var(--text-muted)}.site-eyebrow{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;font-weight:700}.site-subtitle{font-size:.74rem;max-width:min(78ch,72vw);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.site-title-anchor{position:relative;display:inline-block}.site-title-tag{position:absolute;left:100%;top:-.55rem;margin-left:.3rem;display:inline-flex;align-items:center;padding:.12rem .45rem;border-radius:999px;border:1px solid rgba(245,158,11,.5);background:#f59e0b29;color:#fcd34d;font-size:.58rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;line-height:1.2;pointer-events:none}.app.light .site-title-tag{border-color:#d9770666;background:#f59e0b33;color:#92400e}.site-back-link{display:inline-flex;align-items:center;gap:.3rem;width:fit-content;color:var(--text-main);text-decoration:none;border:1px solid var(--surface-border);border-radius:999px;padding:.24rem .62rem;font-size:.74rem;transition:.16s ease}.site-back-link:hover{border-color:var(--surface-border-strong);background:var(--accent-soft);color:var(--accent-strong)}.site-header-rackout-card{width:min(250px,100%)}.site-header-rackout-headline{display:flex;align-items:baseline;gap:.35em;flex-wrap:wrap;margin-bottom:.45rem}.site-header-rackout-headline .newsletter-title{margin:0;font-size:.72rem;letter-spacing:.05em;text-transform:uppercase}.site-header-rackout-text{color:inherit}.site-header-rackout-desc{display:block;font-size:.71rem;color:var(--text-muted);line-height:1.32}.site-header-center{display:flex;flex-direction:column;justify-content:center;align-items:center;min-width:0;text-align:center;gap:.08rem}.site-header-brand{display:flex;flex-direction:column;align-items:center;gap:.1rem}.site-header-brand-title{font-size:clamp(.95rem,2vw,1.1rem);font-weight:700;letter-spacing:.02em;color:var(--text-main);font-family:var(--font-sans)}.site-header-brand-sub{font-size:.75rem;color:var(--text-muted);letter-spacing:.04em;font-family:var(--font-sans)}.site-header-right{display:flex;align-items:center;justify-content:flex-end;gap:.6rem;min-width:0}.site-header-extra{margin-top:.12rem;display:flex;justify-content:center}.site-header-actions{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.site-header-label{display:inline-flex;align-items:center;gap:.45rem;font-size:.83rem;color:var(--text-muted)}.site-header-select{border-radius:10px;border:1px solid var(--surface-border);background:var(--surface-elevated);color:var(--text-main);padding:.3rem .62rem;min-width:118px}.site-header-select:focus-visible{outline:0;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.site-header .carbon-ad-link.site-sponsor-link,.site-header-rackout-ad{display:inline-flex;align-items:center;padding:.28rem .62rem;gap:.35rem;border-radius:999px;text-decoration:none;font-size:.72rem;font-weight:500;letter-spacing:.02em;background:color-mix(in srgb,var(--surface-elevated) 84%,var(--accent-subtle) 16%);color:var(--text-muted);border:1px solid var(--surface-border);transition:border-color .16s ease,color .16s ease,background-color .16s ease}.site-header .carbon-ad-link.site-sponsor-link:hover,.site-header-rackout-ad:hover{border-color:var(--surface-border-strong);background:color-mix(in srgb,var(--surface-elevated) 70%,var(--accent-soft) 30%);color:var(--text-main)}.app.light .site-header .carbon-ad-link.site-sponsor-link,.app.light .site-header-rackout-ad{color:var(--text-muted)}.app-content{min-height:0}.app:not(.home-page) .app-content{padding:0 .9rem .75rem}.app:not(.home-page) .diagram-container{border:1px solid var(--surface-border);border-radius:12px;background:var(--surface-elevated);box-shadow:var(--shadow-soft);animation:none}.app.home-page .home-content{animation:none}.app:not(.home-page) .diagram-container{overflow:hidden}.flow-controls{margin:1rem 1rem 0;border-radius:12px;border:1px solid var(--surface-border);background:var(--surface-elevated);padding:.75rem .9rem}.flow-controls h3{margin-top:0;margin-bottom:.5rem;color:var(--text-main);font-size:.95rem}.flow-control-row{display:flex;flex-wrap:wrap;gap:.55rem .75rem}.fibre-flow-content{display:flex;flex-direction:column;min-height:0}.fibre-flow-canvas{flex:1;overflow:hidden;padding:1rem}.home-page .app-content{padding:0 .9rem .75rem;overflow-y:auto}.home-content{overflow:visible;padding:.5rem 0 0;display:flex;flex-direction:column;gap:0}.home-mobile-bottom{display:none}.home-demo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1rem}.home-demo-card{--home-card-accent: var(--accent-strong);position:relative;overflow:hidden;text-decoration:none;border-radius:14px;border:1px solid var(--surface-border);padding:1.5rem 1.35rem;background:color-mix(in srgb,var(--surface-elevated) 96%,#000 4%);color:var(--text-main);display:flex;flex-direction:column;align-items:flex-start;gap:1rem;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.home-demo-card-tag{position:absolute;top:.7rem;right:.7rem;display:inline-flex;align-items:center;padding:.14rem .5rem;border-radius:999px;border:1px solid rgba(245,158,11,.5);background:#f59e0b29;color:#fcd34d;font-size:.6rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;line-height:1.2;pointer-events:none}.app.light .home-demo-card-tag{border-color:#d9770666;background:#f59e0b33;color:#92400e}.home-demo-card:before{content:"";position:absolute;left:0;right:0;top:0;height:1px;pointer-events:none;background:color-mix(in srgb,var(--surface-border) 78%,transparent 22%);opacity:1}.changelog-page .app-content{flex:1 1 auto;min-height:0;overflow-y:auto}.changelog-page .app-footer{flex-shrink:0;margin-top:auto}.otdr-strip-page .app-content{display:block;flex:1 1 auto;min-height:0;overflow-y:auto}.otdr-strip-page .app-footer{flex-shrink:0;margin-top:auto}.changelog-page-content{max-width:720px;margin:0 auto;padding:.5rem .35rem 2rem;width:100%;box-sizing:border-box}.changelog-article section{margin-bottom:1.5rem}.changelog-article h2{margin:0 0 .65rem;font-size:1.15rem}.changelog-article h3{margin:1rem 0 .4rem;font-size:.95rem}.changelog-article ul{margin:0;padding-left:1.25rem;display:grid;gap:.35rem}.changelog-article li{line-height:1.45}.changelog-raw-link{margin:2rem 0 0;font-size:.85rem;color:var(--demo-muted, #94a3b8)}.multi-rack-row-demo .diagram-container{position:relative}.multi-rack-row-layout{display:grid;grid-template-columns:minmax(240px,320px) 1fr;gap:1rem;min-height:70vh}.multi-rack-row-panel{border:1px solid var(--surface-border);border-radius:.75rem;background:var(--surface-overlay);padding:1rem;display:flex;flex-direction:column;gap:.75rem;align-self:start}.multi-rack-row-panel h2{margin:0;font-size:1.1rem}.multi-rack-row-panel p{margin:0;color:var(--demo-muted, #94a3b8);font-size:.9rem;line-height:1.45}.multi-rack-row-toggle{display:flex;align-items:center;gap:.5rem;font-size:.9rem}.multi-rack-row-hint{font-size:.82rem!important}.multi-rack-row-selection{border-top:1px solid var(--surface-border);padding-top:.75rem}.multi-rack-row-selection h3{margin:0 0 .5rem;font-size:.95rem}.multi-rack-row-selection dl{margin:0 0 .75rem;display:grid;gap:.35rem}.multi-rack-row-selection dt{font-size:.75rem;color:var(--demo-muted, #94a3b8)}.multi-rack-row-selection dd{margin:0;font-size:.85rem}.multi-rack-row-selection button{border:1px solid var(--surface-border);background:transparent;color:inherit;border-radius:.375rem;padding:.35rem .65rem;cursor:pointer;font-size:.85rem}@media(max-width:960px){.multi-rack-row-layout{grid-template-columns:1fr}}.broken-build-demo .broken-build-content{position:relative;display:flex;flex-direction:row;align-items:stretch;gap:.75rem;min-height:0}.broken-build-demo .diagram-container{position:relative;flex:1 1 auto;min-width:0;min-height:0}.broken-build-issue-panel{position:static;z-index:auto;flex:0 0 320px;max-width:100%;max-height:100%;border:1px solid var(--surface-border);border-radius:.75rem;background:var(--surface-overlay);padding:.85rem;display:flex;flex-direction:column;gap:.65rem;overflow:auto;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow-soft);-webkit-user-select:text;user-select:text}.broken-build-issue-panel-header,.broken-build-alert,.broken-build-issue-content,.broken-build-issue-hint{user-select:text;-webkit-user-select:text}.broken-build-issue-panel-header{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.broken-build-issue-panel-header h3{margin:0;font-size:.95rem}.broken-build-issue-panel-header span{color:var(--text-muted);font-size:.78rem}.broken-build-alert{margin:0;padding:.55rem .65rem;border-radius:.55rem;font-size:.78rem;line-height:1.4;border:1px solid transparent}.broken-build-alert strong{font-weight:600}.broken-build-alert--error{color:#fecaca;background:#dc262624;border-color:#dc262659}.broken-build-alert--warning{color:#fde68a;background:#d9770624;border-color:#d9770659}.app.light .broken-build-alert--error{color:#991b1b;background:#dc262614}.app.light .broken-build-alert--warning{color:#92400e;background:#d9770614}.broken-build-issue-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.45rem;overflow:auto}.broken-build-issue{width:100%;text-align:left;border-radius:.6rem;border:1px solid var(--surface-border);background:var(--surface-elevated);padding:.65rem .7rem;transition:border-color .14s ease,background .14s ease;display:flex;flex-direction:row;align-items:flex-start;justify-content:space-between;gap:.55rem;list-style:none}.broken-build-issue-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:.35rem}.broken-build-issue-trace-btn{flex-shrink:0;border:1px solid var(--surface-border);border-radius:.45rem;background:var(--surface-overlay);color:var(--text-main);font-size:.72rem;font-weight:600;padding:.35rem .55rem;cursor:pointer;user-select:none;-webkit-user-select:none}.broken-build-issue-trace-btn:hover{border-color:var(--surface-border-strong)}.broken-build-issue.is-selected .broken-build-issue-trace-btn{border-color:var(--accent-strong);background:var(--accent-subtle)}.broken-build-issue-badge{align-self:flex-start;font-size:.65rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:.12rem .4rem;border-radius:999px;border:1px solid transparent}.broken-build-issue-badge--error{color:#fecaca;background:#dc262633;border-color:#dc262666}.broken-build-issue-badge--warning{color:#fde68a;background:#d9770633;border-color:#d9770666}.broken-build-issue-badge--info{color:#bfdbfe;background:#2563eb33;border-color:#2563eb66}.app.light .broken-build-issue-badge--error{color:#991b1b;background:#dc26261a}.app.light .broken-build-issue-badge--warning{color:#92400e;background:#d977061a}.app.light .broken-build-issue-badge--info{color:#1d4ed8;background:#2563eb1a}.broken-build-issue--warning.is-selected,.broken-build-issue--error.is-selected{border-color:var(--accent-strong);background:var(--accent-subtle)}.broken-build-issue:hover{border-color:var(--surface-border-strong)}.broken-build-issue.is-selected{border-color:var(--accent-strong);background:var(--accent-subtle)}.broken-build-issue-title{display:block;margin:0;font-size:.86rem;line-height:1.35;color:var(--text-main)}.broken-build-issue-meta{display:block;margin:0;font-size:.72rem;letter-spacing:.04em;color:var(--text-muted)}.broken-build-issue-hint{margin:0;font-size:.76rem;color:var(--text-muted)}@media(max-width:900px){.broken-build-demo .broken-build-content{flex-direction:column;gap:.65rem}.broken-build-issue-panel{width:100%;max-height:min(38vh,17rem);flex:0 0 auto;box-shadow:none}.broken-build-demo .diagram-container{flex:1 1 auto;min-height:0}}.app.light .home-demo-card{background:var(--surface-elevated)}.home-demo-card:hover{transform:translateY(-2px);border-color:var(--surface-border-strong);box-shadow:0 20px 32px #05070d4d}.home-demo-card:hover .home-demo-card-icon{color:var(--home-card-accent);transform:scale(1.02)}.home-demo-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.home-demo-card-icon{flex-shrink:0;width:88px;height:88px;color:var(--text-muted);display:grid;place-items:center;background:transparent;transition:color .18s ease,transform .18s ease}.home-demo-card-icon svg{width:56px;height:56px;display:block}.home-demo-card-path{font-size:1.1rem;font-weight:600;font-family:var(--font-mono);color:var(--text-main);letter-spacing:.02em}.home-demo-card-features{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.35rem;color:var(--text-muted);font-size:.85rem;line-height:1.4;font-family:var(--font-sans)}.home-demo-card-description{margin:0;color:var(--text-muted);font-size:.85rem;line-height:1.4;font-family:var(--font-sans)}.home-demo-card-features li{display:flex;align-items:center;gap:.4rem}.home-demo-card-features li:before{content:"";width:4px;height:4px;border-radius:50%;background:var(--home-card-accent);opacity:.9;flex-shrink:0}.demo-toggle{display:inline-flex;align-items:center;gap:.45rem;border:1px solid var(--surface-border);border-radius:999px;padding:.36rem .72rem;background:var(--surface-elevated);font-size:.82rem;font-family:var(--font-sans)}.demo-toggle input{accent-color:var(--accent)}.control-panel{top:.85rem;left:.85rem;border:1px solid var(--surface-border);background:color-mix(in srgb,var(--surface-elevated) 90%,transparent);box-shadow:0 12px 22px #03040959}.app.light .control-panel{background:color-mix(in srgb,var(--surface-elevated) 92%,white)}.control-button,.xy-theme__button{background:var(--surface-elevated);border:1px solid var(--surface-border);color:var(--text-main);border-radius:9px}.app.light .control-button,.app.light .xy-theme__button{background:var(--surface-elevated)}.control-button:hover,.xy-theme__button:hover{border-color:var(--surface-border-strong);background:color-mix(in srgb,var(--surface-elevated) 82%,var(--accent-subtle) 18%)}.control-select{background:var(--surface-elevated);color:var(--text-main);border:1px solid var(--surface-border);border-radius:9px}.control-select:hover{border-color:var(--surface-border-strong)}.control-select:focus-visible{outline:0;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.node-info-panel{background:color-mix(in srgb,var(--surface-elevated) 94%,transparent);border:1px solid var(--surface-border)}.node-info-panel h3,.info-row strong,.ports-section strong{color:var(--accent-strong)}.device-image-side{color:var(--text-muted)}.site-footer{background:transparent;border:0;padding:0 .9rem .75rem}.site-footer-links{margin:0;border:1px solid var(--surface-border);border-radius:12px;background:var(--surface-overlay);color:var(--text-muted);padding:.6rem .9rem;font-size:.75rem;font-family:var(--font-sans);display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.4rem}.footer-separator{opacity:.42}.footer-link-button{border:0;padding:0;background:none;color:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.site-footer-links a,.footer-link-button{transition:color .15s ease}.site-footer-links a:hover,.footer-link-button:hover{color:var(--text-main)}.commercial-contact-link{position:relative;cursor:help;text-decoration:underline;text-underline-offset:2px}.commercial-contact-tooltip{display:none;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);border:1px solid var(--surface-border);border-radius:8px;background:var(--surface-base);color:var(--text-main);padding:.35rem .55rem;font-size:.72rem;white-space:nowrap;z-index:30}.commercial-contact-link:hover .commercial-contact-tooltip,.commercial-contact-link:focus-within .commercial-contact-tooltip{display:inline-flex}.app.light .commercial-contact-tooltip{background:#fff}.npm-link{border-radius:999px;border:1px solid #cb3837;background:#cb38371a;color:#cb3837;padding:.18rem .55rem;gap:.3rem}.npm-link:hover{background:#cb3837;border-color:#cb3837;color:#fff;box-shadow:none;transform:none}.github-link{border-radius:999px;border:1px solid var(--surface-border);padding:.18rem .55rem}.github-link:hover{border-color:var(--surface-border-strong);background:#a1a1aa14;transform:none}.newsletter-card{width:min(290px,100%);border-radius:12px;border:1px solid var(--surface-border);background:color-mix(in srgb,var(--surface-elevated) 95%,transparent);padding:.75rem}.newsletter-title{margin:0 0 .62rem;font-size:.81rem;text-align:left;color:var(--text-muted);font-family:var(--font-sans)}.newsletter-form-input,.newsletter-form-button,.newsletter-loading-button{width:100%}.newsletter-form-input{border-color:var(--surface-border);background:var(--surface-elevated);color:var(--text-main);font-family:var(--font-sans)}.newsletter-form-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.newsletter-form-button,.newsletter-loading-button{border-radius:9px;background:var(--orange-gradient);font-family:var(--font-sans)}.rackout-link-container{margin-top:.25rem;display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.rackout-description{color:var(--text-muted);font-size:.75rem;font-family:var(--font-sans)}@media(prefers-reduced-motion:reduce){.site-header-content,.home-demo-card,.app:not(.home-page) .diagram-container,.app.home-page .home-content{animation:none}}@media(max-width:960px){.site-header,.app:not(.home-page) .app-content,.home-page .app-content,.site-footer{padding-left:.8rem;padding-right:.8rem}.site-header-content,.home-content,.site-footer-links{border-radius:12px}.home-page .site-header-content{grid-template-columns:1fr;gap:.8rem}.home-page .site-header-left,.home-page .site-header-center,.home-page .site-header-right{width:100%;justify-content:flex-start}.home-page .newsletter-card{width:100%}.flow-controls{margin:.85rem;margin-bottom:0}.site-footer-links{justify-content:flex-start}.footer-separator{display:none}}@media(max-width:768px){.app:not(.home-page) .site-header-content{grid-template-columns:auto minmax(0,1fr);gap:.45rem}.app:not(.home-page) .site-header-right{display:none}.app:not(.home-page) .site-subtitle{white-space:normal}.home-page .site-header-content{grid-template-columns:1fr;gap:.7rem}.home-page .site-header-left,.home-page .site-header-center,.home-page .site-header-right{width:100%;justify-content:flex-start}.site-header-rackout-card,.newsletter-card{max-width:100%}.home-page .site-header-right .newsletter-form-container--desktop{display:none}.home-page .newsletter-form-container--mobile{display:block;margin-top:1.5rem;width:100%}.home-page .home-mobile-bottom{display:flex;flex-direction:column;gap:.7rem;margin-top:1rem}.home-page .home-mobile-bottom-links{display:flex;justify-content:flex-start}.home-page .home-mobile-bottom-links .github-link{display:inline-flex;align-items:center;gap:.3rem}}@media(min-width:769px){.home-page .newsletter-form-container--mobile{display:none}}@media(max-width:640px){.home-demo-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.85rem}.home-demo-card{padding:1.35rem 1.15rem}.control-panel{top:.55rem;left:.55rem;gap:.32rem;padding:.52rem}}.dialog-overlay{background:#040509c2;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.app.light .dialog-overlay{background:#18181b59}.dialog-content{border:1px solid var(--surface-border);background:var(--surface-overlay);box-shadow:var(--shadow-soft);border-radius:14px}.dialog-header{border-bottom:1px solid var(--surface-border)}.dialog-title{color:var(--text-main)}.dialog-close-button{color:var(--text-muted)}.dialog-close-button:hover{background:var(--accent-soft);color:var(--text-main)}.dialog-content-xl{width:min(1100px,92vw);max-width:min(1100px,92vw);max-height:92vh;height:88vh}.dialog-body-panel{padding:1rem;overflow:hidden;display:flex;flex-direction:column;height:100%}.dialog-loading-state{padding:2rem;text-align:center;color:var(--text-muted)}.dialog-diagram-container{flex:1;min-height:600px;width:100%;height:100%}.license-section-modal{border-radius:10px;margin-bottom:0;background:transparent;border-top:0;padding:0}.license-content-modal{text-align:center;background:transparent;border:0;padding:.35rem .2rem 0;max-height:none}.license-more-link-wrap{margin-top:1rem;text-align:center}.license-more-link{color:var(--accent-strong);text-decoration:none;font-size:.9rem;font-weight:500;display:inline-flex;align-items:center;gap:.5rem}.license-more-link:hover{color:var(--accent)}.form-modal-overlay{position:fixed;inset:0;z-index:2100;background:#05060bb8;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:1rem}.form-modal-card{width:min(460px,100%);border-radius:14px;border:1px solid var(--surface-border);background:var(--surface-overlay);color:var(--text-main);box-shadow:var(--shadow-soft);padding:1.1rem}.form-modal-title{margin:0 0 .95rem;font-size:1.08rem;letter-spacing:.01em}.form-modal-form{display:flex;flex-direction:column;gap:.78rem}.form-modal-field{display:flex;flex-direction:column;gap:.36rem}.form-modal-label{font-size:.82rem;color:var(--text-muted);letter-spacing:.02em}.form-modal-input{width:100%;border-radius:10px;border:1px solid var(--surface-border);background:var(--surface-elevated);color:var(--text-main);padding:.52rem .64rem}.form-modal-input:focus-visible{outline:0;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.form-modal-color{height:40px;padding:.22rem;cursor:pointer}.form-modal-hint{margin:0;font-size:.74rem;color:var(--text-muted)}.form-modal-summary{border-radius:10px;border:1px solid var(--surface-border);background:var(--surface-frosted);padding:.65rem .75rem}.form-modal-summary-title{margin:0;font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;color:var(--accent-strong)}.form-modal-summary-text{margin:.18rem 0 0;font-size:.8rem;color:var(--text-muted)}.form-modal-actions{margin-top:.2rem;display:flex;justify-content:flex-end;gap:.55rem}.form-modal-button{border-radius:10px;padding:.48rem .82rem;font-size:.83rem;cursor:pointer;transition:.16s ease}.form-modal-button-secondary{border:1px solid var(--surface-border);background:var(--surface-elevated);color:var(--text-main)}.form-modal-button-secondary:hover{border-color:var(--surface-border-strong)}.form-modal-button-primary{border:1px solid transparent;background:var(--orange-gradient);color:#151515;font-weight:600}.form-modal-button-primary:hover{filter:brightness(1.04)}@media(max-width:768px){.dialog-content-xl{width:95vw;max-width:95vw;height:92vh;max-height:92vh}.dialog-diagram-container{min-height:420px}}@media(max-width:720px){.site-header-content{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem}.site-header-left{order:1}.site-header-right{order:2;margin-left:auto}.site-header-center{order:3;flex-basis:100%;text-align:center}.site-header h1{font-size:1.25rem}.site-subtitle{font-size:.85rem}}@media(max-width:640px){.home-demo-grid{grid-template-columns:1fr}.home-demo-card{padding:1.15rem 1.1rem}.home-demo-card-icon{width:64px;height:64px}.home-demo-card-icon svg{width:44px;height:44px}}.power-chain-demo .power-chain-hints{display:flex;flex-direction:column;gap:.3rem;margin:0;padding:0;list-style:none;font-size:.76rem;color:var(--text-muted);user-select:text;-webkit-user-select:text}.power-chain-demo .power-chain-issue-basis{display:inline-block;margin-left:.35rem;padding:.05rem .4rem;border:1px solid var(--surface-border);border-radius:999px;font-size:.65rem;letter-spacing:.03em;text-transform:uppercase;opacity:.75}.power-chain-demo .broken-build-issue-meta{font-variant-numeric:tabular-nums;opacity:.65}.power-chain-demo .distribution-board-node__way{cursor:pointer}.power-chain-demo .power-trace-card{margin:0 0 .75rem;padding:.6rem .75rem;border:1px solid var(--surface-border);border-radius:8px;background:var(--surface-raised, #111827)}.power-chain-demo .power-trace-card-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.4rem}.power-chain-demo .power-trace-card-header h4{margin:0;font-size:.8rem;letter-spacing:.02em}.power-chain-demo .power-trace-path{position:relative;list-style:none;margin:.35rem 0 0;padding:.15rem 0 .15rem 1.1rem}.power-chain-demo .power-trace-path:before{content:"";position:absolute;left:.32rem;top:.55rem;bottom:.55rem;width:2px;background:var(--feed-color, #f59e0b);opacity:.7}.power-chain-demo .power-trace-path--dead:before{background:#9ca3af}.power-chain-demo .power-trace-step{position:relative;padding:.18rem 0;font-size:.75rem;line-height:1.3}.power-chain-demo .power-trace-step:before{content:"";position:absolute;left:-1.02rem;top:.42rem;width:8px;height:8px;border-radius:999px;background:var(--feed-color, #f59e0b)}.power-chain-demo .power-trace-path--dead .power-trace-step:before{background:#9ca3af}.power-chain-demo .power-trace-step-title{font-weight:600}.power-chain-demo .power-trace-step-detail{margin-left:.4rem;opacity:.7;font-variant-numeric:tabular-nums}.power-chain-demo .power-trace-step--dead{color:#fca5a5;text-transform:uppercase;font-size:.65rem;letter-spacing:.05em}.power-chain-demo .power-trace-empty{margin:0;font-size:.75rem;opacity:.75}.power-chain-demo.light .power-trace-card{background:#fff}.power-chain-demo .power-chain-toast{position:absolute;top:.75rem;left:50%;transform:translate(-50%);z-index:20;max-width:min(46rem,calc(100% - 2rem));padding:.5rem .85rem;border-radius:8px;border:1px solid var(--surface-border);background:var(--surface-raised, #111827);color:var(--text-primary, #e5e7eb);font-size:.8rem;line-height:1.35;box-shadow:0 8px 24px #00000059;pointer-events:none}.power-chain-demo .power-chain-toast--rejected{border-color:#dc2626;color:#fca5a5}.power-chain-demo .power-chain-toast--accepted{border-color:#16a34a;color:#86efac}.power-chain-demo.light .power-chain-toast{background:#fff;color:#1f2937}.power-chain-demo.light .power-chain-toast--rejected{color:#b91c1c}.power-chain-demo.light .power-chain-toast--accepted{color:#15803d}.power-sld-demo{--sld-ink: #cbd5e1;--sld-muted: #94a3b8;--sld-fill: rgba(15, 23, 42, .55);--sld-dead: #6b7280;--sld-trip: #ef4444;--sld-warn: #f59e0b;--sld-region: rgba(148, 163, 184, .35);--sld-board-fill: rgba(148, 163, 184, .07)}.power-sld-demo.light{--sld-ink: #334155;--sld-muted: #64748b;--sld-fill: rgba(255, 255, 255, .9);--sld-dead: #9ca3af;--sld-trip: #dc2626;--sld-warn: #b45309;--sld-region: rgba(100, 116, 139, .4);--sld-board-fill: rgba(100, 116, 139, .07)}.power-sld-demo .sld-node{font-family:inherit;-webkit-user-select:none;user-select:none}.power-sld-demo .sld-node.is-dead{opacity:.62}.power-sld-demo .sld-node.is-interactive{cursor:pointer}.power-sld-demo .sld-node.is-interactive:hover .sld-text--state,.power-sld-demo .sld-node.is-interactive:focus-visible .sld-text--state{fill:var(--sld-ink)}.power-sld-demo .sld-node.is-interactive:focus-visible{outline:2px solid var(--accent-strong, #f59e0b);outline-offset:2px;border-radius:4px}.power-sld-demo .sld-text{font-size:24px;letter-spacing:.01em}.power-sld-demo .sld-text--bus{font-size:44px;font-weight:700;letter-spacing:.02em}.power-sld-demo .sld-text--major{font-size:34px;font-weight:650}.power-sld-demo .sld-text--feeder{font-size:27px;font-weight:600}.power-sld-demo .sld-text--strip{font-size:21px;font-weight:600}.power-sld-demo .sld-text--strip .sld-text--figure{font-size:19px}.power-sld-demo .sld-text--figure{font-size:25px;font-weight:500}.power-sld-demo .sld-text--centred{text-anchor:middle}.power-sld-demo .sld-text--tap,.power-sld-demo .sld-text--detail{font-size:21px}.power-sld-demo .sld-text--state{font-size:21px;font-weight:600;letter-spacing:.08em}.power-sld-demo .sld-text--earth{font-size:21px;text-anchor:middle}.power-sld-demo .sld-text--machine{font-size:26px;font-weight:600;text-anchor:middle}.power-sld-demo .sld-region{position:relative;border:2px dashed var(--sld-region);border-radius:14px;background:transparent}.power-sld-demo .sld-region--board{border-style:solid;border-width:2.5px;border-radius:8px;background:var(--sld-board-fill, transparent)}.power-sld-demo .sld-region--room{border-style:solid;border-width:3px;border-radius:24px}.power-sld-demo .sld-region-tag{position:absolute;top:10px;left:24px;font-size:26px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--sld-muted);white-space:nowrap}.power-sld-demo .sld-region--room>.sld-region-tag{font-size:34px;letter-spacing:.12em}.power-sld-demo .sld-toast{position:absolute;left:50%;bottom:1.25rem;transform:translate(-50%);z-index:20;display:flex;align-items:flex-start;gap:.5rem;max-width:min(46rem,calc(100% - 2rem));padding:.6rem .75rem;border:1px solid var(--sld-warn);border-left-width:5px;border-radius:8px;background:var(--surface-elevated, #0f172a);color:var(--text-primary, inherit);box-shadow:0 10px 30px #00000073;font-size:.82rem;line-height:1.35;animation:sld-toast-in .16s ease-out}@keyframes sld-toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.power-sld-demo .sld-toast-title{flex:none;color:var(--sld-warn);text-transform:uppercase;letter-spacing:.06em;font-size:.72rem;padding-top:.08rem}.power-sld-demo .sld-toast-body{flex:1 1 auto}.power-sld-demo .sld-toast-close{flex:none;border:0;background:none;color:inherit;opacity:.6;font-size:1rem;line-height:1;cursor:pointer}.power-sld-demo .sld-toast-close:hover{opacity:1}.power-sld-demo .sld-node.is-selected{outline:2px solid var(--accent-strong, #f59e0b);outline-offset:3px;border-radius:4px}.power-sld-demo .sld-details{font-size:.76rem}.power-sld-demo .sld-details-name{display:block;margin:0 0 .45rem;color:var(--sld-muted);font-size:.72rem;line-height:1.4}.power-sld-demo .sld-detail-row{display:flex;justify-content:space-between;gap:.6rem;padding:.12rem 0}.power-sld-demo .sld-detail-label{color:var(--sld-muted)}.power-sld-demo .sld-detail-value{text-align:right}.power-sld-demo .sld-details-subhead{margin:.55rem 0 .25rem;font-size:.74rem;font-weight:600}.power-sld-demo .sld-details-muted{color:var(--sld-muted);font-weight:400}.power-sld-demo .sld-details-alarm{color:var(--sld-trip);font-weight:600}.power-sld-demo .sld-details-table{width:100%;border-collapse:collapse;font-size:.74rem}.power-sld-demo .sld-details-table th,.power-sld-demo .sld-details-table td{text-align:right;padding:.1rem .2rem;font-weight:400}.power-sld-demo .sld-details-table thead th{color:var(--sld-muted);border-bottom:1px solid var(--border-subtle, rgba(148, 163, 184, .25))}.power-sld-demo .sld-details-table tbody th{text-align:left;color:var(--sld-muted)}.power-sld-demo .sld-details-note{margin:.5rem 0 0;color:var(--sld-muted);font-size:.72rem;line-height:1.35}.power-sld-demo .power-sld-breaker-rating{margin-left:.4rem;font-size:.68rem;color:var(--sld-muted)}.power-sld-demo .sld-pin{background:var(--sld-ink);border:none;min-width:0;min-height:0;border-radius:50%;opacity:.55;pointer-events:none}.power-sld-demo .sld-node.is-dead .sld-pin{background:var(--sld-dead)}.power-sld-demo .sld-edge--bypass .react-flow__edge-path,.power-sld-demo .sld-edge--tie-standby .react-flow__edge-path{stroke-dasharray:10 6}.power-sld-demo .sld-edge--tie-made .react-flow__edge-path{stroke-dasharray:none}.power-sld-demo .sld-edge--transfer-selected .react-flow__edge-path{stroke-dasharray:none;stroke-width:3}.power-sld-demo .sld-edge--transfer-available .react-flow__edge-path{stroke-dasharray:8 6;opacity:.72}.power-sld-breaker-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.35rem}.power-sld-breaker{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.power-sld-breaker-btn{flex:1;text-align:left}.power-sld-state{font-size:.7rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.power-sld-state--closed{color:#f59e0b}.power-sld-state--tripped{color:#ef4444}.power-sld-key{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.25rem .5rem}.power-sld-key li{display:flex;align-items:center;gap:.4rem;min-width:0;font-size:.7rem;color:var(--text-muted)}.power-sld-key li>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.power-sld-demo .sld-key-glyph{flex:0 0 auto;width:20px;height:20px}.power-sld-demo .sld-key-machine{font-size:11px;font-weight:700;text-anchor:middle}.power-sld-demo .sld-badge{display:inline-flex;align-items:center;padding:4px 14px;border:2px dashed var(--sld-region);border-radius:999px;background:var(--sld-fill);color:var(--sld-muted);font-size:24px;font-weight:600;letter-spacing:.02em;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none}.power-sld-demo .sld-badge:hover,.power-sld-demo .sld-badge:focus-visible,.power-sld-demo .sld-badge.is-selected{border-style:solid;border-color:var(--sld-warn);color:var(--sld-ink)}.power-sld-controls{flex:0 0 auto;display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.power-sld-detail-toggle{flex:0 0 auto;display:inline-flex;border:1px solid var(--surface-border);border-radius:6px;overflow:hidden}.power-sld-detail-btn{padding:.22rem .45rem;border:none;background:none;color:var(--text-muted);font-size:.68rem;line-height:1.2;cursor:pointer}.power-sld-detail-btn.is-active{background:#f59e0b2e;color:var(--text-primary, inherit);font-weight:600}.power-sld-design-field{flex:1 1 auto;min-width:0;display:flex;flex-direction:row;align-items:center;gap:.5rem}.power-sld-design-label{flex:0 0 auto;font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.power-sld-demo .power-sld-design-select{flex:1 1 auto;min-width:0;max-width:100%;padding:.22rem .45rem;border-radius:6px;font-size:.74rem}.sld-tabs{flex:0 0 auto;display:flex;flex-direction:column;min-height:0}.sld-tab-list{display:flex;gap:1rem;border-bottom:1px solid var(--surface-border);margin-bottom:.6rem}.sld-tab{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .1rem .45rem;margin-bottom:-1px;border:none;border-bottom:2px solid transparent;background:none;color:var(--text-muted);font:inherit;font-size:.78rem;font-weight:500;cursor:pointer}.sld-tab:hover{color:var(--text-primary, inherit)}.sld-tab[data-state=active]{color:var(--text-primary, inherit);border-bottom-color:var(--accent-strong, #f59e0b);font-weight:600}.sld-tab:focus-visible{outline:2px solid var(--accent-strong, #f59e0b);outline-offset:2px;border-radius:3px}.sld-tab-count{padding:.05rem .35rem;border-radius:999px;background:var(--surface-elevated);border:1px solid var(--surface-border);color:var(--text-muted);font-family:var(--font-mono);font-size:.64rem;font-variant-numeric:tabular-nums}.sld-tab-count--error{color:#f87171;border-color:#dc262673}.app.light .sld-tab-count--error{color:#991b1b}.sld-tab-body{display:flex;flex-direction:column;min-width:0}.power-sld-demo .sld-search{width:100%;box-sizing:border-box;padding:.32rem .5rem;border:1px solid var(--surface-border);border-radius:6px;background:var(--surface-elevated);color:inherit;font:inherit;font-size:.74rem}.power-sld-demo .sld-search::placeholder{color:var(--text-muted)}.power-sld-demo .sld-search:focus-visible{outline:none;border-color:var(--accent-strong, #f59e0b)}.sld-list-meta{padding:.35rem .1rem .25rem;color:var(--text-muted);font-size:.66rem;letter-spacing:.04em;text-transform:uppercase}.sld-list-empty{margin:.5rem .1rem;color:var(--text-muted);font-size:.72rem}.sld-finding-counts{margin:0 0 .45rem;color:var(--text-muted);font-family:var(--font-mono);font-size:.7rem;font-variant-numeric:tabular-nums}.sld-rows{display:block}.sld-row{border-top:1px solid var(--border-subtle, rgba(148, 163, 184, .18))}.sld-row:first-child{border-top:none}.sld-row-header{margin:0;display:flex}.sld-row-trigger{display:grid;grid-template-columns:minmax(4.5rem,max-content) minmax(0,1fr) auto;align-items:baseline;gap:.5rem;width:100%;padding:.42rem .35rem;border:none;background:none;color:inherit;font:inherit;font-size:.73rem;text-align:left;cursor:pointer}.sld-row-trigger--finding{grid-template-columns:auto minmax(4.5rem,max-content) minmax(0,1fr)}.sld-row-trigger:hover{background:#f59e0b1a}.sld-row-trigger:focus-visible{outline:2px solid var(--accent-strong, #f59e0b);outline-offset:-2px}.sld-row-trigger[data-state=open]{background:#f59e0b29}.sld-row-tag{font-family:var(--font-mono);font-size:.69rem;font-weight:600;max-width:9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sld-row-class{min-width:0;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sld-row-trigger[data-state=open] .sld-row-class--message{white-space:normal;overflow:visible;line-height:1.45;color:var(--text-primary, inherit)}.sld-row-figure{color:var(--text-muted);font-family:var(--font-mono);font-size:.68rem;font-variant-numeric:tabular-nums;white-space:nowrap}.sld-row-dot{width:.42rem;height:.42rem;border-radius:999px;background:var(--text-muted);transform:translateY(-.1rem)}.sld-row--error .sld-row-dot{background:#dc2626}.sld-row--warning .sld-row-dot{background:#d97706}.sld-row--info .sld-row-dot{background:#2563eb}.sld-row-body{overflow:hidden;padding:0 .35rem .6rem}.sld-finding-basis{margin:0 0 .45rem;color:var(--text-muted);font-family:var(--font-mono);font-size:.66rem}.sld-finding-elements{display:flex;flex-wrap:wrap;gap:.3rem;margin-bottom:.5rem}.sld-chip-button{padding:.15rem .45rem;border:1px solid var(--surface-border);border-radius:999px;background:var(--surface-elevated);color:inherit;font-family:var(--font-mono);font-size:.66rem;cursor:pointer}.sld-chip-button:hover,.sld-chip-button:focus-visible{border-color:var(--accent-strong, #f59e0b);background:#f59e0b24}.sld-trace-button{padding:.24rem .6rem;border:1px solid var(--surface-border);border-radius:6px;background:none;color:inherit;font:inherit;font-size:.7rem;cursor:pointer}.sld-trace-button:hover,.sld-trace-button:focus-visible{border-color:var(--accent-strong, #f59e0b);background:#f59e0b24}.sld-trace-button[aria-pressed=true]{border-color:var(--accent-strong, #f59e0b);background:#f59e0b38;font-weight:600}.sld-dead-chip{flex:0 0 auto;align-self:flex-start;margin:0 0 .55rem;padding:.14rem .5rem;border:1px solid rgba(148,163,184,.4);border-radius:999px;color:var(--text-muted);font-size:.68rem}.power-sld-demo .broken-build-issue-panel,.power-chain-demo .broken-build-issue-panel{scrollbar-width:thin;scrollbar-color:rgba(148,163,184,.35) transparent;overflow-x:hidden}.power-sld-demo .broken-build-issue-panel::-webkit-scrollbar,.power-chain-demo .broken-build-issue-panel::-webkit-scrollbar{width:6px;height:6px}.power-sld-demo .broken-build-issue-panel::-webkit-scrollbar-track,.power-chain-demo .broken-build-issue-panel::-webkit-scrollbar-track{background:transparent}.power-sld-demo .broken-build-issue-panel::-webkit-scrollbar-thumb,.power-chain-demo .broken-build-issue-panel::-webkit-scrollbar-thumb{border-radius:999px;background:#94a3b859}.power-sld-demo .broken-build-issue-panel:hover::-webkit-scrollbar-thumb,.power-chain-demo .broken-build-issue-panel:hover::-webkit-scrollbar-thumb{background:#94a3b899}.power-sld-demo.light .broken-build-issue-panel,.power-chain-demo.light .broken-build-issue-panel{scrollbar-color:rgba(100,116,139,.4) transparent}.power-sld-demo.light .broken-build-issue-panel::-webkit-scrollbar-thumb,.power-chain-demo.light .broken-build-issue-panel::-webkit-scrollbar-thumb{background:#64748b66}.power-sld-demo.light .broken-build-issue-panel:hover::-webkit-scrollbar-thumb,.power-chain-demo.light .broken-build-issue-panel:hover::-webkit-scrollbar-thumb{background:#475569a6}.power-sld-demo .diagram-container,.power-chain-demo .diagram-container{overflow:hidden}.power-sld-note{flex:0 0 auto;border-top:1px solid var(--surface-border);padding:.4rem 0 0}.power-sld-note>summary{cursor:pointer;font-size:.74rem;font-weight:600;color:var(--text-muted);list-style:none}.power-sld-note>summary::-webkit-details-marker{display:none}.power-sld-note>summary:before{content:"▸";margin-right:.35rem}.power-sld-note[open]>summary:before{content:"▾"}.power-sld-note[open]>summary{margin-bottom:.4rem}.power-sld-note-body{margin:0 0 .5rem;font-size:.72rem;line-height:1.45;color:var(--text-muted)}.power-sld-note-subhead{margin:.5rem 0 .3rem;font-size:.72rem;font-weight:600}.power-sld-footer{flex:0 0 auto;margin:.5rem 0 0;font-size:.68rem;letter-spacing:.03em;color:var(--text-muted)}
