
:root{
  --whm-bg:#f7f3ee;--whm-surface:#fffdf9;--whm-card:#ffffff;--whm-text:#2c312d;--whm-muted:#6f776f;--whm-border:#e6dfd6;--whm-green:#4f6a5a;--whm-green-2:#dfe8e0;--whm-accent:#c7aa82;--whm-danger:#a55b55;--whm-success:#567658;--whm-shadow:0 10px 30px rgba(57,49,40,.08);
}
#whm-app{font-family:Inter,system-ui,sans-serif;color:var(--whm-text)}
#whm-app *{box-sizing:border-box}
.whm-shell{max-width:860px;margin:0 auto;background:var(--whm-bg);min-height:100vh;padding:16px 16px 92px}
.whm-topbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.whm-topbar h2{margin:0;font-size:30px}.whm-eyebrow{margin:0 0 4px;color:var(--whm-muted);text-transform:uppercase;font-size:11px;letter-spacing:.12em}
.whm-main{display:grid;gap:16px}.whm-panel{display:none}.whm-panel-active{display:grid;gap:16px}.whm-card,.whm-stage-card{background:var(--whm-card);border:1px solid var(--whm-border);border-radius:24px;box-shadow:var(--whm-shadow);padding:18px}
.whm-stage-card h3,.whm-card h3{margin:0 0 8px;font-size:28px;line-height:1.1}.whm-muted,.whm-mini{color:var(--whm-muted)}.whm-mini{font-size:12px}.whm-inline-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}.whm-inline-fields label,.whm-player-row label{display:grid;gap:6px;font-size:13px;color:var(--whm-muted)}
.whm-inline-fields input,.whm-player-row input{width:100%;padding:12px 14px;border:1px solid var(--whm-border);border-radius:16px;background:#fff;font-size:16px;color:var(--whm-text)}
.whm-player-list{display:grid;gap:10px;margin-bottom:12px}.whm-player-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end}.whm-player-actions{padding-bottom:8px}.whm-small-link{background:none;border:0;color:var(--whm-danger);font-weight:600}
.whm-primary-btn,.whm-secondary-btn,.whm-pill-btn{border-radius:999px;padding:14px 18px;border:1px solid transparent;font-size:16px;font-weight:700;cursor:pointer}.whm-primary-btn{background:var(--whm-green);color:#fff;width:100%}.whm-secondary-btn,.whm-pill-btn{background:#fff;border-color:var(--whm-border);color:var(--whm-text)}.whm-primary-btn:disabled,.whm-pill-btn:disabled{opacity:.5;cursor:not-allowed}
.whm-playlist-list,.whm-library-grid,.whm-scoreboard{display:grid;gap:12px}.whm-playlist-item{display:grid;grid-template-columns:62px 1fr auto;align-items:center;gap:12px;width:100%;background:#fff;border:1px solid var(--whm-border);border-radius:20px;padding:12px;text-align:left}.whm-playlist-item.active{border-color:var(--whm-green);background:#f6fbf7}.whm-playlist-item img,.whm-library-item img{width:62px;height:62px;border-radius:16px;object-fit:cover;background:#eee}
.whm-chip,.whm-badge{padding:8px 12px;border-radius:999px;background:var(--whm-green-2);color:var(--whm-green);font-size:12px;font-weight:700;border:1px solid #d1ddd3}.whm-chip.active{background:var(--whm-green);color:#fff}
.whm-library-item{display:grid;grid-template-columns:62px 1fr auto;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid #f0ebe4}.whm-library-item:last-child{border-bottom:0}.whm-section-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}
.whm-score-item{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:12px;padding:14px;border:1px solid var(--whm-border);border-radius:18px;background:#fff}.whm-score-rank{width:42px;height:42px;border-radius:50%;background:var(--whm-green-2);display:grid;place-items:center;font-weight:800;color:var(--whm-green)}
.whm-bottom-nav{position:fixed;left:50%;bottom:14px;transform:translateX(-50%);width:min(860px,calc(100% - 28px));display:grid;grid-template-columns:repeat(4,1fr);gap:10px;background:rgba(255,252,248,.95);backdrop-filter:blur(14px);border:1px solid var(--whm-border);padding:10px;border-radius:24px;box-shadow:var(--whm-shadow)}.whm-nav-btn{border:0;background:transparent;padding:12px 10px;border-radius:18px;font-weight:700;color:var(--whm-muted)}.whm-nav-active{background:var(--whm-green);color:#fff}
.whm-game-frame{padding:14px}.whm-compact-status{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:12px}.whm-compact-status>div{background:#fff;border:1px solid var(--whm-border);border-radius:18px;padding:12px}.whm-label{margin:0 0 4px;color:var(--whm-muted);text-transform:uppercase;font-size:11px;letter-spacing:.12em}.whm-compact-status h3{margin:0;font-size:22px}.whm-game-flow{display:grid;gap:12px}
.whm-stage-eyebrow{margin:0 0 8px;color:var(--whm-accent);text-transform:uppercase;font-size:12px;font-weight:800;letter-spacing:.14em}.whm-team-stack,.whm-bonus-stack,.whm-option-stack{display:grid;gap:10px}.whm-team-pill{display:flex;align-items:center;gap:12px;border:1px solid var(--whm-border);border-radius:18px;padding:14px;background:#fff}.whm-team-pill span{width:34px;height:34px;border-radius:50%;background:var(--whm-green-2);display:grid;place-items:center;font-weight:800;color:var(--whm-green)}.whm-big-callout,.whm-inline-note{margin:12px 0;padding:14px 16px;border-radius:18px;background:#faf7f1;border:1px solid var(--whm-border);font-weight:600}
.whm-hero-cover{width:100%;aspect-ratio:1/1;border-radius:26px;object-fit:cover;background:#eee;margin:8px 0 12px}.whm-track-caption{font-size:15px;font-weight:700;margin-bottom:10px}.whm-icon-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-bottom:10px}.whm-icon-row .whm-icon-btn:last-child{grid-column:3/4}.whm-icon-btn{display:grid;place-items:center;gap:4px;border:1px solid var(--whm-border);border-radius:20px;background:#fff;padding:14px 10px;font-weight:700;color:var(--whm-text)}.whm-icon-btn span{font-size:20px}.whm-playback-status-box{padding:14px;border-radius:18px;background:#f9f7f4;border:1px solid var(--whm-border);color:var(--whm-muted);margin-bottom:12px}
.whm-vertical-timeline{display:grid;gap:10px;margin:14px 0}.whm-slot{width:100%;text-align:left;padding:14px 16px;border-radius:18px;border:1px dashed var(--whm-accent);background:#fcfaf7;color:var(--whm-text);font-weight:800}.whm-slot.active{background:var(--whm-green);color:#fff;border-style:solid}.whm-vertical-card{padding:14px 16px;border-radius:18px;background:#fff;border:1px solid var(--whm-border);display:grid;gap:2px}.whm-vertical-card span{font-weight:700}.whm-vertical-card small{color:var(--whm-muted)}
.whm-result-card{padding:16px;border-radius:18px;border:1px solid var(--whm-border);margin:12px 0}.whm-result-card.success{background:#eff7f0;border-color:#d6e6d8}.whm-result-card.error{background:#fbf1ef;border-color:#edd7d2}.whm-result-main{font-weight:800;margin-bottom:6px}.whm-result-sub{color:var(--whm-muted)}
.whm-bonus-card{padding:14px;border-radius:18px;background:#fff;border:1px solid var(--whm-border);display:grid;gap:10px}.whm-option{width:100%;text-align:left;padding:12px 14px;border-radius:16px;border:1px solid var(--whm-border);background:#fff;font-weight:700}.whm-option.active{background:var(--whm-green);color:#fff;border-color:var(--whm-green)}
@media (max-width:640px){.whm-shell{padding:12px 12px 96px}.whm-topbar h2{font-size:24px}.whm-stage-card h3,.whm-card h3{font-size:24px}.whm-inline-fields{grid-template-columns:1fr}.whm-playlist-item,.whm-library-item{grid-template-columns:56px 1fr}.whm-playlist-item .whm-chip,.whm-library-item .whm-chip{grid-column:2/3;justify-self:start}.whm-icon-row{grid-template-columns:1fr 1fr}.whm-icon-row .whm-icon-btn:last-child{grid-column:1/-1}.whm-compact-status h3{font-size:18px}.whm-bottom-nav{gap:8px;padding:8px;border-radius:20px}.whm-nav-btn{padding:10px 8px;font-size:13px}}
/* v1.4 flow refinements */
.whm-team-editor{border:1px solid var(--whm-border,#e5e2dd);border-radius:18px;padding:14px;margin:12px 0;background:#fffdf9;box-shadow:0 8px 22px rgba(41,37,31,.04)}
.whm-team-editor-head{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}.whm-team-editor label{display:grid;gap:6px;color:#6e685f;font-size:.88rem}.whm-team-editor input,.whm-member-row input{width:100%;border:1px solid #ded9cf;border-radius:14px;padding:12px 14px;background:#fff;color:#2b2b2b;font:inherit}.whm-members{display:grid;gap:8px;margin:10px 0}.whm-member-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}.whm-small-link{appearance:none;border:0;background:#eef3ed;color:#496f5f;border-radius:999px;padding:9px 12px;font-weight:700}.whm-clean-intro,.whm-pass-card{text-align:center;min-height:48vh;display:flex;flex-direction:column;justify-content:center}.whm-pass-card h3{font-size:clamp(2rem,8vw,3.2rem);line-height:1.05;margin:10px 0}.whm-pass-card .whm-muted{max-width:26ch;margin:0 auto 18px}.whm-team-pill div{display:grid;gap:2px}.whm-team-pill small{font-size:.78rem;color:#827b70;font-weight:500}.whm-game-status{position:sticky;top:0;z-index:4;background:rgba(247,245,242,.88);backdrop-filter:blur(12px);padding:8px 0}.whm-compact-status{grid-template-columns:1.15fr .85fr .85fr}.whm-compact-status>div{min-height:auto;padding:11px 12px}.whm-compact-status h3{font-size:1.02rem}.whm-timer-hot{outline:2px solid #c8906b!important;background:#fff4eb!important}.whm-timer-hot h3{color:#b05228!important}.whm-stage-listen{text-align:center}.whm-stage-listen h3{font-size:1.45rem}.whm-hero-cover{width:100%;max-width:420px;aspect-ratio:1/1;object-fit:cover;border-radius:26px;margin:10px auto 12px;display:block;box-shadow:0 18px 40px rgba(41,37,31,.12)}.whm-track-caption{font-weight:800;color:#736c61;margin-bottom:8px}.whm-icon-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:12px 0}.whm-icon-btn{border:1px solid #ddd7cc;background:#fff;border-radius:20px;padding:12px 8px;display:grid;place-items:center;gap:4px;font-weight:800;color:#2f5d50;min-height:76px}.whm-icon-btn svg{width:26px;height:26px;fill:currentColor}.whm-icon-btn small{font-size:.76rem;color:#6e685f}.whm-primary-btn svg{width:18px;height:18px;fill:currentColor;vertical-align:middle;margin-left:6px}.whm-vertical-timeline{max-height:50vh;overflow:auto;padding:6px 2px 12px}.whm-slot{width:100%;border:1px dashed #c8a97e;background:#fbf8ef;color:#6b5b3b;border-radius:16px;padding:11px;margin:8px 0;font-weight:800}.whm-slot.active{background:#2f5d50;color:#fff;border-color:#2f5d50}.whm-vertical-card{border-left:4px solid #d8c7ad;background:#fff;border-radius:16px;padding:12px 14px;margin:6px 0 6px 14px;display:grid;gap:2px}.whm-vertical-card span{font-weight:800}.whm-vertical-card small{color:#746d62}.whm-result-main{font-size:1.05rem}.whm-result-sub{margin-top:8px}.whm-option-stack{display:grid;gap:10px;margin:14px 0}.whm-option{border:1px solid #ded9cf;background:#fff;border-radius:18px;padding:15px 16px;text-align:left;font-size:1rem;font-weight:800;color:#2b2b2b}.whm-option.active{background:#2f5d50;color:#fff;border-color:#2f5d50}.whm-playback-status-box{font-size:.9rem;line-height:1.45;word-break:break-word;background:#fbf8ef;border:1px solid #e5ddcf;border-radius:16px;padding:10px;margin:10px 0;color:#6e685f}.whm-bottom-nav{z-index:20}.whm-main{padding-bottom:105px}@media(max-width:480px){.whm-shell{padding-inline:14px}.whm-card{padding:18px}.whm-icon-row{gap:8px}.whm-icon-btn{border-radius:17px;min-height:70px}.whm-team-editor-head{grid-template-columns:1fr}.whm-compact-status{gap:8px}.whm-compact-status>div{padding:9px 8px}.whm-compact-status h3{font-size:.95rem}.whm-compact-status .whm-label{font-size:.62rem}}
/* v1.5 home/load/history */
.whm-home-hero{background:linear-gradient(180deg,#fffdf9,#f8f3ea)}
.whm-home-actions{display:grid;gap:10px;margin-top:18px}
.whm-save-item{display:grid;grid-template-columns:58px 1fr auto;gap:12px;align-items:center;padding:12px;border:1px solid var(--whm-border);border-radius:18px;background:#fff}
.whm-save-item img{width:58px;height:58px;border-radius:16px;object-fit:cover;background:#eee}
.whm-bottom-nav-5{grid-template-columns:repeat(5,1fr)}
@media(max-width:640px){.whm-bottom-nav-5{grid-template-columns:repeat(5,1fr);gap:4px}.whm-bottom-nav-5 .whm-nav-btn{font-size:11px;padding:9px 4px}.whm-save-item{grid-template-columns:50px 1fr}.whm-save-item .whm-chip{grid-column:2/3;justify-self:start}.whm-home-actions{gap:9px}}
/* v1.6 personal Spotify + richer standings */
.whm-spotify-status{padding:12px 14px;border:1px solid var(--whm-border);border-radius:16px;background:#fbf8ef;margin:10px 0;color:var(--whm-text)}
.whm-my-spotify-list{display:grid;gap:10px;margin-top:12px;max-height:52vh;overflow:auto;padding-right:2px}
.whm-standing-page{background:linear-gradient(180deg,#fffdf9,#f7f1e8)}
.whm-standing-board{display:grid;gap:12px;margin:16px 0}
.whm-standing-row{display:grid;grid-template-columns:44px 1fr 64px;gap:12px;align-items:center;padding:14px;border:1px solid var(--whm-border);border-radius:20px;background:#fff;box-shadow:0 8px 18px rgba(41,37,31,.045)}
.whm-standing-row.leader{border-color:#d2b98d;background:#fffaf1;box-shadow:0 14px 28px rgba(199,170,130,.18)}
.whm-standing-rank{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--whm-green-2);color:var(--whm-green);font-weight:900;font-size:18px}
.whm-standing-row.leader .whm-standing-rank{background:var(--whm-accent);color:#fff}
.whm-standing-main{display:grid;gap:5px;min-width:0}.whm-standing-main strong{font-size:18px}.whm-standing-main small{color:var(--whm-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.whm-standing-points{display:grid;place-items:center;background:#f6f1e9;border-radius:16px;padding:8px}.whm-standing-points b{font-size:24px;line-height:1}.whm-standing-points small{font-size:10px;color:var(--whm-muted);text-transform:uppercase;letter-spacing:.08em}
.whm-standing-meta{grid-column:2/4;display:flex;gap:8px;flex-wrap:wrap}.whm-standing-meta span{background:var(--whm-green-2);color:var(--whm-green);border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800}
.whm-progress{height:8px;border-radius:999px;background:#eee6dc;overflow:hidden}.whm-progress span{display:block;height:100%;background:var(--whm-green);border-radius:999px}
.whm-next-player-callout{margin:16px 0;padding:16px 18px;border-radius:20px;background:#eef4ef;border:1px solid #dce8df;font-size:16px;text-align:center;color:var(--whm-text)}
@media(max-width:520px){.whm-standing-row{grid-template-columns:38px 1fr 58px;padding:12px;gap:9px}.whm-standing-rank{width:38px;height:38px}.whm-standing-main strong{font-size:16px}.whm-standing-points b{font-size:21px}.whm-standing-meta{grid-column:1/4}.whm-my-spotify-list{max-height:44vh}}

/* v1.7 refinements */
.whm-cover-hidden{width:min(92vw,420px);aspect-ratio:1/1;margin:14px auto 18px;border-radius:28px;background:linear-gradient(145deg,#f1ede6,#fffaf2);border:1px solid #e7dfd2;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:inset 0 0 0 1px rgba(255,255,255,.8),0 16px 40px rgba(47,93,80,.08);color:#557568}
.whm-cover-hidden span{font-size:76px;line-height:1;font-weight:800;color:#c8a97e}.whm-cover-hidden small{margin-top:10px;color:#8b8173;font-weight:700;letter-spacing:.03em}.whm-answer-cover{width:100%;max-width:360px;aspect-ratio:1/1;object-fit:cover;border-radius:26px;margin:10px auto 18px;display:block;box-shadow:0 20px 45px rgba(44,50,45,.14)}.whm-reveal-card{display:grid;gap:5px;background:#f7f4ee;border:1px solid #e7dfd2;border-radius:20px;padding:16px 18px;margin:14px 0}.whm-reveal-card strong{font-size:1.15rem}.whm-reveal-card span{color:#4f665d;font-weight:700}.whm-reveal-card small{color:#9b7d4d;font-weight:800;letter-spacing:.08em}

/* v1.8 fullscreen + result playback polish */
.whm-top-actions{display:flex;gap:8px;align-items:center}
.whm-fullscreen-btn{font-size:20px;line-height:1;min-width:48px}
#whm-app:fullscreen{background:#f7f5ef;overflow:auto;width:100%;height:100%;}
body.whm-is-fullscreen{overflow:hidden;background:#f7f5ef;}
body.whm-is-fullscreen #wpadminbar{display:none!important;}
body.whm-is-fullscreen .whm-shell{min-height:100vh;max-width:720px;margin:0 auto;}
.whm-result-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0;}
.whm-result-actions .whm-secondary-btn:last-child{grid-column:1/-1;}
.whm-result-actions svg{width:20px;height:20px;vertical-align:middle;margin-right:6px;fill:currentColor;}
@media(max-width:420px){.whm-top-actions{gap:6px}.whm-fullscreen-btn{min-width:42px}.whm-result-actions{grid-template-columns:1fr}}

/* v1.8.1 mobile fit + chorus/drop result polish */
html, body { max-width: 100%; overflow-x: hidden; }
#whm-app { width: 100%; max-width: 100vw; overflow-x: hidden; }
.whm-shell { width: 100%; max-width: 100vw; overflow-x: hidden; }
.whm-card,.whm-stage-card,.whm-game-frame{ width:100%; max-width:100%; }
.whm-compact-status{grid-template-columns:repeat(3,minmax(0,1fr)); width:100%; overflow:hidden;}
.whm-compact-status>div{min-width:0; overflow:hidden;}
.whm-compact-status h3{overflow-wrap:anywhere; word-break:normal;}
.whm-stage-listen h3{font-size:clamp(1.35rem,5.6vw,2.1rem);}
.whm-cover-hidden{width:100%; max-width:min(420px, calc(100vw - 74px));}
.whm-result-actions .whm-secondary-btn{display:flex;align-items:center;justify-content:center;gap:6px;min-height:54px;}
@media(max-width:640px){
  .whm-shell{padding-left:10px;padding-right:10px;}
  .whm-game-frame{padding:8px;}
  .whm-stage-card{padding:14px;border-radius:20px;}
  .whm-compact-status{gap:6px;}
  .whm-compact-status>div{padding:8px 7px;border-radius:15px;}
  .whm-compact-status h3{font-size:.88rem;line-height:1.16;}
  .whm-compact-status .whm-label{font-size:.58rem;letter-spacing:.1em;}
}
@media(max-width:370px){.whm-compact-status h3{font-size:.78rem}.whm-nav-btn{font-size:10px!important}}
