:root{--bg:#040806;--panel:rgba(5,13,10,.88);--panel2:rgba(7,20,15,.94);--line:rgba(79,255,151,.28);--green:#55ff9b;--green2:#19d96b;--text:#e7fff0;--muted:#87a894;--danger:#ff6969;--amber:#ffc85a;--cyan:#63dbff}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#79add4;color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Arial,sans-serif}button,a{font:inherit}button{cursor:pointer}.cesium-widget-credits{font-size:9px!important;opacity:.72}.cesium-viewer-bottom{bottom:28px!important}#game-shell{position:fixed;inset:0 0 28px;background:#79add4}#cesiumContainer{position:absolute;inset:0;background:#79add4}.scanlines{pointer-events:none;position:absolute;inset:0;z-index:2;background:repeating-linear-gradient(to bottom,transparent 0,transparent 3px,rgba(80,255,150,.015) 4px);mix-blend-mode:screen}
.topbar{position:absolute;z-index:10;left:16px;right:16px;top:14px;min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;border:1px solid var(--line);background:linear-gradient(90deg,rgba(5,15,11,.96),rgba(5,12,10,.72));backdrop-filter:blur(12px);box-shadow:0 0 25px rgba(20,255,110,.08)}.brand{display:flex;align-items:center;gap:10px;letter-spacing:.08em;min-width:165px}.brand strong{display:block;font-size:16px}.brand small{display:block;font-size:9px;color:var(--muted);margin-top:2px}.brand-dot{width:10px;height:10px;border-radius:50%;background:var(--green);box-shadow:0 0 12px var(--green)}.top-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.hud-btn,.wide-btn{border:1px solid var(--line);background:rgba(8,24,17,.84);color:var(--text);border-radius:4px;padding:9px 11px;font-size:10px;letter-spacing:.08em;text-transform:uppercase}.hud-btn:hover,.wide-btn:hover{border-color:var(--green);box-shadow:0 0 16px rgba(85,255,155,.12)}.wide-btn.active{border-color:var(--amber);color:#fff3bf;box-shadow:0 0 18px rgba(255,200,90,.18)}
.telemetry{position:absolute;z-index:9;left:16px;top:84px;width:242px;border:1px solid var(--line);background:var(--panel);backdrop-filter:blur(12px);padding:13px;box-shadow:0 0 30px rgba(0,0,0,.35);max-height:calc(100vh - 150px);overflow:auto;scrollbar-width:thin;scrollbar-color:var(--green) rgba(0,0,0,.2)}.eyebrow{font-size:9px;letter-spacing:.17em;color:var(--green);margin-bottom:8px}.telemetry-row{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid rgba(90,255,155,.08);font-size:10px}.telemetry-row span{color:var(--muted)}.telemetry-row strong{font-size:10px;text-align:right;color:#fff;max-width:132px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.divider{height:9px}.wide-btn{width:100%;margin-top:7px;font-weight:700}.wide-btn.secondary{background:rgba(4,10,8,.75);color:#b9d7c5}.debug-pill{color:var(--amber)!important}.danger-pill{color:var(--danger)!important}.ok-pill{color:var(--green)!important}
.mission-card{position:absolute;z-index:8;left:16px;bottom:54px;width:370px;max-width:calc(100vw - 32px);border-left:2px solid var(--green);background:linear-gradient(90deg,rgba(5,16,11,.92),rgba(5,12,10,.62));backdrop-filter:blur(10px);padding:12px 14px}.mission-card strong{font-size:13px}.mission-card p{font-size:11px;line-height:1.45;color:#b6cabd;margin:6px 0 0}.crosshair{position:absolute;z-index:7;left:50%;top:50%;width:22px;height:22px;transform:translate(-50%,-50%);opacity:.78;pointer-events:none}.crosshair i{position:absolute;background:rgba(190,255,217,.72);box-shadow:0 0 5px rgba(85,255,155,.3)}.crosshair i:first-child{left:10px;top:2px;width:1px;height:18px}.crosshair i:last-child{top:10px;left:2px;width:18px;height:1px}
.multiplayer-panel{position:absolute;z-index:9;right:16px;top:84px;width:300px;border:1px solid var(--line);background:rgba(4,12,9,.88);backdrop-filter:blur(12px);box-shadow:0 0 30px rgba(0,0,0,.28);padding:9px}.multiplayer-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.multiplayer-head div{font-size:9px;letter-spacing:.13em;color:var(--muted)}.multiplayer-head span{margin-right:6px}.multiplayer-head strong{color:var(--green)}.multiplayer-head input,.chat-form input{min-width:0;border:1px solid rgba(85,255,155,.22);background:rgba(1,7,5,.82);color:#eafff1;border-radius:3px;padding:7px 8px;font-size:11px;outline:none}.multiplayer-head input{width:130px;text-align:right}.multiplayer-head input:focus,.chat-form input:focus{border-color:var(--green);box-shadow:0 0 12px rgba(85,255,155,.12)}.chat-log{height:118px;overflow:auto;padding:6px;background:rgba(0,0,0,.22);border:1px solid rgba(85,255,155,.10);scrollbar-width:thin;scrollbar-color:var(--green) rgba(0,0,0,.2)}.chat-log div{display:grid;grid-template-columns:minmax(52px,auto) 1fr;gap:7px;margin-bottom:5px;font-size:10px;line-height:1.32;color:#b9d7c5}.chat-log div.own{color:#e7fff0}.chat-log strong{color:var(--green);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-log span{overflow-wrap:anywhere}.chat-form{display:flex;gap:6px;margin-top:7px}.chat-form input{flex:1}.chat-form button{border:1px solid var(--line);background:rgba(8,24,17,.84);color:var(--text);border-radius:3px;padding:7px 8px;font-size:9px;font-weight:700;letter-spacing:.08em}
.controls-hint{position:absolute;z-index:9;left:50%;bottom:12px;transform:translateX(-50%);display:flex;gap:12px;align-items:center;padding:7px 10px;background:rgba(2,8,5,.78);border:1px solid rgba(85,255,155,.18);font-size:9px;color:#a9c6b5;white-space:nowrap}.controls-hint kbd{padding:2px 4px;border:1px solid rgba(85,255,155,.3);background:#08140e;color:#dffff0;border-radius:2px}
.loading-screen,.start-screen,.pause-screen{position:absolute;z-index:30;inset:0;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at center,rgba(11,40,25,.92),rgba(1,4,3,.98) 55%)}.loading-screen.hidden{opacity:0;pointer-events:none;transition:opacity .4s}.loader-ring{position:absolute;width:110px;height:110px;border-radius:50%;border:1px solid rgba(85,255,155,.16);border-top-color:var(--green);animation:spin 1.5s linear infinite;box-shadow:0 0 32px rgba(85,255,155,.09)}@keyframes spin{to{transform:rotate(360deg)}}.loading-brand{font-size:23px;letter-spacing:.2em}.loading-brand b{color:var(--green)}.loading-status{position:absolute;margin-top:165px;font-size:10px;letter-spacing:.1em;color:var(--muted);max-width:min(80vw,620px);text-align:center}.start-screen[hidden],.pause-screen[hidden]{display:none}.start-panel,.pause-panel{width:min(760px,calc(100vw - 32px));padding:28px;border:1px solid var(--line);background:rgba(4,12,8,.94);backdrop-filter:blur(18px);box-shadow:0 0 70px rgba(27,255,111,.08)}.start-panel h1{font-size:48px;line-height:.95;letter-spacing:.06em;margin:0;color:#fff}.start-panel .lead{color:#a8c6b4;margin:10px 0 22px;line-height:1.5}.mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mode-card{min-height:150px;text-align:left;border:1px solid rgba(85,255,155,.28);background:linear-gradient(145deg,rgba(10,35,21,.9),rgba(5,13,9,.9));color:#fff;padding:18px;transition:.18s}.mode-card:hover{border-color:var(--green);transform:translateY(-2px);box-shadow:0 0 25px rgba(85,255,155,.1)}.spaceship-start-card{grid-column:1/-1;min-height:104px;background:linear-gradient(145deg,rgba(8,34,42,.94),rgba(4,18,24,.94));border-color:rgba(108,236,255,.38)}.spaceship-start-card:hover{border-color:#6cecff;box-shadow:0 0 28px rgba(108,236,255,.12)}.mode-card strong,.mode-card small{display:block}.mode-card strong{font-size:18px;margin:9px 0 4px}.mode-card small{color:#9fbaa9}.mode-icon{font-size:32px}.start-facts{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.start-facts span{font-size:9px;color:#a4c6b1;border:1px solid rgba(85,255,155,.14);padding:5px 7px}.legal-mini{font-size:9px!important;color:#6f8f7b!important;margin-top:15px!important}.pause-screen{z-index:35;background:rgba(1,5,3,.78)}.pause-panel{width:min(430px,calc(100vw - 32px))}.pause-panel h2{font-size:32px;margin:0 0 8px}.pause-panel p{font-size:12px;line-height:1.5;color:var(--muted)}
.toast{position:absolute;z-index:40;left:50%;top:85px;transform:translateX(-50%) translateY(-8px);padding:9px 13px;border:1px solid var(--line);background:rgba(5,15,10,.94);font-size:10px;opacity:0;pointer-events:none;transition:.2s;max-width:min(90vw,620px);text-align:center}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.credits-bar{position:fixed;left:0;right:0;bottom:0;height:28px;z-index:50;display:flex;align-items:center;justify-content:center;gap:18px;background:#020503;border-top:1px solid rgba(85,255,155,.15);font-size:8px;color:#6f8d7a}.credits-bar a{color:#7bc89b}.touch-controls,.touch-look{display:none}
/* 0.7.1.8.69 · MOBILE CONTROL COPY GUARD SAFE
   Gameplay-Touchflaechen duerfen bei langem Druck keine Browser-Textauswahl,
   Kopiergriffe, Touch-Callouts oder Drag-Gesten ausloesen. Chat/Formulare bleiben selektierbar. */
.touch-controls,.touch-controls *,.touch-look,.mobile-menu-btn,.mobile-quick-actions button{
  -webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-user-drag:none;
}
.touch-controls button,.mobile-menu-btn,.mobile-quick-actions button{
  -webkit-tap-highlight-color:transparent;
}

/* 0.7.1.8.70 · MOBILE NATIVE LONGPRESS HARD GUARD SAFE
   Gehaltene Gameplay-Controls werden auch ausserhalb von (pointer:coarse) hart als
   Touch-Spieloberflaeche behandelt. Das deckt iPadOS mit angeschlossenem Trackpad ab,
   wenn Safari den Primaerpointer als fine meldet. */
#touch-controls [data-key],#touch-jump,#touch-climb,#touch-look{
  touch-action:none!important;
  -webkit-user-select:none!important;
  user-select:none!important;
  -webkit-touch-callout:none!important;
  -webkit-user-drag:none!important;
  -webkit-tap-highlight-color:transparent!important;
}

/* 0.7.1.8.70 · MOBILE NATIVE LONGPRESS HARD GUARD SAFE
   Auf groben Touch-Pointern ist die eigentliche Spieloberflaeche nicht selektierbar.
   Eingabefelder/Chat-Eingabe bleiben absichtlich textselektierbar. */
@media (pointer:coarse), (hover:none) {
  #game-shell,
  #game-shell button,
  #game-shell [role="button"],
  #game-shell .touch-controls,
  #game-shell .touch-controls *,
  #game-shell .touch-look,
  #game-shell .mobile-quick-actions,
  #game-shell .mobile-quick-actions * {
    -webkit-user-select:none!important;
    user-select:none!important;
    -webkit-touch-callout:none!important;
    -webkit-user-drag:none!important;
    -webkit-tap-highlight-color:transparent!important;
  }
  #game-shell input,
  #game-shell textarea,
  #game-shell [contenteditable="true"],
  #game-shell .chat-log,
  #game-shell .chat-log * {
    -webkit-user-select:text!important;
    user-select:text!important;
    -webkit-touch-callout:default!important;
  }
}





/* Spawn Guard: Das Ladebild bleibt während Mesh-/Boden-Preload sichtbar. */
.loading-detail{position:absolute;margin-top:205px;font-size:9px;letter-spacing:.08em;color:#709783;max-width:min(82vw,680px);text-align:center}
.loading-progress-track{position:absolute;margin-top:245px;width:min(360px,68vw);height:4px;border:1px solid rgba(85,255,155,.20);background:rgba(0,0,0,.35);overflow:hidden}
.loading-progress-track i{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--green2),var(--green));box-shadow:0 0 12px rgba(85,255,155,.45);transition:width .28s ease}



/* Mesh gateway 0.3.5.11: GPU-Compositing entlasten, sobald die FPS-Automatik greift. */
body.fps-low .topbar,
body.fps-low .telemetry,
body.fps-low .mission-card,
body.fps-low .multiplayer-panel,
body.fps-low .local-map-panel,
body.fps-low .controls-hint {
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}


/* 0.5.5.0 · World Repair Toolkit */
.artifact-editor-panel{position:absolute;z-index:24;left:258px;top:86px;width:360px;max-width:calc(100vw - 274px);max-height:calc(100vh - 128px);overflow:auto;border:1px solid rgba(85,255,155,.34);background:rgba(3,13,9,.96);box-shadow:0 18px 60px rgba(0,0,0,.44),0 0 30px rgba(85,255,155,.08);padding:12px;backdrop-filter:blur(12px);scrollbar-width:thin;scrollbar-color:var(--green) rgba(0,0,0,.28)}
.artifact-editor-panel[hidden]{display:none!important}.artifact-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border-bottom:1px solid rgba(85,255,155,.13);padding-bottom:9px;margin-bottom:10px}.artifact-panel-head .eyebrow{display:block;margin:0 0 3px}.artifact-panel-head strong{font-size:13px;letter-spacing:.04em}.artifact-icon-btn{width:32px;height:30px;padding:0;border:1px solid rgba(85,255,155,.25);background:rgba(4,20,12,.82);color:#dffff0;font-size:20px;line-height:1}
.artifact-risk{padding:7px 9px;margin-bottom:9px;border:1px solid rgba(255,200,75,.32);background:rgba(75,51,2,.22);color:var(--amber);font-size:10px;font-weight:800;letter-spacing:.08em}.artifact-risk.safe{border-color:rgba(85,255,155,.3);background:rgba(14,76,40,.22);color:var(--green)}.artifact-risk.high{border-color:rgba(255,82,82,.42);background:rgba(86,9,9,.26);color:#ff7777}
.artifact-preview-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 12px;font-size:9px}.artifact-preview-grid span,.artifact-preview-grid strong{padding:6px 0;border-bottom:1px solid rgba(85,255,155,.08)}.artifact-preview-grid span{color:var(--muted)}.artifact-preview-grid strong{text-align:right;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.artifact-editor-panel p{font-size:10px;line-height:1.42;color:#a9c6b5;margin:10px 0}
.artifact-move-title{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:10px 0 7px;color:#dfffea;font-size:9px;font-weight:800;letter-spacing:.06em}.artifact-move-title span{color:var(--muted);font-size:8px;font-weight:500;letter-spacing:0}.artifact-move-title strong{color:var(--green)}
.artifact-move-pad{display:grid;grid-template-columns:1fr 1.35fr 1fr;gap:6px;align-items:stretch}.artifact-move-pad span{min-height:1px}.artifact-move-pad button,.artifact-height-row button{border:1px solid rgba(85,255,155,.24);background:rgba(8,29,17,.92);color:#eafff1;padding:9px 6px;font-size:8px;font-weight:800;letter-spacing:.04em;min-height:36px}.artifact-move-pad button.secondary{background:rgba(4,11,8,.84);color:#b9d7c5}.artifact-height-row{display:flex;gap:6px;margin-top:6px}.artifact-height-row button{flex:1}.artifact-key-help{margin:7px 0 0!important;font-size:8px!important;color:#789985!important}
.artifact-size-row,.artifact-action-row,.artifact-manager-actions{display:flex;gap:7px}.artifact-size-row button,.artifact-action-row button,.artifact-manager-actions button{flex:1;border:1px solid rgba(85,255,155,.25);background:rgba(8,29,17,.9);color:#eafff1;padding:9px 8px;font-size:9px;font-weight:800;letter-spacing:.05em}.artifact-action-row{margin-top:8px}.artifact-action-row .secondary,.artifact-manager-actions .secondary{background:rgba(4,11,8,.84);color:#b9d7c5}.artifact-action-row button:disabled{opacity:.38;cursor:not-allowed}.danger-outline{border-color:rgba(255,82,82,.34)!important;color:#ff9a9a!important}
.artifact-manager-panel{left:auto;right:16px;top:310px;width:390px;max-width:calc(100vw - 32px)}.artifact-manager-help{margin-top:0!important}.artifact-cut-list{display:flex;flex-direction:column;gap:7px;max-height:330px;overflow:auto;padding-right:3px;scrollbar-width:thin;scrollbar-color:var(--green) rgba(0,0,0,.28)}.artifact-cut-empty{border:1px dashed rgba(85,255,155,.18);padding:12px;color:var(--muted);font-size:10px;text-align:center}.artifact-cut-item{border:1px solid rgba(85,255,155,.14);background:rgba(0,0,0,.2);padding:8px}.artifact-cut-item.inactive{opacity:.64}.artifact-cut-top{display:flex;justify-content:space-between;gap:8px;font-size:9px;margin-bottom:6px}.artifact-cut-top strong{color:#eafff1}.artifact-cut-top span{color:var(--muted)}.artifact-cut-meta{font-size:9px;color:#94b5a1;line-height:1.35;margin-bottom:7px}.artifact-cut-buttons{display:flex;gap:6px}.artifact-cut-buttons button{flex:1;border:1px solid rgba(85,255,155,.2);background:rgba(6,22,14,.88);color:#dfffea;padding:7px 6px;font-size:8px;font-weight:800}.artifact-cut-buttons button.restore{border-color:rgba(85,255,155,.35);color:var(--green)}.artifact-cut-buttons button.reapply{border-color:rgba(255,200,75,.3);color:var(--amber)}.artifact-manager-actions{margin-top:9px;flex-direction:column}
body.artifact-pick-mode #cesiumContainer{cursor:crosshair}.wide-btn.active{border-color:var(--green)!important;box-shadow:0 0 18px rgba(85,255,155,.12)!important;color:var(--green)!important}



/* 0.5.5.0 · WORLD REPAIR TOOLKIT */
.world-repair-panel{left:258px;top:86px;width:420px;max-width:calc(100vw - 274px)}
.world-tool-tabs,.world-tool-safety,.world-tool-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-bottom:8px}
.world-tool-safety{grid-template-columns:1fr 1fr}.world-tool-actions{grid-template-columns:1fr 1fr 1fr}
.world-tool-tabs button,.world-tool-safety button,.world-tool-actions button,.artifact-shape-row button{border:1px solid rgba(85,255,155,.22);background:rgba(5,24,14,.9);color:#dfffea;padding:8px 6px;font-size:8px;font-weight:800;letter-spacing:.04em;min-height:34px}
.world-tool-tabs button.active,.world-tool-safety button.active,.artifact-shape-row button.active{border-color:var(--green);color:var(--green);box-shadow:0 0 18px rgba(85,255,155,.12)}
.world-inspector-card{border:1px solid rgba(85,255,155,.14);background:rgba(0,0,0,.16);padding:8px;margin:8px 0}.world-inspector-card .artifact-risk{margin-bottom:6px}
.world-history-head{display:flex;align-items:center;justify-content:space-between;margin:10px 0 6px;color:#dfffea;font-size:9px;letter-spacing:.07em}.world-history-head span{color:var(--green)}
.world-history-list{display:flex;flex-direction:column;gap:5px;max-height:145px;overflow:auto;padding-right:2px;margin-bottom:7px;scrollbar-width:thin;scrollbar-color:var(--green) rgba(0,0,0,.28)}
.world-history-item{display:flex;justify-content:space-between;gap:8px;border-left:2px solid rgba(85,255,155,.35);background:rgba(0,0,0,.18);padding:6px 7px;font-size:8px;color:#9fbdab}.world-history-item strong{color:#eafff1;font-weight:700}.world-history-item.checkpoint{border-left-color:#66ddff}.world-history-item.restore{border-left-color:#7bbcff}.world-history-item.cut{border-left-color:#ff8b6b}
.artifact-shape-row{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:6px}.artifact-target-row{margin-top:6px}.artifact-target-row button:first-child{border-color:rgba(102,221,255,.35);color:#a9edff}
body.world-tool-inspect #cesiumContainer{cursor:help}body.world-tool-restore #cesiumContainer{cursor:cell}body.world-tool-material #cesiumContainer{cursor:copy}



/* 0.5.5.1 · HUD HUB + BODEN-ZAUBERSTAB */
.hud-hub{padding:10px;width:250px;display:flex;flex-direction:column;gap:7px;overflow:auto}
.telemetry-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-bottom:7px;border-bottom:1px solid rgba(85,255,155,.14)}
.telemetry-head .eyebrow{margin:0 0 2px}.telemetry-head strong{font-size:10px;letter-spacing:.08em;color:#eafff1}
.telemetry-collapse{flex:0 0 34px;width:34px;height:32px;border:1px solid rgba(85,255,155,.28);background:rgba(3,16,10,.92);color:var(--green);font-size:20px;line-height:1;cursor:pointer}
.telemetry-core{border:1px solid rgba(85,255,155,.11);background:rgba(0,0,0,.12);padding:0 7px}
.hud-section{border:1px solid rgba(85,255,155,.14);background:rgba(0,0,0,.12)}
.hud-section>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:38px;padding:8px 9px;cursor:pointer;color:#dffff0;font-size:9px;font-weight:800;letter-spacing:.055em;user-select:none}
.hud-section>summary::-webkit-details-marker{display:none}.hud-section>summary:before{content:'+';color:var(--green);font-size:13px;width:12px}.hud-section[open]>summary:before{content:'−'}
.hud-section>summary span{flex:1}.hud-section>summary b{max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:8px;font-weight:700;text-align:right}
.hud-section[open]>summary{border-bottom:1px solid rgba(85,255,155,.10);background:rgba(85,255,155,.025)}
.hud-section-body{padding:6px 7px 7px}.hud-actions{display:grid;gap:6px}.hud-actions .wide-btn{margin:0;min-height:38px}
.hud-section .telemetry-row{padding:6px 0}.compact-status{margin:0 2px 1px;padding:5px 0!important}
.telemetry.collapsed{width:54px;padding:8px;overflow:visible}.telemetry.collapsed .telemetry-head>div,.telemetry.collapsed .telemetry-core,.telemetry.collapsed .hud-section{display:none}.telemetry.collapsed .telemetry-head{border:0;padding:0}.telemetry.collapsed .telemetry-collapse{width:36px;flex-basis:36px}
.telemetry.collapsed+.artifact-editor-panel{left:76px}

.ground-wand-panel{left:278px;top:86px;width:390px;max-width:calc(100vw - 296px)}
.ground-wand-modes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:8px 0}
.ground-wand-modes button{border:1px solid rgba(85,255,155,.22);background:rgba(5,24,14,.9);color:#dfffea;padding:8px 5px;font-size:8px;font-weight:800;min-height:36px}
.ground-wand-modes button.active{border-color:var(--green);color:var(--green);box-shadow:0 0 18px rgba(85,255,155,.12)}
#btn-ground-apply:disabled{opacity:.38;cursor:not-allowed}
body.ground-wand-active #cesiumContainer{cursor:crosshair}





/* 0.5.5.3 · einklappbare Sicht-Panels + Boden-Zauberstab PRO */
.panel-collapse-btn{cursor:pointer;display:inline-grid;place-items:center;border:1px solid rgba(85,255,155,.28);background:rgba(3,16,10,.92);color:var(--green);font-weight:900}
.multiplayer-head-actions{display:flex;align-items:center;gap:6px;min-width:0}.multiplayer-collapse{width:30px;height:30px;flex:0 0 30px;font-size:14px;border-radius:3px}
.multiplayer-panel.collapsed{width:132px;padding:7px 8px}.multiplayer-panel.collapsed .multiplayer-body,.multiplayer-panel.collapsed .multiplayer-head-actions input{display:none}.multiplayer-panel.collapsed .multiplayer-head{margin:0}.multiplayer-panel.collapsed .multiplayer-head-actions{margin-left:auto}.multiplayer-panel.collapsed .multiplayer-collapse{display:grid}
.multiplayer-roster{display:grid;gap:4px;margin:0 0 7px;padding:5px;border:1px solid rgba(85,255,155,.10);background:rgba(0,0,0,.18);max-height:86px;overflow:auto}.multiplayer-roster div{display:flex;align-items:center;justify-content:space-between;gap:7px;min-height:22px;padding:3px 5px;border:1px solid rgba(85,255,155,.08);background:rgba(5,18,12,.46);font-size:8px;color:#9ec7b0}.multiplayer-roster div.own{border-color:rgba(85,255,155,.23);color:#eafff1}.multiplayer-roster strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#eafff1}.multiplayer-roster span{flex:0 0 auto;color:var(--green);font-weight:900;letter-spacing:.08em}.multiplayer-roster .more{justify-content:center;color:var(--muted);font-weight:900}
.multiplayer-panel.has-unread{border-color:rgba(255,216,106,.72);box-shadow:0 0 24px rgba(255,216,106,.12),0 0 30px rgba(0,0,0,.28)}
.multiplayer-panel.has-unread .multiplayer-head:before{content:'i';display:grid;place-items:center;width:17px;height:17px;flex:0 0 17px;border-radius:50%;border:1px solid rgba(255,216,106,.78);background:rgba(255,216,106,.14);color:#ffe49a;font-size:11px;font-weight:900;line-height:1}
#touch-chat{position:relative}
#touch-chat.has-unread{border-color:rgba(255,216,106,.84)!important;color:#fff1b5!important;box-shadow:0 0 18px rgba(255,216,106,.16)}
#touch-chat.has-unread:after{content:'i';position:absolute;right:4px;top:4px;display:grid;place-items:center;width:16px;height:16px;border-radius:50%;border:1px solid rgba(255,216,106,.9);background:rgba(6,13,8,.96);color:#ffe49a;font-size:10px;font-weight:900;line-height:1}
.so-phone-overlay{position:absolute;z-index:82;inset:0;display:grid;place-items:center;background:rgba(0,7,4,.34);backdrop-filter:blur(3px)}
.so-phone-overlay[hidden]{display:none!important}
.so-phone-device{width:min(360px,calc(100vw - 32px));max-height:min(650px,calc(100vh - 58px));overflow:auto;border:1px solid rgba(85,255,155,.34);border-radius:8px;background:linear-gradient(160deg,rgba(2,10,7,.98),rgba(6,25,16,.98) 58%,rgba(3,11,8,.98));box-shadow:0 22px 70px rgba(0,0,0,.62),0 0 34px rgba(20,255,120,.10);padding:12px}
.so-phone-top{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:4px 2px 9px;border-bottom:1px solid rgba(85,255,155,.14)}
.so-phone-top strong{display:block;font-size:15px;letter-spacing:.06em}.so-phone-top .eyebrow{margin:0 0 3px;color:#18d889}
.so-phone-brand{margin:10px 0 8px;font-size:24px;font-weight:900;letter-spacing:.015em;color:#f5fff8;text-shadow:0 0 18px rgba(85,255,155,.18)}
.so-phone-status{display:flex;justify-content:space-between;gap:8px;margin:0 0 10px;padding:7px 8px;border:1px solid rgba(85,255,155,.16);background:rgba(0,0,0,.22);font-size:9px;font-weight:850;letter-spacing:.08em;color:#b7d9c5}
.so-phone-weather{margin:0 0 9px;padding:7px 8px;border:1px solid rgba(99,219,255,.20);background:linear-gradient(90deg,rgba(20,75,92,.28),rgba(0,0,0,.18));color:#c7f3ff;font-size:9px;font-weight:850;letter-spacing:.055em}
.so-phone-status span:first-child{color:var(--green)}.so-phone-apps{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.so-phone-apps button{min-height:72px;text-align:left;border:1px solid rgba(85,255,155,.22);border-radius:6px;background:linear-gradient(145deg,rgba(8,35,21,.94),rgba(3,14,10,.94));color:#eafff2;padding:9px;box-shadow:inset 0 1px 0 rgba(255,255,255,.035)}
.so-phone-apps button:hover{border-color:var(--green);box-shadow:0 0 18px rgba(85,255,155,.10),inset 0 1px 0 rgba(255,255,255,.05)}
.so-phone-apps strong{display:block;margin-bottom:5px;font-size:11px;letter-spacing:.08em}.so-phone-apps span{display:block;color:#8fb39e;font-size:9px;line-height:1.25}
.so-phone-note{margin-top:10px;padding:8px;border-left:2px solid rgba(85,255,155,.45);background:rgba(0,0,0,.20);font-size:9px;line-height:1.35;color:#9fc4ae}
body.so-phone-open .touch-controls,body.so-phone-open .touch-look{pointer-events:none!important;opacity:.16}
.property-panel{position:absolute;z-index:84;left:50%;bottom:64px;transform:translateX(-50%);width:min(430px,calc(100vw - 28px));max-height:min(520px,calc(100vh - 110px));overflow:auto;border:1px solid rgba(85,255,155,.34);border-radius:8px;background:linear-gradient(150deg,rgba(3,13,9,.97),rgba(7,26,16,.97));box-shadow:0 22px 68px rgba(0,0,0,.58),0 0 30px rgba(85,255,155,.10);padding:12px;color:#eafff1}.property-panel[hidden]{display:none!important}.property-panel-head{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:start;padding-bottom:9px;border-bottom:1px solid rgba(85,255,155,.15)}.property-panel-head strong{display:block;font-size:15px;letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.property-panel-head small{display:block;margin-top:3px;color:#9eb9a8;font-size:9px}.property-kind{align-self:center;padding:6px 8px;border:1px solid rgba(255,216,106,.34);background:rgba(255,216,106,.07);color:#ffe29a;font-size:8px;font-weight:900;letter-spacing:.08em;white-space:nowrap}.property-price{margin:10px 0 6px;padding:8px;border:1px solid rgba(85,255,155,.14);background:rgba(0,0,0,.18);font-size:10px;font-weight:850;color:#dfffee}.property-hint{margin:0 0 10px;color:#9fc1ad;font-size:10px;line-height:1.4}.property-actions{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:7px;margin:8px 0 12px}.property-actions button,.property-interior-actions button{min-height:39px;border:1px solid rgba(85,255,155,.28);border-radius:6px;background:rgba(6,30,18,.94);color:#eafff1;font-size:9px;font-weight:900;letter-spacing:.06em}.property-actions button:hover,.property-interior-actions button:hover{border-color:var(--green);box-shadow:0 0 16px rgba(85,255,155,.11)}.property-actions button:disabled{opacity:.35;cursor:not-allowed}.property-customize{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:8px}.property-customize span{display:block;margin-bottom:6px;color:#8eac99;font-size:8px;font-weight:900;letter-spacing:.12em}.property-swatches{display:grid;grid-template-columns:repeat(3,26px);gap:6px}.property-swatch{width:26px;height:26px;border:1px solid rgba(255,255,255,.22);border-radius:50%;background:var(--property-color);box-shadow:inset 0 0 0 2px rgba(0,0,0,.20)}.property-swatch.active{outline:2px solid #55ff9b;outline-offset:2px}.property-swatch:disabled{opacity:.48;cursor:not-allowed}.property-note{display:block;margin-top:10px;color:#839f8e;font-size:8px;line-height:1.35}.property-interior-overlay{position:absolute;z-index:86;inset:0;display:grid;place-items:center;background:radial-gradient(circle at 60% 20%,rgba(85,255,155,.10),transparent 28rem),rgba(0,8,5,.70);backdrop-filter:blur(7px)}.property-interior-overlay[hidden]{display:none!important}.property-interior-shell{width:min(760px,calc(100vw - 34px));max-height:min(680px,calc(100vh - 60px));overflow:auto;border:1px solid rgba(85,255,155,.34);border-radius:8px;background:linear-gradient(180deg,rgba(11,31,21,.98),rgba(4,12,8,.98));box-shadow:0 26px 80px rgba(0,0,0,.62);padding:14px}.property-interior-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:1px solid rgba(85,255,155,.16)}.property-interior-head strong{display:block;font-size:18px;letter-spacing:.04em}.property-interior-head small{display:block;margin-top:3px;color:#9eb9a8;font-size:10px}.property-window{min-height:116px;margin:12px 0;padding:13px;border:1px solid rgba(114,210,255,.28);border-radius:7px;background:linear-gradient(180deg,rgba(108,184,221,.42),rgba(142,209,238,.17) 56%,rgba(30,65,48,.34));display:grid;align-content:end;box-shadow:inset 0 0 0 3px rgba(255,255,255,.035)}.property-window span{font-size:8px;font-weight:900;letter-spacing:.13em;color:#c8efff}.property-window strong{font-size:15px;color:#f5fff8;text-shadow:0 1px 10px rgba(0,0,0,.45)}.property-room-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:minmax(92px,1fr);gap:8px}.property-room-cell{display:grid;align-content:end;text-align:left;border:1px solid rgba(85,255,155,.18);border-radius:6px;background:linear-gradient(145deg,rgba(30,56,38,.92),rgba(8,25,16,.94));color:#eafff1;padding:10px}.property-room-cell strong{font-size:12px}.property-room-cell span{margin-top:4px;color:#96b5a4;font-size:8px;font-weight:800;letter-spacing:.04em}.property-room-cell.active{border-color:rgba(255,216,106,.58);box-shadow:inset 0 0 36px rgba(255,216,106,.08)}.property-room-cell.furniture-preview{border-color:rgba(99,219,255,.42);background:linear-gradient(145deg,rgba(25,68,74,.92),rgba(8,25,20,.94))}.property-interior-actions{display:grid;grid-template-columns:1fr 1.25fr 1fr;gap:8px;margin-top:12px}.property-interior-overlay.lights-off .property-interior-shell{background:linear-gradient(180deg,rgba(5,12,9,.98),rgba(2,6,4,.98))}.property-interior-overlay.lights-off .property-room-cell{filter:brightness(.62)}body.property-panel-open .touch-controls,body.property-panel-open .touch-look,body.property-interior-mode .touch-controls,body.property-interior-mode .touch-look{pointer-events:none!important;opacity:.16}
.so-phone-property-alert{width:100%;min-height:34px;margin:0 0 9px;border:1px solid rgba(255,216,106,.56);border-radius:6px;background:rgba(255,216,106,.10);color:#ffe49a;font-size:9px;font-weight:900;letter-spacing:.08em;text-align:left;padding:8px 9px}.so-phone-property-alert[hidden]{display:none!important}.so-phone-property-hub{margin:0 0 10px;border:1px solid rgba(85,255,155,.18);border-radius:7px;background:rgba(0,0,0,.20);padding:8px}.so-phone-property-hub[hidden]{display:none!important}.so-phone-property-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px}.so-phone-property-head strong{font-size:12px;letter-spacing:.08em}.so-phone-property-wallet{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 8px;padding:7px;border:1px solid rgba(255,216,106,.22);border-radius:6px;background:rgba(255,216,106,.06)}.so-phone-property-wallet span{color:#9eb9a8;font-size:8px;font-weight:900;letter-spacing:.12em}.so-phone-property-wallet strong{color:#ffe49a;font-size:10px;white-space:nowrap}.so-phone-property-head button,.so-phone-property-row button,.property-owner-access button,.property-guest-access button,.property-doorbell-row button{border:1px solid rgba(85,255,155,.26);border-radius:5px;background:rgba(6,30,18,.94);color:#eafff1;font-size:8px;font-weight:900;letter-spacing:.06em;min-height:30px;padding:6px 7px}.so-phone-property-block>span,.property-access-head span{display:block;margin:7px 0 5px;color:#8eac99;font-size:8px;font-weight:900;letter-spacing:.12em}.so-phone-property-list{display:grid;gap:5px}.so-phone-property-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:5px;align-items:center;border:1px solid rgba(85,255,155,.12);background:rgba(3,17,10,.62);border-radius:6px;padding:6px}.so-phone-property-row.notice{border-color:rgba(255,216,106,.22)}.so-phone-property-row.invite{border-color:rgba(99,219,255,.24)}.so-phone-property-row strong{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px;color:#f2fff7}.so-phone-property-row span,.so-phone-empty{display:block;color:#95b8a4;font-size:8px;line-height:1.3}.property-access{margin:0 0 12px;padding:9px;border:1px solid rgba(85,255,155,.16);border-radius:7px;background:rgba(0,0,0,.18)}.property-access[hidden],.property-owner-access[hidden],.property-guest-access[hidden]{display:none!important}.property-access-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px}.property-access-head span{margin:0}.property-access-head strong{font-size:9px;color:#ffe49a;letter-spacing:.06em}.property-owner-access{display:grid;grid-template-columns:1fr auto auto;gap:6px}.property-owner-access select{min-width:0;border:1px solid rgba(85,255,155,.24);border-radius:5px;background:#06140d;color:#eafff1;font-size:9px;font-weight:850;padding:6px}.property-guest-access{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:center}.property-guest-access small{color:#9fc1ad;font-size:8px;line-height:1.3}.property-doorbell-list{display:grid;gap:5px;margin-top:7px}.property-doorbell-list>span{color:#7f9a89;font-size:8px}.property-doorbell-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto auto;gap:5px;align-items:center;padding:5px;border:1px solid rgba(255,216,106,.16);border-radius:5px;background:rgba(255,216,106,.06)}.property-doorbell-row strong{font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.property-doorbell-row span{color:#9fc1ad;font-size:8px}
.artifact-panel-actions{display:flex;align-items:center;gap:6px}.ground-wand-panel.collapsed{width:265px;max-width:calc(100vw - 290px);max-height:none;overflow:hidden;padding-bottom:10px}.ground-wand-panel.collapsed .ground-wand-body{display:none}.ground-wand-panel.collapsed .artifact-panel-head{margin:0;padding:0;border-bottom:0;align-items:center}
.ground-wand-quickbar{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:7px 0}.ground-wand-quickbar button,.ground-wand-presets button{border:1px solid rgba(85,255,155,.24);background:rgba(5,24,14,.9);color:#dfffea;padding:8px 6px;font-size:8px;font-weight:800;min-height:36px}.ground-wand-quickbar button.active{border-color:var(--green);color:var(--green);box-shadow:0 0 16px rgba(85,255,155,.12)}
.ground-wand-presets{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:7px 0}.ground-wand-presets button:hover,.ground-wand-quickbar button:hover{border-color:var(--green)}
.ground-wand-slider{display:grid;grid-template-columns:95px 1fr;align-items:center;gap:8px;padding:6px 0;font-size:8px;font-weight:800;letter-spacing:.05em;color:var(--muted)}.ground-wand-slider input{width:100%;accent-color:#55ff9b;cursor:pointer}
.telemetry.collapsed .telemetry-collapse{font-size:9px;font-weight:900;letter-spacing:.04em}


/* 0.5.5.3 · Boden-Zauberstab: sichtbares Knoten-/Liniennetz */
.ground-grid-legend{display:flex;align-items:center;justify-content:center;gap:5px;min-height:36px;border:1px solid rgba(85,255,155,.18);background:rgba(5,18,12,.78);color:#b9c9bf;font-size:7px;font-weight:800;letter-spacing:.04em;padding:6px;box-sizing:border-box;white-space:nowrap}
.ground-grid-legend .g{display:inline-block;width:7px;height:7px;border-radius:50%;box-shadow:0 0 8px currentColor}
.ground-grid-legend .green{background:#55ff9b;color:#55ff9b}.ground-grid-legend .orange{background:#ff9e2f;color:#ff9e2f}.ground-grid-legend .blue{background:#57b8ff;color:#57b8ff}
#btn-ground-grid.active{border-color:#ffe63a;color:#ffe63a;box-shadow:0 0 16px rgba(255,230,58,.13)}


/* 0.5.5.4 · Ground Sculpt sichtbar anwenden */
.ground-apply-primary{display:grid;gap:5px;margin:7px 0;padding:7px;border:1px solid rgba(85,255,155,.30);background:rgba(4,25,14,.92);position:sticky;top:0;z-index:4}
.ground-apply-primary span{font-size:7px;letter-spacing:.07em;color:#9fb7a8;font-weight:800}
.ground-apply-primary button{min-height:42px;border:1px solid rgba(85,255,155,.65);background:rgba(7,45,23,.96);color:#55ff9b;font-weight:900;letter-spacing:.04em}
.ground-apply-primary button:disabled{opacity:.35;cursor:not-allowed}


/* 0.5.5.5 · PLAY / WORLD BUILDER Steuerung ohne ESC-Zwang */
.control-mode-switch{display:flex;gap:3px;padding:2px;border:1px solid rgba(85,255,155,.18);background:rgba(0,0,0,.18);border-radius:4px}
.control-mode-switch .control-mode-btn{padding:7px 9px;border-color:transparent;background:transparent;color:#9db5a6}
.control-mode-switch .control-mode-btn.active{border-color:rgba(85,255,155,.55);background:rgba(85,255,155,.10);color:var(--green);box-shadow:0 0 14px rgba(85,255,155,.10)}
body.world-builder-mode .control-mode-switch #btn-control-builder{border-color:rgba(255,200,90,.72);background:rgba(255,200,90,.10);color:#ffe39b;box-shadow:0 0 14px rgba(255,200,90,.12)}
body.world-builder-mode .control-mode-switch #btn-control-play{border-color:transparent;background:transparent;color:#8da294;box-shadow:none}
.controls-hint>div{display:flex;gap:12px;align-items:center}
.controls-hint-builder{display:none!important}
body.world-builder-mode .controls-hint-play{display:none!important}
body.world-builder-mode .controls-hint-builder{display:flex!important}
body.world-builder-mode #cesiumContainer{cursor:default}
body.world-builder-mode.ground-wand-active #cesiumContainer{cursor:crosshair}
body.world-builder-mode.artifact-pick-mode #cesiumContainer{cursor:crosshair}
body.world-builder-mode.builder-look-active #cesiumContainer{cursor:grabbing!important}
body.world-builder-mode .crosshair{opacity:.92}
body.world-builder-mode .brand-dot{background:var(--amber);box-shadow:0 0 12px var(--amber)}



/* 0.5.5.6 · MOBILE GAME UI + Sculpt-Falloff */
:root{--so3d-vh:100dvh;--so3d-safe-bottom:env(safe-area-inset-bottom,0px);--so3d-safe-top:env(safe-area-inset-top,0px);--so3d-viewmodel-ui-mask:58px}
.mobile-menu-btn,.mobile-quick-actions{display:none}
.topbar-online-indicator{flex:0 0 auto;min-width:46px;height:32px;padding:0 9px;border:1px solid rgba(85,255,155,.30);border-radius:999px;background:rgba(5,24,15,.88);color:#cffff0;font:900 10px/1 system-ui;letter-spacing:.04em;cursor:pointer;white-space:nowrap}.topbar-online-indicator:hover,.topbar-online-indicator.active{border-color:#55ff9b;color:#55ff9b;box-shadow:0 0 15px rgba(85,255,155,.14)}.topbar-online-indicator.offline{border-color:rgba(255,117,117,.42);color:#ffb4b4}
.ground-wand-falloff{display:grid;grid-template-columns:86px 1fr;gap:8px;align-items:center;margin:7px 0;padding:7px;border:1px solid rgba(85,255,155,.16);background:rgba(0,0,0,.13)}
.ground-wand-falloff>span{font-size:8px;font-weight:800;letter-spacing:.06em;color:var(--muted)}
.ground-wand-falloff>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
.ground-wand-falloff button{min-height:34px;border:1px solid rgba(85,255,155,.20);background:rgba(5,24,14,.9);color:#bad0c2;font-size:7px;font-weight:850;letter-spacing:.03em;padding:6px 4px}
.ground-wand-falloff button.active{border-color:#55ff9b;color:#55ff9b;background:rgba(85,255,155,.08);box-shadow:0 0 14px rgba(85,255,155,.10)}





/* Basis bis 0.5.6.1 · gemeinsame Komponenten, keine Geräte-Breakpoints. */


/* 0.5.6.1 · Bus / Road Healer HUD */
.hud-inline-note{margin:2px 0 0;font-size:.72rem;line-height:1.35;opacity:.76}
[data-hud-section="bus"] .compact-status strong{font-variant-numeric:tabular-nums}

.ground-tool-switch{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:7px 0}.ground-tool-switch button{min-height:38px;border:1px solid rgba(85,255,155,.22);background:rgba(5,24,14,.92);color:#dfffea;font-size:8px;font-weight:850;letter-spacing:.03em;padding:7px 5px}.ground-tool-switch button.active{border-color:var(--green);color:var(--green);background:rgba(85,255,155,.08);box-shadow:0 0 16px rgba(85,255,155,.12)}.ground-tool-meta{margin-bottom:6px}.ground-wand-panel.hammer-mode .ground-wand-modes button:not(#btn-ground-mode-smooth){opacity:.42;pointer-events:none}.ground-wand-panel.hammer-mode .ground-wand-falloff{opacity:.72}.ground-wand-panel.hammer-mode #btn-ground-preset-fine,.ground-wand-panel.hammer-mode #btn-ground-preset-plaza{opacity:1}

/* 0.5.6.4 · Präzisions-Hammer: Intensität und Auswahl sofort erkennbar */
.ground-wand-panel.hammer-mode #ground-wand-strength{color:#6dffef;text-shadow:0 0 10px rgba(109,255,239,.55)}
.ground-wand-panel.hammer-mode #ground-wand-area{color:#fff3a6}
.ground-wand-panel.hammer-mode #btn-ground-apply{box-shadow:0 0 18px rgba(109,255,239,.14)}

/* 0.5.6.8 · UX / ACCESSIBILITY PASS */
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--green);outline-offset:2px}
.telemetry,.artifact-editor-panel,.chat-log,.artifact-cut-list,.world-history-list{scrollbar-width:auto;scrollbar-color:var(--green) rgba(0,0,0,.28)}
.telemetry::-webkit-scrollbar,.artifact-editor-panel::-webkit-scrollbar,.chat-log::-webkit-scrollbar,.artifact-cut-list::-webkit-scrollbar,.world-history-list::-webkit-scrollbar{width:12px;height:12px}
.telemetry::-webkit-scrollbar-thumb,.artifact-editor-panel::-webkit-scrollbar-thumb,.chat-log::-webkit-scrollbar-thumb,.artifact-cut-list::-webkit-scrollbar-thumb,.world-history-list::-webkit-scrollbar-thumb{background:#31d978;border:2px solid #07100c;border-radius:9px}
.telemetry::-webkit-scrollbar-track,.artifact-editor-panel::-webkit-scrollbar-track,.chat-log::-webkit-scrollbar-track,.artifact-cut-list::-webkit-scrollbar-track,.world-history-list::-webkit-scrollbar-track{background:rgba(0,0,0,.30)}
.start-tech-details{margin-top:10px;border:1px solid rgba(85,255,155,.16);background:rgba(0,0,0,.14)}
.start-tech-details>summary{cursor:pointer;list-style:none;padding:9px 10px;color:#9fc9b1;font-size:9px;font-weight:800;letter-spacing:.07em}
.start-tech-details>summary::-webkit-details-marker{display:none}.start-tech-details>summary:before{content:'＋';color:var(--green);margin-right:7px}.start-tech-details[open]>summary:before{content:'−'}
.start-tech-details .start-facts{margin:0;padding:0 10px 10px}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.mode-card:hover{transform:none}}
/* 0.5.6.8 · Hammer zeigt nur Bedienelemente, die tatsächlich Wirkung haben. */
.ground-wand-panel.hammer-mode .ground-wand-modes,.ground-wand-panel.hammer-mode .ground-wand-falloff{display:none}

/* 0.5.6.8 · ADMIN OVERLAY · Same-Origin, serverseitig weiter durch SO-Portal-Adminsession geschützt */
.admin-control-overlay{position:fixed;inset:0;z-index:130;display:grid;place-items:center;padding:18px;background:rgba(0,5,3,.72);backdrop-filter:blur(8px)}
.admin-control-overlay[hidden]{display:none!important}.admin-control-shell{width:min(1180px,calc(100vw - 36px));height:min(820px,calc(100dvh - 36px));min-height:360px;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;border:1px solid rgba(85,255,155,.42);background:#06100c;box-shadow:0 22px 70px rgba(0,0,0,.62),0 0 34px rgba(85,255,155,.08);overflow:hidden}.public-bus-map-shell{grid-template-rows:auto minmax(0,1fr) auto}.public-bus-map-overlay{z-index:132}
.admin-control-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-bottom:1px solid rgba(85,255,155,.16);background:linear-gradient(90deg,rgba(8,27,18,.98),rgba(4,12,9,.98))}.admin-control-head strong{display:block;font-size:14px;letter-spacing:.06em}.admin-control-head-actions{display:flex;gap:7px}.admin-control-head-actions .artifact-icon-btn{min-width:38px;min-height:36px}
.admin-control-tabs{display:flex;gap:6px;padding:7px 9px;border-bottom:1px solid rgba(85,255,155,.13);overflow-x:auto;background:#07130e;scrollbar-width:thin;scrollbar-color:var(--green) rgba(0,0,0,.24)}.admin-control-tabs button{flex:0 0 auto;min-height:38px;padding:7px 11px;border:1px solid rgba(85,255,155,.20);background:rgba(5,20,13,.90);color:#cdeedd;font-size:10px;font-weight:800;letter-spacing:.035em}.admin-control-tabs button.active{border-color:var(--green);color:#fff;background:rgba(28,105,65,.30);box-shadow:inset 0 0 0 1px rgba(85,255,155,.10)}
.admin-control-frame-wrap{min-width:0;min-height:0;background:#050a08}.admin-control-frame-wrap iframe{display:block;width:100%;height:100%;border:0;background:#050a08}.admin-control-foot{display:flex;justify-content:space-between;gap:10px;padding:6px 10px;border-top:1px solid rgba(85,255,155,.13);background:#07130e;color:var(--muted);font-size:9px;letter-spacing:.04em}.admin-inline-note{margin-top:1px!important}
body.admin-overlay-open .touch-controls,body.admin-overlay-open .touch-look{pointer-events:none!important}

/* 0.5.7.1 · Stadtbus Fahrgast-Interaktion */
.bus-interaction-prompt{position:absolute;z-index:34;left:50%;bottom:54px;transform:translateX(-50%);padding:9px 14px;border:1px solid rgba(85,255,155,.58);background:rgba(3,14,9,.92);color:#dffff0;font-size:10px;font-weight:800;letter-spacing:.04em;border-radius:5px;pointer-events:none;white-space:nowrap;backdrop-filter:blur(5px)}
.bus-interaction-prompt[hidden]{display:none!important}
.touch-bus-interact[hidden],.touch-spaceship-interact[hidden]{display:none!important}
body.touch-actions-collapsed .touch-actions{display:none!important}

/* 0.7.0 · Sitzmodus */
body.player-seated .crosshair{opacity:.72}
body.player-seated .bus-interaction-prompt{border-color:rgba(255,220,130,.64);background:rgba(28,21,8,.92);color:#fff1c2}


/* 0.7.0.6 · BUS PASSENGER INFO / HALTESTELLENTAFEL */
.stop-departure-board{position:absolute;z-index:42;left:50%;bottom:92px;transform:translateX(-50%);width:min(720px,calc(100vw - 32px));border:1px solid rgba(85,255,155,.54);background:rgba(2,11,7,.97);box-shadow:0 20px 65px rgba(0,0,0,.62),0 0 32px rgba(85,255,155,.09);backdrop-filter:blur(12px);padding:12px}
.stop-departure-board[hidden]{display:none!important}.stop-board-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:9px;border-bottom:1px solid rgba(85,255,155,.16)}.stop-board-head strong{display:block;color:#fff;font-size:17px;letter-spacing:.055em}.stop-board-head small{display:block;color:var(--muted);font-size:9px;margin-top:3px}.stop-board-head button{width:34px;height:32px;border:1px solid rgba(85,255,155,.25);background:rgba(4,18,12,.9);color:var(--green);font-size:21px}.stop-board-columns,.stop-board-row{display:grid;grid-template-columns:76px minmax(0,1fr) 72px 112px;gap:8px;align-items:center}.stop-board-columns{padding:8px 6px 5px;color:#749985;font-size:8px;font-weight:800;letter-spacing:.08em}.stop-board-row{min-height:42px;padding:6px;border-top:1px solid rgba(85,255,155,.08);font-size:10px}.stop-board-line{font-size:15px;font-weight:950;color:var(--green)}.stop-board-direction{min-width:0;color:#f0fff6;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stop-board-platform{color:#b7d5c2;font-weight:800}.stop-board-time{text-align:right;font-variant-numeric:tabular-nums}.stop-board-time strong{display:block;color:#fff;font-size:12px}.stop-board-time small{color:var(--muted);font-size:8px}.stop-board-time .live{color:var(--green)}.stop-board-time .delay{color:var(--amber)}.stop-board-empty{padding:18px 8px;text-align:center;color:var(--muted);font-size:10px}.stop-board-foot{display:flex;justify-content:space-between;gap:10px;border-top:1px solid rgba(85,255,155,.15);padding:8px 5px 1px;color:#88ad98;font-size:8px;font-weight:800;letter-spacing:.06em}.stop-board-foot-actions{display:flex;align-items:center;gap:12px}.stop-board-foot button{border:1px solid rgba(85,255,155,.28);background:#07130e;color:var(--green);font:inherit;font-weight:900;letter-spacing:.06em;padding:5px 8px;cursor:pointer}.stop-board-foot button:hover,.stop-board-foot button:focus-visible{border-color:var(--green);background:#0b2117}
body.stop-board-open .bus-interaction-prompt{display:none!important}

body.stop-board-open .touch-controls,body.stop-board-open .touch-look{pointer-events:none!important}


/* 0.7.1.6.9 · LOCAL MAP ROAD GUIDE */
.local-map-panel{position:absolute;z-index:31;right:14px;bottom:54px;top:auto;width:min(318px,calc(100vw - 28px));border:1px solid rgba(85,255,155,.34);background:rgba(3,14,9,.94);box-shadow:0 16px 46px rgba(0,0,0,.48),0 0 24px rgba(85,255,155,.07);backdrop-filter:blur(8px);overflow:hidden;user-select:none}
.local-map-panel[hidden]{display:none!important}.local-map-head{min-height:44px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:7px 8px 7px 10px;border-bottom:1px solid rgba(85,255,155,.14);background:linear-gradient(90deg,rgba(7,27,17,.98),rgba(4,15,10,.98))}.local-map-head .eyebrow{font-size:7px;color:#69b98c;letter-spacing:.07em}.local-map-head strong{display:block;margin-top:1px;font-size:10px;letter-spacing:.055em;color:#eafff2}.local-map-head-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px;min-width:0}.local-map-head-actions button,.local-map-controls button{min-width:32px;height:30px;border:1px solid rgba(85,255,155,.24);background:rgba(5,22,14,.94);color:#cffff0;font-size:9px;font-weight:850}.local-map-head-actions button:hover,.local-map-controls button:hover{border-color:var(--green);color:var(--green)}.local-map-body{padding:8px}.local-map-panel.collapsed .local-map-body{display:none}.local-map-panel.collapsed{width:254px}.local-map-panel.collapsed .local-map-head{grid-template-columns:1fr;border-bottom:0;align-items:start}.local-map-panel.collapsed .local-map-head-actions{display:grid;grid-template-columns:repeat(4,minmax(34px,1fr));width:100%;justify-content:stretch}.local-map-panel.collapsed .local-map-head-actions button{min-width:0;width:100%}.local-map-panel canvas{display:block;width:100%;aspect-ratio:1/1;background:#07100c;border:1px solid rgba(85,255,155,.16);touch-action:none}.local-map-meta,.local-map-controls{display:flex;align-items:center;justify-content:space-between;gap:8px}.local-map-meta{padding:7px 2px 3px;color:#b5dbc5;font-size:8px;font-weight:800;letter-spacing:.035em}.local-map-meta span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.local-map-meta span:first-child{flex:1}.local-map-controls{padding-top:5px;border-top:1px solid rgba(85,255,155,.10);color:#6fa58a;font-size:7px;font-weight:850;letter-spacing:.06em}.local-map-controls span{flex:1;text-align:center}.local-map-panel .map-official-dot{color:var(--green)}
.local-map-body{position:relative}.local-map-osm-layer{position:absolute;z-index:0;overflow:hidden;background:#dbe8d7;border:1px solid rgba(85,255,155,.10);pointer-events:none}.local-map-osm-layer[hidden],.local-map-osm-attribution[hidden]{display:none!important}.local-map-osm-layer img{position:absolute;width:256px;height:256px;max-width:none;user-select:none;-webkit-user-drag:none;image-rendering:auto}.local-map-osm-attribution{position:absolute;z-index:3;right:12px;bottom:56px;padding:2px 4px;border:1px solid rgba(255,255,255,.36);background:rgba(255,255,255,.78);color:#10331f;font-size:7px;font-weight:800;text-decoration:none;letter-spacing:0}.local-map-panel.osm-map-visible canvas{position:relative;z-index:1;background:rgba(7,16,12,.20);box-shadow:inset 0 0 0 1px rgba(85,255,155,.16)}.local-map-panel.osm-map-visible .local-map-meta,.local-map-panel.osm-map-visible .local-map-controls{position:relative;z-index:4}.local-map-head-actions button.active{border-color:var(--green);color:var(--green);box-shadow:0 0 14px rgba(85,255,155,.10)}
body.world-builder-mode .local-map-panel{opacity:.48;pointer-events:none}

/* 0.7.1.8.16 BUS DESIGN INTERIOR
   Leichtes First-Person-Innenraum-Overlay: Fenster-/Sitzgefuehl ohne 3D-Engine-Eingriff. */
.bus-passenger-interior {
  position: fixed;
  inset: 0 0 var(--so3d-viewmodel-ui-mask) 0;
  z-index: 5;
  pointer-events: none;
  overflow: hidden;
  contain: layout paint style;
}
.bus-passenger-interior[hidden]{display:none!important}
.bus-passenger-interior span{position:absolute;display:block;box-sizing:border-box}
.bus-interior-windshield{
  left:18vw;right:18vw;top:78px;bottom:92px;
  border:1px solid rgba(170,225,238,.24);
  border-radius:6px 6px 24px 24px;
  background:
    linear-gradient(90deg,rgba(68,150,178,.18),rgba(255,255,255,.07) 18%,rgba(180,230,245,.045) 48%,rgba(255,255,255,.08) 74%,rgba(68,150,178,.14)),
    linear-gradient(180deg,rgba(155,220,238,.13),rgba(22,83,102,.08) 82%,rgba(5,26,32,.16));
  box-shadow:inset 0 -22px 38px rgba(0,0,0,.12);
  opacity:.62;
}
.bus-interior-roof{
  left:9vw;right:9vw;top:48px;height:52px;
  border-radius:0 0 26px 26px;
  background:linear-gradient(180deg,rgba(236,241,232,.20),rgba(34,43,42,.72) 38%,rgba(10,15,15,.54));
  border-bottom:1px solid rgba(230,236,228,.22);
  box-shadow:0 16px 28px rgba(0,0,0,.24),inset 0 -8px 16px rgba(0,0,0,.18);
}
.bus-interior-light{
  top:57px;width:84px;height:7px;border-radius:999px;
  background:linear-gradient(90deg,rgba(255,245,206,.12),rgba(255,247,218,.72),rgba(255,245,206,.12));
  box-shadow:0 0 14px rgba(255,244,200,.20);
}
.bus-interior-light.left{left:31vw}.bus-interior-light.right{right:31vw}
.bus-interior-rail{
  background:linear-gradient(180deg,rgba(245,195,58,.82),rgba(156,112,28,.78));
  box-shadow:0 2px 7px rgba(0,0,0,.22);
  opacity:.72;
}
.bus-interior-rail.top{left:23vw;right:23vw;top:108px;height:6px;border-radius:999px}
.bus-interior-rail.left,.bus-interior-rail.right{top:auto;bottom:92px;width:6px;height:36%;border-radius:999px}
.bus-interior-rail.left{left:24vw}.bus-interior-rail.right{right:24vw}
.bus-interior-side-window{
  top:132px;bottom:122px;width:13vw;max-width:170px;min-width:70px;
  border:1px solid rgba(170,225,238,.20);
  border-radius:7px;
  background:linear-gradient(180deg,rgba(130,205,228,.16),rgba(28,105,128,.10));
  box-shadow:inset 0 0 22px rgba(145,220,238,.09);
  opacity:.58;
}
.bus-interior-side-window.left{left:3.8vw;transform:skewY(-7deg)}
.bus-interior-side-window.right{right:3.8vw;transform:skewY(7deg)}
.bus-interior-front{
  left:calc(50% - 132px);bottom:38px;width:264px;height:70px;border-radius:20px 20px 9px 9px;
  background:linear-gradient(180deg,rgba(35,45,47,.78),rgba(12,20,21,.88));
  border:1px solid rgba(125,169,171,.18);
  box-shadow:0 12px 26px rgba(0,0,0,.32),inset 0 1px 0 rgba(255,255,255,.05);
}
.bus-interior-dashboard{
  left:calc(50% - 96px);bottom:68px;width:192px;height:20px;border-radius:999px;
  background:linear-gradient(90deg,rgba(12,112,145,.72),rgba(26,42,44,.86),rgba(12,112,145,.72));
  border:1px solid rgba(135,220,235,.12);
}
.bus-interior-dashboard:before{
  content:'';position:absolute;left:18px;top:5px;width:42px;height:8px;border-radius:999px;
  background:linear-gradient(90deg,rgba(65,255,170,.18),rgba(98,218,255,.46),rgba(65,255,170,.18));
}
.bus-interior-dashboard:after{
  content:'';position:absolute;right:22px;top:-18px;width:42px;height:42px;border:5px solid rgba(18,24,25,.70);
  border-bottom-color:rgba(18,24,25,.22);border-radius:50%;box-shadow:0 3px 8px rgba(0,0,0,.30);
}
.bus-interior-aisle{
  left:calc(50% - 64px);right:calc(50% - 64px);bottom:0;height:138px;
  clip-path:polygon(20% 100%,80% 100%,63% 0,37% 0);
  background:linear-gradient(180deg,rgba(36,48,48,.06),rgba(16,23,22,.60));
  border-bottom:1px solid rgba(255,255,255,.06);
  opacity:.74;
}
.bus-interior-ticket-display{
  left:calc(50% - 38px);top:114px;width:76px;height:20px;border-radius:4px;
  background:linear-gradient(180deg,rgba(9,28,20,.82),rgba(1,8,5,.88));
  border:1px solid rgba(85,255,155,.20);
  box-shadow:0 0 14px rgba(85,255,155,.06);
}
.bus-interior-ticket-display:after{content:'BUS';position:absolute;inset:0;display:grid;place-items:center;color:rgba(255,211,78,.82);font-size:10px;font-weight:900;letter-spacing:.12em}
.bus-interior-stop-button{
  bottom:126px;width:22px;height:22px;border-radius:50%;
  background:radial-gradient(circle at 35% 32%,#fff8a6 0 18%,#f0c33e 19% 58%,#6b4510 59% 100%);
  box-shadow:0 0 10px rgba(240,195,62,.18);
  opacity:.78;
}
.bus-interior-stop-button.left{left:20vw}.bus-interior-stop-button.right{right:20vw}
.bus-interior-sill{
  left:6vw;right:6vw;bottom:0;height:48px;
  background:linear-gradient(180deg,rgba(14,24,25,.16),rgba(7,13,13,.78));
  border-top:1px solid rgba(205,230,220,.18);
}
.bus-interior-pillar{
  top:78px;bottom:58px;width:18px;border-radius:10px;
  background:linear-gradient(90deg,rgba(8,14,15,.54),rgba(42,55,56,.82),rgba(8,14,15,.44));
  box-shadow:0 0 16px rgba(0,0,0,.22);
  opacity:.62;
}
.bus-interior-pillar.left{left:16.5vw;transform:skewY(-6deg)}
.bus-interior-pillar.right{right:16.5vw;transform:skewY(6deg)}
.bus-interior-seat{
  bottom:10px;width:112px;height:92px;border-radius:16px 16px 7px 7px;
  background:linear-gradient(180deg,rgba(24,82,103,.86),rgba(10,30,38,.94));
  border:1px solid rgba(145,211,222,.18);
  box-shadow:0 10px 24px rgba(0,0,0,.28);
  opacity:.76;
}
.bus-interior-seat.far-left,.bus-interior-seat.far-right{
  bottom:92px;width:74px;height:54px;opacity:.42;filter:blur(.1px);
}
.bus-interior-seat.far-left{left:calc(50% - 214px);transform:rotate(2deg) scale(.88)}
.bus-interior-seat.far-right{right:calc(50% - 214px);transform:rotate(-2deg) scale(.88)}
.bus-interior-seat.left{left:calc(50% - 286px);transform:rotate(3deg)}
.bus-interior-seat.right{right:calc(50% - 286px);transform:rotate(-3deg)}
.bus-interior-seatback.center{
  left:calc(50% - 58px);bottom:16px;width:116px;height:54px;border-radius:13px 13px 6px 6px;
  background:linear-gradient(180deg,rgba(29,88,104,.52),rgba(8,25,31,.68));
  border:1px solid rgba(150,215,225,.12);
  box-shadow:0 8px 18px rgba(0,0,0,.22);
  opacity:.45;
}
.bus-interior-info{
  position:absolute;left:50%;top:124px;z-index:3;box-sizing:border-box;
  width:min(520px,54vw);transform:translateX(-50%);
  padding:7px 10px 8px;border:1px solid rgba(85,255,155,.24);
  border-radius:5px;background:linear-gradient(180deg,rgba(4,18,12,.86),rgba(2,9,6,.82));
  color:#eafff2;text-align:center;box-shadow:0 10px 24px rgba(0,0,0,.24);
  backdrop-filter:blur(5px);
}
.bus-interior-info b,.bus-interior-info strong,.bus-interior-info em,.bus-interior-info span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:0}
.bus-interior-info b{color:#ffd34e;font-size:9px;font-weight:950;letter-spacing:.08em}
.bus-interior-info strong{margin-top:2px;font-size:12px;line-height:1.15}
.bus-interior-info em{margin-top:2px;color:#9bd9b3;font-size:9px;font-style:normal;font-weight:800}
.bus-interior-info span{margin-top:3px;padding-top:3px;border-top:1px solid rgba(85,255,155,.18);color:#c6ffe0;font-size:9px;font-style:normal;font-weight:850}
.bus-passenger-interior.moving .bus-interior-roof,
.bus-passenger-interior.moving .bus-interior-sill,
.bus-passenger-interior.moving .bus-interior-aisle,
.bus-passenger-interior.moving .bus-interior-rail.top{animation:soest-bus-passenger-vibe .48s ease-in-out infinite alternate}
.bus-passenger-interior.network-lost .bus-interior-dashboard{box-shadow:0 0 14px rgba(255,210,90,.24);background:linear-gradient(90deg,rgba(145,106,20,.72),rgba(30,27,18,.78),rgba(145,106,20,.72))}
@keyframes soest-bus-passenger-vibe{
  from{transform:translate3d(0,-1px,0)}
  to{transform:translate3d(0,1px,0)}
}
@media (prefers-reduced-motion: reduce){
  .bus-passenger-interior.moving .bus-interior-roof,
  .bus-passenger-interior.moving .bus-interior-sill,
  .bus-passenger-interior.moving .bus-interior-rail.top{animation:none!important}
}


/* 0.7.1.8.12 HANDS VIEWMODEL ORIENTATION
   First-Person-Arme sind absichtlich DOM/CSS statt Cesium-Geometrie.
   First Person zeigt nur Haende/Unterarme: Aermel unten, Haende oben/vorne.
   Der ganze Avatar-Koerper bleibt Third Person vorbehalten. */
.first-person-arms {
  position: fixed;
  inset: 0 0 var(--so3d-viewmodel-ui-mask) 0;
  z-index: 6;
  pointer-events: none;
  overflow: hidden;
  perspective: 720px;
  contain: layout paint style;
}
.first-person-arms[hidden] { display: none !important; }
.fp-arm {
  position: absolute;
  bottom: -24px;
  width: 86px;
  height: 164px;
  transform-origin: 50% 100%;
  will-change: transform;
  filter: drop-shadow(0 7px 8px rgba(0,0,0,.28));
  overflow: visible;
}
.fp-arm-left { left: calc(50% - 218px); transform: rotate(-12deg) translate3d(0,4px,0); }
.fp-arm-right { right: calc(50% - 218px); transform: rotate(12deg) translate3d(0,4px,0); }
.fp-sleeve, .fp-hand { display:block; position:absolute; left:0; width:100%; box-sizing:border-box; }
.fp-sleeve {
  top:64px; height:104px;
  z-index:1;
  border-radius:16px 16px 8px 8px;
  background:linear-gradient(90deg,#1e302a 0%,#314b40 50%,#20342d 100%);
  border:1px solid rgba(200,255,225,.10);
}
.fp-hand {
  top:12px; left:9px; width:68px; height:58px;
  z-index:3;
  border-radius:17px 17px 21px 21px;
  background:linear-gradient(90deg,#b98868 0%,#e0b897 52%,#b17d5e 100%);
  border:1px solid rgba(255,235,220,.16);
  box-shadow:inset 0 8px 10px rgba(255,240,220,.12),inset 0 -12px 14px rgba(75,35,18,.18);
  transform-origin:50% 8%;
  opacity:1;
  visibility:visible;
}
.fp-hand:before{content:'';position:absolute;left:8px;right:8px;top:-5px;height:16px;border-radius:13px 13px 8px 8px;background:linear-gradient(90deg,#c79778,#efc5a3 52%,#ba8565);box-shadow:9px 1px 0 -7px rgba(105,55,28,.22),21px 1px 0 -7px rgba(105,55,28,.20),34px 1px 0 -7px rgba(105,55,28,.18)}
.fp-hand:after{content:'';position:absolute;top:15px;width:17px;height:27px;border-radius:14px;background:linear-gradient(90deg,#c89574,#e3b895);box-shadow:inset 0 -5px 8px rgba(90,42,20,.16)}
.fp-arm-left .fp-hand{transform:rotate(-9deg) translate3d(10px,0,0);background:linear-gradient(90deg,#b17d5e 0%,#d7aa88 42%,#efc5a3 100%)}
.fp-arm-right .fp-hand{transform:rotate(9deg) translate3d(-10px,0,0);background:linear-gradient(90deg,#efc5a3 0%,#d7aa88 58%,#b17d5e 100%)}
.fp-arm-left .fp-hand:after{right:-6px;transform:rotate(-16deg)}
.fp-arm-right .fp-hand:after{left:-6px;transform:rotate(16deg)}
.first-person-arms.moving .fp-arm-left { animation:soest-fp-arm-left .44s ease-in-out infinite alternate; }
.first-person-arms.moving .fp-arm-right { animation:soest-fp-arm-right .44s ease-in-out infinite alternate; }
.first-person-arms.sprinting .fp-arm-left,
.first-person-arms.sprinting .fp-arm-right { animation-duration:.30s; }
.first-person-arms.airborne .fp-arm-left { transform:rotate(-6deg) translate3d(12px,-20px,0); }
.first-person-arms.airborne .fp-arm-right { transform:rotate(6deg) translate3d(-12px,-20px,0); }
@keyframes soest-fp-arm-left {
  from { transform:rotate(-15deg) translate3d(-4px,7px,0); }
  to   { transform:rotate(-7deg) translate3d(10px,-5px,0); }
}
@keyframes soest-fp-arm-right {
  from { transform:rotate(7deg) translate3d(-10px,-5px,0); }
  to   { transform:rotate(15deg) translate3d(4px,7px,0); }
}
@media (prefers-reduced-motion: reduce) {
  .first-person-arms.moving .fp-arm { animation:none !important; }
}

/* 0.7.1.8.29 STOP BOARD SAFE */
.so-phone-property-row.owned{grid-template-columns:minmax(0,1fr) auto auto auto}
.property-interior-stage{position:relative;min-height:228px;margin:12px 0;border:1px solid rgba(85,255,155,.22);border-radius:7px;overflow:hidden;background:linear-gradient(180deg,rgba(36,57,43,.88) 0 28%,rgba(25,45,34,.96) 28% 100%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.035)}
.property-interior-floor{position:absolute;inset:28% 0 0;background:linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(0deg,rgba(255,255,255,.030) 1px,transparent 1px),linear-gradient(145deg,rgba(85,255,155,.05),rgba(0,0,0,.10));background-size:42px 42px,42px 42px,100% 100%}
.property-interior-stage:before{content:"";position:absolute;left:10%;right:10%;top:24%;height:5px;border-radius:99px;background:rgba(0,0,0,.25);box-shadow:0 1px 0 rgba(255,255,255,.04)}
.property-interior-avatar{position:absolute;left:var(--ix,50%);top:var(--iy,73%);width:46px;height:76px;transform:translate(-50%,-72%) rotate(var(--ih,0rad));transform-origin:50% 72%;z-index:2;filter:drop-shadow(0 8px 9px rgba(0,0,0,.34))}
.property-interior-avatar.own{--guest-color:#0e3f2d}
.property-interior-body{position:absolute;left:10px;right:10px;bottom:5px;height:45px;border-radius:11px 11px 8px 8px;background:linear-gradient(180deg,var(--guest-color,#0e3f2d),#06180f);border:1px solid rgba(85,255,155,.20)}
.property-interior-head-dot{position:absolute;left:10px;right:10px;top:2px;height:30px;border-radius:50% 50% 44% 44%;background:linear-gradient(140deg,#efc6a8,#d4a080);box-shadow:inset -7px -5px 12px rgba(104,62,39,.22)}
.property-interior-name{position:absolute;left:50%;top:-17px;transform:translateX(-50%) rotate(calc(var(--ih,0rad) * -1));max-width:118px;padding:2px 5px;border:1px solid rgba(85,255,155,.24);border-radius:4px;background:rgba(1,13,8,.82);color:#eafff1;font-size:8px;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.property-interior-guests{position:absolute;inset:0;pointer-events:none}
.property-interior-dpad{position:absolute;right:8px;bottom:8px;z-index:3;display:grid;grid-template-columns:34px 46px 34px;grid-template-rows:32px 27px 32px;gap:3px;align-items:center;justify-items:center}
.property-interior-dpad button{width:100%;height:100%;border:1px solid rgba(85,255,155,.30);border-radius:5px;background:rgba(2,20,12,.88);color:#eafff1;font-size:14px;font-weight:900}
.property-interior-dpad span{min-width:0;color:#9fc1ad;font-size:8px;font-weight:900;letter-spacing:.04em;text-align:center}
.property-interior-overlay.lights-off .property-interior-stage{filter:brightness(.68)}

/* 0.7.1.8.44 TRAIN LAB · leichter Innenraumrahmen mit grossen freien Fenstern. */
.train-passenger-interior{position:fixed;inset:0;z-index:38;pointer-events:none;overflow:hidden;color:#eef7fb}
.train-passenger-interior[hidden]{display:none!important}.train-passenger-interior span{position:absolute;display:block;box-sizing:border-box}
.train-interior-roof{left:0;right:0;top:0;height:13vh;min-height:72px;background:linear-gradient(#273238,#151d20);box-shadow:0 6px 18px rgba(0,0,0,.38)}
.train-interior-floor{left:0;right:0;bottom:0;height:18vh;min-height:96px;background:linear-gradient(0deg,#22292b,#394346);box-shadow:0 -8px 22px rgba(0,0,0,.36)}
.train-interior-pillar{top:8vh;bottom:14vh;width:5.5vw;min-width:38px;background:linear-gradient(90deg,#222b2f,#66737a,#222b2f);opacity:.92}.train-interior-pillar.left{left:12vw}.train-interior-pillar.right{right:12vw}
.train-interior-window{top:13vh;bottom:18vh;width:11vw;border:3px solid rgba(190,215,225,.58);background:rgba(100,180,215,.035);box-shadow:inset 0 0 22px rgba(130,210,240,.08)}.train-interior-window.left{left:1.5vw}.train-interior-window.right{right:1.5vw}
.train-interior-seat{bottom:2.5vh;width:15vw;max-width:180px;height:12vh;min-height:62px;background:linear-gradient(#4b5a61,#1e292e);border:2px solid #11191c;border-radius:18px 18px 5px 5px;opacity:.82}.train-interior-seat.left{left:19vw}.train-interior-seat.right{right:19vw}
.train-interior-info{position:absolute;top:2.5vh;left:50%;transform:translateX(-50%);width:min(430px,58vw);padding:7px 10px;border:1px solid rgba(130,200,230,.45);border-radius:7px;background:rgba(8,17,22,.84);text-align:center;box-shadow:0 0 18px rgba(0,0,0,.28)}
.train-interior-info b,.train-interior-info strong,.train-interior-info em{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.train-interior-info b{color:#8ad8f4;font-size:10px;letter-spacing:.09em}.train-interior-info strong{font-size:13px;margin-top:2px}.train-interior-info em{font-size:9px;color:#b7d8c6;font-style:normal;margin-top:2px}
.train-passenger-interior.moving .train-interior-roof,.train-passenger-interior.moving .train-interior-floor{animation:soest-train-vibe .65s ease-in-out infinite alternate}@keyframes soest-train-vibe{from{transform:translateY(0)}to{transform:translateY(1px)}}
@media (max-width:700px){.train-interior-pillar{width:7vw;min-width:26px}.train-interior-pillar.left{left:10vw}.train-interior-pillar.right{right:10vw}.train-interior-window{width:9vw}.train-interior-info{width:min(300px,68vw)}.train-interior-seat{width:20vw;opacity:.66}.train-interior-seat.left{left:17vw}.train-interior-seat.right{right:17vw}}

/* 0.7.1.8.123 TRAIN HUD FOREGROUND SAFE
   Der Zug-Innenraum liegt absichtlich auf Layer 38. In .122 lagen Local Map (31)
   und First-Person-Arme (6) darunter und wurden deshalb von Fenster/Pfeiler/Boden
   verdeckt. Nur im Zug werden diese beiden View-/Navigationsebenen nach vorn geholt.
   Arme liegen auf 39 (unter Toast 40); die Local Map liegt bewusst auf 45.
   Transfer-/Dialog-/Admin-Layer (90+) bleiben unangetastet. */
body.train-passenger .first-person-arms{z-index:39!important}
body.train-passenger .local-map-panel{z-index:45!important}


/* 0.7.1.8.45 TRAIN TRACK FOUNDATION · kurzer sichtbarer Fade beim spielerischen Umsetzen Bad Sassendorf -> Westönnen. */
.train-transfer-overlay{position:fixed;inset:0;z-index:90;display:grid;place-items:center;pointer-events:none;background:rgba(0,8,12,.82);backdrop-filter:blur(2px);animation:soest-train-transfer-fade .55s ease both}
.train-transfer-overlay[hidden]{display:none!important}.train-transfer-overlay>div{display:grid;gap:7px;max-width:min(520px,86vw);padding:18px 22px;border:1px solid rgba(138,216,244,.65);border-radius:10px;background:rgba(6,18,24,.94);box-shadow:0 0 35px rgba(0,0,0,.5);text-align:center}.train-transfer-overlay strong{color:#8ad8f4;font-size:16px;letter-spacing:.08em}.train-transfer-overlay span{color:#e7fff2;font-size:13px}@keyframes soest-train-transfer-fade{from{opacity:0}to{opacity:1}}


/* 0.7.1.8.46 · FURNITURE INVENTORY + PLACEMENT SAFE */
.property-interior-furniture{position:absolute;inset:0;z-index:1;pointer-events:none}.property-furniture-object{position:absolute;left:var(--fx,50%);top:var(--fy,55%);width:var(--fw,14%);height:var(--fh,9%);transform:translate(-50%,-50%) rotate(var(--frot,0deg));transform-origin:50% 50%;border:1px solid rgba(255,255,255,.24);border-radius:5px;background:linear-gradient(145deg,var(--fbody,#8b927f),color-mix(in srgb,var(--fbody,#8b927f) 72%,#000));box-shadow:0 7px 14px rgba(0,0,0,.30),inset 0 0 0 3px color-mix(in srgb,var(--faccent,#b9854d) 38%,transparent);pointer-events:auto;cursor:grab;touch-action:none;user-select:none}.property-furniture-object:active{cursor:grabbing}.property-furniture-object.selected{outline:2px solid #55ff9b;outline-offset:3px;z-index:4}.property-furniture-object span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(calc(var(--frot,0deg) * -1));max-width:90%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:2px 4px;border-radius:3px;background:rgba(0,0,0,.38);color:#effff5;font-size:7px;font-weight:900;letter-spacing:.02em;pointer-events:none}.property-furniture-object[data-ftype="chair"]{border-radius:3px;box-shadow:inset 0 -35% 0 color-mix(in srgb,var(--faccent) 60%,#000),0 5px 12px rgba(0,0,0,.28)}.property-furniture-object[data-ftype="table"]{border-radius:3px;box-shadow:inset 0 0 0 3px var(--faccent),0 7px 14px rgba(0,0,0,.30)}.property-furniture-object[data-ftype="sofa"]{border-radius:8px;box-shadow:inset 0 24% 0 color-mix(in srgb,var(--fbody) 72%,#fff),inset 12% 0 0 rgba(0,0,0,.12),inset -12% 0 0 rgba(0,0,0,.12),0 7px 14px rgba(0,0,0,.30)}.property-furniture-object[data-ftype="bed"]{border-radius:6px;box-shadow:inset 0 18% 0 var(--faccent),inset 0 -12% 0 color-mix(in srgb,var(--fbody) 75%,#000),0 7px 14px rgba(0,0,0,.30)}.property-furniture-object[data-ftype="kitchen"],.property-furniture-object[data-ftype="sink"],.property-furniture-object[data-ftype="stove"],.property-furniture-object[data-ftype="fridge"]{border-radius:2px;box-shadow:inset 0 -22% 0 var(--faccent),0 6px 13px rgba(0,0,0,.28)}.property-furniture-object[data-ftype="plant"]{border-radius:50%;background:radial-gradient(circle at 50% 42%,#76b96b 0 28%,var(--fbody) 29% 48%,var(--faccent) 49% 72%,transparent 73%);border:none;box-shadow:0 6px 12px rgba(0,0,0,.28)}.property-furniture-object[data-ftype="lamp"]{border-radius:50%;background:radial-gradient(circle,var(--faccent) 0 30%,var(--fbody) 31% 52%,transparent 53%);border:none;box-shadow:0 0 18px color-mix(in srgb,var(--faccent) 55%,transparent)}.property-furniture-panel{margin:10px 0;padding:9px;border:1px solid rgba(99,219,255,.28);border-radius:7px;background:rgba(3,17,16,.94)}.property-furniture-panel[hidden]{display:none!important}.property-furniture-head{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center}.property-furniture-head span{display:block;color:#7fc9d4;font-size:7px;font-weight:900;letter-spacing:.12em}.property-furniture-head strong{font-size:11px}.property-furniture-head button,.property-furniture-tabs button,.property-furniture-card button,.property-furniture-inventory-row button,.property-furniture-edit button{border:1px solid rgba(85,255,155,.28);border-radius:5px;background:rgba(6,30,18,.94);color:#eafff1;font-size:8px;font-weight:900;padding:6px;min-height:30px}.property-furniture-wallet{text-align:right}.property-furniture-wallet strong{color:#ffe49a;font-size:9px}.property-furniture-tabs{display:flex;gap:6px;margin:8px 0}.property-furniture-tabs button.active{border-color:#55ff9b;background:rgba(85,255,155,.12)}.property-furniture-content{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;max-height:250px;overflow:auto}.property-furniture-content[hidden]{display:none!important}.property-furniture-card,.property-furniture-inventory-row{border:1px solid rgba(85,255,155,.14);border-radius:6px;background:rgba(0,0,0,.18);padding:7px}.property-furniture-card strong,.property-furniture-inventory-row strong{display:block;font-size:9px}.property-furniture-card small,.property-furniture-inventory-row small{display:block;margin:3px 0 6px;color:#91ad9c;font-size:7px}.property-furniture-colors{display:flex;gap:5px;margin:5px 0 7px}.property-furniture-color{width:22px;height:22px!important;min-height:22px!important;padding:0!important;border-radius:50%!important;background:linear-gradient(135deg,var(--cbody),var(--cbody) 54%,var(--caccent) 55%)!important}.property-furniture-color.active{outline:2px solid #55ff9b;outline-offset:2px}.property-furniture-inventory-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:center}.property-furniture-inventory-row.placed{opacity:.72}.property-furniture-edit{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto auto;gap:6px;align-items:center;margin-top:8px;padding-top:8px;border-top:1px solid rgba(85,255,155,.16)}.property-furniture-edit[hidden]{display:none!important}.property-furniture-edit span{font-size:7px;color:#9eb9a8}


/* 0.7.1.8.49 · LOCAL HOME MAP + SEO FOUNDATION SAFE */
.property-interior-room-caption{position:absolute;left:10px;top:10px;z-index:6;display:flex;align-items:center;gap:7px;padding:5px 8px;border:1px solid rgba(85,255,155,.28);border-radius:5px;background:rgba(1,13,8,.86);pointer-events:none}.property-interior-room-caption span{color:#69d9a0;font-size:7px;font-weight:900;letter-spacing:.12em}.property-interior-room-caption strong{color:#f1fff6;font-size:10px}.property-interior-doors{position:absolute;inset:0;z-index:5;pointer-events:none}.property-interior-doors[hidden]{display:none!important}.property-room-door{position:absolute;pointer-events:auto;display:grid;grid-template-columns:26px minmax(0,1fr);grid-template-rows:auto auto;column-gap:5px;align-items:center;min-width:112px;max-width:150px;padding:5px 7px;border:2px solid rgba(215,191,118,.58);border-radius:5px;background:linear-gradient(180deg,rgba(83,59,32,.96),rgba(36,25,15,.96));color:#fff8e6;box-shadow:0 6px 16px rgba(0,0,0,.32),inset 0 0 0 1px rgba(255,255,255,.08);cursor:pointer}.property-room-door span{grid-row:1/3;font-size:20px}.property-room-door strong{font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.property-room-door small{font-size:6px;color:#dfc98c;letter-spacing:.05em}.property-room-door:hover,.property-room-door:focus-visible{border-color:#55ff9b;outline:none;transform:translateY(-1px)}.property-room-door.door-0{left:50%;top:27%;transform:translateX(-50%)}.property-room-door.door-1{left:5px;top:54%;transform:rotate(-90deg) translateX(-20%);transform-origin:left top}.property-room-door.door-2{right:5px;top:54%;transform:rotate(90deg) translateX(20%);transform-origin:right top}.property-room-door.door-3{left:50%;bottom:5px;transform:translateX(-50%)}.property-interior-stage.room-transition{animation:property-room-fade .18s ease-out}@keyframes property-room-fade{0%{opacity:.45;filter:brightness(.7)}100%{opacity:1;filter:none}}.property-room-cell{position:relative;text-align:left;cursor:pointer}.property-room-cell:after{content:"TUER";position:absolute;right:8px;bottom:7px;color:#6bdca0;font-size:6px;font-weight:900;letter-spacing:.10em;opacity:.7}.property-room-cell.active{box-shadow:inset 0 0 0 1px rgba(85,255,155,.18),0 0 18px rgba(85,255,155,.06)}.property-room-cell.active:after{content:"DU BIST HIER";color:#ffe579;opacity:1}


/* 0.7.1.8.49 · LOCAL HOME MAP + SEO FOUNDATION SAFE · raumbezogener Shop, globales Lager, Farbwechsel und LAB-Reset */
.property-furniture-room-context{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:8px;padding:7px 8px;border:1px solid rgba(85,255,155,.18);border-radius:6px;background:rgba(85,255,155,.045)}
.property-furniture-room-context strong{display:block;color:#effff5;font-size:9px}.property-furniture-room-context small{display:block;margin-top:2px;color:#8faf9c;font-size:7px}
.property-furniture-room-filters{display:flex;gap:5px}.property-furniture-room-filters button{min-height:27px!important;padding:4px 7px!important}.property-furniture-room-filters button.active{border-color:#55ff9b!important;background:rgba(85,255,155,.12)!important}
.property-furniture-wide{grid-column:1/-1}.property-furniture-reset{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 8px;border:1px dashed rgba(255,213,110,.24);border-radius:6px;background:rgba(255,213,110,.035)}.property-furniture-reset span{color:#b8c8bc;font-size:7px}.property-furniture-reset button{border-color:rgba(255,213,110,.34)!important;color:#ffe49a!important;background:rgba(66,48,12,.32)!important}
.property-furniture-colors.inventory-colors{margin:5px 0 0}.property-furniture-colors.inventory-colors .property-furniture-color{width:18px;height:18px!important;min-height:18px!important}
.property-furniture-object[data-ftype="vanity"],.property-furniture-object[data-ftype="cabinet"],.property-furniture-object[data-ftype="rack"]{border-radius:3px;box-shadow:inset 0 -20% 0 var(--faccent),0 6px 13px rgba(0,0,0,.28)}
.property-furniture-object[data-ftype="toilet"]{border-radius:45% 45% 30% 30%;box-shadow:inset 0 0 0 3px var(--faccent),0 6px 12px rgba(0,0,0,.26)}
.property-furniture-object[data-ftype="shower"]{background:linear-gradient(135deg,color-mix(in srgb,var(--fbody) 52%,transparent),color-mix(in srgb,var(--fbody) 82%,#fff));border:2px solid var(--faccent);box-shadow:inset 0 0 0 3px rgba(255,255,255,.09),0 6px 13px rgba(0,0,0,.24)}


/* 0.7.1.8.68 · SPACESHIP HARD BOOT ISOLATION SAFE */
.spaceship-ground-prompt{position:fixed;left:50%;bottom:74px;z-index:74;transform:translateX(-50%);padding:8px 13px;border:1px solid rgba(80,225,255,.62);border-radius:7px;background:rgba(2,16,22,.92);color:#dffcff;font-size:10px;font-weight:900;letter-spacing:.07em;box-shadow:0 0 24px rgba(40,190,255,.18);pointer-events:none}.spaceship-ground-prompt[hidden]{display:none!important}
.spaceship-cockpit{position:fixed;inset:0;z-index:39;overflow:hidden;pointer-events:none;color:#eafcff}.spaceship-cockpit[hidden]{display:none!important}.spaceship-cockpit:before{content:"";position:absolute;left:0;right:0;top:0;height:9vh;background:linear-gradient(#071014,#101b20);box-shadow:0 7px 25px rgba(0,0,0,.6)}.spaceship-cockpit:after{content:"";position:absolute;left:20%;right:20%;bottom:0;height:23vh;min-height:142px;background:linear-gradient(0deg,#05090b 0,#10191d 58%,rgba(17,30,36,.93));clip-path:polygon(9% 0,91% 0,100% 100%,0 100%);border-top:2px solid rgba(98,211,240,.24);box-shadow:0 -10px 30px rgba(0,0,0,.38)}
.spaceship-frame{position:absolute;display:block;z-index:2;background:linear-gradient(90deg,#070c0e,#26343b 46%,#060a0b);filter:drop-shadow(0 0 2px rgba(255,255,255,.10))}.spaceship-frame.top{left:0;right:0;top:7vh;height:24px}.spaceship-frame.left{left:8%;top:-3vh;width:7vw;min-width:72px;height:78vh;transform:rotate(-25deg);transform-origin:50% 0}.spaceship-frame.right{right:8%;top:-3vh;width:7vw;min-width:72px;height:78vh;transform:rotate(25deg);transform-origin:50% 0}.spaceship-frame.left-inner{left:31%;top:4vh;width:3vw;min-width:35px;height:56vh;transform:rotate(-18deg);transform-origin:50% 0}.spaceship-frame.right-inner{right:31%;top:4vh;width:3vw;min-width:35px;height:56vh;transform:rotate(18deg);transform-origin:50% 0}
.spaceship-cockpit-console{position:absolute;z-index:5;left:50%;bottom:2.4vh;transform:translateX(-50%);width:min(720px,58vw);min-height:118px;padding:10px 13px;border:1px solid rgba(76,222,255,.44);border-radius:9px;background:linear-gradient(180deg,rgba(5,18,24,.96),rgba(1,7,10,.98));box-shadow:0 0 32px rgba(0,0,0,.6),inset 0 0 28px rgba(0,180,255,.05);pointer-events:auto}.spaceship-console-title{display:flex;justify-content:space-between;gap:10px;align-items:center}.spaceship-console-title b{color:#6cecff;letter-spacing:.14em;font-size:10px}.spaceship-console-title span{color:#9cffb9;font-size:9px;font-weight:900}.spaceship-console-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:8px 0}.spaceship-console-stats span{display:grid;gap:2px;padding:6px;border:1px solid rgba(105,227,255,.14);border-radius:5px;background:rgba(20,86,106,.10);color:#7898a2;font-size:7px;font-weight:900;letter-spacing:.08em}.spaceship-console-stats strong{color:#f3fdff;font-size:11px}.spaceship-console-actions{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:7px}.spaceship-console-actions button,.spaceship-universe-dialog button{min-height:34px;border:1px solid rgba(85,255,155,.32);border-radius:5px;background:linear-gradient(135deg,rgba(13,65,54,.94),rgba(4,28,32,.96));color:#f0fff8;font-size:9px;font-weight:900;letter-spacing:.06em;cursor:pointer}.spaceship-console-actions button:first-child{border-color:rgba(255,164,55,.52);color:#ffe7bd}.spaceship-console-actions button:disabled{opacity:.38;cursor:not-allowed}.spaceship-cockpit-console small{display:block;margin-top:6px;color:#7fa4ad;font-size:7px;text-align:center}
body.spaceship-warp .spaceship-cockpit{animation:soest-warp-pulse .18s linear infinite alternate}.spaceship-cockpit.warping:before{content:"";position:absolute;inset:-10%;z-index:4;background:repeating-radial-gradient(ellipse at center,transparent 0 7%,rgba(86,222,255,.22) 7.5% 8%,transparent 8.5% 12%);transform:scale(1.8);animation:soest-warp-lines .28s linear infinite;pointer-events:none}@keyframes soest-warp-pulse{from{filter:brightness(1)}to{filter:brightness(1.32) saturate(1.25)}}@keyframes soest-warp-lines{from{transform:scale(1.15);opacity:.35}to{transform:scale(2.05);opacity:.85}}
.spaceship-universe-overlay{position:fixed;inset:0;z-index:125;display:grid;place-items:center;padding:18px;background:rgba(0,5,10,.82);backdrop-filter:blur(5px)}.spaceship-universe-overlay[hidden]{display:none!important}.spaceship-universe-dialog{width:min(520px,92vw);padding:20px;border:1px solid rgba(80,225,255,.52);border-radius:11px;background:linear-gradient(160deg,rgba(5,22,31,.98),rgba(1,8,12,.99));box-shadow:0 0 55px rgba(20,185,255,.16);color:#eafcff}.spaceship-universe-dialog h2{margin:7px 0 10px;font-size:19px}.spaceship-universe-dialog p{color:#b7cdd4;font-size:12px;line-height:1.5}.spaceship-universe-dialog>div{display:grid;grid-template-columns:1fr 1.4fr;gap:8px;margin-top:14px}.spaceship-universe-dialog button:last-child{border-color:rgba(80,225,255,.58);color:#dffbff}

/* 0.7.1.8.72 · SPACESHIP CLEAN COCKPIT HUD SAFE
   Cockpit has z-index 39 already. The screenshot showed ordinary HUD panels still
   visible underneath its transparent windshield; therefore hide only those normal
   overlays while the existing spaceship-passenger lifecycle class is active. */
body.spaceship-passenger .topbar,
body.spaceship-passenger .telemetry,
body.spaceship-passenger .multiplayer-panel,
body.spaceship-passenger .mission-card,
body.spaceship-passenger .controls-hint,
body.spaceship-passenger .mobile-menu-btn{display:none!important}
/* Flight controls/cockpit, toast, universe dialog and mobile touch controls stay available. */

/* 0.7.1.8.74 FLIGHT NAV: Local Map bleibt im Cockpit als Navigationshilfe sichtbar. */
body.spaceship-passenger .local-map-panel{display:block!important;z-index:45!important}

/* 0.7.1.8.77 · PHONE CHAT + UNREAD */
#btn-phone.has-unread::after,#touch-phone.has-unread::after{content:'💬';display:inline-block;margin-left:6px;filter:drop-shadow(0 0 5px rgba(85,255,155,.55))}
#phone-chat-app.has-unread{border-color:rgba(255,224,111,.78);box-shadow:0 0 18px rgba(255,224,111,.13),inset 0 1px 0 rgba(255,255,255,.05)}
#phone-chat-app.has-unread strong::after{content:' 💬'}
.so-phone-chat{display:grid;gap:8px;margin:0 0 10px;padding:9px;border:1px solid rgba(85,255,155,.24);border-radius:7px;background:rgba(0,0,0,.30)}
.so-phone-chat[hidden]{display:none!important}.so-phone-chat-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.so-phone-chat-head span{display:block;color:#64f4a4;font-size:8px;font-weight:900;letter-spacing:.12em}.so-phone-chat-head strong{display:block;font-size:12px;letter-spacing:.08em}.so-phone-chat-head button{min-height:30px;border:1px solid rgba(85,255,155,.28);border-radius:5px;background:#061a10;color:#eafff1;font-size:8px;font-weight:900;letter-spacing:.08em;padding:5px 9px}
.so-phone-chat-roster{max-height:86px;overflow:auto}.so-phone-chat-log{height:210px;min-height:150px;max-height:32vh;overflow:auto}.so-phone-chat-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px}.so-phone-chat-form input{min-width:0}
body.so-phone-chat-open .so-phone-apps,body.so-phone-chat-open .so-phone-property-hub,body.so-phone-chat-open .so-phone-property-alert,body.so-phone-chat-open .so-phone-note{display:none!important}

/* 0.7.1.8.79 · LIVE PLAYER INVITE SAFE */
.so-phone-invite{display:grid;gap:9px;margin:0 0 10px;padding:9px;border:1px solid rgba(99,219,255,.28);border-radius:7px;background:linear-gradient(150deg,rgba(2,20,24,.94),rgba(0,11,9,.94))}
.so-phone-invite[hidden]{display:none!important}.so-phone-invite-copy{margin:0;color:#b8d9cb;font-size:9px;line-height:1.45}.so-phone-invite-link{width:100%;min-height:38px;box-sizing:border-box;border:1px solid rgba(99,219,255,.34);border-radius:5px;background:#020b09;color:#dffcff;padding:8px;font:700 9px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace}.so-phone-invite-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}.so-phone-invite-actions button{min-height:38px;border:1px solid rgba(85,255,155,.28);border-radius:5px;background:#061a10;color:#eafff1;font-size:9px;font-weight:900;letter-spacing:.06em;padding:7px}.so-phone-invite-actions button:last-child{grid-column:1/-1}.so-phone-invite small{color:#789b89;font-size:8px;line-height:1.45}
body.so-phone-invite-open .so-phone-apps,body.so-phone-invite-open .so-phone-property-hub,body.so-phone-invite-open .so-phone-property-alert,body.so-phone-invite-open .so-phone-note,body.so-phone-invite-open .so-phone-chat{display:none!important}

/* 0.7.1.8.89 CONTINUITY + WALK FRAME PACING SAFE */
#multiplayer-panel.multiplayer-panel-legacy{display:none!important;visibility:hidden!important;pointer-events:none!important}
.so-phone-chat-profile{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;margin:6px 0 7px}.so-phone-chat-profile label{font-size:8px;letter-spacing:.1em;color:var(--muted)}.so-phone-chat-profile input{min-width:0;width:100%;box-sizing:border-box;border:1px solid rgba(85,255,155,.22);background:rgba(1,7,5,.82);color:#eafff1;border-radius:3px;padding:7px 8px;font-size:11px;outline:none}.so-phone-chat-profile input:focus{border-color:var(--green);box-shadow:0 0 12px rgba(85,255,155,.12)}

/* 0.7.1.8.121 · UNIVERSE WARP TRANSITION SAFE
   Reines SOEST/JARVIS-Overlay: kein iframe, kein Fremdlogo, kein externes Confetti-Script. */
.spaceship-warp-sequence{position:fixed;inset:0;z-index:190;overflow:hidden;background:rgba(0,0,0,.26);pointer-events:none;isolation:isolate}
.spaceship-warp-sequence[hidden]{display:none!important}
.spaceship-warp-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;opacity:1}
.spaceship-warp-readout{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px;text-shadow:0 0 22px rgba(0,240,255,.9)}
.spaceship-warp-status{font-size:clamp(18px,3vw,34px);font-weight:900;letter-spacing:.12em;color:#78f5ff;text-transform:uppercase}
.spaceship-warp-number{min-height:1em;margin-top:10px;font-size:clamp(92px,20vw,230px);font-weight:1000;line-height:.9;color:#f4fdff;text-shadow:0 0 18px #00dfff,0 0 54px rgba(255,0,127,.72);transform:scale(1)}
.spaceship-warp-number.pulse{animation:soest-warp-count-pop .72s cubic-bezier(.18,.89,.32,1.28)}
.spaceship-warp-number.brand{font-size:clamp(34px,7vw,96px);line-height:1.05;letter-spacing:.035em;white-space:nowrap;text-shadow:0 0 16px #00dfff,0 0 42px rgba(255,0,127,.76),0 0 80px rgba(121,40,202,.46)}
.spaceship-warp-readout small{margin-top:16px;color:#a7eaf2;font-size:clamp(9px,1.4vw,13px);font-weight:900;letter-spacing:.2em}
.spaceship-warp-flash{position:absolute;inset:0;z-index:4;background:#fff;opacity:0;transition:opacity .18s ease-out}
.spaceship-warp-flash.active{opacity:1}
body.spaceship-warp-active .spaceship-cockpit{animation:soest-warp-pulse .12s linear infinite alternate}
@keyframes soest-warp-count-pop{0%{transform:scale(.25);opacity:0}55%{transform:scale(1.22);opacity:1}100%{transform:scale(1);opacity:1}}
@media (prefers-reduced-motion:reduce){.spaceship-warp-number.pulse,body.spaceship-warp-active .spaceship-cockpit{animation:none}.spaceship-warp-flash{transition:none}}
