/* The plan is always a light drawing surface so its engineering annotations retain contrast. */
.track-workspace-canvas.track-preview-shell { display:flex; flex-direction:column; min-width:0; border:1px solid #dbe4ef; border-radius:14px; overflow:visible; color:#203650; background:#fff; }
.track-workspace-canvas .track-preview-toolbar, .itd-stage .track-workspace-canvas .track-preview-toolbar.is-compact { position:relative; z-index:5; display:flex; align-items:center; flex-wrap:wrap; gap:5px; min-height:57px; padding:10px 14px; border-bottom:1px solid #dbe4ef; background:#fff; border-radius:14px 14px 0 0; }
.track-view-title { display:flex; align-items:center; gap:8px; flex:1 1 150px; white-space:nowrap; font-size:13px; }
.track-view-title > span:last-child { font-size:9px; letter-spacing:.09em; color:#6a7d94; }
.track-view-indicator { width:7px; height:7px; border-radius:50%; background:#255997; box-shadow:0 0 0 4px #edf3fa; margin:0 3px; }
.track-workspace-canvas .track-preview-zoom-controls { display:flex; align-items:center; background:#f3f6fb; border:1px solid #e1e8f1; border-radius:8px; padding:2px; }
.track-workspace-canvas .track-tool { display:inline-flex; align-items:center; justify-content:center; gap:5px; min-width:34px; min-height:34px; padding:5px 7px; border:1px solid transparent; border-radius:6px; background:transparent; color:#314d70; cursor:pointer; font:inherit; font-size:12px; }
.track-workspace-canvas .track-tool:hover, .track-workspace-canvas .track-tool[aria-pressed="true"] { background:#e2ecfa; color:#173f75; }
.track-workspace-canvas .track-tool:focus-visible, .track-view-options summary:focus-visible { outline:3px solid #759bc9; outline-offset:2px; }
.track-workspace-canvas .track-fit-tool { border-left:1px solid #dbe4ef; border-radius:0 5px 5px 0; }
.track-zoom-value { min-width:43px; text-align:center; font-size:11px; font-variant-numeric:tabular-nums; color:#496482; }
.track-view-options { position:relative; font-size:12px; }
.track-view-options summary { display:flex; align-items:center; gap:3px; padding:8px 6px; border-radius:6px; cursor:pointer; list-style:none; }
.track-view-options summary::-webkit-details-marker { display:none; }
.track-view-options[open] summary { background:#edf3fa; }
.track-view-options-panel { position:absolute; top:calc(100% + 8px); right:0; z-index:20; display:flex; flex-direction:column; gap:14px; width:246px; padding:17px; background:#fff; border:1px solid #d7e2ef; border-radius:10px; box-shadow:0 12px 36px #193a6124; }
.track-view-options-panel > label { display:flex; align-items:center; gap:9px; cursor:pointer; }
.track-view-options-panel input { accent-color:#204f8d; width:16px; height:16px; }
.track-corner-preset { display:flex; flex-direction:column; gap:7px; }
.track-corner-preset select { width:100%; padding:9px; border:1px solid #cad8e8; border-radius:6px; background:#f7faff; color:#203650; }
.track-view-options-panel small { line-height:1.6; color:#697e96; }
.track-options-caption { margin-bottom:-8px; font-weight:600; }
.track-pan-buttons { display:flex; gap:5px; }
.track-pan-buttons button { flex:1; min-height:36px; border:1px solid #dbe4ef; border-radius:6px; background:#f3f7fc; color:#264c7c; cursor:pointer; }
.track-workspace-canvas .track-preview-canvas, .theme-dark .track-workspace-canvas .track-preview-canvas, .itd-stage .track-workspace-canvas .track-preview-canvas { position:relative; width:100%; min-height:360px; height:440px; flex:0 0 auto; background:linear-gradient(140deg,#f5f8fc,#eaf1f9); overflow:hidden; cursor:grab; touch-action:pan-y; }
.track-workspace-canvas .track-preview-canvas.is-pan-mode { touch-action:none; }
.track-workspace-canvas .is-pan-mode .track-edit-hitbox, .track-workspace-canvas .is-pan-mode [data-track-action] { pointer-events:none; }
.track-workspace-canvas .track-preview-canvas.is-panning { cursor:grabbing; }
.track-workspace-canvas .track-svg { display:block; width:100%; height:100%; min-height:360px; user-select:none; }
.track-workspace-canvas .track-svg:focus-visible { outline:3px solid #86a8d0; outline-offset:-3px; }
.track-workspace-canvas .track-line, .track-workspace-canvas .track-line-halo, .track-workspace-canvas .track-edit-hitbox, .track-workspace-canvas .track-extension, .track-workspace-canvas .track-dimension-stroke, .track-workspace-canvas .track-pocket-outline { vector-effect:non-scaling-stroke; fill:none; }
.track-workspace-canvas .track-line { stroke:#24496f; stroke-width:4; stroke-linecap:round; }
.track-workspace-canvas .track-curve { stroke:#4378b4; }
.track-workspace-canvas .track-line-halo { stroke:#fff; stroke-width:9; stroke-linecap:round; }
.track-workspace-canvas .is-selected .track-line-halo { stroke:#c0d6f0; stroke-width:14; }
.track-workspace-canvas .is-selected .track-line { stroke:#1b62b0; stroke-width:5; }
.track-workspace-canvas .track-edit-hitbox { stroke:transparent; stroke-width:24; pointer-events:stroke; cursor:pointer; }
.track-workspace-canvas .track-extension { stroke:#91a7c1; stroke-width:1; stroke-dasharray:3 3; pointer-events:none; }
.track-workspace-canvas .track-dimension-stroke { stroke:#8aa2bd; stroke-width:1; pointer-events:none; }
.track-workspace-canvas .track-dimension-target, .track-workspace-canvas .track-curve-label { cursor:pointer; outline:none; }
.track-workspace-canvas .track-dimension-target rect, .track-workspace-canvas .track-curve-label rect { fill:#fff; stroke:#cbd9e9; stroke-width:1; }
.track-workspace-canvas .track-dimension-target text, .track-workspace-canvas .track-curve-label text { fill:#355578; font:600 11px system-ui,sans-serif; }
.track-workspace-canvas .track-curve-label .track-curve-detail { font-size:10px; font-weight:500; fill:#65809f; }
.track-workspace-canvas .is-selected .track-dimension-target rect, .track-workspace-canvas .is-selected .track-curve-label rect { fill:#eaf2ff; stroke:#6d95c7; stroke-width:1.5; }
.track-workspace-canvas .track-dimension-target:hover rect, .track-workspace-canvas .track-curve-label:hover rect, .track-workspace-canvas .track-dimension-target:focus-visible rect, .track-workspace-canvas .track-curve-label:focus-visible rect { fill:#edf4ff; stroke:#316eb1; stroke-width:2; }
.track-workspace-canvas .track-pocket-outline { stroke:#7799bd; stroke-width:1.5; fill:#dbe7f580; }
.track-workspace-canvas .track-pocket-label text { fill:#647f9f; font:500 10px system-ui,sans-serif; paint-order:stroke; stroke:#f1f6fc; stroke-width:4px; stroke-linejoin:round; }
.track-workspace-canvas .track-endpoint { pointer-events:none; }
.track-workspace-canvas .track-endpoint circle { fill:#204f85; stroke:#fff; stroke-width:2.5; }
.track-workspace-canvas .track-marker-end circle { fill:#2e7a71; }
.track-workspace-canvas .track-endpoint text { fill:#3e5c7e; font:700 9px system-ui,sans-serif; letter-spacing:.04em; paint-order:stroke; stroke:#f0f5fb; stroke-width:4px; stroke-linejoin:round; }
.track-workspace-canvas .track-junction-target circle { fill:#edf4ff; stroke:#7295bf; stroke-width:1.5; }
.track-workspace-canvas .track-junction-target text { fill:#285a93; font:600 18px system-ui,sans-serif; }
.track-workspace-canvas .track-junction-target:focus-visible circle { stroke:#1b5597; stroke-width:3; }
.track-canvas-empty { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; text-align:center; padding:24px; pointer-events:none; color:#657c98; font-size:13px; }
.track-canvas-empty .mud-icon-root { width:48px; height:48px; color:#9eb6d3; margin-bottom:6px; }
.track-canvas-empty strong { font-size:17px; color:#355477; }
.track-canvas-caption { position:absolute; left:14px; bottom:13px; background:#ffffffc9; border:1px solid #dce6f2; padding:6px 9px; border-radius:5px; font-size:10px; color:#66809d; pointer-events:none; }
.track-preview-legend { display:flex; align-items:center; flex-wrap:wrap; gap:8px 20px; flex:0 0 auto; padding:11px 16px; border-top:1px solid #dce5ef; background:#fff; border-radius:0 0 14px 14px; font-size:10px; color:#647a94; }
.track-preview-legend > span { display:inline-flex; align-items:center; gap:7px; }
.track-preview-legend > span:last-child { margin-left:auto; }
.track-legend-line { width:19px; border-top:3px solid #24496f; border-radius:2px; }
.track-legend-dimension { width:19px; border-top:1px dashed #8aa2bd; }
@media (max-width:700px) {
    .track-workspace-canvas .track-preview-toolbar, .itd-stage .track-workspace-canvas .track-preview-toolbar.is-compact { padding:8px; gap:3px; }
    .track-view-title { flex-basis:100%; margin:1px 3px 5px; }
    .track-workspace-canvas .track-preview-zoom-controls { margin-right:auto; }
    .track-workspace-canvas .track-preview-canvas, .itd-stage .track-workspace-canvas .track-preview-canvas { min-height:340px; height:390px; }
    .track-workspace-canvas .track-svg { min-height:340px; }
    .track-preview-legend { gap:8px 12px; padding:10px; }
    .track-preview-legend > span:last-child { width:100%; margin:0; }
    .track-workspace-canvas .track-tool { min-width:36px; min-height:36px; }
}
.track-editor-dialog {
    font-family: var(--lxc-font);
    color: var(--lxc-ink);
    background: var(--lxc-surface);
    border: 1px solid var(--lxc-border);
    border-radius: 12px;
}
.track-editor-dialog .mud-dialog-content { display: grid; gap: 12px; padding: 24px; }
.track-editor-dialog > .mud-dialog-title:has(> .mud-typography:empty) { display: none; }
.track-editor-dialog .mud-typography-subtitle1 { font-family: inherit; font-size: 18px; line-height: 1.4; font-weight: 600; }
.track-editor-dialog .track-editor-description { color: var(--lxc-muted); font-size: 13px; line-height: 1.6; }
.track-editor-dialog .mud-dialog-actions { padding: 14px 24px; gap: 8px; flex-wrap: wrap; border-top: 1px solid var(--lxc-soft-border); }
.track-editor-dialog .mud-button-root { min-height: 40px; font-family: inherit; text-transform: none; }
.track-editor-dialog .mud-button-text-default { color: var(--lxc-ink); }
@media (max-width: 480px) {
    .track-editor-dialog .mud-dialog-content { padding: 18px; }
    .track-editor-dialog .mud-dialog-actions { padding: 12px 18px; gap: 4px; }
    .track-editor-dialog .mud-dialog-actions .mud-button-root { padding-inline: 10px; }
}

