:root{--bg: #f3f5f8;--panel: #ffffff;--border: #e1e5eb;--text: #1f2430;--muted: #6b7280;--accent: #2f6fed;--accent-soft: #e8f0ff;--danger: #d64545;--success: #1f9d55;--warn: #c47f17}*{box-sizing:border-box}html,body{margin:0;height:100%;font-family:Segoe UI,system-ui,-apple-system,Roboto,sans-serif;color:var(--text);background:var(--bg)}#app{display:flex;height:100vh;width:100vw;overflow:hidden}#sidebar{width:320px;min-width:320px;background:var(--panel);border-right:1px solid var(--border);overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:16px}.sidebar-header h1{font-size:18px;margin:0 0 2px}.subtitle{margin:0;color:var(--muted);font-size:13px}.panel{border:1px solid var(--border);border-radius:10px;padding:12px}.panel h2{font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:0 0 10px}.mode-toggle{display:flex;gap:4px;margin-top:8px}.mode-toggle button{flex:1;padding:6px 8px;border:1px solid var(--border);border-radius:8px;background:var(--panel);color:var(--muted);font-size:13px;cursor:pointer}.mode-toggle button.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);font-weight:600}body.mode-profi .panel h2{cursor:pointer;-webkit-user-select:none;user-select:none}body.mode-profi .panel h2:before{content:"▾ ";color:var(--muted)}body.mode-profi .panel.collapsed h2:before{content:"▸ "}body.mode-profi .panel.collapsed h2{margin-bottom:0}body.mode-profi .panel.collapsed>:not(h2){display:none!important}body.mode-einfach #panel-projekte,body.mode-einfach #panel-speichern,body.mode-einfach #inspector-panel,body.mode-einfach .sim-controls>label,body.mode-einfach #btn-repair,body.mode-einfach #panel-simulation h2{display:none!important}body.mode-einfach #btn-play{font-size:17px;padding:12px}body.mode-einfach .palette-btn{padding:10px;font-size:14px}.palette-group h3{font-size:12px;color:var(--muted);margin:10px 0 6px;grid-column:1 / -1;cursor:pointer;-webkit-user-select:none;user-select:none}.palette-group h3:before{content:"▾ "}.palette-group.collapsed h3:before{content:"▸ "}.palette-group.collapsed .palette-btn{display:none}.palette-group{display:grid;grid-template-columns:1fr 1fr;gap:4px}.palette-btn{display:block;width:100%;text-align:left;padding:8px 10px;margin-bottom:0;background:var(--accent-soft);border:1px solid transparent;border-radius:8px;color:var(--accent);font-size:12.5px;cursor:pointer;transition:background .15s}.palette-btn:hover{background:#d7e6ff}details.hint-details summary{cursor:pointer;color:#97a1b0;font-size:11px;list-style:none;-webkit-user-select:none;user-select:none}details.hint-details summary::-webkit-details-marker{display:none}details.hint-details[open] summary{color:var(--muted)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#141a2480;display:flex;align-items:center;justify-content:center;z-index:60}.stueckliste-modal{background:#7cb342;border-radius:14px;padding:14px;width:min(1180px,94vw);max-height:86vh;overflow-y:auto;box-shadow:0 18px 50px #00000059}.stueckliste-kopf{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:2px 4px 12px;color:#fff}.stueckliste-kopf h3{margin:0;font-size:16px}.stueckliste-kopf .modal-close{border:none;background:#ffffff40;color:#fff;border-radius:8px;font-size:15px;padding:4px 10px;cursor:pointer}.anleitung-modal{background:#fff;color:#1c2430}.anleitung-modal .stueckliste-kopf{color:#1c2430}.anleitung-modal .stueckliste-kopf button{border:1px solid var(--border);background:#f2f5f9;color:#1c2430;border-radius:8px;font-size:14px;padding:5px 12px;cursor:pointer}.anleitung-inhalt h4{margin:18px 4px 8px;font-size:15px;border-bottom:2px solid #7cb342;padding-bottom:4px}.anleitung-stueckliste{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}@media (max-width: 1100px){.anleitung-stueckliste{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}}.anleitung-teil{border:1px solid var(--border);border-radius:8px;padding:6px;font-size:13px;text-align:center;background:#fff}.anleitung-teil img{width:100%;height:64px;object-fit:contain;display:block}.anleitung-teil .anzahl{color:#d63a2f;font-weight:700}.anleitung-plan{border:1px solid var(--border);border-radius:8px;background:#fafbf7;padding:6px}.anleitung-plan svg{width:100%;height:auto;display:block}.anleitung-ansichten{display:flex;flex-direction:column;gap:10px}.anleitung-ansichten figure{margin:0;break-inside:avoid}.anleitung-ansichten img{width:100%;height:auto;display:block;border-radius:6px}.anleitung-ansichten figcaption{font-size:12px;color:#55606e;padding-top:4px}.anleitung-schritte{margin:6px 0 4px;padding-left:26px;font-size:14px}.anleitung-schritte li{margin-bottom:7px;break-inside:avoid}.anleitung-schritte small{color:#55606e}.anleitung-pfostenliste{list-style:none;padding-left:4px;columns:2;column-gap:24px}@media (max-width: 900px){.anleitung-pfostenliste{columns:1}}@media print{body.anleitung-druck>:not(.modal-overlay){display:none!important}body.anleitung-druck .modal-overlay{position:static;background:none;display:block}body.anleitung-druck .anleitung-modal{width:auto;max-height:none;overflow:visible;box-shadow:none;border-radius:0;padding:0}body.anleitung-druck .anleitung-modal .stueckliste-kopf button{display:none}}.stueckliste-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:9px}@media (max-width: 1100px){.stueckliste-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}}.stueckliste-card{background:#f4f6f2;border-radius:8px;padding:8px 10px;font-style:italic;font-size:12.5px;display:flex;flex-direction:column;gap:5px}.stueckliste-card img{width:100%;height:auto;object-fit:contain}.stueckliste-card .zeile{display:flex;align-items:baseline;gap:7px}.stueckliste-card .anzahl{font-weight:700;font-size:16px;font-style:normal;color:#d63a2f}.stueckliste-leer{color:#fff;font-style:italic;margin:4px}details.inspector-group>summary{cursor:pointer;font-size:12.5px;font-weight:600;color:var(--muted);-webkit-user-select:none;user-select:none;padding:4px 0}.track-list{display:flex;flex-direction:column;gap:4px;max-height:240px;overflow-y:auto}.track-item{display:flex;align-items:center;justify-content:space-between;padding:6px 8px;border-radius:6px;font-size:13px;cursor:pointer;border:1px solid transparent}.track-item:hover{background:#f4f6f9}.track-item.selected{background:var(--accent-soft);border-color:var(--accent)}.track-item-anchor{border:1px dashed #b9c2cf;color:#5a6675;font-style:italic}.icon-btn{border:none;background:transparent;color:var(--muted);cursor:pointer;font-size:13px;padding:2px 6px;border-radius:4px}.icon-btn:hover{background:#fde8e8;color:var(--danger)}.inspector-heading{margin:0 0 8px;font-size:13px;font-weight:600}.inspector-field{display:grid;grid-template-columns:1fr 2fr auto;align-items:center;gap:8px;font-size:12px;margin-bottom:8px;color:var(--muted)}.inspector-field .value{text-align:right;color:var(--text);min-width:34px}.inspector-field .value-input{width:56px;text-align:right;color:var(--text);background:var(--panel);border:1px solid var(--border);border-radius:4px;padding:2px 4px;font-size:12px}.inspector-field-2col{grid-template-columns:1fr auto}.height-mode-section{border-top:1px solid var(--border);margin-top:10px;padding-top:10px}.height-mode-toggle{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}.radio-field{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--muted);cursor:pointer}.radio-field input{cursor:pointer}.checkbox-field{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--muted);cursor:pointer}.checkbox-field input{cursor:pointer}.sim-controls label{display:block;font-size:12px;color:var(--muted);margin-bottom:10px}.sim-controls input[type=range]{width:100%}.button-row{display:flex;gap:8px;flex-wrap:wrap}button{font-family:inherit}#btn-play,#btn-reset,#btn-export,#btn-import{padding:8px 12px;border-radius:8px;border:1px solid var(--border);background:var(--panel);cursor:pointer;font-size:13px}#btn-play{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.sim-status{margin:10px 0 0;font-size:12.5px;color:var(--muted)}.sim-status.status-success{color:var(--success);font-weight:600}.sim-status.status-stalled{color:var(--warn);font-weight:600}.sim-status.status-rolled_back,.sim-status.status-error,.sim-status.status-derailing,.sim-status.status-derailed{color:var(--danger);font-weight:600}.hint{font-size:11.5px;color:var(--muted);margin:8px 0 0}#viewport{position:relative;flex:1;min-width:0}#scene-canvas{width:100%;height:100%;display:block}.viewport-hint{position:absolute;bottom:12px;left:12px;background:#ffffffd9;border:1px solid var(--border);padding:6px 10px;border-radius:8px;font-size:12px;color:var(--muted)}.sim-live{position:absolute;top:14px;left:50%;transform:translate(-50%);display:flex;gap:22px;align-items:baseline;background:#ffffffeb;border:1px solid var(--border);padding:8px 16px;border-radius:10px;font-size:15px;box-shadow:0 4px 14px #0000001f;white-space:nowrap}.sim-live[hidden]{display:none}.sim-live b{font-size:18px;color:var(--accent);font-variant-numeric:tabular-nums}.sim-live small{color:var(--muted)}.sim-live-max b{font-weight:800}.aufbau-status{white-space:normal;max-width:min(720px,80%);font-size:14px;gap:12px;left:auto;right:14px;transform:none}.aufbau-status .aufbau-knoepfe{display:flex;gap:5px;flex-shrink:0}.aufbau-status button{border:1px solid var(--border);background:#f2f5f9;border-radius:8px;padding:3px 9px;font-size:14px;cursor:pointer;flex-shrink:0}.aufbau-status button:hover{background:#e4ebf3}:root{--font-heading: "Baloo 2", ui-rounded, "Arial Rounded MT Bold", "Trebuchet MS", sans-serif;--font-body: "Questrial", ui-rounded, "Trebuchet MS", "Segoe UI", system-ui, sans-serif;--bg: #f7f6f1;--panel: #ffffff;--border: #e3e1d6;--text: #2c342b;--muted: #6b7566;--accent: #4f7a3d;--accent-dunkel: #375829;--accent-soft: #eaf1e3;--gelb: #f0b429;--gelb-dunkel: #b9860b;--gelb-soft: #fbf0d6;--lime: #a8c93e;--blau: #4fa3d1;--danger: #e15241;--success: #3f8f52;--warn: #c47f17}html,body{font-family:var(--font-body);background:var(--bg)}h1,h2,h3,.panel h2,.palette-group h3,.mode-toggle button,#btn-play,.inspector-heading{font-family:var(--font-heading)}#sidebar{background:var(--panel);border-right:1px solid var(--border);gap:20px;padding:20px}.sidebar-header h1{margin:0;line-height:0}.brand-logo{display:block;width:148px;height:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.subtitle{margin:8px 0 0;color:var(--muted);font-family:var(--font-body)}.panel{border:1px solid var(--border);border-radius:14px;background:var(--panel);padding:16px;box-shadow:0 1px 2px #2c342b0d}.panel h2{font-weight:700;font-size:13px;letter-spacing:.05em;color:var(--accent-dunkel);margin:0 0 14px}#panel-projekte label{display:block;font-size:12.5px;color:var(--muted);margin-bottom:14px}#panel-projekte select{display:block;width:100%;margin-top:6px;font-family:var(--font-body);font-size:13px;padding:7px 8px;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--text)}.mode-toggle{gap:6px}.mode-toggle button{border:1px solid var(--border);border-radius:999px;padding:8px 10px;font-weight:600;background:#fff;color:var(--muted);transition:background .15s,color .15s,border-color .15s}.mode-toggle button.active{background:var(--accent);border-color:var(--accent);color:#fff}.palette-group{gap:8px}.palette-btn{background:var(--accent-soft);border:1px solid transparent;border-radius:10px;color:var(--accent-dunkel);font-weight:600;font-family:var(--font-body);padding:10px 12px;transition:background .15s,transform .08s,box-shadow .15s}.palette-btn:hover{background:#dcead0;transform:translateY(-1px);box-shadow:0 3px 8px #4f7a3d2e}.palette-btn:active{transform:translateY(0);box-shadow:none}.palette-group h3{color:var(--accent-dunkel);font-weight:700;font-size:12.5px;margin:14px 0 8px}.panel button:not(.icon-btn):not(.palette-btn):not(.mode-toggle button){display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(185,134,11,.35);border-radius:8px;background:var(--gelb);color:#4a3d00;font-family:var(--font-body);font-size:12.5px;font-weight:600;line-height:1.2;padding:7px 12px;cursor:pointer;box-shadow:0 1px 3px #b9860b38;transition:transform .08s,box-shadow .15s,background .15s}.panel button:not(.icon-btn):not(.palette-btn):hover{background:#f5c04c;transform:translateY(-1px);box-shadow:0 3px 7px #b9860b47}.panel button:not(.icon-btn):not(.palette-btn):active{transform:translateY(0);box-shadow:0 1px 2px #b9860b47}.button-row{gap:10px;margin-top:14px}#btn-play{background:var(--accent)!important;border:1px solid var(--accent-dunkel)!important;color:#fff!important;font-size:15px;font-weight:700;border-radius:12px!important;padding:11px 16px!important;box-shadow:0 3px 8px #3758294d!important}#btn-play:hover{background:var(--accent-dunkel)!important;box-shadow:0 4px 12px #37582959!important}#btn-reset{background:#f4f3ee!important;border:1px solid var(--border)!important;color:var(--muted)!important;box-shadow:none!important}#btn-reset:hover{background:#ece9de!important}input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:6px;border-radius:999px;background:var(--accent-soft);border:none;margin:8px 0}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:var(--accent);border:3px solid #fff;box-shadow:0 1px 4px #2c342b4d;cursor:pointer}input[type=range]::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--accent);border:3px solid #fff;box-shadow:0 1px 4px #2c342b4d;cursor:pointer}.sim-controls label{margin-bottom:14px}.track-list{gap:6px}.track-item{border-radius:10px;padding:8px 10px}.track-item.selected{background:var(--gelb-soft);border:1px solid var(--gelb-dunkel)}.viewport-hint{border:1px solid var(--border);border-radius:10px;background:#ffffffeb;font-family:var(--font-body)}.sim-live{border:1px solid var(--border);border-radius:12px;padding:10px 20px;box-shadow:0 4px 14px #2c342b1f;font-family:var(--font-body)}.sim-live b{color:var(--accent-dunkel)}.aufbau-status{border-radius:14px}.aufbau-status button{border:1px solid var(--gelb-dunkel);background:var(--gelb);color:#4a3d00;font-weight:600;border-radius:8px;box-shadow:none}.aufbau-status button:hover{background:#f5c04c}.stueckliste-kopf .modal-close{border-radius:999px;font-weight:600}.stueckliste-modal{background:var(--accent)}.anleitung-inhalt h4{border-bottom:2px solid var(--accent)}#sidebar::-webkit-scrollbar,.track-list::-webkit-scrollbar,.stueckliste-modal::-webkit-scrollbar{width:8px}#sidebar::-webkit-scrollbar-thumb,.track-list::-webkit-scrollbar-thumb,.stueckliste-modal::-webkit-scrollbar-thumb{background:#d8d5c8;border-radius:999px}@media print{body.anleitung-druck{font-family:Segoe UI,system-ui,sans-serif;background:#fff}}.sidebar-header{background:var(--gelb);border:6px solid var(--accent-dunkel);border-radius:24px;padding:18px 18px 20px}.brand-logo{background:#fff;padding:10px 14px;border-radius:14px;box-sizing:border-box;width:148px}.subtitle{margin:16px 0 18px;color:#23281f;font-family:var(--font-heading);font-weight:800;font-size:15px;line-height:1.3}.mode-toggle{gap:10px}.mode-toggle button{border:none;border-radius:999px;padding:9px 14px;font-weight:700;background:#fff;color:#23281f;box-shadow:4px 4px 0 var(--accent-dunkel);transition:transform .08s,box-shadow .08s}.mode-toggle button:hover{transform:translate(-1px,-1px);box-shadow:5px 5px 0 var(--accent-dunkel)}.mode-toggle button:active{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--accent-dunkel)}.mode-toggle button.active{background:var(--accent);color:#fff;box-shadow:4px 4px 0 var(--accent-dunkel)}.panel button:not(.icon-btn):not(.palette-btn):not(.mode-toggle button){border:none;border-radius:999px;box-shadow:3px 3px 0 var(--gelb-dunkel);transition:transform .08s,box-shadow .08s,background .15s}.panel button:not(.icon-btn):not(.palette-btn):not(.mode-toggle button):hover{transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--gelb-dunkel)}.panel button:not(.icon-btn):not(.palette-btn):not(.mode-toggle button):active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--gelb-dunkel)}#btn-play{border-radius:999px!important;box-shadow:4px 4px 0 var(--accent-dunkel)!important}#btn-play:hover{transform:translate(-1px,-1px);box-shadow:5px 5px 0 var(--accent-dunkel)!important}#btn-play:active{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--accent-dunkel)!important}#btn-reset{border-radius:999px!important;box-shadow:3px 3px 0 var(--border)!important}#btn-reset:hover{transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--border)!important}#btn-reset:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--border)!important}.aufbau-status button{border:none;border-radius:999px;box-shadow:3px 3px 0 var(--gelb-dunkel);transition:transform .08s,box-shadow .08s,background .15s}.aufbau-status button:hover{transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--gelb-dunkel)}#sidebar{background:var(--gelb);border-right:none}.sidebar-header{background:none;border:none;border-radius:0;padding:0}.brand-logo{box-shadow:0 3px 10px #23281f33}.subtitle{margin:14px 0 16px;color:#1f2417;font-weight:800;font-size:15px}.mode-toggle{gap:8px}.mode-toggle button{border:none;border-radius:9px;padding:9px 12px;font-weight:700;background:#fff;color:#23281f;box-shadow:0 2px 5px #23281f33;transition:box-shadow .15s,transform .08s,background .15s}.mode-toggle button:hover{transform:translateY(-1px);box-shadow:0 3px 8px #23281f3d}.mode-toggle button:active{transform:translateY(0);box-shadow:0 1px 3px #23281f3d}.mode-toggle button.active{background:var(--accent);color:#fff;box-shadow:0 2px 5px #37582959}.panel h2{text-transform:none;letter-spacing:0;font-size:14px;font-weight:800;color:#23281f}.panel{box-shadow:0 2px 6px #23281f24}.panel button:not(.icon-btn):not(.palette-btn):not(.mode-toggle button){border:none;border-radius:9px;box-shadow:0 2px 5px #b9860b4d}.panel button:not(.icon-btn):not(.palette-btn):not(.mode-toggle button):hover{transform:translateY(-1px);box-shadow:0 3px 8px #b9860b52}.panel button:not(.icon-btn):not(.palette-btn):not(.mode-toggle button):active{transform:translateY(0);box-shadow:0 1px 3px #b9860b52}#btn-play{border-radius:12px!important;box-shadow:0 3px 8px #3758294d!important}#btn-play:hover{transform:translateY(-1px);box-shadow:0 4px 12px #37582959!important}#btn-play:active{transform:translateY(1px);box-shadow:0 1px 4px #37582959!important}#btn-reset{border-radius:12px!important;box-shadow:none!important}.aufbau-status button{border-radius:9px;box-shadow:0 2px 5px #b9860b4d}.aufbau-status button:hover{transform:translateY(-1px);box-shadow:0 3px 8px #b9860b52}.panel{border:2px solid var(--accent-dunkel)}:root{--gelb: #f0c829;--gelb-dunkel: #b9970b;--gelb-soft: #fbf4d6;--accent: #8db600;--accent-dunkel: #4e6400;--accent-soft: #eef4d9}:root{--gelb: #ffd800;--gelb-dunkel: #a68c00;--gelb-soft: #fff8d1;--accent: #a2c112;--accent-dunkel: #596a0a;--accent-soft: #f1f6db}.mode-toggle button,.panel button:not(.icon-btn):not(.palette-btn):not(.mode-toggle button),.aufbau-status button{border:2px solid var(--accent-dunkel);height:8mm;padding-top:0;padding-bottom:0;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center}#btn-play,#btn-reset{border:2px solid var(--accent-dunkel)!important;height:8mm!important;padding-top:0!important;padding-bottom:0!important;box-sizing:border-box}.mode-toggle button.active{border:2px solid var(--accent-dunkel)}.mode-toggle button,.panel button:not(.icon-btn):not(.palette-btn):not(.mode-toggle button),.aufbau-status button{font-size:15px}#btn-export,#btn-import{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:2px solid var(--accent-dunkel);border-radius:9px;background:var(--gelb);color:#4a3d00;font-family:var(--font-body);font-size:15px;font-weight:600;line-height:1.2;padding:0 12px;height:8mm;box-sizing:border-box;cursor:pointer;box-shadow:0 2px 5px #b9860b4d;transition:transform .08s,box-shadow .15s,background .15s}#btn-export:hover,#btn-import:hover{background:#f5c04c;transform:translateY(-1px);box-shadow:0 3px 8px #b9860b52}#btn-export:active,#btn-import:active{transform:translateY(0);box-shadow:0 1px 3px #b9860b52}.panel h2{font-size:calc(14px + 2pt);white-space:nowrap}.subtitle{font-size:calc(15px + 1pt)}details.hint-details summary{font-size:calc(11px + 2pt)}.hint{font-size:calc(11.5px + 2pt)}.inspector-field,.inspector-field .value-input,.sim-controls label,.viewport-hint,.anleitung-ansichten figcaption{font-size:calc(12px + 2pt)}.palette-btn,.palette-group h3,details.inspector-group>summary,.radio-field,.checkbox-field,.sim-status,#panel-projekte label,.stueckliste-card{font-size:calc(12.5px + 2pt)}.track-item,.inspector-heading,.anleitung-teil,#panel-projekte select{font-size:calc(13px + 2pt)}body.mode-einfach .palette-btn,.anleitung-schritte,.aufbau-status{font-size:calc(14px + 2pt)}.anleitung-inhalt h4,.sim-live{font-size:calc(15px + 2pt)}.stueckliste-kopf h3,.stueckliste-card .anzahl{font-size:calc(16px + 2pt)}.sim-live b{font-size:calc(18px + 2pt)}.track-list{gap:2px}.track-item{justify-content:flex-start;gap:4px;padding:3px 8px}.track-item>span{flex:1;min-width:0}.palette-group h3{margin:6px 0 4px}.palette-group:first-child h3{margin-top:0}.brand-logo{width:calc(148px + 10mm)}.brand-logo{width:100%}.palette-group h3{margin:calc(6px - 3pt) 0 calc(4px - 3pt) 0}.brand-logo{padding:4% 8%}.subtitle{font-size:22px;white-space:nowrap}.subtitle{margin-top:24px;margin-bottom:calc(5mm - 20px)}.panel button:not(.icon-btn):not(.palette-btn):not(.mode-toggle button),#btn-export,#btn-import,.aufbau-status button{background:var(--accent);color:#fff;font-weight:700}.panel button:not(.icon-btn):not(.palette-btn):not(.mode-toggle button):hover,#btn-export:hover,#btn-import:hover,.aufbau-status button:hover{background:var(--accent-dunkel);box-shadow:0 3px 8px #596a0a52}.panel button:not(.icon-btn):not(.palette-btn):not(.mode-toggle button):active,#btn-export:active,#btn-import:active{box-shadow:0 1px 3px #596a0a52}.panel button:not(.icon-btn):not(.palette-btn):not(.mode-toggle button),#btn-export,#btn-import,.aufbau-status button{box-shadow:0 2px 5px #596a0a4d}#btn-play,#btn-reset{font-weight:700}.inspector-field{grid-template-columns:minmax(0,1fr) minmax(0,2fr) auto}.inspector-field input[type=range]{min-width:0;width:100%}#panel-projekte label,.sim-controls label:not(.checkbox-field){font-family:var(--font-heading);font-weight:700}.inspector-field{grid-template-columns:fit-content(45%) minmax(0,1fr) auto}.inspector-field-2col{grid-template-columns:minmax(0,1fr) auto}.subtitle{margin-top:calc(24px + 1.5mm);margin-bottom:calc(3.5mm - 20px)}.sim-controls label{margin-bottom:6px}.sim-zeile{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:2px}.sim-zeile input[type=number]{width:62px;text-align:right;font-family:var(--font-body);font-size:14px;border:1px solid var(--border);border-radius:8px;padding:2px 6px;background:#fff}input[type=range]{height:8px;margin:2px 0 4px;background:#d7dfb4;border-color:#b0bc86}input[type=range]::-webkit-slider-thumb{width:20px;height:20px;background:var(--accent-dunkel);border:2px solid #fff;box-shadow:0 1px 3px #00000059}input[type=range]::-moz-range-thumb{width:18px;height:18px;background:var(--accent-dunkel);border:2px solid #fff;box-shadow:0 1px 3px #00000059}.sim-status{margin-top:6px}#panel-simulation .button-row{margin-top:8px}.palette-group{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.palette-btn{min-width:0;overflow-wrap:anywhere}.palette-btn{display:flex;flex-direction:column;align-items:stretch;gap:4px;text-align:center}.palette-bild{display:block;background:#fff;border:1px solid var(--border);border-radius:8px;height:54px;overflow:hidden}.palette-bild img{width:100%;height:100%;object-fit:contain;display:block}.palette-btn{background:#fff;border:1px solid var(--border);padding:4px 4px 6px;font-size:12.5px}.palette-btn:hover{background:#fff;border-color:var(--accent)}.palette-bild{border:none;border-radius:6px;height:64px}.bauwerk-feld{display:grid;grid-template-columns:minmax(0,1fr) 74px;align-items:center;gap:8px;margin:4px 0}.bauwerk-feld input,.bauwerk-feld select{width:100%;box-sizing:border-box}.track-item{font-size:13px;padding:3px 4px}.track-item .icon-btn{padding:2px 3px}.inspector-trenner{border:none;border-top:1px solid var(--border);margin:8px 0}#btn-mitfahren.mitfahr-an,#btn-tvkamera.mitfahr-an{background:var(--accent-dunkel)}body.kamera-vollbild #sidebar{display:none}.mitfahr-blende{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--bg);opacity:0;pointer-events:none;transition:opacity .7s ease;z-index:5}#sim-live[hidden]{display:none}#sim-live{background:linear-gradient(180deg,#23272b,#16181b);border:2px solid #3a4046;border-radius:14px;box-shadow:0 8px 22px #00000059,inset 0 0 14px #0000008c;color:#9aa39a;font-family:Menlo,Consolas,SF Mono,monospace;display:flex;align-items:center;gap:18px;padding:8px 18px;max-width:calc(100% - 24px);flex-wrap:wrap;justify-content:center;box-sizing:border-box}#sim-live #tacho{width:74px;height:58px;flex:none}#sim-live .tacho-bogen{fill:none;stroke:#3a4046;stroke-width:5;stroke-linecap:round}#sim-live .tacho-strich{stroke:#6b7570;stroke-width:2.5;stroke-linecap:round}#sim-live #tacho-nadel{stroke:#ff5a36;stroke-width:3;stroke-linecap:round;filter:drop-shadow(0 0 3px rgba(255,90,54,.7))}#sim-live .tacho-nabe{fill:#d7dfd0}#sim-live .cockpit-block[hidden]{display:none}#sim-live .cockpit-block{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:86px}#sim-live .cockpit-label{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#7d8780}#sim-live .cockpit-wert{font-size:13px;color:var(--gelb);text-shadow:0 0 8px rgba(255,216,0,.75)}#sim-live .cockpit-wert b{font-size:22px;font-weight:700;letter-spacing:.03em;color:inherit}#sim-live .cockpit-klein{font-size:11px;color:#8c968e}#sim-live .cockpit-balken{width:130px;height:10px;border-radius:999px;background:#101214;border:1px solid #3a4046;overflow:hidden}#sim-live #cockpit-balken-fuell{height:100%;width:0%;border-radius:999px;background:linear-gradient(90deg,#b99700,var(--gelb));box-shadow:0 0 8px #ffd800cc}#sim-live .sim-live-max .cockpit-wert b{font-size:15px}.copyright{margin:0;text-align:center;font-size:11px;color:#6b6320}.vollbild-logo{display:none;position:absolute;top:14px;left:14px;width:150px;height:auto;padding:8px 12px;background:#fff;border-radius:10px;box-shadow:0 4px 14px #0000002e;z-index:4;pointer-events:none}body.kamera-vollbild .vollbild-logo{display:block}.farb-zeile{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin:10px 0;font-size:calc(12.5px + 2pt)}.farb-knoepfe{display:flex;gap:8px;flex-wrap:wrap}#sidebar .panel button.farb-knopf{width:26px;height:26px;min-width:0;padding:0;border-radius:50%;border:2px solid var(--border);box-shadow:none;cursor:pointer}#sidebar .panel button.farb-knopf:hover{transform:scale(1.12);box-shadow:none}#sidebar .panel button.farb-knopf.aktiv{border-color:var(--accent-dunkel);box-shadow:0 0 0 2px #fff inset}.handy-menue-knopf,.handy-leiste,.handy-menue-zu,#handy-abdunkler{display:none}@media (max-width: 820px),(max-height: 500px) and (orientation: landscape){#app{height:100dvh}#sidebar{position:fixed;top:0;bottom:0;left:0;width:min(320px,88vw);min-width:0;height:100dvh;z-index:20;transform:translate(-105%);transition:transform .25s ease;box-shadow:6px 0 24px #00000040}body.handy-menue-offen #sidebar{transform:none}body.handy-menue-offen #handy-abdunkler{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#23281f66;z-index:19}.handy-menue-zu{display:flex;align-items:center;justify-content:center;position:absolute;top:10px;right:10px;width:34px;height:34px;border-radius:50%;border:2px solid var(--accent-dunkel);background:#fff;color:var(--text);font-size:16px;font-weight:700;cursor:pointer;z-index:21}.handy-menue-knopf{display:inline-flex;align-items:center;justify-content:center;position:absolute;top:12px;left:12px;height:40px;padding:0 14px;border-radius:999px;border:2px solid var(--accent-dunkel);background:#fff;color:var(--text);font-family:var(--font-heading);font-size:15px;font-weight:700;box-shadow:0 4px 14px #0000002e;cursor:pointer;z-index:10}.handy-leiste{display:flex;gap:10px;position:absolute;bottom:max(12px,env(safe-area-inset-bottom));left:50%;transform:translate(-50%);z-index:10}.handy-leiste button{display:inline-flex;align-items:center;justify-content:center;height:44px;padding:0 18px;border-radius:999px;border:2px solid var(--accent-dunkel);background:var(--accent);color:#fff;font-family:var(--font-heading);font-size:15px;font-weight:700;box-shadow:0 4px 14px #596a0a59;cursor:pointer;white-space:nowrap}.handy-leiste button.mitfahr-an{background:var(--accent-dunkel)}.viewport-hint,body.kamera-vollbild .handy-menue-knopf{display:none}}@media (max-width: 820px),(max-height: 500px) and (orientation: landscape){.vollbild-logo{top:12px;left:12px;width:92px;padding:6px 8px}body.kamera-vollbild #sim-live{left:132px;right:12px;transform:none;max-width:none}}.tour-knopf{display:inline-flex;align-items:center;justify-content:center;margin-top:10px;height:32px;padding:0 14px;border-radius:999px;border:2px solid var(--accent-dunkel);background:#fff;color:var(--text);font-family:var(--font-heading);font-size:13.5px;font-weight:700;cursor:pointer;box-shadow:0 2px 8px #23281f2e}.tour-knopf:hover{background:var(--accent-soft)}#tour-spot[hidden],#tour-blase[hidden]{display:none}#tour-spot{position:fixed;z-index:40;pointer-events:none;border:3px solid var(--accent-dunkel);border-radius:14px;animation:tour-puls 1.6s ease-in-out infinite;transition:top .35s ease,left .35s ease,width .35s ease,height .35s ease}@keyframes tour-puls{0%,to{box-shadow:0 0 0 4px #ffd80059,0 0 16px #ffd800cc}50%{box-shadow:0 0 0 10px #ffd8001f,0 0 26px #ffd800f2}}#tour-blase{position:fixed;z-index:41;max-width:min(340px,calc(100vw - 24px));box-sizing:border-box;background:#fff;border:2px solid var(--accent-dunkel);border-radius:14px;padding:14px 16px 12px;box-shadow:0 10px 30px #0000004d;font-size:15px;line-height:1.45;transition:top .35s ease,left .35s ease}#tour-blase p{margin:0 0 10px}.tour-fuss{display:flex;justify-content:space-between;align-items:center;gap:10px}#tour-zaehler{color:var(--muted);font-size:12px;white-space:nowrap}.tour-knoepfe{display:inline-flex;gap:8px}#tour-weiter{height:34px;padding:0 16px;border-radius:999px;border:2px solid var(--accent-dunkel);background:var(--accent);color:#fff;font-family:var(--font-heading);font-size:14px;font-weight:700;cursor:pointer}#tour-weiter:hover{background:var(--accent-dunkel)}#tour-skip{height:34px;padding:0 10px;border:none;background:none;color:var(--muted);font-size:13px;cursor:pointer;text-decoration:underline}.handy-tour-knopf{display:none}@media (max-width: 820px),(max-height: 500px) and (orientation: landscape){.handy-tour-knopf{display:inline-flex;align-items:center;justify-content:center;position:absolute;top:60px;left:12px;height:36px;padding:0 12px;border-radius:999px;border:2px solid var(--accent-dunkel);background:#fff;color:var(--text);font-family:var(--font-heading);font-size:13.5px;font-weight:700;box-shadow:0 4px 14px #0000002e;cursor:pointer;z-index:10}body.kamera-vollbild .handy-tour-knopf{display:none}}@media (max-width: 820px) and (orientation: landscape),(max-height: 500px) and (orientation: landscape){.handy-menue-knopf{top:auto;bottom:max(12px,env(safe-area-inset-bottom));left:12px;height:44px}.handy-tour-knopf{top:auto;bottom:max(12px,env(safe-area-inset-bottom));left:106px;height:44px;padding:0 14px;font-size:15px}.handy-leiste{left:auto;right:12px;transform:none}}#handy-vollbild[hidden]{display:none}@media (max-width: 820px),(max-height: 500px) and (orientation: landscape){.handy-leiste #handy-vollbild{width:44px;padding:0;font-size:20px}}#sim-live{left:auto;right:14px;transform:none}@media (max-width: 820px),(max-height: 500px) and (orientation: landscape){body.kamera-vollbild #sim-live{left:auto;right:12px;max-width:calc(100% - 136px)}}html,body{overscroll-behavior:none}.teil-farb-zeile{margin:12px 0 6px}#sidebar .panel button.farb-knopf-standard{background:linear-gradient(135deg,#fff 44%,#d63a2f 44%,#d63a2f 56%,#fff 56%)}#box-link{position:absolute;left:14px;bottom:14px;width:210px;max-width:26vw;z-index:3;line-height:0;cursor:pointer}#box-link:hover #box-bild{transform:scale(1.03)}#box-bild{width:100%;height:auto;display:block;transition:transform .15s ease;filter:drop-shadow(0 6px 14px rgba(44,52,43,.28))}#box-link[hidden],#box-bild[hidden],body.kamera-vollbild #box-link{display:none}@media (max-width: 820px),(max-height: 500px) and (orientation: landscape){#box-link{display:none}}.brand-link{display:block;line-height:0}#viewport .viewport-hint{left:auto;right:12px}.meta-tower-modal{max-width:460px;display:flex;flex-direction:column;gap:10px}.meta-tower-modal .radio-field{display:flex;gap:8px;align-items:flex-start}.meta-tower-overlay{justify-content:flex-start;align-items:flex-start;padding:90px 0 0 336px}.meta-tower-modal{min-width:320px;max-height:calc(100vh - 110px);overflow:auto}@media (max-width: 820px),(max-height: 500px) and (orientation: landscape){.meta-tower-overlay{padding:70px 10px 10px;justify-content:center}}.bahn-anhaengen-liste{display:flex;flex-direction:column;gap:6px;margin:10px 0 4px;max-height:320px;overflow-y:auto}.bahn-anhaengen-liste button{display:block;width:100%;text-align:left;padding:8px 12px;border:2px solid var(--accent-dunkel);border-radius:9px;background:#fff;font-size:14px;cursor:pointer}.bahn-anhaengen-liste button:hover{background:var(--accent-soft)}body.edition-verkauf #panel-teile,body.edition-verkauf #inspector-panel,body.edition-verkauf #panel-farben,body.edition-verkauf #panel-speichern,body.edition-verkauf #panel-projekte .button-row,body.edition-verkauf #track-list,body.edition-verkauf #btn-repair,body.edition-verkauf #btn-anleitung,body.edition-verkauf #btn-tour,body.edition-verkauf #handy-tour,body.edition-verkauf .sim-reibung-zeile,body.edition-verkauf .sim-kurvenhalt-zeile,body.edition-verkauf .sim-zeitlupe-zeile,body.edition-verkauf #btn-tvkamera{display:none!important}#btn-zeitlupe-fix{display:none}body.edition-verkauf #btn-zeitlupe-fix{display:inline-flex}body.edition-verkauf .subtitle{font-size:18px}#btn-zeitlupe-fix.mitfahr-an{background:var(--accent-dunkel)}@media (min-width: 821px) and (min-height: 501px){body.menue-oben #app{flex-direction:column}body.menue-oben #sidebar{width:100%;min-width:0;flex-direction:row;align-items:center;flex-wrap:nowrap;gap:12px;padding:8px 16px;overflow:visible;border-right:none;border-bottom:2px solid var(--accent-dunkel);position:relative;z-index:20}body.menue-oben #viewport{flex:1;min-height:0}body.menue-oben .sidebar-header{display:flex;flex-direction:row;align-items:center;gap:12px;flex:0 0 auto}body.menue-oben .brand-logo{width:128px;padding:3px 10px}body.menue-oben .subtitle,body.menue-oben #btn-tour,body.menue-oben .copyright{display:none}body.menue-oben.edition-verkauf .subtitle{display:block;font-size:15px;margin:0;white-space:nowrap}body.menue-oben .panel{position:relative;width:max-content;flex:0 0 auto}body.menue-oben .panel>h2{white-space:nowrap}body.menue-oben .panel-inhalt{position:absolute;top:calc(100% + 12px);left:0;width:300px;max-height:calc(100vh - 150px);overflow-y:auto;background:var(--panel);border:2px solid var(--accent-dunkel);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:12px;box-shadow:0 14px 30px #2c342b38;z-index:30}body.menue-oben .panel:nth-last-of-type(-n+2) .panel-inhalt{left:auto;right:0}}@media (min-width: 821px) and (min-height: 501px){body.menue-oben .panel>h2{margin:0}body.menue-oben .brand-logo{height:63px;width:auto;box-sizing:border-box}}@media (min-width: 821px) and (min-height: 501px){body.menue-oben.edition-verkauf .sidebar-header{flex-direction:column;align-items:center;gap:4px;margin-right:26px}body.menue-oben.edition-verkauf .subtitle{font-size:19.5px}}body.edition-verkauf #btn-stueckliste,body.edition-verkauf .strecke-masse-kopf{display:none!important}.strecke-bahn-titel{display:flex;flex-direction:column;gap:2px}.strecke-bahn-titel b{font-family:var(--font-heading);font-size:15.5px;color:var(--text)}.strecke-bahn-titel span{font-size:13px;color:var(--muted)}body.edition-verkauf #btn-reset,body.edition-verkauf #sim-status{display:none!important}@media (min-width: 821px) and (min-height: 501px){body.menue-oben #sidebar{align-items:flex-start}}@media (min-width: 821px) and (min-height: 501px){body.menue-oben #sidebar{padding-top:calc(8px + 1.5mm)}}@media (min-width: 821px) and (min-height: 501px){body.menue-oben.edition-verkauf #panel-simulation{order:5}body.menue-oben .panel:not(.collapsed):after{content:"";position:absolute;left:0;right:0;top:100%;height:14px}}.strecke-kopf-label{display:none}body.edition-verkauf .strecke-kopf-label{display:block;font-size:11px;font-weight:600;color:var(--muted);line-height:1.1;text-transform:none}@media (min-width: 821px) and (min-height: 501px){body.menue-oben.edition-verkauf #panel-strecke{padding-top:7px;padding-bottom:7px}}@media (min-width: 821px) and (min-height: 501px){body.menue-oben.edition-verkauf #panel-strecke>h2{padding-top:3px;padding-bottom:3px}}@media (min-width: 821px) and (min-height: 501px){body.menue-oben.edition-verkauf #panel-strecke>h2:before{content:none}}@media (min-width: 821px) and (min-height: 501px){body.menue-oben.edition-verkauf .panel>h2:before{content:none}}@media (min-width: 821px) and (min-height: 501px){body.menue-oben.edition-verkauf .panel{padding-top:22px;padding-bottom:10px}}
