:root{
  --c1:#8a1a2b; --c2:#1a0508; --c3:#f06a7f;
  --ink:#f6efe6; --muted:rgba(246,239,230,.66); --line:rgba(246,239,230,.13);
  --gold:#d9b46a; --bg:#07060a;
  --pad:clamp(16px,4vw,56px);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;background:var(--bg);overflow-x:clip}
body{background:var(--bg);color:var(--ink);font-family:Manrope,system-ui,sans-serif;overflow-x:hidden;-webkit-font-smoothing:antialiased;min-height:100vh}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
:focus-visible{outline:2px solid var(--c3);outline-offset:3px;border-radius:8px}
[hidden]{display:none!important}
.skip{position:absolute;left:-999px;top:8px;z-index:20;background:var(--ink);color:#000;padding:10px 14px;border-radius:8px}
.skip:focus{left:8px}

/* Background layers */
#bg{position:fixed;inset:0;width:100vw;height:100vh;z-index:0;display:block;background:radial-gradient(120% 90% at 65% 40%,var(--c1),var(--c2) 70%)}
.grain{position:fixed;inset:-50%;z-index:1;pointer-events:none;opacity:.09;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  animation:grain 1.2s steps(6) infinite}
@keyframes grain{0%{transform:translate(0,0)}25%{transform:translate(-3%,2%)}50%{transform:translate(2%,-3%)}75%{transform:translate(-1%,3%)}100%{transform:translate(0,0)}}
.vignette{position:fixed;inset:0;z-index:1;pointer-events:none;background:radial-gradient(120% 90% at 50% 40%,transparent 40%,rgba(0,0,0,.72) 100%)}
main,header,footer{position:relative;z-index:2}

/* Header */
.top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:22px var(--pad)}
.logo{display:flex;align-items:baseline;gap:6px;line-height:1;white-space:nowrap}
.logo .the{font-family:"Pinyon Script",cursive;font-size:28px;color:var(--gold)}
.logo .name{font-family:Cinzel,serif;font-weight:600;letter-spacing:.18em;font-size:17px;color:var(--gold)}
nav{display:flex;gap:26px;font-size:14px;color:var(--muted)}
nav a{padding:12px 0}
nav a:hover{color:var(--ink)}
.sub{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:10px 18px;border-radius:999px;border:1px solid var(--line);font-size:14px;font-weight:600;background:rgba(255,255,255,.04);backdrop-filter:blur(8px);transition:background .3s,border-color .3s;white-space:nowrap}
.sub:hover{background:color-mix(in srgb,var(--c1) 30%,transparent);border-color:color-mix(in srgb,var(--c3) 60%,transparent)}
.sub i{width:8px;height:8px;border-radius:50%;background:var(--c3);box-shadow:0 0 12px var(--c3)}
.sub.big{margin-top:22px;padding:14px 22px;font-size:15px}
.top-right{display:flex;align-items:center;gap:10px}
.socials{display:inline-flex;gap:4px}
.soc{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;color:var(--muted);transition:color .3s,background .3s}
.soc svg{width:20px;height:20px}
.soc:hover{color:var(--ink);background:color-mix(in srgb,var(--c1) 30%,transparent)}
.follow{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin-top:22px}
.follow .sub.big{margin-top:0}
.follow-label{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-left:6px}
.big-soc .soc{border:1px solid var(--line)}

