@font-face { font-family: "Yume Inter"; src: url("/font/Inter-Regular.woff2") format("woff2"); font-display: swap; }
@font-face { font-family: "Yume Quicksand"; src: url("/font/Quicksand-Bold.woff2") format("woff2"); font-weight: 700; font-display: swap; }

:root { --bg:#111115; --surface:#1c1c23; --text:#f7f5f3; --muted:#aaa7ae; --line:rgba(255,255,255,.09); --accent:#ff4d59; --shell:1120px; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; min-width:320px; color:var(--text); background:var(--bg); font-family:"Yume Inter","Segoe UI",sans-serif; -webkit-font-smoothing:antialiased; }
body::before { content:""; position:fixed; inset:0; z-index:-2; pointer-events:none; background-image:radial-gradient(rgba(255,255,255,.035) 1px,transparent 1px); background-size:28px 28px; mask-image:linear-gradient(#000,transparent 72%); }
a { color:inherit; }
.shell { width:min(calc(100% - 40px),var(--shell)); margin-inline:auto; }
.skip-link { position:fixed; left:16px; top:-70px; z-index:99; padding:10px 15px; border-radius:0 0 10px 10px; color:#fff; background:var(--accent); font-weight:700; text-decoration:none; }
.skip-link:focus { top:0; }
.site-header { height:76px; border-bottom:1px solid var(--line); background:rgba(17,17,21,.86); backdrop-filter:blur(18px); }
.header-inner { height:100%; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.brand { height:52px; display:inline-flex; align-items:center; overflow:hidden; border-radius:8px; }
.brand img { display:block; width:176px; height:auto; }
.header-inner nav { display:flex; gap:8px; }
.header-inner nav a { padding:8px 13px; border-radius:999px; color:#cac7cd; font-size:14px; font-weight:700; text-decoration:none; }
.header-inner nav a:hover { color:#fff; background:rgba(255,255,255,.06); }
.header-inner nav .active { color:#fff; border:1px solid rgba(255,77,89,.28); background:rgba(255,77,89,.14); }
.header-inner nav .active span { color:var(--accent); }

.blog-hero { position:relative; isolation:isolate; overflow:hidden; border-bottom:1px solid var(--line); }
.blog-hero::after { content:""; position:absolute; inset:auto 0 0; z-index:-1; height:100px; background:linear-gradient(transparent,var(--bg)); }
.hero-orb { position:absolute; z-index:-2; border-radius:50%; }
.orb-one { width:480px; height:480px; right:8%; top:-55%; background:radial-gradient(circle,rgba(255,77,89,.18),transparent 70%); }
.orb-two { width:380px; height:380px; left:10%; bottom:-90%; background:radial-gradient(circle,rgba(98,181,243,.09),transparent 70%); }
.hero-inner { min-height:480px; display:grid; grid-template-columns:1fr 300px; align-items:center; gap:60px; padding-block:62px 75px; }
.eyebrow { display:flex; align-items:center; gap:10px; margin:0 0 18px; color:#d8d4da; font-size:12px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.eyebrow span { width:24px; height:2px; border-radius:9px; background:var(--accent); }
h1,h2,h3,strong,.footer-inner>a { font-family:"Yume Quicksand","Segoe UI",sans-serif; }
h1 { margin:0; font:700 clamp(48px,7vw,79px)/1.02 "Yume Quicksand",sans-serif; letter-spacing:-.045em; }
h1 em { color:var(--accent); font-style:normal; }
.hero-inner>div:first-child>p:last-child { max-width:620px; margin:23px 0 0; color:#aaa6af; font-size:17px; line-height:1.7; }
.hero-stamp { justify-self:center; width:230px; height:230px; display:flex; flex-direction:column; align-items:center; justify-content:center; border:1px solid rgba(255,255,255,.09); border-radius:50%; background:radial-gradient(circle at 35% 30%,#2a2832,#17171d 65%); box-shadow:0 35px 80px rgba(0,0,0,.4),0 0 0 28px rgba(255,255,255,.012),0 0 0 29px rgba(255,255,255,.035); transform:rotate(-7deg); }
.hero-stamp span { color:var(--accent); font-size:10px; font-weight:700; letter-spacing:.3em; }
.hero-stamp strong { margin:4px 0 8px; font-size:45px; }
.hero-stamp small { color:#77737c; font-size:8px; letter-spacing:.22em; }

.posts-section { padding-block:80px 115px; }
.section-top { display:flex; justify-content:space-between; align-items:end; gap:20px; margin-bottom:28px; }
.section-top p { margin:0 0 4px; color:var(--accent); font-size:10px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.section-top h2 { margin:0; font-size:30px; }
.section-top>span { color:#68646d; font-size:11px; }
.featured-post { display:grid; grid-template-columns:1.08fr .92fr; overflow:hidden; min-height:390px; border:1px solid var(--line); border-radius:25px; background:var(--surface); box-shadow:0 30px 70px rgba(0,0,0,.2); }
.post-visual { position:relative; isolation:isolate; overflow:hidden; min-height:390px; background:radial-gradient(circle at 50% 50%,rgba(255,77,89,.14),transparent 56%),#15151b; text-decoration:none; }
.post-visual::before { content:""; position:absolute; inset:0; z-index:-1; background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px); background-size:35px 35px; mask-image:radial-gradient(circle,#000,transparent 75%); }
.visual-ring { position:absolute; width:280px; height:280px; left:50%; top:50%; transform:translate(-50%,-50%); border:1px dashed rgba(255,255,255,.12); border-radius:50%; box-shadow:0 0 0 42px rgba(255,255,255,.01); }
.visual-center { position:absolute; inset:50% auto auto 50%; transform:translate(-50%,-50%); display:flex; flex-direction:column; align-items:center; line-height:1; }
.visual-center small { color:var(--accent); font-size:9px; font-weight:700; letter-spacing:.3em; }
.visual-center strong { margin:5px 0; font-size:84px; }
.visual-center span { color:#8c8891; font-size:11px; }
.mini-card { position:absolute; display:flex; flex-direction:column; min-width:105px; padding:11px 14px; border:1px solid var(--line); border-radius:13px; color:#85818a; background:rgba(30,30,38,.92); box-shadow:0 14px 35px rgba(0,0,0,.28); font-size:9px; text-transform:uppercase; letter-spacing:.05em; transition:transform .25s ease; }
.post-visual:hover .mini-card { transform:translateY(-5px); }
.mini-card b { color:#fff; font-size:15px; text-transform:none; letter-spacing:0; }
.card-one { left:8%; top:18%; border-left:3px solid var(--accent); }
.card-two { right:6%; top:24%; border-left:3px solid #62b5f3; transition-delay:.04s; }
.card-three { right:11%; bottom:13%; border-left:3px solid #64d3a1; transition-delay:.08s; }
.post-copy { padding:52px 46px; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; }
.post-tags { display:flex; align-items:center; gap:12px; color:#77737c; font-size:10px; }
.post-tags span { padding:5px 9px; border-radius:99px; color:var(--accent); background:rgba(255,77,89,.12); font-weight:700; }
.post-copy h3 { margin:18px 0 14px; font-size:clamp(25px,3vw,36px); line-height:1.26; letter-spacing:-.025em; }
.post-copy h3 a { text-decoration:none; }
.post-copy h3 a:hover { color:#ff7079; }
.post-copy>p { margin:0 0 22px; color:#96929b; font-size:14px; line-height:1.7; }
.read-more { display:inline-flex; align-items:center; gap:10px; color:#fff; font-size:12px; font-weight:700; text-decoration:none; }
.read-more span { color:var(--accent); transition:transform .2s ease; }
.read-more:hover span { transform:translateX(4px); }

.region-post-visual { background:radial-gradient(circle at 50% 50%,rgba(98,181,243,.13),transparent 56%),#15151b; }
.region-ring { overflow:hidden; border-color:rgba(98,181,243,.21); box-shadow:0 0 0 42px rgba(98,181,243,.015); }
.region-ring::before,.region-ring::after { content:""; position:absolute; border:1px solid rgba(98,181,243,.13); border-radius:50%; }
.region-ring::before { width:90px; height:110%; left:50%; top:-5%; transform:translateX(-50%); }
.region-ring::after { width:110%; height:90px; left:-5%; top:50%; transform:translateY(-50%); }
.region-ring span,.region-ring i { position:absolute; z-index:2; width:7px; height:7px; border-radius:50%; background:#62b5f3; box-shadow:0 0 0 5px rgba(98,181,243,.11),0 0 15px rgba(98,181,243,.6); }
.region-ring span { left:42px; top:78px; }
.region-ring i { right:45px; bottom:73px; background:#64d3a1; }
.region-center strong { margin:12px 0 9px; font-size:53px; }
.region-post-visual .card-one { border-left-color:#64d3a1; }
.region-post-visual .card-two { border-left-color:#62b5f3; }
.region-post-visual .card-three { border-left-color:#b18bf4; }
.format-post-visual { background:radial-gradient(circle at 50% 50%,rgba(177,139,244,.13),transparent 57%),#15151b; }
.format-ring { border-color:rgba(177,139,244,.2); box-shadow:0 0 0 42px rgba(177,139,244,.014); }
.format-ring::before,.format-ring::after { content:""; position:absolute; border:1px solid rgba(255,255,255,.08); border-radius:50%; }
.format-ring::before { width:78px; height:110%; left:50%; top:-5%; transform:translateX(-50%); }
.format-ring::after { width:110%; height:78px; left:-5%; top:50%; transform:translateY(-50%); }
.format-ring span,.format-ring i { position:absolute; z-index:2; width:8px; height:8px; border-radius:50%; }
.format-ring span { left:43px; top:83px; background:#62b5f3; box-shadow:0 0 0 5px rgba(98,181,243,.11); }
.format-ring i { right:44px; bottom:76px; background:#f2c75c; box-shadow:0 0 0 5px rgba(242,199,92,.1); }
.format-center strong { font-size:76px; }
.format-post-visual .card-one { border-left-color:#ff4d59; }
.format-post-visual .card-two { border-left-color:#f2c75c; }
.format-post-visual .card-three { border-left-color:#62b5f3; }
.schedule-post-visual { background:radial-gradient(circle at 50% 50%,rgba(98,181,243,.13),transparent 57%),#15151b; }
.schedule-ring { border-color:rgba(98,181,243,.19); box-shadow:0 0 0 42px rgba(98,181,243,.014); }
.schedule-ring::before,.schedule-ring::after { content:""; position:absolute; border:1px solid rgba(98,181,243,.1); border-radius:50%; }
.schedule-ring::before { width:90px; height:110%; left:50%; top:-5%; transform:translateX(-50%); }
.schedule-ring::after { width:110%; height:90px; left:-5%; top:50%; transform:translateY(-50%); }
.schedule-ring span,.schedule-ring i { position:absolute; z-index:2; width:7px; height:7px; border-radius:50%; }
.schedule-ring span { left:42px; top:80px; background:#62b5f3; box-shadow:0 0 0 5px rgba(98,181,243,.11); }
.schedule-ring i { right:42px; bottom:78px; background:#64d3a1; box-shadow:0 0 0 5px rgba(100,211,161,.1); }
.schedule-center strong { font-size:76px; }
.schedule-post-visual .card-one { border-left-color:#62b5f3; }
.schedule-post-visual .card-two { border-left-color:#eb8faf; }
.schedule-post-visual .card-three { border-left-color:#64d3a1; }
.night-post-visual { background:radial-gradient(circle at 50% 50%,rgba(113,138,223,.15),transparent 57%),#13151d; }
.night-ring { border-color:rgba(113,138,223,.22); box-shadow:0 0 0 42px rgba(113,138,223,.018); }
.night-ring::before,.night-ring::after { content:""; position:absolute; border:1px solid rgba(113,138,223,.1); border-radius:50%; }
.night-ring::before { width:90px; height:110%; left:50%; top:-5%; transform:translateX(-50%); }
.night-ring::after { width:110%; height:90px; left:-5%; top:50%; transform:translateY(-50%); }
.night-ring span,.night-ring i { position:absolute; z-index:2; width:6px; height:6px; border-radius:50%; }
.night-ring span { left:46px; top:75px; background:#f2c75c; box-shadow:0 0 10px rgba(242,199,92,.55); }
.night-ring i { right:45px; bottom:74px; background:#718adf; box-shadow:0 0 0 5px rgba(113,138,223,.1); }
.night-center strong { margin-block:15px 10px; font-size:44px; }
.night-post-visual .card-one { border-left-color:#718adf; }
.night-post-visual .card-two { border-left-color:#b18bf4; }
.night-post-visual .card-three { border-left-color:#62b5f3; }
.episode-post-visual { background:radial-gradient(circle at 50% 50%,rgba(98,181,243,.13),transparent 57%),#15151b; }
.episode-ring { border-color:rgba(98,181,243,.19); box-shadow:0 0 0 42px rgba(98,181,243,.014); }
.episode-ring::before { content:""; position:absolute; left:50%; top:50%; width:1px; height:112%; transform:translate(-50%,-50%) rotate(20deg); background:rgba(255,255,255,.09); }
.episode-ring span,.episode-ring i { position:absolute; z-index:2; width:8px; height:8px; border-radius:50%; }
.episode-ring span { left:43px; top:79px; background:#ff4d59; box-shadow:0 0 0 5px rgba(255,77,89,.1); }
.episode-ring i { right:43px; bottom:77px; background:#62b5f3; box-shadow:0 0 0 5px rgba(98,181,243,.1); }
.episode-center strong { margin-block:12px 9px; font-size:49px; }
.episode-center strong span { color:#62606a; font-size:.55em; }
.episode-post-visual .card-one { border-left-color:#ff4d59; }
.episode-post-visual .card-two { border-left-color:#62b5f3; }
.episode-post-visual .card-three { border-left-color:#f2c75c; }
.delay-post-visual { background:radial-gradient(circle at 50% 50%,rgba(255,138,103,.14),transparent 57%),#171419; }
.delay-ring { border-color:rgba(255,138,103,.2); box-shadow:0 0 0 42px rgba(255,138,103,.015); }
.delay-ring::before,.delay-ring::after { content:""; position:absolute; height:1px; background:rgba(255,138,103,.18); }
.delay-ring::before { width:105%; left:-2%; top:48%; transform:rotate(-24deg); }
.delay-ring::after { width:72%; left:14%; top:50%; border-top:1px dashed rgba(255,138,103,.28); background:none; transform:rotate(30deg); }
.delay-ring span,.delay-ring i { position:absolute; z-index:2; width:8px; height:8px; border-radius:50%; }
.delay-ring span { left:42px; top:77px; background:#f2c75c; box-shadow:0 0 0 5px rgba(242,199,92,.1); }
.delay-ring i { right:42px; bottom:76px; background:#ff8a67; box-shadow:0 0 0 5px rgba(255,138,103,.1); }
.delay-center strong { margin-block:15px 10px; color:#ff8a67; font-size:43px; letter-spacing:.02em; }
.delay-post-visual .card-one { border-left-color:#62b5f3; }
.delay-post-visual .card-two { border-left-color:#f2c75c; }
.delay-post-visual .card-three { border-left-color:#ff8a67; }
.subtitle-post-visual { background:radial-gradient(circle at 50% 50%,rgba(98,181,243,.14),transparent 57%),#141720; }
.subtitle-ring { overflow:hidden; border-color:rgba(98,181,243,.2); box-shadow:0 0 0 42px rgba(98,181,243,.014); }
.subtitle-ring::before,.subtitle-ring::after { content:""; position:absolute; left:50%; transform:translateX(-50%); border:1px solid rgba(255,255,255,.08); border-radius:999px; }
.subtitle-ring::before { top:72px; width:158px; height:36px; background:rgba(98,181,243,.035); }
.subtitle-ring::after { bottom:72px; width:195px; height:36px; background:rgba(100,211,161,.035); border-style:dashed; }
.subtitle-ring span,.subtitle-ring i { position:absolute; z-index:2; width:8px; height:8px; border-radius:50%; }
.subtitle-ring span { left:43px; top:79px; background:#62b5f3; box-shadow:0 0 0 5px rgba(98,181,243,.1); }
.subtitle-ring i { right:43px; bottom:77px; background:#64d3a1; box-shadow:0 0 0 5px rgba(100,211,161,.1); }
.subtitle-center strong { margin-block:12px 9px; color:#62b5f3; font-size:70px; letter-spacing:-.05em; }
.subtitle-post-visual .card-one { border-left-color:#f2c75c; }
.subtitle-post-visual .card-two { border-left-color:#64d3a1; }
.subtitle-post-visual .card-three { border-left-color:#b18bf4; }

.more-posts-heading { display:flex; align-items:center; gap:15px; margin:70px 0 22px; }
.more-posts-heading p { margin:0; color:#d9d5da; font:700 14px "Yume Quicksand",sans-serif; }
.more-posts-heading span { flex:1; height:1px; background:var(--line); }
.post-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.post-card { display:grid; grid-template-columns:210px 1fr; overflow:hidden; min-height:240px; border:1px solid var(--line); border-radius:20px; background:var(--surface); transition:transform .2s ease,border-color .2s ease; }
.post-card:hover { transform:translateY(-3px); border-color:rgba(255,77,89,.23); }
.post-card-visual { position:relative; display:grid; place-items:center; overflow:hidden; background:radial-gradient(circle,rgba(255,77,89,.13),transparent 62%),#15151b; text-decoration:none; }
.post-card-visual::before { content:""; position:absolute; width:145px; height:145px; border:1px dashed rgba(255,255,255,.11); border-radius:50%; }
.post-card-number { position:relative; z-index:2; color:#f6f3f5; font:700 58px "Yume Quicksand",sans-serif; }
.post-card-visual>div { position:absolute; inset:auto 14px 14px; display:flex; justify-content:center; gap:6px; }
.post-card-visual b { padding:5px 7px; border:1px solid var(--line); border-radius:7px; color:#aaa6af; background:#1d1d25; font-size:8px; }
.region-card-visual { background:radial-gradient(circle,rgba(98,181,243,.13),transparent 62%),#15151b; }
.region-card-visual::before { border-color:rgba(98,181,243,.16); }
.region-card-visual .post-card-number { font-size:42px; }
.format-card-visual { background:radial-gradient(circle,rgba(177,139,244,.13),transparent 62%),#15151b; }
.format-card-visual::before { border-color:rgba(177,139,244,.16); }
.schedule-card-visual { background:radial-gradient(circle,rgba(98,181,243,.13),transparent 62%),#15151b; }
.schedule-card-visual::before { border-color:rgba(98,181,243,.16); }
.night-card-visual { background:radial-gradient(circle,rgba(113,138,223,.15),transparent 62%),#13151d; }
.night-card-visual::before { border-color:rgba(113,138,223,.18); }
.night-card-visual .time-number { font-size:36px; }
.episode-card-visual { background:radial-gradient(circle,rgba(98,181,243,.13),transparent 62%),#15151b; }
.episode-card-visual::before { border-color:rgba(98,181,243,.16); }
.episode-card-visual .episode-number { font-size:40px; }
.delay-card-visual { background:radial-gradient(circle,rgba(255,138,103,.14),transparent 62%),#171419; }
.delay-card-visual::before { border-color:rgba(255,138,103,.18); }
.delay-card-visual .delay-number { color:#ff8a67; font-size:48px; }
.post-grid .post-card:last-child:nth-child(odd) { grid-column:1/-1; }
.post-card-copy { padding:27px; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; }
.post-card-copy h3 { margin:14px 0 9px; font-size:20px; line-height:1.35; }
.post-card-copy h3 a { text-decoration:none; }
.post-card-copy h3 a:hover { color:#ff7079; }
.post-card-copy>p { margin:0 0 15px; color:#89858e; font-size:11px; line-height:1.6; }

footer { border-top:1px solid var(--line); background:#0d0d11; }
.footer-inner { min-height:160px; display:grid; grid-template-columns:1fr auto; align-content:center; gap:8px 30px; }
.footer-inner>a { text-decoration:none; }
.footer-inner>a::before { content:"Y"; display:inline-grid; place-items:center; width:27px; height:27px; margin-right:8px; border-radius:8px; color:#fff; background:var(--accent); font-size:12px; }
.footer-inner p { margin:0; color:#57535c; font-size:10px; }
.footer-inner nav { grid-column:2; grid-row:1/span 2; display:flex; align-items:center; gap:20px; }
.footer-inner nav a { color:#85818a; font-size:11px; text-decoration:none; }
.footer-inner nav a:hover { color:#fff; }
:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }

@media(max-width:780px){
  .hero-inner { min-height:420px; grid-template-columns:1fr; }
  .hero-stamp { display:none; }
  .featured-post { grid-template-columns:1fr; }
  .post-visual { min-height:330px; }
  .post-copy { padding:35px 30px 40px; }
  .post-grid { grid-template-columns:1fr; }
}
@media(max-width:560px){
  .shell { width:min(calc(100% - 30px),var(--shell)); }
  .site-header { height:66px; }
  .brand { height:44px; }
  .brand img { width:143px; }
  .header-inner nav a:first-child { display:none; }
  .header-inner nav a { padding:7px 10px; font-size:12px; }
  .hero-inner { min-height:370px; padding-block:50px 65px; }
  h1 { font-size:49px; }
  .hero-inner>div:first-child>p:last-child { font-size:15px; }
  .posts-section { padding-block:58px 80px; }
  .section-top h2 { font-size:25px; }
  .post-visual { min-height:290px; }
  .visual-ring { width:220px; height:220px; }
  .visual-center strong { font-size:65px; }
  .mini-card { min-width:92px; padding:9px 11px; }
  .mini-card b { font-size:13px; }
  .card-one { left:4%; top:15%; }
  .card-two { right:3%; top:20%; }
  .card-three { right:7%; bottom:10%; }
  .post-copy { padding:30px 24px 34px; }
  .post-copy h3 { font-size:26px; }
  .more-posts-heading { margin-top:52px; }
  .post-card { grid-template-columns:1fr; }
  .post-card-visual { min-height:210px; }
  .post-card-copy { padding:25px 23px 29px; }
  .footer-inner { grid-template-columns:1fr; padding-block:38px; }
  .footer-inner nav { grid-column:1; grid-row:auto; margin-top:12px; }
}
@media(prefers-reduced-motion:reduce){ html{scroll-behavior:auto} *,*::before,*::after{transition-duration:.01ms!important} }
