.gehen-v2 {
    --gehen-color: var(--body);
    --gehen-active: color-mix(in srgb, var(--body) 72%, white 28%);
    --gehen-muted: color-mix(in srgb, var(--body) 56%, var(--foreground) 44%);
}

.gehen-main { display:grid; gap:12px; padding-bottom:12px; }
.gehen-title { margin:0; padding:22px 30px 20px; color:var(--life-system-active); font-size:1.55rem; line-height:1.4; letter-spacing:.09em; }
.gehen-mccoy-section { --life-system:var(--gehen-color); --life-system-active:var(--gehen-active); --life-system-muted:var(--gehen-muted); }
.gehen-board { display:grid; gap:7px; font-size:var(--font-meta); letter-spacing:.045em; line-height:1.55; color:var(--foreground); }
.gehen-board span { color:var(--gehen-muted); }
.gehen-board .gehen-board-active { color:var(--gehen-active); }

.gehen-v2 .gehen-disclosure { max-width:none; min-height:0; padding:0; overflow:hidden; }
.gehen-v2 .gehen-disclosure > summary { min-height:76px; padding:24px 30px; display:flex; align-items:center; gap:10px; cursor:pointer; list-style:none; color:var(--gehen-active); font-size:var(--font-system); letter-spacing:.07em; }
.gehen-disclosure summary::-webkit-details-marker { display:none; }
.gehen-disclosure summary::marker { content:""; }
.gehen-disclosure summary:focus-visible { outline:1px solid var(--gehen-active); outline-offset:-5px; }
.gehen-disclosure summary > span:first-child { color:var(--gehen-color); }
.gehen-disclosure-doctor { margin-left:auto; color:var(--gehen-color) !important; }
.gehen-v2 .gehen-disclosure-content { max-width:none; margin:0; padding:0 110px 28px 30px; border:0; background:transparent; color:var(--foreground); font-size:.96rem; line-height:1.72; overflow-wrap:anywhere; animation:gehenDisclosureReveal .34s ease-out both; }
@keyframes gehenDisclosureReveal { from { opacity:0; transform:translateY(-5px); } to { opacity:1; transform:none; } }
.gehen-disclosure-content p { margin:0 0 1.05em; }
.gehen-disclosure-content p:last-child { margin-bottom:0; }
.gehen-disclosure-content strong { color:var(--gehen-active); }

.gehen-v2 .gehen-tool { width:min(100%, 760px); max-width:760px; display:grid; gap:16px; margin:18px auto; padding:18px 0 10px; border:0; }
.gehen-controls, .gehen-actions, .gehen-expedition-actions, .gehen-logbook-control { display:flex; justify-content:center; flex-wrap:wrap; gap:9px; }
.gehen-v2 .gehen-option, .gehen-v2 .gehen-action { min-height:42px; padding:10px 14px; border:1px solid color-mix(in srgb, var(--gehen-color) 50%, transparent); border-radius:3px; background:color-mix(in srgb, var(--gehen-color) 5%, transparent); box-shadow:inset 0 0 13px color-mix(in srgb, var(--gehen-color) 5%, transparent); color:var(--gehen-active); font:inherit; font-size:var(--font-micro); letter-spacing:.07em; cursor:pointer; transition:background .14s steps(2,end), border-color .14s steps(2,end), color .14s steps(2,end), box-shadow .14s steps(2,end); }
.gehen-v2 .gehen-option:hover, .gehen-v2 .gehen-option:focus-visible, .gehen-v2 .gehen-option.is-selected, .gehen-v2 .gehen-action:hover, .gehen-v2 .gehen-action:focus-visible { border-color:color-mix(in srgb, var(--gehen-color) 72%, white 28%); background-color:color-mix(in srgb, var(--gehen-color) 7.5%, transparent); box-shadow:inset 0 0 18px color-mix(in srgb, var(--gehen-color) 8%, transparent), 0 0 8px color-mix(in srgb, var(--gehen-color) 12%, transparent); color:var(--gehen-active); outline:none; }
.gehen-v2 .gehen-primary-option, .gehen-v2 .gehen-start { min-width:min(100%, 280px); min-height:58px; padding:14px 20px; font-size:var(--font-system); letter-spacing:.08em; }
.gehen-v2 .gehen-start { border-color:color-mix(in srgb, var(--gehen-color) 72%, white 28%); box-shadow:inset 0 0 18px color-mix(in srgb, var(--gehen-color) 8%, transparent), 0 0 7px color-mix(in srgb, var(--gehen-color) 12%, transparent); color:var(--gehen-active); }
.gehen-v2 .gehen-start:disabled { border-color:color-mix(in srgb, var(--gehen-color) 24%, transparent); background:color-mix(in srgb, var(--gehen-color) 3%, transparent); box-shadow:none; color:var(--gehen-muted); cursor:not-allowed; opacity:.72; }
.gehen-v2 .gehen-start:disabled:hover { border-color:color-mix(in srgb, var(--gehen-color) 24%, transparent); background:color-mix(in srgb, var(--gehen-color) 3%, transparent); box-shadow:none; color:var(--gehen-muted); }
.gehen-v2 .gehen-logbook-control { margin-top:-3px; }
.gehen-v2 .gehen-logbook-control .gehen-option { min-width:154px; }
.gehen-start { color:var(--gehen-active); }
.gehen-cancel { color:var(--foreground); border-color:color-mix(in srgb, var(--foreground) 36%, transparent); }
.gehen-arrive { color:var(--gehen-active); }

