/* 7KEY changes colors only. Panel fills, borders, spacing and geometry follow 4KEY. */
body.theme-7key{--accent:#a6ff00;--accent-soft:#ceff70;--muted:#a3a3a3;--line:#a6ff0070;color:#efefef;--scene-glow:#3a3a3a;--scene-base:#161616}
.theme-7key .cover{background:linear-gradient(#1d1d1d4d,#1d1d1dd9 35%,#1d1d1ddc 80%,#1d1d1d2b)}
.theme-7key :is(.mode-tabs,.song-card,.fav-filter,.song-search input,.modal-panel,.calib-box){background:#1d1d1d;border-color:var(--line)}
.theme-7key :is(.mode-tab,.fav-filter,.text-button,.game-footer,.speed-quick-label){color:#b0b0b0}
.theme-7key :is(.mode-tab:hover,.fav-filter:hover,.song-name){color:#e8e8e8}
.theme-7key .mode-tab.active{background:var(--accent);color:#171717;box-shadow:0 2px 12px #a6ff0044}
.theme-7key .song-card:hover{border-color:var(--accent);background:#272727}
.theme-7key .fav-filter.on{background:#a6ff0018;border-color:var(--accent);color:#ffd166}

.theme-7key :is(.secondary,.gear-button,.sq-btn,.keybind-key,.stepper button,.gameplay-help-button,.danmaku-form button,.browser-check button){background:#2d2d2d;border-color:#a6ff0080;color:#e1e1e1}
.theme-7key :is(.secondary:hover,.gear-button:hover,.sq-btn:active,.keybind-key:hover,.gameplay-help-button:hover,.danmaku-form button:hover){background:#3f3f3f;border-color:var(--accent)}
.theme-7key .keybind-key.is-rebinding{background:#3a2f12;border-color:#ffd166;color:#ffd166}
.theme-7key :is(.keybind-group,.stepper input){background:#222222;border-color:var(--line)}
.theme-7key :is(.stepper,.icon-button,.login-info,.file-label){border-color:#a6ff0080}
.theme-7key :is(.login-info.on,.login-info:hover,.song-search input:focus){border-color:var(--accent)}
.theme-7key .login-info.on{color:var(--accent-soft)}
.theme-7key :is(.song-search input,.sq-val,.modal-panel h2,.calib-box h2){color:#efefef}
.theme-7key .song-search input::placeholder{color:#8c8c8c}
.theme-7key .song-cover{background:#1d1d1d}
.theme-7key .song-cover.no-cover::after{color:#575757}
.theme-7key :is(.diff-btn,.cd-diffs .diff-btn){background:#2d2d2d;border-color:#a6ff0080}
.theme-7key :is(.diff-btn:hover:not(:disabled),.cd-diffs .diff-btn:hover:not(:disabled)){background:#3f3f3f;border-color:var(--accent)}
.theme-7key #loadMore{background:#393939;border-color:var(--accent);color:#f2f2f2}
.theme-7key #loadMore:hover{background:#484848;border-color:var(--accent-soft)}
.theme-7key .progress{background:#303030}
.theme-7key .loadbar i{background:linear-gradient(90deg,var(--accent),var(--accent-soft))}
.theme-7key .song-loading{background:#0c0c0c99}
.theme-7key .song-loading-card{background:#212121;border-color:#a6ff0080}
.theme-7key .song-loading-card strong{color:#f4f4f4}
.theme-7key .song-loading-card span{color:#c4c4c4}
.theme-7key :is(.notice,.browser-check){background:#202020;border-color:#a6ff0080;color:#e1e1e1}
.theme-7key :is(.danmaku-form, .gameplay-help){background:#181818ed;border-color:var(--line)}
.theme-7key .danmaku-form label{color:var(--accent-soft)}
.theme-7key .danmaku-form input::placeholder{color:var(--muted)}
body.theme-7key.playing .songbar{background:#141414dc;border-color:#a6ff0073}
.theme-7key input[type=checkbox]{accent-color:var(--accent)}
.theme-7key .help-header{background:#272727;border-color:var(--line)}
.theme-7key :is(.help-eyebrow,.help-content h3){color:var(--accent-soft);border-color:var(--line)}
.theme-7key :is(.help-header button,.help-nav a,.help-table th,.help-content kbd){background:#323232;color:#e6e6e6;border-color:#a6ff0080}
.theme-7key :is(.help-table th,.help-table td){border-color:var(--line)}
.theme-7key :is(.help-callout,.help-formula){background:#2e2e2e}
.theme-7key .help-footnote{color:var(--muted)}
.theme-7key .first-mode-dialog{background:linear-gradient(145deg,#303030,#181818);border-color:#a6ff0077;color:#f6f6f6}
.theme-7key .first-mode-brand{color:var(--accent-soft)}
.theme-7key :is(.first-mode-dialog p,.first-mode-options small){color:#bebebe}
.theme-7key .first-mode-options button{background:#1c1c1ce0;border-color:#a6ff0080}
.theme-7key :is(.first-mode-options button:hover,.first-mode-options button:focus-visible){background:#353535;border-color:var(--accent);outline-color:var(--accent-soft)}

/* Black faces, neon edges; inset outlines preserve the original button dimensions. */
.theme-7key .mode-tab.active{background:#181818;color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent),0 0 12px #a6ff0033}
.theme-7key .primary{background:#181818;color:#bcbcbc;box-shadow:inset 0 0 0 1px var(--accent),0 0 18px #a6ff002b}
.theme-7key .primary:hover{background:#242a1b;color:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent-soft),0 0 20px #a6ff0038}
