.react-grid-layout{position:relative;transition:height .2s ease}.react-grid-item{transition:all .2s ease;transition-property:left,top,width,height}.react-grid-item img{pointer-events:none;-webkit-user-select:none;user-select:none}.react-grid-item.cssTransforms{transition-property:transform,width,height}.react-grid-item.resizing{transition:none;z-index:1;will-change:width,height}.react-grid-item.react-draggable-dragging{transition:none;z-index:3;will-change:transform}.react-grid-item.dropping{visibility:hidden}.react-grid-item.react-grid-placeholder{background:red;opacity:.2;transition-duration:.1s;z-index:2;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none}.react-grid-item.react-grid-placeholder.placeholder-resizing{transition:none}.react-grid-item>.react-resizable-handle{position:absolute;width:20px;height:20px}.react-grid-item>.react-resizable-handle:after{content:"";position:absolute;right:3px;bottom:3px;width:5px;height:5px;border-right:2px solid rgba(0,0,0,.4);border-bottom:2px solid rgba(0,0,0,.4)}.react-resizable-hide>.react-resizable-handle{display:none}.react-grid-item>.react-resizable-handle.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-w,.react-grid-item>.react-resizable-handle.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-n,.react-grid-item>.react-resizable-handle.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}.react-resizable{position:relative}.react-resizable-handle{position:absolute;width:20px;height:20px;background-repeat:no-repeat;background-origin:content-box;box-sizing:border-box;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2IDYiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYwMCIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iNnB4Ij48ZyBvcGFjaXR5PSIwLjMwMiI+PHBhdGggZD0iTSA2IDYgTCAwIDYgTCAwIDQuMiBMIDQgNC4yIEwgNC4yIDQuMiBMIDQuMiAwIEwgNiAwIEwgNiA2IEwgNiA2IFoiIGZpbGw9IiMwMDAwMDAiLz48L2c+PC9zdmc+);background-position:bottom right;padding:0 3px 3px 0}.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-resizable-handle-w,.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-resizable-handle-n,.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}:root{--bg:#f6f7f9;--surface:#fff;--sunk:#f0f2f5;--line:#e1e5eb;--line-soft:#eceff3;--ink:#131923;--ink-2:#4b5363;--ink-3:#7c8494;--accent:#1f5fae;--s1:#2a78d6;--s2:#eb6834;--s3:#1baf7a;--s4:#8d5bd8;--good:#0ca30c;--warn:#fab219;--crit:#d03b3b;--good-bg:#e8f5e8;--warn-bg:#fdf4dd;--crit-bg:#fbeaea;--grid:#e8ebf0;--mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;--sans:"IBM Plex Sans",system-ui,sans-serif;--cond:"IBM Plex Sans Condensed","IBM Plex Sans",sans-serif}@media (prefers-color-scheme: dark){:root{color-scheme:dark;--bg:#10131a;--surface:#171b23;--sunk:#1d222c;--line:#2a303c;--line-soft:#232935;--ink:#edf0f5;--ink-2:#b3bbc9;--ink-3:#858ea0;--accent:#7fb0ef;--s1:#3987e5;--s2:#d95926;--s3:#199e70;--s4:#a07ae8;--good-bg:#17301b;--warn-bg:#3a3013;--crit-bg:#3c1c1e;--grid:#252b36}}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.55 var(--sans)}a{color:var(--accent)}.wrap{max-width:1180px;margin:0 auto;padding:24px 20px 56px}header.top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:8px 24px}.eyebrow{font:500 11.5px/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}h1{font:600 clamp(26px,4vw,34px)/1.1 var(--cond);margin:6px 0 0}h2{font:600 20px/1.2 var(--cond);margin:0}h3{margin:0;font-size:14px;font-weight:600}.asof{font:400 12.5px/1.6 var(--mono);color:var(--ink-2);text-align:right}.tabs-wrap{position:sticky;top:0;z-index:20;background:var(--bg);padding:14px 0 12px;margin-top:10px;border-bottom:1px solid var(--line)}.tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.tabs a{display:flex;flex-direction:column;gap:3px;text-decoration:none;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:11px 13px;font:600 15px/1.2 var(--sans)}.tabs a span{font:400 12px/1.3 var(--sans);color:var(--ink-3)}.tabs a:hover{border-color:var(--accent)}.tabs a.active{background:var(--accent);border-color:var(--accent);color:#fff}.tabs a.active span{color:#ffffffd9}@media (max-width:820px){.tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.tabs a span{display:none}}section{margin-top:34px}.sub{color:var(--ink-3);font-size:13.5px;margin:3px 0 14px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px}.card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px 18px;min-width:0}.card .cap{margin:2px 0 10px;font-size:12.5px;color:var(--ink-3)}.wide{grid-column:1/-1}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-top:18px;background:var(--surface);border:1px solid var(--line);border-radius:12px}.kpi{padding:14px 16px;display:flex;flex-direction:column;gap:3px;border-right:1px solid var(--line-soft)}.kpi:last-child{border-right:0}.kpi .k{font-size:12.5px;color:var(--ink-3)}.kpi .v{font:500 23px/1.15 var(--mono)}.kpi .n{font-size:12px;color:var(--ink-3)}.seg{display:inline-flex;flex-wrap:wrap;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:3px;gap:2px}.seg button{font:500 13px/1 var(--sans);color:var(--ink-2);background:none;border:0;border-radius:7px;padding:9px 12px;cursor:pointer}.seg button[aria-pressed=true]{background:var(--ink);color:var(--bg)}.ctl{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:14px}.btn{font:600 13px/1 var(--sans);border-radius:8px;padding:10px 14px;cursor:pointer;border:1px solid var(--line);background:var(--surface);color:var(--ink)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.danger{color:var(--crit)}input,select,textarea{font:400 13.5px/1.2 var(--sans);color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:8px 10px}label.f{display:flex;flex-direction:column;gap:5px;font-size:12.5px;color:var(--ink-2)}dl.stats{display:grid;grid-template-columns:1fr auto;margin:0}dl.stats dt,dl.stats dd{padding:8px 0;border-bottom:1px solid var(--line-soft);margin:0;font-size:14px}dl.stats dt{color:var(--ink-2)}dl.stats dd{font-family:var(--mono);text-align:right}.tbl{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13.5px}th,td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line-soft);vertical-align:top}th{font:500 11px/1.2 var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3)}td.num,th.num{text-align:right;font-family:var(--mono);white-space:nowrap}.mono{font-family:var(--mono);font-size:12.5px;overflow-wrap:anywhere}.muted{color:var(--ink-3);font-size:13px}.err{color:var(--crit)}.banner{margin-top:14px;padding:10px 14px;border-radius:10px;background:var(--warn-bg);font-size:13.5px}.check{display:inline-flex;gap:6px;align-items:center;font:500 11.5px/1.3 var(--mono);color:var(--ink-2);background:var(--sunk);border-radius:6px;padding:5px 8px;margin:8px 8px 0 0}.check i{width:7px;height:7px;border-radius:50%;background:var(--good)}.check.bad i{background:var(--warn)}.hb{display:grid;gap:11px}.hb-top{display:flex;justify-content:space-between;gap:12px;font-size:13px}.hb-name{color:var(--ink-2);font-family:var(--mono);font-size:12.5px;overflow-wrap:anywhere}.hb-val{font-family:var(--mono);white-space:nowrap}.hb-track{height:8px;margin-top:5px;background:var(--sunk);border-radius:4px}.hb-bar{height:100%;background:var(--s1);border-radius:4px}.callout{background:var(--sunk);border-radius:10px;padding:11px 14px;font-size:13.5px;color:var(--ink-2);margin-top:12px}.callout b{color:var(--ink)}.rate{display:inline-flex;align-items:center;gap:5px;font:500 11px/1 var(--mono);text-transform:uppercase;padding:4px 7px;border-radius:999px}.rate i{width:7px;height:7px;border-radius:50%}.r-good{background:var(--good-bg)}.r-good i{background:var(--good)}.r-ni{background:var(--warn-bg)}.r-ni i{background:var(--warn)}.r-poor{background:var(--crit-bg)}.r-poor i{background:var(--crit)}.ins{background:var(--surface);border:1px solid var(--line);border-radius:12px}.ins-row{display:grid;grid-template-columns:90px 1fr;gap:6px 16px;padding:15px 18px;border-bottom:1px solid var(--line-soft)}.ins-row:last-child{border-bottom:0}.ins-row p{margin:4px 0 0;font-size:13.5px;color:var(--ink-2)}.when{font:600 11px/1 var(--mono);text-transform:uppercase;padding:5px 8px;border-radius:6px;display:inline-block}.w-now{background:var(--crit-bg)}.w-next{background:var(--warn-bg)}.w-later{background:var(--sunk)}.tag{font:500 11px/1 var(--mono);padding:5px 8px;border-radius:999px;background:var(--sunk);color:var(--ink-2);margin:8px 6px 0 0;display:inline-block}.focus{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.focus .card{border-top:3px solid var(--accent)}.focus .n{font:500 26px/1.1 var(--mono);margin:6px 0}.widget{height:100%;display:flex;flex-direction:column}.widget-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px}.widget-head .drag{cursor:move;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.widget-head .btn{padding:7px 10px;flex:none}@media (max-width:760px){.widget-head .drag{cursor:default}}.widget-body{flex:1;min-height:0}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;display:grid;place-items:center;z-index:50;padding:16px}.modal{background:var(--surface);border-radius:14px;padding:20px;width:min(560px,100%);display:grid;gap:12px;max-height:90vh;overflow:auto}.react-grid-item.react-grid-placeholder{background:var(--accent)!important;opacity:.15!important;border-radius:12px}footer{margin-top:40px;padding-top:14px;border-top:1px solid var(--line);color:var(--ink-3);font-size:12.5px}:root{--brand-coral: #e8735f}@media (prefers-color-scheme: dark){:root{--brand-coral: #f08a76}}.intro{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:grid;place-items:center;cursor:pointer;background:radial-gradient(60% 50% at 50% 42%,color-mix(in oklab,var(--accent) 7%,transparent),transparent 70%),var(--bg);animation:intro-out .7s cubic-bezier(.4,0,.2,1) 5s forwards}.intro-stage{display:flex;flex-direction:column;align-items:center;gap:22px;padding:16px}.intro-art{width:min(360px,72vw);height:auto;overflow:visible}.intro-mote{fill:var(--ink-3);opacity:0;animation:intro-mote-in .9s ease-out forwards,intro-mote-dim .9s ease-in-out forwards}@keyframes intro-mote-in{0%{opacity:0}to{opacity:.45}}@keyframes intro-mote-dim{to{opacity:.12}}.intro-noise{animation:intro-drift 5s ease-in-out both;transform-box:view-box;transform-origin:0 0}@keyframes intro-drift{0%{transform:rotate(-4deg) scale(1.04)}to{transform:rotate(3deg) scale(1)}}.intro-aura{transform-box:view-box;transform-origin:0 0;opacity:0;animation:intro-aura 2.6s ease-in-out .1s forwards}@keyframes intro-aura{0%{opacity:0;transform:scale(.6)}35%{opacity:1;transform:scale(1)}75%{opacity:.7}to{opacity:0;transform:scale(1.1)}}.intro-butterfly{color:var(--brand-coral);filter:drop-shadow(0 8px 22px color-mix(in oklab,var(--brand-coral) 40%,transparent))}.intro-wing{fill:currentColor;transform-box:fill-box;opacity:0;will-change:transform,opacity}.intro-wing.left{transform-origin:100% 55%;animation:intro-wing-in 1.05s cubic-bezier(.16,1,.3,1) .15s forwards,intro-flutter 1s cubic-bezier(.45,0,.55,1) 1.2s}.intro-wing.right{transform-origin:0% 55%;animation:intro-wing-in 1.05s cubic-bezier(.16,1,.3,1) .25s forwards,intro-flutter 1s cubic-bezier(.45,0,.55,1) 1.2s}@keyframes intro-wing-in{0%{opacity:0;transform:scale(.55) rotate(-8deg);filter:blur(10px)}to{opacity:1;transform:none;filter:blur(0)}}@keyframes intro-flutter{0%,to{transform:scaleX(1)}25%{transform:scaleX(.6)}50%{transform:scaleX(1)}75%{transform:scaleX(.72)}}.intro-float{transform-box:view-box;transform-origin:0 0;animation:intro-float 2s cubic-bezier(.45,0,.55,1) .2s}@keyframes intro-float{40%{transform:translateY(-5px)}70%{transform:translateY(-2px)}}.intro-fly{transform-box:view-box;transform-origin:0 0;will-change:transform,opacity;animation:intro-fly .9s cubic-bezier(.6,0,.3,1) 2.2s forwards}@keyframes intro-fly{0%{transform:none;opacity:1}50%{transform:translate(calc(var(--bx) * .45),calc(var(--by) - 26px)) scale(.42);opacity:1}88%{opacity:1}to{transform:translate(var(--bx),var(--by)) scale(.07);opacity:0}}.intro-glass{opacity:0;animation:intro-fade .8s ease-out 1.2s forwards}.intro-rim{fill:none;stroke:var(--accent);stroke-width:1.3;stroke-dasharray:1;stroke-dashoffset:1;opacity:.75;transform-box:view-box;transform-origin:0 0;transform:rotate(-90deg);animation:intro-draw .95s cubic-bezier(.65,0,.35,1) 1s forwards}.intro-rim.inner{stroke-width:.6;opacity:.35;animation-delay:1.15s}@keyframes intro-draw{to{stroke-dashoffset:0}}.intro-knurl{fill:none;stroke:var(--accent);stroke-width:5;stroke-dasharray:.7 2.6;opacity:0;animation:intro-knurl .7s ease-out 1.3s forwards}@keyframes intro-knurl{to{opacity:.32}}.intro-focus{transform-box:view-box;transform-origin:0 0;animation:intro-turn 1.5s cubic-bezier(.45,0,.2,1) 1.5s forwards}@keyframes intro-turn{to{transform:rotate(-64deg)}}.intro-base{stroke:var(--line);stroke-width:.8;opacity:0;animation:intro-fade .6s ease-out 2.4s forwards}.intro-pt{fill:var(--accent);transform-box:fill-box;transform-origin:center;opacity:0;transform:translate(var(--sx),var(--sy)) scale(2);animation:intro-pt .75s cubic-bezier(.22,1,.36,1) forwards}@keyframes intro-pt{0%{opacity:0}30%{opacity:.35}to{opacity:1;transform:none}}.intro-line{fill:none;stroke:var(--accent);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;animation:intro-draw .8s cubic-bezier(.65,0,.35,1) 2.5s forwards}.intro-now,.intro-now-halo{fill:var(--brand-coral);transform-box:fill-box;transform-origin:center;opacity:0}.intro-now{animation:intro-pop .55s cubic-bezier(.34,1.56,.64,1) 3.05s forwards}.intro-now-halo{animation:intro-halo 1.2s ease-out 3.15s 2}@keyframes intro-pop{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}@keyframes intro-halo{0%{opacity:.5;transform:scale(1)}to{opacity:0;transform:scale(4.2)}}.intro-glint{opacity:0;transform-box:view-box;animation:intro-glint .9s cubic-bezier(.4,0,.2,1) 3.3s forwards}@keyframes intro-glint{0%{opacity:0;transform:rotate(20deg) translate(0)}20%{opacity:.5}to{opacity:0;transform:rotate(20deg) translate(220px)}}@keyframes intro-fade{to{opacity:1}}.intro-title{margin:0;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;color:var(--ink)}.intro-word-main{font:600 clamp(46px,8vw,76px)/1.05 var(--cond);letter-spacing:.01em}.intro-word-main .intro-letter{background:linear-gradient(105deg,var(--ink) 40%,var(--accent) 47%,var(--brand-coral) 50%,var(--accent) 53%,var(--ink) 60%) 0 0 / 300% 100% no-repeat;background-position:100% 0;-webkit-background-clip:text;background-clip:text;color:transparent;animation:intro-letter .8s cubic-bezier(.16,1,.3,1) forwards,intro-shimmer .75s cubic-bezier(.4,0,.2,1) 4.35s forwards}@keyframes intro-shimmer{0%{background-position:100% 0}to{background-position:0 0}}.intro-word-sub{font:600 clamp(15px,2.2vw,20px)/1 var(--mono);letter-spacing:.62em;margin-right:-.62em;text-transform:uppercase;color:var(--accent)}.intro-letter{display:inline-block;opacity:0;transform:translateY(14px);filter:blur(8px);will-change:transform,opacity,filter;animation:intro-letter .8s cubic-bezier(.16,1,.3,1) forwards}@keyframes intro-letter{to{opacity:1;transform:none;filter:blur(0)}}.intro-rule{display:block;height:2px;width:min(320px,64vw);border-radius:2px;background:linear-gradient(90deg,transparent,var(--accent),var(--brand-coral),transparent);transform:scaleX(0);animation:intro-rule .9s cubic-bezier(.65,0,.35,1) 4.1s forwards}@keyframes intro-rule{to{transform:scaleX(1)}}.intro-tag{margin-top:-8px;font:400 12.5px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);opacity:0;animation:intro-fade .7s ease-out 4.3s forwards}@keyframes intro-out{to{opacity:0;transform:scale(1.02);visibility:hidden}}@media (prefers-reduced-motion: reduce){.intro,.intro *{animation:none!important}.intro-letter,.intro-tag,.intro-glass,.intro-base,.intro-pt,.intro-now{opacity:1;transform:none;filter:none}.intro-rim,.intro-line{stroke-dashoffset:0}.intro-mote{opacity:.12}.intro-fly,.intro-aura,.intro-glint,.intro-now-halo,.intro-knurl{display:none}.intro-rule{transform:none}.intro{animation:intro-out .4s ease-in .5s forwards!important}}.brand-replay{cursor:pointer}
