/* Molstudio Lab — Daylight Pro skin for the scientific workbench shell.
   Tokens come from assets/site-daylight.css; this styles the sw-* vocabulary. */

.sw-app{height:100dvh;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;background:var(--bg);color:var(--tx);font:13px/1.5 var(--sans)}
.sw-skip-link{position:absolute;left:-9999px;top:8px;z-index:200;padding:8px 14px;border-radius:7px;background:var(--ink);color:var(--ink-tx);font:600 12px var(--sans)}
.sw-skip-link:focus{left:8px}
.sw-visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* ── masthead ────────────────────────────────────── */
.sw-masthead{display:flex;align-items:center;gap:14px;height:52px;padding:0 clamp(10px,1.6vw,18px);background:var(--chrome);border-bottom:1px solid var(--bd)}
.sw-brand{display:flex;align-items:center;gap:9px;color:var(--tx);flex:none}
.sw-brand svg{width:20px;height:20px;fill:none}
.sw-brand svg path{stroke:#8A8F96;stroke-width:2}
.sw-brand svg circle:nth-of-type(1){fill:var(--acc)}
.sw-brand svg circle:nth-of-type(2){fill:var(--tx)}
.sw-brand svg circle:nth-of-type(3){fill:var(--cyan)}
.sw-brand-axis{display:none}
.sw-brand-wordmark{display:flex;align-items:baseline;gap:6px;font-family:var(--cond);font-weight:600;font-size:14px;letter-spacing:.13em;text-transform:uppercase}
.sw-brand-wordmark strong{color:var(--cyan);font-weight:600}
.sw-project-heading{display:flex;flex-direction:column;gap:1px;min-width:0}
.sw-kicker{font:8.5px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--fnt);white-space:nowrap}
.sw-project-name{display:inline-flex;align-items:center;gap:7px;border:0;background:none;padding:2px 0;color:var(--tx);font:600 12.5px var(--sans);cursor:pointer;white-space:nowrap}
.sw-project-name:hover{color:var(--acc)}
.sw-project-name span:last-child{color:var(--fnt);font-size:10px}
.sw-masthead-state{display:flex;align-items:center;gap:6px;margin-left:6px}
.sw-state-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 9px;border-radius:5px;font:9px var(--mono);letter-spacing:.1em;text-transform:uppercase;background:var(--clip-grey);border:1px solid var(--clip-grey-bd);color:var(--clip-grey-tx);white-space:nowrap}
.sw-state-chip i{width:5px;height:5px;border-radius:50%;background:currentColor}
.sw-state-chip--quiet{background:none;border-color:var(--bd);color:var(--fnt)}
.sw-header-actions{display:flex;align-items:center;gap:6px;margin-left:auto}
.site-account-link--lab{height:28px;display:inline-flex;align-items:center;padding:0 10px;border-radius:6px;color:var(--mut);font:11.5px var(--sans)}
.site-account-link--lab:hover{background:var(--hov);color:var(--tx)}
.sw-button{height:30px;display:inline-flex;align-items:center;gap:7px;padding:0 12px;border:1px solid var(--bd);border-radius:7px;background:var(--card);color:var(--mut);font:500 11.5px var(--sans);cursor:pointer;white-space:nowrap}
.sw-button:hover{border-color:var(--fnt);color:var(--tx)}
.sw-button--quiet{background:none}
.sw-button--primary{background:var(--ink);border-color:var(--ink);color:var(--ink-tx);font-weight:600}
.sw-button--primary:hover{filter:brightness(1.18);color:var(--ink-tx)}
.sw-button--outline{background:var(--panel)}
.sw-button--cloud{border-color:var(--acct-bd);background:var(--acct-bg);color:var(--green);font-weight:600}
.sw-button--cloud:hover{border-color:var(--green);color:var(--green)}
.sw-button--transfer{background:var(--ink);border-color:var(--ink);color:var(--ink-tx);font-weight:600}
.sw-button--transfer:hover{filter:brightness(1.18);color:var(--ink-tx)}
.sw-button--transfer svg{width:13px;height:13px;fill:none}
.sw-button--transfer svg path{stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.sw-mobile-lab-menu{display:none}

/* ── mobile tabs ─────────────────────────────────── */
.sw-mobile-panel-tabs{display:none;gap:2px;padding:6px 10px;background:var(--chrome);border-bottom:1px solid var(--bd)}
.sw-mobile-panel-tabs button{flex:1;height:34px;border:0;border-radius:7px;background:none;color:var(--fnt);font:500 12px var(--sans);cursor:pointer}
.sw-mobile-panel-tabs button[aria-selected="true"]{background:var(--ink);color:var(--ink-tx)}

/* ── workspace ───────────────────────────────────── */
.sw-workspace{display:grid;grid-template-columns:262px minmax(0,1fr) 336px;gap:10px;min-height:0;padding:10px}
.sw-structure-panel,.sw-notebook{display:flex;flex-direction:column;min-height:0;background:var(--panel);border:1px solid var(--bd);border-radius:10px;overflow:hidden}
.sw-structure-panel{overflow-y:auto}
.sw-center{display:flex;flex-direction:column;min-width:0;min-height:0;gap:8px}
.sw-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:11px 13px 9px}
.sw-panel-heading>div{display:flex;align-items:center;gap:8px}
.sw-panel-heading h2{margin:0;font:600 12px var(--sans)}
.sw-index{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:5px;background:var(--inset);color:var(--fnt);font:10px var(--mono)}
.sw-icon-button{width:26px;height:26px;border:1px solid var(--bd);border-radius:6px;background:var(--card);color:var(--mut);font-size:13px;cursor:pointer;display:grid;place-items:center;flex:none}
.sw-icon-button:hover{border-color:var(--fnt);color:var(--tx)}
.sw-section-label{font:9px var(--mono);letter-spacing:.15em;text-transform:uppercase;color:var(--fnt)}
.sw-section-row{display:flex;align-items:center;justify-content:space-between;gap:8px}
.sw-count{font:10px var(--mono);color:var(--fnt);background:var(--inset);border-radius:5px;padding:2px 7px}

.sw-source-summary,.sw-identity-controls,.sw-tree-section,.sw-state-key{padding:10px 13px;border-top:1px solid var(--bd-soft)}
.sw-source-empty{display:flex;gap:10px;margin-top:9px;padding:11px 12px;border:1px dashed var(--bd);border-radius:8px;background:var(--card)}
.sw-empty-mark{font:16px var(--mono);color:var(--fnt)}
.sw-source-empty strong{display:block;font:600 12px var(--sans)}
.sw-source-empty span{display:block;margin-top:2px;font-size:11px;line-height:1.5;color:var(--fnt)}
.sw-identity-controls label{display:block;margin-top:9px}
.sw-identity-controls label:first-of-type{margin-top:9px}
.sw-identity-controls label span{display:block;font:9px var(--mono);letter-spacing:.13em;text-transform:uppercase;color:var(--fnt)}
.sw-identity-controls select{display:block;width:100%;margin-top:4px;height:32px;border:1px solid var(--bd);border-radius:7px;background:var(--card);color:var(--tx);padding:0 9px;font:12px var(--sans)}
.sw-identity-controls select:disabled{color:var(--fnt);background:var(--inset)}
.sw-identity-controls p{margin:10px 0 0;font-size:10.5px;line-height:1.55;color:var(--fnt)}
.sw-tree{margin-top:9px}
.sw-tree-empty{padding:12px;border:1px dashed var(--bd);border-radius:8px;background:var(--card)}
.sw-tree-empty span{display:block;font:600 12px var(--sans)}
.sw-tree-empty small{display:block;margin-top:3px;font-size:10.5px;line-height:1.55;color:var(--fnt)}
.sw-state-key dl{margin:9px 0 0;display:flex;flex-direction:column;gap:8px}
.sw-state-key dt{display:flex;align-items:center;gap:7px;font:600 11.5px var(--sans)}
.sw-state-key dd{margin:2px 0 0 15px;font-size:10.5px;line-height:1.5;color:var(--fnt)}
.sw-state-key i,.sw-welcome-classes i{width:8px;height:8px;border-radius:50%;flex:none;display:inline-block}
[data-kind="deposited"]{background:var(--cyan)}
[data-kind="predicted"]{background:var(--clip-purple-bd)}
[data-kind="derived"]{background:var(--acc)}

