.react-grid-layout{transition:height .2s;position:relative}.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{z-index:1;will-change:width, height;transition:none}.react-grid-item.react-draggable-dragging{z-index:3;will-change:transform;transition:none}.react-grid-item.dropping{visibility:hidden}.react-grid-item.react-grid-placeholder{opacity:.2;z-index:2;-webkit-user-select:none;user-select:none;background:red;transition-duration:.1s}.react-grid-item.react-grid-placeholder.placeholder-resizing{transition:none}.react-grid-item>.react-resizable-handle{opacity:0;width:20px;height:20px;position:absolute}.react-grid-item:hover>.react-resizable-handle{opacity:1}.react-grid-item>.react-resizable-handle:after{content:"";border-bottom:2px solid #0006;border-right:2px solid #0006;width:5px;height:5px;position:absolute;bottom:3px;right:3px}.react-resizable-hide>.react-resizable-handle{display:none}.react-grid-item>.react-resizable-handle.react-resizable-handle-sw{cursor:sw-resize;bottom:0;left:0;transform:rotate(90deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-se{cursor:se-resize;bottom:0;right:0}.react-grid-item>.react-resizable-handle.react-resizable-handle-nw{cursor:nw-resize;top:0;left:0;transform:rotate(180deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-ne{cursor:ne-resize;top:0;right:0;transform:rotate(270deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-w,.react-grid-item>.react-resizable-handle.react-resizable-handle-e{cursor:ew-resize;margin-top:-10px;top:50%}.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{cursor:ns-resize;margin-left:-10px;left:50%}.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)}.board-surface{-webkit-overflow-scrolling:touch;flex:1;padding:12px;position:relative;overflow:hidden auto}.board-surface.editing{background-image:radial-gradient(circle,#3d4248 1.5px,#0000 1.5px);background-position:11px 11px;background-size:22px 22px}.react-grid-item>div{height:100%}.widget-slot{height:100%;position:relative;overflow:visible}.widget-flip{height:100%;transform-style:preserve-3d;transition:transform .32s cubic-bezier(.4,0,.2,1);position:relative}.widget-slot.flipped .widget-flip{transform:rotateY(180deg)}.widget-face{backface-visibility:hidden;position:absolute;inset:0}.widget-back{border-color:var(--accent);transform:rotateY(180deg)}.widget{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);height:100%;transition:border-color var(--fast);flex-direction:column;padding:12px;display:flex;overflow:hidden}.widget-body{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}@keyframes wiggle{0%{transform:rotate(-.55deg)}50%{transform:rotate(.55deg)}to{transform:rotate(-.55deg)}}.editing .widget-slot:not(.flipped) .widget-face:first-child{animation:wiggle var(--wiggle-duration,.34s) ease-in-out infinite;animation-delay:var(--wiggle-delay,0s);border-color:var(--border-strong);cursor:grab}.editing .react-grid-item.react-draggable-dragging .widget{cursor:grabbing;border-color:var(--accent);animation:none}.editing .react-grid-item.react-draggable-dragging,.widget-slot.flipped{z-index:20}@media (prefers-reduced-motion:reduce){.editing .widget-face{border-color:var(--accent);animation:none!important}.widget-flip{transition:none}}.widget-badge{z-index:30;border:2px solid var(--bg);border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:16px;font-weight:700;line-height:1;animation:none;display:flex;position:absolute;top:-10px}.widget-remove{background:var(--critical);color:#fff;left:-10px}.widget-config{background:var(--border-strong);color:var(--text);letter-spacing:1px;font-size:15px;right:-10px}.widget-badge:active{transform:scale(.88)}.react-grid-item.react-grid-placeholder{border-radius:var(--radius);transition-duration:90ms;background:var(--accent)!important;opacity:.14!important}.react-grid-item{transition:transform .16s,width .16s,height .16s}.react-grid-item.react-draggable-dragging{will-change:transform;transition:none}.react-grid-item.resizing{transition:none}.react-resizable-handle{opacity:0;pointer-events:none;z-index:25;width:26px;height:26px;position:absolute}.react-resizable-handle-se{cursor:se-resize;bottom:0;right:0}.react-resizable-handle-sw{cursor:sw-resize;bottom:0;left:0}.editing .react-resizable-handle{opacity:1;pointer-events:auto}.editing .react-resizable-handle:after{content:"";border-bottom:2px solid var(--accent);width:10px;height:10px;position:absolute}.editing .react-resizable-handle-se:after{border-right:2px solid var(--accent);border-bottom-right-radius:2px;bottom:5px;right:5px}.editing .react-resizable-handle-sw:after{border-left:2px solid var(--accent);border-bottom-left-radius:2px;bottom:5px;left:5px}:root{--bg:#0a0b0d;--surface:#141619;--surface-raised:#1a1d21;--border:#232629;--border-strong:#2f3338;--text:#e8eaed;--text-dim:#9aa0a6;--text-faint:#6b7076;--accent:#00e5d4;--warn:#ffb020;--critical:#ff3b47;--best:#b44bff;--improve:#25d366;--tyre-soft:#ff3b47;--tyre-medium:#ffb020;--tyre-hard:#e8eaed;--tyre-inter:#25d366;--tyre-wet:#3aa3ff;--font-ui:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--radius:8px;--radius-sm:4px;--gap:10px;--fast:.12s;--normal:.16s;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;overscroll-behavior:none;font-size:14px}.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;letter-spacing:-.02em}.label{letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint);font-size:10px;font-weight:500;line-height:1}button{font-family:inherit;font-size:inherit;color:inherit;cursor:pointer;background:0 0;border:none;padding:0}input{font-family:inherit;font-size:inherit;color:inherit}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:4px}::-webkit-scrollbar-track{background:0 0}
