:root{--radius:20px;--shadow:0 18px 44px rgba(72,49,25,.11);--shadow-soft:0 8px 24px rgba(72,49,25,.07)}
.hero,.hero-site{border-radius:28px;min-height:440px}.content-card,.sidebar-card,.song-card,.news-card,.calendar-event{border-radius:20px}.song-hero{border-radius:28px}.site-nav a{padding:9px 11px}.header-search-link{display:inline-flex;align-items:center;gap:6px}
.home-hero .hero-inner{max-width:920px}.home-hero .lead{max-width:760px}.home-quick{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.home-quick a{background:rgba(255,249,236,.14);border:1px solid rgba(255,255,255,.24);color:#fff}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:18px}.section-head .section-title{margin:0}.section-head a{font-weight:700}.empty-state{padding:24px;border:1px dashed var(--line-2);border-radius:16px;background:rgba(255,249,236,.5);color:var(--muted)}
.music-grid,.album-grid,.people-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.album-card,.person-card{background:rgba(255,249,236,.88);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-soft);overflow:hidden;color:var(--ink);text-decoration:none}.album-card:hover,.person-card:hover{text-decoration:none;transform:translateY(-2px)}.album-card img{aspect-ratio:1/1;width:100%;object-fit:cover}.album-card-body,.person-card{padding:18px}.album-card-body h3,.person-card h3{margin:0 0 6px;font-size:24px}.album-card-body p,.person-card p{margin:0;color:var(--muted)}
.music-card-meta{font-size:13px;color:var(--muted);margin-top:6px}.mini-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.mini-tags span{font-size:12px;border:1px solid var(--line);border-radius:999px;padding:4px 8px;background:#fff7e5}
.music-layout{display:grid;grid-template-columns:minmax(260px,360px) minmax(0,1fr);gap:28px;align-items:start}.music-square{border-radius:20px;overflow:hidden;box-shadow:var(--shadow-soft)}.music-square img{width:100%;aspect-ratio:1/1;object-fit:cover}.music-summary h1{font-size:clamp(38px,5vw,64px);margin-bottom:12px}.credits-line{color:var(--muted);margin:8px 0}.player-card{margin-top:20px;padding:16px;border:1px solid var(--line);border-radius:18px;background:#fff8e8}.player-card audio{margin-top:0}.player-status{font-size:13px;color:var(--muted);margin-top:6px}.album-membership{display:grid;gap:10px}.album-membership a{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--line);border-radius:16px;background:#fff8e8;text-decoration:none}.album-membership a:hover{background:#fff1cd;text-decoration:none}.album-membership img{width:58px;height:58px;border-radius:12px;object-fit:cover}
.album-top{display:grid;grid-template-columns:minmax(240px,360px) minmax(0,1fr);gap:28px;align-items:start}.album-top img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:20px;box-shadow:var(--shadow-soft)}.album-track-player{padding:20px;border:1px solid var(--line);border-radius:20px;background:#fff8e8;margin:20px 0}.album-track-now{display:grid;grid-template-columns:76px 1fr;gap:14px;align-items:center;margin-bottom:14px}.album-track-now img{width:76px;height:76px;border-radius:14px;object-fit:cover}.album-track-title{font-family:var(--serif);font-size:24px;font-weight:700}.album-controls{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.album-controls button{border:1px solid var(--line-2);background:#fff5dc;border-radius:999px;padding:9px 14px;font:inherit;cursor:pointer}.album-controls button.primary{background:var(--accent-dark);color:#fff;border-color:var(--accent-dark)}.tracklist{display:grid;border-top:1px solid var(--line)}.track-row{display:grid;grid-template-columns:44px minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:12px 8px;border-bottom:1px solid var(--line)}.track-row.is-active{background:#fff0cf}.track-number{font-variant-numeric:tabular-nums;color:var(--muted)}.track-play{border:0;background:transparent;font:inherit;cursor:pointer;text-align:left;color:var(--ink);padding:0}.track-play strong{display:block}.track-author{display:block;font-size:13px;color:var(--muted)}.track-link{font-size:13px;font-weight:700}.track-duration{font-variant-numeric:tabular-nums;color:var(--muted);font-size:13px}
.stream-modes{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.stream-mode{border:1px solid var(--line-2);border-radius:999px;padding:8px 12px;background:#fff5dc;cursor:pointer;font:inherit}.stream-mode.active{background:var(--accent-dark);color:#fff}.stream-player{display:grid;grid-template-columns:minmax(220px,340px) minmax(0,1fr);gap:24px;align-items:center}.stream-cover{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:20px;background:#ead1a2}.stream-controls{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.stream-controls button{border:1px solid var(--line-2);border-radius:999px;padding:10px 15px;background:#fff8e8;font:inherit;font-weight:700;cursor:pointer}.stream-controls .primary{background:var(--accent-dark);color:white}.stream-warning{border-left:3px solid var(--accent);padding:12px 14px;background:rgba(167,122,77,.08);border-radius:12px;color:#5b4b3d}
.search-box{display:grid;grid-template-columns:1fr auto;gap:10px;margin:18px 0}.search-results{display:grid;gap:12px}.search-result{display:grid;grid-template-columns:64px 1fr;gap:12px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:16px;background:#fff8e8;text-decoration:none;color:var(--ink)}.search-result:hover{text-decoration:none;background:#fff1cd}.search-result img{width:64px;height:64px;border-radius:12px;object-fit:cover}.search-result small{display:block;color:var(--muted)}
.today-list{display:grid;gap:10px}.today-item{padding:10px 0;border-bottom:1px solid var(--line)}.today-item:last-child{border-bottom:0}.today-item strong{display:block}.today-item small{color:var(--muted)}
.tag-index{columns:3;column-gap:24px}.tag-index a{display:block;padding:5px 0;break-inside:avoid}.person-roles{color:var(--muted);margin:-6px 0 16px}.original-poem{white-space:pre-wrap;font:18px/1.65 var(--serif);background:#fff8e8;border:1px solid var(--line);border-radius:18px;padding:22px}.poem-meta{color:var(--muted);font-size:14px;margin-bottom:12px}
.footer-cookie-button{background:none;border:0;padding:0;color:#ffe19d;font:inherit;text-decoration:underline;cursor:pointer}.legal-note{font-size:14px;color:var(--muted)}
@media(max-width:900px){.music-grid,.album-grid,.people-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.music-layout,.album-top,.stream-player{grid-template-columns:1fr}.music-square,.album-top>img,.stream-cover{max-width:520px;margin:0 auto}.tag-index{columns:2}.track-row{grid-template-columns:38px minmax(0,1fr) auto}.track-duration{display:none}}
@media(max-width:560px){.music-grid,.album-grid,.people-grid{grid-template-columns:1fr}.tag-index{columns:1}.track-row{grid-template-columns:32px minmax(0,1fr);gap:8px}.track-link{grid-column:2}.album-track-now{grid-template-columns:58px 1fr}.album-track-now img{width:58px;height:58px}.search-box{grid-template-columns:1fr}.site-nav ul{gap:2px}.site-nav a{padding:7px 8px}}