/* ── center: toolbar, sequence, viewport ─────────── */
.sw-context-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px;background:var(--panel);border:1px solid var(--bd);border-radius:10px}
.sw-tool-group{display:inline-flex;padding:3px;border-radius:8px;background:var(--inset);gap:2px}
.sw-tool{height:28px;display:inline-flex;align-items:center;gap:6px;padding:0 11px;border:0;border-radius:6px;background:none;color:var(--fnt);font:500 11.5px var(--sans);cursor:pointer}
.sw-tool span{font-size:12px}
.sw-tool:hover{color:var(--tx)}
.sw-tool.is-active{background:var(--card);color:var(--tx);box-shadow:var(--btn-sh)}
.sw-view-controls{display:flex;align-items:center;gap:8px}
.sw-inline-select{display:flex;align-items:center;gap:7px;font:9px var(--mono);letter-spacing:.13em;text-transform:uppercase;color:var(--fnt)}
.sw-inline-select select{height:30px;border:1px solid var(--bd);border-radius:7px;background:var(--card);color:var(--tx);padding:0 8px;font:12px var(--sans)}
.sw-layer-button{height:30px;display:inline-flex;align-items:center;gap:7px;padding:0 11px;border:1px solid var(--bd);border-radius:7px;background:var(--card);color:var(--mut);font:500 11.5px var(--sans);cursor:pointer}
.sw-layer-button:hover{border-color:var(--fnt);color:var(--tx)}
.sw-layer-button strong{font:10px var(--mono);background:var(--inset);border-radius:4px;padding:1px 6px;color:var(--tx)}

.sw-sequence-strip{background:var(--panel);border:1px solid var(--bd);border-radius:10px;overflow:hidden}
.sw-sequence-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;border-bottom:1px solid var(--bd-soft)}
.sw-sequence-heading>div{display:flex;align-items:center;gap:8px}
.sw-sequence-heading h2{margin:0;font:600 12px var(--sans)}
.sw-sequence-meta{font:10px var(--mono);color:var(--fnt)}
.sw-sequence-content{padding:9px 12px;font:12px var(--mono);letter-spacing:.14em;color:var(--mut);overflow-x:auto;white-space:nowrap}
.sw-sequence-empty{font:11px var(--sans);letter-spacing:0;color:var(--fnt)}

