.react-grid-layout{transition:height .2s;position:relative}.react-grid-item{transition:left .2s,top .2s,width .2s,height .2s}.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)}
:root{--bg:#f5f6f8;--surface:#fff;--ink:#1b1f27;--muted:#5f6878;--line:#dde1e8;--accent:#1f6f78;--accent-ink:#fff;--warn-bg:#fff4e5;--warn-ink:#8a4b00;--radius:12px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#12151b;--surface:#1b1f27;--ink:#e8ebf0;--muted:#9aa3b2;--line:#2c323d;--accent:#4fb3bd;--accent-ink:#0d1116;--warn-bg:#3a2a12;--warn-ink:#ffcf8a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--ink);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:15px}.shell{max-width:1400px;margin:0 auto;padding:16px}.top{justify-content:space-between;align-items:center;gap:12px;padding:4px 0 16px;display:flex}.brand{align-items:center;gap:10px;font-size:18px;font-weight:650;display:flex}.logo{color:var(--accent);font-size:22px}.badge{color:var(--muted);border:1px solid var(--line);white-space:nowrap;border-radius:999px;padding:3px 10px;font-size:12px}.problems{background:var(--warn-bg);color:var(--warn-ink);border-radius:var(--radius);margin-bottom:12px;padding:10px 14px;font-size:13px}.toolbar{justify-content:flex-end;gap:8px;margin-bottom:4px;display:flex}button{font:inherit;border:1px solid var(--accent);background:var(--accent);color:var(--accent-ink);cursor:pointer;border-radius:8px;padding:6px 12px;font-size:13px}button.secondary{color:var(--accent);background:0 0}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.cell{height:100%}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;height:100%;display:flex;overflow:hidden}.cell.editing .card{border-style:dashed;border-color:var(--accent)}.cell.editing .drag-handle{cursor:grab}.card-launcher{color:inherit;gap:6px;padding:12px 14px;text-decoration:none;transition:border-color .12s,box-shadow .12s}.card-launcher:hover{border-color:var(--accent);box-shadow:0 1px 6px #0000000f}.cell.editing .card-launcher{cursor:grab}.cell.editing .card-launcher:hover{box-shadow:none}.launcher-head{align-items:center;gap:10px;min-width:0;display:flex}.launcher-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:600;overflow:hidden}.launcher-arrow{color:var(--accent);font-weight:600}.launcher-desc{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;line-height:1.4;display:-webkit-box;overflow:hidden}.card-header{border-bottom:1px solid var(--line);align-items:center;gap:10px;min-height:48px;padding:10px 12px;display:flex}.card-header h2{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;margin:0;font-size:15px;font-weight:600;overflow:hidden}.icon{flex:none;place-items:center;width:26px;height:26px;font-size:18px;display:inline-grid}img.icon{object-fit:cover;border-radius:6px}.icon-fallback{background:var(--accent);color:var(--accent-ink);border-radius:6px;font-size:14px;font-weight:700}.open{color:var(--accent);white-space:nowrap;font-size:13px;font-weight:600;text-decoration:none}.open:hover{text-decoration:underline}.card-frame{background:var(--surface);border:0;flex:1;width:100%}@media (max-width:600px){.shell{padding:12px 16px}.badge{display:none}}.who{align-items:center;gap:10px;font-size:14px;display:flex}.who .badge{margin-left:8px}.muted{color:var(--muted)}.login{place-items:center;min-height:100vh;padding:16px;display:grid}.login-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:14px;width:100%;max-width:360px;padding:24px;display:flex}.login-card p{margin:0;font-size:14px}.login-error{background:var(--warn-bg);color:var(--warn-ink);border-radius:8px;padding:8px 10px}button.wide{width:100%;padding:10px 12px;font-size:14px}
