.rl-section{position:relative}
.rl-stage{position:relative;margin-top:2.5rem}
.rl-view{position:relative;width:100%;overflow:clip;padding:.5rem 0 1.35rem;touch-action:pan-y;cursor:grab;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 2%,#000 98%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 2%,#000 98%,transparent 100%)}
.rl-section:not(.is-in) .rl-view{opacity:0}
.rl-view.is-dragging{cursor:grabbing}
.rl-view.is-dragging *{pointer-events:none}
.rl-view.is-drag-ready{user-select:none}
.rl-track{display:grid;grid-auto-flow:column;grid-auto-columns:19rem;gap:1.25rem;will-change:transform;transform:translate3d(0,0,0)}
.rl-track:not(.is-looping) [data-rail-copy="b"]{display:none}
.rl-mask{position:relative;min-width:0}
.rl-card{position:relative;min-width:0;border:1px solid var(--line);border-radius:var(--r3);background:var(--surface);box-shadow:var(--sh1);overflow:hidden;transition:transform 560ms var(--ease),border-color 300ms var(--ease),box-shadow 420ms var(--ease)}
.rl-card.is-source{opacity:0;transition:opacity 160ms linear}
.rl-card[hidden]{display:none}
.rl-card-open{display:flex;flex-direction:column;width:100%;height:100%;text-align:left}
.rl-art{position:relative;display:block;aspect-ratio:460/215;overflow:hidden;background:var(--surface-3);border-radius:var(--r3) var(--r3) 0 0}
.rl-art img{object-position:center}
.rl-art img{width:100%;height:100%;object-fit:cover;transform:scale(1.001);transition:transform 760ms var(--ease)}
.rl-art-veil{position:absolute;inset:0;background:linear-gradient(180deg,transparent 52%,rgba(11,9,15,.5));transition:opacity 420ms var(--ease)}
.rl-mock{position:absolute;inset:0;display:flex;align-items:flex-end;padding:1rem;background:var(--tone);background-blend-mode:screen,normal}
.rl-mock b{font:700 .8rem/1.2 var(--sans);color:#fff;letter-spacing:-.02em;text-shadow:0 2px .75rem rgba(0,0,0,.45)}
.rl-mock-lg b{font-size:1.6rem}
.rl-badge{position:absolute;left:.7rem;top:.7rem;z-index:2;display:inline-flex;align-items:center;gap:.3rem;padding:.32rem .55rem;border-radius:var(--r-pill);background:rgba(255,31,122,.94);color:#fff;font:600 .6rem/1 var(--sans);letter-spacing:.01em;box-shadow:0 .35rem 1rem -.4rem rgba(232,16,106,.55)}
.rl-badge.calm{background:rgba(16,13,20,.72);border:1px solid rgba(255,255,255,.16);color:#fff;box-shadow:none;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.rl-copy{display:flex;flex-direction:column;gap:.32rem;padding:1rem 1.05rem 1.1rem;flex:1 1 auto}
.rl-copy strong{display:-webkit-box;min-height:2.6em;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:.95rem;font-weight:640;letter-spacing:-.022em;line-height:1.3}
.rl-meta{display:flex;align-items:center;gap:.45rem;min-width:0;color:#5c5663;font:500 .6rem/1 var(--mono);letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rl-meta i{width:.2rem;height:.2rem;flex:none;border-radius:50%;background:var(--line-strong)}
.rl-foot{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:auto;padding-top:.7rem}
.rl-price{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;min-width:0;color:var(--fg)}
.rl-price b{font-size:.78rem;line-height:1.25;font-weight:640;letter-spacing:-.005em;color:var(--muted)}
.rl-price i{font-style:normal;font-size:.68rem;font-weight:560;color:var(--pink-deep);letter-spacing:-.01em}
.rl-go{display:inline-flex;align-items:center;gap:.3rem;flex:none;color:var(--pink-deep);font-size:.68rem;font-weight:620;opacity:0;transform:translateX(-.3rem);transition:opacity 300ms var(--ease),transform 380ms var(--ease)}
.rl-go svg{width:.85rem;height:.85rem;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
@media(hover:hover) and (pointer:fine){
  .rl-card:hover{transform:translateY(-.25rem);border-color:var(--pink-line);box-shadow:0 1.6rem 3.2rem -1.6rem rgba(22,19,26,.24),0 0 0 1px rgba(255,31,122,.1)}
  .rl-card:hover .rl-art img{transform:scale(1.05)}
  .rl-card:hover .rl-go{opacity:1;transform:none}
}
@media(hover:none),(pointer:coarse){
  .rl-view{cursor:default}
  .rl-go{opacity:1;transform:none}
}
.rl-empty{padding:3.5rem 0 4rem;text-align:center}
.rl-empty .gp-kicker{margin-bottom:.6rem}
.rl-empty h3{margin:0 0 .5rem;font:var(--t-h3);letter-spacing:var(--ls-h3)}
.rl-empty p{margin:0 auto 1.25rem;max-width:26rem;color:var(--muted);font-size:.875rem;line-height:1.6}
.rl-empty .gp-btn{margin-top:.25rem}

.rl-detail-layer{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:1rem}
.rl-detail-layer[hidden]{display:none}
.rl-detail-backdrop{position:absolute;inset:0;background:rgba(22,19,26,.42);-webkit-backdrop-filter:blur(.4rem);backdrop-filter:blur(.4rem);opacity:0}
.rl-detail{position:relative;width:min(56rem,calc(100vw - 2rem));max-height:calc(100dvh - 3rem);display:grid;grid-template-columns:minmax(15rem,19rem) minmax(0,1fr);border:1px solid var(--line);border-radius:1.25rem;background:var(--surface);box-shadow:0 3rem 8rem -2rem rgba(22,19,26,.42);overflow:hidden;will-change:transform}
.rl-detail.is-flying{overflow:visible;background:transparent;border-color:transparent;box-shadow:none}
.rl-detail-art{position:relative;aspect-ratio:2/3;background:var(--surface-3);overflow:hidden;will-change:transform}
.rl-detail.is-flying .rl-detail-art{border-radius:1rem;overflow:hidden;box-shadow:0 1.75rem 3.5rem -1.25rem rgba(22,19,26,.4)}
.rl-detail-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.rl-detail-art .rl-mock{position:absolute;inset:0}
.rl-detail-art .rl-art-veil{border-radius:inherit}
.rl-detail-body{position:relative;display:flex;flex-direction:column;justify-content:center;gap:1.05rem;padding:2.5rem 3rem;min-width:0;opacity:0;transition:opacity 300ms var(--ease)}
.rl-detail-body .gp-kicker{margin:0}
.rl-detail-body h2{margin:0;font:var(--t-h2);letter-spacing:var(--ls-h2);max-width:15ch}
.rl-detail-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .6rem;margin:-.35rem 0 0}
.rl-detail-meta span{padding:.28rem .55rem;border:1px solid var(--line);border-radius:var(--r-pill);background:var(--surface-2);color:var(--muted);font:500 .62rem/1 var(--mono);letter-spacing:.05em}
.rl-detail-status{display:inline-flex;align-items:center;gap:.45rem;padding:.4rem .7rem;border:1px solid rgba(31,191,117,.25);border-radius:var(--r-pill);color:#1d8a5b;font:500 .68rem/1 var(--mono);letter-spacing:.06em;width:fit-content}
.rl-detail-status i{width:.33rem;height:.33rem;border-radius:50%;background:var(--ok)}
.rl-detail-desc{margin:0;max-width:30rem;color:var(--muted);font-size:.875rem;line-height:1.65}
.rl-detail-durations{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem;max-width:34rem}
.rl-detail-durations button{display:flex;flex-direction:column;gap:.3rem;padding:.8rem .9rem;border:1px solid var(--line);border-radius:var(--r2);background:var(--surface);text-align:left;transition:border-color var(--d2),background var(--d2),transform var(--d1)}
.rl-detail-durations button b{font-size:.85rem;font-weight:620}
.rl-detail-durations button span{color:var(--muted);font-size:.72rem}
.rl-detail-durations button[aria-pressed="true"]{border-color:var(--pink-line);background:var(--pink-soft)}
.rl-detail-durations button[aria-pressed="true"] b{color:var(--pink-deep)}
.rl-detail-durations button:disabled{opacity:.45;cursor:not-allowed}
.rl-detail-quantity{margin:0;color:var(--muted);font-size:.76rem;line-height:1.5}
.rl-detail-actions{display:flex;gap:.75rem;flex-wrap:wrap}
.rl-detail-close{position:absolute;right:1rem;top:1rem;z-index:3;display:grid;place-items:center;width:2.5rem;height:2.5rem;border:1px solid var(--line);border-radius:50%;background:rgba(255,255,255,.9);color:var(--fg-2);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:border-color var(--d2),color var(--d2),transform var(--d1)}
.rl-detail-close:hover{border-color:var(--pink-line);color:var(--pink-deep)}
.rl-detail-close svg{width:1rem;height:1rem;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}
@media(hover:none),(pointer:coarse){
  .rl-detail-close{background:var(--surface)}
}
@media(max-width:900px){
  .rl-detail{grid-template-columns:minmax(11rem,14rem) minmax(0,1fr)}
  .rl-detail-body{padding:1.75rem}
}
@media(max-width:700px){
  .rl-track{grid-auto-columns:78vw}
  .rl-view{padding-bottom:1rem;-webkit-mask-image:none;mask-image:none}
  .rl-detail-layer{padding:.75rem}
  .rl-detail{grid-template-columns:1fr;width:min(26rem,calc(100vw - 1.5rem));max-height:calc(100dvh - 1.5rem);overflow-y:auto;border-radius:1.1rem}
  .rl-detail.is-flying{overflow:visible}
  .rl-detail-art{aspect-ratio:16/10;min-height:0}
  .rl-detail-art img{object-position:center 26%}
  .rl-detail-body{padding:1.5rem}
  .rl-detail-body h2{max-width:none}
  .rl-detail-durations{grid-template-columns:repeat(2,minmax(0,1fr));max-width:none}
  .rl-detail-actions .gp-btn{flex:1}
}
@media(prefers-reduced-motion:reduce){
  .rl-card,.rl-art img,.rl-go{transition:none}
  .rl-card:hover{transform:none}
  .rl-detail-body{transition:none}
}
