.bowling-journey{--strike:0;background:radial-gradient(ellipse at 65% 25%,#32403880,transparent 65%),#17201d;color:#faf4e9;border:1px solid #3b4840;border-radius:14px;padding:24px 28px 16px;margin-bottom:38px;box-shadow:0 14px 36px #1d271812;overflow:hidden}
.bowling-journey-header{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:44px}
.bowling-journey-header p{font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:#d6c2a1;margin:0}
.bowling-journey-control{display:flex;align-items:center;justify-content:center;gap:9px;min-height:44px;border:1px solid #ffffff35;border-radius:24px;padding:9px 15px;background:#ffffff08;color:#f9f3e9;font:inherit;font-size:12px;cursor:pointer;flex-shrink:0}
.bowling-journey-control[hidden]{display:none}
.bowling-journey-control:hover{background:#ffffff18;border-color:#d6c2a1}
.bowling-journey-control svg{width:18px;height:18px;fill:currentColor;stroke:currentColor;stroke-width:2}
.journey-pause-icon{display:none}
[data-state=running] .journey-pause-icon{display:block}
[data-state=running] .journey-play-icon{display:none}
.bowling-journey-scene{position:relative;min-width:0}
.bowling-lane{width:100%;height:auto;display:block;overflow:visible}
.bowling-lane-tall{display:none}
.journey-marker{fill:#4c5b51;stroke:#4c5b51;stroke-width:1.5}
.journey-marker.is-reached{fill:#f6d5a0;stroke:#d8b276}
.bowling-strike{position:absolute;right:5%;top:-2%;display:flex;gap:12px;align-items:center;opacity:var(--strike);transform:translateY(calc((1 - var(--strike))*9px));pointer-events:none}
.bowling-strike strong{font-size:clamp(22px,3.5vw,43px);line-height:1;font-style:italic;letter-spacing:-.045em;font-weight:700;color:#f6d5a0}
.bowling-journey-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));list-style:none;margin:0;padding:0;gap:10px}
.bowling-journey-steps li{border-top:1px solid #ffffff26;min-width:0;position:relative}
.bowling-journey-steps li:before{content:'';height:2px;position:absolute;left:0;top:-1px;width:100%;background:#e4bc7e;transform:scaleX(0);transform-origin:left;transition:transform .3s}
.bowling-journey-steps li.is-reached:before{transform:scaleX(1)}
.bowling-journey-steps button{font:inherit;display:flex;align-items:flex-start;flex-direction:column;gap:10px;width:100%;min-height:104px;padding:17px 12px 12px;text-align:left;border:0;border-radius:0 0 7px 7px;background:transparent;color:#c9d0c9;cursor:pointer;transition:background .2s,color .2s}
.bowling-journey-steps button:disabled{cursor:default;opacity:1}
.bowling-journey-steps button:not(:disabled):hover{background:#ffffff08;color:#fff}
.bowling-journey-steps .is-active button{color:#fff9ef;background:linear-gradient(#f1d09b12,transparent)}
.journey-step-number{font-size:11px;letter-spacing:.1em;color:#a8b5a8;display:flex;align-items:center;gap:10px}
.journey-step-number:after{content:'';display:block;width:5px;height:5px;border-radius:50%;background:#536459}
.is-active .journey-step-number{color:#f6d5a0}
.is-active .journey-step-number:after{background:#f6d5a0;box-shadow:0 0 12px #e6bb7e80}
.journey-step-label{font-size:15px;line-height:1.45}
.journey-step-strike{display:none;color:#f6d5a0;font-size:18px;font-weight:600;font-style:italic}
.bowling-journey button:focus-visible{outline:2px solid #f6d5a0;outline-offset:4px}
@media(max-width:700px){
 .bowling-journey{padding:20px 16px 16px;border-radius:10px}
 .bowling-journey-header{gap:12px;margin-bottom:20px}
 .bowling-journey-header p{max-width:200px;font-size:10px;letter-spacing:.1em;line-height:1.7}
 .bowling-journey-body{display:grid;grid-template-columns:clamp(105px,24vw,150px) minmax(0,1fr);gap:14px;align-items:stretch}
 .bowling-lane-wide{display:none}.bowling-lane-tall{display:block}
 .bowling-journey-steps{grid-template-columns:1fr;grid-template-rows:repeat(5,minmax(0,1fr));gap:0}
 .bowling-journey-steps li{border-top:0;border-bottom:1px solid #ffffff18}
 .bowling-journey-steps li:last-child{border-bottom:0}
 .bowling-journey-steps li:before{width:2px;height:100%;left:-7px;top:0;transform:scaleY(0);transform-origin:top}
 .bowling-journey-steps li.is-reached:before{transform:scaleY(1)}
 .bowling-journey-steps button{height:100%;min-height:70px;justify-content:center;padding:10px 8px;gap:6px;border-radius:0 6px 6px 0}
 .bowling-journey-steps .is-active button{background:linear-gradient(90deg,#f1d09b12,transparent)}
 .journey-step-label{font-size:14px}
 .bowling-strike{display:none}
 .is-strike .journey-step-strike{display:block;opacity:var(--strike)}
}
@media(max-width:480px){.bowling-journey-control{padding:10px;width:44px;height:44px}.bowling-journey-control span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}}
@media print{.bowling-journey-control{display:none}.bowling-journey{break-inside:avoid;box-shadow:none;print-color-adjust:exact}}

.branch-bowling-journey .bowling-journey{margin-bottom:24px}
@media(prefers-reduced-motion:reduce){.bowling-journey *{transition:none!important}}
