/* VenueForge 0.13: a consistent, compact engineering workbench. */
:root{--vf-ink:#17334b;--vf-accent:#176fba;--vf-teal:#008d91;--vf-border:#d9e2eb;--vf-soft:#f2f5f9;--vf-radius:8px}
body:has(.studio-shell){background:#eef2f6;color:var(--vf-ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.studio-shell .titlebar{background:linear-gradient(110deg,#102437,#193e58);height:58px;box-shadow:0 1px 0 #ffffff16;gap:18px}
.studio-shell .brand-mark{height:34px;width:34px;border-radius:10px;background:linear-gradient(135deg,#25c4c4,#177baf);font-size:13px;letter-spacing:-1px}
.studio-shell .brand{font-size:16px;letter-spacing:-.4px}.studio-shell .brand-detail{font-size:9px;letter-spacing:1px;text-transform:uppercase;margin-top:3px;opacity:.78}
.studio-shell .project-title{border-left:1px solid #ffffff25;padding-left:18px}.studio-shell .project-title strong{font-size:12px;color:#f2f8ff;max-width:31vw}.studio-shell .project-title>span{font-size:10px;color:#a7c2d7}
.studio-shell .title-actions{gap:9px}.studio-shell .command-trigger{display:flex;align-items:center;gap:22px;color:#b9cfde;border:1px solid #ffffff24;background:#ffffff08;font-weight:400;padding:8px 10px;border-radius:7px}.command-trigger kbd{color:#b9cfde;font-size:10px;border:1px solid #ffffff2c;padding:1px 4px;border-radius:3px}
.studio-shell .title-actions>.primary{background:#14a29c;border-color:#14a29c;color:white;border-radius:6px}.studio-shell .menubar{background:#fff;border-bottom-color:#e4eaf0;height:30px;padding-left:10px}.studio-shell .menubar summary:hover{background:#edf4fa;border-radius:5px}
.studio-shell .ribbon{background:linear-gradient(#fbfcfe,#f3f6fa);height:61px;border-bottom-color:var(--vf-border)}.studio-shell .ribbon .tool{border-radius:6px}.studio-shell .ribbon .tool.selected{background:#e4f0fb;border-color:#bfd7eb;color:#116daf}
.studio-shell .workflow-bar{background:#fff;min-height:34px;border-bottom:1px solid var(--vf-border);padding:4px 12px}.project-evidence{display:flex;align-items:center;gap:9px;flex:1;min-width:0}.project-evidence #project-evidence-chip{font-size:8px;letter-spacing:.8px;font-weight:750;border:1px solid #c9dbe7;background:#edf5fa;color:#37627f;padding:4px 6px;border-radius:4px;white-space:nowrap}.project-evidence #project-evidence-chip[data-evidence=synthetic]{border-color:#ecd18f;background:#fff9e9;color:#826320}.project-evidence #project-scope-summary{font-size:10px;color:#70889a;white-space:nowrap}
.studio-shell .left-dock,.studio-shell .right-dock{background:#f7f9fc}.studio-shell .dock-panel{background:#f7f9fc}.studio-shell .panel-heading{height:38px;border-bottom:1px solid #e2e8ef}.studio-shell .panel-heading h2{font-size:10px;letter-spacing:.5px;text-transform:uppercase;color:#587287}.studio-shell .tree-row{padding-top:6px;padding-bottom:6px}.studio-shell .tree-row.selected{background:#e7f1fb;border-radius:4px;color:#176baa}.studio-shell .part-card{border:1px solid transparent;border-radius:7px;margin:3px 5px;padding:9px;background:#fff}.studio-shell .part-card.active{border-color:#9fc7e6;background:#edf6fd}.studio-shell input,.studio-shell select{border-radius:5px}.studio-shell input:focus-visible,.studio-shell select:focus-visible,.studio-shell button:focus-visible{outline:2px solid #208ecc;outline-offset:2px}
.studio-shell .drawing-tabs{background:#eaf0f6;border-bottom:1px solid var(--vf-border);height:34px}.studio-shell .floor-tab.active{border-radius:6px 6px 0 0;background:#fff;box-shadow:inset 0 2px #178fc0;color:#126e9a}.studio-shell .view-strip{background:#fff;padding:6px 8px}.studio-shell .segmented{background:#eef3f8;border-radius:6px}.studio-shell .segmented button.active{background:#fff;color:#176ca0;border-radius:4px;box-shadow:0 1px 3px #17334b1a}.studio-shell #drawing-host{background:#fbfcfe}
.viewport-authoring-toolbar{backdrop-filter:blur(10px);box-shadow:0 5px 16px #102b4210;border-color:#d2dfe9}.studio-shell .viewport-context{top:8px}.studio-shell .viewport-context strong{font-size:10px}.studio-shell .viewport-authoring-toolbar{padding:5px;top:31px;border-radius:7px}.studio-shell .viewport-authoring-toolbar button{border-radius:4px}.studio-shell .instruction-bar{background:#fff;color:#577386;border-top:1px solid #e8edf2}.studio-shell .statusbar{background:#edf3f8;height:29px;color:#59768d}
.network-color-key{min-height:25px;display:flex;align-items:center;gap:14px;padding:3px 11px;background:#f8fafc;border-top:1px solid #dfe8ef;font-size:9px;color:#607b8e}.network-color-key span{display:flex;align-items:center;gap:5px;white-space:nowrap}.network-color-key i{width:17px;height:3px;border-radius:2px;background:var(--key);display:inline-block}.network-color-key button{margin-left:auto;border:0;padding:1px 3px;background:transparent;color:#557a96;font-size:9px}
body[data-design-view="3d"] .studio-shell .ribbon{height:0;padding:0;border:0;overflow:hidden}.studio-embedded body>header{display:none}.studio-embedded body>.workspace{height:100dvh}.studio-embedded .left{background:#f6f9fc;color:#23465d}.studio-embedded .left h2{color:#476b83;font-size:10px;letter-spacing:.8px}.studio-embedded .left section{border-color:#dbe5ed}.studio-embedded .left button,.studio-embedded .left .filebutton,.studio-embedded .left select,.studio-embedded .left input:not([type=checkbox]){color:#244b65;background:#fff;border-color:#cddce7}.studio-embedded .left small{color:#698294}.studio-embedded .left details,.studio-embedded .left p{color:#59788d}.studio-embedded .workspace{grid-template-columns:225px minmax(0,1fr) 260px}.studio-embedded .workspace>.right{background:#f7fafd;color:#23485f}.studio-embedded .tabs{background:#edf3f8}.studio-embedded .tabs button{color:#50738b}.studio-embedded #inspector{color:#345e76}.studio-embedded .property,.studio-embedded .form-row{border-color:#d7e2eb}.studio-embedded input,.studio-embedded select{border-color:#c9d9e5;color:#254f69;background:#fff}.studio-embedded .sceneBadge{font-size:8px}.studio-embedded .viewbar{box-shadow:0 5px 16px #17334b1a;border-radius:7px}.studio-embedded .scene-display-panel{background:#eff5fa;border:1px solid #d1e0eb;border-radius:7px;padding:9px}.scene-display-panel label{font-size:11px}.scene-display-panel #sceneRenderStats{font-size:10px;color:#55768b;line-height:1.5}
#command-palette{width:min(680px,94vw);min-width:0;padding:0;border:1px solid #d3e1ec;border-radius:12px;box-shadow:0 24px 100px #10283b50;background:white;color:#1b405a}#command-palette::backdrop{background:#10243877;backdrop-filter:blur(3px)}.command-head{display:flex;align-items:center;gap:12px;padding:17px;border-bottom:1px solid #e2ebf2}.command-head>span{font-size:29px;color:#7e9caf}.command-head input{border:0!important;outline:none!important;box-shadow:none!important;flex:1;min-width:0;font-size:14px;padding:4px;background:white}.command-head button{font-size:10px;color:#6e8798;background:#f4f7fa;border:1px solid #dce6ed;border-radius:4px;padding:4px 6px}#command-results{max-height:52vh;overflow:auto;padding:7px}#command-results button{display:flex;align-items:center;gap:12px;width:100%;text-align:left;border:0;background:#fff;border-radius:6px;padding:10px;color:#234b66}#command-results button[aria-selected=true],#command-results button:hover{background:#eaf4fd}#command-results button>span:nth-child(2){flex:1;min-width:0}#command-results strong{display:block;font-size:12px;font-weight:600;overflow:hidden;text-overflow:ellipsis}#command-results small{display:block;font-size:10px;color:#7990a1;margin-top:4px}.command-type{text-transform:uppercase;font-size:8px;color:#6a8aa0;letter-spacing:.7px;width:44px}#command-count{font-size:10px;color:#7890a2;background:#f7f9fc;border-top:1px solid #e1e9f0;padding:11px 18px}.command-empty{font-size:12px;padding:16px;color:#6b8699}
@media(max-width:1300px){.command-trigger span{display:none}.studio-shell .command-trigger{gap:0}.project-evidence #project-scope-summary{display:none}.studio-shell .project-title strong{max-width:35vw}}
@media(max-width:900px){.project-evidence{display:none}.network-color-key{gap:8px;font-size:8px}.network-color-key span:nth-child(n+4){display:none}.studio-shell .title-actions .state-dot{display:none}.studio-embedded .workspace{grid-template-columns:190px minmax(0,1fr) 230px}}
@media print{.network-color-key,.project-evidence,#command-palette{display:none!important}}

#drawing-entities .entity-architecture{opacity:var(--drawing-context-opacity,1)}.context-opacity-control{display:flex;align-items:center;gap:5px;margin-left:auto;white-space:nowrap;font-size:9px}.context-opacity-control input{width:65px;height:14px;margin:0;accent-color:#2192b8}.context-opacity-control output{min-width:26px;font-variant-numeric:tabular-nums}.context-opacity-control+button{margin-left:0}.studio-shell .network-color-key{flex-wrap:wrap}.studio-shell .network-color-key button{white-space:nowrap}

.studio-embedded .scene-maximized>.workspace{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr)}

#connection-alert{padding:12px 16px;background:#fff2d9;color:#78521c;border-bottom:1px solid #e8cc98;font-size:12px;line-height:1.5;flex:none}

/* VenueForge 0.13: one editable document, one WebGL scene, two linked panes. */
#drawing-host.linked-workspace{display:block;overflow:hidden}
#drawing-host.linked-workspace #drafting-canvas{position:absolute;left:0;top:0;width:42%;height:100%;border-right:1px solid #b7cbd6}
#drawing-host.linked-workspace #model-view{position:absolute;left:42%;top:23px;width:58%;height:calc(100% - 23px);background:#e4edf1}
#drawing-host.linked-workspace .viewport-context{right:59%;top:29px;font-size:9px}
#drawing-host.linked-workspace .viewport-context strong{max-width:100%}
#drawing-host.linked-workspace .viewport-context #cadScopeLabel{display:none}
#drawing-host.linked-workspace .viewport-authoring-toolbar{right:59%;gap:2px;padding:4px;max-height:118px;overflow:auto}
#drawing-host.linked-workspace .viewport-authoring-toolbar .authoring-group{gap:2px}
#drawing-host.linked-workspace .viewport-authoring-toolbar button{padding:3px 5px;font-size:9px}
#drawing-host.linked-workspace .viewport-authoring-toolbar select{width:138px}
#drawing-host.linked-workspace .viewport-navigation{right:calc(58% + 12px)}
#linked-view-label{position:absolute;top:0;left:0;right:0;height:23px;display:grid;grid-template-columns:42% 58%;pointer-events:none;z-index:6;font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
#linked-view-label span{padding:5px 10px;background:#e7f2f5e8;color:#276779}
#linked-view-label span+span{background:#123643e8;color:#c9e9ed}
#linked-context-card{position:absolute;left:12px;bottom:12px;z-index:8;width:min(450px,calc(100% - 72px));border:1px solid #b8d1da;border-radius:10px;background:#fffffff5;box-shadow:0 7px 26px #203d5324;padding:10px;color:#234556;backdrop-filter:blur(8px)}
.linked-workspace #linked-context-card{width:min(450px,calc(42% - 24px));min-width:260px}
.linked-context-heading{display:flex;align-items:center;gap:10px;font-size:12px}
.linked-context-heading strong{flex:1;overflow-wrap:anywhere}
.linked-context-heading button{padding:0 6px;border:0;background:transparent;font-size:20px;color:#748c98}
#linked-object-region{font-size:10px;color:#578494;margin:3px 0 8px}
.linked-context-body{display:flex;gap:10px;align-items:flex-start}
#linked-plan-preview{width:116px;min-width:116px;border:1px solid #d8e6eb;border-radius:5px;overflow:hidden}
#linked-plan-preview svg{display:block;width:100%}
.linked-object-summary{font-size:10px;line-height:1.45;min-width:0}
#linked-object-detail{margin:0 0 6px;font-variant-numeric:tabular-nums}
#linked-object-ports{max-height:92px;overflow:auto;font-size:9px}
#linked-object-ports>div{display:flex;align-items:flex-start;gap:5px;margin-bottom:4px;overflow-wrap:anywhere}
#linked-object-ports i{width:7px;height:7px;min-width:7px;border-radius:2px;margin-top:3px}
#linked-object-basis{display:block;font-size:9px;color:#8b7137;margin-top:6px}
.linked-context-actions{display:flex;gap:6px;margin-top:8px}
.linked-context-actions button{font-size:10px;padding:5px 8px;background:#edf6f8;border-color:#c6dde4;color:#286776}
#linked-focus-model{margin-left:auto}
#region-fit-select{max-width:190px;font-size:10px;padding:5px 7px;background:#f3f8fa;border-color:#d5e3e9}
.equipment-label{pointer-events:none;font-weight:500}
#linked-hover-overlay{pointer-events:none}
body[data-design-view="linked"] .studio-shell .ribbon{height:0;padding:0;border:0;overflow:hidden}
@media(max-width:1250px){.linked-workspace .linked-context-body{gap:6px}.linked-workspace #linked-plan-preview{width:90px;min-width:90px}.linked-workspace #linked-object-ports{max-height:62px}.linked-workspace #linked-object-detail{font-size:9px}}
@media print{#linked-context-card,#linked-view-label,#region-fit-select{display:none!important}}
