  *{box-sizing:border-box}
  html,body{margin:0;height:100%;font-family:'Segoe UI',system-ui,sans-serif;overflow:hidden}
  #stage{position:fixed;inset:0;background:#2b2b2d}
  #topbar{position:absolute;top:0;left:0;right:0;height:44px;background:#202022;border-bottom:1px solid #111;display:flex;align-items:center;gap:14px;padding:0 14px;z-index:200}
  #logo{font-size:14px;font-weight:700;letter-spacing:.14em;color:#e8e8e8}
  #logo span{color:#C08830}
  #toggles{display:flex;gap:5px;flex:1}
  .tg{font-size:11px;padding:5px 11px;border:1px solid #3a3a3c;border-radius:5px;background:#2c2c2e;color:#bbb;cursor:pointer}
  .tg.on{background:#3a3a3c;color:#fff;border-color:#555}
  #cemstat{display:flex;align-items:center;gap:6px;font-size:11px;color:#cfcfcf}
  #cemstat .dot{width:8px;height:8px;border-radius:50%;background:#3DC870;box-shadow:0 0 6px #3DC870}
  #canvasWrap{position:absolute;top:44px;left:0;right:0;bottom:0}
  /* TEST: left hover rail (removable block) */
  #hoverRail{position:fixed;left:0;top:52px;z-index:260;font-family:'Inter',system-ui,sans-serif}
  #hoverRail .hr-strip{display:flex;flex-direction:column;gap:1px;width:6px;height:58px;background:#C08830;border-radius:0 5px 5px 0;overflow:hidden;transition:width .13s ease,height .13s ease;padding:0;color:#2a2a2a}
  #hoverRail:hover .hr-strip{width:144px;height:auto;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);padding:5px 0;border-radius:0 8px 8px 0;box-shadow:2px 3px 16px rgba(0,0,0,.22);border:1px solid rgba(150,150,150,.5)}
  #hoverRail .hr-item{font-size:9px;letter-spacing:.11em;text-transform:uppercase;color:inherit;padding:6px 13px;white-space:nowrap;opacity:0;transition:opacity .1s,background .1s;cursor:default}
  #hoverRail:hover .hr-item{opacity:1}
  #hoverRail.pinned .hr-strip{width:144px;height:auto;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);padding:5px 0;border-radius:0 8px 8px 0;box-shadow:2px 3px 16px rgba(0,0,0,.22);border:1px solid rgba(150,150,150,.5)}
  #hoverRail.pinned .hr-item,#hoverRail.pinned .hr-pin{opacity:1}
  #hoverRail .hr-pin{display:flex;align-items:center;gap:7px;font-size:8px;letter-spacing:.11em;text-transform:uppercase;color:inherit;opacity:0;padding:4px 13px 7px;white-space:nowrap;cursor:pointer;border-bottom:1px solid rgba(150,150,150,.3);margin-bottom:3px;transition:opacity .1s}
  #hoverRail:hover .hr-pin{opacity:1}
  #hoverRail .hr-pinsw{width:18px;height:10px;border-radius:6px;background:#b3b3b3;position:relative;transition:background .12s;flex-shrink:0}
  #hoverRail .hr-pinsw::after{content:'';position:absolute;top:1px;left:1px;width:8px;height:8px;border-radius:50%;background:#fff;transition:left .12s}
  #hoverRail.pinned .hr-pinsw{background:#C08830}
  #hoverRail.pinned .hr-pinsw::after{left:9px}
  #hoverRail .hr-item:hover,#hoverRail .hr-item.act{background:#C0883033;color:#7a5a14}
  #stage.theme-dark ~ #hoverRail .hr-item:hover,#stage.theme-dark ~ #hoverRail .hr-item.act{color:#e0b060}
  /* shared flyout look */
  #hoverRail .hr-fly{position:absolute;display:none;overflow:auto;max-height:78vh;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(150,150,150,.6);border-radius:8px;box-shadow:0 4px 18px rgba(0,0,0,.22)}
  #hoverRail .hr-fly .content{padding:9px 11px;transform:scale(.94);transform-origin:top left;width:106%}
  /* sub-word column (TOOLS → SKETCHER/CONSTRAINTS/MODIFY) */
  #stage.theme-dark ~ #hoverRail .hr-fly{border-color:rgba(90,90,96,.7)}
  #stage.theme-dark ~ #hoverRail .hr-fly .content,#stage.theme-dark ~ #hoverRail .hr-fly .content *{color:#e8e8ec !important}
  #stage.theme-dark ~ #hoverRail .hr-fly .lbl{color:#a4a4ae !important}
  #stage.theme-dark ~ #hoverRail .hr-fly svg[stroke="#2b2b2b"]{stroke:#dfe0e6 !important}
  #stage.theme-dark ~ #hoverRail .hr-fly svg [fill="#2b2b2b"]{fill:#dfe0e6 !important}
  #stage.theme-dark ~ #hoverRail .hr-fly select,#stage.theme-dark ~ #hoverRail .hr-fly input,#stage.theme-dark ~ #hoverRail .hr-fly .cbx{background:#33333a !important;border-color:#55555c !important}
  #stage.theme-dark ~ #hoverRail .hr-fly option{background:#26262b;color:#e8e8ec}
  #stage.theme-dark ~ #hoverRail .hr-fly [style*="background:#ededed"],#stage.theme-dark ~ #hoverRail .hr-fly [style*="background:#f2f2f2"],#stage.theme-dark ~ #hoverRail .hr-fly [style*="background:#fff"],#stage.theme-dark ~ #hoverRail .hr-fly [style*="background:#f5f5f0"],#stage.theme-dark ~ #hoverRail .hr-fly [style*="background:#fafafa"]{background:#2b2b31 !important}
  #stage.theme-dark ~ #hoverRail .hr-fly .vnav{background:#1c1c1e}
  #stage.theme-dark ~ #hoverRail .hr-fly .vnav .vbtn{border-color:#3a3a3c;background:#2c2c2e;color:#bbb}
  #stage.theme-dark ~ #hoverRail .hr-fly .vnav .zbtn{border-color:#3a3a3c;background:#1c1c1e;color:#cfcfcf}
  .win{position:absolute;width:336px;background:rgba(199,199,199,.8);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);border:1px solid rgba(154,154,154,.7);border-radius:7px;box-shadow:0 2px 9px rgba(0,0,0,.16);color:#2a2a2a;z-index:100;user-select:none}
  .win.hidden{display:none}
  .win .tbar{display:flex;align-items:center;justify-content:center;position:relative;padding:8px 0;cursor:move;border-bottom:1px solid #9a9a9a}
  .win .tbar .ttl{font-size:12.5px;letter-spacing:.16em;font-weight:600;color:#333}
  .win .tbar .x{position:absolute;right:8px;top:6px;width:18px;height:18px;border:none;background:transparent;color:#777;font-size:15px;cursor:pointer;line-height:1}
  .win .content{padding:8px 12px 14px;max-height:72vh;overflow-y:auto}
  .lbl{font-size:9px;letter-spacing:.14em;color:#6b6b66;font-weight:600;margin:11px 0 6px}
  button{font-family:inherit}
  select,input{font-family:inherit}
  ::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-thumb{background:#a4a4a4;border-radius:5px}
  .rz{background:linear-gradient(135deg,transparent 0 50%,#9a9a9a 50% 60%,transparent 60% 72%,#9a9a9a 72% 82%,transparent 82%);border-radius:0 0 6px 0;opacity:.7}
  .vnav{display:flex;flex-direction:column;gap:4px;width:76px;background:#eeeee8;border-radius:7px;padding:5px 4px}
  .vnav .lab{font-size:8px;letter-spacing:.12em;color:#8a8a86;text-align:center;margin-bottom:1px}
  .vnav .vbtn{width:100%;font-size:10.5px;padding:4px 0;border:1px solid #c2c2bc;border-radius:5px;background:#f4f4ef;color:#444;cursor:pointer}
  .vnav .vbtn.on{background:#C0883022;border-color:#C08830;color:#7a5a14}
  .vnav .row{display:flex;gap:4px}
  .vnav .row .vbtn,.vnav .row .zbtn{flex:1}
  .vnav .zbtn{height:26px;font-size:13px;border:1px solid #c2c2bc;border-radius:5px;background:#fafaf7;color:#555;cursor:pointer}
  .vnav .vbtn:hover,.vnav .zbtn:hover{background:#e6e6df}
  .vnav .sep{height:1px;background:#c5c5c0;margin:3px 1px}
  #stage.theme-dark .vnav{background:#1c1c1e}
  #stage.theme-dark .vnav .lab{color:#888}
  #stage.theme-dark .vnav .vbtn{border-color:#3a3a3c;background:#2c2c2e;color:#bbb}
  #stage.theme-dark .vnav .vbtn.on{background:#C0883033;border-color:#C08830;color:#e0b060}
  #stage.theme-dark .vnav .zbtn{border-color:#3a3a3c;background:#1c1c1e;color:#cfcfcf}
  #stage.theme-dark .vnav .vbtn:hover,#stage.theme-dark .vnav .zbtn:hover{background:#3a3a3e}
  #stage.theme-dark .vnav .sep{background:#3a3a3c}
  #superv{position:absolute;right:16px;bottom:16px;display:flex;gap:6px;z-index:90}
  #superv button{font-size:11px;padding:7px 12px;border-radius:6px;cursor:pointer;border:1px solid}
  #superv .ok{background:#1c2e22;border-color:#3DC870;color:#7fe0a3}
  #superv .no{background:#2e1c20;border-color:#d9534f;color:#f0a0a0}
  #superv .df{background:#26262a;border-color:#555;color:#bbb}
  /* ---- Dark GUI profile: invert panel text & controls ---- */
  #stage.theme-dark .win,#stage.theme-dark .win *{color:#e8e8ec !important}
  #stage.theme-dark .win .lbl{color:#a4a4ae !important}
  #stage.theme-dark .win svg[stroke="#2b2b2b"]{stroke:#dfe0e6 !important}
  #stage.theme-dark .win svg [fill="#2b2b2b"]{fill:#dfe0e6 !important}
  #stage.theme-dark .win select,#stage.theme-dark .win input,#stage.theme-dark .win .cbx{background:#33333a !important;border-color:#55555c !important}
  #stage.theme-dark .win option{background:#26262b;color:#e8e8ec}
  #stage.theme-dark .win [style*="background:#ededed"],#stage.theme-dark .win [style*="background:#f2f2f2"],#stage.theme-dark .win [style*="background:#fff"],#stage.theme-dark .win [style*="background:#e8e8e8"],#stage.theme-dark .win [style*="background:#f5f5f0"],#stage.theme-dark .win [style*="background:#fafafa"]{background:#2b2b31 !important}
  #stage.theme-dark .win [style*="border:1px solid #8a8a8a"],#stage.theme-dark .win [style*="border:1px solid #9a9a9a"],#stage.theme-dark .win [style*="border:1px solid #bdbdbd"],#stage.theme-dark .win [style*="border:1px solid #c8c8c8"],#stage.theme-dark .win [style*="border:1px solid #c2c2bc"],#stage.theme-dark .win [style*="border:1px solid #6a6a6a"],#stage.theme-dark .win [style*="border:1px solid #c5c5c0"]{border-color:#55555c !important}