/* LEAK SEASON SYSTEM v2.0.0 — LEAK TOKYO（光・奥行き・ネオン・グリッチ） */
:root {
  --lts-ink: #090909;
  --lts-red: #FF2A3D;
  --lts-display: "Archivo Black", "Archivo", "Helvetica Neue", Arial, sans-serif;
  --lts-sans: "Archivo", "Helvetica Neue", Arial, sans-serif;
  --lts-mono: "JetBrains Mono", ui-monospace, Menlo, monospace;
}

/* .lts-root はスタッキングコンテキストを作らない */
.lts-root { display: contents; }
.lts-root > * { position: fixed; pointer-events: none; z-index: 9992; }
.lts-root > .lts-cv { inset: 0; width: 100%; height: 100%; display: block; z-index: 9990; }
.lts-root > .lts-ov, .lts-root > .lts-sky { inset: 0; z-index: 9989; }
.lts-root > .is-out { opacity: 0 !important; transition: opacity .6s ease; }

/* ---------- 光のオーバーレイ ---------- */
.lts-sky--sunrise { background: linear-gradient(180deg, rgba(255,160,90,.14), rgba(255,200,150,.04) 40%, transparent 70%); mix-blend-mode: soft-light; }
.lts-sky--sunset { background: linear-gradient(180deg, rgba(255,110,60,.18), rgba(190,70,120,.08) 45%, transparent 75%); mix-blend-mode: soft-light; }
.lts-sky--night { background: radial-gradient(ellipse at 50% 20%, transparent 50%, rgba(10,20,60,.16) 100%); }
.lts-ov--ah { background: radial-gradient(ellipse at 50% 40%, transparent 50%, rgba(6,8,20,.22) 100%), rgba(6,8,20,.05); }
.lts-ov--dusk { background: radial-gradient(ellipse at 50% 40%, transparent 55%, rgba(20,8,0,.22)); }
.lts-ov--orange { background: radial-gradient(ellipse at 50% 110%, rgba(255,110,20,.26), transparent 60%), radial-gradient(ellipse at 50% 40%, transparent 55%, rgba(20,6,0,.28)); }
.lts-ov--red { background: radial-gradient(ellipse at 50% 50%, transparent 55%, rgba(226,38,26,.22)); animation: lts-pulse 1.1s ease-in-out 3; }
.lts-ov--bw { -webkit-backdrop-filter: grayscale(1) contrast(1.1); backdrop-filter: grayscale(1) contrast(1.1); }
.lts-ov--flare {
  background:
    linear-gradient(115deg, transparent 20%, rgba(255,190,110,.16) 32%, transparent 44%),
    linear-gradient(115deg, transparent 45%, rgba(255,120,60,.10) 52%, transparent 60%),
    radial-gradient(circle at 88% 6%, rgba(255,210,140,.45), transparent 30%);
  mix-blend-mode: screen; animation: lts-flare 9s ease-in-out infinite alternate;
}
.lts-root > .lts-ov--static {
  z-index: 9996;
  background:
    repeating-linear-gradient(0deg, rgba(255,255,255,.08) 0 1px, transparent 1px 3px),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"),
    #050505;
  animation: lts-static .12s steps(2) infinite;
}
.lts-ov--leak { background: rgba(4,4,6,.78); z-index: 9993 !important; }
.lts-ov--scan { background: repeating-linear-gradient(0deg, rgba(255,255,255,.06) 0 1px, transparent 1px 3px); z-index: 9994 !important; animation: lts-scan .3s linear infinite; }