.gehen-expedition, .gehen-return, .gehen-long-warning, .gehen-logbook { position:relative; overflow:hidden; border:1px solid color-mix(in srgb, var(--gehen-color) 38%, transparent); background:color-mix(in srgb, var(--gehen-color) 5%, transparent); padding:18px; }
.gehen-expedition[hidden], .gehen-return[hidden], .gehen-long-warning[hidden], .gehen-logbook[hidden] { display:none !important; }
.gehen-expedition { display:grid; grid-template-columns:minmax(0, 1fr) auto; gap:12px 16px; padding:28px 110px 28px 30px; }
.gehen-expedition-doctor { position:absolute; top:30px; right:30px; color:var(--gehen-color) !important; }
.gehen-expedition-copy { min-width:0; }
.gehen-expedition-id, .gehen-log-meta { color:var(--gehen-muted); font-size:var(--font-micro); letter-spacing:.07em; }
.gehen-expedition h2, .gehen-logbook h2 { margin:7px 0 9px; color:var(--gehen-active); font-size:1rem; letter-spacing:.08em; }
.gehen-expedition p { margin:0; color:var(--foreground); line-height:1.65; overflow-wrap:anywhere; }
.gehen-expedition-actions { grid-column:1 / -1; width:calc(100% + 80px); margin-right:-80px; justify-content:center; }
.gehen-expedition.is-closing { animation:gehenExpeditionClose .34s ease-out both; }
@keyframes gehenExpeditionClose { from { opacity:1; transform:none; } to { opacity:0; transform:translateY(-5px); } }

