@import url('./rotation-dial.css?v=20261008-v22');
/* Unified canvas. Document presentation remains in scene.js / exports.js. */
.vehicle-group-toolbar{position:absolute;z-index:14;display:flex;gap:0;border:1px solid var(--line);border-radius:6px;background:var(--overlay);box-shadow:var(--shadow);max-width:calc(100% - 16px)}
.vehicle-group-toolbar[hidden],.vehicle-angle-readout[hidden]{display:none}
.vehicle-group-toolbar button{width:32px;height:28px;display:flex;align-items:center;justify-content:center;font-size:18px;color:var(--text)}
.vehicle-group-toolbar .icon{width:16px;height:16px}
.vehicle-group-toolbar button[aria-pressed=true]{background:var(--selection)}
.vehicle-color-dot{display:block;width:15px;height:15px;border-radius:50%;border:1px solid #888}
.object-toolbar button[data-object-action=move]{touch-action:none}
.vehicle-number{font-size:11px;font-variant-numeric:tabular-nums;font-weight:600}
.vehicle-number-editor{display:grid;grid-template-columns:62px minmax(200px,300px);gap:5px;align-items:start;margin:0;min-width:0;padding:5px}
.vehicle-number-editor input{width:62px;min-width:0;height:28px;padding:2px 6px;margin:0;text-transform:uppercase;grid-column:1;grid-row:1}
.vehicle-number-editor textarea{width:100%;min-width:0;height:42px;min-height:42px;resize:vertical;margin:0;padding:5px 7px;line-height:1.3;font:inherit;text-transform:none;grid-column:2;background:var(--control);color:var(--text);border:1px solid var(--line);border-radius:3px}
.vehicle-number-editor #object-note1{grid-row:1}.vehicle-number-editor #object-note2{grid-row:2}
.vehicle-number-actions{display:grid;grid-template-columns:repeat(2,28px);gap:3px;grid-row:2;grid-column:1}.vehicle-number-actions button{width:28px;height:24px}
@media(max-width:650px){.vehicle-number-editor{grid-template-columns:62px minmax(190px,220px);max-width:calc(100vw - 28px)}.vehicle-number-editor textarea{height:48px}}

.vehicle-angle-readout{position:absolute;z-index:12;pointer-events:none;padding:2px 5px;font-size:11px;font-variant-numeric:tabular-nums;border-radius:4px;background:var(--overlay);color:var(--text)}
.object-model-list{display:flex;flex-direction:column;gap:4px}
.object-model-list button,.mirror-editor button{min-height:36px;padding:7px 10px;text-align:left;border-radius:6px}
.object-model-list button[aria-pressed=true]{background:var(--selection)}
#annotation-panel .annotation-edit{margin-top:8px;font-size:11px;color:var(--muted)}
#annotation-panel .annotation-edit summary{cursor:pointer;min-height:28px;line-height:28px}
#annotation-panel .annotation-edit form{display:grid;gap:7px;margin:6px 0 10px}
#annotation-panel .annotation-edit label{display:grid;grid-template-columns:80px minmax(0,1fr);align-items:center;gap:6px}
#annotation-panel .annotation-edit input,#annotation-panel .annotation-edit select{min-width:0;width:100%;min-height:32px;margin:0;font-size:11px}
#annotation-panel .annotation-edit button{min-height:36px;background:var(--control);border-radius:5px}
@media(pointer:coarse){#annotation-panel .annotation-edit input,#annotation-panel .annotation-edit select,#annotation-panel .annotation-edit button{min-height:44px}}
@media(pointer:coarse),(max-width:650px){.vehicle-group-toolbar button{width:44px;height:44px}.vehicle-number-editor input{height:44px}.object-model-list button,.mirror-editor button{min-height:44px}}

.empty-actions{display:flex;gap:10px;align-items:center;justify-content:center;flex-wrap:wrap}
.demo-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border-radius:8px}
#demo-status{position:fixed;right:14px;bottom:90px;z-index:13;font-size:11px;padding:7px 10px;background:var(--overlay);border:1px solid var(--line);border-radius:7px;max-width:calc(100% - 28px)}
#demo-status[hidden]{display:none}
#demo-status a{margin-left:10px;text-decoration:underline}
#notice-dialog{max-width:430px}
#notice-dialog p{line-height:1.8}
.canvas-workspace .workspace{display:block;position:relative;min-height:0}
.canvas-workspace .board{position:absolute;inset:0;margin:6px 10px 8px;border-radius:14px}
.canvas-workspace .tool-rail{position:absolute;z-index:11;left:20px;top:68px;padding:5px;background:var(--overlay);border:1px solid var(--line);border-radius:10px;gap:2px;max-height:calc(100% - 140px);overflow:auto;scrollbar-width:thin}
.canvas-workspace .tool-rail button{width:32px;height:32px;min-height:32px;border-radius:6px}
.canvas-workspace .tool-rail button::after{display:none}
.canvas-workspace .inspector{display:none;position:absolute;z-index:12;right:18px;top:64px;bottom:64px;width:290px;max-width:calc(100% - 84px);margin:0;padding:20px 16px;border-radius:12px;background:var(--overlay)}
.canvas-workspace.inspector-open .inspector{display:block}
#close-inspector{position:absolute;right:8px;top:7px;width:32px;height:32px}
.canvas-workspace .inspector .eyebrow{padding-right:32px}
.canvas-workspace .flow{gap:4px}
.canvas-workspace .flow-step{height:32px;padding:0 9px;border-radius:7px;font-size:11px}
.canvas-workspace .flow-step .icon{width:17px;height:17px}
.canvas-workspace .floating-tool{left:60px;top:65px;border-radius:12px;width:260px;max-width:calc(100% - 76px);z-index:12}
.canvas-workspace #drawing{cursor:grab;user-select:none;-webkit-user-select:none;touch-action:none}
.canvas-workspace #drawing:active{cursor:grabbing}
.canvas-workspace #drawing.drawing-cursor{cursor:crosshair}
.canvas-workspace #drawing[data-object-mode=move] [data-object]{cursor:move}
.canvas-workspace #drawing[data-object-mode=rotate] [data-object]{cursor:crosshair}
.object-hover-outline{pointer-events:none;opacity:0;stroke:#e8c78c;stroke-width:1.5;vector-effect:non-scaling-stroke;fill:none}
[data-object][data-selected=true]>.object-hover-outline{opacity:1}
@media(hover:hover){[data-object]:hover>.object-hover-outline{opacity:1}}
.object-toolbar{position:absolute;z-index:14;display:flex;flex-wrap:nowrap;align-items:center;gap:0;background:var(--overlay);border:1px solid var(--line);border-radius:6px;box-shadow:var(--shadow);padding:0;max-width:calc(100% - 16px);touch-action:manipulation}
.object-toolbar[hidden],.object-popover[hidden]{display:none}
.object-toolbar button{height:24px;min-width:32px;display:flex;align-items:center;justify-content:center;padding:0 7px;gap:4px;border-radius:4px;white-space:nowrap;font-size:10px;color:var(--text)}
.object-toolbar button .icon{width:15px;height:15px}
.object-toolbar button:hover,.object-toolbar button[aria-pressed=true]{background:var(--selection)}
.object-toolbar button[data-object-action=done]{border-left:1px solid var(--line);color:var(--text)}
.object-popover{position:absolute;z-index:14;background:var(--overlay);border:1px solid var(--line);border-radius:9px;padding:12px;width:216px;max-width:calc(100% - 16px);max-height:calc(100% - 132px);overflow:auto;box-shadow:var(--shadow)}
.object-popover label{display:block;font-size:11px;line-height:1.8;color:var(--muted)}
.object-popover input,.object-popover select{margin-top:6px}
.object-popover .checkbox-row{display:flex;align-items:center;gap:8px;margin-top:8px}
.object-popover .checkbox-row input{margin:0}
.object-colors{display:grid;grid-template-columns:1fr 1fr;gap:5px}
.object-colors button{display:flex;align-items:center;gap:6px;min-height:36px;text-align:left;font-size:10px;padding:5px;border-radius:6px;border:1px solid transparent}
.object-colors button[aria-pressed=true]{border-color:var(--muted);background:var(--selection)}
.object-colors i{width:16px;height:16px;border-radius:50%;border:1px solid #888;flex:none}
.rotation-presets{display:flex;gap:8px;margin-top:10px}
.rotation-presets button{flex:1;min-height:34px;background:var(--control);border-radius:6px}
.canvas-workspace .export-pagebar{max-width:calc(100% - 180px)}
.canvas-workspace .export-pagebar select{max-width:180px}
@media(pointer:coarse),(max-width:650px){
 .canvas-workspace .topbar{gap:6px;padding:0 8px}
 .canvas-workspace .brand span{display:none}
 .canvas-workspace .flow-step{min-width:44px;height:44px;padding:0 7px}
 .canvas-workspace .flow-step span{display:none}
 .canvas-workspace .flow-step .icon{width:20px;height:20px}
 .canvas-workspace .header-end{display:flex;margin-left:auto}
 .canvas-workspace .header-end .icon-button{width:44px;height:44px}
 .canvas-workspace .header-end .small-button{display:none}
 .canvas-workspace .board{margin:3px 4px 5px;border-radius:10px}
 .canvas-workspace .tool-rail{left:11px;top:114px;padding:0;gap:0;max-height:calc(100% - 180px)}
 .canvas-workspace .tool-rail button{width:44px;height:44px;min-height:44px}
 .canvas-workspace .board-top{inset:6px 6px auto;display:grid;grid-template-columns:1fr;gap:5px;pointer-events:none}
 .canvas-workspace .board-top>*{pointer-events:auto}
 .canvas-workspace .board-actions{justify-self:end;grid-row:2;padding:0}
 .canvas-workspace .board-actions button{width:44px;height:44px}
 .canvas-workspace .board-actions .divider{display:none}
 .canvas-workspace .export-pagebar{max-width:100%;width:max-content;height:44px;padding:0;gap:0}
 .canvas-workspace .export-pagebar .page-actions button{width:44px;height:44px}
 .canvas-workspace .export-pagebar select{max-width:155px;width:155px;height:44px;padding:0 6px}
 .canvas-workspace .site-chip{height:44px;max-width:100%;width:max-content}
 .canvas-workspace .inspector{right:10px;top:115px;bottom:65px;max-width:calc(100% - 70px);width:290px}
 .canvas-workspace .floating-tool{top:112px;left:58px;width:270px;max-width:calc(100% - 66px);max-height:calc(100% - 175px)}
 .canvas-workspace .object-toolbar{border-radius:6px;height:26px;overflow:visible}
 .canvas-workspace .object-toolbar button{width:44px;min-width:44px;height:44px;padding:0}
 .canvas-workspace .object-toolbar button:hover,.canvas-workspace .object-toolbar button[aria-pressed=true]{background:linear-gradient(transparent 10px,var(--selection) 10px,var(--selection) 34px,transparent 34px)}
 .canvas-workspace .object-toolbar button[data-object-action=done]{border-left:0}
 .canvas-workspace .object-toolbar button span{display:none}
 .canvas-workspace .object-toolbar button .icon{width:20px;height:20px}
 .canvas-workspace .object-popover{max-height:calc(100% - 175px)}
 .object-popover input,.object-popover select,.object-colors button,.rotation-presets button{min-height:44px}
 .canvas-workspace .zoom button{height:44px;min-width:44px}
 .canvas-workspace .view-switch button{height:44px;padding:0 9px}
 .canvas-workspace .board-bottom{left:8px;right:8px;bottom:8px}
 .canvas-workspace #surface-toggle .icon,.canvas-workspace #grid-toggle .icon{display:none}
 .canvas-workspace #draw-panel .draw-toolbar{grid-template-rows:repeat(2,44px)}
 .canvas-workspace #draw-panel .draw-toolbar button{height:44px}
}
@media(max-height:500px) and (orientation:landscape){
 .canvas-workspace .board-top{display:flex;justify-content:space-between}
 .canvas-workspace .board-actions{height:44px}
 .canvas-workspace .tool-rail{top:62px;max-height:calc(100% - 123px)}
 .canvas-workspace .floating-tool,.canvas-workspace .inspector{top:59px;bottom:55px;max-height:calc(100% - 118px)}
 .canvas-workspace .object-popover{max-height:calc(100% - 120px)}
}
/* v2.31 compact vehicle tools */
.vehicle-number{font-size:13px}.object-toolbar button[data-object-action=done],.vehicle-number-editor button[type=submit]{background:var(--selection,#d9d9d9);color:var(--selection-text,var(--text))}.object-toolbar button[data-object-action=number]{min-width:34px}.vehicle-group-toolbar{background:var(--menu-surface,var(--overlay));border:0}.vehicle-group-toolbar button{width:28px;height:24px;border:0}.vehicle-group-toolbar button svg{width:16px;height:16px}.object-popover{padding:8px;background:var(--menu-surface,var(--overlay))}.object-color-heading{font-size:11px;color:var(--muted);margin-bottom:5px}.object-colors button,.object-model-list button,.mirror-editor button{min-height:25px;padding:3px 5px;border:0}.object-svg-color{display:grid;grid-template-columns:1fr auto;gap:6px;align-items:end;border-top:1px solid var(--line);margin-top:8px;padding-top:6px}.object-svg-color input{width:100%;height:24px;padding:1px;border:0;margin:2px 0 0;background:var(--control)}.object-svg-color button{padding:3px 5px;min-height:24px;font-size:10px;background:var(--control);border:0;border-radius:3px}@media(pointer:coarse){.vehicle-group-toolbar button{width:36px;height:36px}.object-colors button,.object-model-list button,.mirror-editor button,.object-svg-color button,.object-svg-color input{min-height:36px}}

/* Two compact rows; Hero is a vehicle flag, not a third row. */
.object-toolbar .vehicle-number-editor{grid-template-columns:48px minmax(170px,260px) 25px 25px;grid-template-rows:26px 26px;gap:4px;padding:5px;max-width:calc(100vw - 30px)}
.object-toolbar .vehicle-number-editor input{width:100%;height:26px;min-height:26px;grid-row:auto;grid-column:auto;margin:0;padding:3px 5px;font:inherit;text-transform:none}
.vehicle-number-editor #object-number{grid-column:1;grid-row:1}.vehicle-number-editor #object-note1{grid-column:2;grid-row:1}.vehicle-number-editor #object-note2{grid-column:2;grid-row:2}
.object-toolbar .vehicle-number-actions{display:contents}.object-toolbar .vehicle-number-actions button{width:25px;height:26px;min-width:25px;min-height:26px;padding:3px}
.vehicle-number-actions [data-number-table]{grid-column:3;grid-row:1}.vehicle-number-actions [type=submit]{grid-column:4;grid-row:1}.vehicle-number-actions [data-number-cancel]{grid-column:3;grid-row:2}.vehicle-number-actions [data-number-auto]{grid-column:4;grid-row:2}
.object-toolbar #object-hero{grid-column:1;grid-row:2;display:flex;align-items:center;justify-content:center;gap:3px;width:48px;height:26px;min-height:26px;padding:2px;font-size:10px;border:1px solid var(--line);border-radius:3px;color:var(--muted);background:transparent}
#object-hero i{width:7px;height:7px;border:1px solid currentColor;border-radius:2px}#object-hero[aria-checked=true]{color:var(--text);background:var(--control)}#object-hero[aria-checked=true] i{background:currentColor}
@media(max-width:420px){.object-toolbar .vehicle-number-editor{grid-template-columns:48px minmax(130px,1fr) 25px 25px;width:calc(100vw - 44px)}}
