@import url("https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Noto+Sans+JP:wght@400;500;700;900&display=swap");
:root{--ink:#efeee8;--muted:#a6a6a2;--black:#090b0c;--panel:#101416;--line:#303738;--acid:#c9ff58;--red:#f0524d;--blue:#65a8ff;--amber:#e9b44c}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:var(--ink);font-family:"Noto Sans JP",sans-serif;line-height:1.7}.topbar{position:sticky;top:0;z-index:10;height:66px;padding:0 clamp(20px,5vw,78px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(9,11,12,.9);backdrop-filter:blur(14px);font:12px "DM Mono",monospace;letter-spacing:.08em}.brand{color:var(--ink);font-size:15px;text-decoration:none}.brand span{color:var(--acid)}nav{display:flex;gap:24px}nav a{color:var(--muted);text-decoration:none}.station-intro,.programs,.on-air,.archive,.about{padding-left:clamp(20px,8vw,130px);padding-right:clamp(20px,8vw,130px)}.station-intro{min-height:480px;padding-top:72px;padding-bottom:92px;background:radial-gradient(circle at 88% 45%,#2c441b 0,transparent 26%),linear-gradient(120deg,#090b0c 45%,#111a14);border-bottom:1px solid var(--line)}.frequency,.issue,.eyebrow{margin:0 0 16px;color:var(--acid);font:500 12px "DM Mono",monospace;letter-spacing:.1em}.frequency i{display:inline-block;width:8px;height:8px;margin-right:8px;border-radius:50%;background:var(--red);box-shadow:0 0 16px var(--red)}.station-intro h1,.section-head h2,.archive h2,.about h2{margin:0;line-height:1.1;font-weight:900;letter-spacing:-.06em}.station-intro h1{font-size:clamp(46px,7vw,98px)}em{font-style:normal;color:var(--acid)}.station-intro>p:last-child{max-width:580px;margin:28px 0 0;color:var(--muted);font-size:17px}.programs{padding-top:76px;padding-bottom:88px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:30px}.section-head h2,.archive h2,.about h2{font-size:clamp(31px,4vw,56px)}.section-head>p{max-width:310px;margin:0;color:var(--muted);font-size:14px}.program-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.program-card{position:relative;min-height:440px;overflow:hidden;border:1px solid var(--line);background:#111;text-decoration:none;color:var(--ink)}.program-card img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;opacity:.72;transition:transform .45s ease,opacity .45s ease}.program-card:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 15%,rgba(2,3,3,.93) 87%);z-index:1}.program-card>div{position:absolute;z-index:2;inset:auto 25px 24px}.program-card span,.archive-panel header span{color:var(--acid);font:12px "DM Mono",monospace;letter-spacing:.08em}.program-card.kohaku span{color:#b9d8ff}.program-card.oogiri span{color:#ffd471}.program-card h3{margin:14px 0 10px;font-size:clamp(27px,2.7vw,40px);line-height:1.08;letter-spacing:-.05em}.program-card p{margin:0;color:#d2d4d1;font-size:14px}.program-card b{display:block;margin-top:25px;color:var(--acid);font-size:13px}.program-card:hover img{transform:scale(1.04);opacity:.9}.on-air{position:relative;isolation:isolate;min-height:600px;display:grid;grid-template-columns:minmax(270px,.85fr) 1.15fr;gap:clamp(32px,7vw,105px);align-items:center;border-top:1px solid var(--line);overflow:hidden}.on-air-cover{width:100%;aspect-ratio:1/1;max-width:520px;object-fit:cover;box-shadow:0 20px 70px rgba(0,0,0,.45)}.on-air:before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(135deg,#0d1615,#080b0c 65%)}.on-air.kohaku:before{background:linear-gradient(135deg,#170e13,#090b0d 65%)}.on-air.oogiri:before{background:linear-gradient(135deg,#181307,#090b0d 65%)}.on-air-body{max-width:650px;padding:80px 0}.on-air-body h2{margin:0;font-size:clamp(34px,4.5vw,66px);line-height:1.12;letter-spacing:-.06em}.on-air-body>p:not(.eyebrow){margin:25px 0;color:var(--muted);font-size:16px}.on-air audio{width:100%;margin:20px 0 12px;accent-color:var(--acid)}details{font-size:13px;color:var(--muted)}summary{color:var(--ink);cursor:pointer}details a{color:var(--acid)}.archive-jump{margin-top:26px;padding:0;border:0;background:none;color:var(--acid);font:700 14px "Noto Sans JP",sans-serif;cursor:pointer}.archive{padding-top:88px;padding-bottom:90px;border-top:1px solid var(--line);background:#0c0f10}.archive-heading>p:last-child{max-width:480px;margin:16px 0 30px;color:var(--muted);font-size:15px}.tabs{display:flex;gap:0;border-bottom:1px solid var(--line);overflow:auto}.tabs button{flex:1;min-width:max-content;padding:17px 20px;border:0;border-bottom:3px solid transparent;background:transparent;color:var(--muted);font:700 14px "Noto Sans JP",sans-serif;cursor:pointer}.tabs button[aria-selected="true"]{border-bottom-color:var(--acid);color:var(--ink)}.archive-panel{padding-top:34px}.archive-panel header{display:flex;align-items:baseline;gap:16px;margin-bottom:18px}.archive-panel h3{margin:0;font-size:24px;letter-spacing:-.04em}.archive-panel article{display:grid;grid-template-columns:180px 1fr minmax(240px,340px);align-items:center;gap:28px;padding:21px 0;border-top:1px solid var(--line)}.archive-panel time{color:var(--acid);font:11px "DM Mono",monospace;letter-spacing:.04em}.archive-panel h4{margin:0;font-size:19px;letter-spacing:-.03em}.archive-panel article p{margin:5px 0 0;color:var(--muted);font-size:13px}.archive-panel audio{width:100%;accent-color:var(--acid)}.about{padding-top:95px;padding-bottom:110px;max-width:1020px}.about>p:last-child{max-width:600px;margin:28px 0 0;color:var(--muted);font-size:16px}footer{display:flex;justify-content:space-between;gap:12px;padding:24px clamp(20px,8vw,130px);border-top:1px solid var(--line);color:var(--muted);font:12px "DM Mono",monospace;letter-spacing:.06em}@media(max-width:800px){.topbar{padding:0 18px}nav{gap:12px;font-size:10px}.station-intro{min-height:420px;padding-top:55px}.program-grid{grid-template-columns:1fr}.program-card{min-height:330px}.on-air{grid-template-columns:1fr;gap:0;padding-top:30px}.on-air-cover{max-width:none;aspect-ratio:16/10}.on-air-body{padding:42px 0 68px}.section-head{display:block}.section-head>p{margin-top:14px}.archive-panel article{grid-template-columns:1fr;gap:8px}.tabs{margin-right:-20px}.tabs button{font-size:13px;padding:14px}.archive-panel header{display:block}.archive-panel header h3{margin-top:8px}footer{flex-direction:column}}

/* Program selector: one tab changes both the live episode and the archive. */
.program-card { padding:0; text-align:left; font:inherit; cursor:pointer; }
.program-card:hover img, .program-card[aria-selected="true"] img { transform:scale(1.04); opacity:.9; }
.program-card[aria-selected="true"] { border-color:var(--acid); box-shadow:0 0 0 1px var(--acid); }
.on-air.oogiri:before { background:linear-gradient(135deg,#12100e,#080b0c 65%); }
.archive-panel { padding-top:8px; }

.feedback-form { margin-top:32px; padding:24px; border:1px solid var(--line); background:rgba(0,0,0,.18); }
.feedback-form h3 { margin:0 0 16px; font-size:1.35rem; }
.feedback-form fieldset { margin:16px 0; padding:12px; border:1px solid var(--line); }
.feedback-form legend { padding:0 5px; font-weight:700; }
.feedback-form fieldset label { display:inline-flex; align-items:center; gap:6px; margin:5px 14px 5px 0; font-size:.9rem; }
.field-label { display:grid; gap:7px; margin:16px 0; font-weight:700; font-size:.9rem; }
.field-label input,.field-label textarea { width:100%; padding:10px; border:1px solid #596162; background:#080b0c; color:var(--ink); font:inherit; }
.field-label textarea { min-height:100px; resize:vertical; }
.consent { display:block; margin:12px 0; font-size:.86rem; }
.feedback-form button { margin-top:8px; padding:12px 16px; border:1px solid var(--acid); background:var(--acid); color:#10140c; font:700 .9rem "Noto Sans JP",sans-serif; cursor:pointer; }
.feedback-form button:disabled { border-color:#525751; background:#2a2e2a; color:#a4a8a3; cursor:not-allowed; }
.form-status { min-height:1.7em; margin:11px 0 0; color:var(--muted); font-size:.85rem; }.honeypot { position:absolute; left:-9999px; }
@media(max-width:800px) {
  .program-tabs { display:flex; grid-template-columns:none; gap:10px; overflow-x:auto; margin-right:-20px; padding:0 20px 8px 0; scroll-snap-type:x mandatory; }
  .program-card { flex:0 0 210px; min-height:180px; scroll-snap-align:start; }
  .program-card>div { inset:auto 16px 15px; }.program-card h3 { margin:8px 0 6px; font-size:1.45rem; }.program-card p { font-size:.78rem; }.program-card b { margin-top:12px; }
  .feedback-form { margin-top:25px; padding:18px; }.feedback-form fieldset label { display:flex; margin:8px 0; }.feedback-form button { width:100%; }
}
