:root{font:14px system-ui;color:#142e3c;background:#eff4f5}*{box-sizing:border-box}body{margin:0;height:100vh;display:flex;flex-direction:column}header{display:flex;gap:15px;align-items:center;padding:12px 16px;border-bottom:1px solid #dde7ea;background:#fff9}header strong{font-size:17px}#status{margin-left:auto;font-size:12px;color:#526976}nav{display:flex;flex-wrap:wrap;gap:6px;padding:9px 12px;background:#ffffffa8;border-bottom:1px solid #dbe4e7}button,select,.upload{font:inherit;border:1px solid #d2e0e5;border-radius:10px;padding:7px 10px;color:#294552;background:#ffffffb8;cursor:pointer}button:hover,.upload:hover{background:#fff}button.active{color:white;background:#1d4557}button:disabled{opacity:.4;cursor:default}input[type=file]{display:none}main{position:relative;flex:1;min-height:0;overflow:hidden}svg{display:block;width:100%;height:100%;touch-action:none;outline:none}#zoom{position:absolute;bottom:42px;right:15px;display:flex;align-items:center;gap:8px;border-radius:14px;background:#ffffffe8;padding:7px;box-shadow:0 8px 30px #3453}#hint{position:absolute;bottom:1px;left:14px;font-size:11px;color:#6b808b;pointer-events:none}#alert{position:absolute;top:15px;left:15px;max-width:70%;padding:12px;border:1px solid #e4b57d;border-radius:14px;background:#fff4e3;color:#69461e}#inspector{position:absolute;right:12px;top:12px;width:280px;max-height:65%;overflow:auto;border:1px solid #dbe5e8;border-radius:18px;background:#ffffffed;padding:16px;box-shadow:0 14px 40px #2632}#inspector button{margin:5px}#inspector p{white-space:pre-wrap;overflow-wrap:anywhere}.object-text{padding:13px;white-space:pre-wrap;overflow:hidden;overflow-wrap:anywhere;font-size:15px;height:100%}.object.selected{filter:drop-shadow(0 2px 4px #2344)}.object.selected .outline{stroke:#287d9b;stroke-width:3}dialog{border:1px solid #d0e1e6;border-radius:20px;max-width:90%;width:500px;box-shadow:0 15px 70px #0004}dialog::backdrop{background:#16334466;backdrop-filter:blur(4px)}textarea{font:inherit;width:100%;min-height:180px;border:1px solid #dce7eb;border-radius:12px;padding:12px}dialog form>div{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.cursor{pointer-events:none}#presence{font-size:11px;color:#647983}#scale{min-width:42px;text-align:center}.upload{display:inline-flex;align-items:center}

.pdf-preview{display:block;max-width:100%;height:auto;background:white;border-radius:8px}
/* Desktop project planning */
header small{display:block;color:#71818e;font-size:11px;margin-top:3px}header{flex-wrap:wrap;gap:12px}nav{align-items:center}.tool-label{font-size:12px;color:#657b87}#planningTools{background:linear-gradient(100deg,#f5faf9dd,#ecf2f8cc)}#planningTools button{font-weight:600}#templates{margin-left:auto}.context-line{padding:8px 16px;font-size:12px;color:#556d7d;background:#fff7;border-bottom:1px solid #e1e9ed}.board-options{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:8px 12px;background:#ffffffb0;border-bottom:1px solid #dbe4e7}.view-switch{display:flex;gap:4px}input{font:inherit;border:1px solid #d2e0e5;border-radius:10px;padding:8px;background:#ffffffb8;color:#294552}#search{flex:1;min-width:180px;max-width:320px}#summary{font-size:11px;color:#657b87;margin-left:auto}#legacyTools{background:#ffffff9c;border-bottom:1px solid #dbe4e7}#legacyTools>summary{padding:9px 16px;cursor:pointer;font-size:12px;color:#527083}#legacyTools nav{border:0;padding-top:3px}.small-note{font-size:11px;color:#71818e;line-height:1.5}.semantic-card{padding:14px;font-size:13px;display:flex;flex-direction:column;height:100%;gap:7px;overflow:hidden}.semantic-card strong{font-size:16px;line-height:1.25;overflow-wrap:anywhere}.semantic-card .card-type{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#5a7481}.semantic-card .card-body{font-size:12px;color:#536d7b;overflow:hidden;line-height:1.35;max-height:36px}.semantic-card .card-meta{font-size:10px;margin-top:auto;color:#566d79;display:flex;gap:7px;flex-wrap:wrap}.status-chip{border-radius:7px;padding:3px 6px;background:#ffffffb5}.status-blocked{color:#a24431}.status-done{color:#217759}.edge-label{font:11px system-ui;fill:#476c7c;paint-order:stroke;stroke:#f4f8f9;stroke-width:5px;stroke-linejoin:round}.empty-state{position:absolute;top:23%;left:50%;transform:translateX(-50%);max-width:480px;width:80%;padding:26px;background:#ffffffc9;border:1px solid #dce9ee;border-radius:22px;box-shadow:0 14px 45px #3954690e;text-align:center}.empty-state strong{font-size:20px}.empty-state p{font-size:13px;line-height:1.6;color:#6b808b}.empty-state[hidden],#taskView[hidden]{display:none}#taskView{height:100%;overflow:auto;padding:18px;background:#f1f5f8}#taskView table{width:100%;border-collapse:separate;border-spacing:0 8px;font-size:12px}#taskView th{text-align:left;color:#69808e;padding:8px}#taskView td{padding:12px;background:#ffffffc9;border-top:1px solid #e0e9ee;border-bottom:1px solid #e0e9ee}#taskView td:first-child{border-left:1px solid #e0e9ee;border-radius:12px 0 0 12px}#taskView td:last-child{border-right:1px solid #e0e9ee;border-radius:0 12px 12px 0}#taskView .row-title{border:0;background:transparent;text-align:left;font-weight:600;padding:0}#taskView small{display:block;color:#6b808b;margin-top:5px}#inspector{width:320px;max-height:80%;z-index:5}#inspector .issue{display:block;text-align:left;width:95%}dialog label{display:flex;flex-direction:column;gap:5px;font-size:12px;color:#5b7481;margin:9px 0}dialog label input,dialog label select{width:100%}#cardText{min-height:90px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}#templateChoices{display:grid;gap:10px;margin:18px 0}#templateChoices button{text-align:left;padding:14px}#templateChoices small{display:block;color:#6c8490;font-size:12px;margin-top:5px}.disabled{opacity:.4;pointer-events:none}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #86b7cc;outline-offset:2px}select{appearance:base-select}select::picker(select){appearance:base-select;border:1px solid #c7dbe2;border-radius:14px;background:#edf5f8dd;backdrop-filter:blur(20px);box-shadow:0 14px 40px #203a5626;padding:7px;max-height:280px;overflow:auto}option{padding:8px;border-radius:8px}option:checked{background:#d8eaf2}#tools>label{font-size:11px;color:#617e8d;display:flex;gap:6px;align-items:center}#tools{padding:7px 12px}#tools button{font-size:12px;padding:6px 9px}@media(max-width:800px){#templates{margin-left:0}header strong{font-size:15px}#planningTools button{font-size:12px}#summary{display:none}.form-grid{grid-template-columns:1fr}#inspector{width:270px}}
/* EONG Engineering Studio: original icon system and professional desktop shell */
.engineering-studio{--ink:#243a48;--accent:#9dd1a4;--panel:#f8fafbd9;--chrome:#243540;background:#edf2f5;color:var(--ink);font:12px system-ui;overflow:hidden}
.engineering-studio header{height:58px;min-height:58px;flex-wrap:nowrap;padding:10px 15px;background:linear-gradient(115deg,#23363f,#334956);color:#eef5f7;border:0;gap:16px}.studio-brand{display:flex;align-items:center;gap:8px;font-size:16px;letter-spacing:.16em;font-weight:800;color:#bce2bb;padding-right:16px;border-right:1px solid #ffffff25}.studio-brand .eong-icon{width:30px;height:30px}.engineering-studio header strong{font-size:13px;font-weight:600}.engineering-studio header small{font-size:8px;letter-spacing:.13em;color:#b9c9d0}.engineering-studio header select{margin-left:auto;max-width:270px;background:#ffffff10;color:#f0f6f7;border-color:#ffffff28;font-size:11px}.engineering-studio header option{color:#243a48}
.studio-ribbon{background:#f8fbfc;border-bottom:1px solid #cad6dd;box-shadow:0 2px 8px #243b4d0c;z-index:9}.engineering-studio #tools{padding:5px 10px;gap:4px;flex-wrap:nowrap;min-height:46px;border:0;background:transparent;overflow-x:auto}.engineering-studio #tools>label{border-left:1px solid #ccd9df;padding:0 8px;margin:0 4px;color:#667e8a;white-space:nowrap}.engineering-studio #relation{font-size:11px;padding:5px 8px}.precision-tools{display:flex;gap:4px;border-left:1px solid #ccd9df;margin-left:auto;padding-left:8px}
.eong-icon{width:25px;height:25px;display:block;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round;flex:none}.engineering-studio .icon-command{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;min-width:36px;padding:5px;border:1px solid transparent;border-radius:8px;background:transparent;color:#4b6473;cursor:pointer;position:relative}.engineering-studio .icon-command:hover{border-color:#b7ccd5;background:#e4edf2;color:#163e53;box-shadow:inset 0 1px 0 #fff}.engineering-studio .icon-command.active,.engineering-studio .icon-command[aria-pressed=true]{background:#284858;border-color:#355b6c;color:#d1ecd6;box-shadow:inset 0 1px 0 #ffffff18}.engineering-studio .disabled{pointer-events:auto;cursor:not-allowed;opacity:.35}.engineering-studio button:disabled{cursor:not-allowed}.icon-command:focus-visible{outline:2px solid #7cbea7;outline-offset:1px}
.engineering-studio #audience{font-size:10px;padding:6px 14px;background:#e5ecefcc;color:#597382;border-bottom:1px solid #d5e0e6;min-height:27px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.studio-shell{display:grid;grid-template-columns:58px minmax(0,1fr) 248px;flex:1;min-height:0;overflow:hidden}.studio-shell.dock-collapsed{grid-template-columns:58px minmax(0,1fr)}.dock-collapsed .studio-dock{display:none}.studio-rail{display:flex;flex-direction:column;align-items:center;gap:10px;background:linear-gradient(180deg,#2b3e4b,#223440);border-right:1px solid #192e3c;position:relative;padding:10px 5px;z-index:8}.engineering-studio #planningTools{display:flex;flex-direction:column;flex-wrap:nowrap;align-items:center;gap:5px;padding:0;border:0;background:transparent}.engineering-studio .tool-label{font-size:7px;letter-spacing:.1em;color:#a6beca;margin:0 0 5px}.engineering-studio .studio-rail .icon-command{width:40px;height:40px;color:#d4e4ea;border-color:#ffffff08;background:#ffffff04;border-radius:9px}.engineering-studio .studio-rail [data-card]{color:var(--tool-color);box-shadow:inset 3px 0 0 color-mix(in srgb,var(--tool-color) 55%,transparent)}.engineering-studio .studio-rail .icon-command:hover{background:#ffffff17;border-color:#a2bcc566;box-shadow:inset 3px 0 0 var(--tool-color,#a9cbd4)}.rail-actions{display:flex;flex-direction:column;gap:4px;border-top:1px solid #ffffff20;padding-top:10px}.engineering-studio #templates{margin-left:0}
.engineering-studio #legacyTools{background:transparent;border:0;position:static;margin-top:auto}.engineering-studio #legacyTools>summary{list-style:none;padding:4px;color:#d4e4ea}.engineering-studio #legacyTools>summary::-webkit-details-marker{display:none}.engineering-studio #legacyTools nav{position:absolute;left:62px;bottom:8px;display:grid;grid-template-columns:repeat(4,42px);gap:6px;width:220px;padding:14px;border:1px solid #8fa9b866;border-radius:14px;background:#edf4f8f2;backdrop-filter:blur(20px);box-shadow:0 15px 50px #20374844;z-index:15}.engineering-studio #legacyTools nav .icon-command{color:#34596a;background:#fff7;border-color:#c9d8df;width:40px}.engineering-studio #legacyTools .small-note{grid-column:1/-1;font-size:10px;margin-top:4px;color:#6a7e8a}
.studio-work{display:flex;flex-direction:column;min-width:0;min-height:0}.engineering-studio .board-options{min-height:43px;padding:5px 8px;gap:6px;flex-wrap:nowrap;background:#f5f8fa;border-bottom:1px solid #d1dce3}.engineering-studio .view-switch{gap:2px;padding-right:7px;border-right:1px solid #d2dde3}.engineering-studio .board-options .icon-command{width:30px;height:30px;min-width:30px}.engineering-studio .board-options .eong-icon{width:22px;height:22px}.engineering-studio #search{height:29px;font-size:11px;min-width:100px;max-width:250px;border-radius:7px;background:#fff9}.engineering-studio #filterStatus{height:29px;font-size:10px;max-width:145px;padding:5px 7px;border-radius:7px}.engineering-studio #summary{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-left:auto;color:#718693;max-width:210px}
.engineering-studio main{background:radial-gradient(ellipse at 50% 30%,#f6f9fb,#e5edf2);isolation:isolate}.engineering-studio main>#canvas{position:absolute;inset:0;z-index:1}.engineering-studio #taskView{position:absolute;inset:0;z-index:4;font-size:11px}.engineering-studio #empty{z-index:3;background:#f8fbfbd9;box-shadow:0 18px 70px #29425212;max-width:430px}.engineering-studio #empty strong{font-size:18px;font-weight:600}.engineering-studio #inspector{z-index:7}.engineering-studio #alert{z-index:8;font-size:12px}.engineering-studio #zoom{z-index:5;bottom:30px;right:12px;border:1px solid #c8d8e0;border-radius:10px;gap:4px;padding:4px;background:#f8fbfbe6;box-shadow:0 6px 25px #263c5014}.engineering-studio #zoom .icon-command{width:27px;height:27px;min-width:27px}.engineering-studio #zoom .eong-icon{width:20px;height:20px}.engineering-studio #scale{font-size:11px}.engineering-studio #hint{z-index:3;font-size:9px;left:30px;bottom:2px;color:#758b98;max-width:calc(100% - 45px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.coordinate-readout{position:absolute;bottom:33px;left:30px;color:#59717f;font:10px ui-monospace,monospace;z-index:3;pointer-events:none}.studio-ruler{position:absolute;z-index:2;pointer-events:none;display:none}.rulers-on .studio-ruler{display:block}.studio-ruler.horizontal{left:0;top:0;width:100%;height:22px}.studio-ruler.vertical{left:0;top:0;width:22px;height:100%}.studio-ruler[hidden]{display:none}
.studio-dock{background:linear-gradient(140deg,#f7fafb,#edf3f7);border-left:1px solid #cad8e0;overflow:auto;display:flex;flex-direction:column;gap:0;padding:0 12px}.dock-caption{font-size:9px;letter-spacing:.12em;font-weight:700;color:#738794;padding:15px 0 11px;border-bottom:1px solid #d4e1e7}.dock-empty{padding:18px 0;font-size:11px;line-height:1.7;color:#758b98}.dock-properties{padding:5px 0 16px}.dock-properties h3{font-size:13px;line-height:1.5;margin:11px 0 4px;overflow-wrap:anywhere}.dock-meaning{font-size:10px;color:#3f8068;letter-spacing:.03em}.dock-meta{font-size:10px;line-height:1.5;color:#687f8d;overflow-wrap:anywhere}.geometry-form{display:grid;grid-template-columns:1fr 1fr;gap:7px 9px;margin-top:14px}.geometry-form h4{grid-column:1/-1;margin:0 0 4px;font-size:10px;color:#667e8b;font-weight:500}.geometry-form label{font-size:9px;color:#7c919d;display:flex;flex-direction:column;gap:4px}.geometry-form input{width:100%;min-width:0;padding:7px;font:11px ui-monospace,monospace;border-radius:6px;background:#fff9}.geometry-apply,.geometry-reload,.dock-edit{grid-column:1/-1;font-size:10px!important;border-radius:7px;padding:8px!important;background:#e2ecef!important}.geometry-reload{background:transparent!important}.dock-edit{width:100%;margin-top:9px;color:#355d70;border-color:#c1d6df}.studio-navigator{flex:1;min-height:140px}.studio-navigator #objectNavigator{padding:9px 0;display:flex;flex-direction:column;gap:3px;max-height:250px;overflow:auto}.navigator-item{display:flex;align-items:center;gap:8px;border:1px solid transparent;border-radius:6px;background:transparent;font-size:10px;padding:7px;text-align:left;color:#647d8d;min-height:33px}.navigator-item .eong-icon{width:19px;height:19px}.navigator-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.navigator-item.active{background:#e0ece7!important;border-color:#b4cfc3!important;color:#285d48!important}.navigator-item:hover{background:#e8f0f4}.navigator-empty{font-size:10px;color:#8194a0;line-height:1.6}.mini-panel{padding-bottom:12px}.mini-panel #miniMap{width:100%;height:130px;border:1px solid #cddbe3;border-radius:8px;margin-top:10px;background:#e0e9ef;cursor:crosshair}.mini-panel #miniMap:focus-visible{outline:2px solid #7cbea7}.studio-footer{min-height:32px;display:flex;align-items:center;gap:12px;padding:6px 10px;background:#263c48;color:#bacbd3;border-top:1px solid #324e5c;font-size:9px}.engineering-studio #status{margin-left:0;color:#bcdecb;font-size:9px;white-space:nowrap}.engineering-studio #presence{color:#b7cbd5;font-size:9px;white-space:nowrap}.engineering-studio #selectionBar{padding:0;border:0;background:none;font-size:9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#99b4c2;margin-left:auto;min-width:0;max-width:60%}
.studio-tooltip{position:fixed;z-index:10000;max-width:290px;width:max-content;padding:12px 14px;background:#1e3441f5;border:1px solid #91aeb544;border-radius:10px;backdrop-filter:blur(14px);box-shadow:0 8px 32px #17293444;color:#e7eff2;pointer-events:none}.studio-tooltip strong{font-size:12px;color:#c9e7cc}.studio-tooltip p{font-size:11px;line-height:1.6;margin:6px 0 0;color:#bbcdd5}.studio-tooltip kbd{display:block;width:max-content;margin-top:8px;padding:3px 6px;border:1px solid #88a4b144;border-radius:5px;color:#96b7c6;font:9px ui-monospace,monospace}.studio-tooltip[hidden],.dock-properties[hidden],.dock-empty[hidden]{display:none}
.engineering-studio .semantic-card{border-top:3px solid #43677988;padding:12px 14px;border-radius:8px;gap:8px}.engineering-studio .semantic-card .card-type{font-size:9px;letter-spacing:.1em}.engineering-studio .semantic-card strong{font-size:15px}.engineering-studio .semantic-card .card-meta{font-size:9px}.engineering-studio .object.selected .outline{stroke:#377c64;stroke-width:2}.engineering-studio .object.selected{filter:drop-shadow(0 4px 8px #315b5133)}
@media(max-width:1050px){.studio-shell{grid-template-columns:54px minmax(0,1fr) 210px}.studio-dock{padding:0 9px}.engineering-studio #summary{display:none}.engineering-studio #tools{gap:2px}.engineering-studio header small{display:none}.engineering-studio header strong{font-size:12px}}@media(max-width:760px){.studio-shell{grid-template-columns:50px minmax(0,1fr)}.studio-dock{display:none}.engineering-studio header strong{display:none}.engineering-studio header select{max-width:190px}.engineering-studio #filterStatus{max-width:105px}.studio-footer #selectionBar{display:none}.engineering-studio #tools>label{font-size:0}.engineering-studio #relation{max-width:100px}.engineering-studio #legacyTools nav{left:52px}.studio-brand{padding-right:8px;font-size:12px}}

.semantic-heading{display:flex;align-items:center;gap:7px}.semantic-heading .eong-icon{width:20px;height:20px;color:#527c6e}.semantic-heading .eong-icon path{pointer-events:none}.engineering-studio .semantic-card .card-body{max-height:34px}

.engineering-studio #planningTools{flex:1;min-height:0;overflow-y:auto;width:46px;scrollbar-width:thin;scrollbar-color:#7798a766 transparent}.rail-actions{flex:none}.studio-rail #legacyTools{flex:none}
.studio-navigator{display:flex;flex-direction:column;min-height:120px;overflow:hidden}.studio-navigator .dock-caption{flex:none}.studio-navigator #objectNavigator{flex:1;min-height:0;max-height:250px}.mini-panel,.dock-properties,.studio-dock>.dock-caption,.dock-empty{flex:none}

.engineering-studio .edge-label{font-size:10px;stroke-width:2px;fill:#527b8b}

/* Общая палитра платформы: прозрачные панели и сохранённые серые разделители. */
.engineering-studio{--ink:#0f172a;--accent:#0f172a;--panel:#ffffffb3;--chrome:#f8fafc;background:linear-gradient(135deg,#f1f5f9,#fff,#eff6ff);color:var(--ink)}
.engineering-studio header{background:#ffffffb3;color:#0f172a;border-bottom:1px solid #cbd5e1;backdrop-filter:blur(20px)}
.engineering-studio header select{background:#ffffffa6;color:#334155;border-color:#cbd5e1}
.studio-ribbon,.engineering-studio .board-options{background:#ffffffb3;border-color:#cbd5e1;backdrop-filter:blur(20px)}
.studio-rail{background:#ffffffb3;border-right:1px solid #cbd5e1;backdrop-filter:blur(20px)}
.engineering-studio .tool-label{color:#64748b}.engineering-studio .studio-rail .icon-command{background:#ffffff80;color:#475569;border-color:#e2e8f0}
.engineering-studio .studio-rail [data-card]{color:var(--tool-color);box-shadow:inset 3px 0 0 color-mix(in srgb,var(--tool-color) 55%,transparent)}
.engineering-studio .studio-rail .icon-command:hover,.engineering-studio .icon-command:hover{background:#f1f5f9;color:#0f172a;border-color:#cbd5e1}
.engineering-studio .icon-command.active,.engineering-studio .icon-command[aria-pressed=true]{background:#0f172a;color:#fff;border-color:#0f172a}
.rail-actions{border-color:#cbd5e1}.engineering-studio #legacyTools>summary{color:#475569}
.engineering-studio #audience{background:#ffffff80;color:#475569;border-color:#cbd5e1}
.engineering-studio main{background:radial-gradient(ellipse at 50% 30%,#fff,#f1f5f9)}
.studio-dock{background:#ffffffb3;border-color:#cbd5e1;backdrop-filter:blur(20px)}
.studio-footer{background:#ffffffb3!important;color:#475569!important;border-top:1px solid #cbd5e1;backdrop-filter:blur(20px)}
.studio-footer #status,.studio-footer #presence,.studio-footer #selectionBar{color:#475569!important}
.engineering-studio .navigator-item.active{background:#e2e8f0;color:#0f172a}
.engineering-studio .studio-tooltip{background:#0f172a;color:#fff;border-color:#334155}
.engineering-studio select::picker(select){background:#ffffffdd;border-color:#cbd5e1;backdrop-filter:blur(20px)}

.engineering-studio .navigator-item.active{background:#e2e8f0!important;color:#0f172a!important;border-color:#cbd5e1!important}.studio-tooltip strong{color:#fff}.studio-tooltip p,.studio-tooltip kbd{color:#cbd5e1}.geometry-apply,.dock-edit{background:#f1f5f9!important;color:#0f172a}.geometry-reload{color:#475569}

.engineering-studio .studio-rail [data-card]{color:color-mix(in srgb,var(--tool-color) 25%,#334155);background:color-mix(in srgb,var(--tool-color) 30%,#fff);box-shadow:inset 3px 0 0 color-mix(in srgb,var(--tool-color) 50%,#64748b)}

/* Редактор в пределах окна доски: поля прокручиваются, действия доступны. */
#cardEditor{padding:0;max-height:calc(100dvh - 24px);overflow:hidden}
#cardForm{display:flex;flex-direction:column;max-height:calc(100dvh - 24px);margin:0;padding:18px}
#cardHeading{flex:none;margin:0 0 8px}
#cardForm>.editor-fields{display:block;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding-right:6px;margin:0}
#cardForm>.dialog-actions{flex:none;margin-top:12px;border-top:1px solid #cbd5e1;padding-top:12px}

/* Keep the workspace inside its host, including short browser windows. */
.studio-shell{position:relative;grid-template-rows:minmax(0,1fr)}
.studio-rail,.studio-dock{min-height:0}
.engineering-studio header,.studio-ribbon,#audience,.studio-footer,.board-options{flex-shrink:0}
#inspector{max-width:calc(100% - 24px)}
@media(max-width:760px){
 .studio-shell:not(.dock-collapsed) .studio-dock{display:flex;position:absolute;top:0;bottom:0;right:0;width:min(248px,calc(100% - 50px));z-index:9;box-shadow:-12px 0 30px #0f172a1a;background:#f8fafcf2}
}

/* 3D is an optional viewer in the existing project shell. */
.engineering-studio #modelViewer{width:min(1180px,calc(100vw - 24px));max-width:none;height:min(760px,calc(100dvh - 24px));max-height:none;padding:0;border:1px solid #cbd5e1;border-radius:18px;background:#f8fafcf7;color:#0f172a;box-shadow:0 20px 75px #0f172a44;overflow:hidden}
#modelViewer::backdrop{background:#0f172a99;backdrop-filter:blur(5px)}
.model-shell{display:flex;flex-direction:column;height:100%;min-height:0}
.engineering-studio #modelViewer .model-head{height:auto;min-height:64px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:9px;padding:12px 16px;border-bottom:1px solid #cbd5e1;background:#ffffffb3;color:#0f172a}
#modelViewer .model-head strong{display:block;font-size:15px;overflow-wrap:anywhere}
#modelViewer .model-head small{display:block;margin-top:4px;color:#64748b;font-size:11px;letter-spacing:normal}
.model-controls{display:flex;flex-wrap:wrap;gap:7px}.model-controls button{background:#fff9}
.model-content{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 260px}
.model-stage{position:relative;min-height:0;background:#eef3f7}.model-stage canvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab}.model-stage canvas:active{cursor:grabbing}
.model-overlay{position:absolute;inset:0;pointer-events:none}.model-pin{position:absolute;transform:translate(-50%,-50%);width:27px;height:27px;border:2px solid white;border-radius:50%;background:#0f172a;color:#fff;box-shadow:0 3px 10px #0f172a77;pointer-events:auto;cursor:pointer}
.model-hint{position:absolute;bottom:6px;left:14px;right:14px;color:#475569;font-size:11px;pointer-events:none;text-align:center}
.model-sidebar{overflow-y:auto;min-height:0;border-left:1px solid #cbd5e1;background:#ffffffc9;padding:15px;display:flex;flex-direction:column;gap:9px}
.model-sidebar h3{font-size:12px;margin:8px 0 0}.model-sidebar label{display:flex;flex-direction:column;gap:5px;font-size:11px}.model-sidebar input,.model-sidebar textarea{width:100%;min-width:0}.model-sidebar textarea{min-height:64px}.model-sidebar form{display:grid;gap:6px}.model-sidebar form[hidden],.model-sidebar button[hidden]{display:none}
.model-sidebar #modelStatus{font-size:11px;color:#475569;line-height:1.4;margin:0}.model-markers{display:grid;gap:5px}.model-marker{width:100%;text-align:left;overflow-wrap:anywhere}.model-marker.active{background:#dbeafe;color:#0f172a}.model-comments{font-size:11px;color:#475569;line-height:1.5;overflow-wrap:anywhere}.model-comments p{border-bottom:1px solid #e2e8f0;padding-bottom:6px}
.engineering-studio #legacyTools nav .model-upload{color:#34596a;background:#fff7;border:1px solid #c9d8df;width:40px}
@media(max-width:700px){.model-content{grid-template-columns:1fr;grid-template-rows:minmax(210px,1fr) minmax(160px,37%)}.model-sidebar{border-left:0;border-top:1px solid #cbd5e1}.model-hint{font-size:9px}.model-controls button{font-size:10px;padding:5px 7px}}

.model-card{display:flex;flex-direction:column;gap:8px;align-items:flex-start;overflow:hidden;color:#0f172a;background:#f8fafcf0}.model-card svg{width:30px;height:30px;flex:none}.model-card strong{font-size:13px;overflow-wrap:anywhere}.model-card button{border:1px solid #cbd5e1;border-radius:10px;padding:6px 9px;background:#fff;color:#0f172a;font-size:11px;cursor:pointer}.model-card small{font-size:10px;color:#64748b}

.model-shell:fullscreen{width:100vw;height:100dvh;background:#f8fafc;color:#0f172a}
