:root{font-family:Inter,Segoe UI,system-ui,sans-serif;color:#19343d;background:#edf1f3;font-size:14px;--teal:#007f7a;--line:#d9e2e5}*{box-sizing:border-box}body{margin:0}header{height:76px;background:#15323e;color:white;display:flex;align-items:center;justify-content:space-between;padding:0 24px;gap:20px}.brand{font-size:23px;font-weight:750}.brand span{font-weight:350;margin-left:10px}.brand small{display:block;font-size:11px;font-weight:400;color:#a8ced4;margin-top:4px}.header-actions{display:flex;align-items:center;gap:10px}#saveState{font-size:12px;color:#c0dcdd;margin-right:10px}button,input,select,textarea{font:inherit}button{border:1px solid #c9d6dc;border-radius:7px;background:white;color:#21404a;padding:9px 12px;cursor:pointer}button:hover{background:#e7f3f2;border-color:#6caaa6}button:disabled{opacity:.5;cursor:default}.primary{background:#00877d;color:white;border-color:#00877d}.primary:hover{background:#006d65;color:white}input,select,textarea{border:1px solid #ccd8de;border-radius:6px;padding:9px;width:100%;background:white;color:#17323d}input[type=checkbox]{width:auto}label{display:block;margin:11px 0 5px;font-size:12px;color:#4a6471}label input,label select{margin-top:5px}#notice{padding:10px 24px;background:#e2eeed;border-bottom:1px solid #cbdedb;font-size:12px;min-height:36px}#notice.error{background:#fff1da;color:#8a4500}main{display:grid;grid-template-columns:235px minmax(300px,1fr) 335px;height:calc(100vh - 112px)}aside{background:#fff;overflow:auto;padding:18px;border-right:1px solid var(--line)}.properties{border-left:1px solid var(--line);border-right:0}h2{font-size:16px;margin:0}h3{font-size:14px;margin:4px 0}.section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.wide{width:100%;margin:5px 0}.hint{font-size:12px;color:#6b818b;line-height:1.6}.item{display:block;width:100%;text-align:left;margin:7px 0;padding:12px;background:#fafcfc}.item.selected{border-color:#00877d;background:#e9f5f2;box-shadow:inset 3px 0 #00877d}.item strong,.item small{display:block}.item small{font-size:11px;color:#607882;margin-top:4px;overflow-wrap:anywhere}.workspace{display:flex;flex-direction:column;min-width:0;overflow:hidden}.viewbar{display:flex;align-items:center;gap:6px;padding:12px 16px;border-bottom:1px solid var(--line);background:#f8fafb}.segments{display:flex;gap:3px;flex-wrap:wrap}.segments button{font-size:12px;border-color:transparent;background:transparent}.segments button.active{background:#dcefeb;color:#006d65;border-color:#a7cfca}.viewbar .segments{margin-right:auto}.canvaswrap{flex:1;min-height:250px;overflow:auto;position:relative;display:flex;align-items:flex-start;justify-content:center;background-color:#f4f6f6;background-image:radial-gradient(#cbd8db .7px,transparent .7px);background-size:20px 20px;padding:30px}#stage{position:relative;flex-shrink:0;background:white;box-shadow:0 8px 25px #18394715}#asset{display:block;width:100%;height:100%;object-fit:fill}#overlay{position:absolute;inset:0;width:100%;height:100%;overflow:visible;touch-action:none}#modelCanvas{width:100%;height:100%;min-height:400px;touch-action:none}#empty{align-self:center;text-align:center;max-width:480px;padding:30px}#empty h1{font-size:30px;letter-spacing:-1px}#empty p{line-height:1.8;color:#607a83}.toolrow{display:flex;gap:8px;align-items:center;padding:10px 16px;background:#fff;border-top:1px solid var(--line);flex-wrap:wrap}.toolrow span{font-size:11px;color:#6b818b}.bottom{background:#fff;padding:15px 20px;border-top:1px solid var(--line);max-height:190px;overflow:auto}.bottom details{font-size:12px}summary{cursor:pointer;padding:10px 0;font-weight:600}#sourceInfo{white-space:pre-wrap;font:11px ui-monospace,monospace;max-height:250px;overflow:auto}#modelInfo{margin:0;padding:0 16px;background:#fff}.pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}.triple{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.subhead{margin-top:20px;font-weight:650}.port{display:flex;gap:6px;align-items:center;border-bottom:1px solid #e9eeef;padding:7px 0}.port button:first-child{flex:1;text-align:left;font-size:12px}.danger{color:#a14435}#panel{padding-top:10px}.warning{padding:10px;background:#fff4df;color:#815714;font-size:12px;line-height:1.5;border-radius:6px;margin:8px 0}#review{margin-top:18px;border-top:1px solid var(--line)}#issues{padding-left:18px;font-size:12px;line-height:1.7;color:#875718}#checks label{line-height:1.7}dialog{border:1px solid #b9cdd1;border-radius:14px;padding:26px;max-width:650px}dialog::backdrop{background:#102d3d88}.dialog-actions{display:flex;gap:8px;margin-top:20px;flex-wrap:wrap}#exportErrors{white-space:pre-wrap;font-size:12px;color:#8b4f15;max-height:230px;overflow:auto;margin-top:14px}a{color:#007e78}#zoomLabel{min-width:42px;text-align:center;font-size:12px}[hidden]{display:none!important}@media(max-width:1050px){main{grid-template-columns:190px minmax(260px,1fr) 280px}.properties,.catalog{padding:12px}.brand span{display:none}.viewbar{flex-wrap:wrap}}@media(max-width:760px){header{height:auto;padding:14px;flex-wrap:wrap}main{display:flex;flex-direction:column;height:auto}.catalog{max-height:250px}.workspace{height:750px}.properties{overflow:visible}.header-actions{flex-wrap:wrap}.viewbar .segments{width:100%}}

.pickrow{display:flex;align-items:center;gap:7px}.pickrow>input{width:auto;flex:none}.pickrow>.item{min-width:0;flex:1}.selection-actions{display:grid;gap:6px;margin:10px 0}

.properties .segments{flex-wrap:wrap}.area-pulse{animation:areaPulse 1.3s ease-in-out infinite}@keyframes areaPulse{50%{fill:#ffcc0088;stroke:#e0a000;stroke-width:4}}@media(prefers-reduced-motion:reduce){.area-pulse{animation:none;fill:#ffcc0066}}