.gehen-v2 .gehen-stage { position:relative; isolation:isolate; width:min(100%, 560px); min-height:390px; margin:20px auto; overflow:hidden; display:grid; place-items:center; border:0; background:transparent; filter:drop-shadow(0 0 12px color-mix(in srgb, var(--gehen-color) 12%, transparent)); }
.gehen-stage::before { content:none; }
.gehen-passage { position:absolute; z-index:1; width:min(90%, 500px); height:156px; overflow:hidden; border-top:1px solid color-mix(in srgb, var(--gehen-color) 26%, transparent); border-bottom:1px solid color-mix(in srgb, var(--gehen-color) 26%, transparent); background:linear-gradient(180deg, color-mix(in srgb, var(--gehen-color) 4%, transparent), transparent 38%, color-mix(in srgb, var(--gehen-color) 3%, transparent)); -webkit-mask-image:linear-gradient(90deg, transparent 0, #000 12%, #000 88%, transparent 100%); mask-image:linear-gradient(90deg, transparent 0, #000 12%, #000 88%, transparent 100%); }
.gehen-passage::before, .gehen-passage::after { content:""; position:absolute; z-index:2; left:0; right:0; height:1px; background:color-mix(in srgb, var(--gehen-color) 18%, transparent); }
.gehen-passage::before { top:32%; }.gehen-passage::after { bottom:27%; }
.gehen-passage-drift { position:absolute; inset:0 auto 0 0; width:200%; background:repeating-linear-gradient(90deg, transparent 0 16px, color-mix(in srgb, var(--gehen-color) 22%, transparent) 17px, transparent 18px 42px), repeating-linear-gradient(90deg, transparent 0 46px, color-mix(in srgb, var(--gehen-active) 26%, transparent) 47px 48px, transparent 49px 95px), repeating-linear-gradient(180deg, transparent 0 25px, color-mix(in srgb, var(--gehen-color) 12%, transparent) 26px, transparent 27px 54px); background-size:96px 100%, 144px 100%, 100% 54px; opacity:.38; animation:gehenPassageDrift 32s linear infinite; will-change:transform; }
@keyframes gehenPassageDrift { from { transform:translateX(0); } to { transform:translateX(-50%); } }
.gehen-horizon { position:absolute; z-index:1; left:10%; right:10%; bottom:24%; height:1px; display:flex; justify-content:space-between; background:color-mix(in srgb, var(--gehen-color) 42%, transparent); }
.gehen-horizon-impulse { position:absolute; top:-1px; left:100%; width:13px; height:3px; background:var(--gehen-active); box-shadow:0 0 8px var(--gehen-color), 5px 0 0 color-mix(in srgb, var(--gehen-active) 48%, transparent); animation:gehenHorizonImpulse 6.6s linear infinite; }
.gehen-horizon-impulse-b { animation-delay:-2.2s; }
.gehen-horizon-impulse-c { animation-delay:-4.4s; }
.gehen-horizon i { width:3px; height:3px; margin-top:-1px; background:var(--gehen-active); box-shadow:0 0 10px var(--gehen-color); }
@keyframes gehenHorizonImpulse { 0% { left:100%; opacity:0; } 4% { opacity:.78; } 88% { opacity:.52; } 100% { left:-18px; opacity:0; } }
.gehen-readout { position:relative; z-index:3; width:min(85%, 520px); text-align:center; }
.gehen-state { color:var(--gehen-active); font-size:var(--font-meta); letter-spacing:.1em; }
.gehen-time { min-height:1.35em; margin:10px 0 7px; color:var(--foreground); font-size:clamp(1.7rem, 5vw, 2.8rem); letter-spacing:.08em; }
.gehen-detail { color:var(--gehen-muted); font-size:var(--font-micro); line-height:1.55; letter-spacing:.06em; }
.gehen-detail:empty { display:none; }
.gehen-detail.is-expedition-ready { color:var(--gehen-active); animation:gehenExpeditionReady 3.8s ease-in-out infinite; will-change:opacity,filter; }
@keyframes gehenExpeditionReady { 0%,100% { opacity:.58; filter:brightness(.86); text-shadow:none; } 50% { opacity:1; filter:brightness(1.2); text-shadow:0 0 7px color-mix(in srgb, var(--gehen-color) 42%, transparent); } }
.gehen-hint { margin:0; color:var(--gehen-muted); text-align:center; font-size:var(--font-micro); line-height:1.6; letter-spacing:.055em; }

.gehen-return { display:grid; gap:10px; }
.gehen-return label { color:var(--gehen-active); font-size:var(--font-meta); letter-spacing:.08em; }
.gehen-return textarea { width:100%; min-height:110px; resize:vertical; box-sizing:border-box; border:1px solid color-mix(in srgb, var(--gehen-color) 45%, transparent); background:rgba(0,0,0,.18); color:var(--foreground); padding:11px; font:inherit; line-height:1.55; }
.gehen-return textarea:focus-visible { outline:2px solid var(--gehen-active); outline-offset:2px; }
.gehen-long-warning { border-color:color-mix(in srgb, var(--gehen-active) 68%, transparent); }
.gehen-long-warning p { margin:0 0 13px; color:var(--foreground); line-height:1.6; }

.gehen-logbook { display:grid; gap:12px; }
.gehen-logbook h2 { margin:0; }
.gehen-log-entry { position:relative; padding:13px 88px 13px 0; border-top:1px solid color-mix(in srgb, var(--gehen-color) 24%, transparent); }
.gehen-log-entry h3 { margin:0 0 5px; color:var(--gehen-active); font-size:var(--font-meta); letter-spacing:.07em; }
.gehen-log-delete { position:absolute; top:13px; right:0; border:0; border-bottom:1px solid color-mix(in srgb, var(--gehen-muted) 44%, transparent); background:transparent; color:var(--gehen-muted); padding:2px 0; font:inherit; font-size:var(--font-micro); letter-spacing:.06em; cursor:pointer; }
.gehen-log-delete:hover, .gehen-log-delete:focus-visible { border-color:var(--gehen-active); color:var(--gehen-active); outline:none; }
.gehen-log-entry p { margin:8px 0 0; color:var(--foreground); line-height:1.65; white-space:pre-wrap; overflow-wrap:anywhere; }
.gehen-log-entry .gehen-log-expedition-title { color:var(--gehen-active); font-size:var(--font-micro); letter-spacing:.05em; }
.gehen-log-entry .gehen-log-expedition { color:var(--gehen-muted); }
.gehen-log-entry .gehen-log-observation { border-left:2px solid color-mix(in srgb, var(--gehen-color) 56%, transparent); padding-left:10px; }
.gehen-empty { margin:0; color:var(--gehen-muted); font-size:var(--font-micro); }

.gehen-sources { margin-top:28px; padding-top:17px; border-top:1px solid color-mix(in srgb, var(--gehen-color) 35%, transparent); }
.gehen-sources h2 { margin:0 0 15px; color:var(--gehen-active); font-size:var(--font-meta); letter-spacing:.08em; }
.gehen-sources p { padding-bottom:16px; border-bottom:1px solid color-mix(in srgb, var(--gehen-color) 18%, transparent); }
.gehen-sources span { color:var(--gehen-muted); font-size:.92em; }
.gehen-sources a { color:var(--gehen-active); overflow-wrap:anywhere; }
.gehen-v2 .gehen-closing-section { padding-bottom:24px; }
.gehen-v2 .gehen-system-message { max-width:none; margin:0; padding-right:80px; color:var(--gehen-active); font-size:var(--font-system); line-height:1.75; }
.gehen-v2 .gehen-footer { margin:0; padding:30px 0 0; }

/* Bestehender Lebenssysteme-Schreibimpuls: Auswahl wird lokal sichtbar bestätigt. */
button.life-save-flash { position:relative; overflow:hidden; }
button.life-save-flash::before { content:""; position:absolute; z-index:20; left:-20%; top:0; width:18%; height:100%; background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--cyan) 32%, transparent), transparent); pointer-events:none; animation:lifeSaveWrite .62s steps(5,end) both; }
button.life-save-flash::after { content:"✓"; position:absolute; z-index:21; top:2px; right:4px; color:var(--cyan); font-size:.58rem; line-height:1; font-weight:600; text-shadow:0 0 5px color-mix(in srgb, var(--cyan) 35%, transparent); pointer-events:none; animation:lifeSaveCheck .95s ease-out both; }
@keyframes lifeSaveWrite { 0% { left:-20%; opacity:0; } 18% { opacity:.78; } 72% { opacity:.5; } 100% { left:105%; opacity:0; } }
@keyframes lifeSaveCheck { 0% { opacity:0; transform:scale(.4); } 18% { opacity:1; transform:scale(1); } 72% { opacity:1; } 100% { opacity:0; transform:scale(.86); } }

