 
  


   
  *{ box-sizing:border-box; }
  html,body{ margin:0; height:100%; overflow:hidden; background:var(--bg); color:var(--txt); font:13px/1.5 Roboto,system-ui,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif; }
  #c{ width:max(1px, calc(100% - var(--studio-viewport-right-inset, 0px))); height:max(1px, calc(100% - var(--studio-viewport-bottom-inset, 0px))); touch-action:none; }    
  




















  .lockup{
    color:var(--primary-hi); font-weight:700; letter-spacing:.11em;
    --lockup-cap:.690em; --lockup-adv:5.987em; --lockup-aspect:8.5351;
    display:inline-block; vertical-align:baseline; overflow:hidden; text-indent:-200vw;
    width:calc(var(--lockup-cap) * var(--lockup-aspect)); height:var(--lockup-cap);
    margin-right:calc(var(--lockup-adv) - var(--lockup-cap) * var(--lockup-aspect));
    background-color:currentColor;
    -webkit-mask:url(../assets/brand/monolith-wordmark.svg) no-repeat center / 100% 100%;
            mask:url(../assets/brand/monolith-wordmark.svg) no-repeat center / 100% 100%;
  }

  















  .lockup[data-lockup]{
    --lockup-band:.86225em;
    width:calc(var(--lockup-band) * var(--lockup-w)); height:var(--lockup-band);
    margin-right:0;
    background-color:transparent; background-repeat:no-repeat; background-position:center;
    background-size:100% 100%;
    -webkit-mask:none; mask:none;
  }
  .lockup[data-lockup="studio"]{ --lockup-w:11.021; background-image:url(../assets/brand/lockup-studio.svg); }
  .lockup[data-lockup="builder"]{ --lockup-w:14.08; background-image:url(../assets/brand/lockup-builder.svg); }
  :root{ --studio-menu-h:26px; --timeline-h:284px; --timeline-float-gap:16px; --timeline-inspector-w:380px; }
  .app{ display:flex; height:calc(100dvh - var(--studio-menu-h)); height:calc(var(--app-h, 100dvh) - var(--studio-menu-h)); }    
  #studioMenuBar{ height:var(--studio-menu-h); display:block; background:#2f2f2f; color:var(--txt); border-bottom:1px solid #111; user-select:none; -webkit-user-select:none; }
  .studio-menuline{ height:26px; display:flex; align-items:center; gap:0; padding:0 7px; background:#2f2f2f; }
  .studio-menu{ position:relative; height:100%; display:inline-flex; align-items:stretch; }
  .studio-menu-btn{ height:100%; padding:0 8px; border:0; border-radius:0; background:transparent; color:var(--txt); font:inherit; font-size:12px; cursor:default; }
  .studio-menu:hover .studio-menu-btn, .studio-menu.open .studio-menu-btn, .studio-menu-btn:focus-visible{ outline:none; background:rgba(169,133,221,.16); color:var(--link); }
  .studio-menu-btn:disabled{ color:var(--low); }
  .studio-menu:hover .studio-menu-btn:disabled{ background:transparent; color:var(--low); }
  .studio-menu-pop{ display:none; position:absolute; top:100%; left:0; min-width:268px; z-index:var(--z-dropdown); padding:5px; background:#1b1b1b; border:1px solid rgba(255,255,255,.14); box-shadow:0 4px 8px rgba(0,0,0,.32); }
  .studio-menu.open .studio-menu-pop{ display:flex; flex-direction:column; }
  .studio-menu-pop button{ width:100%; text-align:left; border:0; border-radius:4px; background:transparent; color:var(--txt); font:inherit; font-size:12px; padding:6px 9px; cursor:default; }
  .studio-menu-pop .studio-menu-item{ display:grid; grid-template-columns:16px minmax(0,1fr) minmax(28px,auto); align-items:center; gap:8px; }
  .studio-menu-pop .studio-menu-label{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .studio-menu-pop .studio-menu-check{ color:var(--link); font:700 11px/1 var(--mono); text-align:center; min-height:1em; }
  .studio-menu-pop .studio-menu-kbd{ min-width:28px; min-height:14px; justify-self:end; padding:1px 4px; border:1px solid rgba(255,255,255,.12); border-radius:3px; background:rgba(255,255,255,.04); color:var(--muted); font:600 10px/1.2 var(--mono); text-align:center; }
  .studio-menu-pop .studio-menu-shortcut-spacer{ width:28px; min-height:14px; justify-self:end; }
  .studio-menu-pop .studio-menu-sep{ display:block; height:1px; margin:5px 4px; background:var(--line); }
  .studio-menu-pop button:hover, .studio-menu-pop button:focus-visible{ outline:none; background:var(--wash); color:var(--link); }
  .studio-menu-pop button.danger{ color:#e8a09a; }
  .studio-menu-pop button.danger:hover, .studio-menu-pop button.danger:focus-visible{ color:#fff; background:var(--bad-press); }
  .studio-menu-fill{ flex:1 1 auto; min-width:12px; }
  .studio-menu-brand{ flex:0 0 auto; display:inline-flex; align-items:center; gap:6px; min-width:0; height:100%; padding:0 5px 0 10px; color:var(--muted); font-size:12px; white-space:nowrap; }
  .commandPaletteDlg{ width:min(720px, calc(100vw - 52px)); }
  .command-palette{ display:flex; flex-direction:column; gap:9px; }
  .command-palette-input{ width:100%; box-sizing:border-box; border:1px solid var(--line); border-radius:4px; background:rgba(28,28,28,.95); color:var(--txt); font:500 14px/1.3 Roboto,system-ui,sans-serif; padding:9px 10px; outline:none; }
  .command-palette-input:focus{ border-color:rgba(169,133,221,.42); box-shadow:0 0 0 2px rgba(169,133,221,.12); }
  .command-palette-hint{ display:flex; justify-content:space-between; gap:12px; color:var(--low); font-size:11px; line-height:1.3; }
  .command-palette-mode{ color:var(--link); font-weight:700; }
  .command-palette-list{ max-height:min(520px, 58vh); overflow:auto; border:1px solid var(--line); border-radius:8px; background:rgba(20,20,20,.58); padding:4px; }    
  .command-palette-row{ width:100%; min-height:42px; display:grid; grid-template-columns:70px minmax(0,1fr) minmax(34px,auto); align-items:center; gap:10px; border:0; border-radius:4px; background:transparent; color:var(--txt); padding:7px 8px; text-align:left; font:inherit; cursor:default; }
  .command-palette-row.on, .command-palette-row:hover, .command-palette-row:focus-visible{ outline:none; background:var(--wash); color:var(--link); }
  .command-palette-kind{ color:var(--muted); text-transform:uppercase; letter-spacing:.04em; font:700 10px/1.2 Roboto,system-ui,sans-serif; }
  .command-palette-copy{ min-width:0; display:flex; flex-direction:column; gap:2px; }
  .command-palette-copy b{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:13px; line-height:1.25; }
  .command-palette-copy small{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--muted); font-size:11px; line-height:1.2; }
  .command-palette-row kbd{ min-width:28px; min-height:14px; justify-self:end; padding:1px 4px; border:1px solid rgba(255,255,255,.12); border-radius:3px; background:rgba(255,255,255,.04); color:var(--muted); font:600 10px/1.2 var(--mono); text-align:center; }
  .command-palette-shortcut-spacer{ width:28px; min-height:14px; justify-self:end; }
  .command-palette-empty{ padding:24px 12px; color:var(--muted); text-align:center; font-size:12px; }
  .studio-import-watch{ height:20px; max-width:260px; min-width:0; margin-left:6px; padding:0 8px; border:1px solid rgba(255,255,255,.08); border-radius:4px; background:rgba(27,27,27,.42); color:rgba(255,255,255,.42); font:600 11px/18px var(--mono); letter-spacing:.02em; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; cursor:default; transition:color .14s,border-color .14s,background .14s,opacity .14s; }
  .studio-import-watch::before{ content:""; display:inline-block; width:6px; height:6px; margin-right:6px; border-radius:50%; background:currentColor; vertical-align:1px; opacity:.75; }
  .studio-import-watch.is-landing{ color:var(--muted); border-color:rgba(255,255,255,.12); background:rgba(27,27,27,.58); }
  .studio-import-watch.is-ready{ color:var(--link); border-color:rgba(169,133,221,.38); background:rgba(116,80,182,.16); cursor:pointer; }
  .studio-import-watch.is-reloading{ color:var(--link); border-color:rgba(169,133,221,.28); background:rgba(116,80,182,.12); }
  .err-banner{ position:fixed; left:50%; top:14px; transform:translateX(-50%); z-index:9999; max-width:min(560px,calc(100% - 28px)); display:flex; gap:10px; align-items:flex-start; background:rgba(40,28,28,.94); border:1px solid var(--bad-rest); border-radius:var(--r-surface); padding:10px 12px; box-shadow:var(--elev); backdrop-filter:blur(6px); font:13px Roboto,system-ui,sans-serif; color:#fff; }
  .err-dismiss{ flex:0 0 auto; padding:3px 9px; border:1px solid var(--bad-rest); border-radius:var(--r-control); background:transparent; color:var(--bad-rest); cursor:pointer; font:inherit; }
  .fatal-page{ position:fixed; inset:0; display:flex; align-items:center; justify-content:center; padding:32px; text-align:center; font:15px Roboto,system-ui,sans-serif; color:#fff; background:var(--bg); }
  .fatal-page-box{ max-width:460px; }
  .fatal-page-title{ font-weight:700; font-size:17px; margin-bottom:10px; }
  .ui-scroll, .side, .ordrop-menu, #buildPanel, #projPanel, #delivPanel, #aboutPanel, #guidePanel, #treeGridWrap, .cfg-selector, .studioToolDlg .studio-tool-mount, .command-palette-list, .material-library-list { scrollbar-gutter:stable; scrollbar-width:thin; scrollbar-color:rgba(176,176,184,.46) transparent; }
  .ui-scroll::-webkit-scrollbar, .side::-webkit-scrollbar, .ordrop-menu::-webkit-scrollbar, #buildPanel::-webkit-scrollbar, #projPanel::-webkit-scrollbar, #delivPanel::-webkit-scrollbar, #aboutPanel::-webkit-scrollbar, #guidePanel::-webkit-scrollbar, #treeGridWrap::-webkit-scrollbar, .cfg-selector::-webkit-scrollbar, .studioToolDlg .studio-tool-mount::-webkit-scrollbar, .command-palette-list::-webkit-scrollbar, .material-library-list::-webkit-scrollbar { width:7px; height:7px; }
  .ui-scroll::-webkit-scrollbar-track, .side::-webkit-scrollbar-track, .ordrop-menu::-webkit-scrollbar-track, #buildPanel::-webkit-scrollbar-track, #projPanel::-webkit-scrollbar-track, #delivPanel::-webkit-scrollbar-track, #aboutPanel::-webkit-scrollbar-track, #guidePanel::-webkit-scrollbar-track, #treeGridWrap::-webkit-scrollbar-track, .cfg-selector::-webkit-scrollbar-track, .studioToolDlg .studio-tool-mount::-webkit-scrollbar-track, .command-palette-list::-webkit-scrollbar-track, .material-library-list::-webkit-scrollbar-track { background:transparent; }
  .ui-scroll::-webkit-scrollbar-thumb, .side::-webkit-scrollbar-thumb, .ordrop-menu::-webkit-scrollbar-thumb, #buildPanel::-webkit-scrollbar-thumb, #projPanel::-webkit-scrollbar-thumb, #delivPanel::-webkit-scrollbar-thumb, #aboutPanel::-webkit-scrollbar-thumb, #guidePanel::-webkit-scrollbar-thumb, #treeGridWrap::-webkit-scrollbar-thumb, .cfg-selector::-webkit-scrollbar-thumb, .studioToolDlg .studio-tool-mount::-webkit-scrollbar-thumb, .command-palette-list::-webkit-scrollbar-thumb, .material-library-list::-webkit-scrollbar-thumb { background:rgba(176,176,184,.38); border-radius:8px; border:2px solid transparent; background-clip:content-box; }
  .ui-scroll::-webkit-scrollbar-thumb:hover, .side::-webkit-scrollbar-thumb:hover, .ordrop-menu::-webkit-scrollbar-thumb:hover, #buildPanel::-webkit-scrollbar-thumb:hover, #projPanel::-webkit-scrollbar-thumb:hover, #delivPanel::-webkit-scrollbar-thumb:hover, #aboutPanel::-webkit-scrollbar-thumb:hover, #guidePanel::-webkit-scrollbar-thumb:hover, #treeGridWrap::-webkit-scrollbar-thumb:hover, .cfg-selector::-webkit-scrollbar-thumb:hover, .studioToolDlg .studio-tool-mount::-webkit-scrollbar-thumb:hover, .command-palette-list::-webkit-scrollbar-thumb:hover, .material-library-list::-webkit-scrollbar-thumb:hover { background:rgba(188,188,196,.54); background-clip:content-box; }
  .ui-scroll::-webkit-scrollbar-button, .side::-webkit-scrollbar-button, .ordrop-menu::-webkit-scrollbar-button, #buildPanel::-webkit-scrollbar-button, #projPanel::-webkit-scrollbar-button, #delivPanel::-webkit-scrollbar-button, #aboutPanel::-webkit-scrollbar-button, #guidePanel::-webkit-scrollbar-button, #treeGridWrap::-webkit-scrollbar-button, .cfg-selector::-webkit-scrollbar-button, .studioToolDlg .studio-tool-mount::-webkit-scrollbar-button, .command-palette-list::-webkit-scrollbar-button, .material-library-list::-webkit-scrollbar-button { display:none; width:0; height:0; }
  body.builderdeploy, body.builder, body.config, body.projects, body.deliv{ --studio-menu-h:0px; }
  body.builderdeploy #studioMenuBar, body.builder #studioMenuBar, body.config #studioMenuBar, body.projects #studioMenuBar, body.deliv #studioMenuBar{ display:none; }
  body.builderdeploy #autoload, body.builder #autoload, body.config #autoload, body.projects #autoload, body.deliv #autoload, body.preview #autoload, body.orient #autoload{ display:none !important; }
  .studio-shortcuts, .studio-info-rows{ display:grid; gap:7px; margin:10px 0; }
  .studio-shortcuts>div, .studio-info-rows>div{ display:grid; grid-template-columns:92px minmax(0,1fr); gap:10px; align-items:center; padding:7px 0; border-bottom:1px solid var(--line); }
  .studio-shortcuts kbd{ justify-self:start; min-width:54px; padding:2px 6px; border:1px solid rgba(255,255,255,.12); border-radius:3px; background:rgba(255,255,255,.04); color:var(--muted); font:600 11px/1.2 var(--mono); text-align:center; }
  .studio-info-rows b{ color:var(--muted); font-size:12px; }
  .studio-info-rows span{ min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-family:var(--mono); font-size:12px; color:var(--txt); }
  .backup-status-card{ margin-top:14px; padding-top:12px; border-top:1px solid var(--line); }
  .backup-status-card:first-of-type{ margin-top:10px; }
  .backup-status-head{ display:flex; align-items:center; justify-content:space-between; gap:12px; color:var(--txt); }
  .backup-status-head b{ font-size:13px; }
  .backup-status-head span{ color:var(--muted); font:700 10px/1 var(--mono); text-transform:uppercase; letter-spacing:.04em; }
  .backup-status-card.warn .backup-status-head span{ color:var(--bad-rest); }
  .backup-status-warning{ margin-top:10px; padding:9px 10px; border:1px solid rgba(255,100,100,.32); border-radius:4px; background:rgba(255,70,70,.06); color:var(--txt); font:700 12px/1.35 Roboto,system-ui,sans-serif; }
  .backup-status-files{ display:flex; flex-direction:column; gap:4px; margin-top:8px; }
  .backup-status-files code, .backup-status-files em{ min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--muted); font:600 11px/1.3 var(--mono); }
  .revision-history-list{ display:flex; flex-direction:column; margin-top:8px; border-top:1px solid var(--line); }
  .revision-history-row{ display:grid; grid-template-columns:minmax(82px,.7fr) minmax(150px,1.25fr) minmax(64px,.5fr) minmax(146px,1fr); gap:12px; align-items:center; padding:8px 0; border-bottom:1px solid var(--line); }
  .revision-history-row b{ min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--txt); font-size:12px; }
  .revision-history-row span, .revision-history-row code, .revision-history-row time{ min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--muted); font:600 11px/1.3 var(--mono); }
   
   
   
  .gizmo{ display:none; position:absolute; top:6px; right:10px; width:160px; height:160px; perspective:620px; z-index:6; touch-action:none; user-select:none; -webkit-user-select:none; }
  body.orient .gizmo{ display:block; }
  .home{ position:absolute; left:2px; top:2px; width:28px; height:28px; border:1px solid var(--accent); border-radius:4px;
    background:var(--wash); color:#e7ddf5; cursor:pointer; font-size:16px; line-height:26px; text-align:center;
    z-index:25; opacity:0; pointer-events:none; transition:opacity .14s; box-shadow:0 2px 7px rgba(0,0,0,.45); }
  .gizmo:hover .home{ opacity:1; pointer-events:auto; }
  .home:hover{ background:var(--accent); color:#1b1030; }
  .arrow,.rollset{ position:absolute; cursor:pointer; z-index:25; opacity:0; pointer-events:none; transition:opacity .14s; }
  .gizmo.faceview:hover .arrow{ opacity:.55; pointer-events:auto; }
  .gizmo.faceview:hover .rollset{ opacity:.75; visibility:visible; }
  .arrow:hover{ opacity:1; }
  .arrow{ width:18px; height:14px; background:var(--accent); filter:drop-shadow(0 1px 2px rgba(0,0,0,.5)); }
  .arrow.up   { left:50%; top:24px;    transform:translateX(-50%); clip-path:polygon(50% 0,0 100%,100% 100%); }
  .arrow.down { left:50%; bottom:24px; transform:translateX(-50%); clip-path:polygon(0 0,100% 0,50% 100%); }
  .arrow.left { top:50%; left:24px;    transform:translateY(-50%); width:14px; height:18px; clip-path:polygon(100% 0,100% 100%,0 50%); }
  .arrow.right{ top:50%; right:24px;   transform:translateY(-50%); width:14px; height:18px; clip-path:polygon(0 0,0 100%,100% 50%); }
  .rollset{ top:2px; right:2px; width:70px; height:70px; color:var(--accent); overflow:visible; visibility:hidden; filter:drop-shadow(0 1px 2px rgba(0,0,0,.55)); }
  .roll{ cursor:pointer; } .roll:hover{ color:#e7ddf5; }
  .cube{ position:absolute; inset:0; transform-style:preserve-3d; will-change:transform; z-index:20; pointer-events:none; }
  .face{ position:absolute; width:72px; height:72px; left:44px; top:44px; backface-visibility:hidden;
    display:grid; grid-template-columns:18% 64% 18%; grid-template-rows:18% 64% 18%;
    background:rgba(32,33,38,.85); box-shadow:inset 0 0 0 1.5px #4e4e5a; }
  .cell{ pointer-events:inherit; }
  .cell.hot{ background:rgba(169,133,221,.82); }
  .cell.c{ display:flex; align-items:center; justify-content:center; font-size:10px; font-weight:700; letter-spacing:.04em; color:#d8d8e0; }
  .cell.c.hot{ background:var(--accent); color:#1b1030; }
  


  .play{ position:absolute; left:50%; bottom:calc(var(--timeline-float-gap) + env(safe-area-inset-bottom, 0px)); transform:translateX(-50%); display:grid; grid-template-columns:auto 1fr auto;
    width:min(1500px, calc(100% - 28px)); gap:10px; align-items:center; white-space:nowrap;
    background:var(--glass); border:1px solid var(--line); border-radius:var(--r-surface); padding:10px;
    box-shadow:var(--elev); backdrop-filter:blur(6px); z-index:5; font-size:15px; overflow:hidden; }
  .play .zone{ display:flex; gap:10px; align-items:center; min-width:0; overflow:hidden; }
  .play .zone.zl{ justify-self:start; }
  .play .zone.zr{ justify-self:end; }
  .play button{ background:var(--panel2); color:var(--txt); border:1px solid var(--line); border-radius:var(--r-control); padding:8px 14px; cursor:pointer;
    font:inherit; display:inline-flex; align-items:center; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; transition:color 140ms ease, border-color 140ms ease, background 140ms ease; }
  




  :where(.dev-pointer) .play button:hover:not(:disabled){ color:var(--link); border-color:var(--accent); }
   
  .play button:focus{ outline:none; }
  .play button:focus-visible{ outline:2px solid var(--accent); outline-offset:2px; }
   
  .play button:disabled{ color:var(--low); border-color:var(--line); background:var(--panel2); box-shadow:none; cursor:default; pointer-events:none; }
  .play button:disabled kbd{ opacity:.45; }
  :is(.play,#pvIsland) button:not(.danger):active, :is(.play,#pvIsland) button:not(.danger).shortcut-pressed{ color:var(--link); border-color:var(--accent); background:var(--wash); box-shadow:inset 0 0 0 1px rgba(169,133,221,.18); }    
  .play button.primary:hover{ background:var(--primary-hi); border-color:var(--primary-hi); color:#fff; }
  .play button.primary:active, .play button.primary.shortcut-pressed{ background:var(--primary-hi); border-color:var(--primary-hi); color:#fff; box-shadow:inset 0 0 0 1px rgba(255,255,255,.24); }
  .play input[type=range]{ width:140px; accent-color:var(--accent); }
  

  .play .lbl{ flex:1; min-width:0; text-align:center; overflow:hidden; text-overflow:ellipsis; }    
  .play .lbl .frac{ margin-right:10px; }    
   
  

  .moreWrap{ position:relative; display:inline-flex; }
  .moreMenu{ display:none; position:absolute; bottom:calc(100% + 10px); left:50%; transform:translateX(-50%); z-index:30;
    padding:10px 12px; box-shadow:var(--elev-float); max-width:calc(100vw - 28px); overflow:hidden; white-space:nowrap; }
  .moreWrap.open .moreMenu{ display:flex; flex-direction:column; gap:8px; }
  .moreMenu .mrow{ display:flex; align-items:center; gap:8px; }
  .moreMenu .mrow .lbl2{ min-width:46px; }
  .lblPv{ display:none; }
  body.preview .lblPv{ display:inline; } body.preview .lblEd{ display:none; }
  body.preview .moreMenu{ display:none !important; }    
   
  body:not(.preview) #descTgl.on{ background:var(--panel2); color:var(--muted); border-color:var(--line); }
  body:not(.preview) .moreWrap.open>#descTgl, body:not(.preview) .moreWrap.open>#descTgl.on{ color:var(--link); border-color:var(--accent); }
  body:not(.preview) #descTgl{ display:none; }
   
  #playBtn{ display:inline-flex; align-items:center; }
   
   
  .play .navbtn{ display:inline-flex; align-items:center; }
  @media(max-width:680px){
    body:not(.preview):not(.builderdeploy):not(.orient) .play{ display:none; }
    .play{ grid-template-columns:1fr; width:calc(100% - 16px); gap:8px; padding:8px; white-space:normal; font-size:12px; }
    .play .zone{ justify-content:center; flex-wrap:wrap; gap:6px; overflow:visible; }
    .play .zone.zl, .play .zone.zr{ justify-self:stretch; }
    .play button{ min-width:0; padding:6px 8px; }
    .play .lbl{ flex:0 1 100%; }
  }

  .studio-legacy-stores{ display:none !important; }
   
  #secParts{ position:fixed; top:calc(var(--studio-menu-h) + 16px); left:16px; bottom:calc(var(--timeline-h) + 104px); z-index:5; width:286px; min-height:180px; margin:0; padding:0; overflow:hidden; background:var(--panel); border:1px solid var(--line); box-shadow:var(--elev); color:var(--txt); }
  #secParts[open]{ display:flex; flex-direction:column; }
  #secParts[open]>summary{ margin-bottom:0; }
  #secParts:not([open]){ bottom:auto; min-height:0; }
  body.preview #secParts, body.orient #secParts, body.operation #secParts, body.tree #secParts,
  body.mbuilder #secParts, body.config #secParts, body.projects #secParts, body.deliverables #secParts,
  body.builderdeploy #secParts{ display:none; }
  #secParts>summary{ flex:0 0 34px; min-width:0; display:grid; grid-template-columns:12px minmax(0,1fr) auto; align-items:center; gap:6px; padding:0 7px; border-bottom:1px solid var(--line); background:var(--panel2); cursor:pointer; list-style:none; }
  #secParts>summary::-webkit-details-marker{ display:none; }
  #secParts>summary::before{ content:'▾'; color:var(--muted); font-size:10px; }
  #secParts:not([open])>summary::before{ content:'▸'; }
  #secParts>summary h2{ min-width:0; margin:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--txt); font-size:12px; font-weight:600; letter-spacing:0; text-transform:none; }
  #secParts>summary .collapseAll{ min-width:0; padding:3px 6px; font-size:10px; }
  #secParts>.row{ flex:0 0 auto; margin:0 !important; padding:6px; border-bottom:1px solid var(--line); background:var(--panel); }
  #secParts>.row #addGroup{ min-width:0; padding:4px 7px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:10px; }
  #secParts>.row #selCt{ margin-left:auto; color:var(--muted); font-size:10px; }
  #secParts #partList{ position:absolute; inset:69px 0 0; min-height:0; overflow-x:hidden; overflow-y:auto; overscroll-behavior:contain; padding:4px 5px 8px; scrollbar-gutter:stable; scrollbar-width:thin; }
  #secParts .part{ min-height:24px; gap:5px; padding:2px 5px; border-top:0; border-radius:2px; font-size:11px; }
  #secParts .part:hover{ background:var(--panel2); }
  #secParts .part.grp .pn{ color:var(--txt); font-weight:500; }
  #secParts .part.sel{ background:var(--wash); outline:1px solid rgba(169,133,221,.45); }
  #secParts .vsep{ margin-top:3px; padding:6px 4px 3px; background:var(--panel); font-size:10px; }
  h1{ margin:0; padding:14px 16px 3px; }    
  .sub{ color:var(--muted); font-size:11.5px; padding:0 16px 10px; border-bottom:1px solid var(--line); }
  .sec{ border-bottom:1px solid var(--line); padding:10px 16px 13px; }
   
  .sec h2{ margin:0 0 8px; }    
  .steps{ list-style:none; margin:0; padding:0; }
  .steps li{ padding:7px 9px; border-radius:4px; cursor:pointer; display:flex; gap:9px; align-items:center; transition:color 140ms ease, background 140ms ease; }
  .steps li:hover{ background:var(--panel2); color:var(--link); }
  .steps li.active{ background:var(--wash); color:var(--link); font-weight:500; }
  .steps li .n{ color:var(--low); font-size:12px; width:18px; font-family:var(--mono); } .steps li .g{ color:var(--muted); cursor:grab; }
  .steps li .stagin{ accent-color:var(--accent); margin:0 0 0 6px; cursor:pointer; flex:0 0 auto; }
  .steps li .spreadin{ width:36px; text-align:center; }
  .steps li.stagger-empty{ color:var(--muted); cursor:default; }
  .steps li .st{ flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .steps li .stin{ flex:1; min-width:0; background:var(--code); color:var(--txt); border:1px solid var(--accent); border-radius:4px; padding:1px 5px; font:inherit; outline:none; }
   
  .steps li.stepgrp{ padding:8px 6px 4px; margin-top:5px; border-top:1px solid var(--line); gap:6px; cursor:pointer; }    
  .steps li.stepgrp:first-child{ margin-top:0; border-top:0; }
  .steps li.stepgrp:hover{ color:var(--txt); background:transparent; }
  .steps li.stepgrp.dragover{ background:var(--wash); color:var(--link); }
  .steps li.stepgrp .tw{ display:inline-block; width:10px; font-size:9px; color:var(--low); flex:0 0 auto; }
  .steps li.stepgrp .tw::before{ content:'▾'; } .steps li.stepgrp.collapsed .tw::before{ content:'▸'; }
  .steps li.stepgrp .gn{ flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .steps li.stepgrp .ct{ color:var(--muted); font-weight:600; text-transform:none; letter-spacing:0; }
  .steps li.stepgrp .gnin{ flex:1; min-width:0; background:var(--code); color:var(--txt); border:1px solid var(--accent); border-radius:4px; padding:1px 5px; font:inherit; text-transform:none; letter-spacing:0; outline:none; }
  .steps li.stepgrp .gdel{ flex:0 0 auto; background:none; border:0; color:var(--low); font:inherit; font-size:14px; line-height:1; cursor:pointer; padding:0 2px; opacity:0; transition:opacity 140ms ease, color 140ms ease; }
  .steps li.stepgrp:hover .gdel{ opacity:.7; } .steps li.stepgrp .gdel:hover{ opacity:1; color:var(--bad); }
  .steps li.stephidden{ display:none; }    
  .row{ display:flex; gap:7px; flex-wrap:wrap; align-items:center; margin-top:8px; }
  #stepBtns .b, #asmBtns .b{ flex:1 1 auto; }    
  #secAssembly, #secSteps, #asmBtns, #appx, #secStatus{ display:none !important; }    
  button.b{ background:var(--panel2); color:var(--txt); border:1px solid var(--line); border-radius:var(--r-control); padding:4px 10px; cursor:pointer; font-family:inherit; font-size:12px; transition:color 140ms ease, border-color 140ms ease, background 140ms ease; }    
  button.b:hover{ color:var(--link); border-color:var(--accent); }
  button.b:disabled{ pointer-events:none; }
  button.b.danger{ color:var(--bad-rest); border-color:rgba(232,160,154,.35); }
  button.b.danger:hover{ color:var(--bad); border-color:var(--bad); background:var(--bad-fill); }
  input[type=text],textarea,select{ width:100%; background:var(--code); color:var(--txt); border:1px solid var(--line); border-radius:var(--r-field); padding:7px 9px; font:inherit; }
  input[type=text]:focus,textarea:focus,select:focus{ outline:none; border-color:var(--accent); }
  textarea{ resize:vertical; min-height:64px; }
  label.fld{ display:block; color:var(--low); font-size:12px; margin:8px 0 3px; }
  #edInternalWorkflow{ min-height:54px; }
  .internalWorkflowLabel{ margin-top:12px; }
  .internalWorkflowHint{ margin-top:4px; color:var(--low); }
   
  .part{ display:flex; align-items:center; gap:6px; padding:4px 0; border-top:1px solid rgba(255,255,255,.05); font-size:12px; }
  .part:first-child{ border-top:0; }
  .part input[type=checkbox]{ accent-color:var(--accent); }
  .part .pn{ flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--txt); }
  .part .pn.off{ color:rgba(255,255,255,.30); }
  .part .xyz{ display:flex; gap:3px; }
  .part .xyz input{ width:38px; background:var(--code); color:var(--txt); border:1px solid var(--line); border-radius:4px; padding:3px 4px; font-size:11px; text-align:right; }
  .part.grp .pn{ color:var(--link); font-weight:500; }
  .part .tw{ width:12px; flex:0 0 auto; color:var(--muted); cursor:pointer; text-align:center; user-select:none; }
  .part .tw.sp{ cursor:default; color:rgba(255,255,255,.18); }
  .visibility-icon{ width:15px; height:15px; display:block; }
  .browser-visibility{ flex:0 0 20px; width:20px; height:22px; display:inline-grid; place-items:center; vertical-align:middle; margin:0; padding:0; border:0; border-radius:3px; background:transparent; color:var(--low); cursor:pointer; }
  .browser-visibility.visible{ color:var(--muted); }
  .browser-visibility.mixed{ color:var(--accent); opacity:.72; }
  .browser-visibility:hover,.browser-visibility:focus-visible{ outline:none; color:var(--link); background:var(--wash); }
  .part.occvar{ border-top:0; padding-top:1px; padding-bottom:1px; }    
  .part.occvar .pn{ color:var(--muted); font-size:11px; }
  .part.occvar.logical-build-lane .tw.sp{ color:var(--accent); }
  .part .pg{ flex:0 0 auto; background:var(--panel2); color:var(--muted); border:1px solid var(--line); border-radius:4px; font-size:10px; padding:2px 3px; max-width:58px; }
  .part .gx{ flex:0 0 auto; background:none; border:0; color:var(--muted); cursor:pointer; font-size:12px; line-height:1; padding:0 2px; }
  .part .gx:hover{ color:var(--bad); }
  .part .gx.ok{ color:var(--bad); font-weight:600; }
  .part .gnin{ flex:1 1 60px; min-width:40px; background:var(--code); color:var(--txt); border:1px solid var(--accent); border-radius:4px; padding:1px 5px; font:inherit; outline:none; }
  .part.grp{ cursor:grab; }
  .part.grp.ungrouped-group{ cursor:pointer; }
  .part .gc{ flex:0 0 auto; font-size:10px; color:var(--muted); min-width:14px; text-align:right; }
  .part[data-key]{ cursor:pointer; }
  .part.sel{ background:var(--wash); outline:1px solid rgba(169,133,221,.5); }
  .part.dragover, .vsep.dragover{ outline:1px dashed var(--accent); background:rgba(169,133,221,.08); }
  .part.grp.dropbefore{ box-shadow:inset 0 2px 0 var(--accent); }    
  .part.grp.dropafter{ box-shadow:inset 0 -2px 0 var(--accent); }
  .part.grp.drophot{ outline:2px solid var(--accent); background:rgba(169,133,221,.22); }
  .part.grp.hassel, .vsep.hassel{ box-shadow:inset 3px 0 0 var(--accent); color:var(--link); }
  .dragchip{ position:fixed; z-index:9999; pointer-events:none; background:var(--accent); color:#1b1030; font-size:11px; font-weight:600; padding:2px 7px; border-radius:4px; box-shadow:0 2px 6px rgba(0,0,0,.5); }
   
  .marqbox{ position:fixed; z-index:9998; pointer-events:none; border:1px solid var(--accent); background:rgba(169,133,221,.12); box-shadow:0 0 0 1px rgba(0,0,0,.35); }
  .marqbox.cross{ border-style:dashed; background:rgba(169,133,221,.06); }
  .part .pn{ user-select:none; }
   
  .vsep{ color:var(--muted); font-size:12px; font-weight:600; padding:8px 4px 3px; border-top:1px solid var(--line); margin-top:5px; position:sticky; top:0; background:var(--panel); z-index:1; cursor:pointer; user-select:none; }
  .vsep:hover{ color:var(--txt); } .vsep .tw{ display:inline-block; width:11px; }
  .vsep.passive{ position:static; cursor:default; }    
  .vsep.passive:hover{ color:var(--muted); }
  .grpsec{ padding:8px 4px 3px; border-top:1px solid var(--line); margin-top:5px; cursor:pointer; user-select:none; }    
  .grpsec.passive{ cursor:default; }
  .grpsec:hover{ color:var(--txt); } .grpsec.passive:hover{ color:var(--muted); } .grpsec .tw{ display:inline-block; width:11px; }
  .part-load-more{ width:calc(100% - 18px); min-height:30px; margin-top:5px; padding:5px 9px; display:flex; align-items:center; justify-content:space-between; gap:8px; background:var(--panel2); color:var(--link); border:1px solid var(--line); border-radius:4px; cursor:pointer; font:600 11px/1.2 var(--ui); }
  .part-load-more:hover, .part-load-more:focus-visible{ outline:none; border-color:var(--accent); background:var(--wash); }
  .part-load-more span{ color:var(--low); font:500 10px/1.2 var(--mono); }
   
  .vsep .pvbtn{ float:right; margin-top:-1px; margin-left:6px; background:var(--panel2); color:var(--muted); border:1px solid var(--line); border-radius:4px;
    font-size:11px; font-weight:500; text-transform:none; letter-spacing:0; padding:3px 9px; cursor:pointer; transition:color 140ms ease, border-color 140ms ease, background 140ms ease; }
  .vsep .pvbtn:hover{ border-color:var(--accent); color:var(--link); }
  .vsep .pvbtn:disabled{ pointer-events:none; }    
   
  .vsep .fuse{ float:right; margin-top:-1px; margin-left:6px; display:inline-flex; border:1px solid var(--line); border-radius:4px; overflow:hidden; }
  .vsep .fuse .pvbtn{ float:none; margin:0; border:0; border-radius:0; }
  .vsep .fuse .pvbtn + .pvbtn{ border-left:1px solid var(--line); }
   
  .stagetabs{ display:flex; align-items:center; gap:8px; margin:0 0 8px; }
  .seg{ display:inline-flex; flex-flow:row nowrap; border:1px solid var(--line); border-radius:4px; overflow:hidden; }
  .stab{ flex:0 0 auto; white-space:nowrap; background:var(--panel2); color:var(--muted); border:0; border-radius:0; padding:6px 16px; cursor:pointer; font:inherit; font-size:12px; line-height:1.1; }
  .stab + .stab{ border-left:1px solid var(--line); }
  .stab:hover{ color:var(--txt); }
  .stab.on{ background:var(--wash); color:var(--link); font-weight:600; }
   
  .fusegrp{ display:inline-flex; border:1px solid var(--line); border-radius:4px; overflow:hidden; }
  .fusegrp>.b{ border:0; border-radius:0; margin:0; }
  .fusegrp>.b+.b{ border-left:1px solid var(--line); }
   
  #secStatus .mini{ display:block; margin-top:4px; }
   
  details.sec>summary{ display:flex; align-items:center; gap:7px; cursor:pointer; list-style:none; user-select:none; margin:0; }
  details.sec>summary::-webkit-details-marker{ display:none; }
  details.sec>summary::before{ content:'▾'; color:var(--low); font-size:9px; width:9px; flex:0 0 auto; }
  details.sec:not([open])>summary::before{ content:'▸'; }
  details.sec>summary h2{ margin:0; }
  details.sec[open]>summary{ margin-bottom:9px; }
  .sec>summary .collapseAll{ margin-left:auto; font-size:11px; padding:2px 8px; }    
   
  #pvExit.studio-view-as{ display:inline-flex; align-items:center; color:var(--muted); }
  #pvExit.studio-view-as.on{ color:var(--link); border-color:rgba(169,133,221,.55); background:var(--wash); }
  #pvExit .preview-exit-copy,#pvExit .preview-exit-key{ display:none; }
  body.preview #pvExit{ display:inline-flex; align-items:center; color:var(--bad-rest); }
  body.preview #pvExit .view-as-copy,body.preview #pvExit .view-as-key{ display:none; }
  body.preview #pvExit .preview-exit-copy,body.preview #pvExit .preview-exit-key{ display:inline-flex; }
  


  body.preview #pvExit:hover{ color:var(--bad) !important; border-color:var(--bad) !important; }
  body.preview #pvExit:active, body.preview #pvExit.shortcut-pressed{ color:var(--bad); border-color:var(--bad); background:var(--bad-press); }    
   
  :root{ --builder-page-max:1280px; --builder-page-pad-x:22px; --builder-page-head-top:20px; --builder-page-body-top:14px; --builder-page-body-bottom:40px; }
  #buildPanel, #projPanel, #delivPanel, #aboutPanel, #guidePanel{ display:none; scrollbar-gutter:auto; }
  body.builder .side, body.builder .play, body.builder .hud, body.builder .gizmo,
  body.builder #c, body.builder .weave, body.builder .weaveGlow, body.builder #orientBar, body.builder #orTop,
  body.builder #pvTop, body.builder #pvCap{ display:none !important; }
  body.builder #buildPanel{ display:flex; flex-direction:column; position:absolute; inset:0; z-index:10; background:var(--bg); overflow:auto; }
  

  .bartop{ display:flex; align-items:center; gap:12px; padding:14px 22px; }
  .bartop:not(.floatbar){ border-bottom:1px solid var(--line); background:var(--glass); position:sticky; top:0; z-index:2; }    
  .floatbar{ display:none; position:absolute; left:0; right:0; top:0; z-index:12; pointer-events:none; }    
  body.config #cfgTop.floatbar, body.preview #pvTop.floatbar{ display:flex; }    
  body.builderdeploy.config #cfgTop.floatbar.builder-page-top, body.builderdeploy.preview #pvTop.floatbar.builder-page-top{ display:grid; }    
  .bartop .ttl{ display:flex; align-items:center; gap:8px; }    
  .bartop .acts{ margin-left:auto; display:flex; gap:8px; }
  #bProjects, #bShare, #delivBack{ display:none !important; }    
  .floatbar .ttl, .floatbar .acts{ pointer-events:auto; }    
  .bartop .b{ padding:7px 13px; font:inherit; font-size:12px; display:inline-flex; align-items:center; }    
   
   
  #buildName, #projName, #delivName, #guideName{ max-width:28vw; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }    
   
  @media(max-width:560px){ #buildName, #projName, #delivName, #guideName{ display:none; } }    
  @media(max-width:560px){
    .bartop{ flex-wrap:wrap; align-items:flex-start; gap:8px; padding:12px 18px; }
    .bartop .acts{ margin-left:0; width:100%; min-width:0; display:flex; flex-wrap:wrap; justify-content:flex-start; }
    .bartop .b{ flex:1 1 min(92px,100%); justify-content:center; min-width:0; }
  }
  #buildHd, #projHd, #delivHd, #aboutHd, #guideHd, .builder-page-intro{ max-width:var(--builder-page-max); width:100%; margin:0 auto; padding:var(--builder-page-head-top) var(--builder-page-pad-x) 0; box-sizing:border-box; }
   
  #buildHd .lead, #projHd .lead, #delivHd .lead, #guideHd .lead, .builder-page-intro .lead{ color:var(--muted); font-size:13px; margin-top:6px; }    
  body.builderdeploy :is(#buildName,#projName,#guideName,#delivName),
  body.builder #buildName, body.projects #projName, body.guide #guideName, body.deliv #delivName{ display:none; }    
  .build-choice-strip{ max-width:calc(var(--builder-page-max) - var(--builder-page-pad-x) - var(--builder-page-pad-x)); width:calc(100% - var(--builder-page-pad-x) - var(--builder-page-pad-x)); height:auto; flex:0 0 auto; margin:16px auto 0; padding:0; box-sizing:border-box; display:grid; grid-template-columns:repeat(auto-fit,minmax(12.4%,1fr)); overflow:hidden; border:1px solid var(--line); border-radius:var(--r-surface); background:var(--code); box-shadow:inset 0 1px 0 rgba(255,255,255,.04); }    
  






  .build-choice-strip[hidden]{ display:none !important; }
  .build-choice-cell{ width:auto; min-width:0; box-sizing:border-box; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:5px; padding:11px 14px 12px; border:0; border-left:1px solid rgba(255,255,255,.07); border-radius:0; background:transparent; color:var(--txt); overflow:hidden; white-space:nowrap; }
  .build-choice-cell:first-child{ border-left:0; }    
  .build-choice-cell b{ flex:0 0 auto; min-width:0; max-width:100%; color:var(--low); font:600 9px/1 var(--mono); text-transform:uppercase; letter-spacing:.09em; overflow:hidden; text-overflow:ellipsis; }
  .build-choice-cell span{ flex:0 1 auto; min-width:0; max-width:100%; color:rgba(255,255,255,.87); font:600 12.5px/1 Roboto,system-ui,sans-serif; overflow:hidden; text-overflow:ellipsis; }
  @media(max-width:980px){
    .build-choice-strip{ grid-template-columns:repeat(auto-fit,minmax(24.9%,1fr)); }
    .build-choice-cell:nth-child(4n+1){ border-left:0; }
    .build-choice-cell:nth-child(n+5){ border-top:1px solid var(--line); }    
  }
  @media(max-width:600px){
    .build-choice-strip{ grid-template-columns:repeat(auto-fit,minmax(49.9%,1fr)); }
    .build-choice-cell:nth-child(odd){ border-left:0; }
    .build-choice-cell:nth-child(n+3){ border-top:1px solid var(--line); }
  }
  #buildTiles, #projTiles{ max-width:var(--builder-page-max); width:100%; margin:0 auto; padding:var(--builder-page-body-top) var(--builder-page-pad-x) calc(var(--builder-page-body-bottom) + env(safe-area-inset-bottom, 0px)); box-sizing:border-box; display:grid; grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),1fr)); gap:16px; align-content:start; }    
  .project-empty{ grid-column:1/-1; min-height:220px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; color:var(--muted); text-align:center; }
  .project-empty b, .studio-empty b{ color:var(--txt); font-size:18px; font-weight:650; }    
  .project-empty span{ font-size:13px; }
  .studio-empty{ position:absolute; inset:0; z-index:24; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; padding:24px; text-align:center; color:var(--muted); background:var(--bg); }
  .studio-empty span{ max-width:420px; font-size:13px; }
  .studio-empty .b{ margin-top:6px; pointer-events:auto; }
  body.studio-empty-state .side{ opacity:.45; }
  @media(max-width:680px){
    body.studio-empty-state .side{ display:none; }
    body.studio-empty-state .stage{ flex:1 1 100%; width:100%; min-width:0; }
  }
  .btile{ box-shadow:none; display:flex; flex-direction:column; cursor:pointer; overflow:hidden; isolation:isolate; transition:transform 140ms ease, border-color 140ms ease, box-shadow 140ms ease; }    
  .btile:hover{ transform:translateY(-1px); border-color:rgba(255,255,255,.2); box-shadow:var(--elev); }    
  .btile .cover{ --stage-progress:0%; --stage-segment:100%; aspect-ratio:16/9; background:#1a1622 center/cover no-repeat; border-bottom:1px solid var(--line); position:relative; overflow:hidden; }    
  .btile .cover::after{ content:''; position:absolute; inset:0; pointer-events:none; z-index:2; background:var(--cover-scrim); }
  .btile .cover .bar{ position:absolute; left:0; right:0; bottom:0; z-index:3; width:100%; height:7px; background:#1c1c1c; box-shadow:inset 0 1px 0 rgba(0,0,0,.55), 0 -1px 3px rgba(0,0,0,.55); }    
  .btile .cover .bar::before{ content:''; position:absolute; inset:0; background:repeating-linear-gradient(to right,rgba(255,255,255,.24) 0 calc(var(--stage-segment) - 2px),transparent calc(var(--stage-segment) - 2px) var(--stage-segment)); background-position:1px 0; }    
  .btile .cover .bar::after{ content:''; position:absolute; inset:0; background:repeating-linear-gradient(to right,#9674cb 0 calc(var(--stage-segment) - 2px),transparent calc(var(--stage-segment) - 2px) var(--stage-segment)); background-position:1px 0; clip-path:inset(0 calc(100% - var(--stage-progress)) 0 0); transition:clip-path .42s cubic-bezier(.2,.8,.2,1); }    
  .btile.seqlocked .cover .bar::before{ background:repeating-linear-gradient(to right,rgba(255,255,255,.11) 0 calc(var(--stage-segment) - 2px),transparent calc(var(--stage-segment) - 2px) var(--stage-segment)); background-position:1px 0; }
  .btile.done .nm .gname::after{ content:' ✓'; color:var(--accent); font-weight:700; }    
  


  .cover.stagecover{ background:
    linear-gradient(0deg, rgba(43,36,50,.34) 0%, rgba(43,36,50,.12) 10%, rgba(43,36,50,0) 26%),
    radial-gradient(ellipse 60% 42% at 50% 66%, rgba(172,120,252,.16) 0%, rgba(146,90,236,.05) 50%, rgba(146,90,236,0) 100%),
    radial-gradient(ellipse 74% 62% at 50% 58%, rgba(43,36,50,0) 34%, rgba(43,36,50,.13) 66%, rgba(43,36,50,.42) 100%),
    radial-gradient(ellipse 78% 46% at 50% 2%, rgba(255,255,255,.72) 0%, rgba(255,255,255,0) 72%),
    linear-gradient(180deg, var(--thumb-bg0) 0%, var(--thumb-bg1) 56%, var(--thumb-bg2) 100%); }
  .cover.stagecover::before{ content:""; position:absolute; inset:-50vmax; z-index:0; pointer-events:none; opacity:.20; transform:rotate(45deg);
    background:
      linear-gradient(45deg, rgba(255,255,255,.48) 25%, transparent 25% 75%, rgba(255,255,255,.48) 75%),
      linear-gradient(45deg, rgba(74,68,80,.10) 25%, transparent 25% 75%, rgba(74,68,80,.10) 75%),
      linear-gradient(-45deg, rgba(255,255,255,.30) 25%, transparent 25% 75%, rgba(255,255,255,.30) 75%),
      linear-gradient(-45deg, rgba(56,51,63,.075) 25%, transparent 25% 75%, rgba(56,51,63,.075) 75%);
    background-position:0 0, 7px 7px, 0 7px, 7px 0; background-size:14px 14px; }
  .cover.stagecover .stage-thumb{ position:absolute; inset:0; z-index:1; background:center/cover no-repeat; overflow:hidden; }
  .cover.stagecover .stage-thumb::before{ content:""; position:absolute; inset:-50vmax; z-index:1; pointer-events:none; opacity:.055; transform:rotate(45deg); mix-blend-mode:multiply;
    background:
      linear-gradient(45deg, rgba(56,51,63,.22) 25%, transparent 25% 75%, rgba(56,51,63,.22) 75%),
      linear-gradient(45deg, rgba(255,255,255,.34) 25%, transparent 25% 75%, rgba(255,255,255,.34) 75%),
      linear-gradient(-45deg, rgba(74,68,80,.16) 25%, transparent 25% 75%, rgba(74,68,80,.16) 75%),
      linear-gradient(-45deg, rgba(255,255,255,.26) 25%, transparent 25% 75%, rgba(255,255,255,.26) 75%);
    background-position:0 0, 7px 7px, 0 7px, 7px 0; background-size:14px 14px; }
   
  .cover.stagecover .bar{ z-index:3; }
  .cfgtile .cover{ background:linear-gradient(135deg, rgba(116,80,182,.45), rgba(169,133,221,.12)); display:flex; align-items:center; justify-content:center; font-size:36px; color:var(--accent); }
   
  .cover.cfgcover{ background:radial-gradient(ellipse at 38% 45%, #17131f 0%, #0c0b10 72%) !important; display:block !important; font-size:0 !important; }
  .cover.cfgcover > *{ position:absolute; z-index:0; }
  .cover.cfgcover .opt{ left:8%; width:40%; height:8%; border-radius:3px; background:rgba(255,255,255,.08); }
  .cover.cfgcover .opt:nth-of-type(1){ top:20%; } .cover.cfgcover .opt:nth-of-type(2){ top:36%; } .cover.cfgcover .opt:nth-of-type(3){ top:52%; } .cover.cfgcover .opt:nth-of-type(4){ top:68%; width:30%; background:rgba(255,255,255,.05); }
  .cover.cfgcover .opt.sel{ background:rgba(169,133,221,.45); box-shadow:0 0 0 1px rgba(169,133,221,.28); }    
  .cover.cfgcover .res{ left:56%; top:14%; width:36%; height:72%; border:1px solid rgba(255,255,255,.09); border-radius:4px; background:rgba(116,80,182,.10); }
  .cover.cfgcover .res i{ position:absolute; left:14%; right:14%; height:6px; border-radius:3px; background:rgba(255,255,255,.10); }
  .cover.cfgcover .res .r1{ top:18%; right:30%; } .cover.cfgcover .res .r2{ top:38%; background:rgba(169,133,221,.40); } .cover.cfgcover .res .r3{ top:58%; } .cover.cfgcover .res .r4{ top:78%; right:40%; }
   
  .cover.delivcover{ background:radial-gradient(ellipse at 50% 45%, #16131c 0%, #0c0b10 72%) !important; display:block !important; font-size:0 !important; }
  .cover.delivcover > *{ position:absolute; z-index:0; }
  .cover.delivcover .sheet{ left:13%; top:9%; right:13%; bottom:9%; border:1px solid rgba(255,255,255,.08); border-radius:3px; background:rgba(255,255,255,.035); }
  .cover.delivcover .sheet > i, .cover.delivcover .sheet > .row{ position:absolute; }
  .cover.delivcover .hdr{ left:7%; top:9%; width:44%; height:10%; border-radius:3px; background:rgba(255,255,255,.13); }
  .cover.delivcover .zip{ right:7%; top:8%; width:12%; height:13%; border-radius:3px; background:rgba(169,133,221,.50); box-shadow:0 0 0 1px rgba(169,133,221,.22); }
  .cover.delivcover .row{ left:7%; right:7%; height:8%; }
  .cover.delivcover .row.r1{ top:28%; } .cover.delivcover .row.r2{ top:41%; } .cover.delivcover .row.r3{ top:54%; } .cover.delivcover .row.r4{ top:67%; }
  .cover.delivcover .row i{ position:absolute; top:0; }
  .cover.delivcover .tick{ left:0; width:8%; height:100%; border-radius:3px; background:rgba(169,133,221,.55); }
  .cover.delivcover .line{ left:14%; height:100%; border-radius:3px; background:rgba(255,255,255,.09); }
  .cover.delivcover .r1 .line{ right:28%; } .cover.delivcover .r2 .line{ right:20%; } .cover.delivcover .r3 .line{ right:34%; } .cover.delivcover .r4 .line{ right:24%; }
  .cover.delivcover .qty{ right:0; width:11%; height:100%; border-radius:3px; background:rgba(255,255,255,.06); }
  .cover.delivcover .rule{ left:7%; right:7%; top:84%; height:1px; background:rgba(255,255,255,.10); }
  .cover.delivcover .tot{ left:7%; top:88%; width:30%; height:7%; border-radius:3px; background:rgba(116,80,182,.40); }
  .cover.delivcover .totq{ right:7%; top:88%; width:15%; height:7%; border-radius:3px; background:rgba(255,255,255,.10); }
  .btile .body{ flex:1 1 auto; min-height:116px; box-sizing:border-box; padding:12px 14px; display:flex; flex-direction:column; gap:7px; }
  .btile .nm{ font-size:15px; font-weight:600; color:var(--txt); display:flex; align-items:center; gap:8px; }
  .btile .nm .ix{ font-family:var(--mono); color:var(--low); font-size:12px; font-weight:500; }
  .btile .nm .gname{ flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .btile .chip{ font-size:10px; font-weight:500; padding:2px 8px; border-radius:var(--r-chip); background:var(--panel2); border:1px solid var(--line); color:var(--muted); white-space:nowrap; }
  .btile .meta{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }    
  .btile .facts{ font-size:11px; color:var(--low); font-family:var(--mono); letter-spacing:.01em; }    
  .btile .pv{ flex:0 0 36px; min-height:36px; box-sizing:border-box; margin-top:auto; display:flex; align-items:center; justify-content:center; padding:0 12px; text-align:center; font-size:12px; font-weight:600; color:var(--link); background:var(--wash); border:1px solid rgba(169,133,221,.4); border-radius:var(--r-control); }
  .btile.locked{ pointer-events:none; }    
  .btile.locked .pv{ background:none; color:var(--low); border-color:var(--line); }
   
  .btile.seqlocked:hover{ filter:grayscale(.45) brightness(.78); transform:none; box-shadow:var(--elev); }    
  .btile.seqlocked .pv{ color:var(--low); }
  .btile.seqlocked .pv::before{ content:'Locked - '; }    
   
   
  .qrslot{ font-size:12px; color:#555; text-align:center; }
  .qrlink{ display:block; text-decoration:none; margin-top:10px; font:11px var(--mono); color:var(--link); word-break:break-all; text-align:center; background:var(--code); border:1px solid var(--line); border-radius:var(--r-control); padding:7px 9px; line-height:1.5; }
  .qrcard.qrhidden{ display:none; }    
  .shtoggle{ display:flex; align-items:center; justify-content:space-between; gap:14px; margin:14px 0 8px; cursor:pointer; }    
  .shtoggle.disabled{ }    
  .shtoggle .shlbl{ display:flex; flex-direction:column; gap:2px; font-size:13px; color:var(--txt); }
  .shtoggle .shlbl small{ font-size:11px; color:var(--muted); font-weight:400; }
  .shtoggle input{ position:absolute; opacity:0; width:0; height:0; }
  .shtoggle .sw{ flex:0 0 auto; width:38px; height:22px; border-radius:var(--r-pill); background:var(--code); border:1px solid var(--line); position:relative; transition:background 140ms ease, border-color 140ms ease; }
  .shtoggle .sw::after{ content:''; position:absolute; top:2px; left:2px; width:16px; height:16px; border-radius:50%; background:var(--muted); transition:transform 140ms ease, background 140ms ease; }
  .shtoggle input:checked + .sw{ background:var(--wash); border-color:var(--accent); }
  .shtoggle input:checked + .sw::after{ transform:translateX(16px); background:var(--accent); }
  .btile:focus-visible{ outline:none; box-shadow:0 0 0 2px var(--accent), var(--elev); }    
  .b:focus-visible, .play button:focus-visible, .cfg-selector .stab:focus-visible, .cfgtabs .cfgtab:focus-visible, #viewCtl button:focus-visible, .cfgdone:focus-visible{ outline:none; box-shadow:0 0 0 2px var(--accent); }    
  #loadOverlay{ position:fixed; inset:0; z-index:20000; display:flex; align-items:center; justify-content:center; background:var(--bg); opacity:1; transition:opacity 180ms ease; }    
  #loadOverlay.done{ opacity:0; pointer-events:none; }
  #loadOverlay .lo-logo{ text-align:center; margin-bottom:22px; font-size:19px; }    
  #loadOverlay .lo-logo .lockup{ letter-spacing:.2em; --lockup-cap:.752em; --lockup-adv:6.708em; }    
  #loadOverlay .lo-bar{ width:220px; height:4px; border-radius:3px; background:rgba(255,255,255,.1); overflow:hidden; margin:0 auto 12px; }
  #loadOverlay .lo-bar span{ display:block; width:38%; height:100%; background:var(--accent); border-radius:3px; animation:loSlide 1.1s ease-in-out infinite; }
  #loadOverlay .lo-txt{ font-size:13px; color:var(--muted); letter-spacing:.02em; text-align:center; }
  @keyframes loSlide{ 0%{ transform:translateX(-120%); } 100%{ transform:translateX(320%); } }
  





  body.bootgate:not(.booted) :is(.play,#pvTop,#pvCap,#pvIsland,#viewCtl,#cfgTop,#cfgBar,#introTop,#introPanel,#buildPanel,#projPanel,#guidePanel,#delivPanel,#aboutPanel){ visibility:hidden !important; }
  




  body.bootfailed #c{ visibility:hidden !important; }
   
  body.builderdeploy .side, body.builderdeploy .hud{ display:none !important; }    
  body.builderdeploy #bBack, body.builderdeploy #bExit, body.builderdeploy #bDeploy{ display:none; }    
  body.builderdeploy #builderTgl, body.preview #builderTgl, body.builder #builderTgl, body.config #builderTgl, body.deliv #builderTgl, body.guide #builderTgl, body.projects #builderTgl{ display:none; }    
  #mbExit{ display:none; position:fixed; left:12px; bottom:12px; z-index:60; padding:8px 13px; background:rgba(27,27,27,.92); border:1px solid var(--line); border-radius:var(--r-control); color:var(--muted); cursor:pointer; font:inherit; font-size:12px; backdrop-filter:blur(6px); }
  #mbExit:hover{ color:var(--link); border-color:var(--accent); }
  body.mbuilder #mbExit{ display:inline-flex; align-items:center; }    
   
  body.config .side, body.config .hud, body.config #buildPanel, body.config .play{ display:none !important; }
  body.config #cfgBar{ display:flex; }
   
  body.projects .side, body.projects .play, body.projects .hud, body.projects .gizmo,
  body.projects #c, body.projects .weave, body.projects .weaveGlow, body.projects #orientBar, body.projects #orTop,
  body.projects #pvTop, body.projects #pvCap, body.projects #buildPanel, body.projects #guidePanel, body.projects #cfgBar, body.projects #treePanel{ display:none !important; }
  body.projects #projPanel{ display:flex; flex-direction:column; position:absolute; inset:0; z-index:10; background:var(--bg); overflow:auto; }
  body.projects #projHd{ margin-top:0; text-align:left; }
  body.projects #projTiles{ margin-bottom:0; }
   
  body.deliv .side, body.deliv .play, body.deliv .hud, body.deliv .gizmo, body.deliv #c, body.deliv .weave, body.deliv .weaveGlow, body.deliv #orientBar, body.deliv #buildPanel, body.deliv #guidePanel, body.deliv #cfgBar, body.deliv #pvTop, body.deliv #pvCap, body.deliv #projPanel{ display:none !important; }
  body.deliv #delivPanel{ display:flex; flex-direction:column; position:absolute; inset:0; z-index:10; background:var(--bg); overflow:auto; }
   
  body.about .side, body.about .play, body.about .hud, body.about .gizmo, body.about #c, body.about .weave, body.about .weaveGlow, body.about #orientBar, body.about #buildPanel, body.about #guidePanel, body.about #delivPanel, body.about #cfgBar, body.about #pvTop, body.about #pvCap, body.about #projPanel{ display:none !important; }
  body.about #aboutPanel{ display:flex; flex-direction:column; position:absolute; inset:0; z-index:10; background:var(--bg); overflow:auto; }
  body.guide .side, body.guide .play, body.guide .hud, body.guide .gizmo, body.guide #c, body.guide .weave, body.guide .weaveGlow, body.guide #orientBar, body.guide #buildPanel, body.guide #delivPanel, body.guide #cfgBar, body.guide #pvTop, body.guide #pvCap, body.guide #projPanel{ display:none !important; }
  body.guide #guidePanel{ display:flex; flex-direction:column; position:absolute; inset:0; z-index:10; background:var(--bg); overflow:auto; }
  body.guide:not(.builderdeploy) .builder-page-top{ min-height:42px; padding-top:10px; padding-bottom:10px; }    
   
  #delivBody, #guideBody, .builder-page-body{ max-width:var(--builder-page-max); width:100%; margin:0 auto; padding:var(--builder-page-body-top) var(--builder-page-pad-x) calc(44px + env(safe-area-inset-bottom, 0px)); box-sizing:border-box; display:flex; flex-direction:column; gap:28px; }
  




  #delivBody, #aboutBody{ display:grid; grid-template-columns:minmax(0,816fr) minmax(0,404fr); gap:16px; align-items:start; }
  


  #delivBody:not(:has(.delivcol-side)){ grid-template-columns:minmax(0,1fr); }
  #delivBody .delivcol-side[hidden], #delivBody .delivsec[hidden]{ display:none; }    
  #delivBody:has(> .delivcol-side[hidden]){ grid-template-columns:minmax(0,1fr); }
  :is(#delivBody,#aboutBody) .delivcol{ min-width:0; display:flex; flex-direction:column; gap:16px; }
  .delivsec{ min-width:0; display:flex; flex-direction:column; overflow:hidden; }    
  


  .delivsec > .delivhead{ flex:0 0 auto; padding:13px 15px 14px; display:flex; flex-direction:column; gap:5px; }
  .delivsec > .delivhead h3{ margin:0; justify-content:space-between; }
  .delivsec h3{ font-size:13px; font-weight:700; color:var(--txt); margin:0 0 10px; display:flex; align-items:baseline; gap:9px; }

  .delivsec h3 .delivc{ font-family:var(--mono); font-size:12px; color:var(--low); font-weight:500; }
  .delivnote{ font-size:12.5px; color:var(--muted); line-height:1.55; }
  




  .delivmiss{ margin-top:12px; padding:0 10px; font-size:12.5px; color:var(--muted); line-height:1.55; }    
  tr.pkgmissing td, tr.pkgmissing td.filescell a{ color:var(--muted); }
  .pkgmissing-note{ margin-left:10px; color:var(--bad-rest); font-family:var(--mono); font-size:11px; }
  .action-details{ border:1px solid var(--bad-rest); border-radius:var(--r-surface); background:var(--bad-fill); margin-top:10px; overflow:hidden; }
  .action-details summary{ cursor:pointer; display:flex; align-items:baseline; gap:9px; padding:10px 12px; color:var(--txt); }
  .action-details summary b{ font-size:12px; }
  .action-details summary span{ color:var(--muted); font-size:12px; }
  .action-details-body{ border-top:1px solid rgba(239,83,80,.22); padding:10px 12px; display:flex; flex-direction:column; gap:8px; }
  .action-details-row{ display:grid; grid-template-columns:minmax(0,1fr); gap:2px; align-items:start; }    
  .action-details-row span{ color:var(--low); font:700 10px/1.2 var(--mono); text-transform:uppercase; }
  .action-details-row code{ min-width:0; overflow-wrap:anywhere; color:var(--txt); font:600 11px/1.35 var(--mono); }
  .action-details-actions{ display:flex; justify-content:flex-start; }
  #bomNote{ margin-bottom:10px; }
  


  #pkgList, #aboutVersions{ display:flex; flex-direction:column; }
  :is(#pkgList,#aboutVersions) .pkgrow{ display:flex; align-items:baseline; justify-content:space-between; gap:12px;
    padding:9px 15px; border-top:1px solid var(--line); font-size:13px; color:var(--txt); }
  :is(#pkgList,#aboutVersions) .pkgrow span{ flex:0 0 auto; color:var(--low); font-family:var(--mono); font-size:11px; }
  #aboutVersions .pkgrow span{ color:var(--accent); }    
  #aboutLicences table.bom td.qty{ max-width:none; }    
  #aboutLicences .about-ver{ margin-left:6px; font-family:var(--mono); font-size:11px; color:var(--low); }
  

  #pkgList .pkgfolder{ gap:8px; justify-content:flex-start; }
  #pkgList .pkgfolder > svg{ flex:0 0 auto; width:12px; height:12px; color:var(--low); }
  #pkgList .pkgfolder > span{ margin-left:auto; }
  #pkgList .pkgrow:not(.pkgfolder){ padding-left:35px; }
  

  #pkgSec .cfgdone{ flex:0 0 auto; align-self:stretch; margin:0; padding:15px; border:0; border-radius:0;
    border-top:1px solid var(--primary-hi); background:var(--primary); color:var(--txt);
    font:600 15px/inherit inherit; font-family:inherit; cursor:pointer; transition:background .12s; }
  #pkgSec .cfgdone{ display:flex; align-items:center; justify-content:center; gap:9px; }    
  #pkgSec .cfgdone > svg{ flex:0 0 auto; width:15px; height:15px; }
  #pkgSec .cfgdone:hover:not(:disabled){ background:var(--primary-hi); }
  #pkgSec .cfgdone:disabled{ opacity:.5; cursor:default; }
  







  #pkgSec .dlpack{ flex:0 0 auto; display:grid; grid-template-rows:0fr; transition:grid-template-rows .3s cubic-bezier(.2,.8,.2,1); }
  #pkgSec .dlpack:has(.dlprog:not(:empty)){ grid-template-rows:1fr; border-top:1px solid var(--line); }
  #pkgSec .dlpack > .dlpack-in{ min-height:0; overflow:hidden; }
  #pkgSec .dlrail{ height:7px; position:relative; margin:12px 15px 0; overflow:hidden;
    background:#1c1c1c; box-shadow:inset 0 1px 0 rgba(0,0,0,.55); }
  #pkgSec .dlrail > i{ position:absolute; inset:0; background:#9674cb;
    clip-path:inset(0 calc(100% - var(--dl-progress, 0%)) 0 0); transition:clip-path .42s cubic-bezier(.2,.8,.2,1); }
  


  #pkgSec .dlrail.creep > i{ transition:clip-path 9s cubic-bezier(.15,.85,.3,1); }
  #pkgSec .dlprog{ display:block; padding:10px 15px; }
  #pkgSec .dlprog:empty{ padding:0 15px; }
  



  @media(max-width:980px){
    #delivBody, #aboutBody{ grid-template-columns:minmax(0,1fr); }
    :is(#delivBody,#aboutBody) .delivcol-side{ order:-1; }
  }
  #filesSec .dlrow{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin-top:12px; }

  #filesSec .dlbtn{ border:1px solid var(--primary-hi); border-radius:var(--r-control); padding:11px 18px; font:inherit; font-size:15px; font-weight:600; cursor:pointer; transition:background .12s; }    
  #filesSec .dlbtn:hover:not(:disabled){ background:var(--primary-hi); }
  #filesSec .dlbtn:focus-visible{ outline:none; box-shadow:0 0 0 2px var(--accent); }
  #filesSec .dlprog{ font-size:12.5px; color:var(--link); font-family:var(--mono); min-height:1em; }
  table.bom{ width:100%; border-collapse:collapse; }
  table.bom th{ text-align:left; padding:6px 10px; border-bottom:1px solid var(--line); }    
  table.bom td{ font-size:13px; color:var(--txt); padding:9px 10px; border-bottom:1px solid var(--line); vertical-align:top; }
  table.bom td.qty{ font-family:var(--mono); color:var(--accent); max-width:8ch; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  table.bom td.filescell{ white-space:nowrap; text-align:right; width:1%; }
  table.bom a{ color:var(--link); text-decoration:none; white-space:nowrap; }
  table.bom a:hover{ text-decoration:underline; }
  


  table.bom a:has(svg){ display:inline-flex; align-items:center; gap:6px; vertical-align:bottom; }
  table.bom a > svg{ flex:0 0 auto; width:12px; height:12px; }
  table.bom a:hover > svg{ text-decoration:none; }
  .bomcat{ margin-bottom:10px; overflow:hidden; }
  


  .delivsec .bomcat{ margin:0; border:0; border-radius:0; background:transparent; border-top:1px solid var(--line); }
  .delivsec .bomcat > summary{ padding:11px 15px; }
  .delivsec .bomcat table.bom td:first-child{ padding-left:15px; }
  .delivsec .bomcat table.bom td:last-child{ padding-right:15px; }
  






  .delivsec{ container-type:inline-size; }
  @container (max-width:600px){
    table.bom, table.bom > tbody{ display:block; }
    table.bom thead{ position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
    table.bom tr{ display:flex; flex-direction:column; gap:5px; padding:10px; border-bottom:1px solid var(--line); }
    .delivsec .bomcat table.bom tr{ padding:10px 15px; }
    .bomkitlist > table.bom tr, .delivsec .bomcat .bomkitlist > table.bom tr{ padding:9px 0 9px 12px; }
    table.bom td, table.bom td:first-child, table.bom td:last-child,
    .bomcat table.bom td:first-child, .bomcat table.bom td:last-child,
    .delivsec .bomcat table.bom td:first-child, .delivsec .bomcat table.bom td:last-child,
    .bomkitlist > table.bom td:first-child{ padding:0; border:0; }
    table.bom tr:last-child{ border-bottom:none; }
    table.bom td:not(.qty):not(.filescell){ order:1; min-width:0; overflow-wrap:break-word; }
    table.bom td.filescell{ order:2; width:auto; text-align:left; white-space:normal; display:flex; flex-wrap:wrap; column-gap:14px; row-gap:4px; }
    table.bom td.filescell:empty{ display:none; }
    table.bom td.qty{ order:3; max-width:none; overflow:visible; font-size:11px; color:var(--low); }
     
    table.bom tr.bomkit{ flex-direction:row; align-items:baseline; gap:10px; }
    table.bom tr.bomkit > td.qty{ order:0; flex:0 0 auto; font-size:13px; color:var(--accent); }
    table.bom tr.bomkit > td:not(.qty){ flex:1 1 auto; }
  }
  .bomcat > summary{ list-style:none; cursor:pointer; display:flex; align-items:center; gap:10px; padding:11px 14px; font-size:13px; font-weight:600; color:var(--txt); }
  .bomcat > summary::-webkit-details-marker{ display:none; }
  .bomcat > summary::before{ content:'▸'; color:var(--accent); font-size:11px; transition:transform .15s ease; }
  .bomcat[open] > summary::before{ transform:rotate(90deg); }
  

  .bomcat .bccount{ margin-left:auto; font-family:var(--mono); font-size:11px; color:var(--low); font-weight:500; }
    
  .bomcat[open] table.bom{ border-top:1px solid var(--line); }
  .bomcat table.bom td:first-child{ padding-left:14px; } .bomcat table.bom td:last-child{ padding-right:14px; }
  .bomcat table.bom tr:last-child td{ border-bottom:none; }
   
  .bomkitlist > summary{ list-style:none; cursor:pointer; display:flex; align-items:baseline; gap:10px; flex-wrap:wrap; }
  .bomkitlist > summary::-webkit-details-marker{ display:none; }
  .bomkitlist > summary::before{ content:'▸'; color:var(--accent); font-size:10px; transition:transform .15s ease; }
  .bomkitlist[open] > summary::before{ transform:rotate(90deg); }
  .bomkitlist .kitname{ font-weight:600; color:var(--txt); }
  .bomkitlist .kitcount{ margin-left:auto; font-family:var(--mono); font-size:11px; color:var(--low); }
  .bomkitlist > table.bom{ margin:8px 0 2px; border-left:2px solid var(--line); }
  .bomkitlist > table.bom td:first-child{ padding-left:12px; }
  .preflight-sec{ margin-bottom:14px; }
  .preflight-sec .pft{ margin-bottom:6px; }    
  .preflight-sec ul{ margin:0; padding:0; list-style:none; display:flex; flex-direction:column; gap:6px; }    
  .preflight-sec li{ display:grid; grid-template-columns:auto minmax(0,1fr); align-items:start; gap:10px; padding:10px 12px; background:var(--panel2); border:1px solid var(--line); border-radius:var(--r-surface); font-size:13px; color:var(--muted); line-height:1.55; }
  .preflight-sec li .tick{ width:8px; height:14px; margin-top:3px; border-radius:3px; background:rgba(169,133,221,.55); }    
  .preflight-sec li span{ min-width:0; overflow-wrap:anywhere; }
  .guide-main{ display:block; width:100%; min-width:0; }
  .guide-validation-summary{ border:1px solid var(--bad-rest); border-radius:var(--r-surface); background:var(--bad-fill); padding:10px 12px; margin-top:12px; color:var(--txt); }
  .guide-validation-summary b{ display:block; font-size:12px; margin-bottom:6px; }
  .guide-validation-summary ul{ margin:0; padding-left:18px; color:var(--muted); font-size:12px; line-height:1.55; }
  .guidetile .cover{ background:radial-gradient(ellipse at 44% 45%, #17131f 0%, #0c0b10 72%) !important; display:block !important; font-size:0 !important; }
  .cover.guidecover > *{ position:absolute; z-index:0; }
  .cover.guidecover .qline{ left:13%; right:13%; height:7%; border-radius:3px; background:rgba(255,255,255,.10); }
  .cover.guidecover .q1{ top:18%; right:34%; } .cover.guidecover .q2{ top:33%; right:24%; } .cover.guidecover .q3{ top:48%; right:42%; }
  .cover.guidecover .choice{ left:13%; width:24%; height:11%; border-radius:3px; background:rgba(255,255,255,.065); }
  .cover.guidecover .c1{ top:66%; } .cover.guidecover .c2{ top:66%; left:41%; background:rgba(116,80,182,.50); box-shadow:0 0 0 1px rgba(169,133,221,.22); } .cover.guidecover .c3{ top:66%; left:69%; }
  .cover.guidecover .route{ left:23%; right:23%; top:84%; height:5%; border-radius:3px; background:rgba(169,133,221,.36); }
  .delivtile .cover{ background:linear-gradient(135deg, rgba(116,80,182,.4), rgba(169,133,221,.1)); display:flex; align-items:center; justify-content:center; font-size:32px; }
  .projtile .projectcover{ display:flex; align-items:center; justify-content:center; font:700 40px/1 var(--mono); color:rgba(32,28,38,.62); }
  .project-thumb-fallback{ position:relative; z-index:0; }
  .project-thumb{ position:absolute; inset:0; z-index:0; width:100%; height:100%; display:block; object-fit:cover; }
   
  

























  










  body.builderdeploy .builder-page-top{ --builder-header-ctl:32px; --builder-header-pad-x:22px; --builder-header-pad-y:calc((var(--header-h) - 1px - var(--builder-header-ctl)) / 2); height:var(--header-h); min-height:var(--header-h); box-sizing:border-box; padding:var(--builder-header-pad-y) var(--builder-header-pad-x); grid-template-columns:minmax(max-content,1fr) auto minmax(max-content,1fr); align-items:center; gap:12px; border-bottom:1px solid transparent; }    
  body.builderdeploy .builder-page-top:not(.floatbar){ display:grid; }    
  body.builderdeploy .builder-page-top > .ttl{ grid-column:1; justify-self:start; min-width:0; }
  body.builderdeploy .builder-page-top > .journey{ grid-column:2; justify-self:center; }
  body.builderdeploy .builder-page-top > .acts{ grid-column:3; justify-self:end; }
  body.builderdeploy .builder-page-top:not(.floatbar){ background:var(--glass); border-bottom-color:var(--line); }
  




  body.builderdeploy .builder-page-top.floatbar{ overflow-x:hidden; overflow-y:auto; scrollbar-gutter:auto; scrollbar-width:thin; scrollbar-color:transparent transparent; background:transparent; border-bottom-color:transparent; }
  body.builderdeploy :is(#buildPanel,#projPanel,#delivPanel,#aboutPanel,#guidePanel){ overflow-x:hidden; overflow-y:auto; scrollbar-gutter:stable; }
  body.builderdeploy .builder-page-top .t-title{ display:flex; align-items:center; gap:8px; }
  body.builderdeploy .builder-page-top .journey{ position:static; left:auto; top:auto; transform:none; gap:7px; }    
  body.builderdeploy .builder-page-top .journey .jn{ padding-top:0; }
  body.builderdeploy .builder-page-top .journey .jsep{ width:18px; }
  @media(max-width:1018px){ body.builderdeploy .builder-page-top .journey .jsep{ width:8px; } }    
  
















  



  @media(max-width:1573px){
    body.builderdeploy:is(.config,.preview,.intro) .builder-page-top .jstep:not(.active) .jlbl{ display:none; }
    body.builderdeploy:is(.config,.preview,.intro) .builder-page-top .journey .jsep{ width:8px; }
  }
  @media(min-width:901px) and (max-width:1291px){
    body.builderdeploy .builder-page-top.floatbar:not(:has(> .island-corner))::after{ content:''; grid-column:3; min-width:474px; pointer-events:none; }    
  }
  


  @media(max-width:1024px){ body.builderdeploy:is(.config,.preview,.intro) .builder-page-top .journey{ display:none; } }    
  

  @media(max-width:760px){
    body.builderdeploy .builder-page-top{ --builder-header-pad-x:16px; grid-template-columns:minmax(0,1fr) auto auto; }    
    body.builderdeploy .builder-page-top > .ttl{ min-width:0; overflow:hidden; }
  }
  body.builderdeploy .builder-page-top .acts{ position:static; right:auto; top:auto; width:auto; min-width:0; margin-left:0; flex-wrap:nowrap; justify-content:flex-end; transform:none; }    
  body.builderdeploy .builder-page-top .acts .b{ flex:0 0 auto; }

  body.builderdeploy :is(#buildHd,#guideHd,#delivHd,#aboutHd,#projHd){ padding-top:18px; }
  body.builderdeploy :is(#buildHd,#guideHd,#delivHd,#aboutHd) .crumbs{ gap:9px; margin-bottom:11px; }
  body.builderdeploy :is(#buildHd,#guideHd,#delivHd,#aboutHd) .crumbs .clink{ display:flex; align-items:center; gap:7px; height:30px; padding:0 4px 0 0; }    
  



  body.builderdeploy :is(#buildHd,#guideHd,#delivHd,#aboutHd) .crumbs .clink:first-child::before{ content:'\2039'; color:#b99ae6; font-size:13px; font-weight:500; }
  body.builderdeploy :is(#buildHd,#guideHd,#delivHd,#aboutHd) .crumbs .csep{ font-size:0; }
  body.builderdeploy :is(#buildHd,#guideHd,#delivHd,#aboutHd) .crumbs .csep::before{ content:'/'; color:rgba(255,255,255,.28); font-size:12px; }
  body.builderdeploy :is(#buildHd,#guideHd,#delivHd,#aboutHd,#projHd) .k{ display:flex; align-items:center; gap:14px; }    
  body.builderdeploy :is(#buildHd,#guideHd,#delivHd,#aboutHd,#projHd) .k::after{ content:''; flex:1; height:1px; background:linear-gradient(to right,rgba(169,133,221,.34),rgba(255,255,255,.06) 40%,rgba(255,255,255,.05)); }
  body.builderdeploy.builder #buildTiles{ padding-top:18px; }

  body.builderdeploy.builder #buildTiles :is(.guidetile,.cfgtile,.delivtile){ position:relative; min-height:76px; background:var(--panel); border-color:var(--line); border-radius:var(--r-surface); box-shadow:none; transform:none; transition:transform .22s cubic-bezier(.2,.8,.2,1),border-color .22s cubic-bezier(.2,.8,.2,1); }    
  body.builderdeploy.builder #buildTiles :is(.guidetile,.cfgtile,.delivtile):hover{ border-color:rgba(169,133,221,.42); box-shadow:none; transform:translateY(-2px); }    
  body.builderdeploy.builder #buildTiles :is(.guidetile,.cfgtile,.delivtile) .cover{ display:none !important; }
  body.builderdeploy.builder #buildTiles :is(.guidetile,.cfgtile,.delivtile) .body{ position:relative; min-height:76px; padding:13px 100px 13px 15px; display:grid; grid-template-columns:20px minmax(0,1fr); grid-template-rows:auto auto; align-content:center; column-gap:15px; row-gap:4px; }
  body.builderdeploy.builder #buildTiles :is(.guidetile,.cfgtile,.delivtile) .body::before{ content:''; grid-column:1; grid-row:1/3; align-self:center; width:20px; height:20px; background-repeat:no-repeat; }
  body.builderdeploy.builder #buildTiles .guidetile .body::before{ background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Crect x='0' y='1' width='20' height='3' rx='1.5' fill='white' fill-opacity='.34'/%3E%3Crect x='0' y='8' width='12' height='4' rx='2' fill='white' fill-opacity='.72'/%3E%3Crect x='0' y='16' width='16' height='3' rx='1.5' fill='white' fill-opacity='.34'/%3E%3C/svg%3E"); }
  body.builderdeploy.builder #buildTiles .cfgtile .body::before{ background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Crect x='0' y='3' width='20' height='3' rx='1.5' fill='white' fill-opacity='.34'/%3E%3Crect x='11' y='0' width='6' height='9' rx='2' fill='white' fill-opacity='.72'/%3E%3Crect x='0' y='14' width='20' height='3' rx='1.5' fill='white' fill-opacity='.34'/%3E%3Crect x='3' y='11' width='6' height='9' rx='2' fill='white' fill-opacity='.72'/%3E%3C/svg%3E"); }
  body.builderdeploy.builder #buildTiles .delivtile .body::before{ background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Crect x='8.5' y='0' width='3' height='11' rx='1.5' fill='white' fill-opacity='.72'/%3E%3Cpath d='M14.5 5.5v8h-8' transform='rotate(45 10.5 9.5)' fill='none' stroke='white' stroke-opacity='.72' stroke-width='3' stroke-linecap='butt' stroke-linejoin='round'/%3E%3Crect x='0' y='17' width='20' height='3' rx='1.5' fill='white' fill-opacity='.34'/%3E%3C/svg%3E"); }
  body.builderdeploy.builder #buildTiles :is(.guidetile,.cfgtile,.delivtile) .nm{ grid-column:2; grid-row:1; min-width:0; color:var(--txt); font-size:14px; font-weight:600; line-height:1.25; }
  body.builderdeploy.builder #buildTiles :is(.guidetile,.cfgtile,.delivtile) .meta{ grid-column:2; grid-row:2; min-width:0; color:var(--low); font-size:12px; line-height:1.4; }
  body.builderdeploy.builder #buildTiles :is(.guidetile,.cfgtile,.delivtile) .facts{ display:none; }
  body.builderdeploy.builder #buildTiles :is(.guidetile,.cfgtile,.delivtile) .pv{ position:absolute; right:18px; top:50%; width:auto; min-width:0; min-height:0; height:auto; margin:0; padding:0; transform:translateY(-50%); background:transparent; border:0; border-radius:0; color:#b99ae6; font-size:12.5px; font-weight:500; transition:color .22s cubic-bezier(.2,.8,.2,1); }
  body.builderdeploy.builder #buildTiles :is(.guidetile,.cfgtile,.delivtile):hover .pv{ background:transparent; border:0; color:#cdb9ef; }
  

  .buildentry{ display:contents; }
  







  body.builderdeploy.builder #buildTiles > .buildentry{ grid-column:1/-1; display:grid;
    grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),1fr)); gap:16px; align-items:stretch; }

  


  body.builderdeploy :is(.stagetile,.projtile){ --tile-ring:0 0 0 0 transparent; --tile-elev:0 0 0 0 transparent; --tile-tint:0 0 0 0 transparent; position:relative; background:var(--panel); border-color:var(--line); border-radius:var(--r-surface); box-shadow:var(--tile-ring), var(--tile-elev), var(--tile-tint); transition:transform .22s cubic-bezier(.2,.8,.2,1),border-color .22s cubic-bezier(.2,.8,.2,1),box-shadow .22s cubic-bezier(.2,.8,.2,1); }
  body.builderdeploy .stagetile:is(.done,.inprogress), body.builderdeploy .projtile:not(.locked,.ready){ border-color:rgba(255,255,255,.12); --tile-elev:0 2px 10px rgba(0,0,0,.34); --tile-tint:0 8px 22px -10px rgba(116,80,182,.24); }
  body.builderdeploy .stagetile:is(.done,.inprogress):hover, body.builderdeploy .projtile:not(.locked,.ready):hover{ --tile-tint:0 16px 34px -12px rgba(116,80,182,.34); }
  

  body.builderdeploy :is(.stagetile,.projtile).ready{ border-color:var(--line); --tile-elev:0 2px 10px rgba(0,0,0,.34); --tile-tint:0 12px 30px -12px rgba(116,80,182,.4); }
  body.builderdeploy :is(.stagetile,.projtile).ready:hover{ --tile-tint:0 18px 40px -14px rgba(116,80,182,.5); }
  body.builderdeploy :is(.stagetile,.projtile).ready::before{ content:''; position:absolute; inset:0; z-index:6; border-radius:var(--r-surface); padding:1px; background:linear-gradient(180deg,rgba(169,133,221,.62),rgba(169,133,221,.14) 34%,rgba(255,255,255,.05)); -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0); -webkit-mask-composite:xor; mask-composite:exclude; pointer-events:none; }
  body.builderdeploy :is(.stagetile,.projtile):focus-visible{ --tile-ring:0 0 0 2px var(--accent); }    
  body.builderdeploy :is(.stagetile:not(.seqlocked),.projtile:not(.locked)):hover{ transform:translateY(-2px); }    
  body.builderdeploy :is(.stagetile,.projtile) .cover{ aspect-ratio:4/3; }    
  body.builderdeploy :is(.stagetile,.projtile) .cover::before{ opacity:.10; }    
  body.builderdeploy .stagetile .stage-thumb::before{ display:none; }    
  



  body.builderdeploy :is(.stagetile,.projtile) .cover{ border-bottom:0; }    
  body.builderdeploy .stagetile.seqlocked .cover::after{ background:var(--cover-scrim),rgba(9,8,11,.26); }
  body.builderdeploy :is(.stagetile,.projtile) :is(.stage-thumb,.project-thumb){ position:absolute; inset:0; z-index:1; width:100%; height:100%; display:block; object-fit:cover; background-position:center; background-size:cover; background-repeat:no-repeat; transition:transform .5s cubic-bezier(.2,.7,.2,1),filter .18s ease; }
  body.builderdeploy :is(.stagetile:not(.seqlocked),.projtile:not(.locked)):hover :is(.stage-thumb,.project-thumb){ transform:scale(1.035); }
  body.builderdeploy .projtile .project-thumb-fallback{ z-index:1; }
  body.builderdeploy .stagetile.seqlocked{ filter:none; }    
  body.builderdeploy .stagetile.seqlocked:hover{ filter:none; transform:none; border-color:var(--line); box-shadow:none; }
  body.builderdeploy .stagetile.seqlocked .cover{ filter:grayscale(.75) brightness(.62); }    
  body.builderdeploy :is(.stagetile,.projtile) .body{ min-height:155px; padding:13px 15px 0; display:grid; column-gap:15px; row-gap:0; }
  body.builderdeploy .stagetile .body{ grid-template-columns:38px minmax(0,1fr); grid-template-rows:auto auto auto minmax(0,1fr) 44px; }    
  body.builderdeploy .stagetile .nm{ display:contents; }
  



  body.builderdeploy .stagetile .nm .ix{ grid-column:1; grid-row:1/4; width:38px; align-self:start; margin-top:-1px; color:rgba(255,255,255,.8); font:500 30px/1 var(--mono); letter-spacing:0; }    
  body.builderdeploy :is(.stagetile,.projtile) .nm .gname{ color:var(--txt); font-size:15px; font-weight:600; line-height:1.3; overflow:visible; text-overflow:clip; white-space:normal; text-wrap:pretty; }
  body.builderdeploy .stagetile .nm .gname{ grid-column:2; grid-row:1; }
  body.builderdeploy .stagetile.done .nm .gname::after{ content:none; }
  body.builderdeploy :is(.stagetile,.projtile) .meta{ margin-top:7px; padding:0; color:var(--low); font-size:12px; line-height:1.4; white-space:normal; }
  body.builderdeploy .stagetile .meta{ grid-column:2; grid-row:2; }
  body.builderdeploy :is(.stagetile,.projtile) .facts{ margin-top:7px; padding:0; color:var(--low); font:400 11px/1 var(--mono); }
  body.builderdeploy .stagetile .facts{ grid-column:2; grid-row:3; }
  body.builderdeploy .stagetile .chip{ position:absolute; top:11px; right:11px; z-index:4; display:flex; align-items:center; gap:6px; padding:4px 9px; border-radius:var(--r-chip); background:rgba(8,9,11,.72); border:1px solid rgba(255,255,255,.16); color:rgba(255,255,255,.82); font:500 10px/1.3 var(--mono); letter-spacing:.05em; text-transform:uppercase; }
  body.builderdeploy .stagetile.done .chip{ border-color:rgba(150,116,203,.62); color:#b99ae6; }
  body.builderdeploy .stagetile.done .chip::before{ content:'\2713'; font-size:11px; font-weight:700; line-height:1; }
  body.builderdeploy .stagetile.seqlocked .chip{ border-color:rgba(255,255,255,.1); color:rgba(255,255,255,.42); }
  body.builderdeploy .stagetile.done .nm .ix{ color:#b99ae6; }
  body.builderdeploy .stagetile.inprogress .nm .ix{ color:rgba(255,255,255,.92); }
  body.builderdeploy .stagetile.seqlocked .nm .ix{ color:rgba(255,255,255,.54); }
  body.builderdeploy .stagetile.seqlocked .nm .gname{ color:rgba(255,255,255,.62); }
  body.builderdeploy .stagetile.seqlocked :is(.meta,.facts){ color:rgba(255,255,255,.3); }
  body.builderdeploy :is(.stagetile,.projtile) .pv{ width:auto; height:var(--tile-foot-h); min-height:var(--tile-foot-h); margin:0 -15px; padding:0; display:grid; place-items:center; align-self:end; justify-content:stretch; background:var(--panel2); border:0; border-top:1px solid var(--line); border-radius:0; color:var(--muted); font-size:12.5px; font-weight:500; }
  body.builderdeploy .stagetile .pv{ grid-column:1/-1; grid-row:5; }
  body.builderdeploy :is(.stagetile,.projtile).ready .pv, body.builderdeploy :is(.stagetile,.projtile).ready:hover .pv,
  .dev-pointer body.builderdeploy #projTiles.noproject .projtile:hover .pv{ background:var(--lit); box-shadow:var(--lit-edge); border-color:#9674cb; color:#fff; font-weight:600; }    
  





  body.builderdeploy .stagetile.done .pv, body.builderdeploy .stagetile.done:hover .pv{ background:var(--panel2); border-color:var(--line); color:var(--muted); }
  body.builderdeploy .stagetile.inprogress .pv, body.builderdeploy .stagetile.inprogress:hover .pv{ background:var(--panel2); border-color:var(--line); color:#b99ae6; }
  body.builderdeploy :is(.stagetile.seqlocked,.projtile.locked) .pv{ background:var(--code); border-color:var(--line); color:var(--low); }    
  



  body.builderdeploy .stagetile.seqlocked .pv, body.builderdeploy .stagetile.seqlocked:hover .pv{ font-size:0; line-height:0; align-content:center; }
  body.builderdeploy .stagetile.seqlocked .pv::before{ content:'Locked'; font-size:12.5px; line-height:20px; }

  body.builderdeploy .projtile .body{ grid-template-columns:minmax(0,1fr); grid-template-rows:auto auto minmax(0,1fr) 44px; }
  body.builderdeploy .projtile .nm{ grid-column:1; grid-row:1; min-width:0; display:block; }
  body.builderdeploy .projtile .nm .gname{ display:block; }
  body.builderdeploy .projtile .meta{ grid-column:1; grid-row:2; }
  body.builderdeploy .projtile .facts{ grid-column:1; grid-row:3; }
  body.builderdeploy .projtile .pv{ grid-column:1; grid-row:4; }
  



  body.builderdeploy #projTiles:has(> .projtile:nth-child(-n+3):last-child){ flex:1 0 auto; align-content:center; justify-content:center; grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),400px)); }
  @media(max-width:560px){
    body.builderdeploy.builder #buildTiles :is(.guidetile,.cfgtile,.delivtile) .body{ padding-right:88px; }
    body.builderdeploy.builder #buildTiles :is(.guidetile,.cfgtile,.delivtile) .pv{ right:14px; }
  }
   
  


  #cfgBar{ --cfg-island-w:380px; --cfg-island-gap:16px; display:none; flex-direction:column; position:absolute; z-index:11; top:16px; right:16px; bottom:16px; left:auto; margin:0; width:var(--cfg-island-w);    
    box-shadow:var(--elev-float); overflow:hidden; transition:transform 220ms ease; }    
  












  :is(#cfgBar,body.builderdeploy #pvIsland) .cfgttl{ flex:0 0 auto; border-bottom:1px solid var(--line); font-size:15px; text-transform:none; letter-spacing:0; font-weight:700; color:var(--txt); }
  #cfgBar .cfgttl{ display:flex; flex-direction:column; gap:0; padding:17px 18px 0; }    
  #cfgBar .cfgttl:not(.hastabs){ display:none; }    
  









  #cfgBar > .cfgqr{ position:absolute; top:13px; right:14px; z-index:3; }    
  .island-corner{ display:flex; align-items:center; gap:6px; }
  .island-corner .island-corner-pair{ display:flex; align-items:center; gap:6px; }    
  :is(#cfgBar,.island-corner) .cfgqr{ width:var(--ctl-icon); height:var(--ctl-icon); padding:0; display:inline-flex; align-items:center; justify-content:center; gap:7px; font:inherit; font-size:16px; line-height:1; background:var(--panel2); border:1px solid var(--line); border-radius:var(--r-control); color:var(--muted); cursor:pointer; transition:color 140ms ease, border-color 140ms ease, background 140ms ease; }    
  :is(#cfgBar,.island-corner) .cfgqr.haskbd{ width:auto; padding:0 8px; }
  .island-corner .cfgqr-label{ font:600 13px/1 var(--sans, inherit); letter-spacing:0; white-space:nowrap; }    
  .dev-touch .island-corner .cfgqr-label{ display:none; }    
  .island-corner .cfgqr-glyph{ display:inline-flex; }    
  .dev-pointer .island-corner .cfgqr.haslabel .cfgqr-glyph{ display:none; }        
  body.builderdeploy .builder-page-top:not(.floatbar) > .island-corner{ grid-column:3; justify-self:end; }    
  :is(#cfgBar,.island-corner) .cfgqr:hover{ color:var(--link); border-color:var(--accent); background:var(--wash); }
  :is(#cfgBar,.island-corner) .cfgqr svg{ width:var(--ctl-icon-mark); height:var(--ctl-icon-mark); }
  :is(#cfgBar,.island-corner) .cfgqr.on, body.stage-end .island-corner #pvExitTop{ color:var(--link); border-color:var(--accent); background:var(--wash); }    
  .island-corner .cfgqr:focus-visible{ outline:none; box-shadow:0 0 0 2px var(--accent); }    
  .dev-touch :is(#cfgBar,.island-corner) .cfgqr{ width:var(--ctl-icon-touch); height:var(--ctl-icon-touch); font-size:22px; }    
  .dev-touch :is(#cfgBar,.island-corner) .cfgqr svg{ width:calc(var(--ctl-icon-touch) * 17 / 32); height:calc(var(--ctl-icon-touch) * 17 / 32); }    
  


  


  html[data-corner-slot="header"] body.builderdeploy .builder-page-top > .island-corner{ grid-column:3; justify-self:end; pointer-events:auto; }    
  


  





















  .cfgtabs{ display:flex; flex-wrap:wrap; column-gap:20px; row-gap:2px; margin-top:-12px; }    
  .cfgtabs .cfgtab{ flex:0 1 auto; min-width:0; padding:12px 0; background:transparent; border:0; border-bottom:2px solid transparent; color:var(--muted); font:inherit; line-height:1.2; text-align:left; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; cursor:pointer; transition:color .12s, border-color .12s; }    
  .cfgtabs .cfgtab:hover{ color:var(--txt); }
  .cfgtabs .cfgtab[aria-selected="true"]{ color:var(--txt); border-bottom-color:var(--accent); }    
  .cfgtabs .cfgtab:focus-visible{ border-radius:var(--r-control); }    
  


  .cfg-selector .cs{ display:flex; flex-direction:column; flex-shrink:0; gap:7px; min-width:0; margin-bottom:13px; transition:height .3s cubic-bezier(.4,0,.2,1), margin-bottom .3s cubic-bezier(.4,0,.2,1), opacity .26s ease; }
  .cfg-selector .cs.clast{ margin-bottom:0; }
  .cfg-selector .cs.cnoanim{ transition:none; }
  .cfg-selector .cs.ccollapsed{ height:0; margin-bottom:0; opacity:0; overflow:hidden; }
   
  :is(.cfg-selector,body.builderdeploy #pvIsland :is(.cfgttl,.pvnext)) .csl{ font-size:11px; font-weight:400; text-transform:uppercase; letter-spacing:.03em; color:var(--muted); text-align:left; }    
  .cfg-selector .seg{ display:flex; gap:7px; border:0; border-radius:0; overflow:visible; }
  .cfg-selector .stab{ flex:1 1 0; text-align:center; background:transparent; color:var(--muted); border:1px solid rgba(255,255,255,.14); border-radius:var(--r-segment); padding:11px 8px; cursor:pointer; font:inherit; font-size:12.5px; line-height:1.1; white-space:nowrap; transition:color .12s, border-color .12s, background .12s; }
  .cfg-selector .stab:hover:not(:disabled){ color:var(--txt); border-color:rgba(255,255,255,.34); background:rgba(255,255,255,.03); }
  .cfg-selector .stab.on{ background:var(--wash); color:#cdb9ef; font-weight:600; border-color:var(--accent); box-shadow:none; }
  .cfg-selector .stab:disabled{ color:rgba(255,255,255,.22); background:transparent; border-color:rgba(255,255,255,.06); cursor:not-allowed; box-shadow:none; }
   
  .cfg-selector .seg.fused{ position:relative; display:flex; gap:0; border:1px solid rgba(255,255,255,.14); border-radius:var(--r-segment); overflow:hidden; background:var(--code); isolation:isolate; }
  .cfg-selector .seg.fused .segthumb{ position:absolute; box-sizing:border-box; top:0; bottom:0; left:0; width:0; z-index:0; background:var(--primary); border-radius:var(--r-segment); pointer-events:none; will-change:left,width; transition:left .3s cubic-bezier(.4,0,.2,1), width .3s cubic-bezier(.4,0,.2,1); }    
  .cfg-selector .seg.fused .segthumb::before{ content:""; position:absolute; left:50%; bottom:-16px; width:8px; height:8px; border-right:1.6px solid rgba(222,222,228,.82); border-bottom:1.6px solid rgba(222,222,228,.82); opacity:0; transform:translate(-50%,-3px) rotate(45deg); pointer-events:none; filter:drop-shadow(0 1px 2px rgba(0,0,0,.55)); }
  .cfg-selector .seg.fused .segthumb::after{ content:""; position:absolute; inset:0; border-radius:inherit; background:inherit; opacity:0; pointer-events:none; }
  .cfg-selector .seg.fused .segthumb.noanim{ transition:none; }
  .cfg-selector .seg.fused.detailhint{ overflow:visible; }
  .cfg-selector .seg.fused.detailhint .segthumb::before{ animation:cfgDetailArrowHint 1.64s cubic-bezier(.22,1,.36,1) 1; }
  .cfg-selector .seg.fused.detailhint .segthumb::after{ animation:cfgThumbHint 1.64s cubic-bezier(.22,1,.36,1) 1; }
  @keyframes cfgThumbHint{ 0%,40%,50%,90%,100%{ inset:0; opacity:0; } 20%,70%{ inset:calc(-1 * var(--cfg-thumb-pulse-outset, 2px)); opacity:1; } }
  @keyframes cfgDetailArrowHint{ 0%,40%,50%,90%,100%{ opacity:0; transform:translate(-50%,-3px) rotate(45deg); } 20%,70%{ opacity:.9; transform:translate(-50%,0) rotate(45deg); } }
  .cfg-selector .seg.fused .stab{ position:relative; z-index:1; flex:1 1 0; min-width:0; text-align:center; overflow:hidden; white-space:nowrap; background:transparent; color:var(--muted); border:0; border-radius:0; padding:11px 8px; box-shadow:none; transition:flex-grow .3s cubic-bezier(.4,0,.2,1), flex-basis .3s cubic-bezier(.4,0,.2,1), padding .3s cubic-bezier(.4,0,.2,1), opacity .26s ease, color .15s ease; }
  .cfg-selector .seg.fused .stab.bnoanim{ transition:none; }    
  .cfg-selector .seg.fused .stab.bcollapsed{ flex-grow:0; flex-basis:0; padding-left:0; padding-right:0; opacity:0; pointer-events:none; }    
  .cfg-selector .seg.fused .stab:hover:not(.on):not(.bcollapsed){ color:var(--txt); }
  .cfg-selector .seg.fused .stab.on{ background:transparent; color:#fff; font-weight:600; }    
  

  .cfg-selector .seg.fused.stepper .stab{ flex:0 0 auto; width:44px; padding:11px 0; background:var(--primary); color:#fff; font-size:15px; line-height:1.1; transition:background .15s ease, color .15s ease; }    
  .cfg-selector .seg.fused.stepper .stab:hover:not(:disabled){ background:var(--primary-hi); color:#fff; }    
  .cfg-selector .seg.fused.stepper .stab:active:not(:disabled){ background:var(--primary-hi); box-shadow:inset 0 0 0 1px rgba(255,255,255,.24); }
  .cfg-selector .seg.fused.stepper .stab:disabled{ background:var(--code); color:rgba(255,255,255,.22); cursor:not-allowed; }    
  .cfg-selector .seg.fused .stepbox{ flex:1 1 0; display:flex; align-items:baseline; justify-content:center; gap:4px; min-width:0; }
  .cfg-selector .seg.fused .stepin{ width:5ch; min-width:0; background:transparent; border:0; border-radius:0; padding:11px 0; color:var(--txt); font:600 12.5px/1.1 var(--mono); font-variant-numeric:tabular-nums; text-align:center; outline:0; }    
  .cfg-selector .seg.fused .stepin:focus-visible{ color:#fff; }
  .cfg-selector .seg.fused .stepin:disabled{ color:rgba(255,255,255,.22); -webkit-text-fill-color:rgba(255,255,255,.22); opacity:1; cursor:not-allowed; }    
  .cfg-selector .seg.fused .stepbox em{ font-style:normal; font-size:11px; color:var(--low); }
  .cfg-selector .csx{ display:none; font-size:11px; color:var(--muted); margin-top:6px; line-height:1.45; }    
  .cfg-selector .cfgdetail{ max-height:0; opacity:0; overflow:hidden; margin-top:0; padding:0 11px; border:1px solid transparent; border-radius:var(--r-surface); background:rgba(255,255,255,.025); color:var(--muted); transform:translateY(-3px); transition:max-height .3s cubic-bezier(.4,0,.2,1), opacity .26s ease, margin-top .3s cubic-bezier(.4,0,.2,1), padding-top .3s cubic-bezier(.4,0,.2,1), padding-bottom .3s cubic-bezier(.4,0,.2,1), border-color .18s ease, transform .3s cubic-bezier(.4,0,.2,1); }
  .cfg-selector .cfgdetail.dnoanim{ transition:none; }
  .cfg-selector .cfgdetail.open{ max-height:220px; opacity:1; margin-top:8px; padding-top:10px; padding-bottom:11px; border-color:rgba(169,133,221,.26); transform:translateY(0); }
  .cfg-selector .cfgdt{ display:flex; align-items:baseline; justify-content:space-between; gap:10px; margin-bottom:5px; }
  .cfg-selector .cfgdt span{ font-size:10.5px; text-transform:uppercase; letter-spacing:.05em; color:var(--low); font-weight:600; }
  .cfg-selector .cfgdt b{ color:var(--link); font:600 11px/1.3 var(--mono); min-width:0; max-width:18ch; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .cfg-selector .cfgdi, .cfg-selector .cfgdb{ font-size:11.5px; line-height:1.5; }
  .cfg-selector .cfgdb{ margin-top:5px; color:var(--txt); }
  .cfg-selector .cfgdn{ margin-top:6px; font-size:11px; line-height:1.45; color:var(--muted); border-left:2px solid rgba(169,133,221,.42); padding-left:8px; }
  .cfg-selector .cfgcopybar{ display:flex; justify-content:flex-end; margin-top:8px; }
  .cfg-selector .cfgcopyedit{ appearance:none; border:1px solid var(--line); background:rgba(255,255,255,.025); color:var(--muted); border-radius:var(--r-control); padding:3px 8px; font:600 10.5px/1.2 Roboto,system-ui,sans-serif; cursor:pointer; }
  .cfg-selector .cfgcopyedit:hover{ color:var(--link); border-color:rgba(169,133,221,.35); background:rgba(169,133,221,.08); }
  .dev-touch .cfg-selector .csx{ display:block; }
  .cfg-selector .cfgrails{ display:flex; gap:10px; margin-top:9px; }
  .cfg-selector .railin{ flex:1 1 0; min-width:0; display:flex; align-items:center; gap:6px; background:var(--code); border:1px solid rgba(255,255,255,.14); border-radius:var(--r-surface); padding:8px 10px; cursor:text; transition:border-color .12s; }
  .cfg-selector .railin:focus-within{ border-color:var(--accent); }
  .cfg-selector .railin .raillbl{ font-size:11px; color:var(--muted); white-space:nowrap; }
  .cfg-selector .railin input{ flex:1 1 0; min-width:0; width:100%; background:transparent; border:0; color:var(--txt); font:13px/1 var(--mono); outline:none; -moz-appearance:textfield; }
  .cfg-selector .railin input::-webkit-outer-spin-button, .cfg-selector .railin input::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }
  .cfg-selector .railin .railsuf{ font-size:11px; color:var(--low); }
  .cfg-selector .cfgbelt{ display:block; margin-top:9px; font-size:11.5px; color:var(--link); font-family:var(--mono); }
  @media(prefers-reduced-motion:reduce){ *,*::before,*::after{ transition-duration:0.01ms !important; animation-duration:0.01ms !important; animation-iteration-count:1 !important; scroll-behavior:auto !important; } }    
  



  #cfgBar .cfgdone:hover, .timeline-view-as-panel .cfgdone:hover{ background:var(--primary-hi); }
  




















  @media (max-width:900px){
    #cfgBar:not(.island){ top:auto; right:8px; left:8px; bottom:calc(8px + env(safe-area-inset-bottom, 0px)); width:auto; max-height:min(50%, 460px); }    
  }

  

















  body.builderdeploy{ --island-inset:16px; --island-pad:15px;
    --island-max-w:380px;    
    --island-min-w:320px;    
    --island-scene-w:504px;  
    




    --island-cluster-h:58px;    
    

    --island-rail-h:7px; --island-seg-h:50px;    
    --island-foot-h:calc(1px + var(--island-rail-h) + var(--island-seg-h)); }    
  body.builderdeploy :is(#cfgBar,#pvIsland,#introCol).island{ display:none; flex-direction:column; position:absolute; z-index:11; margin:0;
    max-height:none; box-shadow:var(--elev-float); overflow:hidden; }    
  



  html[data-island-placement="sidebar"] body.builderdeploy :is(#cfgBar,#pvIsland,#introCol).island{
    top:var(--island-inset); right:var(--island-inset); bottom:var(--island-inset); left:auto;
    width:var(--island-size, var(--island-max-w)); height:auto; }
  html[data-island-placement="bottombar"] body.builderdeploy :is(#cfgBar,#pvIsland,#introCol).island{
    left:var(--island-inset); right:var(--island-inset); bottom:var(--island-inset); top:auto;
    width:auto; height:var(--island-size, 50%); }
  body.builderdeploy.config #cfgBar.island{ display:flex; }
  body.builderdeploy.preview #pvIsland.island{ display:flex; }
  body.builderdeploy.intro #introCol.island{ display:flex; }
  


  






  html[data-device="tablet"] body.builderdeploy :is(#cfgBar,#pvIsland,#introCol).island,
  html[data-device="mobile"] body.builderdeploy :is(#cfgBar,#pvIsland,#introCol).island{
    --island-inset:0px; box-sizing:border-box; padding-bottom:env(safe-area-inset-bottom, 0px); }
  








  html[data-corner-slot="island"] body.builderdeploy .island > .island-corner{ flex:0 0 auto; justify-content:space-between;
    height:var(--island-cluster-h); padding:0 14px; border-bottom:1px solid var(--line); }
  

  body.builderdeploy.preview #viewCtl{ display:none; }
  body.builderdeploy:is(.config,.preview) #viewCtl{ right:calc(14px + var(--cfg-viewctl-offset, 0px)); }    

  














  body.builderdeploy #pvIsland .cfgttl{ display:grid; grid-template-columns:auto minmax(0,1fr) auto; column-gap:0; row-gap:4px;
    align-items:baseline; align-content:start; padding:12px var(--island-pad); }
  body.builderdeploy #pvIsland .cfgttl .pvStageNo{ grid-column:1; grid-row:1; line-height:1.35; }    
  body.builderdeploy #pvIsland .cfgttl .pvStageNo:not(:empty)::after{ content:'\00a0·\00a0'; }    
  body.builderdeploy #pvIsland .cfgttl .pvStage{ grid-column:2; grid-row:1; min-width:0; line-height:1.35; }    
  body.builderdeploy #pvIsland .cfgttl .pvStep{ grid-column:3; grid-row:1; margin:0 0 0 12px; color:var(--muted); font:400 12px/1 var(--mono); font-variant-numeric:lining-nums tabular-nums; text-align:right; text-transform:none; letter-spacing:0; }    
  body.builderdeploy #pvIsland .cfgttl .pvTitle{ grid-column:1/-1; grid-row:2; margin:0; font-size:inherit; font-weight:inherit; line-height:20px; }
  










  html[data-device="desktop"] body.builderdeploy #pvIsland .cfgttl,
  html[data-device="tablet"] body.builderdeploy #pvIsland .cfgttl{ grid-template-columns:38px minmax(0,1fr) auto; column-gap:15px; row-gap:10px; padding:17px 18px 16px; }
  html[data-device="desktop"] body.builderdeploy #pvIsland .cfgttl .pvStageNo,
  html[data-device="tablet"] body.builderdeploy #pvIsland .cfgttl .pvStageNo{ width:38px; text-align:right; color:var(--accent); font:500 30px/1 var(--mono); font-variant-numeric:lining-nums tabular-nums; text-transform:none; letter-spacing:0; }
  html[data-device="desktop"] body.builderdeploy #pvIsland .cfgttl .pvStageNo::after,
  html[data-device="tablet"] body.builderdeploy #pvIsland .cfgttl .pvStageNo::after{ content:none; }    
  html[data-device="desktop"] body.builderdeploy #pvIsland .cfgttl .pvStage,
  html[data-device="tablet"] body.builderdeploy #pvIsland .cfgttl .pvStage{ line-height:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }    
  html[data-device="desktop"] body.builderdeploy #pvIsland .cfgttl .pvStep,
  html[data-device="tablet"] body.builderdeploy #pvIsland .cfgttl .pvStep{ margin:0; }    
  html[data-device="desktop"] body.builderdeploy #pvIsland .cfgttl .pvTitle,
  html[data-device="tablet"] body.builderdeploy #pvIsland .cfgttl .pvTitle{ grid-column:2/-1; font-size:17px; line-height:1.3; text-wrap:pretty; }    
  










  



  body.builderdeploy #pvIsland.nextopen .island-body::after{ content:''; display:block; flex:0 0 auto; height:var(--island-end-slack, 0px); }
  body.builderdeploy #pvIsland.nextopen .island-drawer{ margin-top:0; }    
  



  


















  .cfg-selector,
  body.builderdeploy #pvIsland .island-body{ flex:1 1 auto; min-height:0; display:flex; flex-direction:column;
    align-items:stretch; gap:0; overflow-x:hidden; overflow-y:auto; overscroll-behavior:contain; }    
  




  .cfg-selector{ padding:17px 7px 17px 17px; }
  body.builderdeploy #pvIsland .island-body{ padding:14px var(--island-pad) 16px; }    
  








  body.builderdeploy #pvIsland .pvDesc{ flex:0 0 auto; color:var(--muted); font-size:13.5px; line-height:1.65; white-space:pre-wrap; }
  body.builderdeploy #pvIsland .pvDesc:not(.on){ display:none; }    
  

















  body.builderdeploy #pvIsland .island-body > .island-mod.on ~ .island-mod.on,
  body.builderdeploy #pvIsland .island-body > .island-mod > .island-kicker{ margin-top:16px; padding-top:14px; border-top:1px solid var(--line); }
  







  

  body.builderdeploy #pvIsland .pvInstalls{ display:none; flex:0 0 auto; flex-direction:column; }
  body.builderdeploy #pvIsland .pvInstalls.on{ display:flex; }
   
  body.builderdeploy #pvIsland .pvInstalls-row{ display:grid; grid-template-columns:auto var(--pvtrack-count-w,26px) minmax(0,1fr); column-gap:9px; align-items:baseline; line-height:22px; min-height:22px; }    
  body.builderdeploy #pvIsland .pvInstalls-row + .pvInstalls-row{ margin-top:7px; }    
  body.builderdeploy #pvIsland .pvInstalls-dot{ position:relative; width:7px; height:7px; margin:7.5px 0 0; border-radius:50%; background:var(--accent); align-self:start; }    
  body.builderdeploy #pvIsland .pvInstalls-dot::after{ content:''; position:absolute; inset:-4px; border-radius:50%; border:1px solid var(--accent); opacity:var(--pv-pulse,0); }
  body.builderdeploy #pvIsland .pvInstalls-row:not(.named) .pvInstalls-dot{ visibility:hidden; }
  body.builderdeploy #pvIsland .pvInstalls .pvPart{ margin:0; color:var(--txt); font-weight:600; font-size:14px; }        
  body.builderdeploy #pvIsland .pvInstalls-row.named .pvPart{ color:var(--accent); }    
  















  body.builderdeploy #pvIsland .island-foot{ flex:0 0 auto; display:grid; grid-template-columns:1fr auto 1fr; gap:0;
    padding:0; border-top:1px solid var(--line); }
  body.builderdeploy #pvIsland .playrail{ display:block; position:relative; grid-column:1/-1; grid-row:1; height:var(--island-rail-h); margin:0;
    border-radius:0; overflow:hidden; background:var(--code); box-shadow:inset 0 1px 0 rgba(0,0,0,.55); }    
  


  #cfgBar .cfgdone, .timeline-view-as-panel .cfgdone,
  body.builderdeploy #pvIsland .island-foot > .b{ padding:15px; border:0; border-radius:0; font-size:15px; font-weight:600; cursor:pointer; }
  





  #cfgBar .cfgdone, .timeline-view-as-panel .cfgdone{ flex:0 0 auto; align-self:stretch;
    border-top:1px solid var(--primary-hi); font-family:inherit; line-height:inherit; }
  


  body.builderdeploy #pvIsland .island-foot > .b{ grid-row:2; display:flex; align-items:center; justify-content:center; gap:10px;
    height:var(--island-seg-h); min-height:var(--island-seg-h); line-height:20px; }
  body.builderdeploy #pvIsland .island-foot > .b + .b{ border-left:1px solid var(--line); }    
  body.builderdeploy #pvIsland .island-foot #prev{ flex-direction:row-reverse; }    
  body.builderdeploy #pvIsland .island-foot .pvmore{ padding:0 18px; font-size:19px; line-height:20px; }
  body.builderdeploy #pvIsland.moreopen .island-foot .pvmore{ color:var(--link); background:var(--wash); }    
  








  .dev-touch :is(.island,.island-corner) .kbd{ display:none; }
  


  .dev-touch .island .navbtn .kbd.navglyph{ display:inline; min-width:0; height:auto; padding:0; margin-left:6px; background:none; border:0; border-radius:0; box-shadow:none; font:inherit; color:inherit; }
  







  body.builderdeploy #pvIsland .island-drawer{ display:block; flex:0 0 auto; margin-top:auto; }    
  body.builderdeploy #pvIsland .island-drawer-items{ display:flex; flex-direction:column; align-items:stretch; gap:8px; margin-top:9px; }
  body.builderdeploy #pvIsland .island-drawer .b{ display:flex; align-items:center; justify-content:flex-start; min-height:44px; padding:8px 12px; font-size:13px; }
  body.builderdeploy #pvIsland .island-drawer #playLbl{ min-width:0; text-align:left; }    
  









  html[data-island-placement="bottombar"] body.builderdeploy #pvIsland .island-drawer-items{ display:grid; grid-template-columns:1fr 1fr; gap:8px; }
  










  body.builderdeploy #pvIsland .pvtrack{ display:none; flex:0 0 auto; }    
  body.builderdeploy #pvIsland .pvtrack.on{ display:block; }
  body.builderdeploy #pvIsland .pvtrack-list{ position:relative; margin:0; padding:0; list-style:none; --pvtrack-count-w:26px; }    
  







  body.builderdeploy #pvIsland .pvtrack-row{ display:grid; align-items:baseline; column-gap:9px; color:var(--txt); font-weight:400; font-size:14px; line-height:22px; }        
  body.builderdeploy #pvIsland .pvtrack-n{ color:var(--accent); font:400 14px/1 var(--mono); font-variant-numeric:lining-nums tabular-nums; text-align:right; }    
  body.builderdeploy #pvIsland .pvtrack-nm{ min-width:0; }    
  

  body.builderdeploy #pvIsland .pvtrack-link{ display:inline-block; width:12px; height:12px; margin-left:6px; vertical-align:-1px; color:var(--muted); }
  body.builderdeploy #pvIsland .pvtrack-link svg{ display:block; width:100%; height:100%; }
  


  body.builderdeploy #pvIsland .pvtrack-cart{ cursor:pointer; }
  body.builderdeploy #pvIsland .pvtrack-cart .pvtrack-nm:focus-visible{ outline:2px solid var(--accent); outline-offset:2px; border-radius:3px; }
  body.builderdeploy #pvIsland .pvtrack-chev{ display:inline-block; width:6px; height:6px; margin-left:8px; vertical-align:2px; border-right:1.5px solid var(--muted); border-bottom:1.5px solid var(--muted); transform:rotate(-45deg); transition:transform .15s ease; }
  body.builderdeploy #pvIsland .pvtrack-cart.open .pvtrack-chev{ transform:rotate(45deg); vertical-align:3px; }
  body.builderdeploy #pvIsland .pvtrack-sub{ grid-column:-2 / -1; margin:4px 0 2px; padding:0; list-style:none; }
  body.builderdeploy #pvIsland .pvtrack-subrow{ display:grid; grid-template-columns:var(--pvtrack-count-w,26px) minmax(0,1fr); column-gap:9px; align-items:baseline; color:var(--muted); font-weight:400; font-size:13px; line-height:20px; }
  body.builderdeploy #pvIsland .pvtrack-subrow .pvtrack-n{ font-size:12px; }
  









  .bomcat .bcname,
  body.builderdeploy #pvIsland .pvtrack-cat{ display:inline-block; flex:0 0 auto; padding:1px 5px;
    border:1px solid var(--line); border-radius:3px; color:var(--low); font-size:11px; font-weight:400;
    line-height:1.35; letter-spacing:.03em; text-transform:uppercase; white-space:nowrap; }
  body.builderdeploy #pvIsland .pvtrack-cat{ margin-left:7px; vertical-align:1px; }    
  








  body.builderdeploy #pvIsland .pvtrack-row{ grid-template-columns:var(--pvtrack-count-w) minmax(0,1fr); }
  body.builderdeploy #pvIsland .pvtrack-row + .pvtrack-row{ margin-top:7px; }    
  





  body.builderdeploy #pvIsland .pvtrack-row{ transition:transform .12s ease; }    
  body.builderdeploy #pvIsland .pvtrack-row.pvtrack-pushed{ transform:translate(var(--pvtrack-shift-x,0px),var(--pvtrack-shift-y,0px)); }    
  




  body.builderdeploy #pvIsland .pvtrack-row.pvtrack-fly{ position:absolute; left:0; margin:0; z-index:1; transition:none; will-change:transform; }
  body.builderdeploy #pvIsland .pvtrack-row.pvtrack-fly.pvtrack-falling{ transition:transform .2s cubic-bezier(.2,.7,.2,1), opacity .2s cubic-bezier(.2,.7,.2,1); }
  body.builderdeploy #pvIsland .pvtrack-list.pvtrack-instant .pvtrack-row{ transition:none; }    
  

















  html[data-island-columns="two"] body.builderdeploy #pvIsland .pvtrack-list{ display:grid; grid-template-columns:1fr 1fr; column-gap:14px; row-gap:7px; align-content:start; }
  html[data-island-columns="two"] body.builderdeploy #pvIsland .pvtrack-row + .pvtrack-row{ margin-top:0; }
  








  html[data-island-columns="two"] body.builderdeploy #pvIsland .pvtrack-row:nth-last-child(odd){ grid-column:1; }
  html[data-island-columns="two"] body.builderdeploy #pvIsland .pvtrack-row:nth-last-child(even){ grid-column:2; }
  html[data-island-columns="two"] body.builderdeploy #pvIsland .pvtrack-row.pvtrack-fly{ grid-column:auto; }    
  html[data-island-columns="two"] body.builderdeploy #cfgBar .cfg-selector{ display:grid; grid-template-columns:1fr 1fr; column-gap:14px; align-content:start; }    
  










  body.builderdeploy #pvIsland :is(.pvnext,.island-drawer){ display:block; flex:0 0 auto; transition:height .3s cubic-bezier(.4,0,.2,1), margin-bottom .3s cubic-bezier(.4,0,.2,1), opacity .26s ease; }    
  body.builderdeploy #pvIsland :is(.pvnext,.island-drawer).pvnoanim{ transition:none; }
  body.builderdeploy #pvIsland :is(.pvnext,.island-drawer).pvcollapsed{ height:0; margin-bottom:0; opacity:0; overflow:hidden; }
  body.builderdeploy #pvIsland .pvnext .btile{ margin-top:9px; }
  














  






























  html[data-island-placement="bottombar"] body.builderdeploy #pvIsland .pvnext .btile{ --pvnext-cover:min(50%, calc(var(--island-size) * 0.44 * 4 / 3)); display:grid; grid-template-columns:var(--pvnext-cover) 1fr; align-items:stretch; }
  html[data-island-placement="bottombar"] body.builderdeploy #pvIsland .pvnext .btile .cover{ min-width:0; align-self:start; border-bottom:0; }    
  html[data-island-placement="bottombar"] body.builderdeploy #pvIsland .pvnext .btile > .body{ min-width:0; }    
  












  html[data-island-placement="bottombar"] body.builderdeploy #pvIsland .pvnext .btile .chip{ right:calc(100% - var(--pvnext-cover) + 11px); }
  




  html[data-island-placement="bottombar"] body.builderdeploy #pvIsland .pvnext .btile .cover .bar{ top:0; bottom:auto; box-shadow:inset 0 -1px 0 rgba(0,0,0,.55), 0 1px 3px rgba(0,0,0,.55); }
  








  html[data-island-placement="sidebar"] body.builderdeploy #pvIsland .pvnext:not(.pvcollapsed){ margin-top:auto; }
  #treeTop{ display:flex; align-items:center; justify-content:space-between; gap:16px; padding:10px 18px; flex:0 0 auto; }    
  #treeTop .ttl{ display:flex; align-items:baseline; gap:10px; }
  #treeTop .ttl strong{ font-size:17px; font-weight:600; color:var(--txt); }
  #treeTop .ttl .counts{ font-variant-numeric:tabular-nums; }    
  #treeTop .leg{ display:flex; align-items:center; gap:14px; color:var(--low); font-size:12px; }
  #treeTop .leg .k{ display:inline-flex; align-items:center; gap:6px; }
  #treeTop .leg .sw{ width:17px; height:17px; border-radius:4px; border:1px solid var(--line); display:inline-flex; align-items:center; justify-content:center; font-size:11px; font-weight:700; }
  #treeTop .leg .sw.need{ background:var(--wash); color:var(--link); border-color:rgba(169,133,221,.4); }
  #treeTop .leg .sw.out{ background:rgba(232,160,154,.16); color:var(--bad-rest); border-color:rgba(232,160,154,.4); }
   
  #treeGridWrap{ flex:1; overflow:auto; }
   
  table.tg{ width:100%; table-layout:fixed; border-collapse:separate; border-spacing:0; font-size:11px; }
  .tg col.namecol{ width:230px; }
  .tg th, .tg td{ padding:0; }
  .tg thead th{ position:sticky; top:0; z-index:3; background:var(--panel2); border-bottom:1px solid var(--line); }
  .tg th.axg{ padding:6px 4px; line-height:1.2; text-align:center; border-left:2px solid var(--line); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }    
  .tg thead tr.r2 th{ top:26px; }
   
  .tg th.vcol{ cursor:pointer; background:var(--panel2); color:var(--muted); font-weight:600; font-size:11px; padding:6px 5px; text-align:center; vertical-align:middle; line-height:1.2; border-left:1px solid var(--line); white-space:normal; word-break:break-word; transition:color 140ms ease; }
  .tg th.vcol:hover{ color:var(--txt); }
  .tg th.vcol.g0{ border-left:2px solid var(--line); }    
  .tg th.vcol.hi{ color:var(--link); font-weight:700; background:linear-gradient(var(--wash),var(--wash)), var(--panel2); }    
  .tg th.vcol.hi:hover{ color:var(--link); }
  .tg th.vcol.off{ color:rgba(255,255,255,.20); cursor:not-allowed; }    
  .tg th.vcol.off:hover{ color:rgba(255,255,255,.20); }
   
  .tg th.rh{ position:sticky; left:0; z-index:2; background:var(--panel); color:var(--txt); font-weight:400; text-align:left; padding:7px 12px;
    border-bottom:1px solid rgba(255,255,255,.05); border-right:1px solid var(--line); font-family:var(--mono); font-size:14px;
    overflow:hidden; text-overflow:ellipsis; white-space:nowrap; transition:background 140ms ease, color 140ms ease; }
  .tg th.rh .rn{ color:#a985dd; font-weight:700; margin-right:8px; }
  .tg thead th.rh{ z-index:4; background:var(--panel2); color:var(--low); }
  .tg tbody tr:hover th.rh{ color:var(--link); background:rgba(169,133,221,.07); }
  .tg tbody tr:hover td.cell{ background:rgba(169,133,221,.05); }
  .tg tbody tr.rsel th.rh{ background:var(--wash); color:var(--link); box-shadow:inset 3px 0 0 rgba(169,133,221,.72); }    
   
  .tg tr.sec th{ position:sticky; left:0; background:var(--panel2);
    text-align:left; padding:7px 12px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); cursor:pointer; user-select:none; z-index:2; }    
  .tg tr.sec th .tw{ display:inline-block; width:12px; color:var(--low); font-size:9px; } .tg tr.sec th .tw::before{ content:'▾'; } .tg tr.sec.collapsed th .tw::before{ content:'▸'; }
  .tg tr.sec th .ct{ color:var(--muted); font-weight:600; margin-left:8px; text-transform:none; letter-spacing:0; }
  .tg tbody tr.seccoll{ display:none; }                        
  .tg tbody tr.seccoll.show{ display:table-row; }              
   
   
  .tg td.cell{ text-align:center; border-left:1px solid rgba(255,255,255,.05); border-bottom:1px solid rgba(255,255,255,.05); padding:7px 0; cursor:pointer;
    font-weight:700; font-size:13px; color:transparent; user-select:none; transition:background 140ms ease, color 140ms ease, box-shadow 140ms ease; }
  .tg td.cell.g0{ border-left:2px solid var(--line); }
  .tg td.cell:hover{ box-shadow:inset 0 0 0 2px var(--accent); }
  .tg td.cell.need{ background:var(--wash); color:var(--link); }
  .tg td.cell.out{ background:rgba(232,160,154,.18); color:var(--bad-rest); }
  .tg td.cell.dirty{ box-shadow:inset 0 0 0 2px var(--accent); }    
   
  #treeBar{ display:none; }
  body.tree #treeBar{ display:grid; grid-template-columns:auto 1fr auto; gap:10px; align-items:center; white-space:nowrap;
    position:absolute; left:50%; bottom:16px; transform:translateX(-50%); width:min(1500px, calc(100% - 28px)); z-index:11;
    background:var(--glass); border:1px solid var(--line); border-radius:var(--r-surface); padding:10px; box-shadow:var(--elev); backdrop-filter:blur(6px); font-size:13px; }
  #treeBar .zone{ display:flex; gap:10px; align-items:center; min-width:0; }
  #treeBar .zone.zl{ justify-self:start; } #treeBar .zone.zr{ justify-self:end; }
  #treeBar .zone.zc{ justify-content:center; color:var(--muted); }
  #treeBar .b{ padding:8px 14px; font:inherit; display:inline-flex; align-items:center; }    
  #treeBar .b.primary:hover{ background:var(--primary-hi); border-color:var(--primary-hi); }
   
   
   
  #treeBar .b.view{ background:var(--wash); color:var(--link); border-color:rgba(169,133,221,.4); font-weight:600; }
  #treeBar .b.view:hover{ border-color:var(--accent); color:var(--link); }
  #treeBar .res{ margin-left:10px; color:var(--link); font-size:12px; font-weight:600; font-variant-numeric:tabular-nums; font-family:var(--mono); }
  #treeBar .savestat{ margin-left:10px; color:var(--accent); font-size:12px; font-weight:600; font-variant-numeric:tabular-nums; }
  #treeBar .savestat:empty{ display:none; }
  @media(max-width:560px){
    body.tree #treePanel{ overflow-x:hidden; }
    #treeTop{ flex-wrap:wrap; align-items:flex-start; gap:8px; padding:10px 14px; }
    #treeTop .ttl{ min-width:0; flex:1 1 100%; flex-wrap:wrap; }
    #treeTop .leg{ min-width:0; flex:1 1 100%; flex-wrap:wrap; gap:8px; }
    #treeGridWrap{ overflow-x:hidden; }
    .tg col.namecol{ width:150px; }
    .tg th.rh{ padding:7px 8px; font-size:12px; }
    .tg th.vcol{ padding:5px 2px; font-size:10px; }
    body.tree #treeBar{ grid-template-columns:1fr; width:calc(100% - 16px); gap:6px; padding:8px; white-space:normal; }
    #treeBar .zone{ justify-content:center; flex-wrap:wrap; gap:6px; }
    #treeBar .zone.zl, #treeBar .zone.zr{ justify-self:stretch; }
    #treeBar .b{ flex:1 1 min(92px,100%); justify-content:center; min-width:0; padding:6px 8px; }
    #treeBar .res, #treeBar .savestat{ margin-left:0; }
  }
   
  .pvchrome{ display:none; }
  body.preview .side{ display:none; }
  body.preview .hud{ display:none; }
  body.preview #spreadCtl{ display:none; }
  body.preview .editoronly{ display:none !important; }    
  #playAll.on, :is(.play,#pvIsland) .tgl.on{ background:var(--wash); color:var(--link); border-color:rgba(169,133,221,.4); }    
  :is(.play,#pvIsland) .tgl{ color:var(--muted); } :is(.play,#pvIsland) .tgl:hover{ color:var(--link); }
  body.descoff #pvCap{ display:none !important; }    
  body.preview .pvchrome{ display:block; }
  body.preview button.pvchrome{ display:inline-flex; }    
  #viewCtl{ position:absolute; top:14px; right:14px; z-index:12; gap:6px; }    
  




  @media(min-width:681px){
  body.builderdeploy .builder-page-top:not(.floatbar){
    margin-right:calc(-1 * var(--sb-gutter, 0px)); }
  }
  body.config #viewCtl{ right:calc(14px + var(--cfg-viewctl-offset, 0px)); }    
  body.preview #viewCtl, body.config #viewCtl{ display:flex; }
  #viewCtl button{ width:34px; height:34px; padding:0; display:flex; align-items:center; justify-content:center; font:inherit; font-size:16px; line-height:1; background:rgba(27,27,27,.62); border:1px solid var(--line); border-radius:var(--r-segment); cursor:pointer; backdrop-filter:blur(6px); }    
  #viewCtl button:not(.danger){ color:var(--txt); }    
  :where(.dev-pointer) #viewCtl button:not(.danger):hover{ background:rgba(40,40,40,.85); color:#fff; border-color:var(--accent); }
  #viewCtl button svg{ width:17px; height:17px; }    
  #viewCtl #vcSpin{ display:none; }
  body.config #viewCtl #vcSpin{ display:flex; }
  #viewCtl #vcSpin.on{ color:var(--link); border-color:var(--accent); background:var(--wash); }
  #playLbl{ display:inline-block; min-width:78px; text-align:center; }    
  .play button:disabled{ pointer-events:none; }
  #pvPart{ display:none; color:var(--accent); font-weight:600; font-size:18px; }    
  @keyframes pvflyin{ from{ transform:translateX(34px); opacity:0; } to{ transform:translateX(0); opacity:1; } }    
  @keyframes pvflyout{ from{ transform:translateX(0); opacity:1; } to{ transform:translateX(-34px); opacity:0; } }    
  :is(#pvPart,#pvIsland .pvPart).flyin{ animation:pvflyin .2s cubic-bezier(.2,.7,.2,1); }    
  :is(#pvPart,#pvIsland .pvPart).flyout{ animation:pvflyout .12s ease forwards; }
  @keyframes pvflyinR{ from{ transform:translateX(-34px); opacity:0; } to{ transform:translateX(0); opacity:1; } }    
  @keyframes pvflyoutR{ from{ transform:translateX(0); opacity:1; } to{ transform:translateX(34px); opacity:0; } }    
  :is(#pvPart,#pvIsland .pvPart).flyinR{ animation:pvflyinR .2s cubic-bezier(.2,.7,.2,1); }
  :is(#pvPart,#pvIsland .pvPart).flyoutR{ animation:pvflyoutR .12s ease forwards; }
  body.preview #pvPart{ display:block; }
  



  body.preview #stepLbl{ display:none; }    
  



  

  .playrail{ display:none; }
  .playrail::before, .playrail::after{ content:''; position:absolute; inset:0; }
  .playrail::before{ background:repeating-linear-gradient(to right,rgba(255,255,255,.24) 0 calc(var(--stage-segment) - 2px),transparent calc(var(--stage-segment) - 2px) var(--stage-segment)); background-position:1px 0; }    
  .playrail::after{ background:repeating-linear-gradient(to right,#9674cb 0 calc(var(--stage-segment) - 2px),transparent calc(var(--stage-segment) - 2px) var(--stage-segment)); background-position:1px 0; clip-path:inset(0 calc(100% - var(--stage-progress)) 0 0); }
  

  @media(max-width:900px){
    body.config #viewCtl{ right:14px; }
  }
  






  @media(max-width:1080px){
    :where(.dev-pointer) body.preview .play kbd{ display:none; }
  }
  



  @media(max-width:860px){
    :where(.dev-pointer) body.preview .play #repeatAll,
    :where(.dev-pointer) body.preview .play #animTgl{ display:none; }
  }
  @media(max-width:706px){
    :where(.dev-pointer) body.preview .play .zone.zl{ display:none; }
  }
  



























  



  .dev-touch .bartop{ padding-top:9px; padding-bottom:9px; }
  



  .dev-touch body.builderdeploy .builder-page-top{ --builder-header-ctl:44px; }
  










  .dev-touch body.builderdeploy .builder-page-top:has(> .island-corner){ padding-right:5px; }
  




  .dev-touch[data-island-placement="sidebar"] body.builderdeploy .builder-page-top.floatbar{
    padding-right:calc(var(--island-size, var(--island-max-w)) + 12px); grid-template-columns:minmax(0,1fr) auto auto; }    
  .dev-touch[data-island-placement="sidebar"] body.builderdeploy .builder-page-top.floatbar > .ttl{ min-width:0; overflow:hidden; }
  .dev-touch .bartop .b{ min-height:44px; display:inline-flex; align-items:center; justify-content:center; }
  .dev-touch .cfg-selector .stab{ min-height:44px; }
  .dev-touch body.preview .play button{ min-height:44px; }
  .dev-touch body.preview .play .navbtn{ min-width:44px; }
  .dev-touch :is(body.preview,body.config) #viewCtl button{ width:44px; height:44px; font-size:18px; }    
  .dev-touch .sec>summary .collapseAll{ min-height:44px; display:inline-flex; align-items:center; }    
  


  .dev-touch .chrome-question-head h3{ font-size:18px; }
  .dev-touch .delivsec h3{ font-size:14px; }
  .dev-touch table.bom td{ font-size:14px; }
  .dev-touch .action-details-row code{ font-size:12px; }
  .orzoom{ display:inline-flex; flex:0 0 auto; align-items:center; gap:7px; margin-right:6px; color:var(--muted); }
  .orzoom input{ width:clamp(82px, 8vw, 110px); accent-color:var(--accent); }
  .orzoom b{ min-width:46px; text-align:right; color:var(--txt); font:600 12px/1 var(--mono); }
   
  







  .dev-touch body.builderdeploy.preview .play #pvExit{ display:none; }    
  .dev-touch body.builderdeploy.preview #viewCtl{ display:none !important; }    
  #pvCap{ position:absolute; left:18px; bottom:84px; max-width:540px; z-index:8; pointer-events:none; }
  


  :is(#pvCap,#pvIsland) .pvStep{ display:block; }    
  :is(#pvCap,#pvIsland) .pvTitle{ font-size:21px; font-weight:700; letter-spacing:0; margin:4px 0 6px; }
  #pvCap .pvDesc{ color:var(--muted); font-size:13.5px; line-height:1.65; white-space:pre-wrap; }    
  .mini{ color:var(--muted); font-size:11px; }
  .slid{ display:flex; align-items:center; gap:8px; margin:5px 0; color:var(--muted); font-size:12px; }
  .slid input[type=range]{ flex:1; accent-color:var(--accent); } .slid b{ width:36px; text-align:right; color:var(--txt); font-variant-numeric:tabular-nums; font-family:var(--mono); font-size:12px; }
  #studioLightControls .slid{ min-height:30px; }
  #studioLightControls .slid b{ width:48px; }
  #studioLightControls .light-color input[type=color]{ width:42px; height:26px; margin-left:auto; padding:2px; border:1px solid var(--line); border-radius:4px; background:var(--panel2); cursor:pointer; }
  #studioLightControls .light-color input[type=color]::-webkit-color-swatch-wrapper{ padding:0; }
  #studioLightControls .light-color input[type=color]::-webkit-color-swatch{ border:0; border-radius:2px; }
  #studioLightControls .light-color input[type=color]::-moz-color-swatch{ border:0; border-radius:2px; }
  #studioLightControls .light-section-head{ display:flex; align-items:center; justify-content:space-between; margin-top:12px; padding-top:11px; border-top:1px solid var(--line); }
  .studioToolDlg{ width:min(620px, calc(100vw - 40px)); max-height:min(760px, calc(100dvh - 40px)); display:flex; flex-direction:column; }
  .studioToolDlg .dialog-body:has(.studio-tool-mount){ display:flex; overflow:hidden; }
  .studioToolDlg .studio-tool-mount{ flex:1 1 auto; min-width:0; min-height:0; overflow:auto; overflow-x:hidden; padding:2px 2px 0; }
  .studioToolDlg .studio-tool-content{ display:flex; flex-direction:column; gap:4px; min-width:0; max-width:100%; }
  #saveNote[data-save-state="queued"], #saveNote[data-save-state="note"]{ color:var(--muted); }
  #saveNote[data-save-state="saved"]{ color:var(--accent); }
  #saveNote[data-save-state="error"]{ color:var(--bad); }
  .durability-notices{ display:flex; flex-direction:column; gap:6px; margin-top:8px; }
  .durability-note{ display:flex; align-items:center; gap:8px; padding:8px; border:1px solid var(--line); background:rgba(255,255,255,.03); border-radius:4px; color:var(--txt); }
  .durability-note.bad{ border-color:rgba(255,100,100,.35); background:rgba(255,70,70,.07); }
  .durability-note b{ color:var(--bad); font-size:11px; white-space:nowrap; }
  .durability-note span{ flex:1; min-width:0; color:var(--muted); font-size:11px; line-height:1.35; }
  .durability-note .b{ flex:0 0 auto; padding:3px 8px; font-size:11px; }
  .studioToolDlg.lightdlg{ width:min(520px, calc(100vw - 40px)); }
  .studioToolDlg.matdlg{ width:min(1220px, calc(100vw - 32px)); max-height:min(720px, calc(100dvh - 32px)); }
  .studioToolDlg.matdlg .dialog-body{ flex:1 1 auto; overflow:hidden; padding:20px 24px; }
  .studioToolDlg.matdlg .studio-tool-mount{ overflow:hidden; padding:0; }
  .studioToolDlg.matdlg .studio-tool-content{ height:100%; min-height:0; }
  .studioToolDlg.importdlg{ width:min(820px, calc(100vw - 40px)); }
  .studioToolDlg.statusdlg{ width:min(720px, calc(100vw - 40px)); }
  .studioToolDlg.projectdlg{ width:min(430px, calc(100vw - 40px)); }
  .studioToolDlg.phasedlg{ width:min(980px, calc(100vw - 40px)); max-height:min(760px, calc(100dvh - 40px)); }
  .studioToolDlg.phasedlg .dialog-body{ flex:1 1 auto; min-height:0; overflow:hidden; padding:0; }
  .studioToolDlg.phasedlg .studio-tool-mount{ height:100%; overflow:hidden; padding:0; }
  .studioToolDlg.phasedlg .phase-list{ height:100%; }
  .studioToolDlg.suppdlg{ width:min(720px, calc(100vw - 40px)); }
  .studioToolDlg.partlibdlg{ width:min(1080px, calc(100vw - 40px)); max-height:min(820px, calc(100dvh - 40px)); }
  .studioToolDlg.partlibdlg .studio-tool-mount{ overflow:hidden; padding:0; }
  .studioToolDlg.treeoptdlg{ width:min(760px, calc(100vw - 40px)); }
  .studioToolDlg.onboarddlg{ width:min(860px, calc(100vw - 40px)); }
   
  .studioToolDlg.questiontreedlg{ width:calc(100vw - 32px); height:calc(100dvh - 32px); max-height:calc(100dvh - 32px); }
  .studioToolDlg.questiontreedlg .dialog-body{ flex:1 1 auto; min-height:0; overflow:hidden; }
  .studioToolDlg.questiontreedlg .studio-tool-mount{ display:flex; flex-direction:column; min-height:0; height:100%; overflow:hidden; }
  .studioToolDlg.questiontreedlg .form-tree-grid{ flex:1 1 auto; max-height:none; min-height:0; }
  .studioToolDlg .slid{ margin:7px 0; }
  .studioToolDlg input[type=range]:focus-visible{ outline:2px solid var(--accent); outline-offset:2px; }
  .studioToolDlg .matrow{ box-sizing:border-box; padding:10px 12px; }
  #matCtls{ min-width:0; min-height:0; height:100%; display:grid; grid-template-columns:minmax(320px,360px) minmax(0,1fr); align-items:stretch; gap:28px; }
  .material-library-pane{ min-width:0; min-height:0; height:100%; grid-column:1; grid-row:1; display:flex; flex-direction:column; }
  .material-library-toolbar{ flex:0 0 auto; min-height:38px; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:0 0 12px; border-bottom:1px solid var(--line); }
  .material-library-toolbar>span{ min-width:0; display:flex; align-items:center; gap:8px; }
  .material-library-toolbar b{ color:var(--txt); font:650 12px/1.2 Roboto,system-ui,sans-serif; }
  .material-library-toolbar small{ color:var(--muted); font:650 10px/1 var(--mono); }
  .material-library-create{ display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:7px; padding:10px 0; border-bottom:1px solid var(--line); }
  .material-library-create input, .material-library-name input{ min-width:0; height:32px; box-sizing:border-box; border:1px solid var(--line); border-radius:4px; background:#181818; color:var(--txt); padding:0 9px; font:12px/1.2 Roboto,system-ui,sans-serif; outline:none; }
  .material-library-create input:focus, .material-library-name input:focus{ border-color:rgba(169,133,221,.5); box-shadow:0 0 0 2px rgba(116,80,182,.16); }
  .material-library-list{ min-width:0; min-height:0; flex:1 1 auto; display:flex; flex-direction:column; overflow-y:auto; overflow-x:hidden; padding:4px 6px 0 0; }    
  .material-library-item{ appearance:none; width:100%; min-width:0; min-height:56px; display:grid; grid-template-columns:28px minmax(0,1fr); align-items:center; gap:12px; border:0; border-bottom:1px solid var(--line); background:transparent; color:var(--txt); padding:9px 12px; text-align:left; cursor:pointer; }
  .material-library-item:hover{ background:rgba(255,255,255,.035); }
  .material-library-item.selected{ background:var(--wash); box-shadow:inset 2px 0 var(--accent); }
  .material-library-item>i{ width:24px; height:24px; box-sizing:border-box; border:1px solid rgba(255,255,255,.24); border-radius:4px; background:var(--material-color); }
  .material-library-item>span{ min-width:0; display:flex; flex-direction:column; gap:4px; }
  .material-library-item b{ overflow-wrap:anywhere; font:600 12px/1.3 Roboto,system-ui,sans-serif; }
  .material-library-item small{ color:var(--muted); font:600 10px/1 var(--mono); }
  .material-library-empty{ padding:24px 10px; color:var(--muted); font:12px/1.4 Roboto,system-ui,sans-serif; }
  .material-rows{ min-width:0; display:flex; flex-direction:column; grid-column:1; grid-row:1; }
  .material-preview{ position:static; grid-column:2; grid-row:1; min-width:0; min-height:0; display:grid; grid-template-columns:minmax(320px,360px) minmax(340px,1fr); grid-template-rows:auto auto; align-content:start; gap:18px 24px; overflow:visible; padding:0 0 0 28px; border-left:1px solid var(--line); background:var(--panel); }
  .material-preview-stage{ grid-column:1; grid-row:2; align-self:start; justify-self:center; width:100%; max-width:360px; height:auto; aspect-ratio:1; box-sizing:border-box; overflow:hidden; border:1px solid var(--line); border-radius:4px; background:#151519; }
  .material-preview-stage canvas{ display:block; width:100%; height:100%; }
  .material-preview-meta{ grid-column:1 / -1; grid-row:1; min-width:0; min-height:0; display:grid; grid-template-columns:minmax(150px,.7fr) minmax(250px,1.15fr) auto; align-items:center; gap:18px; padding:0 0 14px; }
  #matCtls .material-preview-values{ display:none; }
  .material-library-name{ grid-column:2; grid-row:1; width:100%; min-width:0; display:grid; grid-template-columns:40px minmax(0,1fr); align-items:center; gap:8px; margin:0; }
  .material-library-name>span{ color:var(--muted); font:650 11px/1 var(--mono); }
  .material-library-usage{ grid-column:1; grid-row:1; min-width:0; margin:0; color:var(--muted); font:11px/1.3 Roboto,system-ui,sans-serif; overflow-wrap:anywhere; }
  .material-library-actions{ grid-column:3; grid-row:1; display:flex; align-items:center; justify-content:flex-end; gap:8px; margin:0; }
  .material-library-actions .material-reference-save.is-dirty:hover{ background:var(--primary-hi); border-color:var(--primary-hi); color:#fff; }
  .material-library-actions .material-library-delete{ color:var(--bad-rest); }
  .material-library-actions .material-library-delete:disabled{ color:var(--low); }
  .material-library-editor{ grid-column:2; grid-row:2; align-self:start; width:100%; padding:0!important; background:transparent!important; }
  .matrow.material-library-editor{ border-top:0; }
  .material-color-editor{ display:flex; flex-direction:column; gap:9px; margin-bottom:14px; padding-bottom:14px; border-bottom:1px solid var(--line); }
  .material-color-head{ min-height:30px; display:grid; grid-template-columns:minmax(72px,1fr) auto 24px; align-items:center; gap:10px; }
  .material-color-head>.ml{ color:var(--txt); font:600 12px/1.2 Roboto,system-ui,sans-serif; }
  .material-color-modes{ justify-self:end; }
  .material-color-modes .stab{ min-width:42px; padding:6px 8px; font:650 10px/1 var(--mono); }
  .material-color-modes .stab:focus-visible{ position:relative; z-index:1; outline:2px solid var(--accent); outline-offset:-2px; }
  .material-color-values{ min-height:30px; }
  .material-color-value-row{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:center; gap:8px; }
  .material-color-value-row[hidden]{ display:none; }
  .material-color-value-row[data-material-color-values="hex"]{ grid-template-columns:minmax(0,160px); }
  .material-color-value-row label{ min-width:0; display:grid; grid-template-columns:18px minmax(0,1fr); align-items:center; gap:6px; color:var(--muted); font:650 10px/1 var(--mono); }
  .material-color-value-row[data-material-color-values="hex"] label{ grid-template-columns:28px minmax(0,1fr); }
  .material-color-value-row input{ width:100%; min-width:0; height:30px; box-sizing:border-box; border:1px solid var(--line); border-radius:4px; background:#181818; color:var(--txt); padding:0 8px; font:600 11px/1 var(--mono); font-variant-numeric:tabular-nums; outline:none; }
  .material-color-value-row[data-material-color-values="hex"] input{ text-transform:uppercase; }
  .material-color-value-row input:focus{ border-color:rgba(169,133,221,.5); box-shadow:0 0 0 2px rgba(116,80,182,.16); }
  .material-color-field{ --material-hue:#f00; --material-saturation:0%; --material-value:0%; position:relative; width:100%; height:112px; box-sizing:border-box; border:1px solid rgba(255,255,255,.16); border-radius:4px; background:linear-gradient(to top,#000,transparent),linear-gradient(to right,#fff,var(--material-hue)); cursor:crosshair; touch-action:none; outline:none; }
  .material-color-field:focus-visible{ border-color:var(--accent); box-shadow:0 0 0 2px rgba(116,80,182,.22); }
  .material-color-field>i{ position:absolute; left:var(--material-saturation); top:var(--material-value); width:12px; height:12px; box-sizing:border-box; border:2px solid #fff; border-radius:50%; box-shadow:0 0 0 1px rgba(0,0,0,.72); transform:translate(-50%,-50%); pointer-events:none; }
  .material-color-hue{ display:grid; grid-template-columns:72px minmax(0,1fr) 42px; align-items:center; gap:10px; min-height:28px; color:var(--muted); }
  .material-color-hue input[type=range]{ appearance:none; width:100%; height:14px; margin:0; border-radius:4px; background:linear-gradient(to right,#f00,#ff0,#0f0,#0ff,#00f,#f0f,#f00); cursor:pointer; }
  .material-color-hue input[type=range]::-webkit-slider-runnable-track{ height:10px; border-radius:4px; background:transparent; }
  .material-color-hue input[type=range]::-webkit-slider-thumb{ appearance:none; width:14px; height:14px; margin-top:-2px; border:2px solid #fff; border-radius:50%; background:#262229; box-shadow:0 0 0 1px rgba(0,0,0,.66); }
  .material-color-hue input[type=range]::-moz-range-track{ height:10px; border:0; border-radius:4px; background:linear-gradient(to right,#f00,#ff0,#0f0,#0ff,#00f,#f0f,#f00); }
  .material-color-hue input[type=range]::-moz-range-thumb{ width:10px; height:10px; border:2px solid #fff; border-radius:50%; background:#262229; box-shadow:0 0 0 1px rgba(0,0,0,.66); }
  .material-color-hue b{ color:var(--txt); text-align:right; font:600 11px/1 var(--mono); font-variant-numeric:tabular-nums; }
  .material-library-editor .slid{ min-height:30px; margin:7px 0; }
  .material-library-editor .slid .matlbl{ width:72px; flex:0 0 72px; }
  .look-lock-note{ padding:8px 9px; border:1px solid var(--line); border-radius:4px; background:rgba(255,255,255,.03); color:var(--muted); font:600 11px/1.35 var(--mono); }
  [data-look-locked="1"]{ opacity:.82; }
  .project-select-row{ display:flex; flex-direction:column; gap:5px; padding:2px 0; }
  .project-select-row select{ width:100%; }
  .project-availability{ margin-top:12px; }
  .project-availability-list{ margin-top:12px; }
  .project-enable-row{ display:flex; align-items:center; gap:12px; min-height:38px; padding:8px 0; border-top:1px solid var(--line); }
  .project-enable-row:first-of-type{ border-top:0; }
  .project-enable-row .chrome-field-main{ flex:1 1 auto; }
  .project-enable-main{ flex:1 1 auto; min-width:0; display:flex; flex-direction:column; gap:2px; }
  .project-enable-row .chrome-field-label,
  .project-enable-main b{ color:var(--txt); font-weight:500; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .project-enable-row .chrome-field-value,
  .project-enable-main small{ color:var(--low); font:600 10px/1 var(--mono); }
  .project-enable-row input{ accent-color:var(--accent); flex:0 0 auto; }
  .phase-list{ gap:0; min-height:0; }
  .phase-editor{ height:min(620px, calc(100dvh - 174px)); min-height:500px; display:grid; grid-template-columns:230px minmax(0,1fr); overflow:hidden; }
  .phase-nav{ min-width:0; min-height:0; display:grid; grid-template-rows:auto minmax(0,1fr) auto; border-right:1px solid var(--line); background:#181818; }
  .phase-nav-head{ display:flex; flex-direction:column; gap:3px; padding:16px 16px 13px; border-bottom:1px solid var(--line); }
  .phase-nav-head strong{ font:600 13px/1.3 Roboto,system-ui,sans-serif; color:var(--txt); }
  .phase-nav-head span{ color:var(--muted); font:600 10px/1.3 var(--mono); }
  .phase-nav-list{ min-height:0; overflow-y:auto; }
  .phase-nav-row{ appearance:none; width:100%; min-height:56px; display:grid; grid-template-columns:26px minmax(0,1fr) auto; align-items:center; gap:8px; padding:9px 12px; border:0; border-bottom:1px solid var(--line); border-left:2px solid transparent; background:transparent; color:var(--txt); text-align:left; cursor:pointer; }
  .phase-nav-row:hover{ background:rgba(255,255,255,.035); }
  .phase-nav-row:focus-visible{ outline:2px solid var(--accent); outline-offset:-2px; }
  .phase-nav-row.selected{ border-left-color:var(--accent); background:var(--wash); }
  .phase-nav-index{ color:var(--low); font:600 10px/1 var(--mono); }
  .phase-nav-copy{ min-width:0; display:flex; flex-direction:column; gap:3px; }
  .phase-nav-copy strong{ font:600 12px/1.25 Roboto,system-ui,sans-serif; }
  .phase-nav-copy span{ overflow:hidden; color:var(--muted); font:10px/1.25 Roboto,system-ui,sans-serif; text-overflow:ellipsis; white-space:nowrap; }
  .phase-nav-state{ color:var(--link); font:600 9px/1 var(--mono); text-transform:uppercase; }
  .phase-nav-note{ display:flex; flex-direction:column; gap:4px; padding:11px 14px 13px; border-top:1px solid var(--line); }
  .phase-nav-note strong{ color:var(--muted); font:600 10px/1.2 var(--mono); text-transform:uppercase; }
  .phase-nav-note span{ color:var(--low); font:10px/1.35 Roboto,system-ui,sans-serif; }
  .phase-inspector{ min-width:0; min-height:0; display:grid; grid-template-rows:auto auto auto minmax(0,1fr); gap:0; padding:16px 20px 18px; overflow:hidden; }
  .phase-inspector-head{ min-height:46px; display:flex; align-items:flex-start; justify-content:space-between; gap:16px; padding-bottom:12px; border-bottom:1px solid var(--line); }
  .phase-inspector-head div{ display:flex; flex-direction:column; gap:2px; }
  .phase-inspector-head span{ color:var(--low); font:700 10px/1.2 var(--mono); text-transform:uppercase; }
  .phase-inspector-head h3{ margin:0; color:var(--txt); font:600 16px/1.3 Roboto,system-ui,sans-serif; }
  .phase-use-state{ color:var(--low); font:600 10px/1.2 var(--mono); text-transform:uppercase; }
  .phase-use-state.active{ color:var(--link); }
  .phase-intro-field{ display:grid; grid-template-columns:140px minmax(0,1fr); align-items:start; gap:8px 12px; padding:14px 0; border-bottom:1px solid var(--line); }
  .phase-intro-field>span{ padding-top:8px; color:var(--muted); font:600 11px/1.3 Roboto,system-ui,sans-serif; }
  .phase-intro-field textarea{ width:100%; min-height:64px; box-sizing:border-box; resize:none; border:1px solid var(--line); border-radius:4px; background:var(--code); color:var(--txt); padding:8px 9px; font:12px/1.4 Roboto,system-ui,sans-serif; outline:none; }
  .phase-intro-field textarea:focus{ border-color:rgba(169,133,221,.45); box-shadow:0 0 0 1px rgba(169,133,221,.16); }
  .phase-intro-field small{ grid-column:2; color:var(--low); font:10px/1.3 Roboto,system-ui,sans-serif; }
  .phase-editor-section{ min-width:0; min-height:0; padding:12px 0 0; border-bottom:1px solid var(--line); }
  .phase-editor-section.phase-stages{ display:grid; grid-template-rows:auto minmax(0,1fr); border-bottom:0; }
  .phase-section-head{ min-height:30px; display:flex; align-items:flex-start; justify-content:space-between; gap:14px; }
  .phase-section-head>div{ display:flex; align-items:baseline; gap:8px; }
  .phase-section-head strong{ color:var(--txt); font:600 12px/1.3 Roboto,system-ui,sans-serif; }
  .phase-section-head span{ color:var(--low); font:600 10px/1 var(--mono); }
  .phase-add, .phase-assignment-select{ min-width:160px; height:30px; border:1px solid var(--line); border-radius:4px; background:#1c1c1c; color:var(--txt); padding:0 8px; font:11px/1.2 Roboto,system-ui,sans-serif; outline:none; }
  .phase-add:focus, .phase-assignment-select:focus{ border-color:rgba(169,133,221,.45); box-shadow:0 0 0 1px rgba(169,133,221,.16); }
  .phase-assignment-list{ min-width:0; }
  .phase-stage-list{ min-height:0; overflow-y:auto; scrollbar-gutter:stable; }
  .phase-assignment-row{ min-height:42px; display:grid; grid-template-columns:minmax(0,1fr) 174px; align-items:center; gap:12px; padding:6px 0; border-top:1px solid var(--line); }
  .phase-assignment-row:first-child{ border-top:0; }
  .phase-assignment-copy{ min-width:0; display:flex; flex-direction:column; gap:2px; }
  .phase-assignment-copy strong{ overflow:hidden; color:var(--txt); font:600 11px/1.25 Roboto,system-ui,sans-serif; text-overflow:ellipsis; white-space:nowrap; }
  .phase-assignment-copy span{ overflow:hidden; color:var(--muted); font:10px/1.25 Roboto,system-ui,sans-serif; text-overflow:ellipsis; white-space:nowrap; }
  .phase-editor-empty{ min-height:38px; display:flex; align-items:center; color:var(--muted); font:11px/1.35 Roboto,system-ui,sans-serif; }
  .supp-list{ gap:0; }
  .supp-list .grpsec:first-child{ margin-top:0; border-top:0; }
  .supp-row{ min-height:34px; padding-top:7px; padding-bottom:7px; color:var(--txt); cursor:pointer; }
  .supp-row:first-child{ border-top:0; }
  .supp-row:hover{ background:var(--wash); }
  .supp-row input{ flex:0 0 auto; accent-color:var(--accent); }
  .supp-row.on{ background:rgba(169,133,221,.08); }
  .supp-row.on .pn{ color:var(--link); }
  .supp-toolbar{ display:grid; grid-template-columns:minmax(220px,1fr) auto auto; align-items:center; gap:8px; min-height:30px; }
  .supp-search{ width:100%; min-width:0; height:30px; box-sizing:border-box; border:1px solid var(--line); border-radius:4px; background:#1A1A1A; color:var(--txt); padding:0 9px; font:12px/1.2 Roboto,system-ui,sans-serif; outline:none; }
  .supp-search:focus, .supp-rename-input:focus{ border-color:rgba(169,133,221,.45); box-shadow:0 0 0 1px rgba(169,133,221,.16); }
  .supp-grid{ display:flex; flex-direction:column; gap:0; }
  .supp-row-list{ display:grid; grid-template-columns:minmax(126px,.75fr) minmax(0,1.25fr) auto auto; gap:9px; align-items:center; min-height:42px; padding:8px 0 8px var(--supp-depth,0); border-top:1px solid var(--line); }
  .supp-row-list:first-child{ border-top:0; }
  .supp-row-list.on{ background:rgba(169,133,221,.055); }
  .supp-check{ display:flex; align-items:center; gap:6px; color:var(--muted); font:700 10px/1 var(--mono); text-transform:uppercase; letter-spacing:.04em; cursor:pointer; }
  .supp-check input{ accent-color:var(--accent); margin:0; }
  .supp-ident{ min-width:0; display:flex; flex-direction:column; gap:3px; }
  .supp-ident b{ min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--txt); font-size:12px; }
  .supp-ident code, .supp-count{ min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--muted); font:600 10px/1.2 var(--mono); }
  .supp-rename{ min-width:0; display:grid; grid-template-columns:minmax(130px,1fr) auto auto; gap:6px; align-items:center; }
  .supp-rename-input{ min-width:0; height:28px; border:1px solid var(--line); border-radius:4px; background:#1A1A1A; color:var(--txt); padding:0 8px; font:12px/1.2 Roboto,system-ui,sans-serif; outline:none; }
  .supp-rename-btn{ height:28px; padding:3px 9px; font-size:11px; color:var(--muted); }
  .supp-empty{ color:var(--muted); font-size:12px; padding:10px 8px; }
  .section-list{ display:flex; flex-direction:column; gap:0; min-width:0; }
  .section-list-head{ display:flex; flex-direction:column; gap:8px; padding:0 0 9px; border-bottom:1px solid var(--line); }
  .section-list-title{ display:flex; align-items:center; gap:8px; color:var(--txt); font-weight:700; }
  .section-list-count{ color:var(--muted); font:700 10px/1 var(--mono); text-transform:uppercase; letter-spacing:.04em; }
  .section-list-body{ min-width:0; }
  .chrome-field-row{ min-width:0; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:10px; }
  .chrome-field-main{ min-width:0; display:flex; flex-direction:column; gap:3px; }
  .chrome-field-label{ color:var(--txt); font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .chrome-field-value{ color:var(--low); font:600 10px/1 var(--mono); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .chrome-field-note{ color:var(--muted); font:600 10px/1.25 var(--mono); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .chrome-field-control{ display:flex; align-items:center; justify-content:flex-end; }
  .partlib-list{ gap:0; }
  .partlib-section{ display:grid; grid-template-columns:minmax(300px,.78fr) minmax(420px,1.22fr); grid-template-rows:auto minmax(0,1fr); height:min(640px,calc(100vh - 180px)); min-height:480px; }
  .partlib-section .section-list-head{ grid-column:1/-1; padding:0 0 12px; }
  .partlib-section .section-list-title{ display:none; }
  .partlib-section .section-list-controls{ min-width:0; }
  .partlib-toolbar{ display:grid; grid-template-columns:minmax(220px,1fr) auto auto auto; align-items:center; gap:10px; min-height:34px; }
  .partlib-search{ width:100%; min-width:0; box-sizing:border-box; height:34px; border:1px solid var(--line); border-radius:4px; background:#1A1A1A; color:var(--txt); padding:0 10px; font:12px/1.2 Roboto,system-ui,sans-serif; outline:none; }
  .partlib-search::placeholder{ color:rgba(255,255,255,.46); }
  .partlib-search:focus{ border-color:rgba(169,133,221,.45); box-shadow:0 0 0 2px rgba(169,133,221,.12); }
  .partlib-scopes{ display:grid; grid-auto-flow:column; border:1px solid var(--line); border-radius:4px; overflow:hidden; background:#181818; }
  .partlib-scope-button{ appearance:none; min-width:74px; height:32px; display:flex; align-items:center; justify-content:center; gap:6px; border:0; border-left:1px solid var(--line); background:transparent; color:var(--muted); padding:0 9px; font:600 11px/1 Roboto,system-ui,sans-serif; cursor:pointer; }
  .partlib-scope-button:first-child{ border-left:0; }
  .partlib-scope-button b{ color:var(--low); font:600 10px/1 var(--mono); }
  .partlib-scope-button:hover, .partlib-scope-button:focus-visible{ outline:none; color:var(--txt); background:rgba(255,255,255,.035); }
  .partlib-scope-button.on{ color:var(--link); background:var(--wash); box-shadow:inset 0 -2px var(--accent); }
  .partlib-scope-button.on b{ color:var(--link); }
  .partlib-count{ color:var(--muted); font:600 10px/1 var(--mono); white-space:nowrap; }
  .partlib-icon-button{ appearance:none; width:28px; height:28px; display:grid; place-items:center; border:1px solid var(--line); border-radius:4px; background:rgba(255,255,255,.02); color:var(--muted); padding:0; font:18px/1 Roboto,system-ui,sans-serif; cursor:pointer; }
  .partlib-icon-button:hover, .partlib-icon-button:focus-visible{ outline:none; color:var(--link); border-color:rgba(169,133,221,.35); background:var(--wash); }
  .partlib-grid{ min-width:0; overflow:auto; border-right:1px solid var(--line); padding-right:10px; }
  .partlib-list-head{ position:sticky; top:0; z-index:2; min-height:36px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); background:var(--panel); color:var(--muted); }
  .partlib-list-head>span{ font:600 10px/1 var(--mono); }
  .partlib-select-all{ display:inline-flex; align-items:center; gap:8px; min-height:28px; color:var(--muted); font:700 10px/1 Roboto,system-ui,sans-serif; text-transform:uppercase; letter-spacing:.04em; cursor:pointer; }
  .partlib-select-all input, .partlib-bulk-check input{ accent-color:var(--accent); margin:0; }
  .partlib-bulk{ position:sticky; top:36px; z-index:2; min-height:42px; display:grid; grid-template-columns:auto minmax(0,1fr) auto auto; align-items:center; gap:7px; border-bottom:1px solid rgba(169,133,221,.28); background:#27212f; padding:5px 7px; }
  .partlib-bulk>b{ color:var(--link); font:700 10px/1 var(--mono); white-space:nowrap; }
  .partlib-bulk label{ min-width:0; display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:6px; }
  .partlib-bulk label>span{ color:var(--muted); font-size:10px; }
  .partlib-bulk select{ width:100%; min-width:0; height:28px; border:1px solid var(--line); border-radius:4px; background:#1A1A1A; color:var(--txt); padding:0 7px; font:11px/1.2 Roboto,system-ui,sans-serif; outline:none; }
  .partlib-bulk .b{ height:28px; padding:3px 9px; font-size:11px; }
  .partlib-bulk .partlib-icon-button{ width:28px; height:28px; }
  .partlib-empty{ min-height:90px; display:flex; align-items:center; justify-content:center; gap:8px; text-align:center; }
  .partlib-row{ display:grid; grid-template-columns:32px minmax(0,1fr); align-items:stretch; min-height:58px; border-bottom:1px solid var(--line); transition:background 140ms ease; }
  .partlib-row:hover{ background:rgba(255,255,255,.025); }
  .partlib-row.active{ background:var(--wash); }
  .partlib-bulk-check{ display:grid; place-items:center; cursor:pointer; }
  .partlib-result{ appearance:none; min-width:0; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:10px; border:0; background:transparent; color:var(--txt); padding:9px 8px 9px 2px; text-align:left; font:inherit; cursor:pointer; }
  .partlib-result:focus-visible{ outline:1px solid var(--accent); outline-offset:-2px; }
  .partlib-result-copy{ min-width:0; display:flex; flex-direction:column; gap:4px; }
  .partlib-result-copy b{ min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:12px; line-height:1.2; font-weight:600; }
  .partlib-result-copy small{ min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--muted); font:600 10px/1.2 var(--mono); }
  .partlib-row.active .partlib-result-copy b{ color:var(--link); }
  .partlib-result-status{ display:flex; flex-direction:column; align-items:flex-end; gap:4px; }
  .partlib-result-status em{ color:var(--low); font:600 9px/1 var(--mono); font-style:normal; white-space:nowrap; }
  .partlib-inspector{ min-width:0; overflow:auto; padding:0 0 8px 18px; }
  .partlib-inspector-empty{ display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; color:var(--muted); text-align:center; }
  .partlib-inspector-empty b{ color:var(--txt); font-size:13px; }
  .partlib-inspector-head{ min-height:52px; display:flex; align-items:flex-start; justify-content:space-between; gap:16px; padding:2px 0 14px; border-bottom:1px solid var(--line); }
  .partlib-inspector-head>div{ min-width:0; }
  .partlib-inspector-head h3{ margin:0; color:var(--txt); font-size:15px; line-height:1.3; font-weight:650; overflow-wrap:anywhere; }
  .partlib-inspector-head p{ margin:4px 0 0; color:var(--muted); font:600 10px/1.2 var(--mono); }
  .partlib-facts{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin:0; padding:12px 0; border-bottom:1px solid var(--line); }
  .partlib-facts>div{ min-width:0; padding:0 10px; border-left:1px solid var(--line); }
  .partlib-facts>div:first-child{ padding-left:0; border-left:0; }
  .partlib-facts dt{ color:var(--muted); font-size:10px; line-height:1.2; }
  .partlib-facts dd{ margin:4px 0 0; color:var(--txt); font:700 13px/1 var(--mono); }
  .partlib-inspector-section{ padding:14px 0; border-bottom:1px solid var(--line); }
  .partlib-inspector-section-head{ min-height:18px; display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:8px; }
  .partlib-inspector-section-head h4{ margin:0; color:var(--muted); font-size:11px; line-height:1.2; font-weight:700; text-transform:uppercase; letter-spacing:.04em; }
  .partlib-inspector-section-head span{ color:var(--low); font:600 10px/1 var(--mono); }
  .partlib-appearances{ min-width:0; display:flex; flex-direction:column; }
  .partlib-appearance{ display:grid; grid-template-columns:minmax(120px,.75fr) minmax(180px,1.25fr); align-items:center; gap:12px; min-height:48px; border-top:1px solid var(--line); color:var(--muted); }
  .partlib-appearance:first-child{ border-top:0; }
  .partlib-appearance.overridden{ background:rgba(169,133,221,.08); }
  .partlib-appearance-copy{ min-width:0; display:flex; flex-direction:column; gap:3px; }
  .partlib-appearance-copy b{ min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--txt); font-size:11px; line-height:1.2; font-weight:600; }
  .partlib-appearance-copy small{ color:var(--muted); font:600 9px/1.2 var(--mono); }
  .partlib-appearance.overridden .partlib-appearance-copy small{ color:var(--link); }
  .partlib-app-pick{ min-width:0; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:6px; }
  .partlib-appearance select{ width:100%; min-width:0; height:32px; border:1px solid var(--line); border-radius:4px; background:#1A1A1A; color:var(--txt); font:11px/1 Roboto,system-ui,sans-serif; padding:0 8px; outline:none; }
  .partlib-appearance select:focus{ border-color:rgba(169,133,221,.45); box-shadow:0 0 0 2px rgba(169,133,221,.12); }
  .partlib-reset{ appearance:none; width:30px; height:30px; display:grid; place-items:center; border:1px solid var(--line); border-radius:4px; background:rgba(255,255,255,.02); color:var(--muted); padding:0; font:15px/1 Roboto,system-ui,sans-serif; cursor:pointer; }
  .partlib-reset:hover, .partlib-reset:focus-visible{ outline:none; color:var(--link); border-color:rgba(169,133,221,.32); background:var(--wash); }
  .partlib-appearance-empty{ min-height:44px; display:flex; align-items:center; color:var(--low); font:600 10px/1.3 var(--mono); }
  .partlib-meta-editor{ display:flex; flex-direction:column; gap:9px; }
  .partlib-meta-field{ min-width:0; display:grid; grid-template-columns:76px minmax(0,1fr); align-items:start; gap:10px; }
  .partlib-meta-field>span{ padding-top:8px; color:var(--muted); font-size:11px; line-height:1.2; }
  .partlib-meta-field textarea{ width:100%; min-width:0; min-height:54px; max-height:140px; box-sizing:border-box; resize:vertical; border:1px solid var(--line); border-radius:4px; background:#1A1A1A; color:var(--txt); padding:8px 9px; font:12px/1.4 Roboto,system-ui,sans-serif; outline:none; }
  .partlib-meta-field textarea::placeholder, .partlib-link-row input::placeholder{ color:rgba(255,255,255,.46); }
  .partlib-meta-field textarea:focus{ border-color:rgba(169,133,221,.45); box-shadow:0 0 0 1px rgba(169,133,221,.16); }
  .partlib-meta-actions{ min-height:28px; display:flex; align-items:center; justify-content:flex-end; gap:10px; padding-left:86px; }
  .partlib-meta-actions>span{ margin-right:auto; color:var(--muted); font:600 10px/1 var(--mono); }
  .partlib-meta-actions>span.saved{ color:var(--link); }
  .partlib-meta-actions .b{ height:28px; padding:3px 9px; font-size:11px; }
  .partlib-technical{ padding:12px 0 2px; color:var(--muted); }
  .partlib-technical summary{ cursor:pointer; color:var(--muted); font-size:11px; font-weight:600; }
  .partlib-technical code, .partlib-technical>span{ display:block; margin-top:8px; color:var(--low); font:600 10px/1.35 var(--mono); overflow-wrap:anywhere; }
  .partlib-filters{ display:flex; align-items:center; gap:5px; flex-wrap:wrap; }
  .partlib-chip{ appearance:none; min-height:28px; display:inline-flex; align-items:center; gap:6px; border:1px solid var(--line); border-radius:4px; background:rgba(255,255,255,.025); color:var(--muted); padding:0 8px; font:700 10px/1 var(--mono); cursor:pointer; }
  .partlib-chip b{ color:var(--low); font:inherit; }
  .partlib-chip.on, .partlib-chip:hover{ color:var(--link); border-color:rgba(169,133,221,.35); background:rgba(169,133,221,.08); }
  .partlib-clear{ min-height:28px; padding:0 8px; font-size:11px; color:var(--muted); }
  .partlib-links{ display:flex; flex-direction:column; gap:6px; }
  .partlib-link-row{ display:grid; grid-template-columns:minmax(100px,.72fr) minmax(0,1.28fr); gap:6px; }
  .partlib-link-row input{ min-width:0; height:30px; border:1px solid var(--line); border-radius:4px; background:#1A1A1A; color:var(--txt); padding:0 9px; font:12px/1.2 Roboto,system-ui,sans-serif; outline:none; }
  .partlib-link-row input:focus{ border-color:rgba(169,133,221,.45); box-shadow:0 0 0 1px rgba(169,133,221,.16); }
  .importdlg{ width:min(680px,calc(100vw - 32px)); }
  .project-import-form{ display:flex; flex-direction:column; gap:18px; padding:2px 2px 4px; }
  .project-import-mode{ display:grid; grid-template-columns:1fr 1fr; width:100%; border:1px solid var(--line); border-radius:var(--r-field); overflow:hidden; background:#141414; }
  .project-import-mode button{ appearance:none; min-height:38px; border:0; border-left:1px solid var(--line); background:transparent; color:var(--muted); font:650 12px/1 Roboto,system-ui,sans-serif; cursor:pointer; }
  .project-import-mode button:first-child{ border-left:0; }
  .project-import-mode button:hover:not(:disabled){ color:var(--txt); background:rgba(255,255,255,.035); }
  .project-import-mode button:focus-visible{ position:relative; z-index:1; outline:2px solid var(--accent); outline-offset:-2px; }
  .project-import-mode button.selected{ color:var(--link); background:var(--wash); box-shadow:inset 0 -2px var(--accent); }
  .project-import-mode button:disabled{ }    
  .project-import-field{ display:grid; grid-template-columns:120px minmax(0,1fr); align-items:center; gap:14px; }
  .project-import-field>span{ color:var(--muted); font:650 12px/1.2 Roboto,system-ui,sans-serif; }
  .project-import-field input, .project-import-field select{ width:100%; min-width:0; box-sizing:border-box; height:38px; border:1px solid var(--line); border-radius:var(--r-field); background:#181818; color:var(--txt); padding:0 11px; font:12px/1.2 Roboto,system-ui,sans-serif; outline:none; }
  .project-import-field input:focus, .project-import-field select:focus{ border-color:rgba(169,133,221,.45); box-shadow:0 0 0 2px rgba(116,80,182,.18); }
  .project-import-files{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
  .project-import-file{ position:relative; min-width:0; min-height:82px; box-sizing:border-box; display:grid; grid-template-columns:44px minmax(0,1fr) auto; align-items:center; gap:10px; border:1px dashed #4b4b4b; border-radius:var(--r-surface); background:#171717; padding:12px; cursor:pointer; }
  .project-import-file.optional{ grid-column:1 / -1; min-height:64px; }
  .project-import-file:hover{ border-color:#727272; background:#1b1b1b; }
  .project-import-file.ready{ border-style:solid; border-color:rgba(169,133,221,.5); background:rgba(169,133,221,.07); }
  .project-import-file input{ position:absolute; inset:0; width:100%; height:100%; opacity:0; cursor:pointer; }
  .project-import-file-type{ display:grid; place-items:center; width:42px; height:42px; border:1px solid #505050; border-radius:var(--r-field); color:#d8d8d8; background:#222; font:750 10px/1 var(--mono); }
  .project-import-file.ready .project-import-file-type{ border-color:rgba(169,133,221,.45); color:var(--link); }
  .project-import-file-copy{ min-width:0; display:flex; flex-direction:column; gap:5px; }
  .project-import-file-copy b{ min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--txt); font:650 12px/1.2 Roboto,system-ui,sans-serif; }
  .project-import-file-copy small{ color:var(--low); font:650 10px/1 var(--mono); }
  .project-import-file-action{ color:var(--link); font:650 11px/1 Roboto,system-ui,sans-serif; }
  .project-import-error{ border:1px solid rgba(239,83,80,.34); border-radius:4px; background:var(--bad-fill); color:var(--bad-rest); padding:9px 11px; font:600 11px/1.45 Roboto,system-ui,sans-serif; }
  .project-import-progress{ display:flex; flex-direction:column; gap:14px; padding:4px 2px; }
  .project-import-progress-head{ display:flex; align-items:center; justify-content:space-between; gap:20px; }
  .project-import-progress-head b{ color:var(--txt); font:700 14px/1.2 Roboto,system-ui,sans-serif; }
  .project-import-progress-head span{ color:var(--link); font:750 12px/1 var(--mono); }
  .project-import-progress-track{ width:100%; height:8px; overflow:hidden; border-radius:4px; background:#292929; }
  .project-import-progress-track i{ display:block; height:100%; border-radius:4px; background:var(--primary); transition:width .2s ease; }
  .project-import-log{ display:flex; flex-direction:column; border-top:1px solid var(--line); }
  .project-import-log-row{ display:grid; grid-template-columns:18px minmax(0,1fr); align-items:center; gap:10px; min-height:42px; border-bottom:1px solid var(--line); }
  .project-import-log-row>span{ min-width:0; display:flex; align-items:baseline; justify-content:space-between; gap:16px; }
  .project-import-log-row b{ min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--muted); font:600 12px/1.3 Roboto,system-ui,sans-serif; }
  .project-import-log-row small{ flex:none; color:var(--low); font:600 10px/1 var(--mono); }
  .project-import-log-mark{ position:relative; width:12px; height:12px; box-sizing:border-box; }
  .project-import-log-row.done .project-import-log-mark::after{ content:""; position:absolute; left:2px; top:1px; width:5px; height:8px; border:solid var(--primary); border-width:0 2px 2px 0; transform:rotate(45deg); }
  .project-import-log-row.active b{ color:var(--txt); }
  .project-import-log-row.active small{ color:var(--link); }
  .project-import-log-row.active .project-import-log-mark{ border:2px solid rgba(169,133,221,.28); border-top-color:var(--primary); border-radius:50%; animation:project-import-spin .8s linear infinite; }
  @keyframes project-import-spin{ to{ transform:rotate(360deg); } }
  .project-import-materials{ min-width:0; display:flex; flex-direction:column; }
  .project-import-materials-head{ min-height:48px; display:flex; align-items:center; justify-content:space-between; gap:18px; padding:0 0 12px; border-bottom:1px solid var(--line); }
  .project-import-materials-head>div{ min-width:0; display:flex; flex-direction:column; gap:5px; }
  .project-import-materials-head b{ color:var(--txt); font:700 14px/1.2 Roboto,system-ui,sans-serif; }
  .project-import-materials-head span{ color:var(--muted); font:600 10px/1 var(--mono); }
  .project-import-material-bulk{ min-height:44px; display:grid; grid-template-columns:145px minmax(190px,1fr) auto; align-items:center; gap:8px; border-bottom:1px solid var(--line); }
  .project-import-material-bulk label{ display:flex; align-items:center; gap:8px; color:var(--muted); font:600 11px/1 Roboto,system-ui,sans-serif; }
  .project-import-material-bulk input, .project-import-material-row>input{ accent-color:var(--accent); }
  .project-import-material-bulk select, .project-import-material-row select{ min-width:0; height:32px; border:1px solid var(--line); border-radius:4px; background:#181818; color:var(--txt); padding:0 8px; font:11px/1.2 Roboto,system-ui,sans-serif; outline:none; }
  .project-import-material-bulk select:focus, .project-import-material-row select:focus{ border-color:rgba(169,133,221,.5); box-shadow:0 0 0 2px rgba(116,80,182,.16); }
  .project-import-material-list{ min-width:0; display:flex; flex-direction:column; }
  .project-import-material-row{ min-width:0; min-height:58px; display:grid; grid-template-columns:18px 24px minmax(160px,.85fr) minmax(220px,1.15fr); align-items:center; gap:10px; border-bottom:1px solid var(--line); padding:7px 0; }
  .project-import-material-swatch{ width:20px; height:20px; box-sizing:border-box; border:1px solid rgba(255,255,255,.24); border-radius:4px; background:var(--material-color); }
  .project-import-material-source{ min-width:0; display:flex; flex-direction:column; gap:4px; }
  .project-import-material-source b{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--txt); font:600 12px/1.2 Roboto,system-ui,sans-serif; }
  .project-import-material-source small{ color:var(--muted); font:600 10px/1 var(--mono); }
  @media(max-width:680px){
    .partlib-link-row{ grid-template-columns:1fr; }
  }
  .onboard-note{ color:var(--muted); font-size:12px; line-height:1.5; margin:0 0 12px; }
  .onboarddlg input, .onboarddlg textarea, .onboarddlg select{ min-width:0; border:1px solid var(--line); border-radius:4px; background:#1A1A1A; color:var(--txt); font:12px/1.35 Roboto,system-ui,sans-serif; outline:none; }
  .onboarddlg input, .onboarddlg select{ height:30px; padding:0 9px; }
  .onboarddlg input[data-form-field="title"]{ width:100%; box-sizing:border-box; }
  .onboarddlg textarea{ width:100%; min-height:48px; resize:vertical; padding:8px 9px; box-sizing:border-box; }
  .onboarddlg input:focus, .onboarddlg textarea:focus, .onboarddlg select:focus{ border-color:rgba(169,133,221,.45); box-shadow:0 0 0 1px rgba(169,133,221,.16); }
  .onboard-count{ color:var(--muted); font:600 11px/1 var(--mono); }
  .onboard-list, .onboard-card-list{ display:flex; flex-direction:column; gap:10px; }
  .onboard-list .section-list-head, .onboard-card-list .section-list-head{ display:none; }
  .onboard-list .section-list-body, .onboard-card-list .section-list-body{ display:flex; flex-direction:column; gap:10px; }
  .onboard-q{ border:1px solid var(--line); border-radius:8px; background:rgba(255,255,255,.025); padding:12px; display:flex; flex-direction:column; gap:8px; }
  .onboard-card{ border:1px solid var(--line); border-radius:8px; background:rgba(27,27,27,.48); padding:12px; display:flex; flex-direction:column; gap:8px; }
  .onboard-qhead, .onboard-ahead{ display:grid; grid-template-columns:auto minmax(180px,1fr) auto auto; gap:8px; align-items:center; }
  .onboard-cardhead{ display:grid; grid-template-columns:auto minmax(120px,.6fr) minmax(110px,.4fr) auto; gap:8px; align-items:center; }
  .onboard-qhead b, .onboard-ahead b, .onboard-cardhead b{ color:var(--accent); font:700 12px/1 var(--mono); }
  .onboard-cardhead input[readonly]{ color:var(--low); background:#151515; }
  .onboard-answers{ display:flex; flex-direction:column; gap:8px; margin-top:2px; }
  .onboard-a{ border-top:1px solid var(--line); padding-top:8px; display:flex; flex-direction:column; gap:7px; }
  .form-routes{ display:flex; flex-direction:column; gap:6px; }
  .form-route{ display:grid; grid-template-columns:minmax(160px,.8fr) minmax(160px,1fr) auto; gap:7px; align-items:center; }
  .form-route.empty{ display:block; color:var(--muted); font:600 11px/1.4 var(--mono); padding:5px 0; }
  .form-tree-toolbar{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:0 0 10px; }
  .form-tree-legend{ display:flex; align-items:center; gap:12px; color:var(--muted); font:600 10px/1 var(--mono); }
  .form-tree-legend .need{ color:var(--link); }
  .form-tree-legend .out{ color:var(--bad-rest); }
  .form-tree-count{ margin-left:auto; color:var(--muted); font:600 10px/1 var(--mono); white-space:nowrap; }
  .form-tree-warning{ border:1px solid rgba(232,160,154,.34); border-radius:4px; padding:8px 9px; background:var(--bad-fill); color:var(--bad-rest); }
  .form-tree-grid{ min-height:280px; max-height:min(65vh,680px); overflow:auto; border:1px solid var(--line); border-radius:4px; background:var(--panel); }
  .form-question-tree th.rh{ width:280px; min-width:280px; padding:7px 9px; font:600 11px/1.25 Roboto,system-ui,sans-serif; }
  .form-question-tree .form-tree-name{ display:block; padding-right:48px; overflow:hidden; text-overflow:ellipsis; }
  .form-question-tree .form-tree-or{ margin-left:6px; color:var(--link); font:700 9px/1 var(--mono); }
  .form-question-tree .form-tree-actions{ position:absolute; top:50%; right:7px; display:flex; gap:3px; transform:translateY(-50%); }
  .form-question-tree .form-tree-actions .gx{ min-width:20px; width:20px; height:20px; padding:0; color:var(--muted); font:700 11px/1 var(--mono); }
  .form-question-tree .form-tree-actions .gx:hover{ color:var(--link); }
  .form-question-tree .form-tree-actions .gx:last-child:hover{ color:var(--bad-rest); }
  .form-question-tree .form-tree-always{ display:block; margin-top:3px; color:var(--low); font:500 9px/1.3 var(--mono); white-space:normal; }
  .form-question-tree td.cell.off{ cursor:not-allowed; background:rgba(255,255,255,.014); color:transparent; }
  .form-question-tree td.cell.off:hover{ box-shadow:none; }
  @media(max-width:680px){ .onboard-qhead, .onboard-ahead, .onboard-cardhead, .form-route{ grid-template-columns:1fr; } .onboard-qhead b, .onboard-ahead b, .onboard-cardhead b{ display:none; } }
  .treeopt-toolbar{ display:flex; align-items:center; gap:10px; padding:0 0 10px; border-bottom:1px solid var(--line); margin-bottom:4px; }
  .treeopt-count{ color:var(--muted); font:600 11px/1 var(--mono); }
  .treeopt-head input, .treeopt-row .treeopt-option-label{ width:100%; min-width:0; box-sizing:border-box; border:1px solid transparent; border-radius:4px; background:transparent; color:var(--txt); font:12px/1.35 Roboto,system-ui,sans-serif; padding:4px 6px; outline:none; }
  .treeopt-head input:focus, .treeopt-row .treeopt-option-label:focus{ border-color:rgba(169,133,221,.45); background:#1C1C1C; box-shadow:0 0 0 1px rgba(169,133,221,.16); }
  .treeopt-list{ display:flex; flex-direction:column; gap:0; }
  .treeopt-list .dragging{ opacity:.48; }
  .treeopt-head .tw{ text-align:center; color:var(--muted); }
  .treeopt-head .gc{ color:var(--muted); font:600 10px/1 var(--mono); text-align:right; }
  .treeopt-axis:first-child .treeopt-head{ margin-top:0; border-top:0; }
  .treeopt-head{ display:grid; grid-template-columns:18px minmax(150px,1fr) 26px 24px 24px; align-items:center; gap:6px; min-height:34px; padding:6px 0; }
  .treeopt-values{ padding:0 0 8px 18px; }
  .treeopt-values.closed{ display:none; }
  .treeopt-row{ min-height:34px; padding:4px 0; display:grid; grid-template-columns:18px minmax(130px,.75fr) minmax(220px,1.25fr) 82px 24px; align-items:start; gap:6px; }
  .treeopt-detail-preview{ min-width:0; color:var(--muted); font:11px/1.35 Roboto,system-ui,sans-serif; padding:4px 6px 0; overflow:hidden; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
  .treeopt-detail-preview.empty{ color:var(--low); font-style:italic; }
  .treeopt-detail{ height:24px; padding:2px 10px; font-size:11px; justify-self:end; color:var(--muted); }
  .treeopt-detail.hascopy{ color:var(--accent); border-color:rgba(169,133,221,.38); background:rgba(116,80,182,.14); }
  .treeopt-head .gx, .treeopt-row .gx{ color:var(--muted); }
  .treeopt-head .treeopt-add-option:hover{ color:var(--link); }
  .treeopt-head .gx:not(.treeopt-add-option):hover, .treeopt-row .gx:hover{ color:var(--bad); }
  .treeopt-row.drophot{ outline:2px solid var(--accent); background:rgba(169,133,221,.18); }
  .treeopt-row.dropbefore{ box-shadow:inset 0 2px 0 var(--accent); }
  .treeopt-row.dropafter{ box-shadow:inset 0 -2px 0 var(--accent); }
  @media (max-width:760px){
    .treeopt-head{ grid-template-columns:18px minmax(120px,1fr) 24px 24px 24px; }
    .treeopt-row{ grid-template-columns:18px minmax(95px,.8fr) minmax(120px,1.1fr) 74px 24px; }
  }
  @media (max-width:520px){
    .treeopt-toolbar{ flex-wrap:wrap; gap:8px; }
    .treeopt-values{ padding-left:10px; }
    .treeopt-head{ grid-template-columns:18px minmax(0,1fr) 24px 24px 24px; gap:5px; }
    .treeopt-row{ grid-template-columns:18px minmax(0,1fr) 24px; gap:5px; }
    .treeopt-detail-preview{ grid-column:2 / -1; padding-left:0; }
    .treeopt-detail{ grid-column:2; justify-self:start; }
    .treeopt-row>.gx{ grid-column:3; grid-row:1; justify-self:end; }
  }
  .matrow{ border-top:1px solid var(--line); padding:6px 0; }
  .matrow.previewing{ background:var(--wash); }
  .matrow.previewing .mn .ml{ color:var(--link); }
  .matrow.matsel{ background:var(--wash); outline:1px solid rgba(169,133,221,.5); border-radius:4px; }    
  .matrow .mn{ display:flex; align-items:center; gap:7px; color:var(--txt); margin-bottom:3px; }
  .matrow .mn input[type=color]{ width:22px; height:17px; border:1px solid var(--line); border-radius:4px; background:none; padding:0; cursor:pointer; }
  .matrow .mn .ml{ flex:1; }
  .matrow .matlbl{ width:58px; }
  .matrow .mn .uisw{ width:22px; height:17px; border:1px solid var(--line); border-radius:4px; flex:0 0 auto; }
  .uihdr{ display:flex; align-items:center; margin:14px 0 2px; border-top:1px solid var(--line); padding-top:10px; }    
  .rs{ flex:0 0 auto; background:none; border:0; color:var(--muted); cursor:pointer; font-size:13px; line-height:1; padding:0 2px; }
  .rs:hover{ color:var(--accent); }
  details>summary{ cursor:pointer; color:var(--muted); list-style:none; } details[open]>summary{ color:var(--txt); }
  .note{ color:var(--muted); font-size:11px; }

  



















  








  #introPanel{ display:none; }
  body.intro .side, body.intro .play, body.intro .hud, body.intro .gizmo, body.intro #orientBar, body.intro #orTop,
  body.intro #buildPanel, body.intro #guidePanel, body.intro #delivPanel, body.intro #cfgBar, body.intro #cfgTop,
  body.intro #pvTop, body.intro #pvCap, body.intro #pvIsland, body.intro #viewCtl, body.intro #projPanel, body.intro #treePanel{ display:none !important; }
  body.builderdeploy.intro #introTop.floatbar.builder-page-top{ display:grid; }
  body.intro #introPanel{ display:block; position:absolute; inset:0; z-index:10; background:transparent; overflow:hidden; touch-action:none; overscroll-behavior:contain; }
  












  body.builderdeploy #introCol.island{ background:transparent; border:0; border-radius:0; box-shadow:none; }
   
  





  body.intro #introPanel::before{ content:''; position:absolute; inset:0; pointer-events:none; z-index:0;
    --intro-scrim-edge:calc(var(--island-size, 380px) + var(--island-inset, 16px)); --intro-scrim-band:84px;
    background:linear-gradient(270deg,
      rgba(21,21,21,.9) 0,
      rgba(21,21,21,.9) calc(var(--intro-scrim-edge) - var(--intro-scrim-band)),
      rgba(21,21,21,.6) var(--intro-scrim-edge),
      rgba(21,21,21,0) calc(var(--intro-scrim-edge) + var(--intro-scrim-band))); }
  html[data-island-placement="bottombar"] body.intro #introPanel::before{ background:linear-gradient(0deg, rgba(21,21,21,.94) 0%, rgba(21,21,21,.9) 40%, rgba(21,21,21,.6) 50%, rgba(21,21,21,0) 60%); }
   
  html[data-corner-slot="island"] body.builderdeploy #introCol > .island-corner{ border-bottom-color:transparent; }
  







  #introCol .intro-pages{ position:relative; flex:1 1 auto; min-height:0; }
  .intro-slide{ position:absolute; left:var(--island-pad, 15px); right:var(--island-pad, 15px); top:var(--island-pad, 15px); bottom:var(--island-pad, 15px); display:flex; flex-direction:column; gap:14px; box-sizing:border-box; overflow:hidden;    
    opacity:0; visibility:hidden; transform:translateY(28px); transition:opacity .4s ease, transform .4s ease, visibility 0s linear .4s; }
  .intro-slide.on{ opacity:1; visibility:visible; transform:none; transition:opacity .55s ease .2s, transform .55s ease .2s, visibility 0s; }
  .intro-slide.intro-hero{ top:50%; bottom:auto; max-height:calc(100% - 2 * var(--island-pad, 15px)); transform:translateY(-50%) translateY(28px); }
  .intro-slide.intro-hero.on{ transform:translateY(-50%); }
   
  .intro-body{ position:relative; display:flex; flex-direction:column; gap:14px; min-height:0; flex:1 1 auto; overflow:auto; touch-action:pan-y; overscroll-behavior:contain; padding-bottom:6px; }
  .intro-title{ margin:0; font-size:clamp(30px, 3vw, 40px); font-weight:700; line-height:1.02; letter-spacing:-.02em; color:var(--txt); max-width:14ch; }    
  .intro-slide h2{ margin:0; font-size:clamp(21px, 2.2vw, 28px); font-weight:600; line-height:1.12; letter-spacing:-.012em; color:var(--txt); max-width:22ch; }
  .intro-slide p{ margin:0; font-size:15px; line-height:1.6; color:var(--muted); max-width:48ch; }
  .intro-slide p + p{ margin-top:2px; }
  .intro-lead{ font-size:17px !important; color:var(--txt) !important; opacity:.82; max-width:40ch !important; }
  .intro-hero-body{ display:flex; flex-direction:column; gap:12px; }
  

  .intro-deeper{ display:flex; flex-direction:column; gap:8px; margin-top:8px; padding-top:12px; border-top:1px solid var(--line); }
  .intro-deeper .k{ display:flex; align-items:center; }
  .intro-deeper p{ color:var(--low); font-size:14px; }
  .intro-scrollhint{ display:flex; align-items:center; gap:10px; margin-top:26px; font-size:12px; color:var(--low); text-transform:uppercase; letter-spacing:.08em; font-weight:600; }
  .intro-scrollhint i{ width:1px; height:34px; background:linear-gradient(180deg, var(--accent), rgba(169,133,221,0)); }
   
  






  .intro-nav{ position:fixed; z-index:2; display:flex; flex-direction:column; gap:12px; transform:translateY(-50%); }
  html[data-island-placement="sidebar"] .intro-nav{ top:50%; right:calc(var(--island-size, var(--island-max-w, 380px)) + var(--island-inset, 16px) + 8px); }
  html[data-island-placement="bottombar"] .intro-nav{ right:6px; top:calc((54px + var(--app-h, 100dvh) - var(--island-size, 50%)) / 2); }
  .intro-nav button{ width:9px; height:9px; padding:0; border-radius:50%; border:1px solid rgba(255,255,255,.42); background:transparent; cursor:pointer; transition:background .18s ease, border-color .18s ease, transform .18s ease; }
  .intro-nav button:hover{ border-color:var(--txt); }
  .intro-nav button.on{ background:var(--accent); border-color:var(--accent); transform:scale(1.25); }
  .intro-nav button[hidden]{ display:none; }    
  


  .intro-paths{ margin-top:0; flex:0 0 auto; max-width:48ch; }    
  .intro-paths[hidden]{ display:none; }    
  #introCol .intro-paths.cfg-selector{ padding:0; flex:0 0 auto; }        
   
   
  .intro-cta{ position:absolute; left:0; top:0; z-index:3; opacity:0; pointer-events:none; transition:opacity .7s ease; }
  .intro-cta.on{ opacity:1; pointer-events:auto; }
  .intro-cta-button{ width:138px; height:138px; border-radius:50%; border:0; padding:0 16px; background:var(--accent); color:#161616; cursor:pointer; font:700 15px/1.15 Roboto,system-ui,sans-serif; letter-spacing:-.01em;
    box-shadow:0 0 0 12px rgba(169,133,221,.22), 0 0 0 26px rgba(169,133,221,.08), 0 18px 44px rgba(0,0,0,.5); transition:transform .18s ease, box-shadow .18s ease; }
  .intro-cta-button:hover{ transform:scale(1.05); box-shadow:0 0 0 16px rgba(169,133,221,.26), 0 0 0 32px rgba(169,133,221,.1), 0 22px 50px rgba(0,0,0,.5); }
  .intro-cta-button:focus-visible{ outline:none; box-shadow:0 0 0 3px var(--txt), 0 0 0 14px rgba(169,133,221,.26); }
   
  @media (max-height:520px){
    .intro-slide{ gap:8px; }
    .intro-title{ font-size:clamp(24px, 4.2vw, 34px); }
    .intro-slide h2{ font-size:clamp(18px, 2.6vw, 24px); }
    .intro-slide p{ font-size:13.5px; line-height:1.5; }
    .intro-lead{ font-size:15px !important; }
    .intro-scrollhint{ margin-top:12px; }
    .intro-cta-button{ width:104px; height:104px; font-size:13px; }
  }
  

  @media (orientation:portrait){
    .intro-title{ font-size:clamp(28px, 8vw, 40px); }
    .intro-slide h2{ font-size:clamp(21px, 5.6vw, 27px); }
    .intro-scrollhint{ margin-top:14px; }
    .intro-cta-button{ width:116px; height:116px; font-size:14px; }
  }
  

  .environment-notice{ position:fixed; left:var(--m-ui-space-4); bottom:var(--m-ui-space-4); z-index:30;
    max-width:min(420px, calc(100vw - 2 * var(--m-ui-space-4))); white-space:normal; pointer-events:none; }
  .dev-touch body.builderdeploy #c{ position:absolute; top:0; left:0;
    width:var(--scene-area-w, 100%); height:var(--scene-area-h, 100%); }
