:root{--ink:var(--studio-ink,#21383e);--muted:var(--studio-muted,#6c8187);--teal:var(--studio-accent,#137e68);--line:var(--studio-line,#dfe8e9);--navy:var(--studio-chrome,#132f36);--bg:var(--studio-page,#f4f7f8)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.85 Tahoma,"Segoe UI",Arial,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}a{color:var(--teal)}h1,h2,h3,p{margin:0}h1{font-size:27px;line-height:1.6;letter-spacing:-.5px}h2{font-size:20px}h3{font-size:16px}small{font-size:12px}svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.icon-defs{position:absolute;width:0;height:0;overflow:hidden}.shell{display:flex;min-height:100vh}.sidebar{position:fixed;inset-inline-start:0;inset-block:0;width:var(--sidebar-width,236px);display:flex;flex-direction:column;background:var(--navy);color:var(--studio-ink,#bfd2d5);padding:27px 18px 18px;z-index:25;overflow:auto}.brand{display:flex;gap:11px;align-items:center;text-decoration:none;color:var(--studio-ink,#fff);font-size:16px;font-weight:bold;padding:0 5px 32px}.brand-mark{background:var(--studio-chrome,#244b50);color:var(--studio-ink,#88e4c5);width:45px;height:45px;display:grid;place-items:center;border:1px solid var(--studio-line-strong,#3d666b);border-radius:13px}.brand-mark svg{width:28px;height:28px}.brand small{display:block;font:9px/2.7 Arial;letter-spacing:1.7px;color:var(--studio-muted,#9cbabf)}.caption{color:var(--studio-muted,#91b1b7);font-size:12px;padding:7px 14px 11px}#steps{display:grid;gap:7px}#steps button{display:flex;align-items:center;gap:11px;width:100%;border:0;border-radius:9px;color:inherit;background:transparent;padding:11px 12px;text-align:start;font-size:14px}#steps button:hover{background:var(--studio-chrome,#20444a)}#steps button.active{color:var(--studio-ink,#adf0d5);background:var(--studio-chrome,#224d50);box-shadow:inset -3px 0 #77e0b8}.step-no{font:11px Arial;color:var(--studio-muted,#86a6ad);margin-right:auto}.step-no.done{color:var(--studio-muted,#7bddbb)}.nav-bottom{margin-top:auto;padding-top:25px}.nav-bottom>button{display:flex;align-items:center;gap:11px;border:0;background:none;color:var(--studio-ink,#bfd2d5);width:100%;text-align:start;padding:9px 12px;font-size:14px}.edition{font-size:12px;padding:18px 12px 0;border-top:1px solid #ffffff18;color:var(--studio-muted,#96b1b6);margin-top:16px}.edition span{float:inline-end;border:1px solid var(--studio-line-strong,#5d787d);border-radius:4px;padding:0 5px}.main-wrap{margin-inline-start:var(--sidebar-width,236px);width:calc(100% - var(--sidebar-width,236px));min-width:0}.topbar{height:78px;background:var(--studio-panel,#fff);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 32px;gap:15px}.project-switch{border:0;background:none;display:flex;align-items:center;gap:11px;color:var(--ink);font-weight:bold;min-width:0;max-width:48%}.project-switch svg{color:var(--teal)}#project-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#save-state{font-size:12px;color:var(--muted);margin-inline-end:9px}#save-state.dirty{color:var(--studio-amber,#a27325)}.actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;background:var(--studio-panel,#fff);color:var(--ink);border:1px solid var(--line);padding:7px 13px;border-radius:8px;min-height:40px;text-decoration:none;font-size:14px;white-space:nowrap}.btn:hover{background:var(--studio-raised,#f0f7f4);border-color:var(--studio-line,#b2d5c8)}.btn.primary{background:var(--teal);border-color:var(--teal);color:var(--studio-ink,#fff);box-shadow:0 4px 12px #157e6818}.btn.primary:hover{background:var(--studio-chrome,#0b6654)}.btn.secondary{background:var(--studio-accent-tint,#eaf7f0);color:var(--studio-ink,#116a55);border-color:var(--studio-line,#c5e9d8)}.btn.icon{width:39px;padding:7px}.btn.small{min-height:32px;padding:4px 10px;font-size:12px}.btn.danger{color:var(--studio-error,#b84055)}.btn.active{background:var(--studio-raised,#e2f6eb);color:var(--studio-ink,#087658);border-color:var(--studio-line,#8dcab1)}.btn.full{width:100%}.mobile{display:none}#main{padding:27px 32px 20px;min-height:calc(100vh - 122px)}.heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:22px}.eyebrow{font-size:12px;color:var(--muted);margin-bottom:5px}.eyebrow b{font-weight:normal;color:var(--teal);margin-inline-start:8px}.subtext{color:var(--muted);font-size:14px;margin-top:6px}.badge{display:inline-block;border-radius:5px;background:var(--studio-lime-tint,#e7f6ee);color:var(--studio-lime,#197254);font-size:12px;padding:4px 9px}.badge.warn{background:var(--studio-amber-tint,#fff3dc);color:var(--studio-amber,#936c1b)}.badge.neutral{background:var(--studio-raised,#eef3f5);color:var(--muted)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:21px}.stat{display:flex;align-items:center;gap:14px;background:var(--studio-panel,white);border:1px solid var(--line);border-radius:10px;padding:15px 18px}.stat-icon{display:grid;place-items:center;width:43px;height:43px;border-radius:10px;background:var(--studio-raised,#eaf6f0);color:var(--teal)}.stat:nth-child(2) .stat-icon{background:var(--studio-blue-tint,#eef2fc);color:var(--studio-blue,#537ad1)}.stat:nth-child(3) .stat-icon{background:var(--studio-amber-tint,#fff5e2);color:var(--studio-amber,#aa7b27)}.stat strong{font:600 23px "Segoe UI",Tahoma}.stat small{display:block;color:var(--muted);margin-top:4px}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:20px;align-items:start}.card{background:var(--studio-panel,#fff);border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 28px #173b4410;overflow:hidden}.card+.card{margin-top:16px}.card-title{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:16px 19px;border-bottom:1px solid var(--line)}.card-title small{color:var(--muted)}.card-body{padding:19px}.canvas-top{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 16px;border-bottom:1px solid var(--line)}.segmented{display:flex;gap:2px;border-radius:7px;background:var(--studio-raised,#eff4f4);padding:3px}.segmented button{background:none;border:0;color:var(--muted);border-radius:5px;padding:4px 12px;font-size:13px}.segmented button.active{background:var(--studio-panel,white);color:var(--ink);box-shadow:0 1px 4px #173b4414}.toolbar{display:flex;gap:5px;align-items:center}.toolbar .btn{min-height:32px;width:33px;padding:5px}.toolbar-divider{height:23px;width:1px;background:var(--line);margin:0 4px}.plan-shell{height:435px;position:relative;background:var(--studio-canvas,#f9fbfb);overflow:hidden}.plan-svg{display:block;width:100%;height:435px;touch-action:none;user-select:none;stroke:none;fill:none}.plan-svg text{stroke:none;fill:var(--studio-ink,#234348);font-family:Tahoma,Arial;text-anchor:middle;pointer-events:none}.plan-svg .room{cursor:grab}.plan-svg .room.selected{stroke:var(--studio-accent,#0d6652);stroke-width:.12;stroke-dasharray:.16 .08}.plan-svg .handle{fill:var(--studio-accent-tint,white);stroke:var(--studio-accent,#0b7458);stroke-width:.07;cursor:nwse-resize}.plan-svg.drawing{cursor:crosshair}.canvas-bottom{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:10px 17px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.legend{display:flex;flex-wrap:wrap;gap:12px}.legend span{display:flex;gap:5px;align-items:center}.dot{width:9px;height:9px;display:inline-block;border-radius:3px;background:var(--color);flex-shrink:0}.field{display:grid;gap:6px;margin-bottom:13px}.field label,.field-label{font-size:13px;color:var(--studio-muted,#556f76)}input,select,textarea{width:100%;border:1px solid var(--studio-line,#d8e3e5);border-radius:7px;min-height:39px;padding:7px 10px;color:var(--ink);background:var(--studio-field,white)}input[type=number]{direction:ltr;text-align:right}input[type=color]{width:33px;height:32px;min-height:32px;padding:2px}input[type=checkbox]{width:17px;min-height:17px;accent-color:var(--teal)}input[type=range]{min-height:23px;padding:0;accent-color:var(--teal)}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid var(--studio-focus,#63c7a5);outline-offset:2px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}.space-row{display:flex;align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid var(--studio-line,#ecf1f2);font-size:14px}.space-row:last-child{border:0}.space-name{flex:1;min-width:0}.space-row small{color:var(--muted)}.hint{font-size:12px;color:var(--muted);line-height:1.9;margin-top:10px}.note{border:1px solid var(--studio-line,#d5eadf);background:var(--studio-accent-tint,#edf7f2);color:var(--studio-ink,#3a6b59);padding:12px 14px;border-radius:8px;font-size:13px;line-height:1.9}.note.warn{background:var(--studio-amber-tint,#fff8e8);color:var(--studio-amber,#896622);border-color:var(--studio-amber-line,#eeddb8)}.note.error{background:var(--studio-error-tint,#fff0f3);color:var(--studio-error,#a23b50);border-color:var(--studio-error-line,#efd1da)}.mt{margin-top:15px}.mb{margin-bottom:15px}.info-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--studio-line,#edf1f2);font-size:13px}.info-row>span{color:var(--muted)}.option-card{display:block;text-align:start;background:var(--studio-panel,#fff);border:1px solid var(--line);border-radius:9px;padding:10px 12px;color:var(--ink);width:100%;margin-bottom:6px;cursor:pointer}.option-card:hover,.option-card.active{border-color:var(--studio-line-strong,#75bfaa);background:var(--studio-accent-tint,#f1faf6)}.option-card strong{font-size:14px}.option-card small{font-size:11px;color:var(--muted)}.option-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.options-strip{display:flex;align-items:center;gap:10px;overflow-x:auto;padding:13px 16px;border-top:1px solid var(--line)}.options-strip .option-card{width:160px;min-width:160px;flex-shrink:0;margin:0}.mini-plan{width:100%;height:60px}.empty{text-align:center;display:grid;justify-items:center;align-content:center;gap:10px;min-height:260px;padding:40px 23px}.empty svg{width:38px;height:38px;color:var(--studio-ink,#97bcb1)}.empty p{color:var(--muted);font-size:14px;max-width:450px}.empty .btn{margin-top:10px}.image-panel{display:grid;place-items:center;min-height:330px;padding:14px;background:var(--studio-panel,#fafcfc)}.image-panel img{width:100%;max-height:500px;object-fit:contain}.image-panel canvas{width:100%;max-width:500px}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;font-size:14px}th{font-weight:normal;font-size:12px;color:var(--muted);text-align:start;background:var(--studio-panel,#f5f8f9);white-space:nowrap}td,th{padding:12px 16px;border-bottom:1px solid var(--studio-line,#eaf0f2)}tbody tr:hover{background:var(--studio-panel,#f8fbfa)}.rank-score{font:600 22px "Segoe UI",Tahoma;color:var(--teal)}.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.metric{padding:15px;text-align:center;background:var(--studio-panel,#f3f9f6);border:1px solid var(--studio-line,#e0ede7);border-radius:9px}.metric strong{display:block;font-size:24px}.metric small{font-size:12px;color:var(--muted)}.check-row{display:flex;gap:8px;align-items:center;padding:8px 0;font-size:14px}.slider-row{margin-bottom:17px}.slider-row>div{display:flex;justify-content:space-between;font-size:13px}.slider-row b{color:var(--teal)}.history-row{padding:10px 0;border-bottom:1px solid var(--studio-line,#edf1f2);font-size:13px}.history-row small{color:var(--muted)}.camera-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.camera-tile{border-radius:8px;background:var(--studio-raised,#eef3f4);overflow:hidden}.camera-tile video{width:100%;height:130px;background:var(--navy);object-fit:cover;display:block}.camera-controls{display:flex;gap:5px;padding:8px}.camera-controls select{min-width:0;font-size:12px;min-height:32px;padding:3px}.camera-controls .btn{padding:5px;width:33px;min-height:32px;flex-shrink:0}.job-panel{position:fixed;inset-block-end:23px;inset-inline-end:24px;width:385px;background:var(--navy);border:1px solid var(--studio-line-strong,#3b6267);color:var(--studio-ink,#dcece8);padding:17px 20px;border-radius:12px;box-shadow:0 15px 50px #123b4430;z-index:35;font-size:13px}.job-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}.job-head .btn{background:var(--studio-chrome,#234a4e);border-color:var(--studio-line-strong,#42676b);color:var(--studio-ink,#d6e6e2)}.job-panel progress{width:100%;height:7px;accent-color:var(--studio-accent,#73dfb6);border:0;border-radius:8px;overflow:hidden}.job-panel progress::-webkit-progress-bar{background:var(--studio-chrome,#34575c)}.job-panel progress::-webkit-progress-value{background:var(--studio-accent,#73dfb6)}#job-message{color:var(--studio-muted,#afc9c7);margin-top:7px}.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:var(--navy);border-radius:9px;color:var(--studio-ink,white);padding:12px 21px;max-width:85%;font-size:14px;z-index:100;box-shadow:0 6px 22px #163b4422}.toast.error{background:var(--studio-error-tint,#96374d)}.hidden{display:none!important}dialog{width:calc(100% - 32px);max-width:650px;max-height:85vh;border:1px solid var(--line);padding:0;border-radius:14px;color:var(--ink);box-shadow:0 25px 100px #173b4440}dialog::backdrop{background:var(--studio-scrim,#173b4466);backdrop-filter:blur(3px)}.modal-top{display:flex;align-items:center;justify-content:space-between;background:var(--studio-panel,#fff);border-bottom:1px solid var(--line);padding:18px 22px;position:sticky;top:0;z-index:2}.modal-top h2{font-size:18px}#modal-body{padding:22px}.modal-actions{display:flex;justify-content:flex-end;gap:9px;padding-top:18px}.project-row{display:flex;align-items:center;gap:13px;border-bottom:1px solid var(--studio-line,#edf1f2);padding:13px 0}.project-row>div{flex:1}.help-list{font-size:14px;line-height:2.3;padding-inline-start:22px}.form-error{font-size:13px;color:var(--studio-error,#ac4054)}.boot{padding:110px 10px;text-align:center;color:var(--muted)}footer{display:flex;justify-content:space-between;gap:15px;padding:10px 32px 14px;font-size:11px;color:var(--studio-muted,#899da4)}footer>span:first-child{font:10px/2 Arial;letter-spacing:2px}.welcome{max-width:850px;margin:25px auto}.welcome-top{background:var(--navy);border-radius:14px 14px 0 0;padding:30px 32px;color:var(--studio-ink,white)}.welcome-top small{color:var(--studio-muted,#9ebdbf)}.welcome-top h1{margin-top:8px;font-size:29px}.welcome .card{border-radius:0 0 14px 14px}.welcome-choices{display:grid;grid-template-columns:1fr 1fr;gap:16px}.welcome-choice{background:var(--studio-panel,white);border:1px solid var(--line);padding:23px;border-radius:10px;text-align:start;color:var(--ink)}.welcome-choice:hover{background:var(--studio-panel,#f4fbf7);border-color:var(--studio-line-strong,#7ac4ac)}.welcome-choice svg{width:31px;height:31px;color:var(--teal);margin-bottom:14px}.welcome-choice strong{display:block;font-size:18px;margin-bottom:5px}.welcome-choice p{font-size:13px;color:var(--muted)}.welcome-choice small{display:block;color:var(--teal);margin-top:13px}
@media(min-width:1600px){#main{max-width:1600px;margin:auto}.plan-shell,.plan-svg{height:510px}.workspace{grid-template-columns:minmax(0,1fr) 320px}}
@media(max-width:1200px){:root{--sidebar-width:204px}.sidebar{padding-inline:12px}.brand{font-size:14px;gap:8px}.brand-mark{width:39px;height:39px}.brand small{font-size:8px}#main{padding:22px}.topbar{padding:0 22px}.workspace{grid-template-columns:minmax(0,1fr) 265px;gap:14px}.stat{padding:12px;gap:10px}.stats{gap:10px}#save-state{display:none}.plan-shell,.plan-svg{height:380px}}
@media(max-width:980px){.workspace{grid-template-columns:1fr}.side-panels{display:grid;grid-template-columns:1fr 1fr;gap:14px}.side-panels>.card{margin:0}.stats{grid-template-columns:1fr 1fr}.heading{align-items:flex-start}.project-switch{max-width:55%}.topbar .btn.backup{font-size:12px}}
@media(max-width:760px){.sidebar{width:236px;transform:translateX(100%);transition:transform .2s;box-shadow:-10px 0 50px #173b4430}.sidebar.open{transform:translateX(0)}.main-wrap{width:100%;margin:0}.topbar{height:65px;padding:0 14px}.mobile{display:inline-flex}.topbar .backup{display:none}.topbar>.actions{gap:4px}.topbar .btn{width:33px;min-height:33px;padding:5px}.project-switch{font-size:13px;flex:1;max-width:60%}#main{padding:18px 14px}.heading{flex-direction:column;gap:12px;margin-bottom:16px}h1{font-size:23px}.subtext{font-size:13px}.stats{gap:9px}.stat{padding:10px;gap:9px}.stat-icon{width:34px;height:34px}.stat strong{font-size:21px}.stat small{font-size:11px}.side-panels{grid-template-columns:1fr}.plan-shell,.plan-svg{height:340px}.legend{font-size:10px;gap:7px}.card-body{padding:16px}.job-panel{inset-inline-end:12px;inset-block-end:16px;width:calc(100% - 24px)}.toast{max-width:94%;width:max-content;font-size:13px}.welcome{margin:0}.welcome-top{padding:24px}.welcome-top h1{font-size:24px}.welcome-choices{grid-template-columns:1fr}footer{padding:10px 14px;font-size:10px}footer>span:first-child{display:none}.metric-grid{gap:6px}.metric{padding:10px 5px}.metric small{font-size:10px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
@font-face{font-family:Studio;src:url('/static/DejaVuSans.ttf') format('truetype');font-display:swap}body{font-family:Studio,Tahoma,Arial,sans-serif}.meter{grid-column:span 2}.meter>div{width:100%}.meter progress{display:block;width:100%;height:10px;margin:10px 0;accent-color:var(--studio-accent,#158574)}.meter.over strong{color:var(--studio-error,#c23c49)}.meter.over progress{accent-color:var(--studio-error,#c23c49)}.priority-card{border:1px solid var(--studio-line,#dde7e3);border-radius:12px;padding:12px;margin-bottom:12px}.priority-card.locked{background:var(--studio-raised,#edf7f0);border-color:var(--studio-line,#bdd9c7)}.priority-card .space-row input[type=number]{width:74px}.priority-card .space-row input:not([type=color]){min-width:0}.priority-card .space-row input[type=color]{width:35px;flex-shrink:0}details{margin-top:16px}summary{cursor:pointer;color:var(--studio-ink,#386c66);padding:8px 0;font-size:13px}.material-row{display:grid;grid-template-columns:1fr 105px 95px 30px;gap:5px;margin-bottom:10px}.material-row input,.material-row select{min-width:0}.grammar-options{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.grammar-option{border:1px solid var(--studio-line,#dce6e2);border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:8px}.grammar-option .mini-plan{height:120px;width:100%}.candidate-preview .room{stroke-dasharray:.2 .15;fill-opacity:.5}.orbit-controls{display:flex;flex-wrap:wrap;align-items:center;gap:16px;padding:10px 20px}.orbit-controls label{display:flex;align-items:center;gap:8px;font-size:12px}.orbit-controls input{width:90px}.graph-canvas{display:block;width:100%;max-height:560px;touch-action:none}.wall-target{cursor:crosshair}.wall-target:hover{stroke:var(--studio-accent,#d29a4260)}[data-curve]{cursor:grab}[data-opening-edit]{cursor:pointer}.stage-footer{border-top:1px solid var(--studio-line,#d6e5df);margin-top:24px;padding-top:20px;display:flex;flex-direction:column;gap:12px}.file-tree{max-height:65vh;overflow:auto}.file-tree a{display:flex;justify-content:space-between;gap:20px;font-size:11px;padding:10px;border-bottom:1px solid var(--studio-line,#edf0ee);text-decoration:none}.file-tree span{overflow-wrap:anywhere}.account-hero{display:flex;flex-direction:column;gap:8px;padding:20px;background:var(--studio-raised,#edf6f2);border-radius:12px;margin-bottom:20px}.recovery-code{padding:20px;background:var(--studio-raised,#eef5f1);border-radius:12px;overflow-wrap:anywhere;text-align:center}@media(max-width:750px){.grammar-options{grid-template-columns:repeat(2,1fr)}.meter{grid-column:span 1}.material-row{grid-template-columns:1fr 85px 80px 25px}.stage-footer .actions{flex-wrap:wrap}.priority-card{padding:8px}}
/* 2.1: explicit drawing dimensions override the global icon SVG dimensions. */
.graph-canvas{height:clamp(420px,68vh,720px);max-height:none;fill:none;stroke:none;user-select:none;background:var(--studio-canvas,#f7faf9)}.graph-toolbar{flex-wrap:wrap}.graph-viewport{overflow:hidden;min-width:0}.graph-viewport:fullscreen{background:var(--studio-canvas,white);padding:20px;display:grid;align-content:center}.graph-viewport:fullscreen .graph-canvas{height:85vh}.graph-canvas.panning{cursor:grab}.graph-canvas text{stroke:none}.graph-card .canvas-top{flex-wrap:wrap}.graph-card .plan-shell{height:auto;min-height:500px}.graph-card .plan-svg{height:520px}.camera-frame{position:relative;aspect-ratio:4/3;background:var(--studio-chrome,#132f36)}.camera-frame video{width:100%;height:100%;object-fit:contain}.camera-frame canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.camera-grid{grid-template-columns:repeat(2,minmax(250px,1fr));gap:16px}.camera-tile{border:1px solid var(--studio-line,#cdded8)}.camera-controls{flex-wrap:wrap;padding:10px}.camera-controls .btn{width:auto;padding:6px 10px}.camera-controls select{flex:1;min-width:130px}.camera-status{font-size:12px;padding:8px 12px;min-height:40px;line-height:1.8}.camera-tile:fullscreen{background:var(--studio-chrome,#132f36);display:flex;flex-direction:column;justify-content:center}.camera-tile:fullscreen .camera-frame{max-height:90vh}.emotion-chart{width:100%;height:250px;stroke:none;fill:none;background:var(--studio-panel,#f7faf9);border-radius:12px}.emotion-key{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;padding:10px}.favorite-row{display:flex;gap:12px;overflow-x:auto;padding-bottom:12px}.favorite-row .grammar-option{min-width:220px;width:240px;flex-shrink:0}.liked{color:var(--studio-error,#bd3e65);background:var(--studio-error-tint,#fff1f5)}.mcda-table{min-width:3300px}.mcda-table input{width:115px;min-height:36px;font-size:12px}.mcda-table th{text-align:center;background:var(--studio-raised,#e8f1ee)}.mcda-table td:first-child,.mcda-table th:first-child{position:sticky;right:0;min-width:185px;background:var(--studio-panel,white);z-index:1}.mcda-table .mini-plan{height:90px}.mcda-weights{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.mcda-weight{background:var(--studio-raised,#edf6f1);padding:14px;border-radius:12px}.mcda-weight input{width:100%}.mcda-table .score{color:var(--studio-accent,#127762);font-weight:bold}.mcda-scroll{max-height:70vh}.feedback-crop img{width:100%;max-height:260px;object-fit:contain}.vr-icon{width:24px;height:24px}.ai-diagnostics pre{white-space:pre-wrap;direction:ltr;overflow-wrap:anywhere;background:var(--studio-panel,#f5f7f8);padding:14px}.plan-svg .room{touch-action:none}.import-preview{width:100%;height:320px;fill:none;stroke:none}.import-preview [data-action]{cursor:pointer}@media(max-width:980px){.mcda-weights{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.camera-grid{grid-template-columns:1fr}.graph-canvas{height:420px}.graph-card .plan-svg{height:420px}.mcda-weights{grid-template-columns:1fr}.favorite-row .grammar-option{width:220px}}
/* 2.2: use the entire content area while retaining the existing right navigation. */
#main{max-width:none;margin:0;width:100%;padding:20px 18px}.workspace{grid-template-columns:minmax(0,1fr) minmax(340px,390px);gap:16px}.workspace>div{min-width:0}.priority-card .space-row{display:grid;grid-template-columns:22px 35px minmax(90px,1fr) 94px;gap:6px}.priority-card .space-row input[type=number]{width:94px;min-width:94px;font:16px/1.6 Studio,Tahoma;direction:ltr;text-align:center}.priority-card{padding:10px}.priority-card .space-row input:not([type=color]){min-height:42px}.grammar-options{grid-template-columns:repeat(auto-fit,minmax(205px,1fr))}.mcda-table{min-width:0;width:max-content;max-width:none;font-size:14px}.mcda-table th{font-size:14px;font-weight:700;line-height:1.7;padding:8px 6px;white-space:normal;max-width:128px;min-width:88px}.mcda-table td{padding:6px 5px}.mcda-table input{width:86px;min-width:76px;font-size:14px;padding:5px}.mcda-table td:first-child,.mcda-table th:first-child{min-width:150px;max-width:180px}.mcda-table .mini-plan{height:65px}.mcda-scroll{width:100%;scrollbar-gutter:stable}.mcda-scroll thead{position:sticky;top:0;z-index:3}.mcda-weights{margin-bottom:14px}.orbit-svg{cursor:grab;touch-action:none}.stage-footer>.field{max-width:300px}.stage-footer .actions{flex-wrap:wrap}#project-undo-controls{flex-wrap:nowrap}.topbar>.actions{flex-wrap:wrap;justify-content:flex-end}.image-panel canvas{max-width:650px;aspect-ratio:1/1}.image-panel img{max-height:650px}@media(max-width:1080px){.workspace{grid-template-columns:1fr}.workspace>.side-panels{grid-template-columns:repeat(2,minmax(0,1fr))}.priority-card .space-row{grid-template-columns:22px 35px minmax(80px,1fr) 94px}}@media(max-width:760px){#main{padding:14px 10px}.workspace>.side-panels{grid-template-columns:1fr}.topbar{height:auto;min-height:65px;padding-block:8px}#project-undo-controls .btn{width:auto}.mcda-table th{font-size:13px;min-width:80px}.mcda-table input{width:76px}.heading .actions{flex-wrap:wrap}}
.layout-action-bar{position:sticky;bottom:10px;z-index:5;display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;padding:14px;background:var(--studio-glass,#f4faf7f5);border-top:1px solid var(--studio-line,#cfe2d8);box-shadow:0 -4px 18px #1c4e3d10}.layout-choice{display:grid;gap:6px;min-width:150px}.layout-choice>.option-card{width:100%;height:100%}.space-legend{display:flex;gap:12px;flex-wrap:wrap}.space-legend span{display:inline-flex;gap:5px;align-items:center}.justified-graph{display:block;width:100%;height:auto;max-height:1000px;object-fit:contain;margin:10px 0}.round-badge{display:inline-block;background:var(--studio-raised,#dfeee6);color:var(--studio-ink,#195b4d);padding:4px 10px;border-radius:20px}.orbit-svg{cursor:grab;user-select:none}.plan-shell{overscroll-behavior:contain}.image-panel canvas{max-width:100%;height:auto}#sim-clock{font-weight:bold;color:var(--studio-ink,#234e50)}
.headset-state{background:var(--studio-raised,#f1f5f6);border:1px solid var(--studio-line,#d0dfe1);border-radius:12px;padding:15px;margin:12px 0}.headset-state.online{background:var(--studio-lime-tint,#eef9f3);border-color:var(--studio-line-strong,#8abfa9)}.headset-state p{margin:6px 0}.pairing-code{display:grid;gap:8px;text-align:center;background:var(--studio-raised,#e9f2ee);border:1px solid var(--studio-line,#b7d1c4);padding:18px;border-radius:12px;margin-top:14px}.pairing-code strong{font:700 32px/1.5 Arial;letter-spacing:5px;color:var(--studio-ink,#165e4c)}#headset-badge.connected{background:var(--studio-lime-tint,#e1f4e9);border-color:var(--studio-line,#9fceb4);color:var(--studio-lime,#166043)}#headset-url{font:13px/1.6 Arial;padding:10px;width:100%}
.profile-project>.mini-plan{width:105px;height:85px;flex:none}.simulation-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}.simulation-gallery figure{margin:0}.simulation-gallery img{width:100%;height:auto}.simulation-gallery figcaption{font-size:13px;line-height:1.7;margin:8px 0}

.space-row{grid-template-columns:28px 42px minmax(90px,1fr) 85px 100px}.space-height{font-size:12px;display:grid;gap:2px}.space-height input{width:90px}.spatial-toolbar{padding:14px;background:var(--studio-raised,#eaf3ef);border:1px solid var(--studio-line,#bfd5cb);border-radius:12px;margin-bottom:14px}.spatial-toolbar .actions{flex-wrap:wrap}.live-conflict{background:var(--studio-amber-tint,#fff2d5);padding:12px;border-radius:10px}.floor-table td{padding:8px}
/* 2.6 */
.portfolio-grid{display:grid;gap:14px}.portfolio-project{display:flex;gap:20px;padding:18px;border:1px solid var(--studio-line,#d3e4dc);border-radius:12px;background:var(--studio-panel,#fbfdfc);align-items:center}.portfolio-project .mini-plan,.project-placeholder{width:180px;height:140px;flex-shrink:0;background:var(--studio-raised,#f0f5f1);border-radius:8px}.portfolio-details{flex:1;min-width:0}.portfolio-details progress{display:block;width:170px;height:6px;margin:8px 0 14px}.portfolio-details .actions{gap:6px}.overlap-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:0 0 18px}.overlap-metrics>div{border-inline-start:5px solid;padding:10px;background:var(--studio-raised,#f2f6f5);border-radius:8px}.overlap-metrics span,.overlap-metrics strong{display:block}.language-switch{max-width:125px;min-height:32px;font-size:12px}.orbit-svg{touch-action:none;user-select:none}.spatial-toolbar{margin-bottom:14px}
html[dir=ltr] .step-no{margin-right:0;margin-left:auto}html[dir=ltr] .mcda-table td:first-child,html[dir=ltr] .mcda-table th:first-child{right:auto;left:0}html[dir=ltr] input[type=number]{text-align:left}html[dir=ltr] #vr-panel{right:auto;left:16px}
@media(max-width:800px){.portfolio-project{flex-direction:column;align-items:stretch}.portfolio-project .mini-plan{width:100%;height:160px}.overlap-metrics{grid-template-columns:repeat(2,1fr)}html[dir=ltr] .sidebar:not(.open){transform:translateX(-100%)}}
/* 2.7 integrated opening tools and delivery area */
.opening-sidebar{grid-area:tools}.workspace:has(>.opening-sidebar){grid-template-columns:minmax(0,1fr) minmax(270px,330px);grid-template-areas:"plan tools"}.workspace:has(>.opening-sidebar)>div:not(.opening-sidebar){grid-area:plan}
.opening-list{display:grid;gap:7px;max-height:340px;overflow:auto}.opening-row{display:grid;grid-template-columns:42px 1fr auto;align-items:center;text-align:start;gap:10px;border:1px solid var(--studio-line,#d4e2de);border-radius:10px;background:var(--studio-panel,#fff);color:var(--studio-ink,#214b51);padding:12px;cursor:pointer;font:inherit}.opening-row.selected{border-color:var(--studio-line-strong,#07866e);background:var(--studio-accent-tint,#edf9f3);box-shadow:inset 3px 0 #07866e}.opening-row small{font-size:11px}.opening-properties{margin-top:15px;padding-top:12px;border-top:1px solid var(--studio-line,#d9e6e2)}.opening-properties h4{font-size:22px;margin:0 0 8px}.opening-stepper{display:flex;align-items:center;gap:8px;direction:ltr;margin:8px 0}.opening-stepper input{min-width:0;width:100%;text-align:center}.opening-symbol{cursor:ew-resize;touch-action:none}.opening-symbol:focus{outline:none}.opening-symbol:focus line{filter:drop-shadow(0 0 2px #cf9c21)}
.stage-footer{display:block!important;background:var(--studio-panel,#fff);border:1px solid var(--studio-line,#d4e2dc);border-radius:16px;margin-top:24px;padding:20px!important}.stage-delivery{display:flex;align-items:center;justify-content:space-between;gap:16px}.stage-delivery strong{font-size:17px}.stage-delivery p{margin:5px 0}.stage-utilities{display:flex;align-items:flex-start;gap:24px;margin-top:16px;padding-top:16px;border-top:1px solid var(--studio-line,#e6eeeb)}.stage-utilities>.field{min-width:180px;margin:0}.stage-tools{flex:1}.stage-tools summary{cursor:pointer;padding:10px;font-weight:600;color:var(--studio-ink,#32605b)}.stage-tools .actions{margin-top:10px;flex-wrap:wrap}.organized-files{max-height:60vh;overflow:auto;display:block!important}.organized-files details{margin:8px 0;border:1px solid var(--studio-line,#dde8e4);border-radius:10px;padding:10px}.organized-files summary{cursor:pointer;font-weight:600;padding:7px}.organized-files a{display:flex!important;justify-content:space-between;padding:12px!important;border-bottom:1px solid var(--studio-line,#edf2f0)}.organized-files a[hidden]{display:none!important}.organized-files a span small{display:block;color:var(--studio-muted,#66817c);margin-top:5px}.rank-diagnostic{display:block;margin-top:8px;max-width:320px;color:var(--studio-amber,#8b6940)}.rank-diagnostic+.badge{white-space:normal}
.sam-scale{border:1px solid var(--studio-line,#dce7e3);padding:14px;border-radius:12px;margin:14px 0}.sam-anchors{display:block!important;background:var(--studio-panel,white);border-radius:8px;margin:10px 0}.sam-anchors img{display:block;width:100%;height:auto}.sam-anchors>div{display:flex;justify-content:space-around;padding:5px 0}.sam-anchors button{border:1px solid var(--studio-line,#d2e3dc);border-radius:50%;width:28px;height:28px;background:var(--studio-raised,#f0f7f3);color:var(--studio-ink,#25594e);cursor:pointer}.sam-scale input[type=range]{direction:ltr}.pedestrian-view{background:var(--studio-canvas,#f4f7f8)!important;padding:12px!important}.pedestrian-view canvas{width:100%;height:auto;max-width:900px;aspect-ratio:1;border:1px solid var(--studio-line,#dae5e8);border-radius:12px;box-shadow:0 8px 24px #1a3e4710}.playback-tools{display:flex;align-items:center;gap:16px;flex-wrap:wrap;text-align:start;padding:14px 0}.playback-tools .field{width:100px;margin:0}.playback-tools span{font-size:12px;color:var(--studio-muted,#537177)}.playback-tools input[type=checkbox]{width:auto}
@media(max-width:950px){.workspace:has(>.opening-sidebar){grid-template-columns:minmax(0,1fr);grid-template-areas:"plan" "tools"}.stage-delivery,.stage-utilities{flex-direction:column;align-items:stretch}.stage-delivery .actions{flex-wrap:wrap}.stage-utilities>.field{max-width:none}}
/* 2.8 shared building datum and complete nine-point SAM */
.sam-nine28>div{display:grid!important;grid-template-columns:repeat(9,minmax(0,1fr));justify-items:center;align-items:center;padding-inline:5%!important}.sam-nine28 img{width:100%}.sam-nine28 button{width:26px;height:26px;font-size:12px}.building-svg28{display:block;width:100%;height:auto;min-height:300px;max-height:65vh}.building-controls28{display:grid;gap:12px;padding:15px;background:var(--studio-raised,#eef4f5);border-radius:12px}.building-controls28 label{display:flex;align-items:center;gap:10px}.building-controls28 input[type=checkbox]{width:auto}.building-controls28 input[type=range]{flex:1}.registration-grid28{display:grid;grid-template-columns:1fr 1fr;gap:16px}.registration-pane28{border:1px solid var(--studio-line,#d5e2df);padding:14px;border-radius:12px;background:var(--studio-panel,#f7faf9)}.registration-pane28>svg{width:100%;height:300px;background:var(--studio-panel,white);cursor:crosshair;touch-action:none}.registration-inputs28{display:grid;grid-template-columns:22px 1fr 1fr;align-items:center;gap:8px;direction:ltr}.registration-inputs28 .field{margin:0}.registration-inputs28 input{min-width:0;direction:ltr}.floor-boundaries28{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:14px}.floor-boundaries28>label{display:grid;gap:8px;border:1px solid var(--studio-line,#d0e2db);padding:12px;border-radius:12px;cursor:pointer}.floor-boundaries28 svg{width:100%;height:120px}.floor-layer28{display:inline-flex;align-items:center;gap:6px;margin:8px}.floor-layer28 input{width:auto}#modal:has(.registration-grid28),#modal:has(.building-svg28){width:min(1100px,96vw);max-width:1100px}@media(max-width:750px){.registration-grid28{grid-template-columns:1fr}.registration-pane28>svg{height:240px}}
.syntax-map28{width:100%;max-width:820px;display:block;margin:12px auto}
/* 2.9: local controls stay with their drawing; roofs beside each space. */
.room-row29{display:flex;align-items:center;gap:8px}.room-row29>.option-card{flex:1;min-width:0}.roof-choice29{display:flex;gap:7px;align-items:center;white-space:nowrap;font-size:13px;padding:8px}.roof-choice29 input{width:auto}.graph-root29{margin:0 16px 12px;padding:14px;border-color:var(--studio-line,#aac8bf);background:var(--studio-raised,#f1f7f4);position:sticky;top:0;z-index:4}.graph-root29 .field{max-width:460px}.graph-root29 .hint{margin-bottom:0}.built-list29>div{display:flex;gap:15px;align-items:center;justify-content:space-between;padding:10px;border-bottom:1px solid var(--studio-line,#dce7e1)}.orbit-controls input[type=checkbox]{width:auto}
