*{margin:0;padding:0;box-sizing:border-box}
html,body{width:100%;height:100%;overflow:hidden;background:#fafafa;font-family:system-ui,-apple-system,sans-serif;user-select:none;-webkit-user-select:none}
/* Canvas fills ENTIRE viewport — everything else floats on top */
#canvasSurface{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:0;cursor:crosshair;background:#fff;touch-action:none;display:block;outline:none}
/* All UI floats above canvas */
.panel{position:fixed;z-index:10;background:rgba(255,255,255,.97);border-radius:14px;box-shadow:0 4px 24px rgba(0,0,0,.07),0 1px 2px rgba(0,0,0,.04);border:1px solid rgba(0,0,0,.06)}
/* Left: tools */
#tools{left:14px;top:46%;transform:translateY(-50%);display:flex;flex-direction:column;gap:1px;padding:6px 5px;max-height:calc(100vh - 260px);overflow-y:auto;scrollbar-width:none}
#tools::-webkit-scrollbar{display:none}
#tools button{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:none;border-radius:9px;background:transparent;cursor:pointer;transition:background .12s,color .12s;color:#495057;outline:none}
#tools button:hover{background:rgba(0,0,0,.05)}
#tools button.on{background:rgba(15,118,110,.1);color:#0f766e;box-shadow:inset 0 0 0 1.5px #0f766e}
#tools button:active{transform:scale(.94)}
#tools .sep{height:1px;background:rgba(0,0,0,.06);margin:3px 6px}
/* Top-right: actions */
#acts{right:14px;top:14px;display:flex;gap:3px;padding:5px 6px}
#acts button{padding:5px 11px;border:none;border-radius:7px;background:rgba(0,0,0,.03);color:#495057;font:600 11.5px system-ui;cursor:pointer;transition:all .12s;outline:none}
#acts button:hover{background:rgba(0,0,0,.07);transform:translateY(-1px)}
#acts button:active{transform:none}
#acts .tf{color:#0f766e;background:rgba(15,118,110,.08)}
/* Top-left: brand */
#brand{left:14px;top:14px;display:flex;align-items:center;gap:7px;padding:6px 12px}
#brand .logo{width:26px;height:26px;border-radius:8px;background:linear-gradient(135deg,#0f766e,#14b8a6);display:flex;align-items:center;justify-content:center}
#brand span{font:700 13px system-ui;color:#343a40;letter-spacing:-.3px}
/* Vänsterstack: färger + insights + history i EN flex-kolumn —
   aldrig överlapp, krymper med viewporten (inre scroll). */
#leftStack{position:fixed;left:14px;bottom:50px;width:232px;display:flex;flex-direction:column;gap:8px;max-height:calc(100vh - 130px);z-index:10}
#leftStack > *{flex:0 1 auto;min-height:0;position:static;width:100%}
#leftStack details[open] .ins-body,#leftStack details[open] .his-body{max-height:18vh}
#colors{display:flex;gap:3px;padding:6px}
#colors button{width:20px;height:20px;border-radius:5px;border:2px solid #fff;box-shadow:0 0 0 1px rgba(0,0,0,.1);cursor:pointer;transition:transform .12s}
#colors button:hover{transform:scale(1.15)}
#colors button.on{box-shadow:0 0 0 2px #0f766e}
/* Bottom-left: status */
#status{left:14px;bottom:14px;padding:5px 12px;font:600 11.5px system-ui;color:#0f766e;border-radius:8px}
/* Bottom-right: hint */
#hint{top:14px;left:50%;transform:translateX(-50%);padding:4px 10px;font:400 10.5px system-ui;color:#868e96;border-radius:7px;max-width:44vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* Left side panel: the service library (built by editor/library.rs) */
#kit{left:64px;top:62px;width:268px;max-height:min(58vh,calc(100vh - 300px));display:flex;flex-direction:column;z-index:12}
#kit:not([open]){width:auto}
#kit>summary{padding:9px 12px;font:700 12px system-ui;color:#0f766e;cursor:pointer;display:flex;align-items:center;gap:6px;list-style:none;outline:none}
#kit>summary::-webkit-details-marker{display:none}
#kit[open]>summary{border-bottom:1px solid rgba(0,0,0,.05)}
#kit .lib-total{font:600 10px system-ui;opacity:.55}
#kit .lib-maxbtn{margin-left:auto;border:none;background:transparent;color:inherit;font:600 13px system-ui;cursor:pointer;opacity:.6;padding:0 2px}
#kit .lib-maxbtn:hover{opacity:1}
#kit:not([open]) .lib-maxbtn{display:none}
#kit .lib-body{display:flex;flex-direction:column;min-height:0;padding:0 8px 8px}
#kit .lib-search{width:100%;margin:6px 0;padding:7px 10px;border:1.5px solid rgba(0,0,0,.08);border-radius:8px;font:400 12.5px system-ui;outline:none;background:transparent;color:inherit}
#kit .lib-search:focus{border-color:#0f766e}
#kit .lib-tree{overflow-y:auto;min-height:0;max-height:calc(min(58vh,calc(100vh - 300px)) - 90px)}
#kit.lib-max{top:62px;bottom:14px;width:min(720px,calc(100vw - 340px));max-height:none;z-index:15}
#kit.lib-max .lib-tree{max-height:calc(100vh - 170px)}
#kit.lib-max .lib-items{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.lib-node>summary{display:flex;align-items:center;gap:6px;padding:4px 6px;border-radius:6px;font:600 11.5px system-ui;color:#343a40;cursor:pointer;list-style:none}
.lib-node>summary::-webkit-details-marker{display:none}
.lib-node>summary::before{content:"▸";font-size:9px;opacity:.55;transition:transform .12s}
.lib-node[open]>summary::before{transform:rotate(90deg)}
.lib-node>summary:hover{background:rgba(15,118,110,.06)}
.lib-node>summary small{margin-left:auto;font:500 10px system-ui;opacity:.45}
.lib-d0>summary{font:700 11px system-ui;letter-spacing:.06em;text-transform:uppercase;color:#0f766e}
.lib-node .lib-node{margin-left:10px}
.lib-items{display:grid;grid-template-columns:1fr 1fr;gap:3px;padding:3px 0 6px 12px}
.lib-item{display:flex;align-items:center;gap:6px;padding:4px 6px;border:1px solid rgba(0,0,0,.06);border-radius:7px;background:rgba(0,0,0,.02);color:#495057;font:500 11px system-ui;cursor:grab;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lib-item:hover,.lib-item:focus-visible{border-color:rgba(15,118,110,.35);color:#0f766e;background:rgba(15,118,110,.05);outline:none}
.lib-item:active{cursor:grabbing}
.lib-chip{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:5px;flex:none}
.lib-chip svg{width:12px;height:12px}
.lib-empty{padding:14px 6px;text-align:center;font:400 12px system-ui;opacity:.6}
/* Layers: right side, top-z first */
#layers{right:14px;top:64px;max-height:46vh;min-width:210px}
#layers summary{padding:8px 14px;font:700 12px system-ui;color:#0f766e;cursor:pointer;list-style:none;outline:none}
#layers summary::-webkit-details-marker{display:none}
#layers[open] summary{border-bottom:1px solid rgba(0,0,0,.05)}
.layer-body{padding:6px 8px 8px}
.layer-rows{max-height:26vh;overflow-y:auto;display:flex;flex-direction:column;gap:1px}
.layer-row{display:flex;align-items:center;gap:8px;padding:5px 9px;border-radius:7px;cursor:pointer;font:500 11.5px system-ui;color:#495057}
.layer-row:hover{background:rgba(0,0,0,.04)}
.layer-row.on{background:rgba(15,118,110,.1);color:#0f766e;box-shadow:inset 0 0 0 1.5px rgba(15,118,110,.35)}
.layer-ic{width:16px;text-align:center;opacity:.7}
.layer-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.layer-empty{padding:10px;font:400 11px system-ui;color:#adb5bd;text-align:center}
.layer-ladder{display:flex;gap:3px;margin-top:7px;padding-top:7px;border-top:1px solid rgba(0,0,0,.06)}
.layer-ladder button{flex:1;padding:5px 0;border:none;border-radius:7px;background:rgba(0,0,0,.03);color:#495057;font:600 13px system-ui;cursor:pointer;transition:all .1s}
.layer-ladder button:hover{background:rgba(15,118,110,.08);color:#0f766e}
/* Debug */
#debug{position:fixed;top:56px;left:50%;transform:translateX(-50%);z-index:20;padding:6px 14px;background:#fff3bf;color:#e8590c;font:600 12px system-ui;border-radius:8px;display:none;pointer-events:none}
/* Loading overlay */
#loader{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;background:#fff;transition:opacity .3s;font:600 14px system-ui;color:#868e96}
#fps{position:fixed;bottom:40px;right:14px;z-index:30;padding:5px 10px;background:#343a40;color:#fff;font:600 10.5px ui-monospace,monospace;border-radius:8px;white-space:pre;pointer-events:none}
#loader.done{opacity:0;pointer-events:none}

/* Insights: left side, under colors */
#insights{min-width:0;width:100%}
#insights summary{padding:8px 14px;font:700 12px system-ui;color:#0f766e;cursor:pointer;list-style:none;outline:none}
#insights summary::-webkit-details-marker{display:none}
#insights[open] summary{border-bottom:1px solid rgba(0,0,0,.05)}
.ins-body{padding:6px 8px 8px}
.ins-rows{max-height:22vh;overflow-y:auto;display:flex;flex-direction:column;gap:1px}
.ins-row{display:flex;align-items:center;gap:8px;padding:5px 8px;border-radius:7px;cursor:pointer;font:500 11px system-ui;color:#495057}
.ins-row:hover{background:rgba(0,0,0,.04)}
.ins-dot{width:8px;height:8px;border-radius:50%;flex:none}
.ins-msg{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ins-empty{padding:8px;font:400 10.5px system-ui;color:#adb5bd;text-align:center}
.ins-total{margin-top:6px;padding:6px 8px;border-radius:7px;background:rgba(47,158,68,.08);color:#2f9e44;font:700 12px ui-monospace,monospace}
.ins-acts{display:flex;gap:3px;margin-top:7px;padding-top:7px;border-top:1px solid rgba(0,0,0,.06)}
.ins-acts button{flex:1;padding:5px 0;border:none;border-radius:7px;background:rgba(0,0,0,.03);color:#495057;font:600 11px system-ui;cursor:pointer}
.ins-acts button:hover{background:rgba(15,118,110,.08);color:#0f766e}

.ins-prompt{display:flex;gap:4px;margin-bottom:6px}
.ins-prompt input{flex:1;padding:6px 10px;border:1.5px solid rgba(0,0,0,.08);border-radius:8px;font:400 11.5px system-ui;outline:none}
.ins-prompt input:focus{border-color:#0f766e}
.ins-prompt button{width:30px;border:none;border-radius:8px;background:rgba(15,118,110,.1);color:#0f766e;font:700 13px system-ui;cursor:pointer}
.ins-prompt button:hover{background:rgba(15,118,110,.18)}

.ins-costhead{margin-top:6px;padding:4px 2px 2px;font:700 10px system-ui;color:#868e96;text-transform:uppercase;letter-spacing:.06em}
.ins-cost{min-width:44px;font:700 11px ui-monospace,monospace;color:#2f9e44}

/* ── Mörkt tema: UI-paneler + dukyta ── */
[data-theme="dark"] body{background:#0e0f15}
[data-theme="dark"] #canvasSurface{background:#14161f}
[data-theme="dark"] .panel{background:rgba(26,28,38,.92);border-color:rgba(255,255,255,.07);box-shadow:0 4px 24px rgba(0,0,0,.4),0 1px 2px rgba(0,0,0,.5)}
[data-theme="dark"] #tools button{color:#adb5bd}
[data-theme="dark"] #tools button:hover{background:rgba(255,255,255,.06)}
[data-theme="dark"] #tools button.on{background:rgba(20,184,166,.14);color:#2dd4bf;box-shadow:inset 0 0 0 1.5px #2dd4bf}
[data-theme="dark"] #acts button,[data-theme="dark"] #hint,[data-theme="dark"] #status{color:#ced4da}
[data-theme="dark"] #acts button{background:rgba(255,255,255,.05)}
[data-theme="dark"] #acts button:hover{background:rgba(255,255,255,.09)}
[data-theme="dark"] #kit>summary,[data-theme="dark"] .lib-d0>summary,[data-theme="dark"] #layers summary,[data-theme="dark"] #insights summary{color:#2dd4bf}
[data-theme="dark"] #kit .lib-search,[data-theme="dark"] .ins-prompt input,[data-theme="dark"] #docName,[data-theme="dark"] #docList{background:#1b1e2a;border-color:rgba(255,255,255,.1);color:#e9ecef}
[data-theme="dark"] .lib-item{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.07);color:#ced4da}
[data-theme="dark"] .lib-node>summary{color:#ced4da}
[data-theme="dark"] .layer-row,[data-theme="dark"] .ins-row{color:#ced4da}
[data-theme="dark"] .layer-row:hover,[data-theme="dark"] .ins-row:hover{background:rgba(255,255,255,.05)}
[data-theme="dark"] .layer-row.on{background:rgba(45,212,191,.12);color:#2dd4bf;box-shadow:inset 0 0 0 1.5px rgba(45,212,191,.4)}
[data-theme="dark"] .layer-ladder button,[data-theme="dark"] .ins-acts button,[data-theme="dark"] .set-wide{background:rgba(255,255,255,.05);color:#ced4da}
[data-theme="dark"] .layer-ladder button:hover,[data-theme="dark"] .ins-acts button:hover,[data-theme="dark"] .set-wide:hover{background:rgba(45,212,191,.12);color:#2dd4bf}
[data-theme="dark"] #zoomOut,[data-theme="dark"] #zoomIn{background:rgba(255,255,255,.07);color:#ced4da}
[data-theme="dark"] #loader{background:#0e0f15;color:#868e96}
[data-theme="dark"] .ins-total{background:rgba(47,158,68,.14);color:#51cf66}
[data-theme="dark"] .ins-empty,[data-theme="dark"] .layer-empty{color:#6c757d}

/* ⌘K-paletten */
#palette{position:fixed;inset:0;z-index:60;display:none;align-items:flex-start;justify-content:center;padding-top:14vh;background:rgba(0,0,0,.25)}
#palette.open{display:flex}
.pal-box{width:min(520px,92vw);background:#fff;border-radius:14px;box-shadow:0 18px 60px rgba(0,0,0,.25);overflow:hidden;border:1px solid rgba(0,0,0,.08)}
#palInput{width:100%;padding:13px 16px;border:none;outline:none;font:500 14px system-ui;border-bottom:1px solid rgba(0,0,0,.07)}
#palList{max-height:46vh;overflow-y:auto;padding:5px}
.pal-row{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-radius:8px;cursor:pointer;font:500 12.5px system-ui;color:#495057}
.pal-row .k{font:600 10px ui-monospace,monospace;color:#868e96;background:rgba(0,0,0,.05);padding:2px 7px;border-radius:5px}
.pal-row.sel,.pal-row:hover{background:rgba(15,118,110,.09);color:#0f766e}
[data-theme="dark"] .pal-box{background:#1b1e2a;border-color:rgba(255,255,255,.09)}
[data-theme="dark"] #palInput{color:#e9ecef;border-bottom-color:rgba(255,255,255,.08)}
[data-theme="dark"] .pal-row{color:#ced4da}
[data-theme="dark"] .pal-row .k{background:rgba(255,255,255,.07);color:#868e96}
[data-theme="dark"] .pal-row.sel,[data-theme="dark"] .pal-row:hover{background:rgba(45,212,191,.12);color:#2dd4bf}

/* Historik: vänster under insights */
#history{min-width:0;width:100%}
#history summary{padding:8px 14px;font:700 12px system-ui;color:#0f766e;cursor:pointer;list-style:none;outline:none}
#history summary::-webkit-details-marker{display:none}
#history[open] summary{border-bottom:1px solid rgba(0,0,0,.05)}
.his-body{padding:6px 8px 8px;max-height:24vh;overflow-y:auto}
.his-row{display:flex;align-items:center;gap:8px;padding:5px 8px;border-radius:7px;cursor:pointer;font:500 11px system-ui;color:#495057}
.his-row:hover{background:rgba(0,0,0,.04)}
.his-row.cur{background:rgba(15,118,110,.1);color:#0f766e;font-weight:700}
.his-row.future{color:#adb5bd}
.his-num{font:600 10px ui-monospace,monospace;color:#868e96;min-width:20px}
[data-theme="dark"] .his-row{color:#ced4da}
[data-theme="dark"] .his-row.cur{background:rgba(45,212,191,.12);color:#2dd4bf}
[data-theme="dark"] .his-row:hover{background:rgba(255,255,255,.05)}

/* ── Inställningspanelen (⚙) — återinstallerad: blocket föll bort
   vid style-externaliseringen, panelen låg som tom ruta synlig ── */
#settings{position:fixed;right:14px;top:56px;display:none;flex-direction:column;gap:8px;padding:10px 12px;min-width:250px}
#settings.open{display:flex}
.set-row{display:flex;align-items:center;gap:6px;font:600 11.5px system-ui;color:#495057}
.set-label{width:34px;color:#868e96;font-weight:500}
#docList{flex:1;max-width:120px;padding:4px 6px;border:1.5px solid rgba(0,0,0,.08);border-radius:6px;font:500 11px system-ui;background:#fff;color:#495057;outline:none}
#docName{flex:1;min-width:70px;padding:4px 8px;border:1.5px solid rgba(0,0,0,.08);border-radius:6px;font:500 11px system-ui;outline:none}
#docName:focus,#docList:focus{border-color:#0f766e}
#zoomOut,#zoomIn{width:24px;height:24px;border:none;border-radius:6px;background:rgba(0,0,0,.05);cursor:pointer;font:700 14px system-ui;color:#495057}
#zoomOut:hover,#zoomIn:hover{background:rgba(15,118,110,.1);color:#0f766e}
#zoomPct{min-width:38px;text-align:center;font:600 11.5px ui-monospace,monospace}
.set-wide,.set-danger{padding:4px 9px;border:none;border-radius:6px;background:rgba(0,0,0,.05);cursor:pointer;font:600 11px system-ui;color:#495057}
.set-wide:hover{background:rgba(15,118,110,.1);color:#0f766e}
.set-danger{color:#e03131}
.set-danger:hover{background:rgba(224,49,49,.1)}
#roomName{flex:1;font:500 11px ui-monospace,monospace;color:#0f766e;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#gear{color:#0f766e}
[data-theme="dark"] #docList,[data-theme="dark"] #docName{background:#1b1e2a;color:#e9ecef;border-color:rgba(255,255,255,.1)}
[data-theme="dark"] .set-row{color:#ced4da}
[data-theme="dark"] #zoomOut,[data-theme="dark"] #zoomIn,[data-theme="dark"] .set-wide{background:rgba(255,255,255,.06);color:#ced4da}
[data-theme="dark"] #roomName{color:#2dd4bf}


/* Högerklicksmeny */
#ctxmenu{position:fixed;display:none;flex-direction:column;min-width:200px;padding:6px;z-index:70;
  background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:12px;
  box-shadow:0 12px 40px rgba(0,0,0,.15),0 2px 8px rgba(0,0,0,.08);
  max-height:80vh;overflow-y:auto}
#ctxmenu.open{display:flex!important}
.ctx-row{display:flex;align-items:center;gap:8px;padding:6px 12px;border-radius:7px;cursor:pointer;font:500 12px system-ui;color:#495057;white-space:nowrap}
.ctx-row:hover{background:rgba(15,118,110,.09);color:#0f766e}
.ctx-sep{height:1px;background:rgba(0,0,0,.06);margin:3px 8px}
.ctx-k{margin-left:auto;font:600 10px ui-monospace,monospace;color:#868e96;background:rgba(0,0,0,.04);padding:1px 5px;border-radius:4px}
.ctx-danger{color:#e03131}
.ctx-danger:hover{background:rgba(224,49,49,.08);color:#e03131}
[data-theme="dark"] #ctxmenu{background:#1b1e2a;border-color:rgba(255,255,255,.1);box-shadow:0 12px 40px rgba(0,0,0,.5)}
[data-theme="dark"] .ctx-row{color:#ced4da}
[data-theme="dark"] .ctx-row:hover{background:rgba(45,212,191,.12);color:#2dd4bf}
[data-theme="dark"] .ctx-sep{background:rgba(255,255,255,.08)}

/* Markerings-info-bar */
#selinfo{left:100px;bottom:14px;padding:4px 10px;font:500 10.5px ui-monospace,monospace;color:#495057;border-radius:7px;display:none}
#selinfo.on{display:block}
#selinfo b{color:#0f766e;font-weight:600}
[data-theme="dark"] #selinfo{color:#ced4da;background:rgba(26,28,38,.92)}
[data-theme="dark"] #selinfo b{color:#2dd4bf}

/* AI Assist i Insights */
.ins-ai{display:flex;gap:4px;margin-bottom:6px;align-items:center}
.ins-ai input{flex:1;padding:6px 10px;border:1.5px solid rgba(155,89,182,.25);border-radius:8px;font:400 11.5px system-ui;outline:none}
.ins-ai input:focus{border-color:#9b59b6}
.ins-ai button{width:30px;height:28px;border:none;border-radius:8px;background:rgba(155,89,182,.12);color:#8e44ad;font:700 13px system-ui;cursor:pointer}
.ins-ai button:hover{background:rgba(155,89,182,.2)}
#aiStatus{flex-basis:100%;font:500 10.5px system-ui;color:#8e44ad;min-height:14px;padding:2px 0}
[data-theme="dark"] .ins-ai input{background:#1b1e2a;border-color:rgba(155,89,182,.3);color:#e9ecef}
[data-theme="dark"] .ins-ai button{background:rgba(155,89,182,.15);color:#bb8fce}
[data-theme="dark"] #aiStatus{color:#bb8fce}

/* Auto-förslag dropdown */
.auto-dd{position:fixed;z-index:999;top:100%;left:0;right:0;z-index:40;background:#fff;
  border:1px solid rgba(0,0,0,.08);border-radius:10px;box-shadow:0 8px 30px rgba(0,0,0,.12);
  max-height:220px;overflow-y:auto;padding:4px;margin-top:4px}
.auto-item{display:flex;align-items:center;gap:6px;padding:7px 10px;border-radius:7px;
  cursor:pointer;font:500 12px system-ui;color:#495057;white-space:nowrap}
.auto-item:hover,.auto-item.sel{background:rgba(15,118,110,.08);color:#0f766e}
.auto-item small{color:#868e96;font-size:10px;overflow:hidden;text-overflow:ellipsis}
.auto-type{margin-left:auto;font:600 9px system-ui;color:#adb5bd;background:rgba(0,0,0,.04);
  padding:2px 6px;border-radius:4px;flex:none}
[data-theme="dark"] .auto-dd{background:#1b1e2a;border-color:rgba(255,255,255,.1)}
[data-theme="dark"] .auto-item{color:#ced4da}
[data-theme="dark"] .auto-item:hover,[data-theme="dark"] .auto-item.sel{background:rgba(45,212,191,.1);color:#2dd4bf}
[data-theme="dark"] .auto-type{background:rgba(255,255,255,.06);color:#6c757d}

/* Minimap — dokumentöversikt + vy-rektangel */
#minimap{position:fixed;right:12px;bottom:12px;width:180px;height:110px;
  border:1px solid rgba(0,0,0,.12);border-radius:8px;background:rgba(255,255,255,.92);
  box-shadow:0 2px 12px rgba(0,0,0,.10);z-index:5;cursor:crosshair}
[data-theme="dark"] #minimap{background:rgba(27,30,42,.94);border-color:rgba(255,255,255,.12)}


/* ── Quick Start gallery (DOM built by gallery.rs) ── */
.qs-overlay{position:fixed;inset:0;z-index:60;background:rgba(15,23,42,.38);display:flex;align-items:center;justify-content:center;animation:qs-in .14s ease-out}
@keyframes qs-in{from{opacity:0}to{opacity:1}}
.qs-panel{width:min(980px,94vw);max-height:86vh;display:flex;flex-direction:column;background:var(--vc-bg,#fff);color:var(--vc-fg,#212529);border-radius:16px;box-shadow:0 24px 64px rgba(0,0,0,.25);overflow:hidden}
.qs-head{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid rgba(0,0,0,.08)}
.qs-head h2{font:700 16px system-ui;color:#0f766e;white-space:nowrap}
.qs-search{flex:1;padding:8px 12px;border:1.5px solid #dee2e6;border-radius:10px;font:400 14px system-ui;outline:none;background:transparent;color:inherit}
.qs-search:focus{border-color:#0f766e}
.qs-close{border:none;background:transparent;font-size:18px;cursor:pointer;color:inherit;opacity:.6}
.qs-close:hover{opacity:1}
.qs-list{overflow-y:auto;padding:6px 18px 18px}
.qs-group h3{font:700 12px system-ui;letter-spacing:.06em;text-transform:uppercase;opacity:.6;margin:14px 0 8px}
.qs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.qs-card{display:flex;flex-direction:column;gap:6px;text-align:left;padding:12px 14px;border:1px solid rgba(0,0,0,.09);border-radius:12px;background:transparent;color:inherit;cursor:pointer;font:400 12px system-ui;transition:border-color .12s,transform .12s,box-shadow .12s}
.qs-card:hover,.qs-card:focus-visible{border-color:#0f766e;transform:translateY(-1px);box-shadow:0 6px 18px rgba(15,118,110,.14);outline:none}
.qs-card strong{font:700 13px system-ui}
.qs-card p{line-height:1.4;opacity:.85}
.qs-card small{opacity:.55;font-size:11px}
.qs-level{align-self:flex-start;padding:1px 8px;border-radius:99px;font:600 10px system-ui;background:#e6fcf5;color:#0f766e}
.qs-intermediate{background:#fff4e6;color:#d9480f}
.qs-advanced{background:#fff0f6;color:#c2255c}
.qs-empty{padding:24px;text-align:center;opacity:.6}
[data-theme="dark"] .qs-panel{background:#1a1c26;color:#e9ecef}
[data-theme="dark"] .qs-card,[data-theme="dark"] .qs-head{border-color:rgba(255,255,255,.09)}
[data-theme="dark"] .qs-search{border-color:rgba(255,255,255,.14)}

/* Workspace dashboard (editor/dashboard.rs) — rides the Quick Start overlay skin */
.dash-panel{width:min(860px,94vw)}
.dash-spacer{flex:1}
.dash-card{min-height:72px}
.dash-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid rgba(0,0,0,.08);border-radius:10px;margin-bottom:6px;font:400 12px system-ui}
.dash-row strong{font:700 12.5px ui-monospace,monospace}
.dash-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:.85}
.dash-row small{opacity:.55;white-space:nowrap}
.dash-role{padding:1px 8px;border-radius:99px;font:600 10px system-ui;background:#e7f5ff;color:#1864ab}
.dash-owner{background:#e6fcf5;color:#0f766e}
.dash-view{background:#f1f3f5;color:#495057}
.dash-btn{padding:4px 10px;border:1px solid rgba(0,0,0,.12);border-radius:7px;background:transparent;color:inherit;font:600 11px system-ui;cursor:pointer}
.dash-btn:hover,.dash-btn:focus-visible{border-color:#0f766e;color:#0f766e;outline:none}
.dash-forget{opacity:.6}
.dash-sheets{display:flex;flex-wrap:wrap;gap:6px}
.dash-empty{opacity:.6;font:400 12px system-ui;padding:4px 2px}
.dash-foot{display:flex;align-items:center;gap:6px;padding:10px 18px;border-top:1px solid rgba(0,0,0,.08);font:400 12px system-ui;opacity:.8;cursor:pointer}
#brand{cursor:pointer}
[data-theme="dark"] .dash-row,[data-theme="dark"] .dash-foot{border-color:rgba(255,255,255,.09)}
[data-theme="dark"] .dash-btn{border-color:rgba(255,255,255,.14)}
