:root{--color-bg:#fafaf8;--color-surface:#fff;--color-text:#1f1f1f;--color-text-muted:#6b6b6b;--color-border:#e7e5e0;--color-primary:#e8483c;--color-primary-dark:#c93a2f;--color-accent:#1f6f5c;--radius:12px;--max-width:960px;font-size:16px}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--color-bg);color:var(--color-text);margin:0;font-family:Hiragino Sans,Yu Gothic,Noto Sans JP,system-ui,-apple-system,sans-serif;line-height:1.75}a{color:inherit}img{max-width:100%;display:block}.container{max-width:var(--max-width);margin:0 auto;padding:0 20px}.site-header{background:var(--color-surface);border-bottom:1px solid var(--color-border);z-index:10;position:sticky;top:0}.site-header__inner{max-width:var(--max-width);justify-content:space-between;align-items:center;margin:0 auto;padding:16px 20px;display:flex}.site-logo{color:var(--color-text);letter-spacing:.02em;font-size:1.25rem;font-weight:800;text-decoration:none}.site-logo span{color:var(--color-primary)}.site-nav a{color:var(--color-text-muted);margin-left:20px;font-size:.9rem;text-decoration:none}.site-nav a:hover{color:var(--color-primary)}.site-footer{border-top:1px solid var(--color-border);color:var(--color-text-muted);margin-top:64px;padding:32px 20px 48px;font-size:.85rem}.site-footer__links a{color:var(--color-text-muted);margin-right:16px;text-decoration:none}.site-footer__links a:hover{color:var(--color-primary)}.hero{padding:40px 0 24px}.hero h1{margin:0 0 8px;font-size:1.6rem}.hero p{color:var(--color-text-muted);max-width:640px;margin:0}.card-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px;margin:24px 0 48px;display:grid}.playlist-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);flex-direction:column;text-decoration:none;transition:transform .15s,box-shadow .15s;display:flex;overflow:hidden}.playlist-card:hover{transform:translateY(-3px);box-shadow:0 10px 24px #00000014}.playlist-card__cover{aspect-ratio:16/9;background:linear-gradient(135deg,#ffd8d2,#ffe9b0);justify-content:center;align-items:center;font-size:2rem;display:flex}.playlist-card__body{flex-direction:column;flex:1;gap:8px;padding:16px;display:flex}.playlist-card__category{color:var(--color-primary);background:#e8483c14;border-radius:999px;width:fit-content;padding:3px 10px;font-size:.75rem;font-weight:700;display:inline-block}.playlist-card__title{margin:0;font-size:1.05rem;font-weight:700}.playlist-card__desc{color:var(--color-text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.85rem;display:-webkit-box;overflow:hidden}.playlist-card__tags{flex-wrap:wrap;gap:6px;margin-top:auto;display:flex}.tag-pill{color:var(--color-text-muted);background:var(--color-bg);border:1px solid var(--color-border);border-radius:999px;padding:2px 9px;font-size:.72rem;text-decoration:none}.tag-pill:hover{color:var(--color-primary);border-color:var(--color-primary)}.article-header{padding:36px 0 16px}.article-header__category{color:var(--color-primary);font-size:.85rem;font-weight:700}.article-header h1{margin:8px 0 12px;font-size:1.75rem;line-height:1.4}.article-header__meta{color:var(--color-text-muted);font-size:.85rem}.article-lead{color:#3a3a3a;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);white-space:pre-line;margin:16px 0 32px;padding:20px;font-size:.98rem}.disclosure{color:var(--color-text-muted);background:#fff7e6;border:1px solid #f0e0b6;border-radius:8px;margin-bottom:24px;padding:8px 14px;font-size:.75rem;display:inline-block}.song-list{flex-direction:column;gap:28px;margin:0 0 48px;padding:0;list-style:none;display:flex}.song-section-heading{border-top:2px solid var(--color-primary);margin:12px 0 -4px;padding-top:12px}.song-section-heading h2{color:var(--color-primary);margin:0;font-size:1.1rem}.song-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:20px;position:relative}.song-card__rank{background:var(--color-primary);color:#fff;border-radius:999px;padding:4px 12px;font-size:.8rem;font-weight:800;position:absolute;top:-14px;left:16px}.song-card__head{margin:10px 0 12px}.song-card__title{margin:0;font-size:1.15rem;font-weight:800}.song-card__artist{color:var(--color-text-muted);margin:2px 0 0;font-size:.9rem}.song-card__video{aspect-ratio:16/9;background:#000;border-radius:8px;width:100%;margin-bottom:14px;position:relative;overflow:hidden}.song-card__video iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.song-card__comment{white-space:pre-line;margin:0 0 16px}.affiliate-buttons{flex-wrap:wrap;gap:10px;display:flex}.affiliate-buttons a{border:1px solid var(--color-border);color:var(--color-text);background:var(--color-bg);border-radius:999px;padding:8px 16px;font-size:.82rem;font-weight:700;text-decoration:none}.affiliate-buttons a:hover{border-color:var(--color-primary);color:var(--color-primary)}.affiliate-buttons a.is-primary{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.affiliate-buttons a.is-primary:hover{background:var(--color-primary-dark)}.ad-slot{text-align:center;margin:32px 0}.ad-slot__placeholder{border:1px dashed var(--color-border);color:var(--color-text-muted);background:var(--color-surface);border-radius:8px;padding:24px;font-size:.8rem}.archive-header{padding:36px 0 8px}.archive-header h1{font-size:1.4rem}
