:root{--bg:#04060c;--panel:rgba(12,18,30,.55);--line:rgba(120,160,220,.14);--txt:#c9d6ee;--dim:#6b7a99;--cyan:#3fe0ff;--green:#38f5a8;--amber:#ffcf5c;--red:#ff5d6c;--violet:#b28bff;--head:var(--head);--fill:var(--fill);--fill-soft:var(--fill-soft);--ctrl-grad:rgba(4,6,12,.92);--ops-bg:rgba(8,12,22,.82);--subtab-bg:rgba(12,18,30,.6);--detail-grad1:rgba(16,22,38,.92);--detail-grad2:rgba(8,12,22,.9);--ring-bg:#0a0f1c;--msg-grad1:rgba(20,30,50,.7);--msg-grad2:rgba(10,16,28,.6);--msg-body:#dfe9ff}:root[data-theme=light]{--bg:#eef3f1;--panel:rgba(255,255,255,.92);--line:#c4d4cc;--txt:#0d1f18;--dim:#52645c;--cyan:#0b8aa6;--green:#009e5c;--amber:#c9760a;--red:#e42f42;--violet:#6334e6;--head:#0a1812;--fill:rgba(13,31,24,.05);--fill-soft:rgba(13,31,24,.1);--ctrl-grad:rgba(238,243,241,.96);--ops-bg:rgba(255,255,255,.94);--subtab-bg:rgba(255,255,255,.88);--detail-grad1:rgba(255,255,255,.97);--detail-grad2:rgba(240,246,243,.95);--ring-bg:#ffffff;--msg-grad1:rgba(255,255,255,.96);--msg-grad2:rgba(240,246,243,.92);--msg-body:#0d1f18}:root[data-theme=light] html,:root[data-theme=light] body,:root[data-theme=light] #root{background:radial-gradient(circle at 50% 32%,#fff,#e9f0ec 55%,#dde7e2)}:root[data-theme=light] .side,:root[data-theme=light] .legend,:root[data-theme=light] .subtabs,:root[data-theme=light] .ops,:root[data-theme=light] .msg,:root[data-theme=light] .theme-toggle{box-shadow:0 8px 24px #0d1f1817}:root[data-theme=light] .detail{box-shadow:0 12px 36px #0d1f1824}:root[data-theme=light] .ops-note{background:linear-gradient(180deg,#009e5c1a,#fff9)}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;width:100%;overflow:hidden;background:var(--bg);font-family:SF Mono,ui-monospace,Segoe UI,Menlo,Consolas,monospace;color:var(--txt)}#app{position:fixed;top:0;right:0;bottom:0;left:0}canvas{display:block}.top{position:fixed;top:0;left:0;right:0;padding:20px 28px;display:flex;justify-content:space-between;align-items:flex-start;pointer-events:none;z-index:10}.brand .t1{font-size:12px;letter-spacing:6px;color:var(--dim)}.brand .t2{font-size:22px;letter-spacing:3px;font-weight:600;color:var(--head);margin-top:4px}.brand .t3{font-size:11px;letter-spacing:2px;color:var(--cyan);margin-top:2px}.totals{text-align:right}.totals .lbl{font-size:10px;letter-spacing:3px;color:var(--dim)}.totals .val{font-size:26px;font-weight:600;color:var(--head);margin-top:2px}.totals .sub{font-size:11px;color:var(--dim);margin-top:2px}.side{position:fixed;top:96px;left:28px;width:250px;z-index:10;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:16px 18px;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);pointer-events:none}.side h4{font-size:10px;letter-spacing:3px;color:var(--dim);margin-bottom:12px;font-weight:500}.kpi{display:flex;justify-content:space-between;align-items:center;margin:9px 0}.kpi.divider{border-top:1px solid var(--line);padding-top:9px;margin-top:12px}.kpi .k{font-size:12px;color:var(--txt)}.kpi .v{font-size:13px;font-weight:600}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:8px;vertical-align:middle}.msg{position:fixed;bottom:150px;left:28px;width:330px;z-index:10;background:linear-gradient(180deg,var(--msg-grad1),var(--msg-grad2));border:1px solid rgba(63,224,255,.25);border-left:3px solid var(--cyan);border-radius:10px;padding:14px 16px;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);opacity:0;transform:translateY(8px);transition:.5s;pointer-events:none}.msg.show{opacity:1;transform:none}.msg .h{font-size:10px;letter-spacing:2px;color:var(--cyan);margin-bottom:7px}.msg .b{font-size:13px;line-height:1.55;color:var(--msg-body)}.msg .b b{color:var(--green)}.legend{position:fixed;top:96px;right:28px;width:210px;z-index:10;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:16px 18px;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);pointer-events:none}.legend h4{font-size:10px;letter-spacing:3px;color:var(--dim);margin-bottom:12px;font-weight:500}.legend .row{display:flex;align-items:center;margin:8px 0;font-size:12px}.legend .note{font-size:11px;color:var(--dim);margin-top:10px;line-height:1.6}.axes{font-size:11px;color:var(--dim);line-height:1.7;margin-top:12px;border-top:1px solid var(--line);padding-top:10px}.axes b{color:var(--txt)}.ctrl{position:fixed;bottom:0;left:0;right:0;z-index:10;padding:16px 28px 22px;background:linear-gradient(0deg,var(--ctrl-grad),transparent)}.ctrl .cap{text-align:center;font-size:10px;letter-spacing:5px;color:var(--dim);margin-bottom:12px}.levels{display:flex;justify-content:center;gap:0;max-width:820px;margin:0 auto;position:relative}.track{position:absolute;top:12px;left:12%;right:12%;height:2px;background:linear-gradient(90deg,var(--green),var(--cyan),var(--violet))}.lvl{flex:1;text-align:center;cursor:pointer;position:relative;z-index:2;transition:.3s;opacity:.5}.lvl.active{opacity:1}.lvl .node{width:22px;height:22px;border-radius:50%;margin:0 auto 8px;border:2px solid var(--dim);background:var(--bg);transition:.3s}.lvl.active .node{border-color:currentColor;background:currentColor;box-shadow:0 0 22px currentColor}.lvl .num{font-size:11px;letter-spacing:2px;color:var(--dim)}.lvl .name{font-size:14px;font-weight:600;letter-spacing:1px;margin-top:2px}.lvl .q{font-size:10px;color:var(--dim);margin-top:2px}.lvl.active .num,.lvl.active .name{color:currentColor}.lvl.l1{color:var(--green)}.lvl.l2{color:var(--cyan)}.lvl.l3{color:var(--violet)}.time{max-width:640px;margin:16px auto 0}.time .months{display:flex;justify-content:space-between;font-size:10px;letter-spacing:2px;color:var(--dim);margin-bottom:6px}.time .months span{cursor:pointer;transition:.2s}.time .months span.on{color:var(--cyan)}.time input{width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:3px;background:linear-gradient(90deg,var(--cyan),rgba(120,160,220,.2));border-radius:2px;outline:none}.time input::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:var(--head);box-shadow:0 0 12px var(--cyan);cursor:pointer}.hint{position:fixed;bottom:150px;right:28px;font-size:10px;color:var(--dim);letter-spacing:1px;z-index:10;text-align:right;line-height:1.7;pointer-events:none}.ops{position:fixed;top:70px;left:28px;right:28px;bottom:132px;z-index:12;background:var(--ops-bg);border:1px solid var(--line);border-radius:14px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:20px 24px;overflow-y:auto;display:flex;flex-direction:column;gap:16px;animation:slideIn .35s ease}.ops-head{display:flex;justify-content:space-between;align-items:flex-start;gap:24px}.ops-title{font-size:20px;font-weight:600;letter-spacing:2px;color:var(--head)}.ops-sub{font-size:11px;color:var(--dim);letter-spacing:1px;margin-top:3px}.ops-logic{max-width:460px;font-size:11.5px;line-height:1.55;color:var(--txt);border-left:2px solid rgba(63,224,255,.4);padding-left:12px}.ops-logic b{color:var(--head)}.ops-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.ops-kpi{background:var(--fill);border:1px solid var(--line);border-radius:10px;padding:12px 14px}.ok-l{font-size:9px;letter-spacing:2px;color:var(--dim)}.ok-v{font-size:24px;font-weight:600;color:var(--head);margin-top:4px}.ok-s{font-size:10px;color:var(--dim);margin-top:2px}.ops-table{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:10px;overflow:hidden}.ops-tr{display:grid;grid-template-columns:1.7fr 1.5fr 1.3fr 1fr 1fr .8fr 1fr;gap:10px;align-items:center;padding:11px 14px;font-size:12px;border-bottom:1px solid var(--line)}.ops-tr:last-child{border-bottom:none}.ops-th{background:var(--fill);font-size:9px;letter-spacing:1.5px;color:var(--dim)}.ops-cell-name{display:flex;align-items:flex-start;gap:8px}.ops-cell-name .dot{margin-top:5px}.ops-cell-name b{color:var(--head);font-size:12.5px}.ops-regla{font-size:9.5px;color:var(--dim);margin-top:2px}.ops-vol{display:flex;flex-direction:column;gap:4px}.ops-bar{height:7px;background:var(--fill-soft);border-radius:4px;overflow:hidden}.ops-bar-fill{height:100%;border-radius:4px}.ops-vol-n{font-size:12px;color:var(--head);font-weight:600}.ops-vol-n span{color:var(--dim);font-weight:400;font-size:10px}.ops-rec{font-weight:600;text-align:right}.ops-rec-p{font-size:9.5px;color:var(--dim);font-weight:400}.ops-foot{display:grid;grid-template-columns:1.4fr 1fr;gap:16px}.ops-cap{background:var(--fill);border:1px solid var(--line);border-radius:10px;padding:14px 16px}.ops-cap-h{font-size:9px;letter-spacing:2px;color:var(--dim);margin-bottom:10px}.ops-cap-bar{position:relative;height:12px;background:var(--fill-soft);border-radius:6px;overflow:hidden}.ops-cap-fill{height:100%;border-radius:6px;transition:width .5s ease}.ops-cap-mark{position:absolute;top:-3px;bottom:-3px;left:100%;width:2px;background:var(--dim)}.ops-cap-legend{display:flex;justify-content:space-between;font-size:10px;color:var(--dim);margin-top:8px}.ops-note{background:linear-gradient(180deg,#38f5a80f,#0a101c66);border:1px solid rgba(56,245,168,.2);border-radius:10px;padding:14px 16px;font-size:12px;line-height:1.55;color:var(--txt)}.on-h{font-size:9px;letter-spacing:2px;color:var(--green);margin-bottom:7px}.subtabs{position:fixed;top:22px;left:50%;transform:translate(-50%);z-index:11;display:flex;gap:4px;background:var(--subtab-bg);border:1px solid var(--line);border-radius:10px;padding:4px;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px)}.subtab{background:none;border:none;color:var(--dim);font-family:inherit;font-size:11px;letter-spacing:1px;padding:7px 14px;border-radius:7px;cursor:pointer;transition:.2s}.subtab:hover{color:var(--txt)}.subtab.active{background:#3fe0ff24;color:var(--cyan)}.feature-hint{border-color:#3fe0ff47!important}.fh-body{font-size:12.5px;line-height:1.6;color:var(--txt)}.fh-cats{margin:14px 0 6px;border-top:1px solid var(--line);padding-top:12px}.fh-cats .row{display:flex;align-items:center;margin:7px 0;font-size:12px}.fh-tip{font-size:11px;color:var(--cyan);margin-top:10px;letter-spacing:1px}.feat-dir{margin:14px 0;padding:11px 12px;border:1px solid;border-radius:9px;background:var(--fill)}.fd-h{font-size:14px;font-weight:600;letter-spacing:.5px}.fd-sub{font-size:11.5px;color:var(--txt);margin-top:5px}.fd-sub b{color:var(--head)}.feat-bar-wrap{display:flex;align-items:center;gap:8px;margin:16px 0 14px}.fb-label{font-size:9px;letter-spacing:1px;flex-shrink:0}.feat-bar{position:relative;flex:1;height:8px;background:var(--fill-soft);border-radius:4px}.feat-bar-mid{position:absolute;left:50%;top:-3px;bottom:-3px;width:1px;background:var(--line)}.feat-bar-fill{position:absolute;top:0;height:100%;border-radius:4px}.feat-explica{font-size:12.5px;line-height:1.6;color:var(--txt);border-top:1px solid var(--line);padding-top:12px}.feat-state{display:flex;align-items:center;gap:8px;font-size:11.5px;padding:9px 11px;border-radius:8px;margin:12px 0 4px;background:var(--fill);border:1px solid var(--line)}.feat-state.on{border-color:#38f5a840}.feat-state b{color:var(--head);letter-spacing:.5px}.fs-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}.prof-row{display:flex;justify-content:space-between;align-items:center;font-size:12px;margin:5px 0;padding:5px 7px;border-radius:6px;cursor:pointer;transition:.15s}.prof-row:hover{background:var(--fill)}.prof-w{font-weight:600;font-size:11px}.prof-empty{font-size:11px;color:var(--dim);font-style:italic;margin:5px 0}.shuffle-btn{width:100%;margin-top:16px;padding:9px;background:#3fe0ff14;border:1px solid rgba(63,224,255,.25);color:var(--cyan);border-radius:8px;font-family:inherit;font-size:11px;letter-spacing:1px;cursor:pointer;transition:.2s}.shuffle-btn:hover{background:#3fe0ff29}.graph-readout{border-left-color:var(--violet);border-color:#b28bff40}.graph-readout .h{color:var(--violet)}.cobra-bars{margin:14px 0 4px}.cobra-row{display:flex;align-items:center;gap:8px;margin:8px 0}.cobra-lbl{font-size:11px;width:44px;flex-shrink:0}.cobra-track{flex:1;height:8px;background:var(--fill-soft);border-radius:4px;overflow:hidden}.cobra-fill{height:100%;border-radius:4px;transition:width .4s ease}.cobra-pct{font-size:11px;color:var(--txt);width:34px;text-align:right;flex-shrink:0}.detail{position:fixed;top:96px;right:28px;width:300px;z-index:20;background:linear-gradient(180deg,var(--detail-grad1),var(--detail-grad2));border:1px solid rgba(178,139,255,.35);border-radius:14px;padding:16px 18px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 0 40px #b28bff26;animation:slideIn .35s ease}@keyframes slideIn{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:none}}.detail-head{display:flex;justify-content:space-between;align-items:flex-start}.detail-id{font-size:18px;font-weight:600;color:var(--head);letter-spacing:1px}.detail-sub{font-size:10px;color:var(--dim);letter-spacing:2px;margin-top:2px}.detail-close{background:none;border:1px solid var(--line);color:var(--dim);border-radius:6px;width:24px;height:24px;cursor:pointer;font-size:12px;transition:.2s}.detail-close:hover{color:var(--head);border-color:var(--violet)}.detail-score{display:flex;align-items:center;gap:16px;margin:16px 0 14px}.ring{width:78px;height:78px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center}.ring-in{width:64px;height:64px;border-radius:50%;background:var(--ring-bg);display:flex;flex-direction:column;align-items:center;justify-content:center}.ring-v{font-size:17px;font-weight:700}.ring-l{font-size:8px;color:var(--dim);letter-spacing:1px}.detail-band{font-size:12px;line-height:1.9;color:var(--txt)}.detail-band b{font-weight:600}.detail-grid{display:flex;flex-direction:column;gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:4px 0}.detail-grid div{display:flex;justify-content:space-between;padding:7px 0;font-size:12px}.detail-grid span{color:var(--dim)}.detail-grid b{color:var(--txt);font-weight:600}.detail-action{margin:14px 0;padding:11px 12px;border:1px solid;border-radius:9px;background:var(--fill)}.da-h{font-size:10px;letter-spacing:1.5px;font-weight:600;margin-bottom:5px}.da-b{font-size:11.5px;line-height:1.5;color:var(--txt)}.detail-shap h4{font-size:10px;letter-spacing:2px;color:var(--dim);margin-bottom:10px;font-weight:500}.shap-row{display:flex;align-items:center;gap:8px;margin:7px 0}.shap-k{font-size:11px;color:var(--txt);width:110px;flex-shrink:0}.shap-bar{flex:1;height:6px;background:var(--fill-soft);border-radius:3px;display:flex;overflow:hidden}.shap-fill{height:100%;border-radius:3px}.shap-legend{display:flex;justify-content:space-between;font-size:9px;margin-top:8px;letter-spacing:1px}.top-right{display:flex;flex-direction:column;align-items:flex-end;gap:10px}.theme-toggle{pointer-events:auto;cursor:pointer;font-family:inherit;background:var(--panel);border:1px solid var(--line);color:var(--txt);border-radius:8px;padding:7px 13px;font-size:11px;letter-spacing:1px;display:flex;align-items:center;gap:7px;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);transition:.2s}.theme-toggle:hover{border-color:var(--cyan);color:var(--cyan)}
