/* v1.0.0 — collapsible construction workspace */
.release-v1{--header:112px;--layers:0px}
.release-v1 .header{display:grid;grid-template-columns:minmax(200px,310px) 36px minmax(100px,1fr) max-content;height:auto;min-height:112px;align-items:center;gap:8px 14px;padding:12px 20px}
.release-v1 .project-controls{grid-column:1;grid-row:1;width:100%;min-width:0}
.release-v1 #project{font-size:16px}
.release-v1 .language{grid-column:2;grid-row:1;margin:0;padding:0}
.release-v1 .brand{grid-column:3;grid-row:1;position:static;transform:none;width:150px;max-width:100%;justify-self:center;background:none}
.release-v1 .header-actions{grid-column:4;grid-row:1;position:static;padding:0;margin:0;display:flex;gap:7px;align-items:center}
.release-v1 .date-row{grid-column:1/-1;grid-row:2;margin:0;gap:6px;flex-wrap:wrap}
.release-v1 #floor{width:105px;padding:6px;font-size:12px}
.release-v1 .version-label{padding:5px;border:0;color:var(--muted);font-size:10px;white-space:nowrap}
.release-v1 .layer-menu,.release-v1 .point-menu{position:relative}
.release-v1 .layer-menu>summary,.release-v1 .point-menu>summary{list-style:none;display:grid;place-items:center;border:1px solid var(--line);border-radius:7px;min-width:34px;min-height:34px;cursor:pointer;font-size:22px;background:white}
.release-v1 summary::-webkit-details-marker{display:none}
.release-v1 .layers{position:absolute;right:0;top:calc(100% + 7px);width:240px;max-height:65vh;height:auto;display:flex;flex-direction:column;align-items:stretch;gap:3px;overflow:auto;padding:9px;background:#fff;border:1px solid var(--line);border-radius:9px;z-index:70;box-shadow:0 10px 30px #0002}
.release-v1 .layer-menu:not([open]) .layers{display:none}
.release-v1 .layers button{text-align:left;white-space:normal;padding:9px}
.release-v1 .point-menu>div{position:absolute;right:0;top:calc(100% + 6px);width:180px;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 20px #0002;padding:6px;z-index:40;display:grid;gap:5px}
.release-v1 .workspace{display:grid;height:calc(100dvh - var(--header));min-height:580px;grid-template-columns:minmax(0,1fr) 80px;position:relative}
.release-v1 .workspace[data-shots=true]{grid-template-columns:210px minmax(0,1fr) 80px}
.release-v1 .sidebar{position:static;width:auto;display:flex;box-shadow:none;min-height:0;padding:12px}
.release-v1 .sidebar-title{gap:6px;margin-bottom:10px}.release-v1 .sidebar-title h2{flex:1}.release-v1 .sidebar-title button{padding:3px 8px;font-size:18px}
.release-v1 main{padding:14px 12px 12px;min-width:0;min-height:0;width:auto}
.release-v1 .panels{display:grid;grid-template-columns:minmax(220px,27%) minmax(0,1fr);gap:12px;position:relative}
.release-v1 .panels[data-info=true]{grid-template-columns:minmax(190px,24%) minmax(260px,1fr) 290px}
.release-v1 .panels[data-plan=false]{grid-template-columns:minmax(0,1fr)}
.release-v1 .panels[data-plan=false][data-info=true]{grid-template-columns:minmax(260px,1fr) 290px}
.release-v1 .panels .panel{display:flex;min-height:0;height:auto}
.release-v1 .center-panels{display:grid;grid-template-rows:minmax(0,1fr);height:auto;gap:12px;min-height:0}
.release-v1 .center-panels[data-drawing=true]{grid-template-rows:minmax(260px,62%) minmax(160px,1fr)}
.release-v1 .stage{min-height:120px}
.release-v1 .plan-panel .panel-head{min-height:58px}
.release-v1 .panel-head h1{font-size:20px;line-height:1.25;font-weight:600}
.release-v1 .viewer-meta{display:flex;flex-wrap:wrap;gap:7px;font-size:11px;color:var(--muted);margin-top:4px}
.release-v1 .plan-scroll{display:block}.release-v1 .plan-canvas{max-width:none}
.release-v1 .surface-bar{flex-wrap:nowrap;padding:8px}.release-v1 .surface-bar select{width:100%;flex:1}
.release-v1 .tool-rail{background:#fff;border-left:1px solid var(--line);display:flex;flex-direction:column;gap:8px;padding:14px 6px;min-width:0}
.release-v1 .tool-rail button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:70px;padding:8px 3px;border-color:transparent;background:transparent;color:var(--muted);font-size:11px;line-height:1.3;overflow-wrap:anywhere}
.release-v1 .tool-rail button>span:first-child{font-size:22px;line-height:1.15;color:var(--brand)}
.release-v1 .tool-rail button[aria-pressed=true]{background:var(--soft);color:var(--brand);border-color:var(--line)}
.release-v1 .mobile-tabs{display:none}
.release-v1 .info-panel,.release-v1 .tour-panel{min-height:0;overflow:hidden}
.release-v1 .inline-editor,.release-v1 .tour-content{padding:13px;overflow:auto;min-height:0;flex:1;font-size:12px}
.release-v1 .inline-editor{display:flex;flex-direction:column;gap:12px}
.release-v1 .inline-editor .field{font-size:12px}.release-v1 .inline-editor input,.release-v1 .inline-editor select,.release-v1 .inline-editor textarea{font-size:12px;padding:8px;width:100%}
.release-v1 .inline-editor textarea{min-height:100px}
.release-v1 .inline-editor .form-grid{grid-template-columns:1fr;gap:10px}
.release-v1 .editor-actions{display:flex;gap:6px;flex-wrap:wrap}.release-v1 .editor-actions button{flex:1;padding:8px;font-size:12px}
.release-v1 .tour-card{border-bottom:1px solid var(--line);padding:13px 0;font-size:12px}.release-v1 .tour-card strong{display:block}.release-v1 .tour-card small{display:block;color:var(--muted);margin:5px 0}.release-v1 .tour-card .editor-actions button{font-size:11px;padding:6px}
.release-v1 .tour-form{display:grid;gap:12px}.release-v1 .tour-preview{display:flex;align-items:center;gap:9px}.release-v1 .tour-preview img{width:75px;height:50px;object-fit:cover;border-radius:5px}
.release-v1 .tour-status{font-size:11px;color:var(--brand)}
.release-v1 .placement-hint{position:absolute;top:12px;left:12px;right:12px;display:flex;align-items:center;justify-content:space-between;gap:8px;background:#fff8e8;color:#6e4a17;border:1px solid #e2c392;padding:8px 11px;border-radius:8px;z-index:15;font-size:12px;pointer-events:none}
.release-v1 .placement-hint button{pointer-events:auto;min-width:28px;padding:2px 6px;border:0;background:transparent;color:inherit;font-size:22px}
.release-v1[data-placement] .stage,.release-v1[data-placement] .plan-canvas,.release-v1[data-placement] .drawing-image-wrap{outline:2px dashed #c4954d;outline-offset:-3px}
.release-v1[data-placement] .pnlm-hotspot-base{pointer-events:none}
.release-v1 .record-marker,.release-v1 .transition-marker{width:31px;height:31px;border-radius:50%;border:2px solid white;background:#9a682b;color:white;box-shadow:0 2px 8px #0005;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;cursor:pointer}
.release-v1 .transition-marker{width:auto;min-width:48px;padding:0 8px;border-radius:9px;background:#4559a7;white-space:nowrap}
.release-v1 .draft-marker{outline:3px dashed #75c0c7;outline-offset:3px;background:var(--brand)}
.release-v1 .plan-record circle{fill:#9a682b;stroke:white;stroke-width:4}.release-v1 .plan-record text{fill:white;text-anchor:middle;dominant-baseline:central;font-size:24px;font-weight:600}.release-v1 .plan-record.draft circle{fill:var(--brand);stroke:#75c0c7;stroke-dasharray:5 3}
.release-v1 .drawing-image-wrap{position:relative;display:block;width:100%;min-height:0;margin:8px auto}.release-v1 .drawing-image-wrap img{display:block;width:100%;height:auto;max-height:none;max-width:none;cursor:default}
.release-v1 .drawing-record{position:absolute;transform:translate(-50%,-50%);padding:0;z-index:2}
.release-v1 .drawing-content{display:block}.release-v1 .drawing-content .empty{margin:auto}
.release-v1 #arrival-dialog{width:min(1100px,96vw);max-height:94dvh}
.release-v1 #arrival-panorama{height:min(65dvh,680px);min-height:300px;background:var(--brand)}
.release-v1 .arrival-footer{display:flex;align-items:center;gap:9px;padding:12px;font-size:12px}.release-v1 .arrival-footer span{flex:1}
.release-v1 .record-card.is-selected{outline:2px solid var(--brand)}
.release-v1 .header-actions #save-status{display:inline;max-width:125px}
.release-v1 .stage-caption{display:none}
/* Printed camera numbers remain the single label; the overlay is a click target. */
.release-v1 .plan-point.source-marker circle{fill:transparent;stroke:transparent;filter:none}
.release-v1 .plan-point.source-marker:hover circle,.release-v1 .plan-point.source-marker:focus-visible circle{fill:#164e581a;stroke:#164e58;stroke-width:3}
.release-v1 .plan-point.source-marker.active circle{fill:#164e581a;stroke:#164e58;stroke-width:5;filter:drop-shadow(0 0 4px #fff)}
@media(min-width:1800px){.release-v1 .panels{grid-template-columns:minmax(270px,25%) minmax(0,1fr)}.release-v1 .panels[data-info=true]{grid-template-columns:minmax(240px,24%) minmax(300px,1fr) 320px}.release-v1 .panels[data-plan=false][data-info=true]{grid-template-columns:minmax(0,1fr) 320px}}
@media(max-width:1200px){.release-v1 .header-actions #save-status{display:none}.release-v1 .panels[data-info=true]{grid-template-columns:minmax(180px,26%) minmax(0,1fr)}.release-v1 .panels[data-plan=false][data-info=true]{grid-template-columns:1fr}.release-v1 .info-panel,.release-v1 .tour-panel{position:absolute;right:0;top:0;bottom:0;width:290px;z-index:30;box-shadow:-8px 8px 30px #0003}.release-v1 .workspace[data-shots=true]{grid-template-columns:180px minmax(0,1fr) 72px}.release-v1 .workspace{grid-template-columns:minmax(0,1fr) 72px}.release-v1 .panels{grid-template-columns:minmax(180px,28%) minmax(0,1fr)}}
@media(max-width:850px){.release-v1 .header{grid-template-columns:minmax(180px,1fr) 30px 100px max-content;padding:10px 12px;gap:8px}.release-v1 .header-actions{gap:4px}.release-v1 .header-actions #project-tools{font-size:10px;max-width:85px}.release-v1 .header-actions #backup{font-size:10px;max-width:75px}.release-v1 .brand{width:100px}.release-v1 .workspace,.release-v1 .workspace[data-shots=true]{grid-template-columns:minmax(0,1fr) 65px}.release-v1 .sidebar{position:absolute;left:8px;top:10px;bottom:10px;width:220px;z-index:35;box-shadow:5px 6px 30px #0003;border:1px solid var(--line);border-radius:9px}.release-v1 .tool-rail{padding:10px 3px}.release-v1 .tool-rail button{font-size:10px}.release-v1 .panels,.release-v1 .panels[data-info=true]{display:block}.release-v1 .center-panels{height:100%}.release-v1 .plan-panel{height:100%!important}.release-v1 .panels[data-mobile-tab=plan] .center-panels{display:none}.release-v1 .panels[data-mobile-tab=viewer] .plan-panel{display:none}.release-v1 .mobile-tabs{display:flex}.release-v1 .info-panel,.release-v1 .tour-panel{width:min(310px,100%);height:100%}.release-v1 main{padding:10px 8px 8px}.release-v1 .stage{min-height:120px}.release-v1 .surface-bar label{display:none}.release-v1 .surface-bar select{width:80px}}
@media(max-width:620px){.release-v1 .header{grid-template-columns:minmax(0,1fr) 32px 105px}.release-v1 .project-controls{grid-column:1/3;max-width:none}.release-v1 .language{grid-column:3;justify-self:end}.release-v1 .header-actions{grid-column:1/3;grid-row:2;position:static}.release-v1 .brand{grid-column:3;grid-row:2;width:105px}.release-v1 .date-row{grid-row:3;gap:5px}.release-v1 #day{min-width:108px;width:115px}.release-v1 #floor{width:91px}.release-v1 .date-row button{font-size:11px;padding:6px}.release-v1 .week{font-size:11px;padding:6px}.release-v1 .workspace{height:calc(100dvh - var(--header));min-height:540px}.release-v1 .panel-head{padding:10px 8px}.release-v1 .panel-head h1{font-size:17px}.release-v1 .viewer-meta{font-size:10px}.release-v1 .icon-buttons{gap:2px}.release-v1 .icon-buttons button{min-width:24px;padding:5px}.release-v1 .center-panels[data-drawing=true]{grid-template-rows:minmax(240px,60%) minmax(160px,1fr)}.release-v1 .arrival-footer{flex-wrap:wrap}.release-v1 .arrival-footer span{flex-basis:100%}.release-v1 .inline-editor input,.release-v1 .inline-editor textarea,.release-v1 .inline-editor select{font-size:16px}}

/* Original brand assets; the separator belongs to the page, not to the logo. */
.release-v1 .header{--brand-width:200px;--brand-rule-gap:calc(var(--brand-width) * .01808);--brand-rule-bevel:calc(var(--brand-width) * .010457);border-bottom:0;grid-template-columns:minmax(200px,310px) 44px minmax(0,1fr) max-content;padding-bottom:14px;overflow:visible;isolation:isolate}
/* Match the original SVG crossbar (including its stroke): 3.109611 / 155.45882.
   Leave a proportional gap beside both A legs. The rule ends follow the legs'
   slope, like the original inner crossbar; the SVG itself stays unchanged. */
.release-v1 .header::before,.release-v1 .header::after{content:"";position:absolute;bottom:0;height:calc(var(--brand-width) * .0200028);background:var(--brand);pointer-events:none;z-index:-1}
.release-v1 .header::before{left:0;width:calc(50% + var(--brand-width) * .1271085 - var(--brand-rule-gap));clip-path:polygon(0 0,100% 0,calc(100% - var(--brand-rule-bevel)) 100%,0 100%)}
.release-v1 .header::after{left:calc(50% + var(--brand-width) * .4407315 + var(--brand-rule-gap));right:0;clip-path:polygon(0 0,100% 0,100% 100%,var(--brand-rule-bevel) 100%)}
.release-v1 .brand{position:absolute;left:50%;right:auto;bottom:calc(var(--brand-width) * -.0845545);transform:translateX(-50%);width:var(--brand-width);height:auto;max-width:none;margin:0;padding:0;grid-area:auto;background:none;z-index:3}
.release-v1 .brand img{display:block;width:100%;height:auto}
.release-v1 .language{display:flex;width:44px;height:44px;min-width:44px;align-items:center;justify-content:center;align-self:end;justify-self:start;border:0;border-radius:50%;margin:0;padding:0;background:transparent}
.release-v1 .language:hover{background:var(--soft)}
.release-v1 .language:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
.release-v1 .language-flag{display:block;position:relative;width:36px;height:36px;overflow:hidden;flex:none}
.release-v1 .language-flag img{display:block;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:40px;height:40px;max-width:none;object-fit:contain}
.release-v1 .language-flag-tr img{width:53px;height:53px}
.release-v1 main{padding-top:24px}
.release-v1 .tool-rail{padding-top:24px}
.release-v1 .contribution-stamp{display:block;margin:9px 0 5px;color:#52666b;font-size:11px;font-weight:400;line-height:1.5;overflow-wrap:anywhere}
.release-v1 .contribution-stamp>span{display:block;color:#66777b;font-size:10px}
.release-v1 .asset-entry{margin:7px 0}
.release-v1 .asset-entry .contribution-stamp{margin:2px 0 6px;font-size:10px}
.release-v1 .drawing-content>.contribution-stamp{margin:9px 12px}
@media(max-width:1050px){.release-v1 .header{--brand-width:170px;padding-bottom:47px}}
@media(max-width:850px){.release-v1 .header{grid-template-columns:minmax(180px,1fr) 44px minmax(0,1fr) max-content}.release-v1 .language{grid-column:2;grid-row:1}.release-v1 main{padding-top:22px}.release-v1 .tool-rail{padding-top:22px}}
@media(max-width:620px){.release-v1 .header{grid-template-columns:minmax(0,1fr) 44px;padding:10px 12px 45px;gap:8px}.release-v1 .project-controls{grid-column:1;grid-row:1}.release-v1 .language{grid-column:2;grid-row:1}.release-v1 .header-actions{grid-column:1/-1;grid-row:2;flex-wrap:wrap}.release-v1 .date-row{grid-column:1/-1;grid-row:3}.release-v1 .brand{width:170px;grid-area:auto}}