.sw-viewport-shell{position:relative;flex:1;min-height:0;border:1px solid var(--bd);border-radius:10px;overflow:hidden;background:#101215}
#science-viewport{position:absolute;inset:0;width:100%;height:100%}
.sw-viewport-grid{position:absolute;inset:0;pointer-events:none;background:linear-gradient(rgba(138,143,150,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(138,143,150,.06) 1px,transparent 1px);background-size:44px 44px}
.sw-scene-overlays{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.sw-axis-triad{position:absolute;left:12px;bottom:36px;display:flex;flex-direction:column;gap:2px;pointer-events:none}
.sw-axis-triad i{font:9px var(--mono);font-style:normal;color:#7C828B}
.sw-axis-triad i[data-axis="x"]{color:#E0708C}
.sw-axis-triad i[data-axis="y"]{color:#6fbf7d}
.sw-axis-triad i[data-axis="z"]{color:#58C8D8}
.sw-viewport-readout{position:absolute;left:10px;right:10px;display:flex;gap:8px;pointer-events:none;font:9.5px var(--mono);letter-spacing:.08em;color:#B4B9C0}
.sw-viewport-readout span{background:rgba(16,18,21,.66);border:1px solid #2B2F36;border-radius:5px;padding:3px 8px;backdrop-filter:blur(4px)}
.sw-viewport-readout--top{top:10px}
.sw-viewport-readout--bottom{bottom:10px}
.sw-viewport-readout--top span:last-child,.sw-viewport-readout--bottom span:last-child{margin-left:auto}
.sw-view-message{position:absolute;left:50%;bottom:44px;transform:translateX(-50%);background:var(--panel);border:1px solid var(--bd);border-radius:8px;padding:8px 13px;font-size:11.5px;color:var(--tx)}

/* welcome / import surface */
.sw-welcome{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-start;gap:0;max-width:520px;margin:0 auto;padding:26px clamp(18px,4vw,30px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:#2B2F36 transparent}
.sw-welcome::-webkit-scrollbar{width:8px}
.sw-welcome::-webkit-scrollbar-thumb{background:#2B2F36;border-radius:4px}
.sw-welcome::-webkit-scrollbar-track{background:transparent}
.sw-welcome-label{margin-top:auto}
.sw-welcome-classes{margin-bottom:auto}
.sw-welcome::before{content:"";position:absolute;inset:0;z-index:-1}
.sw-welcome-close{position:absolute;top:12px;right:12px;width:28px;height:28px;border:1px solid #2B2F36;border-radius:7px;background:rgba(16,18,21,.6);color:#B4B9C0;font-size:14px;cursor:pointer}
.sw-welcome-label{display:flex;align-items:center;gap:9px;font:9.5px var(--mono);letter-spacing:.2em;text-transform:uppercase;color:#7FD4E2}
.sw-welcome-label span{color:#F0A63C}
.sw-welcome h1{margin:10px 0 0;font-family:var(--cond);font-weight:600;font-size:clamp(30px,4vw,44px);line-height:.95;text-transform:uppercase;color:#F3F4F5}
.sw-welcome-intro{margin:12px 0 0;font-size:12.5px;line-height:1.65;color:#B4B9C0;max-width:52ch}
.sw-import-mode{margin:16px 0 0;padding:0;border:0}
.sw-import-mode legend{font:9px var(--mono);letter-spacing:.15em;text-transform:uppercase;color:#7C828B;padding:0;margin-bottom:8px}
.sw-import-mode label{display:flex;gap:10px;align-items:flex-start;padding:9px 11px;border:1px solid #2B2F36;border-radius:8px;background:rgba(34,37,42,.72);cursor:pointer;margin-top:6px}
.sw-import-mode label:has(input:checked){border-color:#F0A63C;box-shadow:inset 2px 0 0 #F0A63C}
.sw-import-mode input{margin-top:2px;accent-color:#F0A63C}
.sw-import-mode strong{display:block;font:600 12px var(--sans);color:#E8EAEC}
.sw-import-mode small{display:block;margin-top:1px;font-size:10.5px;line-height:1.5;color:#7C828B}
.sw-rcsb-import{margin-top:16px}
.sw-rcsb-import>label{display:block;font:9px var(--mono);letter-spacing:.15em;text-transform:uppercase;color:#7C828B}
.sw-rcsb-import div{display:flex;gap:8px;margin-top:6px}
.sw-rcsb-import input{flex:1;height:36px;border:1px solid #2B2F36;border-radius:8px;background:#17181C;color:#E8EAEC;padding:0 12px;font:13px var(--mono);letter-spacing:.06em;outline:none}
.sw-rcsb-import input:focus{border-color:#F0A63C}
.sw-rcsb-import small{display:block;margin-top:7px;font-size:10.5px;line-height:1.5;color:#7C828B}
.sw-import-divider{display:flex;align-items:center;gap:10px;margin:14px 0;color:#7C828B;font:9px var(--mono);letter-spacing:.2em;text-transform:uppercase}
.sw-import-divider::before,.sw-import-divider::after{content:"";flex:1;border-top:1px solid #2B2F36}
.sw-local-import{display:flex;align-items:center;gap:10px}
.sw-local-import .sw-button--outline{background:rgba(34,37,42,.72);border-color:#2B2F36;color:#E8EAEC}
.sw-local-import .sw-button--outline:hover{border-color:#7C828B}
.sw-local-import span{font:9.5px var(--mono);letter-spacing:.08em;color:#7C828B}
.sw-welcome-classes{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:18px;margin-bottom:auto}
.sw-welcome-classes div{padding:9px 10px;border:1px solid #2B2F36;border-radius:8px;background:rgba(34,37,42,.72)}
.sw-welcome-classes strong{display:block;margin-top:6px;font:600 11px var(--sans);color:#E8EAEC}
.sw-welcome-classes span{display:block;margin-top:2px;font-size:9.5px;line-height:1.5;color:#7C828B}

/* ── notebook ────────────────────────────────────── */
.sw-panel-heading--notebook{border-bottom:0}
.sw-notebook-tabs{display:flex;gap:2px;padding:0 8px;border-bottom:1px solid var(--bd-soft)}
.sw-notebook-tabs button{height:32px;padding:0 13px;border:0;border-bottom:2px solid transparent;background:none;color:var(--fnt);font:500 12px var(--sans);cursor:pointer}
.sw-notebook-tabs button:hover{color:var(--tx)}
.sw-notebook-tabs button[aria-selected="true"]{color:var(--tx);border-bottom-color:var(--acc)}
.sw-notebook-body{flex:1;min-height:0;overflow-y:auto;padding:10px}
.sw-family-bar{display:flex;flex-wrap:wrap;gap:5px}
.sw-family-bar button{height:26px;padding:0 10px;border:1px solid var(--bd);border-radius:99px;background:var(--card);color:var(--mut);font:11px var(--sans);cursor:pointer}
.sw-family-bar button:hover{border-color:var(--fnt);color:var(--tx)}
.sw-family-bar button[aria-selected="true"]{background:var(--ink);border-color:var(--ink);color:var(--ink-tx)}
.sw-family-search{margin-top:8px}
.sw-family-search input{width:100%;height:32px;border:1px solid var(--bd);border-radius:7px;background:var(--card);color:var(--tx);padding:0 11px;font:12px var(--sans);outline:none}
.sw-family-search input:focus{border-color:var(--acc)}
.sw-domain-pane{margin-top:12px}
.sw-domain-heading span{font:9px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--cyan)}
.sw-domain-heading h3{margin:5px 0 0;font:600 13px var(--sans)}
.sw-domain-heading p{margin:6px 0 0;font-size:11px;line-height:1.6;color:var(--fnt)}
.sw-capability-list{display:flex;flex-direction:column;gap:6px;margin-top:11px}
.sw-capability{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 11px;border:1px solid var(--bd);border-radius:8px;background:var(--card);text-align:left;cursor:pointer;box-shadow:var(--btn-sh)}
.sw-capability:hover{border-color:var(--fnt)}
.sw-capability strong{display:block;font:600 12px var(--sans);color:var(--tx)}
.sw-capability small{display:block;margin-top:2px;font-size:10.5px;line-height:1.45;color:var(--fnt)}
.sw-capability em{font:9px var(--mono);font-style:normal;letter-spacing:.1em;text-transform:uppercase;padding:3px 8px;border-radius:4px;flex:none}
[data-availability="local"]{background:var(--clip-green);border:1px solid var(--clip-green-bd);color:var(--clip-green-tx)}
[data-availability="needs"]{background:var(--clip-grey);border:1px solid var(--clip-grey-bd);color:var(--clip-grey-tx)}
[data-availability="service"]{background:var(--clip-cyan);border:1px solid var(--clip-cyan-bd);color:var(--clip-cyan-tx)}
[data-availability="file"]{background:var(--clip-amber);border:1px solid var(--clip-amber-bd);color:var(--clip-amber-tx)}
[data-availability="setup"]{background:var(--clip-pink);border:1px solid var(--clip-pink-bd);color:var(--clip-pink-tx)}
.sw-script-note{margin-top:12px;padding:10px 12px;border-radius:8px;background:var(--tip-bg);border:1px solid var(--tip-bd);color:var(--tip-tx)}
.sw-script-note strong{font:600 11.5px var(--sans)}
.sw-script-note p{margin:4px 0 0;font-size:10.5px;line-height:1.55}
.sw-script-note kbd{font:10px var(--mono);border:1px solid var(--tip-bd);border-radius:4px;padding:1px 5px}
.sw-results-empty{margin-top:12px;padding:18px 14px;border:1px dashed var(--bd);border-radius:9px;background:var(--card);text-align:center}
.sw-results-empty>span{font:16px var(--mono);color:var(--fnt)}
.sw-results-empty strong{display:block;margin-top:8px;font:600 12.5px var(--sans)}
.sw-results-empty p{margin:6px auto 0;font-size:11px;line-height:1.6;color:var(--fnt);max-width:34ch}
.sw-history-controls{display:flex;gap:6px}
.sw-history-list{list-style:none;margin:10px 0 0;padding:0}
.sw-history-empty{padding:12px;border:1px dashed var(--bd);border-radius:8px;background:var(--card)}
.sw-history-empty strong{display:block;font:600 12px var(--sans)}
.sw-history-empty span{display:block;margin-top:3px;font-size:10.5px;line-height:1.55;color:var(--fnt)}
.sw-capability-setup{margin-top:12px;padding:11px 12px;border:1px solid var(--tip-bd);border-radius:8px;background:var(--tip-bg);color:var(--tip-tx)}
.sw-tool-dock{margin-top:12px;border:1px solid var(--bd);border-radius:9px;background:var(--card);overflow:hidden}
.sw-tool-dock-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;background:var(--chrome);border-bottom:1px solid var(--bd-soft)}
.sw-tool-dock-back{border:0;background:none;color:var(--mut);font:500 11.5px var(--sans);cursor:pointer}
.sw-tool-dock-back:hover{color:var(--tx)}
.sw-tool-dock-state{font:9.5px var(--mono);color:var(--fnt)}

/* display rack */
.sw-display-rack{position:absolute;top:10px;right:10px;width:min(300px,calc(100% - 20px));max-height:calc(100% - 20px);overflow-y:auto;background:var(--panel);border:1px solid var(--bd);border-radius:10px;box-shadow:0 18px 44px -18px rgba(10,12,16,.5);z-index:5}
.sw-display-rack header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding:11px 13px;border-bottom:1px solid var(--bd-soft)}
.sw-display-rack header span{font:9px var(--mono);letter-spacing:.15em;text-transform:uppercase;color:var(--fnt)}
.sw-display-rack header h2{margin:3px 0 0;font:600 12.5px var(--sans)}
.sw-display-rack header button{width:24px;height:24px;border:1px solid var(--bd);border-radius:6px;background:var(--card);color:var(--mut);cursor:pointer}
.sw-display-note{margin:10px 13px 0;font-size:10.5px;line-height:1.55;color:var(--fnt)}
.sw-layer-list{padding:10px 13px}
.sw-layer-add{display:flex;flex-wrap:wrap;align-items:center;gap:5px;padding:0 13px 12px}
.sw-layer-add span{font:9px var(--mono);letter-spacing:.13em;text-transform:uppercase;color:var(--fnt);width:100%}
.sw-layer-add button{height:26px;padding:0 10px;border:1px solid var(--bd);border-radius:6px;background:var(--card);color:var(--mut);font:11px var(--sans);cursor:pointer}
.sw-layer-add button:hover{border-color:var(--fnt);color:var(--tx)}
.sw-overlay-list{border-top:1px solid var(--bd-soft);padding:10px 13px 12px}
.sw-display-subhead span{font:600 11.5px var(--sans)}
.sw-display-subhead small{display:block;font:9.5px var(--mono);color:var(--fnt)}
.sw-overlay-list p{margin:8px 0 0;font-size:10.5px;color:var(--fnt)}

/* ── command bar ─────────────────────────────────── */
.sw-command-bar{display:flex;align-items:center;gap:12px;margin:0 10px 10px;padding:8px 12px;background:var(--panel);border:1px solid var(--bd);border-radius:10px}
.sw-command-label{display:flex;align-items:center;gap:8px;flex:none}
.sw-command-label h2{margin:0;font:600 12px var(--sans)}
.sw-command-label span:not(.sw-index){display:block;font:9px var(--mono);letter-spacing:.08em;color:var(--fnt)}
.sw-command-input{flex:1;display:flex;gap:8px;align-items:center}
.sw-command-input input{flex:1;height:34px;border:1px solid var(--bd);border-radius:8px;background:var(--card);color:var(--tx);padding:0 12px;font:12px var(--mono);outline:none}
.sw-command-input input:focus{border-color:var(--acc)}
.sw-command-input input::placeholder{color:var(--fnt)}
.sw-command-hint{font:9.5px var(--mono);color:var(--fnt);white-space:nowrap}
.sw-command-hint kbd{border:1px solid var(--bd);border-radius:4px;padding:1px 5px;font:9.5px var(--mono)}

@media (max-width:1180px){
  .sw-workspace{grid-template-columns:240px minmax(0,1fr) 300px}
  .sw-masthead-state,.sw-kicker{display:none}
}
@media (max-width:980px){
  .sw-mobile-panel-tabs{display:flex}
  .sw-workspace{grid-template-columns:minmax(0,1fr)}
  .sw-structure-panel,.sw-center,.sw-notebook{display:none}
  [data-mobile-panel="structure"] .sw-structure-panel{display:flex}
  [data-mobile-panel="viewport"] .sw-center{display:flex}
  [data-mobile-panel="notebook"] .sw-notebook{display:flex}
  .sw-header-actions .sw-button:not(.sw-mobile-lab-menu):not(.sw-button--transfer),.site-account-link--lab{display:none}
  .sw-mobile-lab-menu{display:inline-flex}
  .sw-welcome-classes{grid-template-columns:1fr}
  .sw-command-label span:not(.sw-index){display:none}
  .sw-command-hint{display:none}
}

/* ── production workbench integration ─────────────────────────────
   The design reference contains only the visible empty shell. The live Lab also
   has scroll-back, status, project/cloud surfaces and specialist task panels.
   This bridge keeps those controls while making them part of the same Daylight
   instrument instead of leaving islands of the former dark-green skin. */
:root{
  color-scheme:light;
  --cn-void:var(--well);--cn-shell:var(--bg);--cn-chrome:var(--panel);
  --cn-raise:var(--card);--cn-raise-2:var(--hov);--cn-rule:var(--bd-soft);
  --cn-rule-2:var(--bd);--cn-text:var(--tx);--cn-text-2:var(--mut);
  --cn-text-3:var(--fnt);--cn-text-4:var(--fnt);--cn-live:var(--acc);
  --cn-live-dim:var(--acc);--cn-teal:var(--cyan);--cn-cyan:var(--cyan);
  --cn-blue:#6484B8;--cn-amber:var(--acc);--cn-violet:#8B7AB5;
  --cn-red:var(--rec);--cn-mono:var(--mono);--cn-cond:var(--cond);
  --cn-mast:52px;--cn-bar:36px;--cn-ribbon:38px;--cn-row:52px;
  --cn-console:92px;--cn-status:24px;
  --sw-paper:var(--bg);--sw-panel:var(--panel);--sw-panel-2:var(--card);
  --sw-ink:var(--tx);--sw-ink-2:var(--mut);--sw-muted:var(--fnt);
  --sw-faint:var(--fnt);--sw-line:var(--bd-soft);--sw-line-strong:var(--bd);
  --sw-deep:var(--well);--sw-deep-2:var(--card);--sw-teal:var(--cyan);
  --sw-cyan:var(--cyan);--sw-acid:var(--acc);--sw-amber:var(--acc);
  --sw-red:var(--rec);--sw-shadow:0 18px 44px -18px rgba(10,12,16,.32);
  --sw-surface:var(--panel);--sw-surface-raised:var(--card);--sw-accent:var(--cyan);
  --sw-sans:var(--sans);--sw-condensed:var(--cond);--sw-mono:var(--mono)
}
html[data-theme="dark"]{color-scheme:dark}

.daylight-lab{overflow:hidden;background:var(--bg);color:var(--tx);font:13px/1.5 var(--sans)}
.daylight-lab [hidden]{display:none!important}
.daylight-lab .sw-app{
  width:100%;height:100dvh;overflow:hidden;
  grid-template-columns:minmax(0,1fr);
  grid-template-rows:52px minmax(0,1fr) 92px 24px;
  grid-template-areas:"mast" "workspace" "command" "status";
  background:var(--bg);color:var(--tx)
}

/* Header: preserve every Lab action, but use the supplied compact Daylight bar. */
.daylight-lab .sw-masthead{
  grid-area:mast;display:flex;min-height:52px;height:52px;gap:14px;padding:0 clamp(10px,1.6vw,18px);
  background:var(--chrome);border:0;border-bottom:1px solid var(--bd);box-shadow:none;color:var(--tx)
}
.daylight-lab .sw-masthead::after{display:none}
.daylight-lab .sw-brand{height:auto;gap:9px;padding:0;border:0;color:var(--tx)}
.daylight-lab .sw-brand svg{width:20px;height:20px}
.daylight-lab .sw-brand-wordmark{font:600 14px var(--cond);letter-spacing:.13em;color:var(--tx)}
.daylight-lab .sw-brand-wordmark span{color:var(--tx)}
.daylight-lab .sw-brand-wordmark strong{color:var(--cyan);font:600 10px var(--mono)}
.daylight-lab .sw-project-heading{display:flex;min-width:120px;max-width:260px;gap:1px;padding:0;border:0;overflow:hidden}
.daylight-lab .sw-kicker{display:block;color:var(--fnt)}
.daylight-lab .sw-project-name{max-width:100%;padding:2px 0;color:var(--tx);font:600 12.5px var(--sans)}
.daylight-lab .sw-project-name:hover{color:var(--acc)}
.daylight-lab .sw-masthead-state{gap:6px;margin-left:6px;padding:0}
.daylight-lab .sw-state-chip{min-height:0;padding:4px 9px;border:1px solid var(--clip-grey-bd);border-radius:5px;background:var(--clip-grey);color:var(--clip-grey-tx);font:9px var(--mono)}
.daylight-lab .sw-state-chip--quiet{border-color:var(--bd);background:none;color:var(--fnt)}
.daylight-lab .sw-header-actions{gap:6px;margin-left:auto;color:var(--tx)}
.daylight-lab .sw-header-actions>.sw-button,
.daylight-lab .site-account-link--lab{min-height:30px;height:30px;padding:0 10px;border:1px solid var(--bd);border-radius:7px;background:var(--card);color:var(--mut);font:500 11px var(--sans);letter-spacing:0;text-transform:none}
.daylight-lab .site-account-link--lab{display:inline-flex;align-items:center}
.daylight-lab .sw-header-actions>.sw-button:hover,
.daylight-lab .site-account-link--lab:hover{border-color:var(--fnt);background:var(--hov);color:var(--tx)}
.daylight-lab .sw-header-actions>.sw-button--quiet{background:transparent}
.daylight-lab .sw-header-actions>.sw-button--cloud{border-color:var(--acct-bd);background:var(--acct-bg);color:var(--green);font-weight:600}
.daylight-lab .sw-header-actions>.sw-button--transfer{margin:0;border-color:var(--ink);background:var(--ink);color:var(--ink-tx);font-weight:600}
.daylight-lab .sw-header-actions>.sw-button--transfer:hover{border-color:var(--ink);background:var(--ink);filter:brightness(1.15);color:var(--ink-tx)}
.daylight-lab .theme-toggle{margin:0 2px}

/* The three-panel workbench is the reference composition, with the real live
   panels and generated tool contents kept inside it. */
.daylight-lab .sw-workspace{
  grid-area:workspace;display:grid;grid-template-columns:262px minmax(0,1fr) 336px;
  gap:10px;min-height:0;overflow:hidden;padding:10px;background:var(--bg)
}
.daylight-lab .sw-structure-panel,.daylight-lab .sw-notebook{
  min-height:0;overflow-y:auto;background:var(--panel);border:1px solid var(--bd);border-radius:10px;
  scrollbar-color:var(--bd) transparent
}
.daylight-lab .sw-center{display:flex;min-width:0;min-height:0;gap:8px;background:transparent}
.daylight-lab .sw-panel-heading{
  position:sticky;top:0;z-index:5;min-height:40px;height:auto;padding:9px 12px;
  background:color-mix(in srgb,var(--panel) 94%,transparent);border-bottom:1px solid var(--bd-soft);backdrop-filter:blur(9px)
}
.daylight-lab .sw-panel-heading h2{color:var(--tx);font:600 12px var(--sans)!important;letter-spacing:0;text-transform:none}
.daylight-lab .sw-panel-heading .sw-index,.daylight-lab .sw-index{width:18px;height:18px;border:0;border-radius:5px;background:var(--inset);color:var(--fnt);font:10px var(--mono)}
.daylight-lab .sw-icon-button{width:28px;height:28px;border:1px solid var(--bd);border-radius:6px;background:var(--card);color:var(--mut)}
.daylight-lab .sw-icon-button:hover{border-color:var(--fnt);background:var(--hov);color:var(--tx)}
.daylight-lab .sw-source-summary,.daylight-lab .sw-identity-controls,.daylight-lab .sw-tree-section,.daylight-lab .sw-state-key{padding:10px 13px;border-bottom:1px solid var(--bd-soft)}
.daylight-lab .sw-source-empty,.daylight-lab .sw-tree-empty{border-color:var(--bd);border-radius:8px;background:var(--card);color:var(--mut)}
.daylight-lab .sw-source-empty strong,.daylight-lab .sw-tree-empty span{color:var(--tx);font-family:var(--sans)}
.daylight-lab .sw-source-empty small,.daylight-lab .sw-source-empty span,.daylight-lab .sw-tree-empty small{color:var(--fnt);font-family:var(--sans)}
.daylight-lab .sw-identity-controls label{display:block;margin-top:9px}
.daylight-lab .sw-identity-controls label>span{display:block;color:var(--fnt);font:9px var(--mono);letter-spacing:.13em;text-transform:uppercase}
.daylight-lab .sw-identity-controls select,.daylight-lab .sw-center select,.daylight-lab .sw-command-bar select{min-height:32px;height:32px;border:1px solid var(--bd);border-radius:7px;background:var(--card);color:var(--tx);font:12px var(--sans)}
.daylight-lab .sw-identity-controls>p{color:var(--fnt);font:10.5px/1.55 var(--sans)}
.daylight-lab .sw-tree{font-family:var(--sans);font-size:11px}
.daylight-lab .sw-tree-node,.daylight-lab .sw-scene-object,.daylight-lab .sw-scene-object-row{border-color:var(--bd-soft);background:transparent;color:var(--tx)}
.daylight-lab .sw-tree-node:hover,.daylight-lab .sw-scene-object:hover,.daylight-lab .sw-scene-object-row:hover{background:var(--hov)}
.daylight-lab .sw-state-key dl>div{border-color:var(--bd-soft)}
.daylight-lab .sw-state-key dt{color:var(--mut);font-family:var(--sans)}
.daylight-lab .sw-state-key dd{color:var(--fnt);font-family:var(--sans)}

/* Viewport furniture and source importer. The canvas remains a dedicated dark
   scientific well in both appearances, exactly as in the supplied design. */
.daylight-lab .sw-context-toolbar{min-height:42px;padding:6px 8px;border:1px solid var(--bd);border-radius:10px;background:var(--panel)}
.daylight-lab .sw-tool-group{gap:2px;padding:3px;border-radius:8px;background:var(--inset)}
.daylight-lab .sw-tool{min-height:28px;height:28px;padding:0 10px;border:0;border-radius:6px;color:var(--fnt);font:500 11px var(--sans);letter-spacing:0}
.daylight-lab .sw-tool:hover{background:var(--hov);color:var(--tx)}
.daylight-lab .sw-tool.is-active,.daylight-lab .sw-tool[aria-pressed="true"]{background:var(--card);color:var(--tx);box-shadow:var(--btn-sh)}
.daylight-lab .sw-sequence-strip{min-height:74px;border:1px solid var(--bd);border-radius:10px;background:var(--panel)}
.daylight-lab .sw-sequence-heading{height:34px;min-height:34px;padding:7px 12px;border-color:var(--bd-soft);background:var(--panel)}
.daylight-lab .sw-sequence-heading h2,.daylight-lab .sw-sequence-heading strong,.daylight-lab .sw-sequence-heading span{color:var(--tx);font:600 12px var(--sans);letter-spacing:0;text-transform:none}
.daylight-lab .sw-sequence-meta{color:var(--fnt);font:10px var(--mono)}
.daylight-lab .sw-sequence-content{min-height:38px;padding:8px 12px;background:var(--panel)}
.daylight-lab .sw-sequence-empty{padding:0;color:var(--fnt);font:11px var(--sans)}
.daylight-lab .sw-viewport-shell{flex:1;min-height:0;border:1px solid var(--bd);border-radius:10px;background:var(--well)}
.daylight-lab .sw-viewport-shell::before{background:radial-gradient(circle at 50% 44%,rgba(88,200,216,.07),transparent 62%)}
.daylight-lab .sw-welcome{
  display:block;
  inset:50% auto auto 50%;width:min(560px,calc(100% - 32px));max-width:none;max-height:calc(100% - 32px);
  margin:0;padding:24px 26px;transform:translate(-50%,-50%);overflow-y:auto;
  border:1px solid #2B2F36;border-top:3px solid var(--acc);border-radius:10px;
  background:rgba(16,18,21,.94);color:#E8EAEC;box-shadow:0 24px 60px rgba(0,0,0,.38);backdrop-filter:blur(12px)
}
.daylight-lab .sw-welcome h1{color:#F3F4F5;font:600 clamp(28px,4vw,42px)/.98 var(--cond);text-transform:uppercase}
.daylight-lab .sw-welcome-intro{color:#B4B9C0;font:12px/1.6 var(--sans)}
.daylight-lab .sw-welcome-label{color:#7FD4E2}
.daylight-lab .sw-welcome-label span{background:transparent;color:#F0A63C}
.daylight-lab .sw-import-mode label>span,.daylight-lab .sw-welcome-classes>div{border-color:#2B2F36;background:rgba(34,37,42,.76);color:#E8EAEC}
.daylight-lab .sw-import-mode{display:grid;margin:18px 0 20px;padding:0;border:0;background:transparent;color:#B4B9C0}
.daylight-lab .sw-import-mode label{display:block;margin:0;padding:0;border:0;background:transparent;box-shadow:none}
.daylight-lab .sw-import-mode label:has(input:checked){border:0;box-shadow:none}
.daylight-lab .sw-import-mode input:checked+span{border-color:#F0A63C;box-shadow:inset 3px 0 0 #F0A63C}
.daylight-lab .sw-import-mode label>span strong,.daylight-lab .sw-welcome-classes strong{color:#E8EAEC}
.daylight-lab .sw-import-mode label>span small,.daylight-lab .sw-welcome-classes span{color:#7C828B}
.daylight-lab .sw-rcsb-import input{border-color:#2B2F36;background:#17181C;color:#E8EAEC}
.daylight-lab .sw-local-import .sw-button--outline{border-color:#4A4F58;background:#22252A;color:#E8EAEC}

/* Generated notebook: restore the supplied readable cards instead of the former
   one-line console palette. */
.daylight-lab .sw-notebook-tabs{position:sticky;top:40px;height:34px;min-height:34px;padding:0 8px;border-color:var(--bd-soft);background:var(--panel)}
.daylight-lab .sw-notebook-tabs button{height:34px;color:var(--fnt);font:500 12px var(--sans);letter-spacing:0;text-transform:none}
.daylight-lab .sw-notebook-tabs button[aria-selected="true"]{background:transparent;color:var(--tx);box-shadow:inset 0 -2px var(--acc)}
.daylight-lab .sw-notebook-body{padding:10px}
.daylight-lab .sw-family-bar{position:static;gap:5px;padding:0;border:0;background:transparent}
.daylight-lab .sw-family-bar>button{min-height:27px;height:27px;padding:0 10px;border:1px solid var(--bd);border-radius:99px;background:var(--card);color:var(--mut);font:11px var(--sans);letter-spacing:0;text-transform:none}
.daylight-lab .sw-family-bar>button:hover{border-color:var(--fnt);background:var(--hov);color:var(--tx)}
.daylight-lab .sw-family-bar>button[aria-pressed="true"],.daylight-lab .sw-family-bar>button.is-active{border-color:var(--ink);background:var(--ink);color:var(--ink-tx);box-shadow:none}
.daylight-lab .sw-family-search{margin:8px 0 0;padding:0}
.daylight-lab .sw-family-search input,.daylight-lab .sw-notebook input[type="search"],.daylight-lab .sw-notebook input[type="text"]{height:32px;min-height:32px;border:1px solid var(--bd);border-radius:7px;background:var(--card);color:var(--tx);font:12px var(--sans)}
.daylight-lab .sw-domain-pane{margin-top:12px}
.daylight-lab .sw-domain-heading{display:block;height:auto;padding:0;border:0;background:transparent}
.daylight-lab .sw-domain-heading>span{color:var(--cyan);font:9px var(--mono)}
.daylight-lab .sw-domain-heading h3{display:block;margin:5px 0 0;color:var(--tx);font:600 13px var(--sans)!important;letter-spacing:0;text-transform:none}
.daylight-lab .sw-domain-heading p{display:block;margin:6px 0 0;color:var(--fnt);font:11px/1.6 var(--sans)}
.daylight-lab .sw-capability-list{gap:6px;margin-top:11px}
.daylight-lab .sw-capability{min-height:0;padding:9px 11px;border:1px solid var(--bd);border-radius:8px;background:var(--card);box-shadow:var(--btn-sh)}
.daylight-lab .sw-capability:hover{border-color:var(--fnt);background:var(--card)}
.daylight-lab .sw-capability>span{display:block}
.daylight-lab .sw-capability strong{display:block;color:var(--tx);font:600 12px var(--sans);white-space:normal}
.daylight-lab .sw-capability small{display:block;margin-top:2px;color:var(--fnt);font:10.5px/1.45 var(--sans)}
.daylight-lab .sw-capability em{max-width:none;padding:3px 8px;border-radius:4px;font:9px var(--mono)}
.daylight-lab [data-availability]{background:var(--clip-grey)!important;border-color:var(--clip-grey-bd)!important;color:var(--clip-grey-tx)!important}
.daylight-lab [data-availability="local"]{background:var(--clip-green)!important;border-color:var(--clip-green-bd)!important;color:var(--clip-green-tx)!important}
.daylight-lab [data-availability="service"]{background:var(--clip-cyan)!important;border-color:var(--clip-cyan-bd)!important;color:var(--clip-cyan-tx)!important}
.daylight-lab [data-availability="file"],.daylight-lab [data-availability="needs"]{background:var(--clip-amber)!important;border-color:var(--clip-amber-bd)!important;color:var(--clip-amber-tx)!important}
.daylight-lab [data-availability="setup"],.daylight-lab [data-availability="provider"]{background:var(--clip-pink)!important;border-color:var(--clip-pink-bd)!important;color:var(--clip-pink-tx)!important}

/* Scroll-back, command input and status are retained production features. */
.daylight-lab .sw-command-bar{
  grid-area:command;display:grid;grid-template-rows:55px 36px;align-items:stretch;align-content:stretch;
  min-height:92px;height:92px;margin:0 10px;padding:0;overflow:hidden;
  border:1px solid var(--bd);border-bottom:0;border-radius:10px 10px 0 0;background:var(--panel);box-shadow:none
}
.daylight-lab .sw-command-label{display:none}
.daylight-lab .sw-console-log{height:55px;max-height:55px;padding:5px 10px;background:var(--well);color:#8A9098;font:10px/1.45 var(--mono)}
.daylight-lab .sw-console-line[data-level="run"]{color:#E8EAEC}
.daylight-lab .sw-console-line[data-level="run"]::before{color:#F0A63C}
.daylight-lab .sw-console-input{height:36px;grid-template-columns:auto minmax(0,1fr) auto auto;border-color:var(--bd);background:var(--panel)}
.daylight-lab .sw-console-input>*{max-height:36px}
.daylight-lab .sw-command-mode{height:36px;border-color:var(--bd-soft)}
.daylight-lab .sw-command-mode select{min-height:30px;height:30px;margin-right:6px;border:0;background:transparent;color:var(--mut);font:11px var(--sans)}
.daylight-lab .sw-command-input{height:36px}
.daylight-lab .sw-command-bar input[type="text"],.daylight-lab .sw-command-bar input:not([type]){min-height:36px;height:36px;color:var(--tx);font:11px var(--mono)}
.daylight-lab .sw-prompt{color:var(--acc)}
.daylight-lab .sw-shortcut{height:36px;border-color:var(--bd-soft);color:var(--fnt)}
.daylight-lab .sw-command-bar .sw-button--run,.daylight-lab .sw-command-bar button[type="submit"]{height:36px;min-height:36px;border-radius:0;background:var(--ink);color:var(--ink-tx);font:600 10px var(--mono)}
.daylight-lab .sw-provenance-strip{grid-area:status;min-height:24px;height:24px;padding:0 10px;border-color:var(--bd);background:var(--chrome);color:var(--mut);grid-template-columns:minmax(0,1fr)}
.daylight-lab .sw-provenance-primary{color:var(--mut)}
.daylight-lab .sw-provenance-primary [data-workbench-status]{color:var(--tx)}
.daylight-lab .sw-provenance-note,.daylight-lab .sw-module-status,.daylight-lab .sw-module-status span{color:var(--fnt)}
.daylight-lab .sw-module-status i{background:var(--fnt)!important}
.daylight-lab .sw-module-status,.daylight-lab .sw-provenance-note{display:none}

/* Dialogs, cloud library and generated specialist tools share the same surface
   grammar. Tool-specific charts and the molecular canvas intentionally remain dark. */
.daylight-lab :is(.sw-display-rack,.sw-context-menu,.sw-task-panel,.sw-tool-dock,.sw-result-card,.sw-capability-setup,.sw-provider-state,.sw-history-list li,.sw-cloud-panel,.sw-cloud-project-card){border-color:var(--bd);background:var(--card);color:var(--tx);box-shadow:var(--btn-sh)}
.daylight-lab .sw-display-rack{border-top-color:var(--acc)}
.daylight-lab .sw-display-rack>header,.daylight-lab .sw-tool-dock-bar{border-color:var(--bd-soft);background:var(--chrome);color:var(--tx)}
.daylight-lab .sw-display-rack>header span{color:var(--acc)}
.daylight-lab .sw-display-rack>header h2,.daylight-lab .sw-tool-dock-bar strong{color:var(--tx)}
.daylight-lab .sw-layer-row,.daylight-lab .sw-layer-row[data-active="true"]{border-color:var(--bd-soft);background:var(--card);color:var(--tx)}
.daylight-lab .sw-layer-row[data-active="true"]{box-shadow:inset 3px 0 var(--cyan)}
.daylight-lab .sw-display-rack{width:min(320px,calc(100% - 20px))}
.daylight-lab .sw-layer-row{grid-template-columns:minmax(0,1fr) 34px;gap:7px}
.daylight-lab .sw-layer-main{grid-column:1}.daylight-lab .sw-layer-eye{grid-column:2}
.daylight-lab .sw-layer-row select,.daylight-lab .sw-layer-opacity{grid-column:1/3}
.daylight-lab .sw-layer-colour,.daylight-lab .sw-layer-source{grid-column:1}
.daylight-lab .sw-layer-remove{grid-column:2}
.daylight-lab :is(.sw-task-form,.sw-inspector-grid,.sw-candidate-list,.sw-trajectory-controls) :is(input,select,textarea),
.daylight-lab .sw-tool-dock :is(input,select,textarea){border:1px solid var(--bd);border-radius:7px;background:var(--card);color:var(--tx)}
.daylight-lab .sw-tool-dock-state{color:var(--fnt)!important}
.daylight-lab .sw-results-empty,.daylight-lab .sw-history-empty{border-color:var(--bd);background:var(--card)}
.daylight-lab .sw-results-empty strong,.daylight-lab .sw-history-empty strong{color:var(--tx)}
.daylight-lab .sw-results-empty p,.daylight-lab .sw-history-empty span{color:var(--fnt)}
.daylight-lab .sw-context-target,.daylight-lab .sw-context-actions{border-color:var(--bd-soft);background:var(--panel);color:var(--tx)}
.daylight-lab .sw-context-action{border-color:var(--bd-soft);background:var(--card);color:var(--tx)}
.daylight-lab .sw-context-action:hover{background:var(--hov)}
.daylight-lab .sw-toast-region{bottom:126px}
.daylight-lab .sw-toast{border:1px solid var(--bd);border-radius:8px;background:var(--card);color:var(--tx);box-shadow:var(--sw-shadow)}
.daylight-lab .sw-task-portal{grid-template-rows:auto minmax(0,auto);grid-template-columns:min(1000px,calc(100% - 32px));padding:16px;background:rgba(16,18,21,.72)}
.daylight-lab .sw-task-portal>*{border-color:var(--bd);background:var(--panel)}
.daylight-lab .sw-task-header{min-height:44px;height:auto;padding:7px 10px;border-color:var(--bd);background:var(--panel);color:var(--tx)}
.daylight-lab .sw-task-header h2{color:var(--tx)!important;font:600 12px var(--sans)!important}
.daylight-lab .sw-task-header>div>span,.daylight-lab .sw-task-header>span:last-child{color:var(--fnt)}
.daylight-lab .sw-button--back{min-height:30px;height:30px;border:1px solid var(--bd);border-radius:7px;background:var(--card);color:var(--mut);font:11px var(--sans)}
.daylight-lab .sw-task-intro{min-height:44px;padding:8px 12px;border-color:var(--bd-soft);background:var(--card)}
.daylight-lab .sw-task-intro h3{color:var(--tx);font:600 12px var(--sans)!important;letter-spacing:0;text-transform:none}
.daylight-lab .sw-task-intro p{color:var(--fnt);font:11px var(--sans)}
.daylight-lab .sw-task-quick{gap:6px;padding:8px 10px;border-color:var(--bd-soft);background:var(--panel)}
.daylight-lab .sw-task-quick button{min-height:30px;height:30px;padding:0 10px;border:1px solid var(--bd);border-radius:7px;background:var(--card);color:var(--mut);font:11px var(--sans);letter-spacing:0;text-transform:none}
.daylight-lab .sw-task-quick button[data-action="send-to-studio"]{background:var(--ink);color:var(--ink-tx)}
.daylight-lab .sw-task-grid{gap:8px;padding:10px;border:0;background:var(--panel)}
.daylight-lab .sw-task-grid>button{min-height:90px!important;padding:12px;border:1px solid var(--bd);border-radius:8px;background:var(--card);box-shadow:var(--btn-sh)}
.daylight-lab .sw-task-grid>button:hover{border-color:var(--fnt);background:var(--card)}
.daylight-lab .sw-task-grid>button>strong{color:var(--tx);font:600 12px var(--sans)}
.daylight-lab .sw-task-grid>button>small{color:var(--fnt);font:10.5px/1.5 var(--sans)}

/* Saved-project library: the cloud controller owns the live content, while the
   surface follows the same cards, typography and actions as the workbench. */
.daylight-lab .sw-cloud-overlay{padding:24px;background:rgba(16,18,21,.66);backdrop-filter:blur(9px)}
.daylight-lab .sw-cloud-dialog{width:min(900px,100%);max-height:min(760px,calc(100dvh - 48px));border:1px solid var(--bd);border-top:3px solid var(--acc);border-radius:12px;background:var(--panel);color:var(--tx);box-shadow:0 30px 90px rgba(0,0,0,.32)}
.daylight-lab .sw-cloud-dialog::before{opacity:.28;background-image:linear-gradient(color-mix(in srgb,var(--bd-soft) 55%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--bd-soft) 55%,transparent) 1px,transparent 1px)}
.daylight-lab .sw-cloud-dialog-head{min-height:66px;grid-template-columns:64px minmax(0,1fr) 48px;border-color:var(--bd);background:var(--chrome)}
.daylight-lab .sw-cloud-dialog-index{border-color:var(--bd);color:var(--acc);font:600 8px var(--mono)}
.daylight-lab .sw-cloud-dialog-heading{padding:10px 16px}
.daylight-lab .sw-cloud-dialog-heading>span{color:var(--fnt);font:9px var(--mono)}
.daylight-lab .sw-cloud-dialog-heading h2{margin-top:3px;color:var(--tx);font:600 20px var(--cond);text-transform:none}
.daylight-lab .sw-cloud-close{border-color:var(--bd);background:transparent;color:var(--mut);font:300 22px var(--sans)}
.daylight-lab .sw-cloud-close:hover{background:var(--hov);color:var(--tx)}
.daylight-lab .sw-cloud-dialog-body{padding:18px;scrollbar-color:var(--bd) transparent}
.daylight-lab .sw-cloud-command-deck{gap:16px;padding:14px;border:1px solid var(--bd);border-left:3px solid var(--acc);border-radius:9px;background:var(--card)}
.daylight-lab .sw-cloud-command-copy>span{color:var(--acc);font:600 9px var(--mono)}
.daylight-lab .sw-cloud-command-copy p{color:var(--fnt);font:11px/1.55 var(--sans)}
.daylight-lab :is(.sw-cloud-command-actions button,.sw-cloud-project-actions button,.sw-cloud-rename button){min-height:34px;padding:7px 10px;border:1px solid var(--bd);border-radius:7px;background:var(--card);color:var(--mut);font:600 10.5px var(--sans);letter-spacing:0;text-transform:none}
.daylight-lab :is(.sw-cloud-command-actions button,.sw-cloud-project-actions button,.sw-cloud-rename button):hover{border-color:var(--fnt);background:var(--hov);color:var(--tx)}
.daylight-lab .sw-cloud-command-actions .is-primary{border-color:var(--ink);background:var(--ink);color:var(--ink-tx)}
.daylight-lab .sw-cloud-command-actions .is-primary:hover{border-color:var(--ink);background:var(--ink);color:var(--ink-tx);filter:brightness(1.14)}
.daylight-lab .sw-cloud-ledger-head{margin-top:20px;border-color:var(--bd)}
.daylight-lab .sw-cloud-ledger-head h3{color:var(--tx);font:600 14px var(--sans);text-transform:none}
.daylight-lab .sw-cloud-ledger-head span{color:var(--fnt)}
.daylight-lab .sw-cloud-project{padding:13px;border-color:var(--bd-soft);border-radius:8px;background:var(--card)}
.daylight-lab .sw-cloud-project+.sw-cloud-project{margin-top:7px}
.daylight-lab .sw-cloud-project:hover{border-left-color:var(--cyan);background:var(--card)}
.daylight-lab .sw-cloud-project[data-current="true"]{border-left-color:var(--acc);background:var(--card)}
.daylight-lab .sw-cloud-project h3{color:var(--tx);font:600 13px var(--sans)}
.daylight-lab .sw-cloud-project-meta{color:var(--fnt)}
.daylight-lab .sw-cloud-kind{border-color:var(--clip-cyan-bd);border-radius:4px;background:var(--clip-cyan);color:var(--clip-cyan-tx)}
.daylight-lab .sw-cloud-rename{border-color:var(--bd);border-radius:8px;background:var(--card)}
.daylight-lab .sw-cloud-rename label span{color:var(--fnt)}
.daylight-lab .sw-cloud-rename input{height:36px;border:1px solid var(--bd);border-radius:7px;background:var(--card);color:var(--tx);font:11px var(--sans)}
.daylight-lab .sw-cloud-auth-callout{grid-template-columns:62px minmax(0,1fr);min-height:160px;padding:22px;border:1px solid var(--bd);border-radius:9px;background:var(--card)}
.daylight-lab .sw-cloud-auth-mark{width:62px;height:62px;border:1px solid var(--bd);border-radius:9px;background:var(--inset);color:var(--acc);font:300 28px var(--mono)}
.daylight-lab .sw-cloud-auth-callout h3{color:var(--tx);font:600 20px var(--cond);text-transform:none}
.daylight-lab .sw-cloud-auth-callout p{color:var(--fnt);font:11px/1.6 var(--sans)}
.daylight-lab .sw-cloud-primary-link{min-height:36px;padding:8px 12px;border:1px solid var(--ink);border-radius:7px;background:var(--ink);color:var(--ink-tx);font:600 11px var(--sans);letter-spacing:0;text-transform:none}
.daylight-lab .sw-cloud-status{width:100%;min-height:38px;padding:10px 16px;border-color:var(--bd);background:var(--chrome);color:var(--fnt);font:10px/1.4 var(--mono);align-self:stretch;justify-self:stretch}

@media(max-width:1380px){
  .daylight-lab .sw-kicker,.daylight-lab .sw-state-chip--quiet{display:none}
  .daylight-lab .sw-project-heading{min-width:90px;max-width:180px}
  .daylight-lab .sw-masthead{gap:9px}
  .daylight-lab .sw-header-actions{gap:4px}
  .daylight-lab .sw-header-actions>.sw-button,.daylight-lab .site-account-link--lab{padding-inline:8px}
}
@media(max-width:1180px){
  .daylight-lab .sw-workspace{grid-template-columns:230px minmax(0,1fr) 300px}
  .daylight-lab .sw-masthead-state{display:none}
  .daylight-lab .site-account-link--lab{display:none}
}
@media(max-width:980px){
  .daylight-lab{overflow:auto}
  .daylight-lab .sw-app{
    height:auto;min-height:100dvh;overflow:visible;
    grid-template-rows:auto 45px minmax(calc(100dvh - 238px),auto) auto auto;
    grid-template-areas:"mast" "mobile" "workspace" "command" "status"
  }
  .daylight-lab .sw-masthead{display:grid;min-height:62px;height:auto;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;padding:8px 10px}
  .daylight-lab .sw-project-heading{max-width:none}
  .daylight-lab .sw-header-actions>.sw-button:not(.sw-mobile-lab-menu):not(.sw-button--transfer),.daylight-lab .site-account-link--lab{display:none}
  .daylight-lab .sw-mobile-lab-menu{display:inline-flex}
  .daylight-lab .sw-mobile-panel-tabs{grid-area:mobile;display:flex}
  .daylight-lab .sw-workspace{grid-template-columns:minmax(0,1fr);min-height:calc(100dvh - 238px);padding:8px}
  .daylight-lab .sw-workspace>[data-panel]{display:none}
  .daylight-lab .sw-app[data-mobile-panel="structure"] .sw-workspace>[data-panel="structure"],
  .daylight-lab .sw-app[data-mobile-panel="viewport"] .sw-workspace>[data-panel="viewport"],
  .daylight-lab .sw-app[data-mobile-panel="notebook"] .sw-workspace>[data-panel="notebook"]{display:flex}
  .daylight-lab .sw-structure-panel,.daylight-lab .sw-notebook{min-height:calc(100dvh - 254px);height:auto}
  .daylight-lab .sw-center{min-height:calc(100dvh - 254px)}
  .daylight-lab .sw-command-bar{height:auto;min-height:92px;margin:0 8px;grid-template-rows:minmax(48px,auto) 44px}
  .daylight-lab .sw-console-log{height:48px;max-height:48px}
  .daylight-lab .sw-console-input{height:44px;grid-template-columns:82px minmax(0,1fr) auto}
  .daylight-lab .sw-console-input>*{max-height:44px}
  .daylight-lab .sw-command-mode,.daylight-lab .sw-command-input{height:44px}
  .daylight-lab .sw-command-mode select{height:38px;min-height:38px}
  .daylight-lab .sw-command-bar input[type="text"],.daylight-lab .sw-command-bar input:not([type]){height:44px;min-height:44px;font-size:16px}
  .daylight-lab .sw-command-bar .sw-button--run,.daylight-lab .sw-command-bar button[type="submit"]{height:44px;min-height:44px}
  .daylight-lab .sw-shortcut{display:none}
  .daylight-lab .sw-provenance-strip{height:auto;min-height:48px;grid-template-columns:1fr;padding:8px 10px}
  .daylight-lab .sw-module-status,.daylight-lab .sw-provenance-note{display:none}
}
@media(max-width:620px){
  .daylight-lab .sw-brand-wordmark{font-size:12px}
  .daylight-lab .sw-project-heading{grid-column:1/-1;grid-row:2;border-top:1px solid var(--bd-soft);padding-top:5px}
  .daylight-lab .sw-header-actions{grid-column:3;grid-row:1}
  .daylight-lab .sw-header-actions>.sw-button--transfer{display:none}
  .daylight-lab .theme-toggle{display:none}
  .daylight-lab .sw-context-toolbar{align-items:stretch;flex-direction:column}
  .daylight-lab .sw-tool-group{width:100%;overflow-x:auto}
  .daylight-lab .sw-tool{min-height:40px;height:40px;flex:1 0 auto}
  .daylight-lab .sw-view-controls{width:100%}
  .daylight-lab .sw-task-portal{grid-template-columns:calc(100% - 16px);padding:8px}
  .daylight-lab .sw-task-header{grid-template-columns:1fr}
  .daylight-lab .sw-task-grid{grid-template-columns:1fr!important}
  .daylight-lab .sw-cloud-overlay{padding:0}
  .daylight-lab .sw-cloud-dialog{height:100dvh;max-height:none;border-radius:0;border-right:0;border-bottom:0;border-left:0}
  .daylight-lab .sw-cloud-auth-callout{grid-template-columns:1fr}
}
@media(max-width:780px){
  .daylight-lab .sw-cloud-overlay{padding:0}
  .daylight-lab .sw-cloud-dialog{width:100%;height:100dvh;max-height:none;border-radius:0;border-right:0;border-bottom:0;border-left:0}
  .daylight-lab .sw-cloud-auth-callout{grid-template-columns:1fr}
}
