:root{color-scheme:dark;--bg:#08141f;--panel:#0c1b27;--panel2:#102331;--line:#213744;--txt:#e6f0f2;--dim:#7893a1;--teal:#55dcc7;--amber:#edb778;--blue:#69baff;--red:#ff8792}*{box-sizing:border-box}html,body,#app{margin:0;min-height:100%;background:var(--bg);color:var(--txt);font:13px/1.45 Inter,'Segoe UI',Arial,sans-serif}button,select,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.fiber-app{min-height:100vh;background:radial-gradient(circle at 45% -20%,#133244 0,transparent 42%),#08141f}.topbar{height:73px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #1f3743;padding:0 27px;background:#091923ed;gap:20px}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:36px;height:36px;border:1px solid #386c72;border-radius:7px;background:#102f39;display:flex;align-items:center;gap:3px;justify-content:center;transform:skewX(-5deg)}.brand-mark span{width:5px;height:21px;background:#52ddc8;transform:rotate(-24deg);border-radius:3px;box-shadow:0 0 12px #33bfb881}.brand-mark span:nth-child(2){height:12px;background:#e4b272}.brand-text{font-size:18px;letter-spacing:2px;font-weight:800;line-height:1.2}.brand-text span{font-weight:400;color:#8eaebc}.brand-text small{display:block;font-size:9px;letter-spacing:2px;color:#7497a4;font-weight:500;margin-top:5px}.top-status{display:flex;gap:10px;align-items:center;color:#6a919a;font:10px/1.5 ui-monospace,'Cascadia Code',monospace;letter-spacing:.5px}.status-dot,.mini-led,.cyan-dot,.pulse-led{display:inline-block;width:8px;height:8px;border-radius:50%;background:#41dbb7;box-shadow:0 0 10px #4eedb6}.separator{height:18px;width:1px;background:#2a4e5d;margin:0 12px}.top-actions{display:flex;gap:9px;align-items:center}.top-actions button,.scene-buttons button,.chart-tools button,.preset-grid button,.segment button{border:1px solid #284653;color:#acc7cf;background:#112430;border-radius:5px;padding:9px 12px;font-weight:650;font-size:11px;white-space:nowrap}.top-actions button:hover,.scene-buttons button:hover,.chart-tools button:hover,.preset-grid button:hover{border-color:#4c827f}.top-actions .primary-btn,.primary-btn{color:#051b23;background:linear-gradient(110deg,#5ce1cf,#b2e9d5);border:1px solid #77e5ce;font-weight:800}.top-actions .ghost-btn{border:none;background:transparent}.workspace{display:grid;grid-template-columns:276px minmax(410px,1fr) 310px;max-width:2000px;margin:auto;min-height:calc(100vh - 73px)}.sidebar{background:#0b1b27;border-right:1px solid #213b46;padding:24px 21px 20px}.right-panel{border-left:1px solid #213b46;border-right:none;background:#0b1925}.panel-eyebrow,.eyebrow{font:10px/1.2 ui-monospace,'Cascadia Code',monospace;color:#76a5ae;letter-spacing:1.4px}.panel-eyebrow{border-bottom:1px solid var(--line);padding-bottom:19px;margin-bottom:24px}.panel-eyebrow span{color:#4ce1cb;margin-right:12px}.section-title{font-size:13px;color:#e0eef0;font-weight:750;display:flex;justify-content:space-between;align-items:center;margin:0 0 18px}.mini-led{width:5px;height:5px}.field{margin-bottom:22px}.field-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:11px;gap:7px}.field label{color:#b9cbd3;font-size:12px}.value{font:11px ui-monospace,monospace;color:#57dfcb}.field input[type=range],.editor-field input[type=range]{width:100%;height:3px;accent-color:#59e1c9;cursor:pointer}.range-ext{display:flex;justify-content:space-between;color:#5f7b8c;font:10px ui-monospace,monospace;margin-top:6px}.segment{display:grid;grid-template-columns:1fr 1fr;gap:5px}.segment button{padding:9px 5px}.segment button.active,.scene-buttons button.active,.preset-grid button.active,.chart-tools button.active{background:#194a4b;border-color:#34c4b1;color:#77eed9}select{width:100%;padding:11px 10px;color:#cbe0e2;background:#122936;border:1px solid #2d4b57;border-radius:6px;outline:none}.field-hint{color:#637f8c;font-size:10px;margin:8px 0 0}.small-divider{height:1px;background:var(--line);margin:21px 0}.toggle-line{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:16px 0}.toggle-line strong{font-size:11px;font-weight:600}.toggle-line small{display:block;color:#688997;font-size:10px;margin-top:3px}.switch input{position:absolute;opacity:0;pointer-events:none}.switch-face{width:32px;height:18px;display:block;border-radius:10px;background:#284052;border:1px solid #416170;position:relative;cursor:pointer}.switch-face:before{content:'';position:absolute;background:#a0bbc8;width:12px;height:12px;border-radius:50%;top:2px;left:2px;transition:transform .2s}.switch input:checked+.switch-face{background:#287668;border-color:#3dbda7}.switch input:checked+.switch-face:before{transform:translateX(14px);background:#ddfff3}.preset-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.preset-grid button{padding:10px 4px;font-weight:550;font-size:10px}.soft-btn{border:1px solid #33505b;background:#122936;color:#afd0d5;padding:10px;border-radius:6px;font-weight:700}.wide-btn{width:100%;margin-top:14px}.aside-foot{border-top:1px solid var(--line);margin-top:29px;padding-top:16px;font:9px ui-monospace,monospace;letter-spacing:1px;color:#607d87}.aside-foot strong{display:block;color:#c8dee2;font-size:10px;margin:6px 0}.aside-foot span{display:block;letter-spacing:0;line-height:1.5}.stage{min-width:0;padding:25px 24px 18px}.section-header,.chart-head{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:15px}.section-header h1{font-size:19px;line-height:1.25;font-weight:700;letter-spacing:-.2px;margin:7px 0 0}.scene-buttons{display:flex;gap:5px}.scene-buttons button{font-size:9px;padding:8px 9px}.view3d{height:388px;border:1px solid #315063;background:linear-gradient(180deg,#102635,#0b1a27);border-radius:8px;overflow:hidden;position:relative;box-shadow:0 18px 45px #0003}.view3d:before{content:'';position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 100px #04131c70;z-index:2}.view3d canvas{height:100%;width:100%;display:block;touch-action:none;cursor:grab}.view3d canvas:active{cursor:grabbing}.view-hud{position:absolute;z-index:3;pointer-events:none;font:9px ui-monospace,monospace;letter-spacing:.5px;color:#93bac1}.top-left{top:18px;left:20px}.top-left strong{display:block;margin:8px 0;color:#e0eff0;font:700 12px 'Segoe UI',sans-serif;letter-spacing:1px}.top-left span{color:#7d9faa}.hud-mini{color:#40c9b6;letter-spacing:1.6px}.bottom-left{bottom:18px;left:20px;color:#7c9caa}.bottom-left .pulse-led{width:6px;height:6px;margin-right:8px}.bottom-left i,.bottom-right i{font-style:normal;color:#38616d;margin:0 5px}.bottom-right{bottom:18px;right:20px}.bottom-right span{color:#58e2cc}.chart-head{margin-top:24px;margin-bottom:12px;align-items:center}.chart-head h2{font-size:15px;letter-spacing:.1px;margin:7px 0 0}.chart-head h2 span{font:10px ui-monospace,monospace;color:#63d9c8;background:#173a40;border:1px solid #2b6b67;padding:4px 8px;border-radius:3px;margin-left:7px}.chart-tools{display:flex;gap:6px;align-items:center}.chart-tools button{font-size:10px;padding:7px 10px}.chart-tools [data-action=inject].active{background:#826045;color:#ffe2ad;border-color:#d49b59}.legend{color:#84a6b1;font:10px ui-monospace,monospace;margin-right:5px;white-space:nowrap}.legend i{display:inline-block;width:15px;height:2px;background:#54e2cd;vertical-align:middle;margin-right:5px}.plot-frame{border:1px solid #2e4856;background:#0a1926;position:relative;border-radius:7px;height:276px;overflow:hidden}.plot-frame canvas{width:100%;height:100%;display:block;cursor:crosshair}.plot-help{position:absolute;pointer-events:none;bottom:10px;left:62px;color:#6f8e99;font:9px ui-monospace,monospace;letter-spacing:.4px}.measure-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin-top:11px;border:1px solid #27414e;background:#0e222e;border-radius:6px}.measure-row>div{padding:13px 13px;border-right:1px solid #28434e}.measure-row>div:last-child{border:none}.measure-row span{font:9px ui-monospace,monospace;color:#7998a7;letter-spacing:.6px;white-space:nowrap}.measure-row strong{display:block;font:700 15px ui-monospace,monospace;color:#d9edf0;margin-top:6px}.right-panel .panel-eyebrow{margin-bottom:20px}.telemetry-card{border:1px solid #2c5056;background:linear-gradient(130deg,#173d45,#102731);border-radius:8px;padding:17px;margin-bottom:14px}.telemetry-card>small{font:10px ui-monospace,monospace;color:#88b5bd;display:flex;justify-content:space-between;gap:8px}.telemetry-card>small span{font-size:8px;color:#52c8ae}.big-value{margin:13px 0 6px}.big-value strong{font:700 39px ui-monospace,monospace;letter-spacing:-2px;color:#e2f7f1}.big-value span{color:#7bcfbd;font:14px ui-monospace,monospace;margin-left:8px}.bargraph{height:4px;border-radius:3px;background:#213f4c;margin-top:8px;overflow:hidden}.bargraph span{display:block;height:100%;background:linear-gradient(90deg,#27b8ab,#e1b978);width:20%}.telemetry-card p{font-size:10px;line-height:1.6;color:#89aab3;margin:11px 0 0}.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.stat-grid>div{background:#112734;border:1px solid #23404c;padding:12px 10px;border-radius:5px}.stat-grid small{display:block;font:9px ui-monospace,monospace;color:#7694a3;letter-spacing:.4px}.stat-grid strong{display:block;margin-top:8px;color:#e8f4f5;font:700 23px ui-monospace,monospace}.stat-grid em{display:block;color:#7b9ba7;font-size:10px;font-style:normal}.right-head,.events-head{display:flex;justify-content:space-between;align-items:center;gap:6px;margin:24px 0 10px}.right-head .section-title,.events-head .section-title{margin:0}.link-btn{font-size:10px;color:#59d2c2;background:none;border:none;padding:0}.topology-frame{border:1px solid #2b4957;background:#0d2430;border-radius:6px;padding:4px 9px 10px}.topology-frame canvas{height:65px;width:100%;display:block;cursor:pointer}.topology-labels{display:flex;justify-content:space-between;font:9px ui-monospace,monospace;color:#7797a4}.chip{font:9px ui-monospace,monospace;color:#78bfb8;border:1px solid #31595c;border-radius:3px;padding:5px 7px;background:#15313c}.event-scroll{max-height:263px;overflow:auto;scrollbar-width:thin;scrollbar-color:#3c6068 transparent}.event-row{width:100%;display:flex;align-items:center;gap:9px;padding:10px 7px;border:1px solid transparent;border-bottom-color:#203845;background:transparent;color:#d2e8e7;text-align:left}.event-row:hover,.event-row.selected{border-color:#337e79;background:#15343b;border-radius:5px}.event-icon{display:flex;align-items:center;justify-content:center;width:28px;height:29px;border-radius:4px;border:1px solid #607a7c;color:#f6cc87;font-size:16px;flex-shrink:0}.event-icon.splice{color:#65c5f5}.event-icon.bend{color:#ffa088}.event-icon.break{color:#ff7385}.event-desc{min-width:0;flex:1}.event-desc strong{display:block;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-desc small{display:block;font:9px ui-monospace,monospace;color:#7496a1;margin-top:4px}.event-loss{font:700 13px ui-monospace,monospace}.event-loss small{font-size:9px;color:#7197a2;margin-left:3px}.empty-list,.empty-editor{color:#7d9da8;font-size:11px;padding:17px 10px;border:1px dashed #2b4b57;border-radius:5px}.event-editor{margin-top:12px}.editor-heading{display:flex;align-items:center;justify-content:space-between;font:10px ui-monospace,monospace;border-top:1px solid #2c4751;padding-top:15px;color:#d5e4e7}.editor-heading strong span{color:#60dec6}.editor-heading button{color:#e5a097;font:9px ui-monospace,monospace;background:none;border:none}.editor-field{margin-top:12px}.editor-field label{display:flex;justify-content:space-between;font-size:11px;color:#9eb6bd}.editor-field output{font:11px ui-monospace,monospace;color:#7ce4cf}.editor-field input{margin-top:9px}.right-footer{margin:17px 0 0;color:#63818d;font:10px/1.65 ui-monospace,monospace}.right-footer strong{color:#b3bbc1}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,15px);background:#1b4147;border:1px solid #5bd3bd;color:#daf7f1;padding:11px 18px;border-radius:6px;box-shadow:0 10px 40px #0007;opacity:0;transition:.2s;pointer-events:none;z-index:20}.toast.show{opacity:1;transform:translate(-50%,0)}.modal-backdrop{position:fixed;z-index:15;inset:0;background:#000b;display:flex;align-items:center;justify-content:center;padding:18px}.modal-backdrop[hidden]{display:none}.modal{max-width:600px;max-height:86vh;overflow:auto;background:#0e2532;border:1px solid #477077;border-radius:10px;padding:24px 29px;box-shadow:0 25px 60px #0009}.modal-head{display:flex;justify-content:space-between;font:13px ui-monospace,monospace;color:#52e3c7}.modal-head button{background:none;color:#b0c2c8;border:none}.modal h3{color:#e3f4f1;font-size:15px;margin:23px 0 8px}.modal p{color:#9eb7c0;line-height:1.7}.shortcut-grid{display:grid;grid-template-columns:60px 1fr;align-items:center;gap:8px;color:#b2d1d5}.shortcut-grid kbd{background:#27434a;border-radius:3px;padding:4px;text-align:center}.modal-ok{margin-top:22px;padding:12px 25px;border-radius:5px}.scene-error{padding:140px 10px;text-align:center;color:#e5b486}.view3d .view-hud{user-select:none}@media(max-width:1360px){.workspace{grid-template-columns:245px minmax(365px,1fr) 277px}.sidebar{padding:20px 15px}.stage{padding:22px 15px}.view3d{height:350px}.top-status{display:none}.chart-tools .legend{display:none}.section-header h1{font-size:16px}}@media(max-width:1020px){.workspace{grid-template-columns:230px minmax(0,1fr)}.right-panel{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.right-panel .panel-eyebrow{grid-column:1/-1}.event-scroll{max-height:225px}.right-footer{grid-column:1/-1}.view3d{height:370px}}@media(max-width:700px){.topbar{height:auto;padding:14px 16px;flex-wrap:wrap}.top-actions{width:100%;justify-content:space-between}.workspace{display:flex;flex-direction:column}.sidebar{border-right:none;border-bottom:1px solid #25454f}.stage{order:0}.left-panel{order:1}.right-panel{order:2;display:block}.section-header{align-items:start;flex-direction:column}.view3d{height:320px}.chart-head{align-items:start;flex-direction:column}.chart-tools{width:100%;justify-content:flex-end}.measure-row{grid-template-columns:repeat(2,1fr)}.measure-row>div:last-child{grid-column:1/-1}.view-hud.bottom-left{font-size:7px}.brand-text{font-size:16px}}
