/* Hear & Now v8: focused spotlight + responsive fixes.
   Scoped last in the cascade, so the working v7 components and behavior stay intact. */
:root { scroll-behavior:smooth; }
.public-site { --red:#ff7468; --gold:#eabb82; }
.public-site .wrap { max-width:1510px; }
.public-site .public-bar { padding-block:18px; }
.public-site .section-heading.now-heading { border-top:0; padding:0 0 22px; align-items:end; }
.public-site .now-section { padding-top:clamp(30px, 5vw, 64px); }
.public-site .now-heading .section-no { display:block; font-size:.71rem; letter-spacing:.2em; margin-bottom:9px; }
.public-site .now-heading h1 { display:flex; align-items:center; gap:14px; font-family:var(--body); font-weight:820; letter-spacing:-.078em; font-size:clamp(3.2rem, 7.6vw, 7.3rem); line-height:.99; }
.public-site .now-heading h1 em { font-family:Georgia,serif; font-weight:400; color:var(--gold); font-size:1.02em; }
.public-site .now-heading p { margin-top:13px; color:var(--muted); font-size:clamp(.86rem,1.5vw,1.07rem); letter-spacing:0; font-weight:450; line-height:1.5; }
.public-site .now-heading .section-context { text-align:right; letter-spacing:.18em; padding-bottom:12px; }
.on-air-pulse { position:relative;display:inline-block;width:11px;height:11px;flex:none;border-radius:50%;background:var(--red);box-shadow:0 0 22px rgba(255,116,104,.45); }
.on-air-pulse::after {content:''; position:absolute; inset:-7px; border:1px solid var(--red);border-radius:50%;opacity:.32; animation:onAirRing 2.4s ease-in-out infinite;}
@keyframes onAirRing { 50% { transform:scale(1.35); opacity:.09; } }
.public-site .hero { margin:0; min-height: min(530px,60vw); padding:clamp(27px,4.2vw,60px); border:1px solid rgba(244,165,137,.33);border-radius:26px; gap:clamp(22px,4.7vw,75px);grid-template-columns:minmax(240px,43%) minmax(0,1fr); background: radial-gradient(ellipse 84% 105% at 4% 25%,rgba(179,77,77,.16),transparent 70%),linear-gradient(110deg,#241b24,#15141c 57%,#14121b);box-shadow:0 34px 95px rgba(0,0,0,.34),inset 0 1px rgba(255,255,255,.07);}
:root[data-theme='light'] .public-site .hero {background:linear-gradient(125deg,#fff2eb,#faf8f4 60%,#f7f1ee);box-shadow:0 18px 55px rgba(83,40,41,.10);}
.public-site .hero .art { max-height:460px; aspect-ratio:1.12; filter: drop-shadow(0 25px 24px rgba(0,0,0,.3));}
.public-site .hero .cover {border-radius:17px;box-shadow:0 28px 60px rgba(0,0,0,.53),0 0 0 1px rgba(255,255,255,.08);}
.public-site .hero h1 {max-width:15ch;font-size:clamp(2.65rem,5.1vw,5.7rem);letter-spacing:-.07em;line-height:1.02;text-wrap:balance; overflow-wrap:anywhere;}
.public-site .hero .info { gap:13px; min-width:0; }
.public-site .hero .creator {font-size:clamp(1.15rem,1.9vw,1.65rem);font-weight:650;}
.public-site .hero .row {min-width:0;gap:10px 14px;}
.public-site .hero .review {border-left:2px solid var(--gold);background:rgba(241,170,116,.045);padding:10px 13px;color:var(--ink);line-height:1.65;border-radius:0 9px 9px 0;}
.public-site .hero .status {font-size:.76rem;letter-spacing:.2em;}
.public-site .hero .rating {background:rgba(232,185,123,.075);border:1px solid rgba(232,185,123,.19);padding:7px 11px;border-radius:13px;gap:6px;}
.public-site .hero .rating b {font-size:clamp(1.7rem,3vw,2.6rem);}
.public-site .hero .rating .phrase {margin-left:6px; font-size:.82rem;}
.public-site .hero .listen-btn {padding:13px 24px;box-shadow:0 10px 28px rgba(244,102,95,.19);font-weight:800;}
.public-site .hero .more-btn {padding:10px 14px;}
.public-site .hero .modenote {font-size:.75rem;color:var(--faint);}
.public-site .hero:focus-within {border-color:rgba(244,165,137,.65);}
.public-site .hero .hero-drawer {padding:clamp(14px,2.6vw,26px);}
.public-site .about-strip {display:grid;grid-template-columns: minmax(0,1.55fr) minmax(0,.85fr);gap:clamp(18px,5vw,90px);margin-top:25px;padding:22px clamp(4px,1vw,14px) 21px;border-bottom:1px solid var(--line);}
.public-site .about-strip-copy p {font-size:clamp(.93rem,1.35vw,1.08rem);line-height:1.6;color:var(--ink);max-width:62ch;margin-top:9px;}
.public-site .about-strip em {color:var(--gold);}
.public-site .about-strip-hint {color:var(--muted);font-size:.87rem;line-height:1.65;align-self:center;max-width:41ch;}
.public-site .about-strip-hint strong {color:var(--ink);}
.public-site .archive-intro {padding-top:clamp(40px,5vw,70px);}
.public-site .panel {min-width:0;}
.public-site .cols,.public-site .cols > *, .public-site .stack, .public-site .entry, .public-site .drawer,.public-site .hero .hero-drawer, .public-site .d-wrap {min-width:0;max-width:100%;}
.public-site .entry {overflow:clip;}
.public-site .drawer {min-width:0;overflow:hidden;}
.public-site .drawer > *, .public-site .drawer .d-head > *, .public-site .drawer .d-head, .public-site .drawer .d-mine {min-width:0;max-width:100%;}
.public-site .drawer .strip {max-width:100%;min-width:0;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;}
.public-site .drawer .toplist a,.public-site .drawer .linkrow a {min-width:0;max-width:100%;overflow-wrap:anywhere;}
.public-site .drawer .toplist b {overflow-wrap:anywhere;}
.public-site .drawer .toplist small {display:inline-block;max-width:100%;}
.public-site .lc-cta,.public-site .lc-form,.public-site .lc-comments,.public-site .lc-comment,.public-site .listeners {min-width:0;max-width:100%;overflow-wrap:break-word;}
.public-site .entry .note-excerpt {max-width:100%;}
/* True archive filters; no fake sorting only of the first loaded page. */
.archive-tools {display:grid;grid-template-columns:minmax(0,1.3fr) minmax(120px,.82fr) minmax(100px,.64fr);gap:9px;margin-bottom:17px;}
.archive-tools label {min-width:0;display:block;}
.archive-tools input,.archive-tools select {font:inherit;width:100%;min-width:0;height:43px;border-radius:11px;background:var(--panel-2);border:1px solid var(--line);color:var(--ink);padding:9px 11px;outline:none;font-size:.81rem;}
.archive-tools input:focus-visible,.archive-tools select:focus-visible {border-color:var(--red);box-shadow:0 0 0 3px rgba(255,116,104,.12);}
.archive-tools input::placeholder{color:var(--muted);}
.public-site .filters,.public-site .genre-filters {display:flex;max-width:100%;gap:7px; flex-wrap:wrap;}
.public-site .item {min-width:0;}
.public-site .item > div:nth-child(2) {min-width:0;}
.public-site .item .t, .public-site .item .s {max-width:100%;}
.public-site .item .r {max-width:100%;min-width:0;}
.public-site .item .rating {min-width:0;flex-wrap:wrap;}
.public-site .modal-back .modal {max-width:calc(100vw - 24px);}
/* Admin: a calm workspace; individual controls remain familiar. */
.admin .panel {min-width:0;}
.admin .pane.on {min-width:0;}
.admin .bar {flex-wrap:wrap;row-gap:10px;}
.admin .history-tools {background:linear-gradient(120deg,rgba(232,114,98,.08),transparent 68%),var(--panel);}
.admin .history-controls {margin-top:10px;gap:12px;}
.admin .history-query-row {display:grid;grid-template-columns:minmax(0,1fr) minmax(145px,.5fr) minmax(125px,.45fr);gap:10px;min-width:0;}
.admin .history-query-row > * {min-width:0;width:100%;}
.admin .history-maintenance {border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:rgba(255,255,255,.016);min-width:0;}
.admin .history-maintenance > summary {color:var(--muted);font-size:.81rem;cursor:pointer;}
.admin .history-maintenance .two {margin:13px 0 8px;}
.admin .aitem,.admin .aitem > div,.admin .aitem .meta {min-width:0;max-width:100%;}
.admin .aitem {overflow:hidden;}
.admin .aitem .t,.admin .aitem .s {overflow-wrap:anywhere;}
.admin .aitem .d-wrap {min-width:0;max-width:100%;overflow:hidden;}
.admin .aitem .drawer {min-width:0;max-width:100%;overflow:hidden;}
.admin .aitem .strip {max-width:100%;}
.admin .nav {max-width:min(650px,100%);}
.admin .ql-card {min-width:0;}
.admin .score-picker {min-width:0;max-width:100%;}
.admin .score-picker .sp-read {min-width:0;flex-wrap:wrap;}
.admin .score-picker .sp-row {min-width:0;}
.admin .ql-form,.admin .ql-form > * {min-width:0;}
.admin .modal {background:rgba(5,5,10,.82);backdrop-filter:blur(8px);align-items:start;overscroll-behavior:contain;padding:clamp(12px,4vh,38px) 12px;}
.admin .modal .panel {max-height:min(92dvh,900px);overflow-y:auto;overscroll-behavior:contain; width:min(700px,100%);border:1px solid rgba(255,255,255,.23);box-shadow:0 30px 100px rgba(0,0,0,.72);}
.admin .modal .ql-submit {bottom:0;margin-bottom:env(safe-area-inset-bottom);z-index:4;}
@media(max-width:899px) {
  .public-site .now-section {padding-top:21px;}
  .public-site .now-heading h1 {font-size:clamp(2.9rem,8vw,5.6rem);}
  .public-site .hero {min-height:0;grid-template-columns:minmax(220px,40%) minmax(0,1fr);gap:24px;padding:29px;}
  .public-site .hero .art {max-width:360px;width:100%;margin:0;}
  .public-site .hero h1 {font-size:clamp(2.3rem,5vw,3.9rem);}
  .public-site .hero .disc {display:block;}
  .public-site .hero .cover {width:auto;height:100%;aspect-ratio:1;inset:0 auto auto 0;}
  .public-site .about-strip {grid-template-columns:1fr;gap:10px;padding-top:20px;}
  .public-site .about-strip-hint {max-width:none;}
}
@media(max-width:700px) {
  .public-site .hero {grid-template-columns:1fr;gap:13px;padding:19px;}
  .public-site .hero .art {width:min(100%,320px);height:auto;aspect-ratio:1.1;margin:0 auto;}
  .public-site .hero .info {gap:9px;}
  .public-site .hero h1 {max-width:100%;font-size:clamp(2rem,8vw,3.4rem);}
  .public-site .hero .row {gap:9px;}
  .archive-tools {grid-template-columns:repeat(2,minmax(0,1fr));}
  .archive-search {grid-column:1/-1;}
  .admin .history-query-row {grid-template-columns:repeat(2,minmax(0,1fr));}
  .admin .history-query-row input {grid-column:1/-1;}
}
@media(max-width:540px) {
  .public-site .public-bar {padding:15px 0;}
  .public-site .now-section {padding-top:21px;}
  .public-site .now-heading {align-items:start;}
  .public-site .now-heading .section-context {display:none;}
  .public-site .now-heading h1 {font-size:clamp(2.7rem,12vw,4.5rem);gap:12px;}
  .public-site .now-heading p {margin-top:9px;font-size:.85rem;}
  .on-air-pulse {width:8px;height:8px;}
  .public-site .hero {grid-template-columns:minmax(0,1fr);gap:16px;padding:19px 17px 24px;border-radius:19px;}
  .public-site .hero .art {width:min(100%,290px);margin:0 auto;max-height:300px;}
  .public-site .hero .cover {width:auto;height:100%;aspect-ratio:1;inset:0 auto auto 0;}
  .public-site .hero .disc {display:block;}
  .public-site .hero h1 {font-size:clamp(2.15rem,9vw,3.25rem);max-width:100%;}
  .public-site .hero .status {font-size:.66rem;}
  .public-site .hero .creator {font-size:1rem;}
  .public-site .hero .detail {font-size:.87rem;}
  .public-site .hero .rating {padding:6px 9px;}
  .public-site .hero .rating b {font-size:1.75rem;}
  .public-site .hero .listen-btn {padding:13px 22px;font-size:.93rem;}
  .public-site .hero .hero-drawer {padding:12px;}
  .public-site .about-strip {margin-top:15px;padding-block:17px;}
  .public-site .archive-intro {padding-top:40px;}
  .public-site .item {grid-template-columns:50px minmax(0,1fr);gap:10px;padding:14px 0;}
  .public-site .item .thumb {width:50px;height:50px;}
  .public-site .item .r {grid-column:2;grid-row:auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:start;text-align:left;min-width:0;gap:8px;}
  .public-site .item .when {margin:0;}
  .public-site .item .rating .phrase {white-space:normal;overflow-wrap:anywhere;}
  .public-site .item .rating .bars {display:none;}
  .public-site .item .r .btn {white-space:normal;}
  .public-site .drawer {padding:12px;gap:13px;}
  .public-site .drawer .d-head {grid-template-columns:65px minmax(0,1fr);}
  .public-site .drawer .d-photo {width:65px;height:65px;}
  .public-site .drawer .d-name {font-size:1.1rem;}
  .public-site .drawer .strip {gap:9px;}
  .public-site .drawer .strip > * {flex-basis:102px;}
  .public-site .drawer .strip img,.public-site .drawer .strip .ph {width:102px;height:102px;}
  .public-site .lc-cta,.public-site .lc-form {padding:12px;}
  .public-site .panel {padding:16px;}
  .admin .wrap {padding-inline:13px;padding-bottom:calc(126px + env(safe-area-inset-bottom));}
  .admin .nav {bottom:calc(12px + env(safe-area-inset-bottom));}
  .admin .nav button {font-size:clamp(.64rem,2.65vw,.83rem);min-width:0;}
  .admin .modal {padding:7px 6px calc(12px + env(safe-area-inset-bottom));align-items:start;}
  .admin .modal .panel {max-height:calc(100dvh - 24px - env(safe-area-inset-bottom));padding:15px;width:100%;margin:0;border-radius:17px;}
  .admin .modal .ql-submit {bottom:0;}
  .admin .history-maintenance .two {grid-template-columns:1fr;}
  .admin .history-query-row {gap:7px;}
  .admin .history-query-row select {font-size:.78rem;padding-inline:8px;}
}
@media(max-width:375px) {
  .public-site .now-heading h1 {font-size:2.65rem;}
  .public-site .hero .art {width:min(100%,235px);}
  .public-site .panel {padding:13px;}
  .admin .nav {left:5px;right:5px;}
  .admin .nav button {font-size:.64rem;padding-inline:2px;}
}
@media(prefers-reduced-motion:reduce) { .on-air-pulse::after {animation:none;} :root {scroll-behavior:auto;} }
