:root {
  --bg: #0b0b0c;
  --bg-2: #111114;
  --panel: rgba(255,255,255,.055);
  --panel-strong: rgba(255,255,255,.085);
  --stroke: rgba(255,255,255,.15);
  --stroke-soft: rgba(255,255,255,.085);
  --text: #f7f7f8;
  --muted: #b7b7bc;
  --muted-2: #7f8087;
  --pink: #e07195;
  --pink-2: #f197b4;
  --pink-dark: #a94163;
  --blue: #4e89e8;
  --green: #35cf83;
  --lime: #84d634;
  --yellow: #d4d900;
  --orange: #f2a719;
  --orange-2: #ff8618;
  --red: #ef5254;
  --radius-xl: 28px;
  --radius-lg: 22px;
  --radius-md: 16px;
  --shadow: 0 20px 80px rgba(0,0,0,.28);
  --max: 1480px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; color-scheme: dark; }
body {
  margin: 0;
  min-height: 100vh;
  background:
    radial-gradient(circle at 74% -4%, rgba(224,113,149,.10), transparent 26rem),
    radial-gradient(circle at -10% 45%, rgba(118,89,71,.10), transparent 28rem),
    linear-gradient(180deg, #0b0b0c 0%, #0a0a0b 100%);
  color: var(--text);
  font-family: "SF Pro", "SF Pro Text", "Segoe UI", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  opacity: .06;
  z-index: 9999;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E");
}

a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { color: inherit; }
img { display: block; max-width: 100%; }

.container { width: min(calc(100% - 44px), var(--max)); margin-inline: auto; }
.page-shell { min-height: calc(100vh - 180px); }

.header {
  position: sticky;
  top: 0;
  z-index: 50;
  border-bottom: 1px solid transparent;
  background: rgba(11,11,12,.78);
  backdrop-filter: blur(18px) saturate(130%);
  -webkit-backdrop-filter: blur(18px) saturate(130%);
  transition: border-color .2s ease, background .2s ease;
}
.header.scrolled { border-color: var(--stroke-soft); background: rgba(11,11,12,.91); }
.navbar { min-height: 82px; display: grid; grid-template-columns: minmax(210px,1fr) auto minmax(330px,1fr); align-items: center; gap: 24px; }
.brand { display: inline-flex; align-items: flex-start; gap: 8px; width: max-content; }
.brand-title { font-size: 21px; line-height: 1; font-weight: 800; letter-spacing: .12em; white-space: nowrap; }
.brand-sub { display: block; color: var(--muted); font-size: 11px; margin-top: 7px; letter-spacing: 0; font-weight: 400; }
.sparkle { color: var(--pink-2); font-size: 24px; line-height: .65; }
.nav-links { display: flex; align-items: center; justify-content: center; gap: 34px; }
.nav-link { color: #c5c5c9; font-size: 12px; font-weight: 550; letter-spacing: .025em; padding: 32px 0; position: relative; }
.nav-link::after { content:""; position:absolute; left:0; right:0; bottom:22px; height:1px; transform:scaleX(0); background:var(--pink); transition:transform .18s ease; }
.nav-link:hover, .nav-link.active { color: white; }
.nav-link.active::after, .nav-link:hover::after { transform: scaleX(1); }
.nav-actions { display:flex; align-items:center; justify-content:flex-end; gap: 14px; }
.search-mini { position:relative; width: 278px; }
.search-mini input { width:100%; border:1px solid var(--stroke); border-radius:999px; background:rgba(255,255,255,.025); color:white; padding:12px 44px 12px 18px; outline:none; font-size:12px; }
.search-mini input:focus { border-color:rgba(224,113,149,.7); box-shadow:0 0 0 3px rgba(224,113,149,.09); }
.search-icon { position:absolute; right:16px; top:50%; transform:translateY(-50%); color:#d8d8dc; pointer-events:none; font-size:16px; }
.btn { border:1px solid var(--stroke); background:transparent; min-height:44px; border-radius:999px; padding:0 20px; display:inline-flex; align-items:center; justify-content:center; gap:10px; cursor:pointer; font-weight:700; font-size:12px; transition:transform .16s ease, background .16s ease, border-color .16s ease; }
.btn:hover { transform: translateY(-1px); background:rgba(255,255,255,.05); border-color:rgba(255,255,255,.25); }
.btn-primary { background:linear-gradient(135deg, #d85e86, #e6799b); border-color:#ef88a8; color:white; box-shadow:0 10px 30px rgba(205,76,117,.18); }
.btn-primary:hover { background:linear-gradient(135deg, #e06990, #ef83a3); }
.btn-lg { min-height:48px; padding:0 26px; }
.mobile-toggle { display:none; width:42px; height:42px; border-radius:50%; border:1px solid var(--stroke); background:transparent; cursor:pointer; }
.mobile-nav { display:none; }

.glass { background: linear-gradient(140deg, rgba(255,255,255,.07), rgba(255,255,255,.035)); border:1px solid var(--stroke); box-shadow: inset 0 1px 0 rgba(255,255,255,.035), var(--shadow); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); }

.hero { margin-top: 22px; min-height: 470px; border-radius: var(--radius-xl); overflow:hidden; position:relative; border:1px solid rgba(255,255,255,.17); background:#241b20; box-shadow: var(--shadow); }
.hero-media { position:absolute; inset:0 0 0 46%; overflow:hidden; }
.hero-media img { width:100%; height:100%; object-fit:cover; object-position:50% 18%; filter:saturate(.82) contrast(.98); }
.hero-media::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg, #2a2024 0%, rgba(42,32,36,.22) 37%, rgba(19,14,16,.08) 100%); }
.hero::before { content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(19,16,18,.99) 0%, rgba(34,25,29,.96) 37%, rgba(34,25,29,.23) 64%, rgba(23,16,18,.06) 100%); z-index:1; }
.hero-content { position:relative; z-index:2; width:54%; padding:28px 36px 26px; display:flex; min-height:470px; flex-direction:column; justify-content:center; align-items:flex-start; }
.badge { display:inline-flex; align-items:center; gap:8px; border:1px solid currentColor; border-radius:999px; padding:8px 14px; font-size:11px; font-weight:700; letter-spacing:.04em; }
.badge-pink { color:#f09ab5; background:rgba(224,113,149,.06); }
.score { margin:18px 0 0; display:flex; align-items:flex-end; gap:6px; line-height:.82; }
.score-main { font-size:88px; font-weight:720; letter-spacing:-.055em; }
.score-out { font-size:30px; color:#d3d1d4; margin-bottom:8px; font-weight:400; letter-spacing:-.025em; }
.score.s .score-main { color: var(--blue); }
.score.a .score-main { color: var(--green); }
.score.b .score-main { color: var(--lime); }
.score.c .score-main { color: var(--yellow); }
.score.d .score-main { color: var(--orange); }
.score.e .score-main { color: var(--orange-2); }
.score.f .score-main { color: var(--red); }
.hero-type { margin-top:16px; font-size:13px; color:#e4e2e4; letter-spacing:.02em; }
.hero h1 { margin:8px 0 0; font-size:54px; letter-spacing:-.045em; line-height:.98; }
.hero-artist { margin-top:8px; font-size:22px; color:#d1ced1; }
.meta-row { display:flex; flex-wrap:wrap; gap:22px; margin-top:22px; }
.meta { display:grid; grid-template-columns:38px auto; align-items:center; gap:10px; min-width:95px; }
.meta-icon { width:38px; height:38px; border:1px solid var(--stroke); border-radius:50%; display:grid; place-items:center; color:white; font-size:16px; background:rgba(255,255,255,.025); }
.meta-label { font-size:9px; color:#c0bdc0; text-transform:uppercase; letter-spacing:.04em; }
.meta-value { font-size:13px; font-weight:650; margin-top:2px; }
.hero-actions { display:flex; gap:14px; margin-top:24px; }
.hero-dots { position:absolute; bottom:17px; left:50%; transform:translateX(-50%); z-index:3; display:flex; gap:10px; }
.hero-dot { width:10px; height:10px; border-radius:50%; border:0; background:#c5a8b0; opacity:.7; cursor:pointer; padding:0; }
.hero-dot.active { background:var(--pink); opacity:1; }

.section { margin-top: 14px; }
.section-grid { display:grid; grid-template-columns: 1.55fr .82fr .9fr; gap:14px; }
.panel { border-radius:var(--radius-lg); padding:20px 22px; min-width:0; }
.panel-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:16px; }
.panel-title { margin:0; font-size:14px; letter-spacing:.01em; text-transform:uppercase; }
.view-link { color:#c7c4c7; font-size:11px; transition:color .15s ease; }
.view-link:hover { color:white; }

.review-strip { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.review-card { border:1px solid var(--stroke-soft); background:rgba(0,0,0,.12); border-radius:14px; overflow:hidden; min-width:0; transition:transform .18s ease, border-color .18s ease, background .18s ease; }
.review-card:hover { transform:translateY(-3px); border-color:rgba(255,255,255,.22); background:rgba(255,255,255,.035); }
.review-thumb { height:150px; position:relative; overflow:hidden; background:#222; }
.review-thumb img { width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.review-card:hover .review-thumb img { transform:scale(1.025); }
.mini-score { position:absolute; right:8px; bottom:8px; width:42px; height:42px; display:grid; place-items:center; border-radius:50%; background:rgba(13,13,15,.83); backdrop-filter:blur(8px); border:1px solid rgba(255,255,255,.24); font-weight:800; font-size:16px; }
.mini-score.s { color:var(--blue); } .mini-score.a{color:var(--green)} .mini-score.b{color:var(--lime)} .mini-score.c{color:var(--yellow)} .mini-score.d{color:var(--orange)} .mini-score.f{color:var(--red)}
.review-info { padding:12px 12px 13px; }
.review-title { font-size:14px; font-weight:700; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.review-artist { color:var(--muted); font-size:11px; margin-top:4px; }
.review-type { color:#8e8d92; font-size:9px; text-transform:uppercase; letter-spacing:.04em; margin-top:9px; }

.rank-list { display:grid; }
.rank-item { display:grid; grid-template-columns:32px 42px 1fr auto; gap:10px; align-items:center; padding:9px 0; border-top:1px solid var(--stroke-soft); }
.rank-item:first-child { border-top:0; padding-top:0; }
.rank-number { color:#e4e2e4; font-size:16px; }
.rank-art { width:42px; height:42px; border-radius:8px; overflow:hidden; background:#252529; }
.rank-art img { width:100%; height:100%; object-fit:cover; }
.rank-name { font-size:11px; font-weight:650; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.rank-artist { color:var(--muted); font-size:10px; margin-top:3px; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.rank-count { text-align:right; font-size:14px; color:var(--pink-2); font-weight:720; }
.rank-count small { display:block; color:#a4a1a5; font-size:8px; font-weight:400; margin-top:2px; }
.trending-count { color:var(--pink-2); font-size:15px; font-weight:750; }
.trending-count small { display:block; color:#a4a1a5; font-size:8px; font-weight:400; margin-top:2px; }

.community-bar { margin:14px 0 0; border-radius:var(--radius-lg); padding:22px 34px; display:grid; grid-template-columns:auto 1fr auto auto; align-items:center; gap:28px; }
.community-icon { width:78px; height:78px; border:1px solid rgba(255,255,255,.28); border-radius:50%; display:grid; place-items:center; font-size:34px; color:var(--pink-2); }
.community-copy h2 { color:var(--pink-2); margin:0; font-size:19px; text-transform:uppercase; letter-spacing:.035em; }
.community-copy p { color:#d2cfd2; margin:7px 0 0; line-height:1.5; font-size:13px; }
.community-stat { min-width:150px; }
.community-stat strong { display:block; color:var(--pink-2); font-size:30px; letter-spacing:-.025em; }
.community-stat span { color:var(--muted); font-size:11px; }

/* Generic page hero */
.page-hero { padding:58px 0 24px; }
.kicker { color:var(--pink-2); text-transform:uppercase; font-size:12px; letter-spacing:.12em; font-weight:700; }
.page-hero h1 { margin:10px 0 10px; font-size:clamp(44px,6vw,78px); letter-spacing:-.055em; line-height:.96; }
.page-hero p { margin:0; color:#c8c5c8; max-width:720px; line-height:1.65; font-size:15px; }

/* Reviews page */
.toolbar { display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin:18px 0 26px; }
.search-wide { flex:1 1 330px; position:relative; }
.search-wide input { width:100%; min-height:48px; border-radius:999px; border:1px solid var(--stroke); background:var(--panel); color:white; padding:0 48px 0 20px; outline:none; }
.search-wide input:focus { border-color:rgba(224,113,149,.65); box-shadow:0 0 0 4px rgba(224,113,149,.08); }
.filter-pills { display:flex; flex-wrap:wrap; gap:8px; }
.pill { border:1px solid var(--stroke); background:rgba(255,255,255,.025); border-radius:999px; min-height:40px; padding:0 16px; color:#c3c1c4; cursor:pointer; font-size:11px; font-weight:700; }
.pill:hover, .pill.active { color:white; border-color:rgba(224,113,149,.6); background:rgba(224,113,149,.11); }
.reviews-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-bottom:48px; }
.big-review-card { border-radius:20px; overflow:hidden; border:1px solid var(--stroke); background:rgba(255,255,255,.035); transition:transform .18s ease,border-color .18s ease; }
.big-review-card:hover { transform:translateY(-4px); border-color:rgba(255,255,255,.25); }
.big-review-card .image { aspect-ratio:4/5; overflow:hidden; background:#1c1c1f; position:relative; }
.big-review-card .image img { width:100%; height:100%; object-fit:cover; }
.big-review-card .body { padding:16px; }
.card-topline { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; }
.card-title { font-size:20px; font-weight:780; letter-spacing:-.025em; }
.card-score { font-size:22px; font-weight:800; }
.card-score.s{color:var(--blue)} .card-score.a{color:var(--green)} .card-score.b{color:var(--lime)} .card-score.c{color:var(--yellow)}
.card-sub { color:#aaa8ad; font-size:12px; margin-top:4px; }
.card-meta { margin-top:14px; display:flex; gap:8px; color:#8b898e; font-size:9px; text-transform:uppercase; letter-spacing:.06em; }

/* Requests */
.request-spotlight { display:grid; grid-template-columns:1.05fr .95fr; gap:18px; align-items:stretch; margin-bottom:18px; }
.request-search-card, .request-stats-card { padding:28px; border-radius:var(--radius-xl); }
.request-search-card h2 { margin:0 0 8px; font-size:28px; letter-spacing:-.035em; }
.request-search-card p { margin:0 0 20px; color:var(--muted); line-height:1.55; font-size:13px; }
.request-search-row { display:flex; gap:10px; }
.request-search-row input { flex:1; min-height:54px; border:1px solid var(--stroke); border-radius:999px; background:rgba(0,0,0,.18); color:white; padding:0 20px; outline:none; }
.request-search-row input:focus { border-color:rgba(224,113,149,.7); box-shadow:0 0 0 4px rgba(224,113,149,.08); }
.request-stats-card { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.stat-box { border:1px solid var(--stroke-soft); border-radius:18px; background:rgba(255,255,255,.025); padding:20px; display:flex; flex-direction:column; justify-content:center; }
.stat-box strong { font-size:32px; color:var(--pink-2); letter-spacing:-.035em; }
.stat-box span { margin-top:6px; color:var(--muted); font-size:11px; }
.request-tabs { display:flex; gap:8px; flex-wrap:wrap; margin:24px 0 14px; }
.request-layout { display:grid; grid-template-columns:1fr 340px; gap:14px; margin-bottom:50px; }
.request-table { border-radius:var(--radius-lg); overflow:hidden; }
.request-row { display:grid; grid-template-columns:56px 1fr 110px 128px 122px; gap:12px; align-items:center; padding:14px 18px; border-top:1px solid var(--stroke-soft); }
.request-row:first-child { border-top:0; }
.request-row.header-row { color:#89878c; text-transform:uppercase; font-size:9px; letter-spacing:.08em; background:rgba(255,255,255,.025); }
.request-place { font-weight:800; color:#c9c7ca; }
.request-project { display:flex; align-items:center; gap:12px; min-width:0; }
.request-art { width:48px; height:48px; border-radius:10px; overflow:hidden; flex:0 0 auto; background:#252529; }
.request-art img { width:100%; height:100%; object-fit:cover; }
.request-project strong { display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-size:13px; }
.request-project span { display:block; color:var(--muted); font-size:10px; margin-top:4px; }
.status { font-size:9px; letter-spacing:.05em; text-transform:uppercase; padding:7px 9px; border-radius:999px; border:1px solid var(--stroke); width:max-content; }
.status.requested { color:#d5d2d5; }
.status.considering { color:#eac26b; border-color:rgba(234,194,107,.35); background:rgba(234,194,107,.06); }
.status.planned { color:#86c7ff; border-color:rgba(92,174,255,.35); background:rgba(92,174,255,.06); }
.status.reviewed { color:#6fdfa2; border-color:rgba(72,216,139,.35); background:rgba(72,216,139,.06); }
.request-total { font-size:17px; font-weight:800; color:var(--pink-2); text-align:right; }
.request-total small { display:block; font-size:8px; color:#99979c; font-weight:400; }
.request-up { min-height:38px; padding:0 13px; }
.request-up.requested-by-me { color:white; background:rgba(224,113,149,.18); border-color:rgba(224,113,149,.55); }
.sidebar-card { border-radius:var(--radius-lg); padding:20px; height:max-content; position:sticky; top:104px; }
.sidebar-card h3 { margin:0; font-size:16px; }
.sidebar-card p { color:var(--muted); font-size:12px; line-height:1.6; }
.sidebar-card .btn { width:100%; margin-top:8px; }
.milestone { margin-top:20px; }
.milestone-head { display:flex; justify-content:space-between; font-size:10px; color:#bbb8bc; }
.progress { height:7px; border-radius:999px; background:rgba(255,255,255,.08); overflow:hidden; margin-top:8px; }
.progress > span { display:block; height:100%; border-radius:999px; background:linear-gradient(90deg,var(--pink-dark),var(--pink-2)); }

/* Rankings */
.leaderboard-grid { display:grid; grid-template-columns:1.2fr .8fr; gap:14px; margin-bottom:48px; }
.leaderboard-card { border-radius:var(--radius-xl); padding:24px; }
.lb-row { display:grid; grid-template-columns:50px 52px 1fr 90px; align-items:center; gap:14px; padding:14px 0; border-top:1px solid var(--stroke-soft); }
.lb-row:first-of-type { border-top:0; }
.lb-place { font-size:18px; font-weight:800; color:#d3d0d3; }
.lb-cover { width:52px; height:52px; border-radius:11px; overflow:hidden; }
.lb-cover img { width:100%; height:100%; object-fit:cover; }
.lb-name strong { display:block; font-size:13px; }
.lb-name span { display:block; color:var(--muted); font-size:10px; margin-top:4px; }
.lb-score { text-align:right; font-size:22px; font-weight:850; }
.insight-list { display:grid; gap:10px; margin-top:14px; }
.insight { border:1px solid var(--stroke-soft); border-radius:16px; background:rgba(255,255,255,.025); padding:16px; }
.insight-label { color:#9f9da2; text-transform:uppercase; font-size:9px; letter-spacing:.08em; }
.insight strong { display:block; font-size:20px; margin-top:5px; }
.insight span { display:block; color:var(--muted); font-size:11px; margin-top:4px; }

/* Discography */
.discog-hero { min-height:520px; border-radius:var(--radius-xl); overflow:hidden; position:relative; margin-bottom:18px; border:1px solid var(--stroke); }
.discog-hero img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:60% 23%; filter:saturate(.8); }
.discog-hero::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(13,10,8,.98) 0%,rgba(13,10,8,.88) 38%,rgba(13,10,8,.30) 70%,rgba(13,10,8,.05) 100%); }
.discog-copy { position:relative; z-index:2; min-height:520px; max-width:670px; padding:52px; display:flex; flex-direction:column; justify-content:flex-end; }
.discog-copy h1 { font-size:72px; line-height:.88; letter-spacing:-.07em; margin:12px 0 20px; text-transform:uppercase; }
.discog-copy p { color:#d2cfd2; max-width:520px; line-height:1.55; }
.discog-meta { display:flex; gap:22px; color:#aaa7ab; font-size:12px; }
.album-ranking { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-bottom:48px; }
.album-rank-card { border-radius:var(--radius-lg); padding:18px; display:grid; grid-template-columns:170px 1fr; gap:20px; align-items:center; }
.album-rank-card .art { aspect-ratio:1; border-radius:16px; overflow:hidden; background:#222; }
.album-rank-card .art img { width:100%; height:100%; object-fit:cover; }
.album-rank-top { display:flex; align-items:baseline; gap:10px; }
.album-rank-place { color:#cac7ca; font-size:16px; font-weight:750; }
.album-rank-score { font-size:24px; font-weight:850; }
.album-rank-card h3 { margin:7px 0 5px; font-size:26px; letter-spacing:-.035em; }
.album-rank-card p { color:#aaa7ab; font-size:11px; line-height:1.55; margin:10px 0; }
.stars { color:#e5ac35; letter-spacing:3px; font-size:12px; line-height:1.7; }

/* About */
.about-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:14px; margin-bottom:48px; }
.about-card { border-radius:var(--radius-xl); padding:30px; }
.about-card h2 { margin:0 0 12px; font-size:28px; }
.about-card p { color:#c4c1c5; line-height:1.75; font-size:14px; }
.about-principles { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; }
.principle { border:1px solid var(--stroke-soft); border-radius:18px; padding:18px; background:rgba(255,255,255,.025); }
.principle strong { font-size:14px; }
.principle span { color:var(--muted); display:block; font-size:11px; line-height:1.5; margin-top:7px; }

/* Review detail */
.review-detail-hero { position:relative; min-height:560px; border-radius:var(--radius-xl); overflow:hidden; border:1px solid var(--stroke); margin:22px 0 14px; }
.review-detail-hero .bg { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:72% 15%; filter:saturate(.72); }
.review-detail-hero::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(24,17,20,.98),rgba(34,23,28,.88) 44%,rgba(34,23,28,.15) 72%); }
.review-detail-copy { position:relative; z-index:2; min-height:560px; padding:46px; width:58%; display:flex; flex-direction:column; justify-content:center; }
.review-detail-copy h1 { margin:8px 0 0; font-size:64px; letter-spacing:-.055em; }
.review-detail-copy .artist { color:#d0cdd0; font-size:24px; margin-top:8px; }
.review-body-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:14px; margin-bottom:48px; }
.review-body-card { border-radius:var(--radius-xl); padding:26px; }
.review-body-card h2 { margin:0 0 14px; font-size:20px; }
.review-body-card p { color:#d0cdd0; line-height:1.72; margin:0; font-size:14px; }
.track-table { margin-top:16px; }
.track-row { display:grid; grid-template-columns:44px 1fr 70px; gap:12px; padding:11px 0; border-top:1px solid var(--stroke-soft); align-items:center; }
.track-row span { font-size:12px; }
.track-score { text-align:right; font-weight:850; border-radius:999px; padding:6px 9px; width:max-content; justify-self:end; }
.vibe { margin-top:18px; }
.vibe-head { display:flex; justify-content:space-between; font-size:10px; color:#b8b5b8; }
.vibe-line { height:6px; margin-top:8px; border-radius:999px; position:relative; background:linear-gradient(90deg,#fd9400,#a3a3a3,#1aa7ec); }
.vibe-line.alt { background:linear-gradient(90deg,#bf00f6,#999,#36cf63); }
.vibe-dot { position:absolute; top:50%; width:15px; height:15px; border-radius:50%; border:3px solid #ededed; background:#8d7f89; transform:translate(-50%,-50%); }
.category { display:grid; grid-template-columns:90px 1fr; align-items:center; gap:10px; margin-top:10px; }
.category span { color:#c8c5c8; font-size:12px; }

/* Modal */
.modal-backdrop { position:fixed; inset:0; z-index:100; background:rgba(0,0,0,.68); backdrop-filter:blur(10px); display:none; align-items:center; justify-content:center; padding:22px; }
.modal-backdrop.open { display:flex; }
.modal { width:min(620px,100%); border-radius:26px; padding:26px; background:#141416; border:1px solid rgba(255,255,255,.2); box-shadow:0 30px 100px rgba(0,0,0,.55); }
.modal-head { display:flex; justify-content:space-between; gap:12px; align-items:center; }
.modal-head h2 { margin:0; font-size:24px; }
.close-modal { width:40px; height:40px; border-radius:50%; border:1px solid var(--stroke); background:transparent; color:white; cursor:pointer; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:20px; }
.field.full { grid-column:1/-1; }
.field label { display:block; font-size:10px; color:#aaa7ab; text-transform:uppercase; letter-spacing:.06em; margin-bottom:7px; }
.field input, .field select, .field textarea { width:100%; border-radius:14px; border:1px solid var(--stroke); background:rgba(255,255,255,.035); color:white; padding:13px 14px; outline:none; }
.field textarea { min-height:90px; resize:vertical; }
.field input:focus, .field select:focus, .field textarea:focus { border-color:rgba(224,113,149,.65); box-shadow:0 0 0 3px rgba(224,113,149,.08); }
.modal-actions { display:flex; justify-content:flex-end; gap:10px; margin-top:18px; }
.toast { position:fixed; bottom:22px; left:50%; transform:translate(-50%,20px); background:#18181b; border:1px solid rgba(255,255,255,.2); border-radius:999px; padding:12px 18px; z-index:110; opacity:0; pointer-events:none; transition:.2s ease; box-shadow:0 18px 60px rgba(0,0,0,.5); font-size:12px; }
.toast.show { opacity:1; transform:translate(-50%,0); }
.empty { padding:48px 20px; text-align:center; color:#8e8b90; }

.footer { border-top:1px solid var(--stroke-soft); margin-top:20px; padding:24px 0 36px; }
.footer-row { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:20px; color:#aaa7ab; font-size:10px; }
.footer-social { display:flex; justify-content:center; gap:20px; color:#efedf0; font-size:16px; }
.footer-links { justify-self:end; display:flex; gap:24px; }
.footer-note { display:flex; gap:30px; }

@media (max-width: 1180px) {
  .navbar { grid-template-columns:1fr auto; }
  .nav-links { display:none; }
  .search-mini { display:none; }
  .mobile-toggle { display:grid; place-items:center; }
  .nav-actions .btn-primary { display:none; }
  .mobile-nav.open { display:grid; padding:0 0 14px; gap:4px; }
  .mobile-nav a, .mobile-nav button { display:block; width:100%; padding:13px 0; border:0; background:transparent; text-align:left; color:#d2cfd2; }
  .section-grid { grid-template-columns:1fr 1fr; }
  .section-grid .latest-panel { grid-column:1/-1; }
  .review-strip { grid-template-columns:repeat(4,1fr); }
  .reviews-grid { grid-template-columns:repeat(3,1fr); }
  .request-layout { grid-template-columns:1fr; }
  .sidebar-card { position:static; }
  .request-row { grid-template-columns:44px 1fr 100px 114px; }
  .request-row > :nth-child(4) { display:none; }
  .request-row.header-row > :nth-child(4) { display:none; }
  .album-ranking { grid-template-columns:1fr; }
}

@media (max-width: 820px) {
  .container { width:min(calc(100% - 28px),var(--max)); }
  .navbar { min-height:70px; }
  .brand-title { font-size:17px; }
  .brand-sub { display:none; }
  .hero { min-height:610px; }
  .hero-media { inset:0; }
  .hero-media::after { background:linear-gradient(0deg,rgba(28,20,24,.92),rgba(28,20,24,.12) 60%); }
  .hero::before { background:linear-gradient(0deg,rgba(21,16,18,.99) 0%,rgba(26,19,22,.93) 42%,rgba(26,19,22,.18) 72%); }
  .hero-content { width:100%; min-height:610px; justify-content:flex-end; padding:26px; }
  .score-main { font-size:68px; }
  .score-out { font-size:24px; }
  .hero h1 { font-size:42px; }
  .hero-artist { font-size:18px; }
  .hero-actions { flex-wrap:wrap; }
  .hero-dots { display:none; }
  .section-grid { grid-template-columns:1fr; }
  .section-grid .latest-panel { grid-column:auto; }
  .review-strip { display:flex; overflow-x:auto; padding-bottom:5px; scroll-snap-type:x mandatory; }
  .review-card { flex:0 0 72%; scroll-snap-align:start; }
  .community-bar { grid-template-columns:auto 1fr; gap:18px; padding:20px; }
  .community-stat { grid-column:2; }
  .community-bar .btn { grid-column:1/-1; }
  .community-icon { width:64px; height:64px; }
  .reviews-grid { grid-template-columns:repeat(2,1fr); }
  .request-spotlight { grid-template-columns:1fr; }
  .request-stats-card { grid-template-columns:repeat(3,1fr); padding:16px; }
  .stat-box { padding:16px 12px; }
  .stat-box strong { font-size:24px; }
  .request-row { grid-template-columns:38px 1fr 94px; }
  .request-row > :nth-child(3), .request-row.header-row > :nth-child(3) { display:none; }
  .leaderboard-grid { grid-template-columns:1fr; }
  .discog-copy { padding:28px; }
  .discog-copy h1 { font-size:54px; }
  .album-rank-card { grid-template-columns:130px 1fr; }
  .about-grid { grid-template-columns:1fr; }
  .review-detail-copy { width:100%; justify-content:flex-end; padding:28px; }
  .review-detail-hero::after { background:linear-gradient(0deg,rgba(24,17,20,.99),rgba(34,23,28,.7) 54%,rgba(34,23,28,.1)); }
  .review-detail-copy h1 { font-size:48px; }
  .review-body-grid { grid-template-columns:1fr; }
  .footer-row { grid-template-columns:1fr; text-align:center; }
  .footer-note { justify-content:center; flex-wrap:wrap; gap:12px; }
  .footer-links { justify-self:center; }
}

@media (max-width: 560px) {
  .page-hero { padding-top:38px; }
  .page-hero h1 { font-size:48px; }
  .hero { margin-top:12px; border-radius:22px; }
  .hero-content { padding:22px 20px; }
  .meta-row { gap:14px; }
  .meta { grid-template-columns:34px auto; }
  .meta-icon { width:34px; height:34px; }
  .hero-actions .btn { flex:1 1 150px; }
  .panel { padding:18px; }
  .reviews-grid { grid-template-columns:1fr; }
  .big-review-card .image { aspect-ratio:16/11; }
  .request-search-row { flex-direction:column; }
  .request-search-row .btn { min-height:52px; }
  .request-stats-card { grid-template-columns:1fr; }
  .request-row { grid-template-columns:30px 1fr; }
  .request-row > :nth-child(5), .request-row.header-row > :nth-child(5) { display:none; }
  .request-project strong { max-width:190px; }
  .album-rank-card { grid-template-columns:1fr; }
  .album-rank-card .art { max-width:240px; }
  .discog-copy h1 { font-size:45px; }
  .about-principles { grid-template-columns:1fr; }
  .form-grid { grid-template-columns:1fr; }
  .field.full { grid-column:auto; }
  .review-detail-copy h1 { font-size:42px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior:auto !important; animation-duration:.001ms !important; transition-duration:.001ms !important; }
}

/* =========================
   V4 layout refinements
   ========================= */
:root { --max: 1360px; }

.hero {
  min-height:0;
  height:clamp(470px,36vw,545px);
  max-height:545px;
}
.hero-media { inset:0 0 0 43%; }
.hero-media::after { background:linear-gradient(90deg,rgba(35,25,30,.66) 0%,rgba(35,25,30,.17) 48%,rgba(15,12,14,.02) 100%); }
.hero::before { background:linear-gradient(90deg,rgba(17,14,16,.99) 0%,rgba(27,21,24,.95) 38%,rgba(27,21,24,.46) 54%,rgba(17,13,15,.08) 75%,rgba(10,10,11,.02) 100%); }
.hero-content {
  width:61%;
  max-width:800px;
  min-height:100%;
  padding:clamp(34px,3.2vw,54px) clamp(34px,4vw,62px);
  justify-content:center;
}
.badge { width:max-content; max-width:100%; padding:7px 13px; font-size:10px; }
.score { margin-top:22px; }
.hero-type { margin-top:19px; }
.hero h1 { margin-top:11px; line-height:.95; }
.hero-artist { margin-top:11px; }
.meta-row { gap:18px 28px; margin-top:27px; }
.meta { grid-template-columns:40px minmax(64px,auto); gap:11px; min-width:112px; }
.meta-icon { width:40px; height:40px; }
.meta > span:last-child { display:flex; flex-direction:column; gap:4px; min-width:0; }
.meta-label,.meta-value { display:block; margin:0; line-height:1.05; }
.hero-actions { margin-top:29px; gap:12px; }
.hero-dots { display:none !important; }

.mobile-request-prompt { display:none; margin-top:12px; border-radius:22px; padding:20px; }
.mobile-request-prompt .community-copy h2 { font-size:16px; }
.mobile-request-prompt .community-copy p { font-size:12px; margin-bottom:16px; }
.mobile-request-prompt .btn { width:100%; }

/* Home request cards: more air, clear typography and actual project artwork */
.rank-item { column-gap:14px; row-gap:0; padding:13px 0; }
.rank-item:first-child { padding-top:2px; }
.most-item { grid-template-columns:30px 48px minmax(0,1fr) auto; }
.trending-item { grid-template-columns:58px 48px minmax(0,1fr); }
.rank-art { width:48px; height:48px; border-radius:10px; }
.rank-copy { min-width:0; display:block; padding-inline:1px 6px; }
.rank-name { display:block; font-size:12px; line-height:1.2; }
.rank-artist { display:block; margin-top:5px; line-height:1.2; }
.rank-count { min-width:58px; padding-left:6px; }
.trending-count { min-width:52px; line-height:1.05; }
.trending-count small { margin-top:5px; line-height:1.2; }

/* Request table spacing */
.request-row { gap:18px; padding:16px 20px; }
.request-project { gap:15px; }
.request-project-copy { min-width:0; }
.request-project-copy strong { font-size:13px; line-height:1.25; }
.request-project-copy > span { margin-top:6px; line-height:1.2; }
.request-art { width:52px; height:52px; border-radius:11px; }

/* Overall ranking */
.ranking-shell { margin:18px 0 52px; }
.ranking-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-bottom:14px; }
.ranking-summary .insight { padding:18px 20px; }
.overall-ranking-card { border-radius:var(--radius-xl); overflow:hidden; }
.overall-header,.overall-row {
  display:grid;
  grid-template-columns:72px 64px minmax(210px,1.3fr) minmax(170px,.9fr) 108px;
  align-items:center;
  column-gap:20px;
}
.overall-header { padding:14px 22px; color:#8f8c91; font-size:9px; text-transform:uppercase; letter-spacing:.08em; border-bottom:1px solid var(--stroke-soft); background:rgba(255,255,255,.025); }
.overall-row { padding:16px 22px; border-top:1px solid var(--stroke-soft); transition:background .16s ease; }
.overall-row:first-of-type { border-top:0; }
.overall-row:hover { background:rgba(255,255,255,.025); }
.overall-place { font-size:16px; font-weight:780; color:#cbc8cc; }
.overall-cover { width:58px; height:58px; overflow:hidden; border-radius:12px; background:#222; }
.overall-cover img { width:100%; height:100%; object-fit:cover; }
.overall-project { min-width:0; }
.overall-project strong { display:block; font-size:14px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.overall-project small { display:block; margin-top:6px; color:var(--muted); font-size:10px; }
.overall-artist { width:max-content; max-width:100%; color:#dedbdf; font-size:12px; border-bottom:1px solid transparent; }
.overall-artist:hover { color:var(--pink-2); border-color:rgba(241,151,180,.45); }
.overall-artist span { color:var(--muted-2); margin-left:4px; }
.overall-artist-group { display:flex; align-items:center; gap:0; flex-wrap:wrap; min-width:0; }
.overall-artist-group .overall-artist { display:inline; }
.artist-credit-sep { color:var(--muted-2); white-space:pre; }
.review-detail-copy [data-review-artist] { display:flex; align-items:baseline; flex-wrap:wrap; gap:0; width:max-content; max-width:100%; }
.review-detail-copy [data-review-artist] .artist-credit-link { color:inherit; border-bottom:1px solid transparent; }
.review-detail-copy [data-review-artist] .artist-credit-link:hover { color:var(--pink-2); border-color:rgba(241,151,180,.45); }
.overall-score { text-align:right; font-weight:850; font-size:26px; letter-spacing:-.03em; }
.overall-score small { color:#8e8b90; font-size:11px; margin-left:3px; font-weight:500; }

/* Artist archive */
.artist-hero { padding-bottom:30px; }
.artist-stats { display:flex; gap:10px; flex-wrap:wrap; margin-top:22px; }
.artist-stat { min-width:118px; border:1px solid var(--stroke); background:rgba(255,255,255,.035); border-radius:16px; padding:13px 16px; }
.artist-stat strong { display:block; font-size:24px; line-height:1; }
.artist-stat span { display:block; margin-top:6px; color:var(--muted); font-size:9px; text-transform:uppercase; letter-spacing:.06em; }
.artist-reviews { display:grid; gap:14px; margin-bottom:52px; }
.artist-review-card { border-radius:var(--radius-xl); padding:18px; display:grid; grid-template-columns:190px 1fr; gap:26px; align-items:center; }
.artist-card-art { aspect-ratio:1; overflow:hidden; border-radius:18px; background:#222; }
.artist-card-art img { width:100%; height:100%; object-fit:cover; }
.artist-card-copy { min-width:0; padding-right:8px; }
.artist-card-rank { color:var(--pink-2); font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; margin-bottom:10px; }
.artist-card-top { display:flex; justify-content:space-between; align-items:flex-start; gap:24px; }
.artist-card-title { font-size:31px; font-weight:800; letter-spacing:-.04em; line-height:1; }
.artist-card-title:hover { color:var(--pink-2); }
.artist-card-meta { color:var(--muted); margin-top:8px; font-size:11px; }
.artist-card-score { font-size:34px; font-weight:850; line-height:1; white-space:nowrap; }
.artist-card-score small { color:#8e8b90; font-size:12px; font-weight:500; margin-left:3px; }
.artist-card-copy p { max-width:720px; color:#bdbabe; line-height:1.6; font-size:12px; margin:18px 0 0; }
.artist-card-actions { margin-top:18px; }
.artist-empty { padding:42px; border-radius:var(--radius-xl); }

.review-detail-copy .artist { display:inline-block; width:max-content; border-bottom:1px solid transparent; }
.review-detail-copy .artist:hover { color:var(--pink-2); border-color:rgba(241,151,180,.45); }

/* Request artwork matching */
.request-artwork-picker { grid-column:1/-1; display:grid; grid-template-columns:82px 1fr; gap:14px; align-items:center; border:1px solid var(--stroke-soft); border-radius:16px; padding:12px; background:rgba(255,255,255,.02); }
.request-artwork-picker img { width:82px; height:82px; object-fit:cover; border-radius:12px; background:#202024; border:1px solid var(--stroke-soft); }
.request-artwork-picker img.matched { border-color:rgba(224,113,149,.55); }
.artwork-picker-copy strong { display:block; font-size:12px; }
.artwork-picker-copy p { margin:6px 0 10px; color:var(--muted); font-size:10px; line-height:1.4; }
.artwork-picker-copy .btn { min-height:34px; padding:0 14px; font-size:10px; }
.music-suggestions { grid-column:1/-1; display:grid; gap:6px; max-height:260px; overflow:auto; }
.music-suggestion-label,.music-searching { color:#817f84; font-size:8px; letter-spacing:.08em; padding:2px 2px 4px; }
.music-suggestion { width:100%; display:grid; grid-template-columns:46px minmax(0,1fr) auto; gap:12px; align-items:center; text-align:left; border:1px solid var(--stroke-soft); border-radius:12px; background:rgba(255,255,255,.025); padding:8px; cursor:pointer; }
.music-suggestion:hover { border-color:rgba(224,113,149,.45); background:rgba(224,113,149,.055); }
.music-suggestion img { width:46px; height:46px; object-fit:cover; border-radius:8px; background:#222; }
.music-suggestion span { min-width:0; }
.music-suggestion strong,.music-suggestion small { display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.music-suggestion strong { font-size:11px; }
.music-suggestion small { color:var(--muted); font-size:9px; margin-top:4px; }
.music-suggestion em { color:#9c999e; font-size:8px; font-style:normal; text-transform:uppercase; letter-spacing:.05em; }

@media (max-width:1180px){
  .overall-header,.overall-row { grid-template-columns:64px 58px minmax(190px,1.2fr) minmax(140px,.8fr) 92px; column-gap:14px; }
}

@media (max-width:820px){
  :root { --max:1360px; }
  .hero { height:clamp(600px,92vh,720px); max-height:none; min-height:600px; }
  .hero-media { inset:0; }
  .hero-content { width:100%; max-width:none; min-height:100%; justify-content:flex-end; padding:28px 26px 30px; }
  .hero::before { background:linear-gradient(0deg,rgba(15,13,14,.99) 0%,rgba(20,16,18,.93) 45%,rgba(20,16,18,.38) 72%,rgba(15,12,14,.06) 100%); }
  .hero-media::after { background:linear-gradient(0deg,rgba(20,16,18,.60),rgba(20,16,18,.02) 60%); }
  .meta-row { gap:15px 18px; }
  .mobile-request-prompt { display:block; }
  .community-bar:not(.mobile-request-prompt) { display:none; }
  .rank-item { padding:14px 0; }
  .most-item { grid-template-columns:26px 48px minmax(0,1fr) auto; }
  .trending-item { grid-template-columns:54px 48px minmax(0,1fr); }
  .ranking-summary { grid-template-columns:1fr 1fr 1fr; }
  .overall-header { display:none; }
  .overall-row { grid-template-columns:52px 58px minmax(0,1fr) 80px; column-gap:13px; padding:15px 16px; }
  .overall-artist { grid-column:3; margin-top:-14px; color:var(--muted); font-size:10px; }
  .overall-score { grid-column:4; grid-row:1/3; align-self:center; }
  .artist-review-card { grid-template-columns:150px 1fr; gap:18px; }
  .artist-card-title { font-size:25px; }
}

@media (max-width:560px){
  .hero { height:650px; min-height:650px; }
  .hero-content { padding:24px 20px 26px; }
  .score { margin-top:17px; }
  .hero-type { margin-top:15px; }
  .hero h1 { margin-top:9px; }
  .meta-row { margin-top:20px; gap:13px 12px; }
  .meta { min-width:calc(50% - 7px); grid-template-columns:34px minmax(0,1fr); gap:9px; }
  .meta-icon { width:34px; height:34px; }
  .meta-label { font-size:8px; }
  .meta-value { font-size:12px; }
  .hero-actions { margin-top:22px; }
  .mobile-request-prompt { padding:18px; }
  .panel .rank-item { column-gap:11px; }
  .most-item { grid-template-columns:22px 44px minmax(0,1fr) auto; }
  .trending-item { grid-template-columns:50px 44px minmax(0,1fr); }
  .rank-art { width:44px; height:44px; }
  .rank-name { font-size:11px; }
  .rank-count { font-size:13px; min-width:48px; }
  .request-row { gap:12px; padding:15px 14px; }
  .request-project { gap:11px; }
  .request-art { width:48px; height:48px; }
  .ranking-summary { grid-template-columns:1fr; }
  .overall-row { grid-template-columns:44px 52px minmax(0,1fr) 70px; column-gap:10px; padding:14px 12px; }
  .overall-cover { width:52px; height:52px; }
  .overall-place { font-size:13px; }
  .overall-project strong { font-size:12px; }
  .overall-score { font-size:22px; }
  .artist-review-card { grid-template-columns:1fr; padding:14px; gap:16px; }
  .artist-card-art { max-width:100%; aspect-ratio:1; }
  .artist-card-copy { padding:0 4px 5px; }
  .artist-card-title { font-size:28px; }
  .request-artwork-picker { grid-template-columns:68px 1fr; }
  .request-artwork-picker img { width:68px; height:68px; }
  .music-suggestion { grid-template-columns:42px minmax(0,1fr); }
  .music-suggestion em { display:none; }
}

/* V4.1 polish: global search, loading, artist archive and sharing */
.status.in-progress{color:#e9a8ff;border-color:rgba(213,135,255,.35);background:rgba(213,135,255,.07)}
.global-search-host{position:relative;z-index:60}.global-search-results{position:absolute;right:0;top:calc(100% + 9px);width:min(420px,90vw);max-height:70vh;overflow:auto;padding:8px;border:1px solid var(--stroke);border-radius:18px;background:rgba(14,14,16,.98);box-shadow:0 24px 90px rgba(0,0,0,.55);backdrop-filter:blur(24px);opacity:0;transform:translateY(-5px);pointer-events:none;transition:.16s}.global-search-results.open{opacity:1;transform:none;pointer-events:auto}.global-search-group>span{display:block;padding:8px 9px 5px;color:#6f6d74;font-size:8px;font-weight:850;letter-spacing:.12em}.global-search-group a{display:grid;grid-template-columns:38px minmax(0,1fr);grid-template-rows:auto auto;column-gap:10px;padding:8px;border-radius:12px;color:#fff}.global-search-group a:hover{background:rgba(255,255,255,.045)}.global-search-group img,.global-search-group i{grid-row:1/3;width:38px;height:38px;border-radius:9px;object-fit:cover;background:#242427;display:grid;place-items:center;color:var(--pink-2);font-style:normal}.global-search-group b{font-size:10px;align-self:end;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.global-search-group small{font-size:8px;color:#77757b;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.global-search-empty{padding:16px;color:#8e8c92;font-size:10px}.global-search-empty button{border:0;background:transparent;color:var(--pink-2);cursor:pointer;font:inherit;font-weight:750}.empty-state{grid-column:1/-1;min-height:180px;border-radius:22px;padding:30px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.empty-state .empty-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;border:1px solid rgba(224,113,149,.28);color:var(--pink-2);margin-bottom:14px}.empty-state strong{font-size:18px}.empty-state p{max-width:440px;color:#87858b;font-size:11px;line-height:1.6;margin:7px 0 16px}
.skeleton-card{min-height:82px;border-radius:16px;border:1px solid var(--stroke-soft);background:linear-gradient(100deg,rgba(255,255,255,.025) 20%,rgba(255,255,255,.065) 40%,rgba(255,255,255,.025) 60%);background-size:220% 100%;animation:skeletonShimmer 1.3s linear infinite;padding:14px;display:grid;grid-template-columns:52px 1fr;gap:12px}.skeleton-card span{grid-row:1/3;width:52px;height:52px;border-radius:12px;background:rgba(255,255,255,.05)}.skeleton-card i,.skeleton-card b{height:9px;border-radius:999px;background:rgba(255,255,255,.055);align-self:end}.skeleton-card b{width:62%;align-self:start}.is-loading .hero,.is-loading .page-hero{opacity:.72}.is-loading [data-latest-reviews],.is-loading [data-most-requested],.is-loading [data-trending],.is-loading [data-reviews-grid],.is-loading [data-overall-ranking],.is-loading [data-request-table],.is-loading [data-artist-reviews]{pointer-events:none}@keyframes skeletonShimmer{to{background-position:-120% 0}}
.review-share-bar{margin:14px 0 18px;border-radius:18px;padding:13px 14px;display:flex;align-items:center;justify-content:flex-end;gap:8px}.review-share-bar>span{margin-right:auto;color:#77757b;font-size:8px;font-weight:850;letter-spacing:.12em}.review-share-bar .btn{min-height:36px;padding-inline:14px}
.artist-hero{position:relative;overflow:hidden;border:1px solid var(--stroke-soft);border-radius:28px;padding:44px 36px 32px;background:linear-gradient(90deg,rgba(9,9,10,.96) 0 46%,rgba(9,9,10,.58) 73%,rgba(9,9,10,.9) 100%),var(--artist-bg);background-size:cover;background-position:center 25%;margin-bottom:14px}.artist-hero::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 60%,rgba(8,8,9,.35))}.artist-hero>*{position:relative;z-index:1}.artist-stats{gap:8px}.artist-stat{min-width:118px;background:rgba(8,8,10,.58);backdrop-filter:blur(12px)}.artist-spotlights{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0}.artist-spot{display:grid;grid-template-columns:72px minmax(0,1fr);grid-template-rows:auto 1fr;gap:4px 13px;padding:14px;border-radius:20px}.artist-spot>span{grid-column:1/-1;color:#77757b;font-size:8px;font-weight:850;letter-spacing:.1em;margin-bottom:7px}.artist-spot img{width:72px;height:72px;border-radius:14px;object-fit:cover;grid-row:2}.artist-spot div{align-self:center}.artist-spot strong{display:block;font-size:15px}.artist-spot small{display:block;margin-top:5px;font-size:12px;color:var(--pink-2);font-weight:850}.artist-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:22px 0 12px}.artist-toolbar>span{color:#77757b;font-size:9px;text-transform:uppercase;letter-spacing:.08em}.artist-reviews{display:grid;gap:14px}
@media(max-width:720px){.review-share-bar{align-items:stretch;flex-wrap:wrap}.review-share-bar>span{width:100%;margin:0 0 3px}.review-share-bar .btn{flex:1}.artist-hero{padding:32px 22px 24px;background:linear-gradient(180deg,rgba(9,9,10,.72),rgba(9,9,10,.96)),var(--artist-bg);background-size:cover}.artist-spotlights{grid-template-columns:1fr}.artist-toolbar{align-items:flex-start;flex-direction:column}.artist-toolbar .filter-pills{width:100%;overflow:auto;flex-wrap:nowrap}.global-search-results{position:fixed;left:12px;right:12px;top:74px;width:auto}.global-search-host{z-index:auto}}
.mobile-global-search{display:none!important;width:100%!important;margin-bottom:8px}.mobile-global-search input{width:100%}
@media(max-width:760px){.mobile-global-search{display:block!important}.mobile-nav .global-search-results{position:absolute;top:54px;left:0;right:0;width:100%}}
.review-share-bar small{color:#77757b;font-size:9px}

/* =========================================================
   V5 — cinematic hero, smarter requests & spacing polish
   ========================================================= */
.hero{
  min-height:clamp(540px,68vh,760px);
  max-height:760px;
  background:#151215;
  --hero-x:72%;--hero-y:20%;--hero-zoom:1;
  --hero-mobile-x:72%;--hero-mobile-y:20%;--hero-mobile-zoom:1;
}
.hero-media{inset:0!important;overflow:hidden;background:#111}
.hero-media img{
  width:100%;height:100%;object-fit:cover;
  object-position:var(--hero-x) var(--hero-y)!important;
  transform:scale(var(--hero-zoom));
  transform-origin:var(--hero-x) var(--hero-y);
  transition:transform .28s ease,object-position .28s ease;
  filter:saturate(.86) contrast(1.01) brightness(.92);
}
.hero-media::after{inset:0;background:linear-gradient(90deg,rgba(10,9,11,.86) 0%,rgba(14,11,14,.68) 35%,rgba(10,8,10,.28) 62%,rgba(7,7,8,.06) 100%)!important}
.hero::before{background:linear-gradient(90deg,rgba(8,8,9,.88) 0%,rgba(15,12,15,.70) 36%,rgba(12,10,12,.34) 59%,rgba(8,8,9,.05) 100%)!important}
.hero-content{width:min(610px,58%)!important;max-width:610px;min-height:clamp(540px,68vh,760px)!important;padding:48px 48px 44px!important;justify-content:center!important}
.hero .badge{margin-bottom:2px}.hero .score{margin-top:17px}.hero-type{margin-top:22px!important}.hero h1{margin-top:13px!important}.hero-artist{margin-top:13px!important}.hero .meta-row{margin-top:29px!important;gap:30px 34px!important}.hero-actions{margin-top:32px!important}
.hero-dots,.hero-dot{display:none!important}

/* Request autocomplete behaves like a real picker rather than a hidden helper. */
.music-suggestions{display:none;position:relative;grid-column:1/-1;max-height:340px;overflow:auto;padding:8px;border:1px solid rgba(255,255,255,.09);border-radius:16px;background:#121214;box-shadow:0 24px 70px rgba(0,0,0,.42);z-index:4}
.music-suggestions.open{display:grid}
.music-suggestion-label{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 5px 7px!important}
.music-suggestion-label span{font-size:8px;letter-spacing:.11em;color:#929096}.music-suggestion-label small{font-size:8px;color:#65636a;letter-spacing:0;text-transform:none}
.music-suggestion{grid-template-columns:54px minmax(0,1fr) auto!important;gap:13px!important;padding:9px 10px!important;border-radius:13px!important}
.music-suggestion img{width:54px!important;height:54px!important;border-radius:9px!important}.music-suggestion strong{font-size:12px!important}.music-suggestion small{font-size:9px!important}.music-suggestion b{display:block;margin-top:5px;font-size:8px;color:#a5a1a7;font-weight:650;letter-spacing:.02em}.music-suggestion em{font-size:8px!important;padding:5px 7px;border:1px solid var(--stroke-soft);border-radius:999px}
.music-suggestion.existing{border-color:rgba(224,113,149,.23)}.music-suggestion.existing b{color:var(--pink-2)}.music-suggestion.reviewed{border-color:rgba(103,189,255,.22)}.music-suggestion.reviewed b{color:#8fcbff}.music-suggestion.planned b,.music-suggestion.progress b{color:#f0d78b}
.request-confirm{grid-column:1/-1;border:1px solid rgba(224,113,149,.22);border-radius:15px;background:rgba(224,113,149,.055);padding:13px 14px;display:grid;gap:3px}.request-confirm[hidden]{display:none}.request-confirm>span{font-size:7px;letter-spacing:.12em;color:#9d7a86}.request-confirm strong{font-size:13px}.request-confirm small{color:#97949a;font-size:9px}.request-confirm em{margin-top:5px;font-size:9px;color:var(--pink-2);font-style:normal;font-weight:700}.request-confirm.reviewed{border-color:rgba(103,189,255,.22);background:rgba(103,189,255,.045)}.request-confirm.reviewed em{color:#8fcbff}
.request-artwork-picker{padding:14px!important;gap:15px!important}.request-artwork-picker img{width:82px!important;height:82px!important;border-radius:12px!important}.artwork-picker-copy p{line-height:1.5!important;margin:5px 0 10px!important}

/* More breathing room in request rankings. */
.rank-item{min-height:82px;gap:20px!important;padding:17px 20px!important}.rank-art{width:58px!important;height:58px!important;flex:0 0 58px}.rank-art img{width:100%;height:100%;object-fit:cover;border-radius:10px}.rank-copy{gap:6px!important;min-width:0}.rank-name{font-size:13px!important}.rank-artist{font-size:10px!important}.rank-count{min-width:92px;text-align:right}.trending-count{min-width:104px!important}
.request-row{grid-template-columns:64px minmax(260px,1fr) 122px 132px 136px!important;gap:22px!important;padding:18px 22px!important}.request-project{gap:16px!important}.request-art{width:58px!important;height:58px!important}.request-project-copy{gap:6px!important}.request-locked{font-size:9px;color:#77747b;text-transform:uppercase;letter-spacing:.06em;text-align:center}

@media(max-width:900px){
  .hero{min-height:650px;max-height:none}.hero-media img{object-position:var(--hero-mobile-x) var(--hero-mobile-y)!important;transform:scale(var(--hero-mobile-zoom));transform-origin:var(--hero-mobile-x) var(--hero-mobile-y)}
  .hero-media::after{background:linear-gradient(0deg,rgba(10,9,11,.88) 0%,rgba(13,10,13,.52) 42%,rgba(9,8,9,.08) 76%)!important}.hero::before{background:linear-gradient(0deg,rgba(9,8,10,.83) 0%,rgba(11,9,11,.42) 48%,rgba(8,8,9,.03) 78%)!important}
  .hero-content{width:100%!important;max-width:none!important;min-height:650px!important;padding:32px 28px 34px!important;justify-content:flex-end!important}.hero .meta-row{gap:18px 24px!important;margin-top:24px!important}
  .request-row{grid-template-columns:48px minmax(0,1fr) 110px 118px!important;gap:14px!important}.request-row>:nth-child(4),.request-row.header-row>:nth-child(4){display:none}
}
@media(max-width:620px){
  .hero{margin-top:12px;min-height:620px;border-radius:22px}.hero-content{min-height:620px!important;padding:26px 20px 25px!important}.hero h1{font-size:clamp(42px,13vw,58px)!important}.hero .meta-row{grid-template-columns:1fr 1fr;gap:15px 12px!important}.hero-actions{width:100%;gap:8px!important}.hero-actions .btn{flex:1 1 145px}
  .music-suggestion{grid-template-columns:48px minmax(0,1fr)!important}.music-suggestion img{width:48px!important;height:48px!important}.music-suggestion em{display:none}.request-artwork-picker{align-items:flex-start!important}.request-artwork-picker img{width:72px!important;height:72px!important}
  .rank-item{gap:13px!important;padding:15px 13px!important}.rank-art{width:52px!important;height:52px!important;flex-basis:52px}.rank-count{min-width:72px}.trending-count{min-width:84px!important}
  .request-row{grid-template-columns:34px minmax(0,1fr)!important;gap:12px!important;padding:15px 12px!important}.request-row>:nth-child(3),.request-row>:nth-child(4),.request-row>:nth-child(5),.request-row.header-row>:nth-child(3),.request-row.header-row>:nth-child(4),.request-row.header-row>:nth-child(5){display:none}.request-project{gap:12px!important}.request-art{width:52px!important;height:52px!important}
}
.request-layout{grid-template-columns:minmax(0,1fr)!important}
.not-found{margin:clamp(55px,10vh,120px) auto;max-width:900px;padding:clamp(34px,7vw,82px);text-align:center;overflow:hidden;position:relative}.not-found>strong{display:block;font-size:clamp(100px,21vw,230px);line-height:.78;letter-spacing:-.08em;color:rgba(255,255,255,.045);margin:10px 0 -8px}.not-found h1{font-size:clamp(34px,6vw,68px);line-height:.95;letter-spacing:-.05em;margin:0 auto 18px;max-width:720px}.not-found p{color:var(--muted);max-width:570px;margin:0 auto 26px;line-height:1.7}.not-found>div{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}

/* =========================================================
   V5.1 — exact crop, upcoming requests, artist profiles
   ========================================================= */
.hero{aspect-ratio:2/1;min-height:0!important;max-height:none!important;height:auto!important}
.hero-media img{position:absolute!important;max-width:none!important;max-height:none!important;transition:none!important}
.hero-content{min-height:100%!important}
.music-suggestion.manual{border-style:dashed!important;border-color:rgba(255,255,255,.12)!important;background:rgba(255,255,255,.018)!important}
.music-suggestion.manual b{color:#9d9aa0!important}.music-suggestion b{letter-spacing:.035em;text-transform:uppercase}
.artist-profile-photo{position:relative;float:right;width:clamp(112px,14vw,170px);height:clamp(112px,14vw,170px);border-radius:50%;overflow:hidden;border:1px solid rgba(255,255,255,.16);box-shadow:0 20px 55px rgba(0,0,0,.35);background:#161619;margin:0 0 20px 28px}
.artist-profile-photo img{position:absolute;max-width:none;max-height:none}
.artist-profile-photo[hidden]{display:none!important}
.is-loading .hero,.is-loading .page-hero{opacity:1}.skeleton-card{opacity:.42;animation-duration:1.8s}
@media(max-width:900px){.hero{aspect-ratio:9/13;min-height:0!important}.hero-content{min-height:100%!important}.artist-profile-photo{float:none;margin:0 0 18px}}
/* Review detail only: keep the official project cover on the side instead of using it as a full-bleed background. */
.review-detail-hero {
  min-height:560px;
  background:
    radial-gradient(circle at 18% 24%, rgba(229,85,133,.10), transparent 34%),
    linear-gradient(135deg, rgba(28,22,25,.98), rgba(13,13,15,.98));
}
.review-detail-hero .bg {
  position:absolute;
  z-index:2;
  left:auto;
  right:32px;
  top:50%;
  bottom:auto;
  transform:translateY(-50%);
  width:clamp(300px,34vw,430px);
  height:clamp(300px,34vw,430px);
  max-width:calc(42% - 32px);
  max-height:calc(100% - 64px);
  object-fit:cover;
  object-position:center;
  border-radius:26px;
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 24px 70px rgba(0,0,0,.42);
  filter:none;
}
.review-detail-hero::after {
  z-index:1;
  background:linear-gradient(90deg, rgba(18,16,18,.36), rgba(18,16,18,.10) 58%, transparent 76%);
}
.review-detail-copy {
  z-index:3;
  width:58%;
  padding-right:28px;
}

@media (max-width: 900px) {
  .review-detail-hero {
    min-height:0;
    padding-top:18px;
  }
  .review-detail-hero .bg {
    position:relative;
    inset:auto;
    transform:none;
    display:block;
    width:calc(100% - 36px);
    height:auto;
    max-width:none;
    max-height:none;
    aspect-ratio:1 / 1;
    margin:0 18px;
    border-radius:22px;
  }
  .review-detail-hero::after {
    background:linear-gradient(180deg, transparent 0 42%, rgba(20,17,19,.18) 62%, rgba(20,17,19,.42) 100%);
  }
  .review-detail-copy {
    min-height:0;
    width:100%;
    padding:22px 26px 30px;
    justify-content:flex-start;
  }
}
/* V5.1 QA fixes */
.request-artist-link{color:inherit;text-decoration:none;border-bottom:1px solid transparent;transition:.18s ease}.request-artist-link:hover{color:var(--pink-2);border-bottom-color:currentColor}.request-meta-sep{color:#6f6c72}.mobile-toggle[aria-expanded="true"]{font-size:24px;line-height:1}
@media(max-width:1180px){.mobile-nav.open{position:relative;z-index:40;border-top:1px solid var(--stroke-soft);margin-top:2px}.mobile-nav.open .mobile-global-search{position:relative;z-index:3}}
@media(max-width:620px){
  .modal-backdrop{align-items:flex-start!important;overflow-y:auto!important;padding:max(10px,env(safe-area-inset-top)) 10px max(12px,env(safe-area-inset-bottom))!important;overscroll-behavior:contain}
  .modal{width:100%!important;max-width:none!important;max-height:calc(100dvh - max(20px,env(safe-area-inset-top)) - max(20px,env(safe-area-inset-bottom)))!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch;margin:auto 0!important;border-radius:22px!important;padding:18px 16px 16px!important}
  .modal-head{position:sticky;top:-18px;z-index:8;background:linear-gradient(#141416 78%,rgba(20,20,22,.96));padding:4px 0 12px;margin-bottom:2px}
  .modal-head h2{font-size:22px}.close-modal{width:38px;height:38px;flex:0 0 38px}
  .form-grid{grid-template-columns:1fr!important;gap:13px!important;margin-top:14px!important}.field.full{grid-column:auto!important}
  .request-artwork-picker{grid-template-columns:58px minmax(0,1fr)!important;gap:12px!important;padding:11px!important}.request-artwork-picker img{width:58px!important;height:58px!important}.artwork-picker-copy p{font-size:9px!important;margin:4px 0 8px!important}.artwork-picker-copy .btn{min-height:36px;padding:0 12px}
  .music-suggestions{max-height:240px!important}.music-suggestion{grid-template-columns:44px minmax(0,1fr)!important;padding:8px!important}.music-suggestion img{width:44px!important;height:44px!important}
  .modal-actions{position:sticky;bottom:-16px;z-index:7;display:grid!important;grid-template-columns:1fr 1fr;gap:8px!important;margin:14px -2px -2px!important;padding:14px 2px 2px;background:linear-gradient(0deg,#141416 76%,rgba(20,20,22,.92) 90%,transparent)}.modal-actions .btn{width:100%;min-width:0;padding:0 10px}
}
/* V5.1 official public polish */
.global-artist-photo{grid-row:1/3;width:38px;height:38px;border-radius:50%;overflow:hidden;position:relative;background:#242427;display:block}
.global-artist-photo img{position:absolute!important;max-width:none!important;border-radius:0!important;object-fit:fill!important}
.artist-profile-photo{width:clamp(120px,15vw,184px);height:clamp(120px,15vw,184px)}
.archive-extra-controls{display:flex;justify-content:flex-end;gap:10px;margin:-4px 0 22px}
.archive-extra-controls label{display:flex;align-items:center;gap:8px;color:#77757b;font-size:9px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}
.archive-extra-controls select{appearance:none;border:1px solid var(--stroke);background:#171719;color:#f2f0f3;border-radius:999px;padding:10px 30px 10px 13px;font:inherit;text-transform:none;letter-spacing:0;cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,#777 50%),linear-gradient(135deg,#777 50%,transparent 50%);background-position:calc(100% - 14px) 50%,calc(100% - 10px) 50%;background-size:4px 4px,4px 4px;background-repeat:no-repeat}
.score-distribution{padding:18px 20px;margin-bottom:14px}.score-dist-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:13px}.score-dist-head small{font-size:9px;color:#77757b}.score-dist-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.score-dist-item{border:1px solid var(--stroke-soft);border-radius:14px;padding:12px;text-align:center;background:rgba(255,255,255,.018)}.score-dist-item strong{display:block;font-size:22px;line-height:1}.score-dist-item span{display:block;margin-top:5px;font-size:8px;color:#85838a;text-transform:uppercase}.score-dist-item.s strong{color:var(--blue)}.score-dist-item.a strong{color:var(--green)}.score-dist-item.b strong{color:var(--lime)}.score-dist-item.c strong{color:var(--yellow)}.score-dist-item.d strong{color:var(--orange)}.score-dist-item.e strong{color:var(--orange-2)}.score-dist-item.f strong{color:var(--red)}
.rank-item-link{color:inherit;text-decoration:none;border-radius:14px;transition:background .15s,transform .15s}.rank-item-link:hover{background:rgba(255,255,255,.025);transform:translateX(2px)}
.artist-coming-next{margin:16px 0 24px;padding:22px}.artist-coming-head,.more-from-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:16px}.artist-coming-head h2,.more-from-head h2{font-size:25px;margin-top:4px}.artist-coming-head>a,.more-from-head>a{font-size:10px;color:var(--pink-2);font-weight:800}.artist-coming-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.artist-coming-card{display:grid;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:12px;padding:11px;border:1px solid var(--stroke-soft);border-radius:15px;color:#fff;background:rgba(255,255,255,.018)}.artist-coming-card img{width:54px;height:54px;border-radius:10px;object-fit:cover}.artist-coming-card span{min-width:0}.artist-coming-card strong,.artist-coming-card small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.artist-coming-card strong{font-size:11px}.artist-coming-card small{font-size:9px;color:#77757b;margin-top:4px}.artist-coming-card em{font-style:normal;font-size:8px;white-space:nowrap}
.review-artist-credit{display:flex;align-items:center;gap:6px;color:#b7b4ba;font-size:16px}.review-artist-credit a{color:inherit}.review-artist-credit a:hover{color:#fff}.review-artist-credit .artist-credit-sep{font-size:12px;color:#646169}
.more-from-artist{margin-top:18px;padding:24px 0 4px}.more-from-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.more-from-card{display:grid;grid-template-columns:66px minmax(0,1fr) auto;align-items:center;gap:13px;padding:12px;color:#fff;border-radius:17px}.more-from-card img{width:66px;height:66px;border-radius:11px;object-fit:cover}.more-from-card span{min-width:0}.more-from-card strong,.more-from-card span small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.more-from-card strong{font-size:12px}.more-from-card span small{font-size:9px;color:#77757b;margin-top:5px}.more-from-card>em{font-size:20px;font-style:normal;font-weight:850}.more-from-card>em small{font-size:8px;color:#77757b}
.footer-social a{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--stroke-soft);border-radius:50%;color:#efedf0;text-decoration:none;transition:.15s}.footer-social a:hover{border-color:rgba(224,113,149,.5);color:var(--pink-2);transform:translateY(-1px)}
@media(max-width:800px){.archive-extra-controls{justify-content:flex-start;flex-wrap:wrap}.score-dist-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.artist-coming-grid,.more-from-grid{grid-template-columns:1fr}.artist-coming-head,.more-from-head{align-items:flex-start;flex-direction:column}.review-artist-credit{flex-wrap:wrap;font-size:14px}}
@media(max-width:520px){.archive-extra-controls label{flex:1;justify-content:space-between}.archive-extra-controls select{min-width:120px}.score-dist-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.score-dist-item:last-child{grid-column:1/-1}.more-from-card{grid-template-columns:56px minmax(0,1fr) auto}.more-from-card img{width:56px;height:56px}.artist-coming-card{grid-template-columns:48px minmax(0,1fr)}.artist-coming-card img{width:48px;height:48px}.artist-coming-card em{grid-column:2}}
/* Final launch polish */
.featured-artist-link{color:inherit;text-decoration:none;cursor:pointer;transition:opacity .18s ease,color .18s ease}
.featured-artist-link:hover,.featured-artist-link:focus-visible{opacity:.76;text-decoration:none}
.featured-artist-link:focus-visible{outline:2px solid currentColor;outline-offset:4px;border-radius:3px}
.featured-artist-pseudo-link{display:inline-block}
.featured-artist-credit .featured-artist-link{white-space:nowrap}
main [data-review-meta-icon]{overflow:hidden}
main [data-review-meta-icon] .review-meta-icon-img{display:block;width:54%;height:54%;object-fit:contain;pointer-events:none;margin:auto}
main [data-review-meta-icon="tracks"] .review-meta-icon-img{width:58%;height:58%}
main [data-review-meta-icon="release"] .review-meta-icon-img{width:53%;height:53%}
main [data-review-meta-icon="length"] .review-meta-icon-img{width:56%;height:56%}

/* Never paint the stale static review as if it were live data. The first real
   public render marks the page with .ift-live-ready and removes this cover. */
body[data-page="home"]:not(.ift-live-ready),body[data-page="review"]:not(.ift-live-ready){overflow:hidden!important}
body[data-page="home"]:not(.ift-live-ready)::before,body[data-page="review"]:not(.ift-live-ready)::before,html.ift-prehydrate body::before{content:"";position:fixed;inset:0;z-index:2147483646;background:#09090c;visibility:visible!important;opacity:1!important;pointer-events:all}
body.ift-hydration-wait:not(.ift-live-ready)::after,html.ift-prehydrate.ift-prehydrate-wait body::after,body.ift-hydration-error:not(.ift-live-ready)::after,html.ift-prehydrate.ift-prehydrate-error body::after{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2147483647;color:rgba(255,255,255,.72);font:600 12px/1.4 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;text-align:center;white-space:nowrap;visibility:visible!important;opacity:1!important;pointer-events:none}
body.ift-hydration-wait:not(.ift-live-ready)::after,html.ift-prehydrate.ift-prehydrate-wait body::after{content:"I’M F TOMBOY";letter-spacing:.12em}
body.ift-hydration-error:not(.ift-live-ready)::after,html.ift-prehydrate.ift-prehydrate-error body::after{content:"Unable to load this page. Please refresh.";letter-spacing:.02em;font-weight:500}
html.ift-prehydrate,html.ift-prehydrate body{background:#09090c!important}
html.ift-prehydrate body{overflow:hidden!important}

.admin-import-integrity{margin:0 0 14px;padding:11px 13px;border-radius:12px;border:1px solid;font-size:12px;font-weight:750;line-height:1.45;letter-spacing:.01em}
.admin-import-integrity.ok{color:#b8f5cb;background:rgba(34,197,94,.08);border-color:rgba(34,197,94,.35)}
.admin-import-integrity.warning{color:#ffd09c;background:rgba(245,158,11,.09);border-color:rgba(245,158,11,.38)}
