.os-layout{display:flex;gap:var(--tb-space-5);align-items:flex-start}@media(max-width:900px){.os-layout{flex-direction:column}}.os-main{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:0}.os-canvas-wrap{position:relative;aspect-ratio:4 / 3;background:#0a0e17;border-radius:8px 8px 0 0;overflow:hidden;border:1px solid var(--tb-border, #2a2a2a);border-bottom:none}#os-canvas{display:block;width:100%;height:100%;cursor:grab}.os-canvas-hint{position:absolute;bottom:12px;left:50%;transform:translate(-50%);color:#fff5;font-size:.75rem;pointer-events:none;white-space:nowrap}.os-zoom-controls{position:absolute;top:10px;right:10px;display:flex;flex-direction:column;gap:var(--tb-space-1)}.os-zoom-btn{width:32px;height:32px;padding:0;font-size:1rem;line-height:1;display:flex;align-items:center;justify-content:center;opacity:.7;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.os-zoom-btn:hover{opacity:1}.os-maneuver-bar{display:flex;align-items:stretch;border:1px solid var(--tb-border, #2a2a2a);border-top:none;background:var(--tb-surface, #1a1a1a);overflow-x:auto}.os-maneuver-tabs{display:flex;align-items:stretch;gap:0;flex:1}.os-tab{display:flex;align-items:center;gap:var(--tb-space-2);padding:.5rem .875rem;background:transparent;border:none;border-bottom:3px solid transparent;color:var(--tb-text, #ddd);font-size:.8125rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s}.os-tab:hover{background:var(--tb-surface-hover, #222)}.os-tab-active{border-bottom-color:currentColor}.os-tab-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.os-tab-add{font-size:1.125rem;font-weight:400;color:var(--tb-muted, #888);padding:.5rem .75rem;border:none;background:transparent;cursor:pointer}.os-tab-add:hover{color:var(--tb-text, #ddd)}.os-maneuver-editor{border:1px solid var(--tb-border, #2a2a2a);border-top:none;border-radius:0 0 8px 8px;padding:.75rem;background:var(--tb-surface, #1a1a1a);display:flex;flex-direction:column;gap:var(--tb-space-3)}.os-editor-row{display:flex;gap:var(--tb-space-3);align-items:flex-end}.os-editor-row .tb-field{flex:1;margin:0}.os-editor-row .tb-label{font-size:.6875rem;margin-bottom:var(--tb-space-0-5)}.os-editor-row .tb-input{font-size:var(--tb-font-size-input-mono);padding:.25rem .5rem;cursor:ns-resize}.os-editor-row .tb-input:focus{cursor:text}.os-editor-row .tb-input:disabled{cursor:not-allowed}.os-angle-row{display:flex;align-items:center;gap:var(--tb-space-3)}.os-angle-row .tb-label{flex-shrink:0;font-size:.6875rem;margin:0}.os-angle-slider{flex:1;height:6px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--tb-border, #333);border-radius:3px;outline:none;cursor:pointer}.os-angle-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:var(--tb-accent, #4a90d9);cursor:grab}.os-angle-slider::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--tb-accent, #4a90d9);border:none;cursor:grab}.os-angle-value{font-size:.8125rem;font-weight:600;font-variant-numeric:tabular-nums;min-width:3ch;text-align:right}.os-editor-actions{display:flex;justify-content:flex-end}.os-delete-maneuver{font-size:.75rem;color:#ff6b6b;border-color:#ff6b6b44}.os-delete-maneuver:hover{background:#ff6b6b18}.os-panel{flex:0 0 280px;display:flex;flex-direction:column;gap:var(--tb-space-3)}@media(max-width:900px){.os-panel{flex:none;width:100%}}.os-section{border:1px solid var(--tb-border, #2a2a2a);border-radius:8px;overflow:hidden}.os-section-title{padding:.5rem .75rem;font-weight:600;font-size:.8125rem;cursor:pointer;-webkit-user-select:none;user-select:none;background:var(--tb-surface, #1a1a1a)}.os-section-title:hover{background:var(--tb-surface-hover, #222)}.os-section-body{padding:.625rem .75rem;display:flex;flex-direction:column;gap:var(--tb-space-2)}.os-section-buttons{border:none;display:flex;gap:var(--tb-space-2)}.os-reset-btn{flex:1}.os-stats{display:grid;grid-template-columns:1fr 1fr;gap:var(--tb-space-2)}.os-stats .tb-stat{text-align:center;padding:.375rem}.os-stats .tb-stat-value{font-size:.875rem}.os-stats .tb-stat-label{font-size:.625rem}.os-stats .tb-stat:last-child{grid-column:1 / -1}.os-results .tb-btn{width:100%;margin-top:var(--tb-space-1)}