/* Shorts viewer */
body.lock{overflow:hidden}
.shorts-viewer{padding:0;border:0;margin:0;width:100vw;height:100dvh;max-width:none;max-height:none;background:transparent;color:var(--ink)}
.shorts-viewer::backdrop{background:rgba(5,4,8,.84);backdrop-filter:blur(12px)}
.sv-wrap{height:100%;display:grid;grid-template-columns:auto auto;grid-template-rows:auto auto;justify-content:center;align-content:center;gap:16px 22px;padding:24px}
.sv-frame{height:min(78dvh,900px);aspect-ratio:9/16;border-radius:22px;overflow:hidden;background:#000;box-shadow:0 40px 100px -20px color-mix(in srgb,var(--c1) 60%,#000)}
.sv-frame iframe{width:100%;height:100%;border:0;display:block}
.sv-side{display:flex;flex-direction:column;justify-content:center;gap:12px}
.sv-btn{width:52px;height:52px;border-radius:50%;border:1px solid var(--line);background:rgba(255,255,255,.06);display:grid;place-items:center;transition:background .3s}
.sv-btn:hover{background:color-mix(in srgb,var(--c1) 40%,transparent)}
.sv-btn svg{width:22px;height:22px}
.sv-info{grid-column:1/2;text-align:center}
.sv-info h3{font-size:16px;font-weight:600;margin:4px 0 2px}
.sv-count{font-size:12px;color:var(--muted);letter-spacing:.06em}
.sv-close{position:fixed;top:16px;right:16px}

/* Hero */
.hero{overflow-x:clip;display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:clamp(24px,4vw,64px);padding:clamp(20px,5vh,64px) var(--pad) 40px;min-height:calc(100vh - 90px)}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}
.eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--c3);box-shadow:0 0 14px var(--c3);animation:pulse 1.6s ease-in-out infinite}
@keyframes pulse{50%{transform:scale(1.8);opacity:.5}}
h1{font-family:Cinzel,serif;font-weight:500;font-size:clamp(40px,6.4vw,92px);line-height:.98;letter-spacing:.01em;margin:18px 0 14px;overflow-wrap:anywhere}
h1 .w{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.06em}
h1 .w span{display:inline-block}
.js h1 .w span{transform:translateY(105%);transition:transform 1s cubic-bezier(.2,.8,.2,1)}
.js h1.in .w span{transform:translateY(0)}
.title-rest{font-size:clamp(13px,1.15vw,15px);letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb,var(--c3) 55%,var(--ink));margin:-2px 0 14px;max-width:52ch;line-height:1.5}
.sub-title{font-size:clamp(15px,1.4vw,18px);color:var(--muted);max-width:46ch;line-height:1.6}
.meta{display:flex;flex-wrap:wrap;gap:10px;margin:26px 0 30px}
.chip{padding:8px 14px;border-radius:999px;border:1px solid var(--line);font-size:13px;color:var(--muted);background:rgba(0,0,0,.25);backdrop-filter:blur(6px)}
.chip b{color:var(--ink);font-weight:600}
.cta{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.play-btn{display:inline-flex;align-items:center;gap:12px;min-height:52px;padding:14px 26px 14px 16px;border-radius:999px;font-weight:700;font-size:15px;color:#120507;
  background:linear-gradient(135deg,var(--c3),color-mix(in srgb,var(--c3) 70%,#fff));box-shadow:0 18px 50px -12px color-mix(in srgb,var(--c1) 80%,transparent);transition:transform .3s}
.play-btn:hover{transform:translateY(-2px) scale(1.02)}
.play-btn .tri{width:34px;height:34px;border-radius:50%;background:rgba(0,0,0,.2);display:grid;place-items:center}
.play-btn .i-pause,.play-btn[data-state="playing"] .i-play{display:none}
.play-btn[data-state="playing"] .i-pause{display:block}
.play-btn[data-state="loading"] .tri{animation:pulse 1s ease-in-out infinite}
.play-label{min-width:7.5em;text-align:left}
.ghost{font-size:14px;color:var(--muted);border-bottom:1px solid var(--line);padding:10px 0 2px}
.ghost:hover{color:var(--ink)}
.wave{display:flex;gap:4px;align-items:center;height:22px;margin-top:22px}
.wave span{width:3px;border-radius:2px;background:var(--gold);opacity:.55;height:6px;animation:eq 1.1s ease-in-out infinite;animation-play-state:paused;transition:opacity .4s}
body.is-playing .wave span{animation-play-state:running;opacity:.85}
@keyframes eq{0%,100%{height:4px}50%{height:22px}}

.stage{position:relative;aspect-ratio:4/3;width:100%;max-width:640px;justify-self:center;touch-action:pan-y}
.stage svg.art{position:absolute;inset:0;width:100%;height:100%;display:block;overflow:visible;cursor:crosshair}
.bubble-glow{fill:none;stroke:var(--c3);stroke-width:12;opacity:.55}
.bubble-rim{fill:none;stroke:url(#rim);stroke-width:1.8}
.stage .halo{position:absolute;inset:-6% 4%;border-radius:50%;filter:blur(60px);background:radial-gradient(circle,var(--c1),transparent 70%);opacity:.75}
.player{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);aspect-ratio:16/9;border-radius:clamp(12px,3.4%,22px);overflow:hidden;opacity:0;pointer-events:none;transition:opacity .5s;box-shadow:0 40px 90px -20px rgba(0,0,0,.8);background:#000}
.player.on{opacity:1;pointer-events:auto}
.stage.needs-tap::after{content:"\2191  Tap the video to start";position:absolute;left:50%;top:calc(87.5% + 6px);transform:translateX(-50%);z-index:4;pointer-events:none;padding:8px 16px;border-radius:999px;font-size:13px;font-weight:600;color:#120507;background:var(--c3);box-shadow:0 10px 30px -8px rgba(0,0,0,.7);animation:breathe 1.8s ease-in-out infinite;white-space:nowrap}
@keyframes breathe{50%{opacity:.6}}
.stage.needs-tap{margin-bottom:0}
.play-btn[data-state="tap"] .tri{animation:pulse 1.2s ease-in-out infinite}
.player iframe{width:100%;height:100%;border:0;display:block}
.player.docked{position:fixed;inset:auto 16px 16px auto;transform:none;aspect-ratio:16/9;overflow:visible;width:min(380px,calc(100vw - 32px));z-index:40;border-radius:14px;box-shadow:0 24px 60px -10px rgba(0,0,0,.85);outline:1px solid var(--line)}
.dock-bar{display:none}
.player.docked iframe{border-radius:inherit}
.player.docked .dock-bar{display:flex;align-items:center;gap:6px;position:absolute;left:0;right:46px;top:-46px;height:38px;z-index:3;cursor:grab;touch-action:none;user-select:none}
.player.dragging .dock-bar{cursor:grabbing}
.player.dragging iframe{pointer-events:none}
.player.dragging{transition:none;box-shadow:0 30px 70px -10px rgba(0,0,0,.9),0 0 0 1px color-mix(in srgb,var(--c3) 60%,transparent)}
.dock-grip{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:rgba(10,8,12,.82);border:1px solid var(--line);color:var(--muted);flex:none}
.dock-grip svg{width:16px;height:16px;fill:currentColor}
.dock-back{min-height:38px;padding:6px 14px;border-radius:999px;background:rgba(10,8,12,.82);border:1px solid var(--line);font-size:12px;font-weight:600;backdrop-filter:blur(8px)}
.player.docked .close{width:38px;height:38px;font-size:17px;top:-46px;right:0;background:rgba(10,8,12,.82);border:1px solid var(--line)}
.close{position:absolute;top:8px;right:8px;z-index:3;width:44px;height:44px;border-radius:50%;background:rgba(0,0,0,.65);display:grid;place-items:center;font-size:20px}

/* Sections */
section{padding:30px var(--pad) 40px}
.sec-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:18px;flex-wrap:wrap}
h2{font-family:Cinzel,serif;font-weight:500;font-size:clamp(22px,2.4vw,32px);letter-spacing:.04em}
.hint{font-size:13px;color:var(--muted)}
.moods{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}
.mood{min-height:40px;padding:9px 16px;border-radius:999px;border:1px solid var(--line);font-size:13px;color:var(--muted);transition:all .3s}
.mood.on,.mood:hover{color:var(--ink);border-color:color-mix(in srgb,var(--c3) 70%,transparent);background:color-mix(in srgb,var(--c1) 25%,transparent)}
.rail{display:grid;grid-auto-flow:column;grid-auto-columns:clamp(230px,26vw,340px);gap:18px;overflow-x:auto;padding:6px 2px 18px;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}
.rail::-webkit-scrollbar{display:none}
.rail:not(.grid){-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 56px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 56px),transparent)}
.rail.dragging{scroll-snap-type:none;cursor:grabbing}
.rail.dragging .card{pointer-events:none}
.rail.grid{grid-auto-flow:row;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));overflow:visible}
.rail-ctl{display:flex;align-items:center;gap:8px}
.rail-btn{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;background:rgba(255,255,255,.04);transition:background .3s,opacity .3s}
.rail-btn svg{width:20px;height:20px}
.rail-btn:hover:not(:disabled){background:color-mix(in srgb,var(--c1) 35%,transparent)}
.rail-btn:disabled{opacity:.3;cursor:default}
.rail-ctl.no-scroll .rail-btn{display:none}
.see-all{min-height:40px;padding:8px 16px;border-radius:999px;border:1px solid var(--line);font-size:13px;font-weight:600;color:var(--muted)}
.see-all:hover{color:var(--ink);border-color:color-mix(in srgb,var(--c3) 60%,transparent)}
.sec-head .hint{margin-top:6px}
.card{display:block;scroll-snap-align:start;text-align:left;border-radius:20px;padding:10px;background:rgba(255,255,255,.035);border:1px solid var(--line);transition:transform .4s cubic-bezier(.2,.8,.2,1),border-color .4s,background .4s}
.card:hover{transform:translateY(-6px)}
.card.active{border-color:color-mix(in srgb,var(--c3) 70%,transparent);background:color-mix(in srgb,var(--c1) 14%,rgba(255,255,255,.03))}
.thumb{position:relative;aspect-ratio:16/9;border-radius:14px;overflow:hidden;background:rgba(0,0,0,.3)}
.thumb img{width:100%;height:100%;object-fit:cover;transition:transform .8s}
.card:hover .thumb img{transform:scale(1.06)}
.dur{position:absolute;right:8px;bottom:8px;font-size:12px;font-weight:600;padding:3px 8px;border-radius:6px;background:rgba(0,0,0,.72)}
.now{position:absolute;left:8px;top:8px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;padding:4px 9px;border-radius:999px;background:var(--c3);color:#120507;font-weight:700;opacity:0;transition:opacity .3s}
.card.active.playing .now{opacity:1}
.card h3{font-size:15px;font-weight:600;line-height:1.35;margin:12px 4px 6px}
.card p{font-size:12.5px;color:var(--muted);margin:0 4px 6px}
.shorts{grid-auto-columns:clamp(150px,14vw,190px);gap:16px}
.short-card{position:relative;display:block;aspect-ratio:9/16;border-radius:18px;overflow:hidden;scroll-snap-align:start;background:#000;isolation:isolate;
  box-shadow:0 0 0 1px var(--line);transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s}
.short-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.02);transition:transform 1.2s cubic-bezier(.2,.8,.2,1),filter .5s;filter:saturate(.92)}
.short-card::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(0,0,0,.35) 0,transparent 26%,transparent 52%,rgba(0,0,0,.85) 100%)}
.short-card:hover{transform:translateY(-6px);box-shadow:0 0 0 1px color-mix(in srgb,var(--c3) 60%,transparent),0 26px 60px -22px color-mix(in srgb,var(--c1) 85%,#000)}
.short-card:hover img{transform:scale(1.08);filter:saturate(1.08)}
.sc-views{position:absolute;z-index:2;top:10px;left:10px;padding:4px 9px;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.02em;background:rgba(0,0,0,.45);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.12)}
.sc-play{position:absolute;z-index:2;left:50%;top:44%;width:52px;height:52px;margin:-26px 0 0 -26px;border-radius:50%;display:grid;place-items:center;color:#120507;background:var(--c3);opacity:0;transform:scale(.7);transition:opacity .35s,transform .35s;box-shadow:0 12px 30px -8px rgba(0,0,0,.7)}
.sc-play svg{width:22px;height:22px;margin-left:2px}
.short-card:hover .sc-play,.short-card:focus-visible .sc-play{opacity:1;transform:scale(1)}
.sc-title{position:absolute;z-index:2;left:12px;right:12px;bottom:12px;font-size:13.5px;font-weight:600;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-shadow:0 1px 8px rgba(0,0,0,.6)}
@media (hover:none){.sc-play{opacity:.92;transform:scale(.8)}}
.note{max-width:760px;font-size:15px;line-height:1.75;color:var(--muted);margin-top:12px}
.note.small{font-size:13px}

/* Mix page */
.detail{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(20px,4vw,56px);padding:0 var(--pad)}
.detail section{padding:20px 0}
.tracks ol{list-style:none;margin-top:14px;border-top:1px solid var(--line)}
.seek{display:flex;gap:18px;width:100%;min-height:48px;align-items:center;text-align:left;padding:10px 6px;border-bottom:1px solid var(--line);font-size:15px;transition:background .3s}
.seek:hover{background:color-mix(in srgb,var(--c1) 18%,transparent)}
.seek .tm{font-variant-numeric:tabular-nums;color:var(--c3);min-width:62px;font-weight:600}

/* Simple pages */
.prose{max-width:760px;padding:30px var(--pad) 60px}
.prose h2{margin:30px 0 8px;font-size:22px}
.prose p,.prose li{color:var(--muted);line-height:1.75;font-size:15px}
.prose ul{padding-left:20px;margin-top:6px}
.prose li{margin:8px 0}
.prose b,.prose strong{color:var(--ink)}
.prose a:not(.sub){text-decoration:underline;text-underline-offset:3px}
.page-title{font-size:clamp(34px,5vw,60px);margin-bottom:6px}
.center{text-align:center;margin:8vh auto}

footer{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center;padding:30px var(--pad) 40px;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}
footer a{display:inline-block;padding:10px 2px}
footer a:hover{color:var(--ink)}

@media (max-width:900px){
  .hero{grid-template-columns:1fr;min-height:auto;padding-top:10px}
  .stage{max-width:520px;order:-1}
  .detail{grid-template-columns:1fr}
  nav{display:none}
  .top-soc{display:none}
  .sv-wrap{grid-template-columns:auto;padding:16px;gap:12px}
  .sv-frame{height:min(70dvh,calc((100vw - 32px) * 16 / 9))}
  .sv-side{flex-direction:row;justify-content:center;order:3}
  .sv-info{grid-column:1}
}
@media (max-width:700px){
  .player.docked{width:min(250px,62vw);right:12px;bottom:12px}
  #rail,#moreRail{grid-auto-flow:row;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;overflow:visible;-webkit-mask-image:none;mask-image:none}
  #rail .card,#moreRail .card{padding:7px;border-radius:16px}
  #rail .card h3,#moreRail .card h3{font-size:13.5px;margin:9px 3px 4px}
  #rail .card p,#moreRail .card p{font-size:11.5px;margin:0 3px 4px}
  .rail-ctl .see-all{display:none}
  .thumb{border-radius:11px}
}
@media (max-width:420px){
  .sub .long{display:none}
  .logo .the{font-size:24px}.logo .name{font-size:15px;letter-spacing:.14em}
}
html.still *,html.still *::before,html.still *::after{transition:none!important}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .js h1 .w span{transform:none}
  html{scroll-behavior:auto}
}