/* ---------- ティッカー（サイトのUIに合わせた黒帯） ---------- */
.lts-tk {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 9995; height: 36px;
  display: flex; align-items: center; overflow: hidden;
  background: #090909; color: #fff; border-top: 2px solid var(--c);
  --c: #E2261A;
  font: 700 11px/1 var(--lts-mono); letter-spacing: .2em; text-transform: uppercase;
  animation: lts-up .45s cubic-bezier(.2,.8,.2,1) both;
}
.lts-tk__link { display: block; color: inherit !important; text-decoration: none !important; flex: 1; min-width: 0; height: 100%; }
.lts-tk__track { display: flex; width: max-content; height: 100%; align-items: center; animation: lts-marquee 44s linear infinite; }
.lts-tk__track span { padding: 0 20px; white-space: nowrap; }
.lts-tk__track b { width: 6px; height: 6px; background: var(--c); }
.lts-tk__x { flex: 0 0 36px; height: 100%; border: 0; border-left: 1px solid #2a2a2a; background: #090909; color: #fff; font: 400 18px/1 var(--lts-sans); cursor: pointer; padding: 0; }
.lts-tk__x:hover { background: var(--c); }
.lts-tk.is-out { transform: translateY(110%); transition: transform .35s ease; }
.lts-tk--drop { background: #E2261A; --c: #090909; }
.lts-tk--drop .lts-tk__x { background: #E2261A; border-color: rgba(0,0,0,.25); }
.lts-tk--red { --c: #E2261A; }
.lts-tk--gold { --c: #D9A441; }
.lts-tk--pink { --c: #F26D8B; }
.lts-tk--green { --c: #5DAA3F; }
.lts-tk--blue { --c: #6FA8FF; }
.lts-tk--orange { --c: #E08A2E; }
.lts-has-tk body { padding-bottom: 36px; }
.lts-has-tk .lt-line-float { bottom: 56px !important; }

/* ---------- グリッチ文字（LEAK / DROP / SOLD OUT） ---------- */
.lts-root > .lts-gtext { inset: 0; display: grid; place-items: center; z-index: 9996; animation: lts-in .25s ease both; }
.lts-gtext span, .lts-soldout span {
  position: relative; display: inline-block; font: 400 clamp(72px, 16vw, 220px)/.9 var(--lts-display); letter-spacing: -.02em; color: #fff;
  text-shadow: 0 4px 40px rgba(0,0,0,.35);
  animation: lts-jit 2.2s steps(1) infinite;
}
.lts-gtext.is-xl span { font-size: clamp(96px, 26vw, 360px); }
.lts-gtext span::before, .lts-gtext span::after, .lts-soldout span::before, .lts-soldout span::after {
  content: attr(data-t); position: absolute; inset: 0; mix-blend-mode: screen;
}
.lts-gtext span::before, .lts-soldout span::before { color: #FF1E4B; transform: translate(-.04em, 0); clip-path: inset(8% 0 58% 0); animation: lts-sl1 .9s steps(2) infinite; }
.lts-gtext span::after, .lts-soldout span::after { color: #1EE3FF; transform: translate(.04em, 0); clip-path: inset(56% 0 6% 0); animation: lts-sl2 1.1s steps(2) infinite; }
.lts-gtext.is-red span { color: #E2261A; text-shadow: 0 4px 40px rgba(0,0,0,.3); }
.lts-root > .lts-soldout { transform: translate(-50%, -50%) rotate(-8deg); z-index: 9993; }
.lts-soldout span { font-size: inherit; padding: .14em .32em .08em; background: #090909; border: 0; }
.lts-soldout.is-fool span { background: #E2261A; }

/* ---------- 数字（11:11 / カウントダウン） ---------- */
.lts-root > .lts-digits { inset: 0; display: grid; place-content: center; text-align: center; z-index: 9993; animation: lts-in .8s ease both; }
.lts-digits span {
  display: block; font: 300 clamp(80px, 17vw, 220px)/.9 var(--lts-sans); letter-spacing: .04em; color: #fff;
  text-shadow: 0 0 2px rgba(0,0,0,.6), 0 0 18px rgba(255,255,255,.7), 0 2px 30px rgba(0,0,0,.35);
}
.lts-digits small { display: inline-block; margin-top: 14px; padding: 7px 12px 6px; font: 700 11px/1 var(--lts-mono); letter-spacing: .3em; color: #fff; background: #090909; }
.lts-digits--cd span { font-weight: 800; font-style: italic; color: #E2261A; text-shadow: 0 0 2px rgba(0,0,0,.4), 0 6px 30px rgba(226,38,26,.45); }
.lts-digits.is-pop span { animation: lts-pop .5s cubic-bezier(.2,1.4,.4,1) both; }

/* ---------- BIG DROP：回転灯 ---------- */
.lts-root > .lts-beam {
  left: 50%; top: -60vmax; width: 150vmax; height: 150vmax; margin-left: -75vmax; z-index: 9991;
  background: conic-gradient(from 0deg, transparent 0 16deg, rgba(255,30,50,.42) 28deg, transparent 42deg 196deg, rgba(255,30,50,.42) 208deg, transparent 222deg);
  filter: blur(22px); mix-blend-mode: screen; animation: lts-spin 1.3s linear infinite;
}

/* ---------- AFTER HOURS：ネオン・月 ---------- */
.lts-root > .lts-neon { left: 22px; bottom: 26px; display: grid; gap: 4px; justify-items: start; z-index: 9993; }
.lts-has-tk .lts-root > .lts-neon { bottom: 62px; }
.lts-neon b {
  font: 700 italic 34px/1 var(--lts-sans); letter-spacing: .04em; color: #FFE9F6;
  padding: 6px 14px 8px; border: 2px solid #FF4FB8; border-radius: 10px;
  text-shadow: 0 0 6px #FF4FB8, 0 0 18px #FF4FB8, 0 0 36px #FF1E9A;
  box-shadow: 0 0 10px #FF4FB8, 0 0 28px rgba(255,30,154,.6), inset 0 0 12px rgba(255,79,184,.5);
  animation: lts-neon 5s linear infinite;
}
.lts-neon small { font: 700 10px/1 var(--lts-sans); letter-spacing: .4em; color: #D8FBFF; text-shadow: 0 0 6px #3DDCFF, 0 0 16px #3DDCFF; animation: lts-neon 7s linear 1s infinite; }
.lts-root > .lts-ahtag { left: 18px; bottom: 18px; z-index: 9993; padding: 8px 11px 7px; background: #090909; color: #bbb; font: 700 10px/1 var(--lts-mono); letter-spacing: .24em; border-left: 3px solid #E2261A; animation: lts-in .6s ease both; }
.lts-ahtag b { color: #fff; margin-left: 6px; }
.lts-has-tk .lts-root > .lts-ahtag { bottom: 52px; }
.lts-root > .lts-moon { right: 7vw; top: 110px; width: 38px; height: 38px; border-radius: 50%; box-shadow: 9px -5px 0 0 #FFF3C4; filter: drop-shadow(0 0 10px rgba(255,240,190,.9)) drop-shadow(0 0 30px rgba(255,240,190,.5)); }

/* ---------- HALLOWEEN ---------- */
.lts-root > .lts-pumpkin { left: 18px; bottom: 16px; width: 118px; z-index: 9993; filter: drop-shadow(0 0 22px rgba(255,120,20,.7)); animation: lts-in 1s ease both; }
.lts-has-tk .lts-root > .lts-pumpkin { bottom: 52px; }
.lts-pumpkin svg { display: block; width: 100%; height: auto; }
.lts-pk__face { filter: drop-shadow(0 0 6px #FFD54D); animation: lts-candle 1.6s ease-in-out infinite; }

/* ---------- STAR DAY：地平線の光 ---------- */
.lts-root > .lts-horizon { left: -30vw; right: -30vw; bottom: -118vh; height: 130vh; border-radius: 50%; z-index: 9989;
  box-shadow: 0 -2px 30px rgba(140,190,255,.8), 0 -20px 90px rgba(90,150,255,.35); border-top: 1px solid rgba(200,225,255,.9); }

/* ---------- シルエット ---------- */
.lts-walk svg { display: block; width: 100%; height: 100%; }
.lts-walk--skate { left: 0; bottom: 8px; width: 90px; height: 100px; animation: lts-cross 6s cubic-bezier(.4,.1,.6,.9) both;
  filter: drop-shadow(-14px 0 0 rgba(0,0,0,.14)) drop-shadow(-28px 0 0 rgba(0,0,0,.07)) drop-shadow(0 6px 10px rgba(0,0,0,.25)); }
.lts-has-tk .lts-walk--skate { bottom: 44px; }
.lts-walk--sleigh { left: 0; top: 16vh; width: 200px; height: 56px; animation: lts-cross 10.5s linear both;
  filter: drop-shadow(0 0 6px #fff) drop-shadow(0 0 18px rgba(170,210,255,.9)); }

/* ---------- WHO'S THERE? ---------- */
.lts-root > .lts-peek { right: 0; bottom: 14vh; width: 120px; height: 220px; z-index: 9993; transform: translateX(100%); animation: lts-peek 1.6s cubic-bezier(.3,.7,.2,1) .2s forwards; }
.lts-peek svg { width: 100%; height: 100%; display: block; filter: drop-shadow(-6px 0 20px rgba(0,0,0,.5)); }
.lts-peek__eyes { transform-box: fill-box; transform-origin: center; filter: drop-shadow(0 0 6px #FFE98A) drop-shadow(0 0 14px rgba(255,220,100,.8)); animation: lts-blink 4s infinite; }
.lts-peek em { position: absolute; right: 100%; top: 40px; margin-right: 6px; white-space: nowrap; padding: 7px 10px 6px; background: #090909; border-left: 3px solid #E2261A; font: 700 10px/1 var(--lts-mono); font-style: normal; letter-spacing: .24em; color: #fff;
  opacity: 0; animation: lts-in .6s ease 2.4s forwards; }
.lts-peek.is-hide { transform: translateX(100%) !important; animation: none; transition: transform .45s ease-in; }

/* ---------- SECRET：シューボックス ---------- */
.lts-box {
  position: fixed; bottom: 22px; z-index: 9995; width: 120px; height: 96px; padding: 0; border: 0; background: none;
  cursor: pointer; pointer-events: auto; -webkit-tap-highlight-color: transparent;
  filter: drop-shadow(0 14px 18px rgba(0,0,0,.45)) drop-shadow(0 0 1px rgba(255,255,255,.4));
  animation: lts-float-in 1s cubic-bezier(.2,.9,.3,1.2) both, lts-hover 3s ease-in-out 1s infinite;
}
.lts-has-tk .lts-box { bottom: 58px; }
.lts-box__art { position: relative; width: 150px; height: auto; display: block; margin: -30px 0 0 -15px; }
.lts-box__lid { transform-box: fill-box; transform-origin: 0% 100%; transition: transform .6s cubic-bezier(.2,1.3,.4,1); }
.lts-box.is-open { animation: none; }
.lts-box.is-open .lts-box__art { animation: lts-pop .5s cubic-bezier(.2,1.4,.4,1) both; }
.lts-box__rays { position: absolute; left: 50%; top: 40%; width: 360px; height: 360px; margin: -180px 0 0 -190px; border-radius: 50%;
  background: conic-gradient(from 0deg, transparent 0 10deg, rgba(255,255,255,.5) 14deg, transparent 22deg 55deg, rgba(255,255,255,.4) 60deg, transparent 68deg 110deg, rgba(255,255,255,.45) 116deg, transparent 124deg 170deg, rgba(255,255,255,.4) 176deg, transparent 184deg 230deg, rgba(255,255,255,.45) 236deg, transparent 244deg 290deg, rgba(255,255,255,.4) 296deg, transparent 304deg);
  -webkit-mask: radial-gradient(circle, #000 10%, transparent 68%); mask: radial-gradient(circle, #000 10%, transparent 68%);
  opacity: 0; transform: scale(.2); transition: all .8s ease; pointer-events: none; }
.lts-box.is-open .lts-box__rays { opacity: 1; transform: scale(1) rotate(30deg); animation: lts-spin 12s linear infinite; }
.lts-box__tag { position: absolute; left: 50%; bottom: 100%; transform: translate(-50%, 20px) scale(.6); opacity: 0; display: grid; gap: 4px; min-width: 170px; padding: 12px 14px;
  background: #090909; border-top: 3px solid #E2261A; text-align: center; box-shadow: 0 12px 30px rgba(0,0,0,.35); transition: all .5s cubic-bezier(.2,1.3,.4,1) .15s; }
.lts-box__tag b { font: 400 18px/1 var(--lts-display); letter-spacing: .02em; color: #fff; }
.lts-box__tag em, .lts-box__tag small { font: 700 10px/1.3 var(--lts-mono); font-style: normal; letter-spacing: .14em; color: #eee; }
.lts-box.is-open .lts-box__tag { opacity: 1; transform: translate(-50%, -14px) scale(1); }
.lts-box.is-out { opacity: 0; transform: translateY(20px); transition: all .6s ease; pointer-events: none; }

/* ---------- おみくじ ---------- */
.lts-omikuji { position: fixed; right: 22px; bottom: 60px; z-index: 9995; width: 120px; height: 210px; padding: 0; border: 0; background: none; cursor: pointer; pointer-events: auto; perspective: 700px; animation: lts-float-in .9s cubic-bezier(.2,.9,.3,1.2) both; }
.lts-omikuji__in { position: relative; display: block; width: 100%; height: 100%; transform-style: preserve-3d; transition: transform .9s cubic-bezier(.3,1.3,.4,1); }
.lts-omikuji.is-flip .lts-omikuji__in { transform: rotateY(180deg); }
.lts-omikuji__front, .lts-omikuji__back { position: absolute; inset: 0; backface-visibility: hidden; -webkit-backface-visibility: hidden; border-radius: 6px;
  display: grid; place-content: center; justify-items: center; gap: 10px; box-shadow: 0 16px 30px rgba(0,0,0,.35), 0 0 30px rgba(255,60,60,.35); }
.lts-omikuji__front { background: linear-gradient(160deg, #E83A3A, #A8111A); color: #fff; writing-mode: vertical-rl; font: 700 24px/1 "Hiragino Mincho ProN", "Yu Mincho", serif; letter-spacing: .3em; outline: 2px solid rgba(255,255,255,.85); outline-offset: -8px; }
.lts-omikuji__back { transform: rotateY(180deg); background: linear-gradient(180deg, #FFFDF6, #F3E7CF); color: #1a1a1a; outline: 2px solid #C8141E; outline-offset: -8px; padding: 14px; text-align: center; }
.lts-omikuji__back b { font: 800 40px/1 "Hiragino Mincho ProN", "Yu Mincho", serif; color: #C8141E; }
.lts-omikuji__back small { font: 700 11px/1.5 var(--lts-sans); }
.lts-omikuji__back em { font: 700 8px/1 var(--lts-mono); font-style: normal; letter-spacing: .14em; color: #8a6d3b; }
.lts-omikuji.is-out { opacity: 0; transform: translateY(30px); transition: all .5s ease; }

/* ---------- ロゴのグリッチ（LEAK DAY / LEAK MODE） ---------- */
.lts-leak .site-logo img, .lts-logo-glitch .site-logo img { animation: lts-logo 2.6s steps(1) infinite; }
.lts-shake body { animation: lts-shake .4s steps(6) both; }

/* ---------- keyframes ---------- */
@keyframes lts-marquee { to { transform: translateX(-50%); } }
@keyframes lts-up { from { transform: translateY(100%); opacity: 0; } to { transform: none; opacity: 1; } }
@keyframes lts-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes lts-pulse { 50% { opacity: .45; } }
@keyframes lts-spin { to { transform: rotate(360deg); } }
@keyframes lts-scan { to { background-position: 0 3px; } }
@keyframes lts-static { 50% { background-position: 0 1px, 37px -21px, 0 0; } }
@keyframes lts-flare { from { opacity: .7; transform: translateX(-2%); } to { opacity: 1; transform: translateX(2%); } }
@keyframes lts-pop { from { transform: scale(1.5); opacity: 0; filter: blur(8px); } to { transform: none; opacity: 1; filter: none; } }
@keyframes lts-cross { from { transform: translateX(-220px); } to { transform: translateX(calc(100vw + 40px)); } }
@keyframes lts-peek { to { transform: translateX(38%); } }
@keyframes lts-blink { 0%, 92%, 100% { transform: scaleY(1); } 95% { transform: scaleY(.1); } }
@keyframes lts-float-in { from { transform: translateY(40px) scale(.9); opacity: 0; } to { transform: none; opacity: 1; } }
@keyframes lts-hover { 50% { transform: translateY(-6px); } }
@keyframes lts-candle { 0%, 100% { opacity: 1; } 40% { opacity: .78; } 60% { opacity: .95; } 80% { opacity: .82; } }
@keyframes lts-neon { 0%, 18%, 22%, 25%, 53%, 57%, 100% { opacity: 1; } 20%, 24%, 55% { opacity: .35; } }
@keyframes lts-jit { 0%, 100% { transform: none; } 12% { transform: translate(3px, -1px) skewX(-6deg); } 13% { transform: none; } 58% { transform: translate(-4px, 1px); } 59% { transform: none; } }
@keyframes lts-sl1 { 0% { clip-path: inset(8% 0 58% 0); transform: translate(-.05em, 0); } 50% { clip-path: inset(40% 0 30% 0); transform: translate(-.02em, -.01em); } 100% { clip-path: inset(70% 0 5% 0); transform: translate(-.06em, .01em); } }
@keyframes lts-sl2 { 0% { clip-path: inset(56% 0 6% 0); transform: translate(.05em, 0); } 50% { clip-path: inset(10% 0 70% 0); transform: translate(.03em, .01em); } 100% { clip-path: inset(30% 0 45% 0); transform: translate(.06em, -.01em); } }
@keyframes lts-shake { 0%, 100% { transform: none; } 20% { transform: translate(-6px, 2px); } 40% { transform: translate(5px, -3px); } 60% { transform: translate(-3px, 3px); } 80% { transform: translate(3px, -1px); } }
@keyframes lts-logo {
  0%, 86%, 100% { transform: none; filter: none; clip-path: none; }
  88% { transform: translate(-3px, 0); filter: drop-shadow(3px 0 0 #FF1E4B) drop-shadow(-3px 0 0 #1EE3FF); clip-path: inset(0 0 55% 0); }
  91% { transform: translate(4px, 1px); filter: drop-shadow(-4px 0 0 #FF1E4B); clip-path: inset(40% 0 0 0); }
  94% { transform: translate(-1px, 0); filter: drop-shadow(2px 0 0 #1EE3FF); clip-path: none; }
}

@media (max-width: 767px) {
  .lts-tk { height: 34px; font-size: 11px; }
  .lts-has-tk body { padding-bottom: 34px; }
  .lts-has-tk .lt-line-float { bottom: 50px !important; }
  .lts-has-tk .lts-box { bottom: 50px; }
  .lts-neon b { font-size: 24px; }
  .lts-root > .lts-pumpkin { width: 84px; }
  .lts-walk--sleigh { width: 150px; height: 42px; }
  .lts-root > .lts-peek { width: 84px; height: 154px; }
  .lts-omikuji { width: 100px; height: 176px; right: 14px; }
}

@media (prefers-reduced-motion: reduce) {
  .lts-root *, .lts-root > *, .lts-tk, .lts-tk *, .lts-box, .lts-box *, .lts-omikuji, .lts-omikuji * { animation: none !important; transition: none !important; }
  .lts-tk__track { transform: none; }
}

/* ?lts_gallery=1 */
.lts-gallery { position: fixed; inset: 60px 20px auto; z-index: 9999; display: flex; flex-wrap: wrap; gap: 20px; justify-content: center; padding: 28px;
  background: #3a3a3a; border: 1px solid #555; max-height: calc(100vh - 100px); overflow: auto; }
.lts-gallery figure { margin: 0; display: grid; gap: 6px; justify-items: center; }
.lts-gallery canvas { max-width: 100%; height: auto; }
.lts-gallery figcaption { font: 700 10px/1 var(--lts-mono); letter-spacing: .14em; color: #aaa; }

/* =========================================================
   404｜LOST & FOUND（夜の路地）
   ========================================================= */
.lts-lf { position: relative; overflow: hidden; color: #fff; padding: 0 24px 110px; min-height: 80vh;
  background: radial-gradient(ellipse at 62% 0%, rgba(255,226,170,.22), transparent 42%), radial-gradient(ellipse at 50% 120%, rgba(60,80,140,.35), transparent 60%), #07070a; }
.lts-lf::before { content: ""; position: absolute; left: 58%; top: 0; width: 520px; height: 100%; margin-left: -260px;
  background: linear-gradient(180deg, rgba(255,232,190,.20), transparent 75%); clip-path: polygon(44% 0, 56% 0, 100% 100%, 0 100%); pointer-events: none; }
.lts-lf__wire { position: relative; height: 250px; margin: 0 -24px; }
.lts-lf__wire > svg { position: absolute; left: 0; top: 30px; width: 100%; height: 60px; }
.lts-lf__wire > svg path { stroke: rgba(255,255,255,.55); }
.lts-lf__pair { position: absolute; left: 58%; top: 61px; width: 120px; height: 190px; transform-origin: 50% 0; animation: lts-swing 3.2s ease-in-out infinite alternate;
  filter: drop-shadow(0 0 4px rgba(255,255,255,.5)); }
.lts-lf__pair svg { width: 100%; height: 100%; overflow: visible; }
.lts-lf__in { max-width: 880px; margin: 0 auto; position: relative; }
.lts-lf__kicker { font: 700 12px/1 var(--lts-mono); letter-spacing: .3em; color: #E2261A; margin: 0 0 14px; }
.lts-lf__title { font: 400 clamp(60px, 12vw, 150px)/.9 var(--lts-display); letter-spacing: -.02em; margin: 0 0 36px; color: #fff; }
.lts-lf__title span { color: #E2261A; }
.lts-lf__tag { position: relative; display: grid; grid-template-columns: auto 1fr; gap: 0 22px; align-items: start; max-width: 580px; padding: 22px 26px 22px 54px; margin: 0 0 40px;
  background: rgba(255,255,255,.05); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); border: 1px solid rgba(255,255,255,.18); box-shadow: 0 20px 50px rgba(0,0,0,.4); }
.lts-lf__tag::before { content: ""; position: absolute; left: 20px; top: 26px; width: 12px; height: 12px; border-radius: 50%; border: 2px solid rgba(255,255,255,.6); }
.lts-lf__no { font: 400 40px/.9 var(--lts-display); color: #E2261A; }
.lts-lf__tag dl { margin: 0; display: grid; grid-template-columns: auto 1fr; gap: 6px 14px; font: 500 12px/1.5 var(--lts-mono); color: #ddd; }
.lts-lf__tag dt { color: #888; letter-spacing: .12em; }
.lts-lf__tag dd { margin: 0; font-family: inherit; }
.lts-lf__msg { font-size: 15px; line-height: 1.9; margin: 0 0 28px; color: #cfcfd4; }
.lts-lf__search { max-width: 580px; margin: 0 0 32px; }
.lts-lf__links { display: flex; flex-wrap: wrap; gap: 10px; }
.lts-lf__links a { display: inline-flex; align-items: center; height: 46px; padding: 0 20px; border: 1px solid rgba(255,255,255,.35);
  font: 700 12px/1 var(--lts-mono); letter-spacing: .16em; color: #fff; text-decoration: none; background: rgba(255,255,255,.04); transition: all .25s ease; }
.lts-lf__links a:first-child { background: #fff; color: #07070a; }
.lts-lf__links a:hover { border-color: #E2261A; background: #E2261A; color: #fff; }
@keyframes lts-swing { from { transform: rotate(-6deg); } to { transform: rotate(5deg); } }
@media (max-width: 767px) {
  .lts-lf { padding: 0 16px 80px; }
  .lts-lf__wire { height: 200px; margin: 0 -16px; }
  .lts-lf__pair { left: 52%; width: 92px; height: 150px; }
  .lts-lf__tag { grid-template-columns: 1fr; padding: 20px 18px 20px 46px; }
}
@media (prefers-reduced-motion: reduce) { .lts-lf__pair { animation: none; } }