@media (max-width:620px) {
    .gehen-title { padding:18px 16px; font-size:1.3rem; }
    .gehen-board { font-size:.78rem; }
    .gehen-v2 .gehen-disclosure > summary { min-height:66px; padding:20px 14px; gap:8px; }
    .gehen-v2 .gehen-disclosure-content { padding:0 14px 22px; font-size:.94rem; }
    .gehen-v2 .gehen-tool { margin:10px auto; padding:14px 2px 8px; }
    .gehen-v2 .gehen-stage { width:min(100%, 390px); min-height:350px; }
    .gehen-passage { width:92%; height:138px; }
    .gehen-expedition { grid-template-columns:1fr; padding:24px 14px 22px; }
    .gehen-expedition-doctor { position:relative; top:auto; right:auto; justify-self:end; margin:0 0 2px auto; grid-row:1; }
    .gehen-expedition-copy { grid-row:2; }
    .gehen-expedition-actions { grid-column:1; grid-row:3; width:auto; margin-right:0; }
    .gehen-v2 .gehen-system-message { padding-right:0; }
    .gehen-v2 .gehen-footer { padding-top:26px; }
    .gehen-v2 .gehen-mode-controls { display:grid; grid-template-columns:1fr; }
    .gehen-v2 .gehen-primary-option, .gehen-v2 .gehen-start { width:100%; min-width:0; }
    .gehen-option, .gehen-action { flex:1 1 auto; }
}

@media (prefers-reduced-motion:reduce) {
    .gehen-passage-drift { animation:none; transform:none; }
    .gehen-horizon-impulse { display:none; }
    .gehen-detail.is-expedition-ready { animation:none; }
    .gehen-v2 .gehen-disclosure-content { animation:none !important; }
    .gehen-expedition.is-closing { animation:none; }
    .gehen-option, .gehen-action { transition:none; }
    button.life-save-flash::before { display:none; }
    button.life-save-flash::after { animation:none; opacity:1; }
}
