@font-face{font-family:"TS Sora";src:url(/assets/fonts/sora.woff) format("woff");font-weight:100 800;font-style:normal;font-display:swap}
@font-face{font-family:"TS Manrope";src:url(/assets/fonts/manrope.woff) format("woff");font-weight:200 800;font-style:normal;font-display:swap}
@font-face{font-family:"TS Nunito";src:url(/assets/fonts/nunito.woff) format("woff");font-weight:200 1000;font-style:normal;font-display:swap}
@font-face{font-family:"TS Unbounded";src:url(/assets/fonts/unbounded.woff) format("woff");font-weight:200 900;font-style:normal;font-display:swap}
@font-face{font-family:"TS Outfit";src:url(/assets/fonts/outfit.woff) format("woff");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"TS Plus Jakarta";src:url(/assets/fonts/plus-jakarta-sans.woff) format("woff");font-weight:200 800;font-style:normal;font-display:swap}
@font-face{font-family:"TS Anton";src:url(/assets/fonts/anton.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"TS Barlow Condensed";src:url(/assets/fonts/barlow-condensed-semibold.woff) format("woff");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"TS Barlow Condensed Italic";src:url(/assets/fonts/barlow-condensed-bold-italic.woff) format("woff");font-weight:700;font-style:italic;font-display:swap}
@font-face{font-family:"TS Special Elite";src:url(/assets/fonts/special-elite.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"TS DM Serif Italic";src:url(/assets/fonts/dm-serif-display-italic.woff) format("woff");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"TS Courier Prime";src:url(/assets/fonts/courier-prime.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"TS Courier Prime Bold";src:url(/assets/fonts/courier-prime-bold.woff) format("woff");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"TS Bricolage";src:url(/assets/fonts/bricolage-grotesque.woff) format("woff");font-weight:200 800;font-style:normal;font-display:swap}
@font-face{font-family:"TS Fraunces";src:url(/assets/fonts/fraunces.woff) format("woff");font-weight:300 900;font-style:normal;font-display:swap}
@font-face{font-family:"TS Fraunces Italic";src:url(/assets/fonts/fraunces-italic.woff) format("woff");font-weight:300 900;font-style:italic;font-display:swap}
@font-face{font-family:"TS Karla";src:url(/assets/fonts/karla.woff) format("woff");font-weight:200 800;font-style:normal;font-display:swap}
@font-face{font-family:"TS Archivo Black";src:url(/assets/fonts/archivo-black.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"TS Space Grotesk";src:url(/assets/fonts/space-grotesk.woff) format("woff");font-weight:300 700;font-style:normal;font-display:swap}
@font-face{font-family:"TS Overpass";src:url(/assets/fonts/overpass.woff) format("woff");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"TS Overpass Mono";src:url(/assets/fonts/overpass-mono.woff) format("woff");font-weight:300 700;font-style:normal;font-display:swap}
@font-face{font-family:"TS Press Start";src:url(/assets/fonts/press-start-2p.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"TS VT323";src:url(/assets/fonts/vt323.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"TS Share Tech Mono";src:url(/assets/fonts/share-tech-mono.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"TS Rubik Glitch";src:url(/assets/fonts/rubik-glitch.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"TS JetBrains Mono";src:url(/assets/fonts/jetbrains-mono.woff) format("woff");font-weight:100 800;font-style:normal;font-display:swap}
@font-face{font-family:"TS Inter Tight";src:url(/assets/fonts/inter-tight.woff) format("woff");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"TS Patrick Hand";src:url(/assets/fonts/patrick-hand.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"TS Caveat Brush";src:url(/assets/fonts/caveat-brush.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"TS Fredoka";src:url(/assets/fonts/fredoka.woff) format("woff");font-weight:300 700;font-style:normal;font-display:swap}
@font-face{font-family:"TS Abril Fatface";src:url(/assets/fonts/abril-fatface.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"TS Permanent Marker";src:url(/assets/fonts/permanent-marker.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"TS Cutive Mono";src:url(/assets/fonts/cutive-mono.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"TS Orbitron";src:url(/assets/fonts/orbitron.woff) format("woff");font-weight:400 900;font-style:normal;font-display:swap}
@font-face{font-family:"TS Exo 2";src:url(/assets/fonts/exo-2.woff) format("woff");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"TS Exo 2 Italic";src:url(/assets/fonts/exo-2-italic.woff) format("woff");font-weight:100 900;font-style:italic;font-display:swap}
@font-face{font-family:"TS Shrikhand";src:url(/assets/fonts/shrikhand.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"TS Bungee";src:url(/assets/fonts/bungee.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"TS Rubik";src:url(/assets/fonts/rubik.woff) format("woff");font-weight:300 900;font-style:normal;font-display:swap}
@font-face{font-family:"TS Rubik Italic";src:url(/assets/fonts/rubik-italic.woff) format("woff");font-weight:300 900;font-style:italic;font-display:swap}
@font-face{font-family:"TS Quicksand";src:url(/assets/fonts/quicksand.woff) format("woff");font-weight:300 700;font-style:normal;font-display:swap}
/* Theme layer. Default "wave" sets nothing, so style.css renders exactly as designed.
   Every other theme sets the --t-* colour roles used throughout style.css, its fonts and a header scene. */
:where(:root[data-theme]:not([data-theme=wave])) body{font-family:var(--th-font);background:var(--t-surf-0)}
:where(:root[data-theme]:not([data-theme=wave])) :is(h1,h2,h3,.brand,.stat-value,.eyebrow,nav a){font-family:var(--th-display)}
:where(:root[data-theme]:not([data-theme=wave])) body::before{background:none;animation:none}
:where(:root[data-theme]:not([data-theme=wave])) body::after{display:none}
:where(:root[data-theme]:not([data-theme=wave])) .horizon{background:var(--th-header)}
:where(:root[data-theme]:not([data-theme=wave])) .horizon>span{display:none}
:where(:root[data-theme]:not([data-theme=wave])) .login-wrap>.horizon{background:var(--th-login,var(--th-header));opacity:.55}
:where(:root[data-theme]:not([data-theme=wave])) .topbar{background:var(--t-surf-1)}
:where(:root[data-theme]:not([data-theme=wave])) .topbar::after{background:var(--th-stripe,linear-gradient(90deg,var(--t-acc-1),var(--t-acc-2)))}
:root[data-theme]:not([data-theme=wave]) .brand .seal{display:none!important}
:where(:root[data-theme]:not([data-theme=wave])) .brand>span{background:none;-webkit-text-fill-color:var(--t-text-0);color:var(--t-text-0);animation:none}
:where(:root[data-theme]:not([data-theme=wave])) .brand small{-webkit-text-fill-color:var(--t-text-2);color:var(--t-text-2);text-shadow:none}
:where(:root[data-theme]:not([data-theme=wave])) .page-heading h1,:where(:root[data-theme]:not([data-theme=wave])) .page-heading h2{animation:none;filter:none}
:where(:root[data-theme]:not([data-theme=wave])) .login-card h1{background:none;-webkit-text-fill-color:var(--t-text-0);color:var(--t-text-0);animation:none}
:where(:root[data-theme]:not([data-theme=wave])) .login-card{background:var(--t-surf-1)}
:where(:root[data-theme]:not([data-theme=wave])) .stats::before{background:var(--th-stripe,linear-gradient(90deg,var(--t-acc-1),var(--t-acc-2)))}
:where(:root[data-theme]:not([data-theme=wave])) .app-mark{filter:none}
:where(:root[data-theme]:not([data-theme=wave])) .goal-badge{color:var(--t-acc-1);font-weight:600}
:where(:root[data-theme]:not([data-theme=wave])) .mobile-list{padding:12px}
:where(:root[data-theme]:not([data-theme=wave])) .mobile-card+.mobile-card{margin-top:12px}
@media(max-width:700px){:where(:root[data-theme]:not([data-theme=wave])) .page-heading{flex-wrap:wrap}:where(:root[data-theme]:not([data-theme=wave])) .page-heading>*{min-width:0;overflow-wrap:anywhere}}
/* Light themes: deepen the pastel inks (jacket titles, levels, grades) so they stay readable on pale surfaces. */
:root[data-theme-tone=light] :is([data-ink=ready],.lv-text,.grade[data-grade]){filter:brightness(.52) saturate(1.7)}
:root[data-theme-tone=light] .grade[data-grade="S++"],:root[data-theme-tone=light] .grade[data-grade="PUC"]{filter:brightness(.6) saturate(1.8)}
:root[data-theme-tone=light] :is(.stat-value,.ticker-metric em,.session-delta,.delta-meter .delta-label){text-shadow:none}
:root[data-theme-tone=light] .bar-row[data-level-ink] .bar-fill{filter:saturate(1.4) brightness(.85)}
@media(prefers-reduced-motion:reduce){:root[data-theme] *{animation:none!important}}
/* Tablets and phones stack the header: keep scene art to the logo strip so the wordmark and links stay on a plain surface. */
@media(max-width:1100px){:where(:root[data-theme]:not([data-theme=wave])) .horizon{-webkit-mask-image:linear-gradient(180deg,#000 0 26%,transparent 46%);mask-image:linear-gradient(180deg,#000 0 26%,transparent 46%);filter:none;inset:0 0 1px}}
/* Theme picker in Settings */
.theme-picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:10px;margin-top:12px}
.theme-choice{display:flex;flex-direction:column;align-items:stretch;gap:8px;text-align:left;padding:10px;min-height:0;font-weight:600}
.theme-choice small{font-weight:400;color:var(--t-text-2,#8f83b5)}
.theme-choice .theme-swatch{display:flex;height:34px;border-radius:6px;overflow:hidden;border:1px solid #0003}
.theme-choice .theme-swatch i{flex:1}
.theme-choice[aria-pressed=true]{outline:2px solid var(--t-acc-1,#8ad6f1);outline-offset:2px}
/* Theme typography roles (see tools/theme_type.py). */
:where(:root[data-theme]:not([data-theme=wave])) :is(.song-button,.goal-song-open){font-family:var(--th-title,inherit)}
:where(:root[data-theme]:not([data-theme=wave])) :is(.number,.score-number,.mobile-score,.mobile-ex,.stat-value,.date-cell,.goal-current strong){font-family:var(--th-num,inherit)}
:where(:root[data-theme]:not([data-theme=wave])) .chart-card svg text{font-family:var(--th-num,inherit)}
:where(:root[data-theme]:not([data-theme=wave])) :is(.score-table th,.stat-label,.eyebrow){font-family:var(--th-display)}

/* Dreamforge — AI-generated design */
:root[data-theme=dreamforge]{--t-surf-0:#071214;--t-surf-1:#0c1b1e;--t-surf-2:#112428;--t-surf-3:#183034;--t-line-1:#23403f;--t-line-2:#35585a;--t-text-3:#5d8584;--t-text-2:#93b8b4;--t-text-1:#c3dcd8;--t-text-0:#eef8f6;--t-acc-1:#6fe7d1;--t-acc-1-dark:#0f3a36;--t-acc-2:#ff8fcf;--t-acc-2-deep:#c43c79;--t-acc-3:#f6c56b;--t-acc-3-dark:#2a1630;--t-acc-3-deep:#3b2a5a;--th-font:"Inter","Segoe UI",system-ui,sans-serif;--th-display:"Inter Display","Inter","Segoe UI",system-ui,sans-serif;--th-header:radial-gradient(60% 140% at 18% 30%,#ff8fcf55,transparent 60%),radial-gradient(50% 160% at 72% 70%,#6fe7d155,transparent 62%),radial-gradient(40% 120% at 92% 10%,#f6c56b40,transparent 60%),linear-gradient(180deg,#071214,#112428);color-scheme:dark}
[data-theme=dreamforge] body{background:radial-gradient(900px 600px at 85% -10%,#ff8fcf22,transparent 60%),radial-gradient(1000px 700px at -10% 110%,#6fe7d11f,transparent 60%),#071214;background-attachment:fixed}
[data-theme=dreamforge] .page-heading h1,[data-theme=dreamforge] .page-heading h2{font-weight:300;letter-spacing:-.03em;background:linear-gradient(100deg,#eef8f6,#6fe7d1 45%,#ff8fcf 75%,#f6c56b);-webkit-background-clip:text;background-clip:text;filter:drop-shadow(0 0 18px #6fe7d155)}
[data-theme=dreamforge] .workspace,[data-theme=dreamforge] .chart-card,[data-theme=dreamforge] .stats{border-radius:16px;box-shadow:0 30px 80px #0009,inset 0 1px #ffffff12}
[data-theme=dreamforge] .stat-value{font-weight:300}
[data-theme=dreamforge] .horizon::after{content:"";position:absolute;inset:0;background:radial-gradient(30% 90% at 50% 120%,#ffffff22,transparent 70%);mix-blend-mode:screen}
[data-theme=dreamforge] .app-mark{content:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 120 120%22%3E%3Cdefs%3E%3CradialGradient id=%22o%22 cx=%2235%25%22 cy=%2230%25%22 r=%2275%25%22%3E%3Cstop offset=%220%22 stop-color=%22%23f6c56b%22/%3E%3Cstop offset=%22.35%22 stop-color=%22%23ff8fcf%22/%3E%3Cstop offset=%22.7%22 stop-color=%22%236fe7d1%22/%3E%3Cstop offset=%221%22 stop-color=%22%230c1b1e%22/%3E%3C/radialGradient%3E%3C/defs%3E%3Ccircle cx=%2260%22 cy=%2260%22 r=%2254%22 fill=%22url(%23o)%22/%3E%3Ccircle cx=%2260%22 cy=%2260%22 r=%2254%22 fill=%22none%22 stroke=%22%23eef8f6%22 stroke-opacity=%22.35%22 stroke-width=%222%22/%3E%3Cpath d=%22M14 74c16-20 34-26 48-12 9 9 20 9 30-4 6-8 12-10 16-8%22 fill=%22none%22 stroke=%22%23eef8f6%22 stroke-width=%225%22 stroke-linecap=%22round%22/%3E%3Ccircle cx=%2286%22 cy=%2234%22 r=%223%22 fill=%22%23fff%22/%3E%3C/svg%3E");image-rendering:auto}
[data-theme=dreamforge] .brand>span{font-size:2rem;font-weight:300;letter-spacing:.02em}
[data-theme=dreamforge] .brand small{font-size:.95rem;font-weight:300}
[data-theme=dreamforge] .badge:not(#_){box-shadow:none;padding-left:6px;background-image:none;animation:none}
[data-theme=dreamforge] .badge:not(#_).lamp::before{display:none}
[data-theme=dreamforge] .badge:not(#_).NOV{--difficulty-accent:#a65cff;--difficulty-fill:#2a2248;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=dreamforge] .badge:not(#_).ADV{--difficulty-accent:#f2c200;--difficulty-fill:#3b3910;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=dreamforge] .badge:not(#_).EXH{--difficulty-accent:#ff4a4a;--difficulty-fill:#3e1e20;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=dreamforge] .badge:not(#_).MXM{--difficulty-accent:#d4d8e0;--difficulty-fill:#343e41;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=dreamforge] .badge:not(#_).GRV{--difficulty-accent:#ff9a1f;--difficulty-fill:#3e3016;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=dreamforge] .badge:not(#_).HVN{--difficulty-accent:#19d6e0;--difficulty-fill:#0b3d41;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=dreamforge] .badge:not(#_).VVD{--difficulty-accent:#ff5fb0;--difficulty-fill:#3e2336;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=dreamforge] .badge:not(#_).XCD{--difficulty-accent:#3d8bff;--difficulty-fill:#132d48;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=dreamforge] .badge:not(#_).NBL{--difficulty-accent:#7fdc1a;--difficulty-fill:#213e15;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=dreamforge] .badge:not(#_).ULT{--difficulty-accent:#ffd400;--difficulty-fill:#3e3d10;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=dreamforge] .badge:not(#_).INF{--difficulty-accent:#c4c4c4;--difficulty-fill:#31393b;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=dreamforge] .badge:not(#_).lamp.no-play{--difficulty-accent:#91a3bc;--difficulty-fill:#253239;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=dreamforge] .badge:not(#_).lamp.played{--difficulty-accent:#ff4a4a;--difficulty-fill:#3e1e20;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=dreamforge] .badge:not(#_).lamp.failed{--difficulty-accent:#ff4a4a;--difficulty-fill:#3e1e20;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=dreamforge] .badge:not(#_).lamp.clear{--difficulty-accent:#3ddc84;--difficulty-fill:#133e2d;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=dreamforge] .badge:not(#_).lamp.excessive{--difficulty-accent:#b47cff;--difficulty-fill:#2d2948;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=dreamforge] .badge:not(#_).lamp.mxv{--difficulty-accent:#e6eaf0;--difficulty-fill:#384244;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=dreamforge] .badge:not(#_).lamp.uc{--difficulty-accent:#ff5fb0;--difficulty-fill:#3e2336;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=dreamforge] .badge:not(#_).lamp.puc{--difficulty-accent:#ffd400;--difficulty-fill:#3e3d10;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=dreamforge] .grade[data-grade]{background:none;-webkit-text-fill-color:currentColor;text-shadow:none;filter:none!important;animation:none;font-weight:600;letter-spacing:.06em}
[data-theme=dreamforge] .grade[data-grade="D"]{color:#4f6f6d}
[data-theme=dreamforge] .grade[data-grade="C"]{color:#6b8d8b}
[data-theme=dreamforge] .grade[data-grade="B"]{color:#88aca8}
[data-theme=dreamforge] .grade[data-grade="A"]{color:#8ac4bb}
[data-theme=dreamforge] .grade[data-grade="A+"]{color:#7bd7c7}
[data-theme=dreamforge] .grade[data-grade="AA"]{color:#73e6d5}
[data-theme=dreamforge] .grade[data-grade="AA+"]{color:#87e0e8}
[data-theme=dreamforge] .grade[data-grade="AAA"]{color:#9bdafb}
[data-theme=dreamforge] .grade[data-grade="AAA+"]{color:#bfc0ef}
[data-theme=dreamforge] .grade[data-grade="S"]{color:#e7a2db}
[data-theme=dreamforge] .grade[data-grade="S+"]{color:#fe98be}
[data-theme=dreamforge] .grade[data-grade="S++"]{color:#faae95}
[data-theme=dreamforge] .grade[data-grade="PUC"]{color:#f6c56b}
[data-theme=dreamforge] .grade[data-grade^="S"],[data-theme=dreamforge] .grade[data-grade="PUC"]{background:linear-gradient(100deg,#6fe7d1,#c9b5ff 40%,#ff8fcf 70%,#f6c56b);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 6px #6fe7d166)!important}
[data-theme=dreamforge] .badge:not(#_){border-radius:999px;border:1px solid transparent;background:linear-gradient(var(--difficulty-fill),var(--difficulty-fill)) padding-box,linear-gradient(120deg,var(--difficulty-accent),#ffffffaa,var(--difficulty-accent)) border-box;letter-spacing:.08em;font-weight:600;padding:0 9px}
[data-theme=dreamforge] .badge:not(#_).lamp{box-shadow:0 0 14px -3px var(--difficulty-accent),inset 0 0 10px -4px var(--difficulty-accent)}
[data-theme=dreamforge] .badge:not(#_).lamp.uc,[data-theme=dreamforge] .badge:not(#_).lamp.puc{animation:df-iris 4s linear infinite}

@keyframes df-iris{to{filter:hue-rotate(25deg) brightness(1.15)}}[data-theme=dreamforge] .score-table{border-collapse:separate;border-spacing:0 6px}
[data-theme=dreamforge] .score-table thead th{background:none;border:0;color:#6fe7d1;font-weight:500;letter-spacing:.12em;text-transform:uppercase;font-size:.66rem}
[data-theme=dreamforge] .score-table tbody td{background:linear-gradient(180deg,#10262a,#0b1a1d);border-top:1px solid #23403f;border-bottom:1px solid #0a1416}
[data-theme=dreamforge] .score-table tbody td:first-child{border-radius:14px 0 0 14px;border-left:1px solid #23403f}
[data-theme=dreamforge] .score-table tbody td:last-child{border-radius:0 14px 14px 0}
[data-theme=dreamforge] .score-table tbody tr:hover td{background:linear-gradient(90deg,#133a3a,#2a1630)}
[data-theme=dreamforge] td.score-number{background-clip:padding-box;font-weight:300;font-size:1.05rem;letter-spacing:.02em}
[data-theme=dreamforge] td.score-number,[data-theme=dreamforge] .mobile-score{color:#eef8f6!important;text-shadow:0 0 12px #6fe7d188}
[data-theme=dreamforge] .song-jacket{border-radius:12px;box-shadow:0 0 0 1px #6fe7d155,0 0 16px -4px #ff8fcf}
[data-theme=dreamforge] .rating-folder-groups button{border-radius:999px;border:1px solid #23403f;background:#0c1b1e}
[data-theme=dreamforge] .rating-folder-groups .selected{background:linear-gradient(120deg,#6fe7d1,#ff8fcf);color:#071214!important;border-color:transparent;box-shadow:0 0 14px #6fe7d166}
[data-theme=dreamforge] .source-chip{border-radius:999px;border-color:#35585a;color:#93b8b4}
[data-theme=dreamforge] .chart-card,[data-theme=dreamforge] .goal-card,[data-theme=dreamforge] .mobile-card{border-radius:22px;border:1px solid #23403f;background:radial-gradient(120% 90% at 0 0,#123234,#0b1a1d 60%);box-shadow:0 20px 50px -20px #000,inset 0 1px #6fe7d122}
[data-theme=dreamforge] .goal-card{overflow:hidden}
[data-theme=dreamforge] .goal-card::after{content:"";position:absolute;inset:auto -30% -60% auto;width:70%;height:90%;background:radial-gradient(#ff8fcf33,transparent 70%);pointer-events:none}
[data-theme=dreamforge] svg rect[fill="#7ecbe7"]{fill:#6fe7d1}
[data-theme=dreamforge] svg [fill="#78cdeb"]{fill:#6fe7d1}
[data-theme=dreamforge] svg [stroke="#78cdeb"]{stroke:#6fe7d1}
[data-theme=dreamforge] svg [fill="#fa9fbd"]{fill:#ff8fcf}
[data-theme=dreamforge] svg [stroke="#fa9fbd"]{stroke:#ff8fcf}
[data-theme=dreamforge] svg [fill="#a899fc"]{fill:#c9b5ff}
[data-theme=dreamforge] svg [stroke="#a899fc"]{stroke:#c9b5ff}
[data-theme=dreamforge] svg [fill="#e5c67d"]{fill:#f6c56b}
[data-theme=dreamforge] svg [stroke="#e5c67d"]{stroke:#f6c56b}
[data-theme=dreamforge] svg [fill="#6baee9"]{fill:#9fd9ff}
[data-theme=dreamforge] svg [stroke="#6baee9"]{stroke:#9fd9ff}
[data-theme=dreamforge] svg [stroke="#362b57"]{stroke:#183034}
[data-theme=dreamforge] svg [stroke="#6c5e95"]{stroke:#35585a}

:root[data-theme=dreamforge]{--th-font:"TS Manrope","Segoe UI",system-ui,"Hiragino Sans","Yu Gothic UI",sans-serif;--th-display:"TS Sora","Segoe UI",system-ui,"Hiragino Sans","Yu Gothic UI",sans-serif;--th-num:"TS Sora","Segoe UI",system-ui,"Hiragino Sans","Yu Gothic UI",sans-serif;--th-title:"TS Sora","Segoe UI",system-ui,"Hiragino Sans","Yu Gothic UI",sans-serif}
[data-theme=dreamforge] td.score-number,[data-theme=dreamforge] .mobile-score{font-family:var(--th-num)!important}
[data-theme=dreamforge] .song-button,[data-theme=dreamforge] .goal-song-open{font-weight:500;letter-spacing:-.01em;font-size:.95rem}
[data-theme=dreamforge] td.score-number,[data-theme=dreamforge] .mobile-score{font-weight:200!important;font-size:1.25rem!important;letter-spacing:.04em}
[data-theme=dreamforge] .stat-value{font-weight:200;letter-spacing:-.02em}
[data-theme=dreamforge] .page-heading h1,[data-theme=dreamforge] .page-heading h2{font-weight:200!important}
[data-theme=dreamforge] td.number{font-weight:300}
[data-theme=dreamforge] input:not([type=checkbox]):not([type=radio]):not([type=range]),[data-theme=dreamforge] select{border-radius:999px;background:#0c1b1e;border:1px solid #23403f;padding-inline:14px}
[data-theme=dreamforge] input[type=checkbox]{accent-color:var(--t-acc-1)}

@media(min-width:1101px){[data-theme=dreamforge] #app{display:grid;grid-template-columns:260px minmax(0,1fr);grid-template-rows:auto 1fr;min-height:100vh}
[data-theme=dreamforge] #app>.view-as-banner{grid-column:1/-1}
[data-theme=dreamforge] .topbar{grid-column:1;grid-row:1;display:flex;flex-direction:column;align-items:flex-start;gap:18px;height:auto;padding:28px 22px 18px;position:relative}
[data-theme=dreamforge] .shell{display:contents}
[data-theme=dreamforge] nav{grid-column:1;grid-row:2;align-self:start;position:sticky;top:0;flex-direction:column;align-items:stretch;gap:2px;overflow:visible;white-space:normal;border-bottom:0;padding:6px 14px 24px;margin:0}
[data-theme=dreamforge] nav a{padding:10px 12px;border-bottom:0;border-radius:8px}
[data-theme=dreamforge] main{grid-column:2;grid-row:1/span 2;padding:8px 36px 32px;min-width:0}
[data-theme=dreamforge] .topbar .game-logos{order:3;flex-direction:column;align-items:flex-start;gap:6px}
[data-theme=dreamforge] .topbar .header-actions{order:4;flex-direction:column;align-items:flex-start;gap:10px}
[data-theme=dreamforge] .topbar .brand{order:1;flex-direction:column;align-items:flex-start;gap:12px}
[data-theme=dreamforge] .topbar{background:linear-gradient(180deg,#0c1b1e,#071214);border-right:1px solid #23403f}
[data-theme=dreamforge] .topbar::after{left:auto;right:-1px;top:0;bottom:0;width:2px;height:auto;background:linear-gradient(180deg,#6fe7d1,#ff8fcf,#f6c56b)}
[data-theme=dreamforge] nav{background:#071214;border-right:1px solid #23403f;min-height:100%}
[data-theme=dreamforge] nav a.active{background:#6fe7d11a;color:#6fe7d1}

}

/* Soft Sculpt — 3D design & animation */
:root[data-theme=sculpt]{--t-surf-0:#e4e1ec;--t-surf-1:#eeebf5;--t-surf-2:#e8e4f1;--t-surf-3:#dcd7e8;--t-line-1:#cfc9de;--t-line-2:#b8b0cf;--t-text-3:#7f7899;--t-text-2:#5b5476;--t-text-1:#3f3a57;--t-text-0:#211d33;--t-acc-1:#6c4dd9;--t-acc-1-dark:#e6defc;--t-acc-2:#e2557f;--t-acc-2-deep:#b3264f;--t-acc-3:#8f7ad9;--t-acc-3-dark:#d8d0f0;--t-acc-3-deep:#4b3a9a;--th-font:"Inter","Segoe UI",system-ui,sans-serif;--th-display:"Inter Display","Segoe UI",system-ui,sans-serif;--th-header:radial-gradient(90px 90px at 70% 40%,#ffffffcc,#c9bff0 55%,transparent 72%),radial-gradient(140px 140px at 86% 120%,#f6c1d4,#e2557f66 60%,transparent 74%),linear-gradient(180deg,#eeebf5,#dcd7e8);color-scheme:light}
[data-theme=sculpt] .workspace,[data-theme=sculpt] .chart-card,[data-theme=sculpt] .stats,[data-theme=sculpt] dialog,[data-theme=sculpt] .login-card{border:0;border-radius:22px;background:#eeebf5;box-shadow:10px 10px 24px #c5bfd6,-10px -10px 24px #ffffff}
[data-theme=sculpt] button:not(.song-button,.photo-link,.goal-song-open,th button),[data-theme=sculpt] input,[data-theme=sculpt] select{border-radius:14px;border-color:transparent;background:#eeebf5;box-shadow:4px 4px 10px #cbc5db,-4px -4px 10px #ffffff}
[data-theme=sculpt] button:not(.song-button,.photo-link,.goal-song-open,th button):active,[data-theme=sculpt] .selected,[data-theme=sculpt] button:not(.song-button,.photo-link,.goal-song-open,th button)[aria-pressed=true]{box-shadow:inset 4px 4px 8px #cbc5db,inset -4px -4px 8px #ffffff}
[data-theme=sculpt] button:not(.song-button,.photo-link,.goal-song-open,th button).primary{background:linear-gradient(145deg,#8467ef,#5b3ec9);color:#fff;box-shadow:6px 6px 14px #b9b0d6,-4px -4px 10px #fff,inset 0 2px 0 #ffffff55}
[data-theme=sculpt] .page-heading h1,[data-theme=sculpt] .page-heading h2{color:#211d33;-webkit-text-fill-color:#211d33;background:none;text-shadow:2px 3px 0 #d0c8e6,4px 6px 12px #b8afd3;font-weight:800}
[data-theme=sculpt] .stat-value{color:#211d33;text-shadow:1px 2px 0 #d0c8e6}
[data-theme=sculpt] .app-mark{content:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 120 120%22%3E%3Cdefs%3E%3ClinearGradient id=%22c%22 x1=%220%22 y1=%220%22 x2=%221%22 y2=%221%22%3E%3Cstop offset=%220%22 stop-color=%22%23a894f5%22/%3E%3Cstop offset=%221%22 stop-color=%22%235b3ec9%22/%3E%3C/linearGradient%3E%3C/defs%3E%3Cellipse cx=%2262%22 cy=%22104%22 rx=%2240%22 ry=%227%22 fill=%22%23211d33%22 opacity=%22.18%22/%3E%3Cpath d=%22M18 64c0-26 18-44 44-44s42 16 42 40-18 40-44 40S18 90 18 64z%22 fill=%22url(%23c)%22/%3E%3Cpath d=%22M30 44c8-12 22-16 34-14%22 fill=%22none%22 stroke=%22%23fff%22 stroke-opacity=%22.55%22 stroke-width=%227%22 stroke-linecap=%22round%22/%3E%3Cpath d=%22M28 74c12-14 26-16 36-6s22 8 30-4%22 fill=%22none%22 stroke=%22%23eeebf5%22 stroke-width=%229%22 stroke-linecap=%22round%22/%3E%3C/svg%3E");image-rendering:auto}
[data-theme=sculpt] .brand>span{font-size:1.6rem;font-weight:800}
[data-theme=sculpt] .badge:not(#_){box-shadow:none;padding-left:6px;background-image:none;animation:none}
[data-theme=sculpt] .badge:not(#_).lamp::before{display:none}
[data-theme=sculpt] .badge:not(#_).NOV{--difficulty-accent:#713fad;--difficulty-fill:#eddeff;--badge-ink:#46276b;color:var(--badge-ink)}
[data-theme=sculpt] .badge:not(#_).ADV{--difficulty-accent:#a58400;--difficulty-fill:#fcf3cc;--badge-ink:#665100;color:var(--badge-ink)}
[data-theme=sculpt] .badge:not(#_).EXH{--difficulty-accent:#ad3232;--difficulty-fill:#ffdbdb;--badge-ink:#6b1f1f;color:var(--badge-ink)}
[data-theme=sculpt] .badge:not(#_).MXM{--difficulty-accent:#909398;--difficulty-fill:#f6f7f9;--badge-ink:#595b5e;color:var(--badge-ink)}
[data-theme=sculpt] .badge:not(#_).GRV{--difficulty-accent:#ad6915;--difficulty-fill:#ffebd2;--badge-ink:#6b410d;color:var(--badge-ink)}
[data-theme=sculpt] .badge:not(#_).HVN{--difficulty-accent:#119298;--difficulty-fill:#d1f7f9;--badge-ink:#0b5a5e;color:var(--badge-ink)}
[data-theme=sculpt] .badge:not(#_).VVD{--difficulty-accent:#ad4178;--difficulty-fill:#ffdfef;--badge-ink:#6b284a;color:var(--badge-ink)}
[data-theme=sculpt] .badge:not(#_).XCD{--difficulty-accent:#295fad;--difficulty-fill:#d8e8ff;--badge-ink:#1a3a6b;color:var(--badge-ink)}
[data-theme=sculpt] .badge:not(#_).NBL{--difficulty-accent:#569612;--difficulty-fill:#e5f8d1;--badge-ink:#355c0b;color:var(--badge-ink)}
[data-theme=sculpt] .badge:not(#_).ULT{--difficulty-accent:#ad9000;--difficulty-fill:#fff6cc;--badge-ink:#6b5900;color:var(--badge-ink)}
[data-theme=sculpt] .badge:not(#_).INF{--difficulty-accent:#858585;--difficulty-fill:#f3f3f3;--badge-ink:#525252;color:var(--badge-ink)}
[data-theme=sculpt] .badge:not(#_).lamp.no-play{--difficulty-accent:#636f80;--difficulty-fill:#e9edf2;--badge-ink:#3d444f;color:var(--badge-ink)}
[data-theme=sculpt] .badge:not(#_).lamp.played{--difficulty-accent:#ad3232;--difficulty-fill:#ffdbdb;--badge-ink:#6b1f1f;color:var(--badge-ink)}
[data-theme=sculpt] .badge:not(#_).lamp.failed{--difficulty-accent:#ad3232;--difficulty-fill:#ffdbdb;--badge-ink:#6b1f1f;color:var(--badge-ink)}
[data-theme=sculpt] .badge:not(#_).lamp.clear{--difficulty-accent:#29965a;--difficulty-fill:#d8f8e6;--badge-ink:#1a5c37;color:var(--badge-ink)}
[data-theme=sculpt] .badge:not(#_).lamp.excessive{--difficulty-accent:#7a54ad;--difficulty-fill:#f0e5ff;--badge-ink:#4c346b;color:var(--badge-ink)}
[data-theme=sculpt] .badge:not(#_).lamp.mxv{--difficulty-accent:#9c9fa3;--difficulty-fill:#fafbfc;--badge-ink:#616265;color:var(--badge-ink)}
[data-theme=sculpt] .badge:not(#_).lamp.uc{--difficulty-accent:#ad4178;--difficulty-fill:#ffdfef;--badge-ink:#6b284a;color:var(--badge-ink)}
[data-theme=sculpt] .badge:not(#_).lamp.puc{--difficulty-accent:#ad9000;--difficulty-fill:#fff6cc;--badge-ink:#6b5900;color:var(--badge-ink)}
[data-theme=sculpt] .grade[data-grade]{background:none;-webkit-text-fill-color:currentColor;text-shadow:none;filter:none!important;animation:none;display:inline-block;min-width:2.8em;text-align:center;padding:2px 8px;border-radius:10px;background:#eeebf5;box-shadow:inset 2px 2px 4px #c9c3da,inset -2px -2px 4px #ffffff;font-weight:800}
[data-theme=sculpt] .grade[data-grade="D"]{color:#9a94b0}
[data-theme=sculpt] .grade[data-grade="C"]{color:#8f88a6}
[data-theme=sculpt] .grade[data-grade="B"]{color:#847d9d}
[data-theme=sculpt] .grade[data-grade="A"]{color:#727e96}
[data-theme=sculpt] .grade[data-grade="A+"]{color:#5c8790}
[data-theme=sculpt] .grade[data-grade="AA"]{color:#4a8b91}
[data-theme=sculpt] .grade[data-grade="AA+"]{color:#4479aa}
[data-theme=sculpt] .grade[data-grade="AAA"]{color:#3f67c4}
[data-theme=sculpt] .grade[data-grade="AAA+"]{color:#4d5cce}
[data-theme=sculpt] .grade[data-grade="S"]{color:#6052d5}
[data-theme=sculpt] .grade[data-grade="S+"]{color:#7846c2}
[data-theme=sculpt] .grade[data-grade="S++"]{color:#953689}
[data-theme=sculpt] .grade[data-grade="PUC"]{color:#b3264f}
[data-theme=sculpt] .grade[data-grade="S++"],[data-theme=sculpt] .grade[data-grade="PUC"]{color:#fff;background:linear-gradient(145deg,#7b5cf0,#e2557f);box-shadow:3px 3px 7px #c5bfd6,-3px -3px 7px #fff}
[data-theme=sculpt] .badge:not(#_){border:0;border-radius:12px;background:#eeebf5;box-shadow:3px 3px 6px #c8c2d8,-3px -3px 6px #ffffff;font-weight:800;color:var(--badge-ink)}
[data-theme=sculpt] .badge:not(#_).lamp{justify-content:flex-start;gap:5px;padding:0 7px;width:4.6rem}
[data-theme=sculpt] .badge:not(#_).lamp::before{display:block;content:"";position:static;inset:auto;width:7px;height:7px;flex:none;border-radius:50%;background:var(--difficulty-accent);box-shadow:0 0 6px var(--difficulty-accent);opacity:1;z-index:auto;animation:none}
[data-theme=sculpt] .badge:not(#_).lamp.uc::before,[data-theme=sculpt] .badge:not(#_).lamp.puc::before{animation:sc-led 1.6s ease-in-out infinite}

@keyframes sc-led{50%{opacity:.35}}[data-theme=sculpt] .score-table{border-collapse:separate;border-spacing:0 10px}
[data-theme=sculpt] .score-table thead th{background:none;border:0;color:#7f7899;font-weight:700}
[data-theme=sculpt] .score-table tbody td{background:#eeebf5;border:0}
[data-theme=sculpt] .score-table tbody tr{filter:drop-shadow(4px 4px 6px #cbc5da) drop-shadow(-4px -4px 6px #ffffff)}
[data-theme=sculpt] .score-table tbody td:first-child{border-radius:16px 0 0 16px}
[data-theme=sculpt] .score-table tbody td:last-child{border-radius:0 16px 16px 0}
[data-theme=sculpt] .score-table tbody tr:hover td{background:#f4f2fa}
[data-theme=sculpt] td.score-number,[data-theme=sculpt] .mobile-score{color:#211d33!important;font-weight:800;text-shadow:1px 1px 0 #fff,-1px -1px 0 #cfc9de}
[data-theme=sculpt] .song-jacket{border-radius:14px;box-shadow:3px 3px 6px #c8c2d8,-3px -3px 6px #fff}
[data-theme=sculpt] .rating-folder-groups button{border:0;border-radius:12px;background:#eeebf5;box-shadow:3px 3px 6px #c8c2d8,-3px -3px 6px #fff}
[data-theme=sculpt] .rating-folder-groups .selected{box-shadow:inset 3px 3px 6px #c8c2d8,inset -3px -3px 6px #fff;color:#6c4dd9!important}
[data-theme=sculpt] .source-chip{border:0;border-radius:8px;box-shadow:inset 1px 1px 3px #c8c2d8,inset -1px -1px 3px #fff}
[data-theme=sculpt] .chart-card,[data-theme=sculpt] .goal-card,[data-theme=sculpt] .mobile-card{border:0;border-radius:26px;background:#eeebf5;box-shadow:8px 8px 18px #c8c2d8,-8px -8px 18px #ffffff}
[data-theme=sculpt] input,[data-theme=sculpt] select{border:0!important;border-radius:12px!important;background:#e8e4f1!important;box-shadow:inset 3px 3px 6px #c8c2d8,inset -3px -3px 6px #fff!important}
[data-theme=sculpt] svg rect[fill="#7ecbe7"]{fill:#8f7ad9}
[data-theme=sculpt] svg [fill="#78cdeb"]{fill:#6c4dd9}
[data-theme=sculpt] svg [stroke="#78cdeb"]{stroke:#6c4dd9}
[data-theme=sculpt] svg [fill="#fa9fbd"]{fill:#e2557f}
[data-theme=sculpt] svg [stroke="#fa9fbd"]{stroke:#e2557f}
[data-theme=sculpt] svg [fill="#a899fc"]{fill:#4b8f8c}
[data-theme=sculpt] svg [stroke="#a899fc"]{stroke:#4b8f8c}
[data-theme=sculpt] svg [fill="#e5c67d"]{fill:#d39b2a}
[data-theme=sculpt] svg [stroke="#e5c67d"]{stroke:#d39b2a}
[data-theme=sculpt] svg [fill="#6baee9"]{fill:#3e63c9}
[data-theme=sculpt] svg [stroke="#6baee9"]{stroke:#3e63c9}
[data-theme=sculpt] svg [stroke="#362b57"]{stroke:#d6d1e4}
[data-theme=sculpt] svg [stroke="#6c5e95"]{stroke:#b8b0cf}

:root[data-theme=sculpt]{--th-font:"TS Nunito","Segoe UI",system-ui,"Hiragino Sans","Yu Gothic UI",sans-serif;--th-display:"TS Nunito","Segoe UI",system-ui,"Hiragino Sans","Yu Gothic UI",sans-serif;--th-num:"TS Nunito","Segoe UI",system-ui,"Hiragino Sans","Yu Gothic UI",sans-serif;--th-title:"TS Nunito","Segoe UI",system-ui,"Hiragino Sans","Yu Gothic UI",sans-serif}
[data-theme=sculpt] td.score-number,[data-theme=sculpt] .mobile-score{font-family:var(--th-num)!important}
[data-theme=sculpt] .song-button,[data-theme=sculpt] .goal-song-open{font-weight:800;font-size:.95rem;text-shadow:1px 1px 0 #ffffffcc}
[data-theme=sculpt] td.score-number,[data-theme=sculpt] .mobile-score{font-weight:1000!important;font-size:1.1rem!important}
[data-theme=sculpt] td.number{font-weight:700;letter-spacing:0}
[data-theme=sculpt] .stat-value{font-weight:1000}
[data-theme=sculpt] .page-heading h1,[data-theme=sculpt] .page-heading h2{font-weight:1000!important;letter-spacing:-.02em}

@media(min-width:1101px){[data-theme=sculpt] .topbar{margin:18px auto 0;max-width:1180px;width:calc(100% - 48px);border-radius:999px;height:auto;padding:12px 26px;box-shadow:12px 12px 28px #c5bfd6,-12px -12px 28px #ffffff;background:#eeebf5;grid-template-columns:auto 1fr auto}
[data-theme=sculpt] .topbar::after{display:none}
[data-theme=sculpt] .topbar .brand .app-mark{width:64px;height:64px}
[data-theme=sculpt] .shell{padding-bottom:120px}
[data-theme=sculpt] nav{position:fixed;z-index:20;left:50%;bottom:18px;transform:translateX(-50%);border:0;background:#eeebf5;border-radius:999px;padding:8px 14px;gap:4px;box-shadow:12px 12px 28px #b9b1d1,-8px -8px 22px #ffffff;max-width:calc(100% - 40px)}
[data-theme=sculpt] nav a{padding:10px 14px;border:0;border-radius:999px}
[data-theme=sculpt] nav a.active{box-shadow:inset 4px 4px 8px #cbc5db,inset -4px -4px 8px #ffffff;color:#5b3ec9}
[data-theme=sculpt] .stats{gap:18px;background:none;box-shadow:none;border:0;overflow:visible}
[data-theme=sculpt] .stat{border:0!important;border-radius:26px;background:#eeebf5;box-shadow:8px 8px 18px #c9c3da,-8px -8px 18px #ffffff}

}

/* Liquid — Liquid & experimental typography */
:root[data-theme=liquid]{--t-surf-0:#06101f;--t-surf-1:#0b1830;--t-surf-2:#102141;--t-surf-3:#172c55;--t-line-1:#22396a;--t-line-2:#34508c;--t-text-3:#5f78ad;--t-text-2:#9cb0d8;--t-text-1:#c9d6ef;--t-text-0:#f1f5ff;--t-acc-1:#b7ff5a;--t-acc-1-dark:#233f12;--t-acc-2:#5ad8ff;--t-acc-2-deep:#1b6c8f;--t-acc-3:#c7c9ff;--t-acc-3-dark:#10213f;--t-acc-3-deep:#2b3f7a;--th-font:"Inter","Segoe UI",system-ui,sans-serif;--th-display:"Inter Display","Inter","Segoe UI",system-ui,sans-serif;--th-header:radial-gradient(120px 60px at 30% 120%,#5ad8ff66,transparent 70%),radial-gradient(160px 70px at 80% -20%,#b7ff5a44,transparent 70%),linear-gradient(180deg,#0b1830,#102141);color-scheme:dark}
[data-theme=liquid] .page-heading h1,[data-theme=liquid] .page-heading h2{display:inline-block;transform:scaleY(1.28) scaleX(.94);transform-origin:left bottom;letter-spacing:-.06em;font-weight:800;background:linear-gradient(180deg,#ffffff 0%,#c9d6ef 35%,#5a6f9c 50%,#e8f4ff 62%,#5ad8ff 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 6px 14px #5ad8ff44)}
[data-theme=liquid] .brand>span{letter-spacing:-.05em}
[data-theme=liquid] .stat-value{letter-spacing:-.06em;transform:scaleY(1.12);transform-origin:left bottom;display:inline-block}
[data-theme=liquid] .workspace,[data-theme=liquid] .chart-card,[data-theme=liquid] .stats{border-radius:28px 28px 28px 8px}
[data-theme=liquid] button:not(.song-button,.photo-link,.goal-song-open,th button),[data-theme=liquid] input,[data-theme=liquid] select{border-radius:999px}
@media(prefers-reduced-motion:no-preference){[data-theme=liquid] .page-heading h1,[data-theme=liquid] .page-heading h2{animation:liquid-ripple 6s ease-in-out infinite}}
@keyframes liquid-ripple{0%,100%{transform:scaleY(1.28) scaleX(.94) skewX(0)}50%{transform:scaleY(1.34) scaleX(.92) skewX(-4deg)}}
[data-theme=liquid] .app-mark{content:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 120 120%22%3E%3Cdefs%3E%3ClinearGradient id=%22l%22 x1=%220%22 y1=%220%22 x2=%220%22 y2=%221%22%3E%3Cstop offset=%220%22 stop-color=%22%23f1f5ff%22/%3E%3Cstop offset=%22.45%22 stop-color=%22%235ad8ff%22/%3E%3Cstop offset=%221%22 stop-color=%22%23b7ff5a%22/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d=%22M10 50c14-18 34-22 50-8s32 12 50-6v26c-8 6-14 6-18 4v26c0 6-8 6-8 0V74c-6 0-10-2-14-4v36c0 7-9 7-9 0V68c-8-2-14-2-20 2v22c0 6-8 6-8 0V74c-10 4-17 2-23-2z%22 fill=%22url(%23l)%22/%3E%3C/svg%3E");image-rendering:auto}
[data-theme=liquid] .brand>span{font-size:3rem;font-weight:900;letter-spacing:-.07em;transform:scaleY(1.35);transform-origin:left center;display:inline-block;background:linear-gradient(180deg,#fff,#5ad8ff 60%,#b7ff5a)!important;-webkit-background-clip:text!important;background-clip:text!important;-webkit-text-fill-color:transparent!important}
[data-theme=liquid] .badge:not(#_){box-shadow:none;padding-left:6px;background-image:none;animation:none}
[data-theme=liquid] .badge:not(#_).lamp::before{display:none}
[data-theme=liquid] .badge:not(#_).NOV{--difficulty-accent:#a65cff;--difficulty-fill:#292150;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=liquid] .badge:not(#_).ADV{--difficulty-accent:#f2c200;--difficulty-fill:#3a3718;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=liquid] .badge:not(#_).EXH{--difficulty-accent:#ff4a4a;--difficulty-fill:#3d1d28;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=liquid] .badge:not(#_).MXM{--difficulty-accent:#d4d8e0;--difficulty-fill:#333c49;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=liquid] .badge:not(#_).GRV{--difficulty-accent:#ff9a1f;--difficulty-fill:#3d2e1f;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=liquid] .badge:not(#_).HVN{--difficulty-accent:#19d6e0;--difficulty-fill:#0a3c49;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=liquid] .badge:not(#_).VVD{--difficulty-accent:#ff5fb0;--difficulty-fill:#3d213f;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=liquid] .badge:not(#_).XCD{--difficulty-accent:#3d8bff;--difficulty-fill:#122b50;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=liquid] .badge:not(#_).NBL{--difficulty-accent:#7fdc1a;--difficulty-fill:#213d1e;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=liquid] .badge:not(#_).ULT{--difficulty-accent:#ffd400;--difficulty-fill:#3d3b18;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=liquid] .badge:not(#_).INF{--difficulty-accent:#c4c4c4;--difficulty-fill:#303843;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=liquid] .badge:not(#_).lamp.no-play{--difficulty-accent:#91a3bc;--difficulty-fill:#253042;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=liquid] .badge:not(#_).lamp.played{--difficulty-accent:#ff4a4a;--difficulty-fill:#3d1d28;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=liquid] .badge:not(#_).lamp.failed{--difficulty-accent:#ff4a4a;--difficulty-fill:#3d1d28;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=liquid] .badge:not(#_).lamp.clear{--difficulty-accent:#3ddc84;--difficulty-fill:#123d35;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=liquid] .badge:not(#_).lamp.excessive{--difficulty-accent:#b47cff;--difficulty-fill:#2c2850;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=liquid] .badge:not(#_).lamp.mxv{--difficulty-accent:#e6eaf0;--difficulty-fill:#37404d;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=liquid] .badge:not(#_).lamp.uc{--difficulty-accent:#ff5fb0;--difficulty-fill:#3d213f;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=liquid] .badge:not(#_).lamp.puc{--difficulty-accent:#ffd400;--difficulty-fill:#3d3b18;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=liquid] .grade[data-grade]{background:none;-webkit-text-fill-color:currentColor;text-shadow:none;filter:none!important;animation:none;display:inline-block;min-width:2.6em;text-align:center;padding:2px 8px;border-radius:58% 42% 55% 45%/50% 60% 40% 50%;background:color-mix(in srgb,currentColor 16%,transparent);box-shadow:inset 0 2px 6px #ffffff22}
[data-theme=liquid] .grade[data-grade="D"]{color:#5f78ad}
[data-theme=liquid] .grade[data-grade="C"]{color:#738bbb}
[data-theme=liquid] .grade[data-grade="B"]{color:#889dca}
[data-theme=liquid] .grade[data-grade="A"]{color:#9cb0d8}
[data-theme=liquid] .grade[data-grade="A+"]{color:#86bde5}
[data-theme=liquid] .grade[data-grade="AA"]{color:#70cbf2}
[data-theme=liquid] .grade[data-grade="AA+"]{color:#5ad8ff}
[data-theme=liquid] .grade[data-grade="AAA"]{color:#7ed3ff}
[data-theme=liquid] .grade[data-grade="AAA+"]{color:#a3ceff}
[data-theme=liquid] .grade[data-grade="S"]{color:#c7c9ff}
[data-theme=liquid] .grade[data-grade="S+"]{color:#c2dbc8}
[data-theme=liquid] .grade[data-grade="S++"]{color:#bced91}
[data-theme=liquid] .grade[data-grade="PUC"]{color:#b7ff5a}
[data-theme=liquid] .grade[data-grade="PUC"],[data-theme=liquid] .grade[data-grade="S++"]{color:#06101f;background:radial-gradient(circle at 30% 25%,#f4ffd9,#b7ff5a 45%,#5ad8ff);box-shadow:0 0 14px #b7ff5a88}
[data-theme=liquid] .badge:not(#_){border:0;border-radius:40% 60% 52% 48%/60% 45% 55% 40%;background:radial-gradient(circle at 30% 20%,color-mix(in srgb,var(--difficulty-accent) 70%,#fff),var(--difficulty-fill) 70%);box-shadow:inset 0 -3px 6px #0006,0 4px 12px -4px var(--difficulty-accent);font-weight:700;padding:0 9px;text-shadow:0 1px 2px #0008}
[data-theme=liquid] .badge:not(#_).lamp{animation:lq-morph 6s ease-in-out infinite}
[data-theme=liquid] .badge:not(#_).lamp:nth-child(odd){animation-delay:-3s}

@keyframes lq-morph{50%{border-radius:58% 42% 40% 60%/45% 60% 40% 55%}}[data-theme=liquid] .score-table thead th{background:none;border:0;color:#5ad8ff;font-weight:600}
[data-theme=liquid] .score-table tbody td{border:0}
[data-theme=liquid] .score-table tbody tr{background:linear-gradient(90deg,#0b1830,#0b183000)}
[data-theme=liquid] .score-table tbody tr:nth-child(even){background:linear-gradient(90deg,#102141,#10214100)}
[data-theme=liquid] .score-table tbody tr:hover{background:linear-gradient(90deg,#1b6c8f55,#b7ff5a11)}
[data-theme=liquid] .score-table tbody tr td:first-child{border-radius:999px 0 0 999px}
[data-theme=liquid] td.score-number,[data-theme=liquid] .mobile-score{color:#b7ff5a!important;font-weight:700;text-shadow:0 0 14px #b7ff5a66}
[data-theme=liquid] .song-jacket{border-radius:42% 58% 50% 50%/55% 45% 55% 45%}
[data-theme=liquid] .rating-folder-groups button{border-radius:999px;border:1px solid #34508c;background:linear-gradient(180deg,#172c55,#0b1830)}
[data-theme=liquid] .rating-folder-groups .selected{background:radial-gradient(circle at 30% 20%,#f4ffd9,#b7ff5a 60%);color:#06101f!important;border-color:#b7ff5a}
[data-theme=liquid] .chart-card,[data-theme=liquid] .goal-card,[data-theme=liquid] .mobile-card{border-radius:36px 36px 36px 12px;border:1px solid #34508c66;background:linear-gradient(160deg,#102141ee,#0b1830ee)}
[data-theme=liquid] .source-chip{border-radius:999px}
[data-theme=liquid] svg rect[fill="#7ecbe7"]{fill:#5ad8ff}
[data-theme=liquid] svg [fill="#78cdeb"]{fill:#b7ff5a}
[data-theme=liquid] svg [stroke="#78cdeb"]{stroke:#b7ff5a}
[data-theme=liquid] svg [fill="#fa9fbd"]{fill:#5ad8ff}
[data-theme=liquid] svg [stroke="#fa9fbd"]{stroke:#5ad8ff}
[data-theme=liquid] svg [fill="#a899fc"]{fill:#c7c9ff}
[data-theme=liquid] svg [stroke="#a899fc"]{stroke:#c7c9ff}
[data-theme=liquid] svg [fill="#e5c67d"]{fill:#ffd36b}
[data-theme=liquid] svg [stroke="#e5c67d"]{stroke:#ffd36b}
[data-theme=liquid] svg [fill="#6baee9"]{fill:#7f9dff}
[data-theme=liquid] svg [stroke="#6baee9"]{stroke:#7f9dff}
[data-theme=liquid] svg [stroke="#362b57"]{stroke:#172c55}
[data-theme=liquid] svg [stroke="#6c5e95"]{stroke:#34508c}

:root[data-theme=liquid]{--th-font:"TS Outfit","Segoe UI",system-ui,"Hiragino Sans","Yu Gothic UI",sans-serif;--th-display:"TS Unbounded","Segoe UI",system-ui,"Hiragino Sans","Yu Gothic UI",sans-serif;--th-num:"TS Unbounded","Segoe UI",system-ui,"Hiragino Sans","Yu Gothic UI",sans-serif;--th-title:"TS Outfit","Segoe UI",system-ui,"Hiragino Sans","Yu Gothic UI",sans-serif}
[data-theme=liquid] td.score-number,[data-theme=liquid] .mobile-score{font-family:var(--th-num)!important}
[data-theme=liquid] .song-button,[data-theme=liquid] .goal-song-open{font-weight:600;font-size:1rem;letter-spacing:.01em}
[data-theme=liquid] td.score-number,[data-theme=liquid] .mobile-score{font-weight:600!important;font-size:.95rem!important;letter-spacing:-.03em}
[data-theme=liquid] td.number{font-weight:400;font-size:.78rem;letter-spacing:-.02em}
[data-theme=liquid] .stat-value{font-weight:800;letter-spacing:-.04em}
[data-theme=liquid] input:not([type=checkbox]):not([type=radio]):not([type=range]),[data-theme=liquid] select{border-radius:999px;background:#0b1830;border:1px solid #34508c;padding-inline:14px}
[data-theme=liquid] input[type=checkbox]{accent-color:var(--t-acc-1)}

@media(min-width:1101px){[data-theme=liquid] .topbar{display:flex;flex-direction:column;align-items:center;text-align:center;height:auto;padding:28px 32px 54px;gap:6px}
[data-theme=liquid] .topbar .brand{flex-direction:column;align-items:center;gap:4px}
[data-theme=liquid] .topbar .brand .app-mark{width:96px;height:96px}
[data-theme=liquid] .brand>span{font-size:5.4rem;line-height:.9}
[data-theme=liquid] .brand small{font-size:1.1rem;-webkit-text-fill-color:#9cb0d8}
[data-theme=liquid] .topbar .game-logos{position:absolute;left:32px;top:24px;flex-direction:column}
[data-theme=liquid] .topbar .header-actions{position:absolute;right:32px;top:24px}
[data-theme=liquid] nav{justify-content:safe center;margin:-28px auto 0;width:max-content;max-width:100%;background:#102141;border:1px solid #34508c;border-radius:999px;padding:4px 10px;position:relative;z-index:3}
[data-theme=liquid] nav a{padding:10px 14px;border-bottom:0;border-radius:999px}
[data-theme=liquid] nav a.active{background:#b7ff5a;color:#06101f}

}

/* Bento — Bento grid layouts */
:root[data-theme=bento]{--t-surf-0:#e3e6ea;--t-surf-1:#ffffff;--t-surf-2:#f3f5f8;--t-surf-3:#e8ecf1;--t-line-1:#d5dbe3;--t-line-2:#b9c2ce;--t-text-3:#7a8494;--t-text-2:#556070;--t-text-1:#333c49;--t-text-0:#10151d;--t-acc-1:#2f6bff;--t-acc-1-dark:#dfe8ff;--t-acc-2:#ff5c39;--t-acc-2-deep:#c2361a;--t-acc-3:#8a5cff;--t-acc-3-dark:#ebe4ff;--t-acc-3-deep:#3f2aa0;--th-font:"Inter","Segoe UI",system-ui,sans-serif;--th-display:"Inter Display","Inter","Segoe UI",system-ui,sans-serif;--th-header:linear-gradient(90deg,#ffffff 0 24%,transparent 24% 25%,#ffd84d 25% 49%,transparent 49% 50%,#c9f0dc 50% 74%,transparent 74% 75%,#dfe8ff 75%);color-scheme:light}
[data-theme=bento] .shell{padding-top:6px}
[data-theme=bento] .stats{gap:12px;background:none;border:0;box-shadow:none;overflow:visible}
[data-theme=bento] .stats::before{display:none}
[data-theme=bento] .stat{border:0!important;border-radius:22px;padding:22px 24px}
[data-theme=bento] .stat:nth-child(1){background:#ffffff}[data-theme=bento] .stat:nth-child(2){background:#dfe8ff}[data-theme=bento] .stat:nth-child(3){background:#ffe3da}[data-theme=bento] .stat:nth-child(4){background:#c9f0dc}
[data-theme=bento] .workspace,[data-theme=bento] .chart-card,[data-theme=bento] dialog,[data-theme=bento] .login-card{border:0;border-radius:22px;box-shadow:0 1px 2px #10151d14}
[data-theme=bento] .chart-grid{gap:12px}
[data-theme=bento] button:not(.song-button,.photo-link,.goal-song-open,th button),[data-theme=bento] input,[data-theme=bento] select{border-radius:12px}
[data-theme=bento] .page-heading h1,[data-theme=bento] .page-heading h2{color:#10151d;-webkit-text-fill-color:#10151d;background:none;font-weight:800;letter-spacing:-.045em}
[data-theme=bento] .stat-value{color:#10151d;text-shadow:none}
[data-theme=bento] .app-mark{content:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 120 120%22%3E%3Crect x=%228%22 y=%228%22 width=%2258%22 height=%2258%22 rx=%2214%22 fill=%22%232f6bff%22/%3E%3Crect x=%2272%22 y=%228%22 width=%2240%22 height=%2258%22 rx=%2214%22 fill=%22%23ffd84d%22/%3E%3Crect x=%228%22 y=%2272%22 width=%2240%22 height=%2240%22 rx=%2214%22 fill=%22%23c9f0dc%22/%3E%3Crect x=%2254%22 y=%2272%22 width=%2258%22 height=%2240%22 rx=%2214%22 fill=%22%23ff5c39%22/%3E%3Cpath d=%22M16 46c8-10 16-12 22-6s14 6 20-2%22 fill=%22none%22 stroke=%22%23fff%22 stroke-width=%226%22 stroke-linecap=%22round%22/%3E%3C/svg%3E");image-rendering:auto}
[data-theme=bento] .brand>span{font-size:1.7rem;font-weight:800;letter-spacing:-.04em}
[data-theme=bento] .badge:not(#_){box-shadow:none;padding-left:6px;background-image:none;animation:none}
[data-theme=bento] .badge:not(#_).lamp::before{display:none}
[data-theme=bento] .badge:not(#_).NOV{--difficulty-accent:#713fad;--difficulty-fill:#eddeff;--badge-ink:#46276b;color:var(--badge-ink)}
[data-theme=bento] .badge:not(#_).ADV{--difficulty-accent:#a58400;--difficulty-fill:#fcf3cc;--badge-ink:#665100;color:var(--badge-ink)}
[data-theme=bento] .badge:not(#_).EXH{--difficulty-accent:#ad3232;--difficulty-fill:#ffdbdb;--badge-ink:#6b1f1f;color:var(--badge-ink)}
[data-theme=bento] .badge:not(#_).MXM{--difficulty-accent:#909398;--difficulty-fill:#f6f7f9;--badge-ink:#595b5e;color:var(--badge-ink)}
[data-theme=bento] .badge:not(#_).GRV{--difficulty-accent:#ad6915;--difficulty-fill:#ffebd2;--badge-ink:#6b410d;color:var(--badge-ink)}
[data-theme=bento] .badge:not(#_).HVN{--difficulty-accent:#119298;--difficulty-fill:#d1f7f9;--badge-ink:#0b5a5e;color:var(--badge-ink)}
[data-theme=bento] .badge:not(#_).VVD{--difficulty-accent:#ad4178;--difficulty-fill:#ffdfef;--badge-ink:#6b284a;color:var(--badge-ink)}
[data-theme=bento] .badge:not(#_).XCD{--difficulty-accent:#295fad;--difficulty-fill:#d8e8ff;--badge-ink:#1a3a6b;color:var(--badge-ink)}
[data-theme=bento] .badge:not(#_).NBL{--difficulty-accent:#569612;--difficulty-fill:#e5f8d1;--badge-ink:#355c0b;color:var(--badge-ink)}
[data-theme=bento] .badge:not(#_).ULT{--difficulty-accent:#ad9000;--difficulty-fill:#fff6cc;--badge-ink:#6b5900;color:var(--badge-ink)}
[data-theme=bento] .badge:not(#_).INF{--difficulty-accent:#858585;--difficulty-fill:#f3f3f3;--badge-ink:#525252;color:var(--badge-ink)}
[data-theme=bento] .badge:not(#_).lamp.no-play{--difficulty-accent:#636f80;--difficulty-fill:#e9edf2;--badge-ink:#3d444f;color:var(--badge-ink)}
[data-theme=bento] .badge:not(#_).lamp.played{--difficulty-accent:#ad3232;--difficulty-fill:#ffdbdb;--badge-ink:#6b1f1f;color:var(--badge-ink)}
[data-theme=bento] .badge:not(#_).lamp.failed{--difficulty-accent:#ad3232;--difficulty-fill:#ffdbdb;--badge-ink:#6b1f1f;color:var(--badge-ink)}
[data-theme=bento] .badge:not(#_).lamp.clear{--difficulty-accent:#29965a;--difficulty-fill:#d8f8e6;--badge-ink:#1a5c37;color:var(--badge-ink)}
[data-theme=bento] .badge:not(#_).lamp.excessive{--difficulty-accent:#7a54ad;--difficulty-fill:#f0e5ff;--badge-ink:#4c346b;color:var(--badge-ink)}
[data-theme=bento] .badge:not(#_).lamp.mxv{--difficulty-accent:#9c9fa3;--difficulty-fill:#fafbfc;--badge-ink:#616265;color:var(--badge-ink)}
[data-theme=bento] .badge:not(#_).lamp.uc{--difficulty-accent:#ad4178;--difficulty-fill:#ffdfef;--badge-ink:#6b284a;color:var(--badge-ink)}
[data-theme=bento] .badge:not(#_).lamp.puc{--difficulty-accent:#ad9000;--difficulty-fill:#fff6cc;--badge-ink:#6b5900;color:var(--badge-ink)}
[data-theme=bento] .grade[data-grade]{background:none;-webkit-text-fill-color:currentColor;text-shadow:none;filter:none!important;animation:none;display:inline-grid;place-items:center;min-width:2.9em;height:1.7em;padding:0 6px;border-radius:9px;background:color-mix(in srgb,currentColor 13%,#ffffff);font-weight:800}
[data-theme=bento] .grade[data-grade="D"]{color:#7a8494}
[data-theme=bento] .grade[data-grade="C"]{color:#6b7585}
[data-theme=bento] .grade[data-grade="B"]{color:#5b6676}
[data-theme=bento] .grade[data-grade="A"]{color:#486a6b}
[data-theme=bento] .grade[data-grade="A+"]{color:#317c62}
[data-theme=bento] .grade[data-grade="AA"]{color:#208769}
[data-theme=bento] .grade[data-grade="AA+"]{color:#277aad}
[data-theme=bento] .grade[data-grade="AAA"]{color:#2e6ef1}
[data-theme=bento] .grade[data-grade="AAA+"]{color:#4d66ff}
[data-theme=bento] .grade[data-grade="S"]{color:#7360ff}
[data-theme=bento] .grade[data-grade="S+"]{color:#9e5cde}
[data-theme=bento] .grade[data-grade="S++"]{color:#ce5c8c}
[data-theme=bento] .grade[data-grade="PUC"]{color:#ff5c39}
[data-theme=bento] .grade[data-grade="S++"],[data-theme=bento] .grade[data-grade="PUC"]{color:#fff;background:linear-gradient(135deg,#ff5c39,#8a5cff)}
[data-theme=bento] .badge:not(#_){border:0;border-radius:9px;background:var(--difficulty-fill);font-weight:800;letter-spacing:.02em}
[data-theme=bento] .badge:not(#_).lamp{border-radius:10px;height:1.7rem}
[data-theme=bento] .badge:not(#_).lamp.puc{background:linear-gradient(135deg,#fff1b8,#ffd76a)}
[data-theme=bento] .badge:not(#_).lamp.uc{background:linear-gradient(135deg,#ffe0f0,#ffb8dc)}
[data-theme=bento] .score-table{border-collapse:separate;border-spacing:0 8px}
[data-theme=bento] .score-table thead th{background:none;border:0;color:#7a8494;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em}
[data-theme=bento] .score-table tbody td{background:#fff;border:0}
[data-theme=bento] .score-table tbody td:first-child{border-radius:16px 0 0 16px}
[data-theme=bento] .score-table tbody td:last-child{border-radius:0 16px 16px 0}
[data-theme=bento] .score-table tbody tr:hover td{background:#f3f6ff}
[data-theme=bento] td.score-number,[data-theme=bento] .mobile-score{color:#10151d!important;font-weight:800;font-size:1rem}
[data-theme=bento] td.score-number{background:#eef3ff!important}
[data-theme=bento] .song-jacket{border-radius:12px}
[data-theme=bento] .rating-folder-groups button{border:0;border-radius:12px;background:#fff;box-shadow:0 1px 0 #d5dbe3}
[data-theme=bento] .rating-folder-groups .selected{background:#10151d;color:#fff!important}
[data-theme=bento] .source-chip{border:0;background:#eef1f5;border-radius:6px}
[data-theme=bento] .chart-card,[data-theme=bento] .goal-card,[data-theme=bento] .mobile-card{border:0;border-radius:24px;background:#fff;box-shadow:0 1px 0 #d5dbe3}
[data-theme=bento] .goal-card:nth-child(3n+1){background:#eef3ff}
[data-theme=bento] .goal-card:nth-child(3n+2){background:#fff3ee}
[data-theme=bento] .goal-card:nth-child(3n){background:#f3eeff}
[data-theme=bento] svg rect[fill="#7ecbe7"]{fill:#2f6bff}
[data-theme=bento] svg [fill="#78cdeb"]{fill:#2f6bff}
[data-theme=bento] svg [stroke="#78cdeb"]{stroke:#2f6bff}
[data-theme=bento] svg [fill="#fa9fbd"]{fill:#ff5c39}
[data-theme=bento] svg [stroke="#fa9fbd"]{stroke:#ff5c39}
[data-theme=bento] svg [fill="#a899fc"]{fill:#8a5cff}
[data-theme=bento] svg [stroke="#a899fc"]{stroke:#8a5cff}
[data-theme=bento] svg [fill="#e5c67d"]{fill:#1f8a5b}
[data-theme=bento] svg [stroke="#e5c67d"]{stroke:#1f8a5b}
[data-theme=bento] svg [fill="#6baee9"]{fill:#f2a900}
[data-theme=bento] svg [stroke="#6baee9"]{stroke:#f2a900}
[data-theme=bento] svg [stroke="#362b57"]{stroke:#e3e6ea}
[data-theme=bento] svg [stroke="#6c5e95"]{stroke:#b9c2ce}

:root[data-theme=bento]{--th-font:"TS Plus Jakarta","Segoe UI",system-ui,"Hiragino Sans","Yu Gothic UI",sans-serif;--th-display:"TS Plus Jakarta","Segoe UI",system-ui,"Hiragino Sans","Yu Gothic UI",sans-serif;--th-num:"TS Plus Jakarta","Segoe UI",system-ui,"Hiragino Sans","Yu Gothic UI",sans-serif;--th-title:"TS Plus Jakarta","Segoe UI",system-ui,"Hiragino Sans","Yu Gothic UI",sans-serif}
[data-theme=bento] td.score-number,[data-theme=bento] .mobile-score{font-family:var(--th-num)!important}
[data-theme=bento] .song-button,[data-theme=bento] .goal-song-open{font-weight:700;letter-spacing:-.01em}
[data-theme=bento] td.score-number,[data-theme=bento] .mobile-score{font-weight:800!important;letter-spacing:-.02em}
[data-theme=bento] td.number{font-weight:600;letter-spacing:-.01em}
[data-theme=bento] .stat-value{font-weight:800;letter-spacing:-.05em;font-size:2.4rem}
[data-theme=bento] .page-heading h1,[data-theme=bento] .page-heading h2{font-weight:800!important;letter-spacing:-.04em}
[data-theme=bento] input:not([type=checkbox]):not([type=radio]):not([type=range]),[data-theme=bento] select{border-radius:12px;background:#f3f5f8;border:1px solid transparent}
[data-theme=bento] input[type=checkbox]{accent-color:var(--t-acc-1)}

@media(min-width:1101px){[data-theme=bento] .topbar{display:grid;grid-template-columns:auto minmax(0,1.2fr) minmax(0,1fr) auto;gap:12px;height:auto;padding:16px 32px 0;background:transparent}
[data-theme=bento] .topbar::after{display:none}
[data-theme=bento] .topbar>.horizon{display:none}
[data-theme=bento] .topbar .brand,[data-theme=bento] .topbar .game-logos,[data-theme=bento] .topbar .header-actions{grid-row:1;border-radius:22px;padding:14px 20px;height:100%;align-items:center}
[data-theme=bento] .topbar .brand{grid-column:1/3;background:#ffffff}
[data-theme=bento] .topbar .game-logos{grid-column:3;background:#10151d;justify-content:center}
[data-theme=bento] .topbar .header-actions{grid-column:4;background:#ffd84d}
[data-theme=bento] nav{margin-top:12px;background:#ffffff;border-radius:18px;padding:6px;gap:4px;border:0}
[data-theme=bento] nav a{padding:10px 14px;border-radius:12px;border:0}
[data-theme=bento] nav a.active{background:#10151d;color:#fff}
[data-theme=bento] main{display:grid;grid-template-columns:minmax(0,1fr) 300px;column-gap:12px;align-items:start}
[data-theme=bento] main>.page-heading{grid-column:1/-1}
[data-theme=bento] main>.stats{grid-column:2;grid-row:2/span 2;grid-template-columns:1fr;position:sticky;top:12px}
[data-theme=bento] main>.workspace{grid-column:1;grid-row:2}
[data-theme=bento] main>footer{grid-column:1/-1}

}

/* Pulse — Motion-led branding */
:root[data-theme=pulse]{--t-surf-0:#0d0d0f;--t-surf-1:#151518;--t-surf-2:#1c1c20;--t-surf-3:#26262b;--t-line-1:#34343b;--t-line-2:#4a4a53;--t-text-3:#6f6f7a;--t-text-2:#a3a3ad;--t-text-1:#d3d3d9;--t-text-0:#f6f6f8;--t-acc-1:#ff6a1a;--t-acc-1-dark:#3d1a08;--t-acc-2:#ffd23f;--t-acc-2-deep:#a8510f;--t-acc-3:#ff9a5e;--t-acc-3-dark:#2a1a12;--t-acc-3-deep:#5a2d10;--th-font:"Inter","Segoe UI",system-ui,sans-serif;--th-display:Bahnschrift,"Arial Narrow","DejaVu Sans Condensed",sans-serif;--th-header:repeating-linear-gradient(-55deg,#ff6a1a 0 14px,#151518 14px 34px);color-scheme:dark}
[data-theme=pulse] .horizon{opacity:.9;-webkit-mask-image:linear-gradient(90deg,transparent 0 40%,#000 75%);mask-image:linear-gradient(90deg,transparent 0 40%,#000 75%)}
[data-theme=pulse] .page-heading h1,[data-theme=pulse] .page-heading h2{color:#f6f6f8;-webkit-text-fill-color:#f6f6f8;background:none;font-weight:700;text-transform:uppercase;letter-spacing:.02em;font-size:2.4rem}
[data-theme=pulse] nav a.active{border-image:none;border-color:#ff6a1a;color:#ff6a1a}
[data-theme=pulse] .stat-value{color:#f6f6f8;text-shadow:none}
[data-theme=pulse] .stat-value.pink{color:#ff6a1a}[data-theme=pulse] .stat-value.accent{color:#ffd23f}
[data-theme=pulse] .workspace,[data-theme=pulse] .chart-card,[data-theme=pulse] .stats{border-radius:4px}
@media(prefers-reduced-motion:no-preference){
 [data-theme=pulse] .horizon{background-size:200% 100%;animation:pulse-march 3s linear infinite}
 [data-theme=pulse] nav a{background:linear-gradient(#ff6a1a,#ff6a1a) left bottom/0 3px no-repeat;transition:background-size .3s}
 [data-theme=pulse] nav a:hover{background-size:100% 3px}
 [data-theme=pulse] .page-heading h1,[data-theme=pulse] .page-heading h2{animation:pulse-in .7s cubic-bezier(.2,.8,.2,1) both}
}
@keyframes pulse-march{to{background-position:68px 0}}
@keyframes pulse-in{from{opacity:0;transform:translateX(-18px)}to{opacity:1;transform:none}}
[data-theme=pulse] .app-mark{content:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 120 120%22%3E%3Ccircle cx=%2260%22 cy=%2260%22 r=%2254%22 fill=%22none%22 stroke=%22%23ff6a1a%22 stroke-width=%224%22 opacity=%22.35%22/%3E%3Ccircle cx=%2260%22 cy=%2260%22 r=%2240%22 fill=%22none%22 stroke=%22%23ff6a1a%22 stroke-width=%224%22 opacity=%22.65%22/%3E%3Ccircle cx=%2260%22 cy=%2260%22 r=%2226%22 fill=%22%23ff6a1a%22/%3E%3Cpath d=%22M8 60h20l8-18 12 36 10-26 8 14h46%22 fill=%22none%22 stroke=%22%23f6f6f8%22 stroke-width=%225%22 stroke-linejoin=%22round%22/%3E%3C/svg%3E");image-rendering:auto}
[data-theme=pulse] .brand>span{text-transform:uppercase;font-weight:700;letter-spacing:.08em;font-size:1.5rem}
[data-theme=pulse] nav a{text-transform:uppercase;letter-spacing:.06em;font-weight:700}
[data-theme=pulse] .topbar>.horizon::before{content:"TSUNAMI \2022 RIDE THE WAVE \2022 TSUNAMI \2022 RIDE THE WAVE \2022 TSUNAMI \2022 RIDE THE WAVE \2022 TSUNAMI \2022 RIDE THE WAVE \2022 ";position:absolute;bottom:4px;left:0;white-space:nowrap;font:700 .8rem/1 Bahnschrift,'Arial Narrow',sans-serif;letter-spacing:.3em;color:#ff6a1a;opacity:.9}
@media(prefers-reduced-motion:no-preference){[data-theme=pulse] .topbar>.horizon::before{animation:pulse-ticker 18s linear infinite}
}
@keyframes pulse-ticker{to{transform:translateX(-50%)}}[data-theme=pulse] .badge:not(#_){box-shadow:none;padding-left:6px;background-image:none;animation:none}
[data-theme=pulse] .badge:not(#_).lamp::before{display:none}
[data-theme=pulse] .badge:not(#_).NOV{--difficulty-accent:#0d0d0f;--difficulty-fill:#a65cff;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=pulse] .badge:not(#_).ADV{--difficulty-accent:#0d0d0f;--difficulty-fill:#f2c200;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=pulse] .badge:not(#_).EXH{--difficulty-accent:#0d0d0f;--difficulty-fill:#ff4a4a;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=pulse] .badge:not(#_).MXM{--difficulty-accent:#0d0d0f;--difficulty-fill:#d4d8e0;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=pulse] .badge:not(#_).GRV{--difficulty-accent:#0d0d0f;--difficulty-fill:#ff9a1f;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=pulse] .badge:not(#_).HVN{--difficulty-accent:#0d0d0f;--difficulty-fill:#19d6e0;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=pulse] .badge:not(#_).VVD{--difficulty-accent:#0d0d0f;--difficulty-fill:#ff5fb0;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=pulse] .badge:not(#_).XCD{--difficulty-accent:#0d0d0f;--difficulty-fill:#3d8bff;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=pulse] .badge:not(#_).NBL{--difficulty-accent:#0d0d0f;--difficulty-fill:#7fdc1a;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=pulse] .badge:not(#_).ULT{--difficulty-accent:#0d0d0f;--difficulty-fill:#ffd400;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=pulse] .badge:not(#_).INF{--difficulty-accent:#0d0d0f;--difficulty-fill:#c4c4c4;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=pulse] .badge:not(#_).lamp.no-play{--difficulty-accent:#0d0d0f;--difficulty-fill:#91a3bc;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=pulse] .badge:not(#_).lamp.played{--difficulty-accent:#0d0d0f;--difficulty-fill:#ff4a4a;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=pulse] .badge:not(#_).lamp.failed{--difficulty-accent:#0d0d0f;--difficulty-fill:#ff4a4a;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=pulse] .badge:not(#_).lamp.clear{--difficulty-accent:#0d0d0f;--difficulty-fill:#3ddc84;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=pulse] .badge:not(#_).lamp.excessive{--difficulty-accent:#0d0d0f;--difficulty-fill:#b47cff;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=pulse] .badge:not(#_).lamp.mxv{--difficulty-accent:#0d0d0f;--difficulty-fill:#e6eaf0;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=pulse] .badge:not(#_).lamp.uc{--difficulty-accent:#0d0d0f;--difficulty-fill:#ff5fb0;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=pulse] .badge:not(#_).lamp.puc{--difficulty-accent:#0d0d0f;--difficulty-fill:#ffd400;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=pulse] .grade[data-grade]{background:none;-webkit-text-fill-color:currentColor;text-shadow:none;filter:none!important;animation:none;font-family:var(--th-display);font-style:italic;font-weight:900;font-size:1.05rem;letter-spacing:.02em;display:inline-block;transform:skewX(-10deg)}
[data-theme=pulse] .grade[data-grade="D"]{color:#4a4a53}
[data-theme=pulse] .grade[data-grade="C"]{color:#686871}
[data-theme=pulse] .grade[data-grade="B"]{color:#85858f}
[data-theme=pulse] .grade[data-grade="A"]{color:#a3a3ad}
[data-theme=pulse] .grade[data-grade="A+"]{color:#bfbfc6}
[data-theme=pulse] .grade[data-grade="AA"]{color:#dadadf}
[data-theme=pulse] .grade[data-grade="AA+"]{color:#f6f6f8}
[data-theme=pulse] .grade[data-grade="AAA"]{color:#f9eaba}
[data-theme=pulse] .grade[data-grade="AAA+"]{color:#fcde7d}
[data-theme=pulse] .grade[data-grade="S"]{color:#ffd23f}
[data-theme=pulse] .grade[data-grade="S+"]{color:#ffaf33}
[data-theme=pulse] .grade[data-grade="S++"]{color:#ff8d26}
[data-theme=pulse] .grade[data-grade="PUC"]{color:#ff6a1a}
[data-theme=pulse] .grade[data-grade^="S"],[data-theme=pulse] .grade[data-grade="PUC"]{text-shadow:-4px 0 0 #ff6a1a55,-8px 0 0 #ff6a1a22}
[data-theme=pulse] .badge:not(#_){border:0;border-radius:0;background:var(--difficulty-fill);color:#0d0d0f;font-family:var(--th-display);font-weight:900;font-style:italic;text-transform:uppercase;transform:skewX(-14deg);padding:0 8px}
[data-theme=pulse] .badge:not(#_).lamp{box-shadow:4px 0 0 #0d0d0f,6px 0 0 var(--difficulty-fill)}
[data-theme=pulse] .badge:not(#_).lamp.uc,[data-theme=pulse] .badge:not(#_).lamp.puc{background:repeating-linear-gradient(-60deg,var(--difficulty-fill) 0 8px,color-mix(in srgb,var(--difficulty-fill) 70%,#fff) 8px 12px);background-size:28px 100%;animation:pl-run .6s linear infinite}

@keyframes pl-run{to{background-position:28px 0}}[data-theme=pulse] .score-table thead th{background:#ff6a1a;color:#0d0d0f;font-family:var(--th-display);font-style:italic;text-transform:uppercase;font-weight:900;border:0}
[data-theme=pulse] .score-table tbody td{border-bottom:1px solid #26262b}
[data-theme=pulse] .score-table tbody tr{transition:transform .15s}
[data-theme=pulse] .score-table tbody tr:hover{background:linear-gradient(90deg,#ff6a1a33,transparent 60%);box-shadow:inset 6px 0 #ff6a1a}
[data-theme=pulse] td.score-number,[data-theme=pulse] .mobile-score{font-family:var(--th-display);font-style:italic;font-weight:900;font-size:1.15rem;color:#ffd23f!important}
[data-theme=pulse] .song-jacket{border-radius:0;clip-path:polygon(12% 0,100% 0,88% 100%,0 100%)}
[data-theme=pulse] .rating-folder-groups button{border-radius:0;transform:skewX(-14deg);border:2px solid #34343b;background:#151518;font-style:italic;font-weight:800}
[data-theme=pulse] .rating-folder-groups .selected{background:#ff6a1a;color:#0d0d0f!important;border-color:#ff6a1a}
[data-theme=pulse] .source-chip{border-radius:0;transform:skewX(-14deg);border-color:#ff6a1a;color:#ff9a5e}
[data-theme=pulse] .chart-card,[data-theme=pulse] .goal-card,[data-theme=pulse] .mobile-card{border-radius:0;border:0;border-left:6px solid #ff6a1a;background:linear-gradient(110deg,#1c1c20 60%,#26262b)}
[data-theme=pulse] .goal-card::before{content:"";position:absolute;right:16px;top:0;bottom:0;width:60px;background:repeating-linear-gradient(-60deg,#ff6a1a22 0 6px,transparent 6px 14px);pointer-events:none}
[data-theme=pulse] .topbar .header-actions{background:#0d0d0f;padding:6px 14px;transform:skewX(-14deg);box-shadow:4px 0 0 #ff6a1a}
[data-theme=pulse] .topbar .header-actions>*{transform:skewX(14deg)}
[data-theme=pulse] svg rect[fill="#7ecbe7"]{fill:#ff6a1a}
[data-theme=pulse] svg [fill="#78cdeb"]{fill:#ff6a1a}
[data-theme=pulse] svg [stroke="#78cdeb"]{stroke:#ff6a1a}
[data-theme=pulse] svg [fill="#fa9fbd"]{fill:#ffd23f}
[data-theme=pulse] svg [stroke="#fa9fbd"]{stroke:#ffd23f}
[data-theme=pulse] svg [fill="#a899fc"]{fill:#f6f6f8}
[data-theme=pulse] svg [stroke="#a899fc"]{stroke:#f6f6f8}
[data-theme=pulse] svg [fill="#e5c67d"]{fill:#ff9a5e}
[data-theme=pulse] svg [stroke="#e5c67d"]{stroke:#ff9a5e}
[data-theme=pulse] svg [fill="#6baee9"]{fill:#a3a3ad}
[data-theme=pulse] svg [stroke="#6baee9"]{stroke:#a3a3ad}
[data-theme=pulse] svg [stroke="#362b57"]{stroke:#26262b}
[data-theme=pulse] svg [stroke="#6c5e95"]{stroke:#4a4a53}

:root[data-theme=pulse]{--th-font:"TS Barlow Condensed","Segoe UI",system-ui,"Hiragino Sans","Yu Gothic UI",sans-serif;--th-display:"TS Anton","Segoe UI",system-ui,"Hiragino Sans","Yu Gothic UI",sans-serif;--th-num:"TS Anton","Segoe UI",system-ui,"Hiragino Sans","Yu Gothic UI",sans-serif;--th-title:"TS Barlow Condensed Italic","Segoe UI",system-ui,"Hiragino Sans","Yu Gothic UI",sans-serif}
[data-theme=pulse] td.score-number,[data-theme=pulse] .mobile-score{font-family:var(--th-num)!important}
[data-theme=pulse] body{font-size:1.05rem}
[data-theme=pulse] .song-button,[data-theme=pulse] .goal-song-open{font-style:italic;font-weight:700;text-transform:uppercase;font-size:1.02rem;letter-spacing:.02em}
[data-theme=pulse] td.score-number,[data-theme=pulse] .mobile-score{font-weight:400!important;font-style:italic!important;font-size:1.35rem!important;letter-spacing:.03em}
[data-theme=pulse] td.number{font-size:1rem;letter-spacing:.02em}
[data-theme=pulse] td.rating .lv-text,[data-theme=pulse] td.rating{font-size:1.25rem;font-style:italic}
[data-theme=pulse] .stat-value{font-style:italic;font-size:2.6rem;letter-spacing:.01em}
[data-theme=pulse] .score-table thead th{font-family:var(--th-display);font-weight:400;letter-spacing:.06em}
[data-theme=pulse] input:not([type=checkbox]):not([type=radio]):not([type=range]),[data-theme=pulse] select{border-radius:0;background:#151518;border:0;border-bottom:2px solid #ff6a1a}
[data-theme=pulse] input[type=checkbox]{accent-color:var(--t-acc-1)}

@media(min-width:1101px){[data-theme=pulse] .topbar{height:auto;padding:14px 32px 34px;border-bottom:4px solid #ff6a1a}
[data-theme=pulse] .topbar::after{display:none}
[data-theme=pulse] nav{gap:0;border-bottom:0;background:#151518}
[data-theme=pulse] nav a{flex:1;text-align:center;padding:18px 6px;font-size:1rem;border-bottom:4px solid transparent;border-right:1px solid #26262b}
[data-theme=pulse] nav a.active{background:#ff6a1a;color:#0d0d0f!important;border-bottom-color:#ff6a1a}

}

/* Mixed Media — Mixed-media design */
:root[data-theme=mixed]{--t-surf-0:#1d1712;--t-surf-1:#261e17;--t-surf-2:#2f261d;--t-surf-3:#3a2f24;--t-line-1:#4c3f31;--t-line-2:#66553f;--t-text-3:#8d7a61;--t-text-2:#c0ab8c;--t-text-1:#e2d3b8;--t-text-0:#f7efe0;--t-acc-1:#e8c547;--t-acc-1-dark:#463b12;--t-acc-2:#e2634a;--t-acc-2-deep:#9c3524;--t-acc-3:#8fb5a8;--t-acc-3-dark:#24302b;--t-acc-3-deep:#3d5a50;--th-font:Consolas,"Cascadia Mono","DejaVu Sans Mono",monospace;--th-display:Georgia,"Palatino Linotype","DejaVu Serif",serif;--th-header:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2210%22 height=%2210%22%3E%3Ccircle cx=%225%22 cy=%225%22 r=%221.6%22 fill=%22%23f2e3c6%22/%3E%3C/svg%3E") 0 0/10px 10px,linear-gradient(100deg,#e2634a 0 22%,#261e17 22% 62%,#8fb5a8 62%);color-scheme:dark}
[data-theme=mixed] body{background:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2210%22 height=%2210%22%3E%3Ccircle cx=%225%22 cy=%225%22 r=%221.6%22 fill=%22%23f2e3c6%22/%3E%3C/svg%3E") 0 0/10px 10px,#1d1712;background-blend-mode:soft-light}
[data-theme=mixed] .page-heading h1,[data-theme=mixed] .page-heading h2{display:inline-block;color:#1d1712;-webkit-text-fill-color:#1d1712;background:#e8c547;padding:2px 14px 4px;transform:rotate(-1.2deg);box-shadow:6px 6px 0 #e2634a;font-style:italic}
[data-theme=mixed] .eyebrow{font-family:Consolas,"Cascadia Mono","DejaVu Sans Mono",monospace;letter-spacing:.2em;color:#8fb5a8}
[data-theme=mixed] .workspace,[data-theme=mixed] .chart-card,[data-theme=mixed] .stats{border-radius:2px;position:relative}
[data-theme=mixed] .stats::before{left:20px;right:auto;width:90px;height:22px;top:-9px;background:#f7efe0cc;transform:rotate(-3deg);opacity:1}
[data-theme=mixed] .stat-value{font-family:Georgia,"Palatino Linotype","DejaVu Serif",serif;font-style:italic;text-shadow:none}
[data-theme=mixed] .app-mark{content:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 120 120%22%3E%3Cdefs%3E%3Cpattern id=%22h%22 width=%227%22 height=%227%22 patternUnits=%22userSpaceOnUse%22%3E%3Ccircle cx=%223.5%22 cy=%223.5%22 r=%221.8%22 fill=%22%231d1712%22/%3E%3C/pattern%3E%3C/defs%3E%3Cg transform=%22rotate(-8 60 60)%22%3E%3Crect x=%2212%22 y=%2216%22 width=%2296%22 height=%2288%22 fill=%22%23e2634a%22/%3E%3Crect x=%2212%22 y=%2216%22 width=%2296%22 height=%2288%22 fill=%22url(%23h)%22 opacity=%22.35%22/%3E%3Cpath d=%22M12 76c18-18 34-20 48-8s30 10 48-8v44H12z%22 fill=%22%23f7efe0%22/%3E%3Crect x=%2240%22 y=%226%22 width=%2240%22 height=%2216%22 fill=%22%23e8c547%22 opacity=%22.9%22 transform=%22rotate(6 60 14)%22/%3E%3C/g%3E%3C/svg%3E");image-rendering:auto}
[data-theme=mixed] .brand>span{font-size:2.4rem;font-style:italic;font-weight:700}
[data-theme=mixed] .topbar .game-logos img{background:#f7efe0;padding:6px;box-shadow:3px 4px 0 #0006}
[data-theme=mixed] .topbar .game-logos img:first-child{transform:rotate(-5deg)}
[data-theme=mixed] .topbar .game-logos img:last-child{transform:rotate(4deg)}
[data-theme=mixed] nav a{font-family:Consolas,monospace;text-transform:lowercase}
[data-theme=mixed] .badge:not(#_){box-shadow:none;padding-left:6px;background-image:none;animation:none}
[data-theme=mixed] .badge:not(#_).lamp::before{display:none}
[data-theme=mixed] .badge:not(#_).NOV{--difficulty-accent:#1d1712;--difficulty-fill:#d7b6ff;--badge-ink:#1d1712;color:var(--badge-ink)}
[data-theme=mixed] .badge:not(#_).ADV{--difficulty-accent:#1d1712;--difficulty-fill:#f9e48c;--badge-ink:#1d1712;color:var(--badge-ink)}
[data-theme=mixed] .badge:not(#_).EXH{--difficulty-accent:#1d1712;--difficulty-fill:#ffaeae;--badge-ink:#1d1712;color:var(--badge-ink)}
[data-theme=mixed] .badge:not(#_).MXM{--difficulty-accent:#1d1712;--difficulty-fill:#ecedf1;--badge-ink:#1d1712;color:var(--badge-ink)}
[data-theme=mixed] .badge:not(#_).GRV{--difficulty-accent:#1d1712;--difficulty-fill:#ffd29a;--badge-ink:#1d1712;color:var(--badge-ink)}
[data-theme=mixed] .badge:not(#_).HVN{--difficulty-accent:#1d1712;--difficulty-fill:#98edf1;--badge-ink:#1d1712;color:var(--badge-ink)}
[data-theme=mixed] .badge:not(#_).VVD{--difficulty-accent:#1d1712;--difficulty-fill:#ffb7db;--badge-ink:#1d1712;color:var(--badge-ink)}
[data-theme=mixed] .badge:not(#_).XCD{--difficulty-accent:#1d1712;--difficulty-fill:#a8cbff;--badge-ink:#1d1712;color:var(--badge-ink)}
[data-theme=mixed] .badge:not(#_).NBL{--difficulty-accent:#1d1712;--difficulty-fill:#c5ef98;--badge-ink:#1d1712;color:var(--badge-ink)}
[data-theme=mixed] .badge:not(#_).ULT{--difficulty-accent:#1d1712;--difficulty-fill:#ffec8c;--badge-ink:#1d1712;color:var(--badge-ink)}
[data-theme=mixed] .badge:not(#_).INF{--difficulty-accent:#1d1712;--difficulty-fill:#e4e4e4;--badge-ink:#1d1712;color:var(--badge-ink)}
[data-theme=mixed] .badge:not(#_).lamp.no-play{--difficulty-accent:#1d1712;--difficulty-fill:#ced6e1;--badge-ink:#1d1712;color:var(--badge-ink)}
[data-theme=mixed] .badge:not(#_).lamp.played{--difficulty-accent:#1d1712;--difficulty-fill:#ffaeae;--badge-ink:#1d1712;color:var(--badge-ink)}
[data-theme=mixed] .badge:not(#_).lamp.failed{--difficulty-accent:#1d1712;--difficulty-fill:#ffaeae;--badge-ink:#1d1712;color:var(--badge-ink)}
[data-theme=mixed] .badge:not(#_).lamp.clear{--difficulty-accent:#1d1712;--difficulty-fill:#a8efc8;--badge-ink:#1d1712;color:var(--badge-ink)}
[data-theme=mixed] .badge:not(#_).lamp.excessive{--difficulty-accent:#1d1712;--difficulty-fill:#ddc4ff;--badge-ink:#1d1712;color:var(--badge-ink)}
[data-theme=mixed] .badge:not(#_).lamp.mxv{--difficulty-accent:#1d1712;--difficulty-fill:#fbf8f1;--badge-ink:#1d1712;color:var(--badge-ink)}
[data-theme=mixed] .badge:not(#_).lamp.uc{--difficulty-accent:#1d1712;--difficulty-fill:#ffb7db;--badge-ink:#1d1712;color:var(--badge-ink)}
[data-theme=mixed] .badge:not(#_).lamp.puc{--difficulty-accent:#1d1712;--difficulty-fill:#ffec8c;--badge-ink:#1d1712;color:var(--badge-ink)}
[data-theme=mixed] .grade[data-grade]{background:none;-webkit-text-fill-color:currentColor;text-shadow:none;filter:none!important;animation:none;display:inline-block;padding:0 6px;border:2px solid currentColor;border-radius:4px;transform:rotate(-5deg);font-family:var(--th-font);font-weight:700;opacity:.92;text-transform:uppercase;mix-blend-mode:screen}
[data-theme=mixed] .grade[data-grade="D"]{color:#8d7a61}
[data-theme=mixed] .grade[data-grade="C"]{color:#9e8a6f}
[data-theme=mixed] .grade[data-grade="B"]{color:#af9b7e}
[data-theme=mixed] .grade[data-grade="A"]{color:#c0ab8c}
[data-theme=mixed] .grade[data-grade="A+"]{color:#b0ae95}
[data-theme=mixed] .grade[data-grade="AA"]{color:#9fb29f}
[data-theme=mixed] .grade[data-grade="AA+"]{color:#8fb5a8}
[data-theme=mixed] .grade[data-grade="AAA"]{color:#adba88}
[data-theme=mixed] .grade[data-grade="AAA+"]{color:#cac067}
[data-theme=mixed] .grade[data-grade="S"]{color:#e8c547}
[data-theme=mixed] .grade[data-grade="S+"]{color:#e6a448}
[data-theme=mixed] .grade[data-grade="S++"]{color:#e48449}
[data-theme=mixed] .grade[data-grade="PUC"]{color:#e2634a}
[data-theme=mixed] .grade[data-grade="S++"],[data-theme=mixed] .grade[data-grade="PUC"]{border-style:double;border-width:4px;transform:rotate(4deg)}
[data-theme=mixed] .badge:not(#_){border:0;border-radius:1px;background:color-mix(in srgb,var(--difficulty-fill) 88%,transparent);color:#1d1712;font-family:var(--th-font);font-weight:700;clip-path:polygon(0 8%,4% 0,9% 10%,14% 0,20% 8%,26% 0,33% 9%,40% 0,47% 9%,54% 0,61% 8%,68% 0,75% 9%,82% 0,89% 8%,95% 0,100% 9%,100% 92%,95% 100%,89% 91%,82% 100%,75% 92%,68% 100%,61% 91%,54% 100%,47% 92%,40% 100%,33% 91%,26% 100%,20% 92%,14% 100%,9% 91%,4% 100%,0 92%);transform:rotate(-2deg)}
[data-theme=mixed] .badge:not(#_).lamp{height:1.6rem}
[data-theme=mixed] tr:nth-child(even) .badge:not(#_).lamp,[data-theme=mixed] .mobile-card:nth-child(even) .badge:not(#_).lamp{transform:rotate(2deg)}
[data-theme=mixed] .score-table thead th{background:none;color:#e8c547;font-family:var(--th-display);font-style:italic;border-bottom:2px solid #e8c547}
[data-theme=mixed] .score-table tbody td{border-bottom:1px dashed #4c3f31}
[data-theme=mixed] .score-table tbody tr:hover{background:repeating-linear-gradient(0deg,#e8c54711 0 2px,transparent 2px 4px)}
[data-theme=mixed] td.score-number,[data-theme=mixed] .mobile-score{font-family:var(--th-font);color:#f7efe0!important;letter-spacing:.06em;text-decoration:underline wavy #e2634a 1px;text-underline-offset:4px}
[data-theme=mixed] .song-jacket{border:3px solid #f7efe0;border-bottom-width:9px;transform:rotate(-3deg);box-shadow:2px 3px 0 #0008}
[data-theme=mixed] tr:nth-child(even) .song-jacket{transform:rotate(3deg)}
[data-theme=mixed] .rating-folder-groups button{border-radius:0;font-family:var(--th-font);background:#f7efe0;color:#1d1712!important;border:0;clip-path:polygon(0 0,100% 4%,98% 100%,2% 94%)}
[data-theme=mixed] .rating-folder-groups .selected{background:#e8c547}
[data-theme=mixed] .rating-folder-groups .lv-text{-webkit-text-fill-color:#1d1712;background:none}
[data-theme=mixed] .source-chip{border-radius:0;border-style:dashed}
[data-theme=mixed] .chart-card,[data-theme=mixed] .goal-card,[data-theme=mixed] .mobile-card{border-radius:2px;border:0;background:#2f261d;box-shadow:6px 6px 0 #0006;background-image:radial-gradient(#ffffff0b 1px,transparent 1px);background-size:6px 6px}
[data-theme=mixed] .goal-card:nth-child(odd){transform:rotate(-.6deg)}
[data-theme=mixed] .goal-card:nth-child(even){transform:rotate(.5deg)}
[data-theme=mixed] svg rect[fill="#7ecbe7"]{fill:#e8c547}
[data-theme=mixed] svg [fill="#78cdeb"]{fill:#e8c547}
[data-theme=mixed] svg [stroke="#78cdeb"]{stroke:#e8c547}
[data-theme=mixed] svg [fill="#fa9fbd"]{fill:#e2634a}
[data-theme=mixed] svg [stroke="#fa9fbd"]{stroke:#e2634a}
[data-theme=mixed] svg [fill="#a899fc"]{fill:#8fb5a8}
[data-theme=mixed] svg [stroke="#a899fc"]{stroke:#8fb5a8}
[data-theme=mixed] svg [fill="#e5c67d"]{fill:#f7efe0}
[data-theme=mixed] svg [stroke="#e5c67d"]{stroke:#f7efe0}
[data-theme=mixed] svg [fill="#6baee9"]{fill:#c0ab8c}
[data-theme=mixed] svg [stroke="#6baee9"]{stroke:#c0ab8c}
[data-theme=mixed] svg [stroke="#362b57"]{stroke:#3a2f24}
[data-theme=mixed] svg [stroke="#6c5e95"]{stroke:#66553f}

:root[data-theme=mixed]{--th-font:"TS Courier Prime",Consolas,"Cascadia Mono","MS Gothic",monospace;--th-display:"TS DM Serif Italic",Georgia,"Yu Mincho","Hiragino Mincho ProN",serif;--th-num:"TS Special Elite",Consolas,"Cascadia Mono","MS Gothic",monospace;--th-title:"TS Courier Prime Bold",Consolas,"Cascadia Mono","MS Gothic",monospace}
[data-theme=mixed] td.score-number,[data-theme=mixed] .mobile-score{font-family:var(--th-num)!important}
[data-theme=mixed] .song-button,[data-theme=mixed] .goal-song-open{font-weight:700;letter-spacing:-.01em}
[data-theme=mixed] .song-button{text-decoration:underline #e8c54766 5px;text-underline-offset:-1px;text-decoration-skip-ink:none}
[data-theme=mixed] td.score-number,[data-theme=mixed] .mobile-score{font-size:1.08rem!important;letter-spacing:.04em}
[data-theme=mixed] td.number{font-size:.92rem}
[data-theme=mixed] .stat-value{font-size:2.3rem;letter-spacing:.02em}
[data-theme=mixed] .page-heading h1,[data-theme=mixed] .page-heading h2{font-weight:400!important;font-size:2.6rem}
[data-theme=mixed] input:not([type=checkbox]):not([type=radio]):not([type=range]),[data-theme=mixed] select{border-radius:0;background:#261e17;border:1px dashed #66553f}
[data-theme=mixed] input[type=checkbox]{accent-color:var(--t-acc-1)}

@media(min-width:1101px){[data-theme=mixed] .topbar{height:auto;padding:22px 36px 30px;border-bottom:6px double #e8c547}
[data-theme=mixed] .topbar .header-actions{background:#1d1712;padding:8px 14px;box-shadow:4px 4px 0 #e2634a;transform:rotate(1deg)}
[data-theme=mixed] nav{gap:10px;border-bottom:0;padding-top:14px}
[data-theme=mixed] nav a{padding:6px 12px;background:#2f261d;border:0}
[data-theme=mixed] nav a:nth-child(odd){transform:rotate(-1.5deg)}
[data-theme=mixed] nav a:nth-child(even){transform:rotate(1.2deg)}
[data-theme=mixed] nav a.active{background:#e8c547;color:#1d1712}

}

/* Ink Trap — Ink trap fonts */
:root[data-theme=inktrap]{--t-surf-0:#101010;--t-surf-1:#171717;--t-surf-2:#1e1e1e;--t-surf-3:#282828;--t-line-1:#363636;--t-line-2:#4d4d4d;--t-text-3:#747474;--t-text-2:#a6a6a6;--t-text-1:#d4d4d4;--t-text-0:#f5f5f0;--t-acc-1:#ffe14d;--t-acc-1-dark:#3d3510;--t-acc-2:#ff4d4d;--t-acc-2-deep:#9e2a2a;--t-acc-3:#f5f5f0;--t-acc-3-dark:#222222;--t-acc-3-deep:#3a3a3a;--th-font:"Inter","Segoe UI",system-ui,sans-serif;--th-display:Bahnschrift,"Arial Narrow","DejaVu Sans Condensed",sans-serif;--th-header:linear-gradient(90deg,#ffe14d 0 6px,transparent 6px) 0 0/22px 100%,#171717;color-scheme:dark}
[data-theme=inktrap] .page-heading h1,[data-theme=inktrap] .page-heading h2,[data-theme=inktrap] .brand>span{text-transform:uppercase;font-weight:700;letter-spacing:.04em}
[data-theme=inktrap] .page-heading h1,[data-theme=inktrap] .page-heading h2{color:#f5f5f0;-webkit-text-fill-color:#f5f5f0;background:none;font-size:2.5rem;text-shadow:2px 0 0 #101010,-2px 0 0 #101010}
[data-theme=inktrap] .workspace,[data-theme=inktrap] .chart-card,[data-theme=inktrap] .stats,[data-theme=inktrap] dialog,[data-theme=inktrap] .login-card{border-radius:0;clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,18px 100%,0 calc(100% - 18px))}
[data-theme=inktrap] button:not(.song-button,.photo-link,.goal-song-open,th button),[data-theme=inktrap] input,[data-theme=inktrap] select{border-radius:0;clip-path:polygon(0 0,calc(100% - 7px) 0,100% 7px,100% 100%,7px 100%,0 calc(100% - 7px))}
[data-theme=inktrap] button:not(.song-button,.photo-link,.goal-song-open,th button).primary{background:#ffe14d;color:#101010;border-color:#ffe14d}
[data-theme=inktrap] .stat-value{font-family:Bahnschrift,"Arial Narrow","DejaVu Sans Condensed",sans-serif;font-weight:700;color:#ffe14d;text-shadow:none}
[data-theme=inktrap] .app-mark{content:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 120 120%22%3E%3Crect width=%22120%22 height=%22120%22 fill=%22%23ffe14d%22/%3E%3Cpath d=%22M16 18h88v26H74v60H46V44H16z%22 fill=%22%23101010%22/%3E%3Cpath d=%22M46 44l-8-8v8zM74 44l8-8v8zM46 104l6-8h-6zM74 104l-6-8h6z%22 fill=%22%23ffe14d%22/%3E%3Cpath d=%22M50 74c6-6 12-6 20 0%22 fill=%22none%22 stroke=%22%23ffe14d%22 stroke-width=%225%22/%3E%3C/svg%3E");image-rendering:auto}
[data-theme=inktrap] .brand>span{text-transform:uppercase;font-weight:700;letter-spacing:.06em}
[data-theme=inktrap] nav a{text-transform:uppercase;font-family:Bahnschrift,'Arial Narrow',sans-serif;font-weight:700;letter-spacing:.06em}
[data-theme=inktrap] .badge:not(#_){box-shadow:none;padding-left:6px;background-image:none;animation:none}
[data-theme=inktrap] .badge:not(#_).lamp::before{display:none}
[data-theme=inktrap] .badge:not(#_).NOV{--difficulty-accent:#a65cff;--difficulty-fill:transparent;--badge-ink:#a65cff;color:var(--badge-ink)}
[data-theme=inktrap] .badge:not(#_).ADV{--difficulty-accent:#f2c200;--difficulty-fill:transparent;--badge-ink:#f2c200;color:var(--badge-ink)}
[data-theme=inktrap] .badge:not(#_).EXH{--difficulty-accent:#ff4a4a;--difficulty-fill:transparent;--badge-ink:#ff4a4a;color:var(--badge-ink)}
[data-theme=inktrap] .badge:not(#_).MXM{--difficulty-accent:#d4d8e0;--difficulty-fill:transparent;--badge-ink:#d4d8e0;color:var(--badge-ink)}
[data-theme=inktrap] .badge:not(#_).GRV{--difficulty-accent:#ff9a1f;--difficulty-fill:transparent;--badge-ink:#ff9a1f;color:var(--badge-ink)}
[data-theme=inktrap] .badge:not(#_).HVN{--difficulty-accent:#19d6e0;--difficulty-fill:transparent;--badge-ink:#19d6e0;color:var(--badge-ink)}
[data-theme=inktrap] .badge:not(#_).VVD{--difficulty-accent:#ff5fb0;--difficulty-fill:transparent;--badge-ink:#ff5fb0;color:var(--badge-ink)}
[data-theme=inktrap] .badge:not(#_).XCD{--difficulty-accent:#3d8bff;--difficulty-fill:transparent;--badge-ink:#3d8bff;color:var(--badge-ink)}
[data-theme=inktrap] .badge:not(#_).NBL{--difficulty-accent:#7fdc1a;--difficulty-fill:transparent;--badge-ink:#7fdc1a;color:var(--badge-ink)}
[data-theme=inktrap] .badge:not(#_).ULT{--difficulty-accent:#ffd400;--difficulty-fill:transparent;--badge-ink:#ffd400;color:var(--badge-ink)}
[data-theme=inktrap] .badge:not(#_).INF{--difficulty-accent:#c4c4c4;--difficulty-fill:transparent;--badge-ink:#c4c4c4;color:var(--badge-ink)}
[data-theme=inktrap] .badge:not(#_).lamp.no-play{--difficulty-accent:#91a3bc;--difficulty-fill:transparent;--badge-ink:#91a3bc;color:var(--badge-ink)}
[data-theme=inktrap] .badge:not(#_).lamp.played{--difficulty-accent:#ff4a4a;--difficulty-fill:transparent;--badge-ink:#ff4a4a;color:var(--badge-ink)}
[data-theme=inktrap] .badge:not(#_).lamp.failed{--difficulty-accent:#ff4a4a;--difficulty-fill:transparent;--badge-ink:#ff4a4a;color:var(--badge-ink)}
[data-theme=inktrap] .badge:not(#_).lamp.clear{--difficulty-accent:#3ddc84;--difficulty-fill:transparent;--badge-ink:#3ddc84;color:var(--badge-ink)}
[data-theme=inktrap] .badge:not(#_).lamp.excessive{--difficulty-accent:#b47cff;--difficulty-fill:transparent;--badge-ink:#b47cff;color:var(--badge-ink)}
[data-theme=inktrap] .badge:not(#_).lamp.mxv{--difficulty-accent:#e6eaf0;--difficulty-fill:transparent;--badge-ink:#e6eaf0;color:var(--badge-ink)}
[data-theme=inktrap] .badge:not(#_).lamp.uc{--difficulty-accent:#ff5fb0;--difficulty-fill:transparent;--badge-ink:#ff5fb0;color:var(--badge-ink)}
[data-theme=inktrap] .badge:not(#_).lamp.puc{--difficulty-accent:#ffd400;--difficulty-fill:transparent;--badge-ink:#ffd400;color:var(--badge-ink)}
[data-theme=inktrap] .grade[data-grade]{background:none;-webkit-text-fill-color:currentColor;text-shadow:none;filter:none!important;animation:none;font-family:var(--th-display);font-weight:900;font-size:1.1rem;letter-spacing:-.01em}
[data-theme=inktrap] .grade[data-grade="D"]{color:#8a8a8a}
[data-theme=inktrap] .grade[data-grade="C"]{color:#989898}
[data-theme=inktrap] .grade[data-grade="B"]{color:#a7a7a7}
[data-theme=inktrap] .grade[data-grade="A"]{color:#b6b6b6}
[data-theme=inktrap] .grade[data-grade="A+"]{color:#c4c4c4}
[data-theme=inktrap] .grade[data-grade="AA"]{color:#d0d0cf}
[data-theme=inktrap] .grade[data-grade="AA+"]{color:#dcdcda}
[data-theme=inktrap] .grade[data-grade="AAA"]{color:#e9e9e5}
[data-theme=inktrap] .grade[data-grade="AAA+"]{color:#f5f5f0}
[data-theme=inktrap] .grade[data-grade="S"]{color:#f8f0c7}
[data-theme=inktrap] .grade[data-grade="S+"]{color:#faeb9e}
[data-theme=inktrap] .grade[data-grade="S++"]{color:#fce676}
[data-theme=inktrap] .grade[data-grade="PUC"]{color:#ffe14d}
[data-theme=inktrap] .grade[data-grade="D"],[data-theme=inktrap] .grade[data-grade="C"],[data-theme=inktrap] .grade[data-grade="B"],[data-theme=inktrap] .grade[data-grade="A"],[data-theme=inktrap] .grade[data-grade="A+"]{-webkit-text-fill-color:transparent;-webkit-text-stroke:1px currentColor}
[data-theme=inktrap] .grade[data-grade^="S"],[data-theme=inktrap] .grade[data-grade="PUC"]{color:#101010;background:#ffe14d;padding:0 5px;box-shadow:3px 3px 0 #ff4d4d}
[data-theme=inktrap] .badge:not(#_){border:0;border-radius:0;background:none;padding:0 2px;font-family:var(--th-display);font-weight:900;text-transform:uppercase;letter-spacing:.04em;box-shadow:inset 0 -5px 0 var(--difficulty-accent);color:#f5f5f0}
[data-theme=inktrap] .badge:not(#_).lamp{justify-content:flex-start;width:4.6rem;font-size:.82rem}
[data-theme=inktrap] .badge:not(#_).lamp.puc,[data-theme=inktrap] .badge:not(#_).lamp.uc{box-shadow:inset 0 -1.5rem 0 var(--difficulty-accent);color:#101010}
[data-theme=inktrap] .score-table thead th{background:none;color:#ffe14d;font-family:var(--th-display);text-transform:uppercase;font-weight:900;border-bottom:4px solid #ffe14d}
[data-theme=inktrap] .score-table tbody td{border-bottom:1px solid #282828}
[data-theme=inktrap] .score-table tbody tr:hover{background:#ffe14d;color:#101010}
[data-theme=inktrap] .score-table tbody tr:hover :is(td,.song-button,.number,.lv-text,span){color:#101010!important;-webkit-text-fill-color:#101010}
[data-theme=inktrap] td.rating .lv-text,[data-theme=inktrap] td.rating{font-family:var(--th-display);font-size:1.25rem;font-weight:900}
[data-theme=inktrap] td.score-number,[data-theme=inktrap] .mobile-score{font-family:var(--th-display);font-size:1.2rem;font-weight:900;color:#f5f5f0!important}
[data-theme=inktrap] .song-jacket{border-radius:0;filter:grayscale(1) contrast(1.3)}
[data-theme=inktrap] tr:hover .song-jacket{filter:none}
[data-theme=inktrap] .rating-folder-groups button{border-radius:0;background:none;border:0;border-bottom:3px solid #363636;font-family:var(--th-display);font-weight:900}
[data-theme=inktrap] .rating-folder-groups .selected{border-bottom-color:#ffe14d;color:#ffe14d!important}
[data-theme=inktrap] .source-chip{border-radius:0;border:0;border-bottom:2px solid #a6a6a6}
[data-theme=inktrap] .chart-card,[data-theme=inktrap] .goal-card,[data-theme=inktrap] .mobile-card{border-radius:0;border:0;border-top:6px solid #f5f5f0;background:#171717}
[data-theme=inktrap] svg rect[fill="#7ecbe7"]{fill:#ffe14d}
[data-theme=inktrap] svg [fill="#78cdeb"]{fill:#ffe14d}
[data-theme=inktrap] svg [stroke="#78cdeb"]{stroke:#ffe14d}
[data-theme=inktrap] svg [fill="#fa9fbd"]{fill:#ff4d4d}
[data-theme=inktrap] svg [stroke="#fa9fbd"]{stroke:#ff4d4d}
[data-theme=inktrap] svg [fill="#a899fc"]{fill:#f5f5f0}
[data-theme=inktrap] svg [stroke="#a899fc"]{stroke:#f5f5f0}
[data-theme=inktrap] svg [fill="#e5c67d"]{fill:#a6a6a6}
[data-theme=inktrap] svg [stroke="#e5c67d"]{stroke:#a6a6a6}
[data-theme=inktrap] svg [fill="#6baee9"]{fill:#d4d4d4}
[data-theme=inktrap] svg [stroke="#6baee9"]{stroke:#d4d4d4}
[data-theme=inktrap] svg [stroke="#362b57"]{stroke:#282828}
[data-theme=inktrap] svg [stroke="#6c5e95"]{stroke:#4d4d4d}

:root[data-theme=inktrap]{--th-font:"TS Bricolage","Segoe UI",system-ui,"Hiragino Sans","Yu Gothic UI",sans-serif;--th-display:"TS Bricolage","Segoe UI",system-ui,"Hiragino Sans","Yu Gothic UI",sans-serif;--th-num:"TS Bricolage","Segoe UI",system-ui,"Hiragino Sans","Yu Gothic UI",sans-serif;--th-title:"TS Bricolage","Segoe UI",system-ui,"Hiragino Sans","Yu Gothic UI",sans-serif}
[data-theme=inktrap] td.score-number,[data-theme=inktrap] .mobile-score{font-family:var(--th-num)!important}
[data-theme=inktrap] .song-button,[data-theme=inktrap] .goal-song-open{font-weight:700;font-stretch:80%;font-size:1.05rem;letter-spacing:-.01em}
[data-theme=inktrap] td.score-number,[data-theme=inktrap] .mobile-score{font-weight:800!important;font-stretch:75%;font-size:1.45rem!important;letter-spacing:-.02em}
[data-theme=inktrap] td.number{font-weight:600;font-stretch:80%;font-size:.95rem}
[data-theme=inktrap] .stat-value{font-weight:800;font-stretch:75%;font-size:3rem;line-height:1}
[data-theme=inktrap] .page-heading h1,[data-theme=inktrap] .page-heading h2{font-weight:800!important;font-stretch:75%;font-size:3.6rem;line-height:.9}
[data-theme=inktrap] nav a{font-stretch:80%}
[data-theme=inktrap] input:not([type=checkbox]):not([type=radio]):not([type=range]),[data-theme=inktrap] select{border-radius:0;background:transparent;border:0;border-bottom:2px solid #f5f5f0}
[data-theme=inktrap] input[type=checkbox]{accent-color:var(--t-acc-1)}

@media(min-width:1101px){[data-theme=inktrap] #app{display:grid;grid-template-columns:92px minmax(0,1fr)}
[data-theme=inktrap] #app>.view-as-banner{grid-column:1/-1}
[data-theme=inktrap] .topbar{grid-column:1;grid-row:1/span 3;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:18px 8px;background:#ffe14d;color:#101010}
[data-theme=inktrap] .topbar>.horizon,[data-theme=inktrap] .topbar::after{display:none}
[data-theme=inktrap] .topbar .brand{flex-direction:column;align-items:center;gap:16px}
[data-theme=inktrap] .topbar .brand .app-mark{width:60px;height:60px}
[data-theme=inktrap] .topbar .brand>span{writing-mode:vertical-rl;transform:rotate(180deg);font-size:2.6rem;letter-spacing:.14em;-webkit-text-fill-color:#101010!important;color:#101010!important}
[data-theme=inktrap] .topbar .brand small{display:none}
[data-theme=inktrap] .topbar .game-logos{flex-direction:column;gap:8px}
[data-theme=inktrap] .topbar .game-logos img{height:36px}
[data-theme=inktrap] .topbar .header-actions{flex-direction:column;gap:10px}
[data-theme=inktrap] .topbar .header-actions a,[data-theme=inktrap] .topbar .player-tag{color:#101010!important;writing-mode:vertical-rl;transform:rotate(180deg)}
[data-theme=inktrap] .shell{grid-column:2}
[data-theme=inktrap] nav{gap:0;border-bottom:3px solid #ffe14d}
[data-theme=inktrap] nav a{padding:20px 18px;font-size:1.05rem;border-bottom:0}
[data-theme=inktrap] nav a.active{background:#ffe14d;color:#101010}

}

/* Moss & Stone — Nature-inspired design */
:root[data-theme=nature]{--t-surf-0:#e6e2d6;--t-surf-1:#f1ede3;--t-surf-2:#ebe6da;--t-surf-3:#ded8c9;--t-line-1:#cfc7b4;--t-line-2:#b5ab93;--t-text-3:#857b65;--t-text-2:#5e5646;--t-text-1:#403a2f;--t-text-0:#23201a;--t-acc-1:#4f6b3f;--t-acc-1-dark:#dde6d2;--t-acc-2:#b4744f;--t-acc-2-deep:#85492b;--t-acc-3:#6f8f8a;--t-acc-3-dark:#d5ded9;--t-acc-3-deep:#3f5a55;--th-font:"Inter","Segoe UI",system-ui,sans-serif;--th-display:Georgia,"Palatino Linotype","DejaVu Serif",serif;--th-header:radial-gradient(120% 220% at 10% 160%,#4f6b3f 0 30%,transparent 31%),radial-gradient(90% 200% at 70% 190%,#6f8f8a 0 34%,transparent 35%),radial-gradient(60% 160% at 95% 170%,#b4744f 0 32%,transparent 33%),linear-gradient(180deg,#f1ede3,#e6e2d6);color-scheme:light}
[data-theme=nature] body{background:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%22220%22 height=%22220%22%3E%3Cfilter id=%22f%22%3E%3CfeTurbulence type=%22turbulence%22 baseFrequency=%22.012 .35%22 numOctaves=%222%22 seed=%224%22/%3E%3CfeColorMatrix values=%220 0 0 0 .3  0 0 0 0 .25  0 0 0 0 .15  0 0 0 .25 0%22/%3E%3C/filter%3E%3Crect width=%22220%22 height=%22220%22 filter=%22url(%23f)%22/%3E%3C/svg%3E") 0 0/220px 220px,#e6e2d6}
[data-theme=nature] .workspace,[data-theme=nature] .chart-card,[data-theme=nature] .stats,[data-theme=nature] dialog,[data-theme=nature] .login-card{border-radius:28px 10px 28px 10px;box-shadow:0 2px 0 #cfc7b4}
[data-theme=nature] button:not(.song-button,.photo-link,.goal-song-open,th button),[data-theme=nature] input,[data-theme=nature] select{border-radius:999px}
[data-theme=nature] .page-heading h1,[data-theme=nature] .page-heading h2{color:#2f3d27;-webkit-text-fill-color:#2f3d27;background:none;font-weight:400;font-style:italic;letter-spacing:-.01em}
[data-theme=nature] .stat-value{color:#2f3d27;text-shadow:none;font-weight:400}
[data-theme=nature] button:not(.song-button,.photo-link,.goal-song-open,th button).primary{background:#4f6b3f;color:#f1ede3;border-color:#4f6b3f}
[data-theme=nature] .app-mark{content:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 120 120%22%3E%3Cpath d=%22M14 98C14 42 50 14 106 14c0 56-34 84-92 84z%22 fill=%22%234f6b3f%22/%3E%3Cpath d=%22M22 90C40 70 54 66 66 54s22-18 34-28%22 fill=%22none%22 stroke=%22%23f1ede3%22 stroke-width=%224%22 stroke-linecap=%22round%22/%3E%3Cpath d=%22M44 72c4-8 4-14 2-20M60 58c6-2 12-2 18 2%22 fill=%22none%22 stroke=%22%23f1ede3%22 stroke-width=%223%22 stroke-linecap=%22round%22/%3E%3Ccircle cx=%2296%22 cy=%2296%22 r=%2212%22 fill=%22%23b4744f%22/%3E%3C/svg%3E");image-rendering:auto}
[data-theme=nature] .brand>span{font-family:Georgia,'Palatino Linotype',serif;font-style:italic;font-weight:400;font-size:2.2rem}
[data-theme=nature] nav a{font-family:Georgia,'Palatino Linotype',serif}
[data-theme=nature] .badge:not(#_){box-shadow:none;padding-left:6px;background-image:none;animation:none}
[data-theme=nature] .badge:not(#_).lamp::before{display:none}
[data-theme=nature] .badge:not(#_).NOV{--difficulty-accent:#23201a;--difficulty-fill:#b9a3d4;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=nature] .badge:not(#_).ADV{--difficulty-accent:#23201a;--difficulty-fill:#e3c26b;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=nature] .badge:not(#_).EXH{--difficulty-accent:#23201a;--difficulty-fill:#d98b7e;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=nature] .badge:not(#_).MXM{--difficulty-accent:#23201a;--difficulty-fill:#d9d3c4;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=nature] .badge:not(#_).GRV{--difficulty-accent:#23201a;--difficulty-fill:#ff9a1f;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=nature] .badge:not(#_).HVN{--difficulty-accent:#23201a;--difficulty-fill:#19d6e0;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=nature] .badge:not(#_).VVD{--difficulty-accent:#23201a;--difficulty-fill:#ff5fb0;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=nature] .badge:not(#_).XCD{--difficulty-accent:#23201a;--difficulty-fill:#3d8bff;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=nature] .badge:not(#_).NBL{--difficulty-accent:#23201a;--difficulty-fill:#7fdc1a;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=nature] .badge:not(#_).ULT{--difficulty-accent:#23201a;--difficulty-fill:#ffd400;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=nature] .badge:not(#_).INF{--difficulty-accent:#23201a;--difficulty-fill:#c4c4c4;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=nature] .badge:not(#_).lamp.no-play{--difficulty-accent:#23201a;--difficulty-fill:#91a3bc;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=nature] .badge:not(#_).lamp.played{--difficulty-accent:#23201a;--difficulty-fill:#ff4a4a;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=nature] .badge:not(#_).lamp.failed{--difficulty-accent:#23201a;--difficulty-fill:#d98b7e;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=nature] .badge:not(#_).lamp.clear{--difficulty-accent:#23201a;--difficulty-fill:#9dbb83;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=nature] .badge:not(#_).lamp.excessive{--difficulty-accent:#23201a;--difficulty-fill:#b9a3d4;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=nature] .badge:not(#_).lamp.mxv{--difficulty-accent:#23201a;--difficulty-fill:#e7e1d3;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=nature] .badge:not(#_).lamp.uc{--difficulty-accent:#23201a;--difficulty-fill:#e6a7b6;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=nature] .badge:not(#_).lamp.puc{--difficulty-accent:#23201a;--difficulty-fill:#e3c26b;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=nature] .grade[data-grade]{background:none;-webkit-text-fill-color:currentColor;text-shadow:none;filter:none!important;animation:none;font-family:var(--th-display);font-style:italic;font-weight:700;font-size:1.02rem}
[data-theme=nature] .grade[data-grade="D"]{color:#a39883}
[data-theme=nature] .grade[data-grade="C"]{color:#968c76}
[data-theme=nature] .grade[data-grade="B"]{color:#8a806a}
[data-theme=nature] .grade[data-grade="A"]{color:#80806e}
[data-theme=nature] .grade[data-grade="A+"]{color:#76887e}
[data-theme=nature] .grade[data-grade="AA"]{color:#6c8c84}
[data-theme=nature] .grade[data-grade="AA+"]{color:#5f7d64}
[data-theme=nature] .grade[data-grade="AAA"]{color:#526e45}
[data-theme=nature] .grade[data-grade="AAA+"]{color:#716e44}
[data-theme=nature] .grade[data-grade="S"]{color:#9b724b}
[data-theme=nature] .grade[data-grade="S+"]{color:#ac6d49}
[data-theme=nature] .grade[data-grade="S++"]{color:#995b3a}
[data-theme=nature] .grade[data-grade="PUC"]{color:#85492b}
[data-theme=nature] .grade[data-grade^="S"]::after,[data-theme=nature] .grade[data-grade="PUC"]::after{content:" \2766";font-style:normal;font-size:.8em;color:#4f6b3f}
[data-theme=nature] .badge:not(#_){border:0;border-radius:52% 48% 46% 54%/58% 52% 48% 42%;background:var(--difficulty-fill);color:#23201a;font-family:var(--th-display);font-style:italic;font-weight:700;box-shadow:inset 0 -3px 0 #0000001a,0 2px 3px #0000001f;padding:0 9px}
[data-theme=nature] .badge:not(#_).lamp{height:1.65rem}
[data-theme=nature] .score-table thead th{background:none;color:#5e5646;font-family:var(--th-display);font-style:italic;font-weight:400;border-bottom:1px solid #b5ab93}
[data-theme=nature] .score-table tbody td{border-bottom:1px solid #ded8c9}
[data-theme=nature] .score-table tbody tr:hover{background:#dde6d2}
[data-theme=nature] td.score-number,[data-theme=nature] .mobile-score{font-family:var(--th-display);color:#23201a!important;font-weight:700}
[data-theme=nature] .song-jacket{border-radius:50% 50% 12px 12px;box-shadow:0 3px 0 #cfc7b4}
[data-theme=nature] .rating-folder-groups button{border-radius:999px;background:#f1ede3;border:1px solid #cfc7b4;font-family:var(--th-display)}
[data-theme=nature] .rating-folder-groups .selected{background:#4f6b3f;color:#f1ede3!important;border-color:#4f6b3f}
[data-theme=nature] .source-chip{border-radius:999px;border-color:#b5ab93;color:#5e5646}
[data-theme=nature] .chart-card,[data-theme=nature] .goal-card,[data-theme=nature] .mobile-card{border-radius:28px 28px 28px 6px;border:1px solid #d5ccb8;background:#f1ede3;box-shadow:0 10px 30px -18px #5e5646}
[data-theme=nature] .goal-card::before{content:"";position:absolute;right:-20px;top:-20px;width:90px;height:90px;border-radius:0 100%;background:#4f6b3f22;transform:rotate(20deg);pointer-events:none}
[data-theme=nature] svg rect[fill="#7ecbe7"]{fill:#4f6b3f}
[data-theme=nature] svg [fill="#78cdeb"]{fill:#4f6b3f}
[data-theme=nature] svg [stroke="#78cdeb"]{stroke:#4f6b3f}
[data-theme=nature] svg [fill="#fa9fbd"]{fill:#b4744f}
[data-theme=nature] svg [stroke="#fa9fbd"]{stroke:#b4744f}
[data-theme=nature] svg [fill="#a899fc"]{fill:#6f8f8a}
[data-theme=nature] svg [stroke="#a899fc"]{stroke:#6f8f8a}
[data-theme=nature] svg [fill="#e5c67d"]{fill:#c49a2c}
[data-theme=nature] svg [stroke="#e5c67d"]{stroke:#c49a2c}
[data-theme=nature] svg [fill="#6baee9"]{fill:#857b65}
[data-theme=nature] svg [stroke="#6baee9"]{stroke:#857b65}
[data-theme=nature] svg [stroke="#362b57"]{stroke:#ded8c9}
[data-theme=nature] svg [stroke="#6c5e95"]{stroke:#b5ab93}

:root[data-theme=nature]{--th-font:"TS Karla","Segoe UI",system-ui,"Hiragino Sans","Yu Gothic UI",sans-serif;--th-display:"TS Fraunces",Georgia,"Yu Mincho","Hiragino Mincho ProN",serif;--th-num:"TS Fraunces",Georgia,"Yu Mincho","Hiragino Mincho ProN",serif;--th-title:"TS Fraunces Italic",Georgia,"Yu Mincho","Hiragino Mincho ProN",serif}
[data-theme=nature] td.score-number,[data-theme=nature] .mobile-score{font-family:var(--th-num)!important}
[data-theme=nature] .song-button,[data-theme=nature] .goal-song-open{font-style:italic;font-weight:500;font-size:1.02rem}
[data-theme=nature] td.score-number,[data-theme=nature] .mobile-score{font-weight:600!important;font-size:1.08rem!important;font-variant-numeric:oldstyle-nums}
[data-theme=nature] td.number{font-weight:400;font-size:.9rem;letter-spacing:0;font-variant-numeric:oldstyle-nums tabular-nums}
[data-theme=nature] .stat-value{font-weight:400;font-size:2.4rem}
[data-theme=nature] .page-heading h1,[data-theme=nature] .page-heading h2{font-weight:400!important;font-size:2.6rem}
[data-theme=nature] input:not([type=checkbox]):not([type=radio]):not([type=range]),[data-theme=nature] select{border-radius:999px;background:#f1ede3;border:1px solid #cfc7b4;padding-inline:14px}
[data-theme=nature] input[type=checkbox]{accent-color:var(--t-acc-1)}

@media(min-width:1101px){[data-theme=nature] .topbar{display:flex;flex-direction:column;align-items:center;height:auto;padding:26px 32px 22px;text-align:center;gap:10px}
[data-theme=nature] .topbar .brand{flex-direction:column;align-items:center;gap:8px}
[data-theme=nature] .topbar .brand .app-mark{width:84px;height:84px}
[data-theme=nature] .topbar .game-logos{position:absolute;left:32px;top:30px}
[data-theme=nature] .topbar .header-actions{position:absolute;right:32px;top:30px}
[data-theme=nature] .shell{max-width:1240px;margin:0 auto}
[data-theme=nature] nav{justify-content:safe center;gap:26px;border-bottom:1px solid #cfc7b4}
[data-theme=nature] nav a{border-bottom-width:2px;font-style:italic;font-size:1rem}
[data-theme=nature] nav a.active{color:#4f6b3f;border-color:#4f6b3f}

}

/* Neo Brutal — Neo-brutalism */
:root[data-theme=brutal]{--t-surf-0:#f3f3ee;--t-surf-1:#ffffff;--t-surf-2:#fafaf7;--t-surf-3:#ececea;--t-line-1:#111111;--t-line-2:#111111;--t-text-3:#4a4a4a;--t-text-2:#2c2c2c;--t-text-1:#1a1a1a;--t-text-0:#000000;--t-acc-1:#2f4dff;--t-acc-1-dark:#dfe4ff;--t-acc-2:#ff3d8b;--t-acc-2-deep:#c4005a;--t-acc-3:#ffd400;--t-acc-3-dark:#fff3a8;--t-acc-3-deep:#7a6400;--th-font:"Inter","Segoe UI",system-ui,sans-serif;--th-display:"Inter Display","Inter","Segoe UI",system-ui,sans-serif;--th-header:linear-gradient(90deg,#ffd400 0 33%,#ff3d8b 33% 66%,#2f4dff 66%);color-scheme:light}
[data-theme=brutal] *{border-radius:0!important}
[data-theme=brutal] .topbar{border-bottom:3px solid #000}
[data-theme=brutal] .workspace,[data-theme=brutal] .chart-card,[data-theme=brutal] .stats,[data-theme=brutal] dialog,[data-theme=brutal] .login-card{border:3px solid #000;box-shadow:7px 7px 0 #000}
[data-theme=brutal] .stats::before{display:none}
[data-theme=brutal] .stat+.stat{border-left:3px solid #000}
[data-theme=brutal] button:not(.song-button,.photo-link,.goal-song-open,th button),[data-theme=brutal] input,[data-theme=brutal] select{border:2px solid #000;box-shadow:3px 3px 0 #000;font-weight:800}
[data-theme=brutal] button:not(.song-button,.photo-link,.goal-song-open,th button):hover{transform:translate(-1px,-1px);box-shadow:4px 4px 0 #000}
[data-theme=brutal] button:not(.song-button,.photo-link,.goal-song-open,th button).primary{background:#ffd400;color:#000}
[data-theme=brutal] .page-heading h1,[data-theme=brutal] .page-heading h2{color:#000;-webkit-text-fill-color:#000;background:none;font-weight:900;font-size:3rem;letter-spacing:-.05em;text-transform:uppercase}
[data-theme=brutal] .stat-value{color:#000;text-shadow:none;font-weight:900}
[data-theme=brutal] .stat:nth-child(2){background:#dfe4ff}[data-theme=brutal] .stat:nth-child(3){background:#ffd6e7}
[data-theme=brutal] th{background:#000;color:#fff}
[data-theme=brutal] .app-mark{content:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 120 120%22%3E%3Crect x=%2216%22 y=%2216%22 width=%2296%22 height=%2296%22 fill=%22%23000%22/%3E%3Crect x=%226%22 y=%226%22 width=%2296%22 height=%2296%22 fill=%22%23ffd400%22 stroke=%22%23000%22 stroke-width=%226%22/%3E%3Cpath d=%22M18 70c14-18 26-20 36-10s20 10 34-8%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%2212%22 stroke-linecap=%22square%22/%3E%3Crect x=%2266%22 y=%2222%22 width=%2222%22 height=%2222%22 fill=%22%23ff3d8b%22 stroke=%22%23000%22 stroke-width=%225%22/%3E%3C/svg%3E");image-rendering:auto}
[data-theme=brutal] .brand>span{text-transform:uppercase;font-weight:900;letter-spacing:-.04em}
[data-theme=brutal] nav a{font-weight:900;text-transform:uppercase}
[data-theme=brutal] .badge:not(#_){box-shadow:none;padding-left:6px;background-image:none;animation:none}
[data-theme=brutal] .badge:not(#_).lamp::before{display:none}
[data-theme=brutal] .badge:not(#_).NOV{--difficulty-accent:#000000;--difficulty-fill:#a65cff;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=brutal] .badge:not(#_).ADV{--difficulty-accent:#000000;--difficulty-fill:#f2c200;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=brutal] .badge:not(#_).EXH{--difficulty-accent:#000000;--difficulty-fill:#ff4a4a;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=brutal] .badge:not(#_).MXM{--difficulty-accent:#000000;--difficulty-fill:#ffffff;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=brutal] .badge:not(#_).GRV{--difficulty-accent:#000000;--difficulty-fill:#ff9a1f;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=brutal] .badge:not(#_).HVN{--difficulty-accent:#000000;--difficulty-fill:#19d6e0;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=brutal] .badge:not(#_).VVD{--difficulty-accent:#000000;--difficulty-fill:#ff5fb0;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=brutal] .badge:not(#_).XCD{--difficulty-accent:#000000;--difficulty-fill:#3d8bff;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=brutal] .badge:not(#_).NBL{--difficulty-accent:#000000;--difficulty-fill:#7fdc1a;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=brutal] .badge:not(#_).ULT{--difficulty-accent:#000000;--difficulty-fill:#ffd400;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=brutal] .badge:not(#_).INF{--difficulty-accent:#000000;--difficulty-fill:#c4c4c4;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=brutal] .badge:not(#_).lamp.no-play{--difficulty-accent:#000000;--difficulty-fill:#91a3bc;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=brutal] .badge:not(#_).lamp.played{--difficulty-accent:#000000;--difficulty-fill:#ff4a4a;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=brutal] .badge:not(#_).lamp.failed{--difficulty-accent:#000000;--difficulty-fill:#ff4a4a;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=brutal] .badge:not(#_).lamp.clear{--difficulty-accent:#000000;--difficulty-fill:#3ddc84;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=brutal] .badge:not(#_).lamp.excessive{--difficulty-accent:#000000;--difficulty-fill:#b47cff;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=brutal] .badge:not(#_).lamp.mxv{--difficulty-accent:#000000;--difficulty-fill:#ffffff;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=brutal] .badge:not(#_).lamp.uc{--difficulty-accent:#000000;--difficulty-fill:#ff5fb0;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=brutal] .badge:not(#_).lamp.puc{--difficulty-accent:#000000;--difficulty-fill:#ffd400;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=brutal] .grade[data-grade]{background:none;-webkit-text-fill-color:currentColor;text-shadow:none;filter:none!important;animation:none;display:inline-grid;place-items:center;min-width:2.9em;padding:1px 6px;border:2px solid #000;background:#000;box-shadow:2px 2px 0 #000;font-weight:900;font-family:var(--th-display)}
[data-theme=brutal] .grade[data-grade="D"]{color:#ffffff}
[data-theme=brutal] .grade[data-grade="C"]{color:#ffffff}
[data-theme=brutal] .grade[data-grade="B"]{color:#ffffff}
[data-theme=brutal] .grade[data-grade="A"]{color:#ffffff}
[data-theme=brutal] .grade[data-grade="A+"]{color:#ffffff}
[data-theme=brutal] .grade[data-grade="AA"]{color:#ffffff}
[data-theme=brutal] .grade[data-grade="AA+"]{color:#ffffff}
[data-theme=brutal] .grade[data-grade="AAA"]{color:#ffffff}
[data-theme=brutal] .grade[data-grade="AAA+"]{color:#ffffff}
[data-theme=brutal] .grade[data-grade="S"]{color:#ffffff}
[data-theme=brutal] .grade[data-grade="S+"]{color:#ffffff}
[data-theme=brutal] .grade[data-grade="S++"]{color:#ffffff}
[data-theme=brutal] .grade[data-grade="PUC"]{color:#ffffff}
[data-theme=brutal] .grade[data-grade="A"],[data-theme=brutal] .grade[data-grade="A+"]{background:#3ddc84;color:#000}
[data-theme=brutal] .grade[data-grade^="AA"]{background:#2f4dff}
[data-theme=brutal] .grade[data-grade^="AAA"]{background:#b388ff;color:#000}
[data-theme=brutal] .grade[data-grade="S"],[data-theme=brutal] .grade[data-grade="S+"]{background:#ffd400;color:#000}
[data-theme=brutal] .grade[data-grade="S++"],[data-theme=brutal] .grade[data-grade="PUC"]{background:#ff3d8b;color:#000;transform:rotate(-4deg)}
[data-theme=brutal] .badge:not(#_){border:2px solid #000;border-radius:0;background:var(--difficulty-fill);color:#000;font-weight:900;box-shadow:3px 3px 0 #000;text-transform:uppercase}
[data-theme=brutal] .badge:not(#_).lamp{height:1.7rem;width:4.4rem}
[data-theme=brutal] .score-table{border:2px solid #000}
[data-theme=brutal] .score-table thead th{background:#000;color:#fff;text-transform:uppercase;font-weight:900;border:0}
[data-theme=brutal] .score-table tbody td{border-bottom:2px solid #000;border-right:1px solid #0002}
[data-theme=brutal] .score-table tbody tr:nth-child(even){background:#fff9cc}
[data-theme=brutal] .score-table tbody tr:hover{background:#ffd400}
[data-theme=brutal] td.score-number,[data-theme=brutal] .mobile-score{font-weight:900;color:#000!important;font-size:1.05rem}
[data-theme=brutal] .song-jacket{border:2px solid #000;border-radius:0;box-shadow:3px 3px 0 #000}
[data-theme=brutal] .rating-folder-groups button{border:2px solid #000;border-radius:0;background:#fff;box-shadow:3px 3px 0 #000;font-weight:900}
[data-theme=brutal] .rating-folder-groups .selected{background:#ff3d8b;color:#000!important;transform:translate(2px,2px);box-shadow:1px 1px 0 #000}
[data-theme=brutal] .source-chip{border:2px solid #000;border-radius:0;color:#000;font-weight:800}
[data-theme=brutal] .chart-card,[data-theme=brutal] .goal-card,[data-theme=brutal] .mobile-card{border:2px solid #000;border-radius:0;box-shadow:6px 6px 0 #000;background:#fff}
[data-theme=brutal] .goal-card:nth-child(4n+1){background:#dfe4ff}
[data-theme=brutal] .goal-card:nth-child(4n+2){background:#ffe0ee}
[data-theme=brutal] .goal-card:nth-child(4n+3){background:#fff3a8}
[data-theme=brutal] .goal-card:nth-child(4n){background:#d6f7e4}
[data-theme=brutal] svg rect[fill="#7ecbe7"]{fill:#2f4dff}
[data-theme=brutal] svg [fill="#78cdeb"]{fill:#2f4dff}
[data-theme=brutal] svg [stroke="#78cdeb"]{stroke:#2f4dff}
[data-theme=brutal] svg [fill="#fa9fbd"]{fill:#ff3d8b}
[data-theme=brutal] svg [stroke="#fa9fbd"]{stroke:#ff3d8b}
[data-theme=brutal] svg [fill="#a899fc"]{fill:#ffd400}
[data-theme=brutal] svg [stroke="#a899fc"]{stroke:#ffd400}
[data-theme=brutal] svg [fill="#e5c67d"]{fill:#000000}
[data-theme=brutal] svg [stroke="#e5c67d"]{stroke:#000000}
[data-theme=brutal] svg [fill="#6baee9"]{fill:#3ddc84}
[data-theme=brutal] svg [stroke="#6baee9"]{stroke:#3ddc84}
[data-theme=brutal] svg [stroke="#362b57"]{stroke:#e5e5e0}
[data-theme=brutal] svg [stroke="#6c5e95"]{stroke:#111111}

:root[data-theme=brutal]{--th-font:"TS Space Grotesk","Segoe UI",system-ui,"Hiragino Sans","Yu Gothic UI",sans-serif;--th-display:"TS Archivo Black","Segoe UI",system-ui,"Hiragino Sans","Yu Gothic UI",sans-serif;--th-num:"TS Archivo Black","Segoe UI",system-ui,"Hiragino Sans","Yu Gothic UI",sans-serif;--th-title:"TS Space Grotesk","Segoe UI",system-ui,"Hiragino Sans","Yu Gothic UI",sans-serif}
[data-theme=brutal] td.score-number,[data-theme=brutal] .mobile-score{font-family:var(--th-num)!important}
[data-theme=brutal] .song-button,[data-theme=brutal] .goal-song-open{font-weight:700;text-transform:uppercase;letter-spacing:.01em}
[data-theme=brutal] td.score-number,[data-theme=brutal] .mobile-score{font-size:1.05rem!important;letter-spacing:0}
[data-theme=brutal] td.number{font-family:"TS Space Grotesk",monospace;font-weight:700;letter-spacing:0}
[data-theme=brutal] .stat-value{font-size:2.6rem;letter-spacing:-.03em}
[data-theme=brutal] input:not([type=checkbox]):not([type=radio]):not([type=range]),[data-theme=brutal] select{border-radius:0;background:#fff;border:2px solid #000;box-shadow:3px 3px 0 #000}
[data-theme=brutal] input[type=checkbox]{accent-color:var(--t-acc-1)}

@media(min-width:1101px){[data-theme=brutal] .topbar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:auto auto;height:auto;padding:0;gap:0;border-bottom:4px solid #000}
[data-theme=brutal] .topbar>.horizon{display:none}
[data-theme=brutal] .topbar::after{display:none}
[data-theme=brutal] .topbar .brand{grid-column:1/-1;grid-row:1;background:#ffd400;padding:12px 28px;border-bottom:4px solid #000;gap:22px}
[data-theme=brutal] .topbar .brand .app-mark{width:110px;height:110px}
[data-theme=brutal] .topbar .brand>span{font-size:6.6rem;line-height:.82}
[data-theme=brutal] .topbar .brand small{font-size:1.1rem;text-transform:uppercase;font-style:normal;font-weight:900;letter-spacing:.04em;-webkit-text-fill-color:#000!important}
[data-theme=brutal] .topbar .game-logos{grid-column:1/3;grid-row:2;justify-content:flex-start;padding:10px 28px;background:#fff}
[data-theme=brutal] .topbar .header-actions{grid-column:3;grid-row:2;padding:10px 28px;background:#ff3d8b;border-left:4px solid #000}
[data-theme=brutal] .topbar .header-actions a,[data-theme=brutal] .topbar .player-tag{color:#000!important;font-weight:800}
[data-theme=brutal] nav{gap:10px;border-bottom:0;padding:16px 0 4px}
[data-theme=brutal] nav a{border:3px solid #000;padding:10px 14px;background:#fff;color:#000;box-shadow:4px 4px 0 #000}
[data-theme=brutal] nav a.active{background:#2f4dff;color:#fff;border-color:#000}

}

/* Wayfinder — Utilitarian design */
:root[data-theme=utility]{--t-surf-0:#18191b;--t-surf-1:#1f2023;--t-surf-2:#26282b;--t-surf-3:#2f3135;--t-line-1:#3d4045;--t-line-2:#565a60;--t-text-3:#7c8188;--t-text-2:#aeb3ba;--t-text-1:#d9dce0;--t-text-0:#ffffff;--t-acc-1:#ffcc00;--t-acc-1-dark:#3b3000;--t-acc-2:#39b8ff;--t-acc-2-deep:#105a85;--t-acc-3:#ffffff;--t-acc-3-dark:#202124;--t-acc-3-deep:#34363a;--th-font:"Inter","Segoe UI",system-ui,sans-serif;--th-display:Bahnschrift,"Arial Narrow","DejaVu Sans Condensed",sans-serif;--th-header:linear-gradient(90deg,#ffcc00 0 10px,transparent 10px),repeating-linear-gradient(90deg,#2f3135 0 1px,transparent 1px 48px),#1f2023;color-scheme:dark}
[data-theme=utility] *{border-radius:2px!important}
[data-theme=utility] .page-heading h1,[data-theme=utility] .page-heading h2{color:#fff;-webkit-text-fill-color:#fff;background:none;font-weight:700;letter-spacing:.01em}
[data-theme=utility] .eyebrow{display:inline-block;background:#ffcc00;color:#18191b;padding:2px 8px;letter-spacing:.12em}
[data-theme=utility] .stat-label{text-transform:uppercase;letter-spacing:.1em;font-family:Bahnschrift,"Arial Narrow","DejaVu Sans Condensed",sans-serif;color:#ffcc00}
[data-theme=utility] .stat-value{color:#fff;text-shadow:none;font-family:Bahnschrift,"Arial Narrow","DejaVu Sans Condensed",sans-serif;font-weight:700}
[data-theme=utility] .stats::before{background:#ffcc00;height:4px}
[data-theme=utility] nav a.active{border-image:none;border-color:#ffcc00;color:#fff}
[data-theme=utility] th{text-transform:uppercase;letter-spacing:.08em;font-family:Bahnschrift,"Arial Narrow","DejaVu Sans Condensed",sans-serif;color:#d9dce0;border-bottom:2px solid #ffcc00}
[data-theme=utility] button:not(.song-button,.photo-link,.goal-song-open,th button).primary{background:#ffcc00;color:#18191b;border-color:#ffcc00}
[data-theme=utility] .app-mark{content:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 120 120%22%3E%3Crect x=%226%22 y=%226%22 width=%22108%22 height=%22108%22 rx=%2214%22 fill=%22%23ffcc00%22/%3E%3Crect x=%2214%22 y=%2214%22 width=%2292%22 height=%2292%22 rx=%228%22 fill=%22none%22 stroke=%22%2318191b%22 stroke-width=%224%22/%3E%3Cg fill=%22none%22 stroke=%22%2318191b%22 stroke-width=%227%22 stroke-linecap=%22round%22%3E%3Cpath d=%22M26 52c8-8 14-8 22 0s14 8 22 0 14-8 22 0%22/%3E%3Cpath d=%22M26 72c8-8 14-8 22 0s14 8 22 0 14-8 22 0%22/%3E%3C/g%3E%3Cpath d=%22M78 90h16l-6-6M94 90l-6 6%22 fill=%22none%22 stroke=%22%2318191b%22 stroke-width=%225%22 stroke-linecap=%22round%22/%3E%3C/svg%3E");image-rendering:auto}
[data-theme=utility] .brand>span{font-family:Bahnschrift,'Arial Narrow',sans-serif;text-transform:uppercase;letter-spacing:.08em;font-weight:700}
[data-theme=utility] nav a{font-family:Bahnschrift,'Arial Narrow',sans-serif;text-transform:uppercase;letter-spacing:.06em;font-weight:700}
[data-theme=utility] .badge:not(#_){box-shadow:none;padding-left:6px;background-image:none;animation:none}
[data-theme=utility] .badge:not(#_).lamp::before{display:none}
[data-theme=utility] .badge:not(#_).NOV{--difficulty-accent:#ffffff;--difficulty-fill:#6f2da8;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=utility] .badge:not(#_).ADV{--difficulty-accent:#ffffff;--difficulty-fill:#f2c200;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=utility] .badge:not(#_).EXH{--difficulty-accent:#ffffff;--difficulty-fill:#d7262e;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=utility] .badge:not(#_).MXM{--difficulty-accent:#ffffff;--difficulty-fill:#d4d8e0;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=utility] .badge:not(#_).GRV{--difficulty-accent:#ffffff;--difficulty-fill:#ff9a1f;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=utility] .badge:not(#_).HVN{--difficulty-accent:#ffffff;--difficulty-fill:#19d6e0;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=utility] .badge:not(#_).VVD{--difficulty-accent:#ffffff;--difficulty-fill:#ff5fb0;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=utility] .badge:not(#_).XCD{--difficulty-accent:#ffffff;--difficulty-fill:#005eb8;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=utility] .badge:not(#_).NBL{--difficulty-accent:#ffffff;--difficulty-fill:#7fdc1a;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=utility] .badge:not(#_).ULT{--difficulty-accent:#ffffff;--difficulty-fill:#ffd400;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=utility] .badge:not(#_).INF{--difficulty-accent:#ffffff;--difficulty-fill:#c4c4c4;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=utility] .badge:not(#_).lamp.no-play{--difficulty-accent:#ffffff;--difficulty-fill:#91a3bc;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=utility] .badge:not(#_).lamp.played{--difficulty-accent:#ffffff;--difficulty-fill:#ff4a4a;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=utility] .badge:not(#_).lamp.failed{--difficulty-accent:#ffffff;--difficulty-fill:#d7262e;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=utility] .badge:not(#_).lamp.clear{--difficulty-accent:#ffffff;--difficulty-fill:#00843d;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=utility] .badge:not(#_).lamp.excessive{--difficulty-accent:#ffffff;--difficulty-fill:#6f2da8;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=utility] .badge:not(#_).lamp.mxv{--difficulty-accent:#ffffff;--difficulty-fill:#e6eaf0;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=utility] .badge:not(#_).lamp.uc{--difficulty-accent:#ffffff;--difficulty-fill:#d6337f;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=utility] .badge:not(#_).lamp.puc{--difficulty-accent:#ffffff;--difficulty-fill:#ffd400;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=utility] .grade[data-grade]{background:none;-webkit-text-fill-color:currentColor;text-shadow:none;filter:none!important;animation:none;display:inline-grid;place-items:center;min-width:3em;padding:1px 6px;border-radius:5px;background:#3d4045;box-shadow:inset 0 0 0 1.5px #ffffffcc;font-family:var(--th-display);font-weight:700;letter-spacing:.04em}
[data-theme=utility] .grade[data-grade="D"]{color:#ffffff}
[data-theme=utility] .grade[data-grade="C"]{color:#ffffff}
[data-theme=utility] .grade[data-grade="B"]{color:#ffffff}
[data-theme=utility] .grade[data-grade="A"]{color:#ffffff}
[data-theme=utility] .grade[data-grade="A+"]{color:#ffffff}
[data-theme=utility] .grade[data-grade="AA"]{color:#ffffff}
[data-theme=utility] .grade[data-grade="AA+"]{color:#ffffff}
[data-theme=utility] .grade[data-grade="AAA"]{color:#ffffff}
[data-theme=utility] .grade[data-grade="AAA+"]{color:#ffffff}
[data-theme=utility] .grade[data-grade="S"]{color:#ffffff}
[data-theme=utility] .grade[data-grade="S+"]{color:#ffffff}
[data-theme=utility] .grade[data-grade="S++"]{color:#ffffff}
[data-theme=utility] .grade[data-grade="PUC"]{color:#ffffff}
[data-theme=utility] .grade[data-grade^="A"]{background:#005eb8}
[data-theme=utility] .grade[data-grade^="AAA"]{background:#00843d}
[data-theme=utility] .grade[data-grade^="S"],[data-theme=utility] .grade[data-grade="PUC"]{background:#ffcc00;color:#18191b;box-shadow:inset 0 0 0 1.5px #18191b}
[data-theme=utility] .badge:not(#_){border:0;border-radius:5px;background:var(--difficulty-fill);color:#fff;box-shadow:inset 0 0 0 1.5px #ffffffd0;font-family:var(--th-display);font-weight:700;letter-spacing:.05em;padding:0 7px}
[data-theme=utility] .badge:not(#_).ADV,[data-theme=utility] .badge:not(#_).ULT,[data-theme=utility] .badge:not(#_).MXM,[data-theme=utility] .badge:not(#_).INF,[data-theme=utility] .badge:not(#_).NBL,[data-theme=utility] .badge:not(#_).HVN,[data-theme=utility] .badge:not(#_).GRV,[data-theme=utility] .badge:not(#_).lamp.mxv,[data-theme=utility] .badge:not(#_).lamp.puc{color:#18191b;box-shadow:inset 0 0 0 1.5px #18191b}
[data-theme=utility] .badge:not(#_).lamp{width:4.6rem;justify-content:flex-start;padding-left:6px}
[data-theme=utility] .badge:not(#_).lamp::after{content:"\2192";margin-left:auto;padding-right:2px}
[data-theme=utility] .score-table thead th{background:#ffcc00;color:#18191b;font-family:var(--th-display);text-transform:uppercase;letter-spacing:.06em;border:0}
[data-theme=utility] .score-table tbody td{border-bottom:1px solid #2f3135}
[data-theme=utility] .score-table tbody tr:hover{background:#2f3135;box-shadow:inset 5px 0 #ffcc00}
[data-theme=utility] td.rating{font-family:var(--th-display);font-size:1.1rem}
[data-theme=utility] td.score-number,[data-theme=utility] .mobile-score{font-family:var(--th-display);color:#ffcc00!important;letter-spacing:.06em;font-size:1.05rem}
[data-theme=utility] .song-jacket{border-radius:4px;box-shadow:0 0 0 2px #ffffff}
[data-theme=utility] .rating-folder-groups button{border-radius:5px;background:#2f3135;border:0;box-shadow:inset 0 0 0 1.5px #fff8;font-family:var(--th-display)}
[data-theme=utility] .rating-folder-groups .selected{background:#ffcc00;color:#18191b!important;box-shadow:inset 0 0 0 1.5px #18191b}
[data-theme=utility] .source-chip{border-radius:3px;background:#39b8ff;color:#0b2233;border:0;font-weight:700}
[data-theme=utility] .chart-card,[data-theme=utility] .goal-card,[data-theme=utility] .mobile-card{border-radius:10px;border:0;background:#26282b;box-shadow:inset 0 0 0 3px #3d4045,inset 0 0 0 4px #ffffff22}
[data-theme=utility] .goal-card{border-top:14px solid #00843d}
[data-theme=utility] svg rect[fill="#7ecbe7"]{fill:#ffcc00}
[data-theme=utility] svg [fill="#78cdeb"]{fill:#ffcc00}
[data-theme=utility] svg [stroke="#78cdeb"]{stroke:#ffcc00}
[data-theme=utility] svg [fill="#fa9fbd"]{fill:#39b8ff}
[data-theme=utility] svg [stroke="#fa9fbd"]{stroke:#39b8ff}
[data-theme=utility] svg [fill="#a899fc"]{fill:#00b35a}
[data-theme=utility] svg [stroke="#a899fc"]{stroke:#00b35a}
[data-theme=utility] svg [fill="#e5c67d"]{fill:#ff6a3d}
[data-theme=utility] svg [stroke="#e5c67d"]{stroke:#ff6a3d}
[data-theme=utility] svg [fill="#6baee9"]{fill:#ffffff}
[data-theme=utility] svg [stroke="#6baee9"]{stroke:#ffffff}
[data-theme=utility] svg [stroke="#362b57"]{stroke:#2f3135}
[data-theme=utility] svg [stroke="#6c5e95"]{stroke:#565a60}

:root[data-theme=utility]{--th-font:"TS Overpass","Segoe UI",system-ui,"Hiragino Sans","Yu Gothic UI",sans-serif;--th-display:"TS Overpass","Segoe UI",system-ui,"Hiragino Sans","Yu Gothic UI",sans-serif;--th-num:"TS Overpass Mono",Consolas,"Cascadia Mono","MS Gothic",monospace;--th-title:"TS Overpass","Segoe UI",system-ui,"Hiragino Sans","Yu Gothic UI",sans-serif}
[data-theme=utility] td.score-number,[data-theme=utility] .mobile-score{font-family:var(--th-num)!important}
[data-theme=utility] .song-button,[data-theme=utility] .goal-song-open{font-weight:700;letter-spacing:.01em}
[data-theme=utility] td.score-number,[data-theme=utility] .mobile-score{font-weight:700!important;font-size:1.02rem!important;letter-spacing:.02em}
[data-theme=utility] td.number{font-weight:500;letter-spacing:0}
[data-theme=utility] .stat-value{font-family:"TS Overpass",sans-serif;font-weight:900;font-size:2.5rem}
[data-theme=utility] .page-heading h1,[data-theme=utility] .page-heading h2{font-weight:900!important;text-transform:uppercase;letter-spacing:.01em}
[data-theme=utility] nav a{font-weight:800;text-transform:uppercase;letter-spacing:.04em}
[data-theme=utility] input:not([type=checkbox]):not([type=radio]):not([type=range]),[data-theme=utility] select{border-radius:4px;background:#2f3135;border:2px solid #565a60}
[data-theme=utility] input[type=checkbox]{accent-color:var(--t-acc-1)}

@media(min-width:1101px){[data-theme=utility] #app{display:grid;grid-template-columns:250px minmax(0,1fr);grid-template-rows:auto 1fr;min-height:100vh}
[data-theme=utility] #app>.view-as-banner{grid-column:1/-1}
[data-theme=utility] .topbar{grid-column:1;grid-row:1;display:flex;flex-direction:column;align-items:flex-start;gap:18px;height:auto;padding:28px 22px 18px;position:relative}
[data-theme=utility] .shell{display:contents}
[data-theme=utility] nav{grid-column:1;grid-row:2;align-self:start;position:sticky;top:0;flex-direction:column;align-items:stretch;gap:2px;overflow:visible;white-space:normal;border-bottom:0;padding:6px 14px 24px;margin:0}
[data-theme=utility] nav a{padding:10px 12px;border-bottom:0;border-radius:8px}
[data-theme=utility] main{grid-column:2;grid-row:1/span 2;padding:8px 36px 32px;min-width:0}
[data-theme=utility] .topbar .game-logos{order:3;flex-direction:column;align-items:flex-start;gap:6px}
[data-theme=utility] .topbar .header-actions{order:4;flex-direction:column;align-items:flex-start;gap:10px}
[data-theme=utility] .topbar .brand{order:1;flex-direction:column;align-items:flex-start;gap:12px}
[data-theme=utility] .topbar{background:#18191b;border-right:6px solid #ffcc00}
[data-theme=utility] .topbar>.horizon{display:none}
[data-theme=utility] .topbar::after{display:none}
[data-theme=utility] .topbar .brand .app-mark{width:84px;height:84px}
[data-theme=utility] .topbar .brand>span::before{content:"T-01  ";color:#ffcc00;font-size:.7em}
[data-theme=utility] nav{background:#18191b;border-right:6px solid #ffcc00;min-height:100%;gap:6px}
[data-theme=utility] nav a{background:#ffcc00;color:#18191b;padding:12px 14px;border-radius:3px;display:flex;justify-content:space-between}
[data-theme=utility] nav a::after{content:"\2192"}
[data-theme=utility] nav a.active{background:#ffffff;color:#18191b;box-shadow:inset 6px 0 0 #39b8ff}

}

/* 8-Bit — Pixel art revival */
:root[data-theme=pixel]{--t-surf-0:#0a0f2c;--t-surf-1:#10173d;--t-surf-2:#152050;--t-surf-3:#1d2a66;--t-line-1:#2c3c86;--t-line-2:#3f55b0;--t-text-3:#6d80d6;--t-text-2:#a7b4ef;--t-text-1:#d6ddff;--t-text-0:#ffffff;--t-acc-1:#4df3ff;--t-acc-1-dark:#0a3c48;--t-acc-2:#ff5bd1;--t-acc-2-deep:#a1238a;--t-acc-3:#ffe066;--t-acc-3-dark:#1a1450;--t-acc-3-deep:#3a2b8a;--th-font:Consolas,"Cascadia Mono","DejaVu Sans Mono",monospace;--th-display:Consolas,"Cascadia Mono","DejaVu Sans Mono",monospace;--th-header:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%22120%22 height=%2280%22 shape-rendering=%22crispEdges%22%3E%3Cg fill=%22%23fff%22%3E%3Crect x=%228%22 y=%2210%22 width=%222%22 height=%222%22/%3E%3Crect x=%2260%22 y=%2230%22 width=%222%22 height=%222%22/%3E%3Crect x=%22100%22 y=%228%22 width=%222%22 height=%222%22 fill=%22%23ff5bd1%22/%3E%3Crect x=%2234%22 y=%2258%22 width=%222%22 height=%222%22 fill=%22%234df3ff%22/%3E%3Crect x=%2288%22 y=%2262%22 width=%222%22 height=%222%22/%3E%3Crect x=%2218%22 y=%2236%22 width=%221%22 height=%221%22/%3E%3Crect x=%2274%22 y=%2250%22 width=%221%22 height=%221%22/%3E%3C/g%3E%3C/svg%3E") 0 0/120px 80px,linear-gradient(180deg,#0a0f2c,#152050);color-scheme:dark}
[data-theme=pixel] *{border-radius:0!important}
[data-theme=pixel] .song-jacket,[data-theme=pixel] .app-mark{image-rendering:pixelated}
[data-theme=pixel] .workspace,[data-theme=pixel] .chart-card,[data-theme=pixel] .stats,[data-theme=pixel] dialog,[data-theme=pixel] .login-card{border:0;box-shadow:0 -4px 0 #4df3ff,0 4px 0 #4df3ff,-4px 0 0 #4df3ff,4px 0 0 #4df3ff,8px 8px 0 4px #000}
[data-theme=pixel] .stats::before{display:none}
[data-theme=pixel] button:not(.song-button,.photo-link,.goal-song-open,th button){box-shadow:0 -2px 0 #6d80d6,0 2px 0 #000,-2px 0 0 #6d80d6,2px 0 0 #000;border:0}
[data-theme=pixel] button:not(.song-button,.photo-link,.goal-song-open,th button).primary{background:#ff5bd1;color:#0a0f2c;box-shadow:0 -2px 0 #ffb3ec,0 3px 0 #a1238a,-2px 0 0 #ffb3ec,3px 0 0 #a1238a}
[data-theme=pixel] .page-heading h1,[data-theme=pixel] .page-heading h2{color:#ffe066;-webkit-text-fill-color:#ffe066;background:none;text-transform:uppercase;letter-spacing:.06em;text-shadow:3px 3px 0 #a1238a,6px 6px 0 #0a0f2c}
[data-theme=pixel] .stat-value{text-shadow:3px 3px 0 #0a0f2c}
[data-theme=pixel] body{background:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%22120%22 height=%2280%22 shape-rendering=%22crispEdges%22%3E%3Cg fill=%22%23fff%22%3E%3Crect x=%228%22 y=%2210%22 width=%222%22 height=%222%22/%3E%3Crect x=%2260%22 y=%2230%22 width=%222%22 height=%222%22/%3E%3Crect x=%22100%22 y=%228%22 width=%222%22 height=%222%22 fill=%22%23ff5bd1%22/%3E%3Crect x=%2234%22 y=%2258%22 width=%222%22 height=%222%22 fill=%22%234df3ff%22/%3E%3Crect x=%2288%22 y=%2262%22 width=%222%22 height=%222%22/%3E%3Crect x=%2218%22 y=%2236%22 width=%221%22 height=%221%22/%3E%3Crect x=%2274%22 y=%2250%22 width=%221%22 height=%221%22/%3E%3C/g%3E%3C/svg%3E") 0 0/120px 80px,#0a0f2c}
[data-theme=pixel] .app-mark{content:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 12 12%22 shape-rendering=%22crispEdges%22%3E%3Crect width=%2212%22 height=%2212%22 fill=%22%230a0f2c%22/%3E%3Cg fill=%22%234df3ff%22%3E%3Crect x=%221%22 y=%227%22 width=%222%22 height=%221%22/%3E%3Crect x=%223%22 y=%226%22 width=%222%22 height=%221%22/%3E%3Crect x=%225%22 y=%225%22 width=%222%22 height=%221%22/%3E%3Crect x=%227%22 y=%224%22 width=%222%22 height=%221%22/%3E%3Crect x=%229%22 y=%223%22 width=%221%22 height=%221%22/%3E%3Crect x=%229%22 y=%225%22 width=%221%22 height=%221%22/%3E%3Crect x=%228%22 y=%226%22 width=%221%22 height=%221%22/%3E%3C/g%3E%3Cg fill=%22%23ff5bd1%22%3E%3Crect x=%220%22 y=%228%22 width=%2212%22 height=%221%22/%3E%3C/g%3E%3Cg fill=%22%232c3c86%22%3E%3Crect x=%220%22 y=%229%22 width=%2212%22 height=%223%22/%3E%3C/g%3E%3Crect x=%222%22 y=%222%22 width=%221%22 height=%221%22 fill=%22%23ffe066%22/%3E%3C/svg%3E");image-rendering:pixelated}
[data-theme=pixel] .brand>span{font-family:Consolas,monospace;text-transform:uppercase;letter-spacing:.12em;text-shadow:3px 3px 0 #a1238a}
[data-theme=pixel] .brand>span::before{content:'1UP ';color:#ff5bd1;-webkit-text-fill-color:#ff5bd1}
[data-theme=pixel] nav a{font-family:Consolas,monospace;text-transform:uppercase}
[data-theme=pixel] .badge:not(#_){box-shadow:none;padding-left:6px;background-image:none;animation:none}
[data-theme=pixel] .badge:not(#_).lamp::before{display:none}
[data-theme=pixel] .badge:not(#_).NOV{--difficulty-accent:#a65cff;--difficulty-fill:#2c205a;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=pixel] .badge:not(#_).ADV{--difficulty-accent:#f2c200;--difficulty-fill:#3d3622;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=pixel] .badge:not(#_).EXH{--difficulty-accent:#ff4a4a;--difficulty-fill:#401c33;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=pixel] .badge:not(#_).MXM{--difficulty-accent:#d4d8e0;--difficulty-fill:#363b54;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=pixel] .badge:not(#_).GRV{--difficulty-accent:#ff9a1f;--difficulty-fill:#402e29;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=pixel] .badge:not(#_).HVN{--difficulty-accent:#19d6e0;--difficulty-fill:#0d3b54;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=pixel] .badge:not(#_).VVD{--difficulty-accent:#ff5fb0;--difficulty-fill:#402149;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=pixel] .badge:not(#_).XCD{--difficulty-accent:#3d8bff;--difficulty-fill:#152a5a;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=pixel] .badge:not(#_).NBL{--difficulty-accent:#7fdc1a;--difficulty-fill:#243c28;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=pixel] .badge:not(#_).ULT{--difficulty-accent:#ffd400;--difficulty-fill:#403a22;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=pixel] .badge:not(#_).INF{--difficulty-accent:#c4c4c4;--difficulty-fill:#33374d;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=pixel] .badge:not(#_).lamp.no-play{--difficulty-accent:#91a3bc;--difficulty-fill:#28304c;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=pixel] .badge:not(#_).lamp.played{--difficulty-accent:#ff4a4a;--difficulty-fill:#401c33;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=pixel] .badge:not(#_).lamp.failed{--difficulty-accent:#ff4a4a;--difficulty-fill:#401c33;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=pixel] .badge:not(#_).lamp.clear{--difficulty-accent:#3ddc84;--difficulty-fill:#153c3f;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=pixel] .badge:not(#_).lamp.excessive{--difficulty-accent:#b47cff;--difficulty-fill:#2f275a;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=pixel] .badge:not(#_).lamp.mxv{--difficulty-accent:#e6eaf0;--difficulty-fill:#3a3f57;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=pixel] .badge:not(#_).lamp.uc{--difficulty-accent:#ff5fb0;--difficulty-fill:#402149;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=pixel] .badge:not(#_).lamp.puc{--difficulty-accent:#ffd400;--difficulty-fill:#403a22;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=pixel] .grade[data-grade]{background:none;-webkit-text-fill-color:currentColor;text-shadow:none;filter:none!important;animation:none;font-family:var(--th-display);font-weight:700;text-shadow:2px 2px 0 #000;letter-spacing:.05em}
[data-theme=pixel] .grade[data-grade="D"]{color:#3f55b0}
[data-theme=pixel] .grade[data-grade="C"]{color:#6275c5}
[data-theme=pixel] .grade[data-grade="B"]{color:#8494da}
[data-theme=pixel] .grade[data-grade="A"]{color:#a7b4ef}
[data-theme=pixel] .grade[data-grade="A+"]{color:#89c9f4}
[data-theme=pixel] .grade[data-grade="AA"]{color:#6bdefa}
[data-theme=pixel] .grade[data-grade="AA+"]{color:#4df3ff}
[data-theme=pixel] .grade[data-grade="AAA"]{color:#88edcc}
[data-theme=pixel] .grade[data-grade="AAA+"]{color:#c4e699}
[data-theme=pixel] .grade[data-grade="S"]{color:#ffe066}
[data-theme=pixel] .grade[data-grade="S+"]{color:#ffb48a}
[data-theme=pixel] .grade[data-grade="S++"]{color:#ff87ad}
[data-theme=pixel] .grade[data-grade="PUC"]{color:#ff5bd1}
[data-theme=pixel] .grade[data-grade="PUC"],[data-theme=pixel] .grade[data-grade="S++"]{animation:px-blink 1s steps(2) infinite}

@keyframes px-blink{50%{color:#fff}}[data-theme=pixel] .badge:not(#_){border:0;border-radius:0;background:var(--difficulty-fill);color:#fff;font-family:var(--th-display);font-weight:700;margin:3px;box-shadow:0 -3px 0 0 var(--difficulty-accent),0 3px 0 0 var(--difficulty-accent),-3px 0 0 0 var(--difficulty-accent),3px 0 0 0 var(--difficulty-accent)}
[data-theme=pixel] .badge:not(#_).lamp.uc,[data-theme=pixel] .badge:not(#_).lamp.puc{animation:px-flash .8s steps(2) infinite}

@keyframes px-flash{50%{background:var(--difficulty-accent);color:#0a0f2c}}[data-theme=pixel] .score-table thead th{background:#152050;color:#4df3ff;font-family:var(--th-display);border-bottom:3px solid #4df3ff}
[data-theme=pixel] .score-table tbody td{border-bottom:3px dotted #1d2a66}
[data-theme=pixel] .score-table tbody tr:hover{background:#1d2a66}
[data-theme=pixel] .score-table tbody tr:hover td:first-child::before{content:"\25B6 ";color:#ffe066}
[data-theme=pixel] td.score-number,[data-theme=pixel] .mobile-score{font-family:var(--th-display);color:#ffe066!important;text-shadow:2px 2px 0 #a1238a}
[data-theme=pixel] .song-jacket{image-rendering:pixelated;border-radius:0;box-shadow:0 0 0 3px #0a0f2c,0 0 0 6px #4df3ff}
[data-theme=pixel] .rating-folder-groups button{border-radius:0;border:0;background:#152050;margin:3px;box-shadow:0 -3px 0 0 #3f55b0,0 3px 0 0 #3f55b0,-3px 0 0 0 #3f55b0,3px 0 0 0 #3f55b0;font-family:var(--th-display)}
[data-theme=pixel] .rating-folder-groups .selected{background:#ff5bd1;color:#0a0f2c!important;box-shadow:0 -3px 0 0 #ffe066,0 3px 0 0 #ffe066,-3px 0 0 0 #ffe066,3px 0 0 0 #ffe066}
[data-theme=pixel] .source-chip{border-radius:0;border-style:dotted}
[data-theme=pixel] .chart-card,[data-theme=pixel] .goal-card,[data-theme=pixel] .mobile-card{border-radius:0;border:0;background:#10173d;box-shadow:0 -4px 0 0 #3f55b0,0 4px 0 0 #3f55b0,-4px 0 0 0 #3f55b0,4px 0 0 0 #3f55b0,8px 8px 0 4px #000a;margin:4px}
[data-theme=pixel] svg rect{rx:0}
[data-theme=pixel] svg rect[fill="#7ecbe7"]{fill:#4df3ff}
[data-theme=pixel] svg [fill="#78cdeb"]{fill:#4df3ff}
[data-theme=pixel] svg [stroke="#78cdeb"]{stroke:#4df3ff}
[data-theme=pixel] svg [fill="#fa9fbd"]{fill:#ff5bd1}
[data-theme=pixel] svg [stroke="#fa9fbd"]{stroke:#ff5bd1}
[data-theme=pixel] svg [fill="#a899fc"]{fill:#ffe066}
[data-theme=pixel] svg [stroke="#a899fc"]{stroke:#ffe066}
[data-theme=pixel] svg [fill="#e5c67d"]{fill:#7dff7a}
[data-theme=pixel] svg [stroke="#e5c67d"]{stroke:#7dff7a}
[data-theme=pixel] svg [fill="#6baee9"]{fill:#ffffff}
[data-theme=pixel] svg [stroke="#6baee9"]{stroke:#ffffff}
[data-theme=pixel] svg [stroke="#362b57"]{stroke:#1d2a66}
[data-theme=pixel] svg [stroke="#6c5e95"]{stroke:#3f55b0}

:root[data-theme=pixel]{--th-font:"TS VT323",Consolas,"Cascadia Mono","MS Gothic",monospace;--th-display:"TS Press Start",Consolas,"Cascadia Mono","MS Gothic",monospace;--th-num:"TS Press Start",Consolas,"Cascadia Mono","MS Gothic",monospace;--th-title:"TS VT323",Consolas,"Cascadia Mono","MS Gothic",monospace}
[data-theme=pixel] td.score-number,[data-theme=pixel] .mobile-score{font-family:var(--th-num)!important}
[data-theme=pixel] body{font-size:1.2rem}
[data-theme=pixel] .song-button,[data-theme=pixel] .goal-song-open{font-size:1.3rem;line-height:1.05;text-transform:uppercase;letter-spacing:.02em}
[data-theme=pixel] td.score-number,[data-theme=pixel] .mobile-score{font-size:.72rem!important;letter-spacing:0}
[data-theme=pixel] td.number{font-size:.62rem;letter-spacing:0;line-height:1.6}
[data-theme=pixel] .number small,[data-theme=pixel] small.metric-kind{font-family:"TS VT323",monospace;font-size:.9rem}
[data-theme=pixel] .stat-value{font-size:1.25rem;line-height:1.6}
[data-theme=pixel] .page-heading h1,[data-theme=pixel] .page-heading h2{font-size:1.5rem!important;line-height:1.4}
[data-theme=pixel] .grade[data-grade]{font-size:.62rem!important}
[data-theme=pixel] .badge{font-size:.55rem!important}
[data-theme=pixel] nav a{font-size:.62rem}
[data-theme=pixel] .chart-card svg text{font-size:9px}
[data-theme=pixel] input:not([type=checkbox]):not([type=radio]):not([type=range]),[data-theme=pixel] select{border-radius:0;background:#10173d;border:3px solid #3f55b0}
[data-theme=pixel] input[type=checkbox]{accent-color:var(--t-acc-1)}

@media(min-width:1101px){[data-theme=pixel] .topbar{height:auto;padding:12px 28px;border-bottom:4px solid #4df3ff;background:#0a0f2c}
[data-theme=pixel] .topbar::after{display:none}
[data-theme=pixel] .topbar .brand .app-mark{width:64px;height:64px;image-rendering:pixelated}
[data-theme=pixel] nav{gap:0;border-bottom:0;justify-content:center;background:#10173d;padding:6px 0;box-shadow:0 4px 0 #000}
[data-theme=pixel] nav a{padding:10px 16px;border-bottom:0}
[data-theme=pixel] nav a::before{content:"\00a0\00a0";}
[data-theme=pixel] nav a.active{color:#ffe066}
[data-theme=pixel] nav a.active::before{content:"\25B6\00a0";color:#ff5bd1}

}

/* Signal Error — Glitch effects */
:root[data-theme=glitch]{--t-surf-0:#060608;--t-surf-1:#0d0d11;--t-surf-2:#131318;--t-surf-3:#1b1b22;--t-line-1:#26262f;--t-line-2:#3a3a46;--t-text-3:#61616f;--t-text-2:#9b9bab;--t-text-1:#cfcfdb;--t-text-0:#f4f4fa;--t-acc-1:#00f0ff;--t-acc-1-dark:#003a40;--t-acc-2:#ff2e63;--t-acc-2-deep:#8a0f30;--t-acc-3:#39ff88;--t-acc-3-dark:#101015;--t-acc-3-deep:#24242e;--th-font:Consolas,"Cascadia Mono","DejaVu Sans Mono",monospace;--th-display:Consolas,"Cascadia Mono","DejaVu Sans Mono",monospace;--th-header:repeating-linear-gradient(0deg,#ffffff08 0 1px,transparent 1px 3px),linear-gradient(90deg,#ff2e6333,transparent 20% 80%,#00f0ff33),#0d0d11;color-scheme:dark}
[data-theme=glitch] body::after{content:"";display:block;position:fixed;inset:0;z-index:9;pointer-events:none;background:repeating-linear-gradient(0deg,#ffffff08 0 1px,transparent 1px 3px);opacity:.6;transform:none;-webkit-mask-image:none;mask-image:none;left:0;right:0;height:auto}
[data-theme=glitch] .page-heading h1,[data-theme=glitch] .page-heading h2,[data-theme=glitch] .brand>span{color:#f4f4fa;-webkit-text-fill-color:#f4f4fa;background:none;text-shadow:-2px 0 #ff2e63,2px 0 #00f0ff;text-transform:lowercase;letter-spacing:.02em}
[data-theme=glitch] .stat-value{text-shadow:-1px 0 #ff2e63,1px 0 #00f0ff}
[data-theme=glitch] *{border-radius:0!important}
[data-theme=glitch] .workspace,[data-theme=glitch] .chart-card,[data-theme=glitch] .stats{box-shadow:3px 0 0 #ff2e6355,-3px 0 0 #00f0ff55}
@media(prefers-reduced-motion:no-preference){[data-theme=glitch] .page-heading h1,[data-theme=glitch] .page-heading h2{animation:glitch-jit 5s steps(1) infinite}}
@keyframes glitch-jit{0%,92%,100%{transform:none;clip-path:none}93%{transform:translate(3px,-1px);clip-path:inset(10% 0 45% 0)}95%{transform:translate(-4px,1px);clip-path:inset(55% 0 8% 0)}97%{transform:translate(2px,0);clip-path:none;text-shadow:-5px 0 #ff2e63,5px 0 #00f0ff}}
[data-theme=glitch] .app-mark{content:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 120 120%22%3E%3Crect width=%22120%22 height=%22120%22 fill=%22%23060608%22/%3E%3Cg fill=%22none%22 stroke-width=%227%22 stroke-linecap=%22square%22%3E%3Cpath d=%22M8 64c14-26 28-26 40 0s28 26 40 0 20-18 28-8%22 stroke=%22%23ff2e63%22 transform=%22translate(-4 2)%22/%3E%3Cpath d=%22M8 64c14-26 28-26 40 0s28 26 40 0 20-18 28-8%22 stroke=%22%2300f0ff%22 transform=%22translate(4 -2)%22/%3E%3Cpath d=%22M8 64c14-26 28-26 40 0s28 26 40 0 20-18 28-8%22 stroke=%22%23f4f4fa%22/%3E%3C/g%3E%3Crect x=%220%22 y=%2240%22 width=%22120%22 height=%226%22 fill=%22%23060608%22/%3E%3Crect x=%2218%22 y=%2280%22 width=%2240%22 height=%224%22 fill=%22%23f4f4fa%22/%3E%3C/svg%3E");image-rendering:auto}
[data-theme=glitch] .brand>span::before{content:'> ';color:#39ff88;-webkit-text-fill-color:#39ff88}
[data-theme=glitch] .brand small::before{content:'--';}
[data-theme=glitch] nav a::before{content:'[';opacity:.6}
[data-theme=glitch] nav a::after{content:']';opacity:.6}
[data-theme=glitch] .badge:not(#_){box-shadow:none;padding-left:6px;background-image:none;animation:none}
[data-theme=glitch] .badge:not(#_).lamp::before{display:none}
[data-theme=glitch] .badge:not(#_).NOV{--difficulty-accent:#a65cff;--difficulty-fill:transparent;--badge-ink:#a65cff;color:var(--badge-ink)}
[data-theme=glitch] .badge:not(#_).ADV{--difficulty-accent:#f2c200;--difficulty-fill:transparent;--badge-ink:#f2c200;color:var(--badge-ink)}
[data-theme=glitch] .badge:not(#_).EXH{--difficulty-accent:#ff4a4a;--difficulty-fill:transparent;--badge-ink:#ff4a4a;color:var(--badge-ink)}
[data-theme=glitch] .badge:not(#_).MXM{--difficulty-accent:#d4d8e0;--difficulty-fill:transparent;--badge-ink:#d4d8e0;color:var(--badge-ink)}
[data-theme=glitch] .badge:not(#_).GRV{--difficulty-accent:#ff9a1f;--difficulty-fill:transparent;--badge-ink:#ff9a1f;color:var(--badge-ink)}
[data-theme=glitch] .badge:not(#_).HVN{--difficulty-accent:#19d6e0;--difficulty-fill:transparent;--badge-ink:#19d6e0;color:var(--badge-ink)}
[data-theme=glitch] .badge:not(#_).VVD{--difficulty-accent:#ff5fb0;--difficulty-fill:transparent;--badge-ink:#ff5fb0;color:var(--badge-ink)}
[data-theme=glitch] .badge:not(#_).XCD{--difficulty-accent:#3d8bff;--difficulty-fill:transparent;--badge-ink:#3d8bff;color:var(--badge-ink)}
[data-theme=glitch] .badge:not(#_).NBL{--difficulty-accent:#7fdc1a;--difficulty-fill:transparent;--badge-ink:#7fdc1a;color:var(--badge-ink)}
[data-theme=glitch] .badge:not(#_).ULT{--difficulty-accent:#ffd400;--difficulty-fill:transparent;--badge-ink:#ffd400;color:var(--badge-ink)}
[data-theme=glitch] .badge:not(#_).INF{--difficulty-accent:#c4c4c4;--difficulty-fill:transparent;--badge-ink:#c4c4c4;color:var(--badge-ink)}
[data-theme=glitch] .badge:not(#_).lamp.no-play{--difficulty-accent:#91a3bc;--difficulty-fill:transparent;--badge-ink:#91a3bc;color:var(--badge-ink)}
[data-theme=glitch] .badge:not(#_).lamp.played{--difficulty-accent:#ff4a4a;--difficulty-fill:transparent;--badge-ink:#ff4a4a;color:var(--badge-ink)}
[data-theme=glitch] .badge:not(#_).lamp.failed{--difficulty-accent:#ff4a4a;--difficulty-fill:transparent;--badge-ink:#ff4a4a;color:var(--badge-ink)}
[data-theme=glitch] .badge:not(#_).lamp.clear{--difficulty-accent:#3ddc84;--difficulty-fill:transparent;--badge-ink:#3ddc84;color:var(--badge-ink)}
[data-theme=glitch] .badge:not(#_).lamp.excessive{--difficulty-accent:#b47cff;--difficulty-fill:transparent;--badge-ink:#b47cff;color:var(--badge-ink)}
[data-theme=glitch] .badge:not(#_).lamp.mxv{--difficulty-accent:#e6eaf0;--difficulty-fill:transparent;--badge-ink:#e6eaf0;color:var(--badge-ink)}
[data-theme=glitch] .badge:not(#_).lamp.uc{--difficulty-accent:#ff5fb0;--difficulty-fill:transparent;--badge-ink:#ff5fb0;color:var(--badge-ink)}
[data-theme=glitch] .badge:not(#_).lamp.puc{--difficulty-accent:#ffd400;--difficulty-fill:transparent;--badge-ink:#ffd400;color:var(--badge-ink)}
[data-theme=glitch] .grade[data-grade]{background:none;-webkit-text-fill-color:currentColor;text-shadow:none;filter:none!important;animation:none;font-family:var(--th-font);font-weight:700;text-transform:uppercase;text-shadow:-1.5px 0 #ff2e63aa,1.5px 0 #00f0ffaa}
[data-theme=glitch] .grade[data-grade="D"]{color:#61616f}
[data-theme=glitch] .grade[data-grade="C"]{color:#747483}
[data-theme=glitch] .grade[data-grade="B"]{color:#888897}
[data-theme=glitch] .grade[data-grade="A"]{color:#9b9bab}
[data-theme=glitch] .grade[data-grade="A+"]{color:#7abc9f}
[data-theme=glitch] .grade[data-grade="AA"]{color:#5ade94}
[data-theme=glitch] .grade[data-grade="AA+"]{color:#39ff88}
[data-theme=glitch] .grade[data-grade="AAA"]{color:#26fab0}
[data-theme=glitch] .grade[data-grade="AAA+"]{color:#13f5d7}
[data-theme=glitch] .grade[data-grade="S"]{color:#00f0ff}
[data-theme=glitch] .grade[data-grade="S+"]{color:#55afcb}
[data-theme=glitch] .grade[data-grade="S++"]{color:#aa6f97}
[data-theme=glitch] .grade[data-grade="PUC"]{color:#ff2e63}
[data-theme=glitch] .grade[data-grade="PUC"],[data-theme=glitch] .grade[data-grade="S++"]{animation:gl-jit 2.4s steps(1) infinite}

@keyframes gl-jit{0%{transform:none}92%{transform:translate(1px,-1px);text-shadow:-3px 0 #ff2e63,3px 0 #00f0ff}96%{transform:translate(-2px,1px)}}[data-theme=glitch] .badge:not(#_){border:1px solid var(--difficulty-accent);border-radius:0;background:color-mix(in srgb,var(--difficulty-accent) 10%,transparent);font-family:var(--th-font);font-weight:700;text-transform:uppercase;clip-path:polygon(0 0,calc(100% - 7px) 0,100% 7px,100% 100%,7px 100%,0 calc(100% - 7px))}
[data-theme=glitch] .badge:not(#_).lamp{width:5rem}
[data-theme=glitch] .badge:not(#_).lamp::before{display:inline;content:"[";position:static;inset:auto;box-shadow:none;opacity:1;margin-right:auto;animation:none}
[data-theme=glitch] .badge:not(#_).lamp::after{content:"]";margin-left:auto}
[data-theme=glitch] .badge:not(#_).lamp.uc,[data-theme=glitch] .badge:not(#_).lamp.puc{text-shadow:-1px 0 #ff2e63,1px 0 #00f0ff}
[data-theme=glitch] .score-table thead th{background:none;color:#39ff88;font-family:var(--th-font);border-bottom:1px solid #39ff88;text-transform:lowercase}
[data-theme=glitch] .score-table thead th::before{content:"$";opacity:.6;margin-right:3px}
[data-theme=glitch] .score-table tbody td{border-bottom:1px solid #1b1b22}
[data-theme=glitch] .score-table tbody tr:nth-child(odd){background:repeating-linear-gradient(0deg,#ffffff05 0 1px,transparent 1px 3px)}
[data-theme=glitch] .score-table tbody tr:hover{background:#00f0ff14;box-shadow:inset 2px 0 #00f0ff,inset -2px 0 #ff2e63}
[data-theme=glitch] td.score-number,[data-theme=glitch] .mobile-score{font-family:var(--th-font);color:#39ff88!important;text-shadow:0 0 8px #39ff8866}
[data-theme=glitch] .song-jacket{border-radius:0;filter:saturate(1.4) contrast(1.1);box-shadow:-2px 0 #ff2e63,2px 0 #00f0ff}
[data-theme=glitch] .rating-folder-groups button{border-radius:0;background:none;border:1px solid #3a3a46;font-family:var(--th-font)}
[data-theme=glitch] .rating-folder-groups .selected{background:#39ff88;color:#060608!important;border-color:#39ff88}
[data-theme=glitch] .source-chip{border-radius:0;color:#00f0ff;border-color:#00f0ff66}
[data-theme=glitch] .source-chip::before{content:"@"}
[data-theme=glitch] .chart-card,[data-theme=glitch] .goal-card,[data-theme=glitch] .mobile-card{border-radius:0;border:1px solid #26262f;background:#0d0d11;clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,18px 100%,0 calc(100% - 18px))}
[data-theme=glitch] svg rect[fill="#7ecbe7"]{fill:#39ff88}
[data-theme=glitch] svg [fill="#78cdeb"]{fill:#00f0ff}
[data-theme=glitch] svg [stroke="#78cdeb"]{stroke:#00f0ff}
[data-theme=glitch] svg [fill="#fa9fbd"]{fill:#ff2e63}
[data-theme=glitch] svg [stroke="#fa9fbd"]{stroke:#ff2e63}
[data-theme=glitch] svg [fill="#a899fc"]{fill:#39ff88}
[data-theme=glitch] svg [stroke="#a899fc"]{stroke:#39ff88}
[data-theme=glitch] svg [fill="#e5c67d"]{fill:#f4f4fa}
[data-theme=glitch] svg [stroke="#e5c67d"]{stroke:#f4f4fa}
[data-theme=glitch] svg [fill="#6baee9"]{fill:#9b9bab}
[data-theme=glitch] svg [stroke="#6baee9"]{stroke:#9b9bab}
[data-theme=glitch] svg [stroke="#362b57"]{stroke:#1b1b22}
[data-theme=glitch] svg [stroke="#6c5e95"]{stroke:#3a3a46}

:root[data-theme=glitch]{--th-font:"TS JetBrains Mono",Consolas,"Cascadia Mono","MS Gothic",monospace;--th-display:"TS Rubik Glitch","Segoe UI",system-ui,"Hiragino Sans","Yu Gothic UI",sans-serif;--th-num:"TS Share Tech Mono",Consolas,"Cascadia Mono","MS Gothic",monospace;--th-title:"TS Share Tech Mono",Consolas,"Cascadia Mono","MS Gothic",monospace}
[data-theme=glitch] td.score-number,[data-theme=glitch] .mobile-score{font-family:var(--th-num)!important}
[data-theme=glitch] .song-button,[data-theme=glitch] .goal-song-open{text-transform:lowercase;font-size:.98rem;letter-spacing:.01em}
[data-theme=glitch] .song-button::before{content:"./";color:#39ff88;opacity:.7}
[data-theme=glitch] td.score-number,[data-theme=glitch] .mobile-score{font-size:1.08rem!important;letter-spacing:.06em}
[data-theme=glitch] td.number{font-size:.9rem;letter-spacing:.02em}
[data-theme=glitch] .stat-value{font-size:2.3rem}
[data-theme=glitch] .page-heading h1,[data-theme=glitch] .page-heading h2{font-weight:400!important;font-size:2.8rem;text-transform:lowercase}
[data-theme=glitch] input:not([type=checkbox]):not([type=radio]):not([type=range]),[data-theme=glitch] select{border-radius:0;background:#0d0d11;border:1px solid #3a3a46;clip-path:polygon(0 0,calc(100% - 6px) 0,100% 6px,100% 100%,0 100%)}
[data-theme=glitch] input[type=checkbox]{accent-color:var(--t-acc-1)}
[data-theme=glitch] .song-button::before{-webkit-text-fill-color:#39ff88}

@media(min-width:1101px){[data-theme=glitch] .topbar{height:auto;padding:14px 28px;background:#060608;border-bottom:1px dashed #3a3a46}
[data-theme=glitch] .topbar::after{height:1px;background:#39ff88}
[data-theme=glitch] .topbar .brand .app-mark{width:56px;height:56px}
[data-theme=glitch] .topbar .brand>span{font-size:1.6rem}
[data-theme=glitch] nav{gap:6px;border-bottom:1px dashed #3a3a46;font-family:Consolas,monospace}
[data-theme=glitch] nav a{padding:12px 6px;border-bottom:0}
[data-theme=glitch] nav a.active{color:#39ff88;text-shadow:-1px 0 #ff2e63,1px 0 #00f0ff}

}

/* Bold Minimal — Bold minimalism */
:root[data-theme=minimal]{--t-surf-0:#ffffff;--t-surf-1:#ffffff;--t-surf-2:#f6f7f9;--t-surf-3:#eef0f4;--t-line-1:#e1e4ea;--t-line-2:#c4c9d3;--t-text-3:#808694;--t-text-2:#4f5563;--t-text-1:#252a35;--t-text-0:#05070c;--t-acc-1:#1a3cff;--t-acc-1-dark:#e3e8ff;--t-acc-2:#1a3cff;--t-acc-2-deep:#0d22a8;--t-acc-3:#05070c;--t-acc-3-dark:#eef0f4;--t-acc-3-deep:#252a35;--th-font:"Inter","Segoe UI",system-ui,sans-serif;--th-display:"Inter Display","Inter","Segoe UI",system-ui,sans-serif;--th-header:linear-gradient(90deg,#1a3cff 0 62%,#05070c 62%);color-scheme:light}
[data-theme=minimal] .topbar{background:#fff}
[data-theme=minimal] .horizon{-webkit-mask-image:linear-gradient(90deg,transparent 0 55%,#000 55%);mask-image:linear-gradient(90deg,transparent 0 55%,#000 55%)}
[data-theme=minimal] .workspace,[data-theme=minimal] .chart-card,[data-theme=minimal] .stats,[data-theme=minimal] dialog,[data-theme=minimal] .login-card{border-radius:0;box-shadow:none;border:0;border-top:2px solid #05070c}
[data-theme=minimal] .stats::before{display:none}
[data-theme=minimal] .stat+.stat{border-left:0}
[data-theme=minimal] button:not(.song-button,.photo-link,.goal-song-open,th button),[data-theme=minimal] input,[data-theme=minimal] select{border-radius:0}
[data-theme=minimal] button:not(.song-button,.photo-link,.goal-song-open,th button).primary{background:#1a3cff;color:#fff;border-color:#1a3cff}
[data-theme=minimal] .page-heading h1,[data-theme=minimal] .page-heading h2{color:#05070c;-webkit-text-fill-color:#05070c;background:none;font-size:3.4rem;font-weight:900;letter-spacing:-.06em;line-height:1}
[data-theme=minimal] .stat-value{color:#05070c;text-shadow:none;font-size:2.4rem;font-weight:900;letter-spacing:-.05em}
[data-theme=minimal] .stat-value.accent,[data-theme=minimal] .stat-value.pink{color:#1a3cff}
[data-theme=minimal] .app-mark{content:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 120 120%22%3E%3Ccircle cx=%2260%22 cy=%2260%22 r=%2256%22 fill=%22%231a3cff%22/%3E%3Cpath d=%22M18 66c14-14 26-14 38-2s26 12 46-6%22 fill=%22none%22 stroke=%22%23fff%22 stroke-width=%226%22 stroke-linecap=%22round%22/%3E%3C/svg%3E");image-rendering:auto}
[data-theme=minimal] .brand>span{font-weight:900;letter-spacing:-.05em}
[data-theme=minimal] .badge:not(#_){box-shadow:none;padding-left:6px;background-image:none;animation:none}
[data-theme=minimal] .badge:not(#_).lamp::before{display:none}
[data-theme=minimal] .badge:not(#_).NOV{--difficulty-accent:#7440b2;--difficulty-fill:transparent;--badge-ink:#5b338c;color:var(--badge-ink)}
[data-theme=minimal] .badge:not(#_).ADV{--difficulty-accent:#a98800;--difficulty-fill:transparent;--badge-ink:#856b00;color:var(--badge-ink)}
[data-theme=minimal] .badge:not(#_).EXH{--difficulty-accent:#b23434;--difficulty-fill:transparent;--badge-ink:#8c2929;color:var(--badge-ink)}
[data-theme=minimal] .badge:not(#_).MXM{--difficulty-accent:#94979d;--difficulty-fill:transparent;--badge-ink:#75777b;color:var(--badge-ink)}
[data-theme=minimal] .badge:not(#_).GRV{--difficulty-accent:#b26c16;--difficulty-fill:transparent;--badge-ink:#8c5511;color:var(--badge-ink)}
[data-theme=minimal] .badge:not(#_).HVN{--difficulty-accent:#12969d;--difficulty-fill:transparent;--badge-ink:#0e767b;color:var(--badge-ink)}
[data-theme=minimal] .badge:not(#_).VVD{--difficulty-accent:#b2427b;--difficulty-fill:transparent;--badge-ink:#8c3461;color:var(--badge-ink)}
[data-theme=minimal] .badge:not(#_).XCD{--difficulty-accent:#2b61b2;--difficulty-fill:transparent;--badge-ink:#224c8c;color:var(--badge-ink)}
[data-theme=minimal] .badge:not(#_).NBL{--difficulty-accent:#599a12;--difficulty-fill:transparent;--badge-ink:#46790e;color:var(--badge-ink)}
[data-theme=minimal] .badge:not(#_).ULT{--difficulty-accent:#b29400;--difficulty-fill:transparent;--badge-ink:#8c7500;color:var(--badge-ink)}
[data-theme=minimal] .badge:not(#_).INF{--difficulty-accent:#898989;--difficulty-fill:transparent;--badge-ink:#6c6c6c;color:var(--badge-ink)}
[data-theme=minimal] .badge:not(#_).lamp.no-play{--difficulty-accent:#667284;--difficulty-fill:transparent;--badge-ink:#505a67;color:var(--badge-ink)}
[data-theme=minimal] .badge:not(#_).lamp.played{--difficulty-accent:#b23434;--difficulty-fill:transparent;--badge-ink:#8c2929;color:var(--badge-ink)}
[data-theme=minimal] .badge:not(#_).lamp.failed{--difficulty-accent:#b23434;--difficulty-fill:transparent;--badge-ink:#8c2929;color:var(--badge-ink)}
[data-theme=minimal] .badge:not(#_).lamp.clear{--difficulty-accent:#2b9a5c;--difficulty-fill:transparent;--badge-ink:#227949;color:var(--badge-ink)}
[data-theme=minimal] .badge:not(#_).lamp.excessive{--difficulty-accent:#7e57b2;--difficulty-fill:transparent;--badge-ink:#63448c;color:var(--badge-ink)}
[data-theme=minimal] .badge:not(#_).lamp.mxv{--difficulty-accent:#a1a4a8;--difficulty-fill:transparent;--badge-ink:#7e8184;color:var(--badge-ink)}
[data-theme=minimal] .badge:not(#_).lamp.uc{--difficulty-accent:#b2427b;--difficulty-fill:transparent;--badge-ink:#8c3461;color:var(--badge-ink)}
[data-theme=minimal] .badge:not(#_).lamp.puc{--difficulty-accent:#b29400;--difficulty-fill:transparent;--badge-ink:#8c7500;color:var(--badge-ink)}
[data-theme=minimal] .grade[data-grade]{background:none;-webkit-text-fill-color:currentColor;text-shadow:none;filter:none!important;animation:none;font-weight:800;font-size:1.05rem;letter-spacing:-.02em}
[data-theme=minimal] .grade[data-grade="D"]{color:#c4c9d3}
[data-theme=minimal] .grade[data-grade="C"]{color:#c4c9d3}
[data-theme=minimal] .grade[data-grade="B"]{color:#a2a8b4}
[data-theme=minimal] .grade[data-grade="A"]{color:#808694}
[data-theme=minimal] .grade[data-grade="A+"]{color:#808694}
[data-theme=minimal] .grade[data-grade="AA"]{color:#4f5563}
[data-theme=minimal] .grade[data-grade="AA+"]{color:#4f5563}
[data-theme=minimal] .grade[data-grade="AAA"]{color:#252a35}
[data-theme=minimal] .grade[data-grade="AAA+"]{color:#252a35}
[data-theme=minimal] .grade[data-grade="S"]{color:#05070c}
[data-theme=minimal] .grade[data-grade="S+"]{color:#05070c}
[data-theme=minimal] .grade[data-grade="S++"]{color:#1a3cff}
[data-theme=minimal] .grade[data-grade="PUC"]{color:#1a3cff}
[data-theme=minimal] .grade[data-grade="PUC"],[data-theme=minimal] .grade[data-grade="S++"]{background:#1a3cff;color:#fff;padding:0 5px}
[data-theme=minimal] .badge:not(#_){border:0;border-radius:0;background:none;color:#05070c;font-weight:700;padding:0;gap:6px;letter-spacing:.02em}
[data-theme=minimal] .badge:not(#_):not(.lamp){border-left:6px solid var(--difficulty-accent);padding-left:5px}
[data-theme=minimal] .badge:not(#_).lamp{justify-content:flex-start;width:4.8rem}
[data-theme=minimal] .badge:not(#_).lamp::before{display:block;content:"";position:static;inset:auto;width:12px;height:12px;flex:none;background:var(--difficulty-accent);box-shadow:none;opacity:1;animation:none}
[data-theme=minimal] .badge:not(#_).lamp.mxv::before{background:#fff;box-shadow:inset 0 0 0 2px #05070c}
[data-theme=minimal] .score-table thead th{background:none;color:#05070c;font-weight:800;font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;border-bottom:3px solid #05070c}
[data-theme=minimal] .score-table tbody td{border-bottom:1px solid #e1e4ea}
[data-theme=minimal] .score-table tbody tr:hover{background:#e3e8ff}
[data-theme=minimal] td.rating,[data-theme=minimal] td.rating .lv-text{font-size:1.15rem;font-weight:800}
[data-theme=minimal] td.score-number,[data-theme=minimal] .mobile-score{color:#05070c!important;font-weight:800;font-size:1.08rem;letter-spacing:-.02em}
[data-theme=minimal] .song-jacket{border-radius:0}
[data-theme=minimal] .rating-folder-groups button{border-radius:0;border:0;border-bottom:2px solid #e1e4ea;background:none;font-weight:700}
[data-theme=minimal] .rating-folder-groups .selected{border-bottom-color:#1a3cff;color:#1a3cff!important}
[data-theme=minimal] .source-chip{border:0;border-radius:0;padding:0;text-decoration:underline;color:#4f5563}
[data-theme=minimal] .chart-card,[data-theme=minimal] .goal-card,[data-theme=minimal] .mobile-card{border:0;border-top:3px solid #05070c;border-radius:0;background:#fff;box-shadow:none}
[data-theme=minimal] svg rect[fill="#7ecbe7"]{fill:#05070c}
[data-theme=minimal] svg [fill="#78cdeb"]{fill:#1a3cff}
[data-theme=minimal] svg [stroke="#78cdeb"]{stroke:#1a3cff}
[data-theme=minimal] svg [fill="#fa9fbd"]{fill:#05070c}
[data-theme=minimal] svg [stroke="#fa9fbd"]{stroke:#05070c}
[data-theme=minimal] svg [fill="#a899fc"]{fill:#808694}
[data-theme=minimal] svg [stroke="#a899fc"]{stroke:#808694}
[data-theme=minimal] svg [fill="#e5c67d"]{fill:#c4c9d3}
[data-theme=minimal] svg [stroke="#e5c67d"]{stroke:#c4c9d3}
[data-theme=minimal] svg [fill="#6baee9"]{fill:#4f5563}
[data-theme=minimal] svg [stroke="#6baee9"]{stroke:#4f5563}
[data-theme=minimal] svg [stroke="#362b57"]{stroke:#eef0f4}
[data-theme=minimal] svg [stroke="#6c5e95"]{stroke:#c4c9d3}

:root[data-theme=minimal]{--th-font:"TS Inter Tight","Segoe UI",system-ui,"Hiragino Sans","Yu Gothic UI",sans-serif;--th-display:"TS Inter Tight","Segoe UI",system-ui,"Hiragino Sans","Yu Gothic UI",sans-serif;--th-num:"TS Inter Tight","Segoe UI",system-ui,"Hiragino Sans","Yu Gothic UI",sans-serif;--th-title:"TS Inter Tight","Segoe UI",system-ui,"Hiragino Sans","Yu Gothic UI",sans-serif}
[data-theme=minimal] td.score-number,[data-theme=minimal] .mobile-score{font-family:var(--th-num)!important}
[data-theme=minimal] .song-button,[data-theme=minimal] .goal-song-open{font-weight:700;letter-spacing:-.02em;font-size:.98rem}
[data-theme=minimal] td.score-number,[data-theme=minimal] .mobile-score{font-weight:900!important;font-size:1.15rem!important;letter-spacing:-.04em}
[data-theme=minimal] td.number{font-weight:500;letter-spacing:-.02em}
[data-theme=minimal] .stat-value{font-weight:900;font-size:3rem;letter-spacing:-.06em;line-height:1}
[data-theme=minimal] .page-heading h1,[data-theme=minimal] .page-heading h2{font-weight:900!important;letter-spacing:-.06em}
[data-theme=minimal] input:not([type=checkbox]):not([type=radio]):not([type=range]),[data-theme=minimal] select{border-radius:0;background:#fff;border:0;border-bottom:2px solid #05070c}
[data-theme=minimal] input[type=checkbox]{accent-color:var(--t-acc-1)}

@media(min-width:1101px){[data-theme=minimal] #app{display:grid;grid-template-columns:240px minmax(0,1fr)}
[data-theme=minimal] #app>.view-as-banner{grid-column:1/-1}
[data-theme=minimal] .topbar{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) 320px;grid-template-rows:1fr auto;height:auto;padding:0;background:#fff;border-bottom:2px solid #05070c}
[data-theme=minimal] .topbar>.horizon{display:none}
[data-theme=minimal] .topbar::after{display:none}
[data-theme=minimal] .topbar .brand{grid-column:1;grid-row:1/span 2;padding:26px 40px;gap:24px;align-self:center}
[data-theme=minimal] .topbar .brand .app-mark{width:90px;height:90px}
[data-theme=minimal] .topbar .brand>span{font-size:5.2rem;line-height:.85}
[data-theme=minimal] .topbar .game-logos{grid-column:2;grid-row:1;align-self:stretch;background:#1a3cff;padding:18px 28px 6px;justify-content:flex-start;gap:12px}
[data-theme=minimal] .topbar .header-actions{grid-column:2;grid-row:2;background:#1a3cff;padding:6px 28px 18px;flex-wrap:wrap;gap:10px;justify-content:flex-start}
[data-theme=minimal] .topbar .header-actions a,[data-theme=minimal] .topbar .player-tag,[data-theme=minimal] .topbar .header-actions button:not(.primary){color:#fff!important}
[data-theme=minimal] .topbar .header-actions button.primary{background:#fff;color:#1a3cff;border-color:#fff}
[data-theme=minimal] .shell{display:contents}
[data-theme=minimal] nav{grid-column:1;flex-direction:column;align-items:stretch;gap:0;border:0;border-right:2px solid #05070c;padding:28px 0 0;position:sticky;top:0;align-self:start}
[data-theme=minimal] nav a{padding:10px 28px;border:0;font-weight:700;font-size:1.05rem}
[data-theme=minimal] nav a.active{background:#1a3cff;color:#fff}
[data-theme=minimal] main{grid-column:2;padding:8px 40px 32px;min-width:0}

}

/* Doodle — Quirky illustrations */
:root[data-theme=doodle]{--t-surf-0:#e6f5ee;--t-surf-1:#fbfffd;--t-surf-2:#f1faf5;--t-surf-3:#e2f2ea;--t-line-1:#2b2d42;--t-line-2:#2b2d42;--t-text-3:#6b6f85;--t-text-2:#4a4e66;--t-text-1:#34374d;--t-text-0:#1d1f2e;--t-acc-1:#ff7a59;--t-acc-1-dark:#ffe1d8;--t-acc-2:#7b61ff;--t-acc-2-deep:#4a35c9;--t-acc-3:#ffc93c;--t-acc-3-dark:#fff2c7;--t-acc-3-deep:#7a5a00;--th-font:"Inter","Segoe UI",system-ui,sans-serif;--th-display:"Segoe Print","Comic Sans MS","DejaVu Sans",cursive;--th-header:radial-gradient(14px 14px at 62% 30%,#ffc93c 98%,transparent),radial-gradient(10px 10px at 68% 74%,#7b61ff 98%,transparent),radial-gradient(18px 18px at 94% 24%,#ff7a59 98%,transparent),radial-gradient(8px 8px at 97% 78%,#2b2d42 98%,transparent),#fbfffd;color-scheme:light}
[data-theme=doodle] .workspace,[data-theme=doodle] .chart-card,[data-theme=doodle] .stats,[data-theme=doodle] dialog,[data-theme=doodle] .login-card{border:2.5px solid #2b2d42;border-radius:255px 18px 225px 18px/18px 225px 18px 255px;box-shadow:5px 6px 0 #2b2d4222}
[data-theme=doodle] .stats::before{display:none}
[data-theme=doodle] button:not(.song-button,.photo-link,.goal-song-open,th button),[data-theme=doodle] input,[data-theme=doodle] select{border:2px solid #2b2d42;border-radius:225px 12px 225px 12px/12px 225px 12px 225px}
[data-theme=doodle] button:not(.song-button,.photo-link,.goal-song-open,th button).primary{background:#ff7a59;color:#1d1f2e}
[data-theme=doodle] .page-heading h1,[data-theme=doodle] .page-heading h2{color:#1d1f2e;-webkit-text-fill-color:#1d1f2e;background:none;transform:rotate(-1.5deg);display:inline-block;text-decoration:underline wavy #ff7a59 3px;text-underline-offset:8px}
[data-theme=doodle] .stat-value{font-family:"Segoe Print","Comic Sans MS","DejaVu Sans",cursive;color:#1d1f2e;text-shadow:none}
[data-theme=doodle] .stat:nth-child(odd) .stat-value{transform:rotate(-2deg);display:inline-block}
[data-theme=doodle] .app-mark{content:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 120 120%22%3E%3Cpath d=%22M10 92c-2-30 16-58 46-64 22-4 44 8 48 28 3 14-6 24-18 22-10-2-12-12-6-18-14-4-24 8-22 22 2 10 14 14 24 10%22 fill=%22%237b61ff%22 stroke=%22%231d1f2e%22 stroke-width=%224%22 stroke-linejoin=%22round%22/%3E%3Cpath d=%22M8 94c30 6 70 6 104 0%22 fill=%22none%22 stroke=%22%231d1f2e%22 stroke-width=%224%22 stroke-linecap=%22round%22/%3E%3Ccircle cx=%2246%22 cy=%2258%22 r=%2210%22 fill=%22%23fff%22 stroke=%22%231d1f2e%22 stroke-width=%223%22/%3E%3Ccircle cx=%2249%22 cy=%2260%22 r=%224%22 fill=%22%231d1f2e%22/%3E%3Cpath d=%22M36 76c6 6 14 6 20 0%22 fill=%22none%22 stroke=%22%231d1f2e%22 stroke-width=%223%22 stroke-linecap=%22round%22/%3E%3Ccircle cx=%2296%22 cy=%2222%22 r=%227%22 fill=%22%23ffc93c%22 stroke=%22%231d1f2e%22 stroke-width=%223%22/%3E%3C/svg%3E");image-rendering:auto}
[data-theme=doodle] .brand>span{font-size:2.2rem;transform:rotate(-3deg);display:inline-block}
[data-theme=doodle] .topbar .game-logos img{filter:drop-shadow(2px 0 0 #fff) drop-shadow(-2px 0 0 #fff) drop-shadow(0 2px 0 #fff) drop-shadow(0 -2px 0 #fff) drop-shadow(3px 4px 0 #1d1f2e33)}
[data-theme=doodle] .badge:not(#_){box-shadow:none;padding-left:6px;background-image:none;animation:none}
[data-theme=doodle] .badge:not(#_).lamp::before{display:none}
[data-theme=doodle] .badge:not(#_).NOV{--difficulty-accent:#2b2d42;--difficulty-fill:#d7b6ff;--badge-ink:#2b2d42;color:var(--badge-ink)}
[data-theme=doodle] .badge:not(#_).ADV{--difficulty-accent:#2b2d42;--difficulty-fill:#f9e48c;--badge-ink:#2b2d42;color:var(--badge-ink)}
[data-theme=doodle] .badge:not(#_).EXH{--difficulty-accent:#2b2d42;--difficulty-fill:#ffaeae;--badge-ink:#2b2d42;color:var(--badge-ink)}
[data-theme=doodle] .badge:not(#_).MXM{--difficulty-accent:#2b2d42;--difficulty-fill:#ffffff;--badge-ink:#2b2d42;color:var(--badge-ink)}
[data-theme=doodle] .badge:not(#_).GRV{--difficulty-accent:#2b2d42;--difficulty-fill:#ffd29a;--badge-ink:#2b2d42;color:var(--badge-ink)}
[data-theme=doodle] .badge:not(#_).HVN{--difficulty-accent:#2b2d42;--difficulty-fill:#98edf1;--badge-ink:#2b2d42;color:var(--badge-ink)}
[data-theme=doodle] .badge:not(#_).VVD{--difficulty-accent:#2b2d42;--difficulty-fill:#ffb7db;--badge-ink:#2b2d42;color:var(--badge-ink)}
[data-theme=doodle] .badge:not(#_).XCD{--difficulty-accent:#2b2d42;--difficulty-fill:#a8cbff;--badge-ink:#2b2d42;color:var(--badge-ink)}
[data-theme=doodle] .badge:not(#_).NBL{--difficulty-accent:#2b2d42;--difficulty-fill:#c5ef98;--badge-ink:#2b2d42;color:var(--badge-ink)}
[data-theme=doodle] .badge:not(#_).ULT{--difficulty-accent:#2b2d42;--difficulty-fill:#ffec8c;--badge-ink:#2b2d42;color:var(--badge-ink)}
[data-theme=doodle] .badge:not(#_).INF{--difficulty-accent:#2b2d42;--difficulty-fill:#e4e4e4;--badge-ink:#2b2d42;color:var(--badge-ink)}
[data-theme=doodle] .badge:not(#_).lamp.no-play{--difficulty-accent:#2b2d42;--difficulty-fill:#ced6e1;--badge-ink:#2b2d42;color:var(--badge-ink)}
[data-theme=doodle] .badge:not(#_).lamp.played{--difficulty-accent:#2b2d42;--difficulty-fill:#ffaeae;--badge-ink:#2b2d42;color:var(--badge-ink)}
[data-theme=doodle] .badge:not(#_).lamp.failed{--difficulty-accent:#2b2d42;--difficulty-fill:#ffaeae;--badge-ink:#2b2d42;color:var(--badge-ink)}
[data-theme=doodle] .badge:not(#_).lamp.clear{--difficulty-accent:#2b2d42;--difficulty-fill:#a8efc8;--badge-ink:#2b2d42;color:var(--badge-ink)}
[data-theme=doodle] .badge:not(#_).lamp.excessive{--difficulty-accent:#2b2d42;--difficulty-fill:#ddc4ff;--badge-ink:#2b2d42;color:var(--badge-ink)}
[data-theme=doodle] .badge:not(#_).lamp.mxv{--difficulty-accent:#2b2d42;--difficulty-fill:#ffffff;--badge-ink:#2b2d42;color:var(--badge-ink)}
[data-theme=doodle] .badge:not(#_).lamp.uc{--difficulty-accent:#2b2d42;--difficulty-fill:#ffb7db;--badge-ink:#2b2d42;color:var(--badge-ink)}
[data-theme=doodle] .badge:not(#_).lamp.puc{--difficulty-accent:#2b2d42;--difficulty-fill:#ffec8c;--badge-ink:#2b2d42;color:var(--badge-ink)}
[data-theme=doodle] .grade[data-grade]{background:none;-webkit-text-fill-color:currentColor;text-shadow:none;filter:none!important;animation:none;display:inline-block;min-width:2.6em;text-align:center;padding:0 6px;border:2px solid currentColor;border-radius:255px 15px 225px 15px/15px 225px 15px 255px;font-family:var(--th-display);font-weight:700}
[data-theme=doodle] .grade[data-grade="D"]{color:#6b6f85}
[data-theme=doodle] .grade[data-grade="C"]{color:#60647b}
[data-theme=doodle] .grade[data-grade="B"]{color:#555970}
[data-theme=doodle] .grade[data-grade="A"]{color:#4a4e66}
[data-theme=doodle] .grade[data-grade="A+"]{color:#3f6874}
[data-theme=doodle] .grade[data-grade="AA"]{color:#358381}
[data-theme=doodle] .grade[data-grade="AA+"]{color:#2a9d8f}
[data-theme=doodle] .grade[data-grade="AAA"]{color:#4589b4}
[data-theme=doodle] .grade[data-grade="AAA+"]{color:#6075da}
[data-theme=doodle] .grade[data-grade="S"]{color:#7b61ff}
[data-theme=doodle] .grade[data-grade="S+"]{color:#a769c8}
[data-theme=doodle] .grade[data-grade="S++"]{color:#d37290}
[data-theme=doodle] .grade[data-grade="PUC"]{color:#ff7a59}
[data-theme=doodle] .grade[data-grade^="S"],[data-theme=doodle] .grade[data-grade="PUC"]{background:#ffc93c66;transform:rotate(-3deg)}
[data-theme=doodle] .grade[data-grade="PUC"]::after,[data-theme=doodle] .grade[data-grade="S++"]::after{content:"\2605";position:absolute;margin:-10px 0 0 -2px;font-size:.7em;color:#ff7a59}
[data-theme=doodle] .badge:not(#_){border:2px solid #2b2d42;border-radius:255px 15px 225px 15px/15px 225px 15px 255px;background:var(--difficulty-fill);color:#2b2d42;box-shadow:2px 2px 0 #2b2d42;font-family:var(--th-display);font-weight:700}
[data-theme=doodle] .badge:not(#_).lamp{height:1.7rem;transform:rotate(-2deg)}
[data-theme=doodle] tr:nth-child(even) .badge:not(#_).lamp{transform:rotate(2deg)}
[data-theme=doodle] .score-table thead th{background:none;color:#2b2d42;font-family:var(--th-display);border-bottom:2px solid #2b2d42;border-radius:255px 15px 225px 15px/15px 225px 15px 255px}
[data-theme=doodle] .score-table tbody td{border-bottom:2px dashed #2b2d4233}
[data-theme=doodle] .score-table tbody tr:hover{background:#fff2c7}
[data-theme=doodle] td.score-number,[data-theme=doodle] .mobile-score{font-family:var(--th-display);color:#1d1f2e!important;font-weight:700;font-size:1.05rem}
[data-theme=doodle] .song-jacket{border:2px solid #2b2d42;border-radius:255px 15px 225px 15px/15px 225px 15px 255px;box-shadow:2px 2px 0 #2b2d42}
[data-theme=doodle] .rating-folder-groups button{border:2px solid #2b2d42;border-radius:255px 15px 225px 15px/15px 225px 15px 255px;background:#fbfffd;box-shadow:2px 2px 0 #2b2d42;font-family:var(--th-display)}
[data-theme=doodle] .rating-folder-groups .selected{background:#ffc93c;color:#1d1f2e!important}
[data-theme=doodle] .source-chip{border-radius:255px 15px 225px 15px/15px 225px 15px 255px;border:1.5px solid #2b2d42;color:#2b2d42}
[data-theme=doodle] .chart-card{border:2px solid #2b2d42;border-radius:255px 15px 225px 15px/15px 225px 15px 255px;box-shadow:4px 4px 0 #2b2d42;background:#fbfffd}
[data-theme=doodle] .goal-card,[data-theme=doodle] .mobile-card{border:0;border-radius:2px;box-shadow:3px 6px 10px -4px #2b2d4266;background:#fff2c7}
[data-theme=doodle] .goal-card:nth-child(3n+1){background:#ffe1d8;transform:rotate(-1deg)}
[data-theme=doodle] .goal-card:nth-child(3n+2){background:#e2f2ea;transform:rotate(.8deg)}
[data-theme=doodle] .goal-card:nth-child(3n){background:#ece6ff;transform:rotate(-.4deg)}
[data-theme=doodle] .goal-card::before{content:"";position:absolute;top:-9px;left:calc(50% - 30px);width:60px;height:18px;background:#ffffffaa;border:1px solid #2b2d4222;transform:rotate(-3deg)}
[data-theme=doodle] svg rect[fill="#7ecbe7"]{fill:#7b61ff}
[data-theme=doodle] svg [fill="#78cdeb"]{fill:#ff7a59}
[data-theme=doodle] svg [stroke="#78cdeb"]{stroke:#ff7a59}
[data-theme=doodle] svg [fill="#fa9fbd"]{fill:#7b61ff}
[data-theme=doodle] svg [stroke="#fa9fbd"]{stroke:#7b61ff}
[data-theme=doodle] svg [fill="#a899fc"]{fill:#2a9d8f}
[data-theme=doodle] svg [stroke="#a899fc"]{stroke:#2a9d8f}
[data-theme=doodle] svg [fill="#e5c67d"]{fill:#ffc93c}
[data-theme=doodle] svg [stroke="#e5c67d"]{stroke:#ffc93c}
[data-theme=doodle] svg [fill="#6baee9"]{fill:#2b2d42}
[data-theme=doodle] svg [stroke="#6baee9"]{stroke:#2b2d42}
[data-theme=doodle] svg [stroke="#362b57"]{stroke:#d6e9df}
[data-theme=doodle] svg [stroke="#6c5e95"]{stroke:#2b2d42}

:root[data-theme=doodle]{--th-font:"TS Patrick Hand","Segoe UI",system-ui,"Hiragino Sans","Yu Gothic UI",sans-serif;--th-display:"TS Caveat Brush","Segoe UI",system-ui,"Hiragino Sans","Yu Gothic UI",sans-serif;--th-num:"TS Patrick Hand","Segoe UI",system-ui,"Hiragino Sans","Yu Gothic UI",sans-serif;--th-title:"TS Patrick Hand","Segoe UI",system-ui,"Hiragino Sans","Yu Gothic UI",sans-serif}
[data-theme=doodle] td.score-number,[data-theme=doodle] .mobile-score{font-family:var(--th-num)!important}
[data-theme=doodle] body{font-size:1.08rem}
[data-theme=doodle] .song-button,[data-theme=doodle] .goal-song-open{font-size:1.12rem;letter-spacing:.01em}
[data-theme=doodle] .song-button{text-decoration:underline wavy #ff7a5999 1.5px;text-underline-offset:5px}
[data-theme=doodle] td.score-number,[data-theme=doodle] .mobile-score{font-size:1.25rem!important}
[data-theme=doodle] td.number{font-size:1.02rem;letter-spacing:.02em}
[data-theme=doodle] .stat-value{font-size:2.6rem}
[data-theme=doodle] .page-heading h1,[data-theme=doodle] .page-heading h2{font-weight:400!important;font-size:3rem}
[data-theme=doodle] input:not([type=checkbox]):not([type=radio]):not([type=range]),[data-theme=doodle] select{border-radius:255px 15px 225px 15px/15px 225px 15px 255px;background:#fbfffd;border:2px solid #2b2d42}
[data-theme=doodle] input[type=checkbox]{accent-color:var(--t-acc-1)}

@media(min-width:1101px){[data-theme=doodle] .topbar{height:auto;padding:18px 32px 22px}
[data-theme=doodle] .topbar .brand .app-mark{width:96px;height:96px;transform:rotate(-6deg)}
[data-theme=doodle] .topbar .game-logos img:first-child{transform:rotate(-6deg)}
[data-theme=doodle] .topbar .game-logos img:last-child{transform:rotate(5deg)}
[data-theme=doodle] nav{gap:10px;border-bottom:0;padding:12px 0 6px}
[data-theme=doodle] nav a{border:2.5px solid #1d1f2e;border-radius:999px;padding:8px 16px;background:#fff;box-shadow:3px 3px 0 #1d1f2e}
[data-theme=doodle] nav a:nth-child(3n+1){transform:rotate(-2deg)}
[data-theme=doodle] nav a:nth-child(3n+2){transform:rotate(1.5deg)}
[data-theme=doodle] nav a.active{background:#ffc93c;color:#1d1f2e}

}

/* Cutout — Photos in custom shapes */
:root[data-theme=cutout]{--t-surf-0:#0b2226;--t-surf-1:#10292e;--t-surf-2:#153338;--t-surf-3:#1c3f45;--t-line-1:#285259;--t-line-2:#3b6c74;--t-text-3:#64959b;--t-text-2:#9fc4c7;--t-text-1:#cfe5e6;--t-text-0:#f3fbfb;--t-acc-1:#f2b134;--t-acc-1-dark:#4a3608;--t-acc-2:#ff7f9f;--t-acc-2-deep:#b23b5c;--t-acc-3:#a6e3d7;--t-acc-3-dark:#13312f;--t-acc-3-deep:#22504b;--th-font:"Inter","Segoe UI",system-ui,sans-serif;--th-display:Georgia,"Palatino Linotype","DejaVu Serif",serif;--th-header:radial-gradient(circle at 62% 50%,#f2b134 0 26px,transparent 27px),radial-gradient(circle at 70% 50%,#ff7f9f 0 26px,transparent 27px),radial-gradient(circle at 78% 50%,#a6e3d7 0 26px,transparent 27px),linear-gradient(180deg,#10292e,#153338);color-scheme:dark}
[data-theme=cutout] .song-jacket{border-radius:50%}
[data-theme=cutout] tbody tr:nth-child(3n+2) .song-jacket{border-radius:50% 50% 6px 6px}
[data-theme=cutout] tbody tr:nth-child(3n) .song-jacket{border-radius:0;clip-path:polygon(25% 4%,75% 4%,100% 50%,75% 96%,25% 96%,0 50%)}
[data-theme=cutout] .brand .app-mark{border-radius:50% 50% 14px 14px;background:#f2b134}
[data-theme=cutout] .workspace,[data-theme=cutout] .chart-card,[data-theme=cutout] .stats{border-radius:40px 40px 10px 10px}
[data-theme=cutout] button:not(.song-button,.photo-link,.goal-song-open,th button),[data-theme=cutout] input,[data-theme=cutout] select{border-radius:999px}
[data-theme=cutout] .page-heading h1,[data-theme=cutout] .page-heading h2{color:#f3fbfb;-webkit-text-fill-color:#f3fbfb;background:none;font-weight:400;font-style:italic}
[data-theme=cutout] .stat-value{font-family:Georgia,"Palatino Linotype","DejaVu Serif",serif;font-weight:400;text-shadow:none}
[data-theme=cutout] .topbar .brand .app-mark{border-radius:50% 50% 10px 10px/58% 58% 10px 10px;background:#f2b134;padding:6px;object-fit:contain}
[data-theme=cutout] .brand>span{font-family:Georgia,'Palatino Linotype',serif;font-style:italic;font-weight:400;font-size:2.2rem}
[data-theme=cutout] .badge:not(#_){box-shadow:none;padding-left:6px;background-image:none;animation:none}
[data-theme=cutout] .badge:not(#_).lamp::before{display:none}
[data-theme=cutout] .badge:not(#_).NOV{--difficulty-accent:#0b2226;--difficulty-fill:#a65cff;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=cutout] .badge:not(#_).ADV{--difficulty-accent:#0b2226;--difficulty-fill:#f2c200;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=cutout] .badge:not(#_).EXH{--difficulty-accent:#0b2226;--difficulty-fill:#ff4a4a;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=cutout] .badge:not(#_).MXM{--difficulty-accent:#0b2226;--difficulty-fill:#f3fbfb;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=cutout] .badge:not(#_).GRV{--difficulty-accent:#0b2226;--difficulty-fill:#ff9a1f;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=cutout] .badge:not(#_).HVN{--difficulty-accent:#0b2226;--difficulty-fill:#19d6e0;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=cutout] .badge:not(#_).VVD{--difficulty-accent:#0b2226;--difficulty-fill:#ff5fb0;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=cutout] .badge:not(#_).XCD{--difficulty-accent:#0b2226;--difficulty-fill:#3d8bff;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=cutout] .badge:not(#_).NBL{--difficulty-accent:#0b2226;--difficulty-fill:#7fdc1a;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=cutout] .badge:not(#_).ULT{--difficulty-accent:#0b2226;--difficulty-fill:#ffd400;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=cutout] .badge:not(#_).INF{--difficulty-accent:#0b2226;--difficulty-fill:#c4c4c4;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=cutout] .badge:not(#_).lamp.no-play{--difficulty-accent:#0b2226;--difficulty-fill:#91a3bc;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=cutout] .badge:not(#_).lamp.played{--difficulty-accent:#0b2226;--difficulty-fill:#ff4a4a;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=cutout] .badge:not(#_).lamp.failed{--difficulty-accent:#0b2226;--difficulty-fill:#ff4a4a;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=cutout] .badge:not(#_).lamp.clear{--difficulty-accent:#0b2226;--difficulty-fill:#3ddc84;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=cutout] .badge:not(#_).lamp.excessive{--difficulty-accent:#0b2226;--difficulty-fill:#b47cff;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=cutout] .badge:not(#_).lamp.mxv{--difficulty-accent:#0b2226;--difficulty-fill:#f3fbfb;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=cutout] .badge:not(#_).lamp.uc{--difficulty-accent:#0b2226;--difficulty-fill:#ff5fb0;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=cutout] .badge:not(#_).lamp.puc{--difficulty-accent:#0b2226;--difficulty-fill:#ffd400;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=cutout] .grade[data-grade]{background:none;-webkit-text-fill-color:currentColor;text-shadow:none;filter:none!important;animation:none;display:inline-grid;place-items:center;width:2.6em;height:2.6em;border-radius:50%;background:#153338;box-shadow:inset 0 3px 0 #0b2226,0 2px 0 #3b6c74;font-family:var(--th-display);font-weight:700;font-size:.82rem}
[data-theme=cutout] .grade[data-grade="D"]{color:#3b6c74}
[data-theme=cutout] .grade[data-grade="C"]{color:#5c8990}
[data-theme=cutout] .grade[data-grade="B"]{color:#7ea7ab}
[data-theme=cutout] .grade[data-grade="A"]{color:#9fc4c7}
[data-theme=cutout] .grade[data-grade="A+"]{color:#a1cecc}
[data-theme=cutout] .grade[data-grade="AA"]{color:#a4d9d2}
[data-theme=cutout] .grade[data-grade="AA+"]{color:#a6e3d7}
[data-theme=cutout] .grade[data-grade="AAA"]{color:#c4c2c4}
[data-theme=cutout] .grade[data-grade="AAA+"]{color:#e1a0b2}
[data-theme=cutout] .grade[data-grade="S"]{color:#ff7f9f}
[data-theme=cutout] .grade[data-grade="S+"]{color:#fb907b}
[data-theme=cutout] .grade[data-grade="S++"]{color:#f6a058}
[data-theme=cutout] .grade[data-grade="PUC"]{color:#f2b134}
[data-theme=cutout] .grade[data-grade^="S"],[data-theme=cutout] .grade[data-grade="PUC"]{background:#f2b134;color:#0b2226;box-shadow:0 3px 0 #b07a14,0 6px 0 #4a3608}
[data-theme=cutout] .badge:not(#_){border:0;border-radius:999px 999px 4px 4px;background:var(--difficulty-fill);color:#0b2226;font-weight:800;box-shadow:0 3px 0 color-mix(in srgb,var(--difficulty-fill) 55%,#000),0 6px 0 #0b222688;padding:2px 9px 0}
[data-theme=cutout] .badge:not(#_).lamp{height:1.75rem}
[data-theme=cutout] .score-table{border-collapse:separate;border-spacing:0 9px}
[data-theme=cutout] .score-table thead th{background:none;color:#f2b134;font-family:var(--th-display);font-style:italic;border:0}
[data-theme=cutout] .score-table tbody td{background:#153338;border:0;box-shadow:0 4px 0 #0b2226}
[data-theme=cutout] .score-table tbody tr:nth-child(3n+2) td{background:#1c3f45}
[data-theme=cutout] .score-table tbody tr:nth-child(3n) td{background:#10292e}
[data-theme=cutout] .score-table tbody td:first-child{border-radius:30px 0 0 30px}
[data-theme=cutout] .score-table tbody td:last-child{border-radius:0 30px 30px 0}
[data-theme=cutout] .score-table tbody tr:hover td{background:#285259}
[data-theme=cutout] td.score-number,[data-theme=cutout] .mobile-score{color:#f2b134!important;font-weight:800;font-family:var(--th-display);font-size:1.05rem}
[data-theme=cutout] .song-jacket{border-radius:50%;box-shadow:0 0 0 3px #f3fbfb,0 4px 0 3px #0b2226}
[data-theme=cutout] .rating-folder-groups button{border:0;border-radius:999px 999px 6px 6px;background:#1c3f45;box-shadow:0 3px 0 #0b2226}
[data-theme=cutout] .rating-folder-groups .selected{background:#ff7f9f;color:#0b2226!important}
[data-theme=cutout] .source-chip{border-radius:999px;border:0;background:#a6e3d7;color:#0b2226;font-weight:700}
[data-theme=cutout] .chart-card,[data-theme=cutout] .goal-card,[data-theme=cutout] .mobile-card{border:0;border-radius:140px 140px 18px 18px;background:#153338;box-shadow:0 8px 0 #0b2226,0 16px 0 #0b222666;padding-top:34px}
[data-theme=cutout] .chart-card,[data-theme=cutout] .mobile-card{border-radius:36px 36px 18px 18px}
[data-theme=cutout] .mobile-card{padding-top:16px}
[data-theme=cutout] svg rect[fill="#7ecbe7"]{fill:#f2b134}
[data-theme=cutout] svg [fill="#78cdeb"]{fill:#f2b134}
[data-theme=cutout] svg [stroke="#78cdeb"]{stroke:#f2b134}
[data-theme=cutout] svg [fill="#fa9fbd"]{fill:#ff7f9f}
[data-theme=cutout] svg [stroke="#fa9fbd"]{stroke:#ff7f9f}
[data-theme=cutout] svg [fill="#a899fc"]{fill:#a6e3d7}
[data-theme=cutout] svg [stroke="#a899fc"]{stroke:#a6e3d7}
[data-theme=cutout] svg [fill="#e5c67d"]{fill:#f3fbfb}
[data-theme=cutout] svg [stroke="#e5c67d"]{stroke:#f3fbfb}
[data-theme=cutout] svg [fill="#6baee9"]{fill:#64959b}
[data-theme=cutout] svg [stroke="#6baee9"]{stroke:#64959b}
[data-theme=cutout] svg [stroke="#362b57"]{stroke:#1c3f45}
[data-theme=cutout] svg [stroke="#6c5e95"]{stroke:#3b6c74}

:root[data-theme=cutout]{--th-font:"TS Fredoka","Segoe UI",system-ui,"Hiragino Sans","Yu Gothic UI",sans-serif;--th-display:"TS Fredoka","Segoe UI",system-ui,"Hiragino Sans","Yu Gothic UI",sans-serif;--th-num:"TS Fredoka","Segoe UI",system-ui,"Hiragino Sans","Yu Gothic UI",sans-serif;--th-title:"TS Fredoka","Segoe UI",system-ui,"Hiragino Sans","Yu Gothic UI",sans-serif}
[data-theme=cutout] td.score-number,[data-theme=cutout] .mobile-score{font-family:var(--th-num)!important}
[data-theme=cutout] .song-button,[data-theme=cutout] .goal-song-open{font-weight:500;font-size:1rem}
[data-theme=cutout] td.score-number,[data-theme=cutout] .mobile-score{font-weight:600!important;font-size:1.15rem!important}
[data-theme=cutout] td.number{font-weight:400;letter-spacing:0}
[data-theme=cutout] .stat-value{font-weight:600;font-stretch:112%}
[data-theme=cutout] .page-heading h1,[data-theme=cutout] .page-heading h2{font-weight:600!important;font-style:normal!important;font-stretch:115%}
[data-theme=cutout] input:not([type=checkbox]):not([type=radio]):not([type=range]),[data-theme=cutout] select{border-radius:999px;background:#1c3f45;border:0;box-shadow:0 3px 0 #0b2226;padding-inline:14px}
[data-theme=cutout] input[type=checkbox]{accent-color:var(--t-acc-1)}

@media(min-width:1101px){[data-theme=cutout] .topbar{height:auto;padding:18px 32px 0;align-items:end}
[data-theme=cutout] .topbar .brand .app-mark{width:110px;height:130px}
[data-theme=cutout] nav{gap:8px;border-bottom:3px solid #f2b134;padding-top:14px}
[data-theme=cutout] nav a{border:0;border-radius:999px 999px 0 0;padding:14px 18px 10px;background:#153338}
[data-theme=cutout] nav a.active{background:#f2b134;color:#0b2226}
[data-theme=cutout] .stats{background:none;border:0;box-shadow:none;gap:16px;overflow:visible}
[data-theme=cutout] .stats::before{display:none}
[data-theme=cutout] .stat{border:0!important;aspect-ratio:1;border-radius:50%;background:#153338;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:12px;max-width:210px;justify-self:center;width:100%}
[data-theme=cutout] .stat:nth-child(2){background:#1c3f45}
[data-theme=cutout] .stat:nth-child(3){background:#3d1f2a}
[data-theme=cutout] .stat:nth-child(4){background:#3a2d0c}

}

/* Cut & Paste — Handmade & collage */
:root[data-theme=collage]{--t-surf-0:#c9ab7c;--t-surf-1:#f4ecdc;--t-surf-2:#efe5d0;--t-surf-3:#e5d8bd;--t-line-1:#a88a5e;--t-line-2:#7d6440;--t-text-3:#6b563b;--t-text-2:#4b3c29;--t-text-1:#33281b;--t-text-0:#1e170f;--t-acc-1:#c23b2b;--t-acc-1-dark:#f2d5cc;--t-acc-2:#2f5d8a;--t-acc-2-deep:#1f3f60;--t-acc-3:#e3b23c;--t-acc-3-dark:#f3e2b6;--t-acc-3-deep:#6b4f1a;--th-font:"Courier New",Courier,"DejaVu Sans Mono",monospace;--th-display:"Courier New",Courier,"DejaVu Sans Mono",monospace;--th-header:linear-gradient(100deg,#f4ecdc 0 46%,transparent 46.4%),linear-gradient(176deg,transparent 0 60%,#f4ecdc 60.5% 100%),linear-gradient(183deg,#2f5d8a 0 48%,transparent 48.5%),#c23b2b;color-scheme:light}
[data-theme=collage] body{background:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%22200%22 height=%22200%22%3E%3Cfilter id=%22k%22%3E%3CfeTurbulence type=%22fractalNoise%22 baseFrequency=%22.75%22 numOctaves=%223%22 seed=%229%22/%3E%3CfeColorMatrix values=%220 0 0 0 .35  0 0 0 0 .24  0 0 0 0 .12  0 0 0 .35 0%22/%3E%3C/filter%3E%3Crect width=%22200%22 height=%22200%22 filter=%22url(%23k)%22/%3E%3C/svg%3E") 0 0/200px 200px,#c9ab7c}
[data-theme=collage] .workspace,[data-theme=collage] .chart-card,[data-theme=collage] .stats,[data-theme=collage] dialog,[data-theme=collage] .login-card{border:0;border-radius:2px;box-shadow:0 2px 0 #a88a5e,0 10px 24px #33281b55;position:relative}
[data-theme=collage] .stats{transform:rotate(-.4deg)}[data-theme=collage] .chart-card:nth-child(2){transform:rotate(.5deg)}
[data-theme=collage] .stats::before,[data-theme=collage] .workspace::before{content:"";position:absolute;top:-10px;left:-14px;width:110px;height:24px;background:#e3b23ccc;transform:rotate(-4deg);opacity:1;z-index:2}
[data-theme=collage] .page-heading h1,[data-theme=collage] .page-heading h2{display:inline-block;color:#f4ecdc;-webkit-text-fill-color:#f4ecdc;background:#1e170f;padding:2px 12px;transform:rotate(-1deg);font-weight:700}
[data-theme=collage] .stat-value{color:#c23b2b;text-shadow:none}
[data-theme=collage] button:not(.song-button,.photo-link,.goal-song-open,th button),[data-theme=collage] input,[data-theme=collage] select{border-radius:0;border-style:dashed}
[data-theme=collage] button:not(.song-button,.photo-link,.goal-song-open,th button).primary{background:#c23b2b;color:#f4ecdc;border-style:solid}
[data-theme=collage] .app-mark{content:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 120 120%22%3E%3Cpath d=%22M8 20l50-8 54 10-6 84-48 6-46-10z%22 fill=%22%232f5d8a%22/%3E%3Cpath d=%22M14 72l14-14 18 10 16-20 22 14 26-12-2 52-46 6-46-10z%22 fill=%22%23f4ecdc%22/%3E%3Cpath d=%22M60 30l34 4-4 22-32-6z%22 fill=%22%23c23b2b%22/%3E%3Crect x=%2230%22 y=%222%22 width=%2244%22 height=%2214%22 fill=%22%23e3b23c%22 opacity=%22.9%22 transform=%22rotate(-6 52 9)%22/%3E%3C/svg%3E");image-rendering:auto}
[data-theme=collage] .brand>span{font-family:'Courier New',Courier,monospace;font-weight:700;font-size:2rem;background:#1e170f!important;-webkit-text-fill-color:#f4ecdc!important;padding:0 10px;transform:rotate(-2deg);display:inline-block}
[data-theme=collage] .brand>span::first-letter{background:#c23b2b}
[data-theme=collage] .badge:not(#_){box-shadow:none;padding-left:6px;background-image:none;animation:none}
[data-theme=collage] .badge:not(#_).lamp::before{display:none}
[data-theme=collage] .badge:not(#_).NOV{--difficulty-accent:#1e170f;--difficulty-fill:#a65cff;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=collage] .badge:not(#_).ADV{--difficulty-accent:#1e170f;--difficulty-fill:#f2c200;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=collage] .badge:not(#_).EXH{--difficulty-accent:#1e170f;--difficulty-fill:#d9644f;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=collage] .badge:not(#_).MXM{--difficulty-accent:#1e170f;--difficulty-fill:#efe5d0;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=collage] .badge:not(#_).GRV{--difficulty-accent:#1e170f;--difficulty-fill:#ff9a1f;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=collage] .badge:not(#_).HVN{--difficulty-accent:#1e170f;--difficulty-fill:#19d6e0;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=collage] .badge:not(#_).VVD{--difficulty-accent:#1e170f;--difficulty-fill:#ff5fb0;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=collage] .badge:not(#_).XCD{--difficulty-accent:#1e170f;--difficulty-fill:#3d8bff;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=collage] .badge:not(#_).NBL{--difficulty-accent:#1e170f;--difficulty-fill:#7fdc1a;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=collage] .badge:not(#_).ULT{--difficulty-accent:#1e170f;--difficulty-fill:#ffd400;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=collage] .badge:not(#_).INF{--difficulty-accent:#1e170f;--difficulty-fill:#c4c4c4;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=collage] .badge:not(#_).lamp.no-play{--difficulty-accent:#1e170f;--difficulty-fill:#91a3bc;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=collage] .badge:not(#_).lamp.played{--difficulty-accent:#1e170f;--difficulty-fill:#ff4a4a;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=collage] .badge:not(#_).lamp.failed{--difficulty-accent:#1e170f;--difficulty-fill:#d9644f;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=collage] .badge:not(#_).lamp.clear{--difficulty-accent:#1e170f;--difficulty-fill:#8fb36a;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=collage] .badge:not(#_).lamp.excessive{--difficulty-accent:#1e170f;--difficulty-fill:#a68bc4;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=collage] .badge:not(#_).lamp.mxv{--difficulty-accent:#1e170f;--difficulty-fill:#efe5d0;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=collage] .badge:not(#_).lamp.uc{--difficulty-accent:#1e170f;--difficulty-fill:#e0809f;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=collage] .badge:not(#_).lamp.puc{--difficulty-accent:#1e170f;--difficulty-fill:#e3b23c;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=collage] .grade[data-grade]{background:none;-webkit-text-fill-color:currentColor;text-shadow:none;filter:none!important;animation:none;font-family:var(--th-display);font-weight:700;padding:0 4px}
[data-theme=collage] .grade[data-grade="D"]{color:#7d6440}
[data-theme=collage] .grade[data-grade="C"]{color:#705a3a}
[data-theme=collage] .grade[data-grade="B"]{color:#645034}
[data-theme=collage] .grade[data-grade="A"]{color:#58462f}
[data-theme=collage] .grade[data-grade="A+"]{color:#4b3c29}
[data-theme=collage] .grade[data-grade="AA"]{color:#444441}
[data-theme=collage] .grade[data-grade="AA+"]{color:#3d4c5a}
[data-theme=collage] .grade[data-grade="AAA"]{color:#365572}
[data-theme=collage] .grade[data-grade="AAA+"]{color:#2f5d8a}
[data-theme=collage] .grade[data-grade="S"]{color:#545472}
[data-theme=collage] .grade[data-grade="S+"]{color:#784c5a}
[data-theme=collage] .grade[data-grade="S++"]{color:#9d4443}
[data-theme=collage] .grade[data-grade="PUC"]{color:#c23b2b}
[data-theme=collage] .grade[data-grade^="S"],[data-theme=collage] .grade[data-grade="PUC"]{color:#c23b2b;border:2px solid #c23b2b;border-radius:50% 45% 55% 40%;padding:1px 6px;transform:rotate(-6deg);display:inline-block}
[data-theme=collage] .badge:not(#_){border:0;border-radius:0;background:var(--difficulty-fill);color:#1e170f;font-family:var(--th-display);font-weight:700;padding:0 10px;border-top:1px dashed #1e170f55;border-bottom:1px dashed #1e170f55;-webkit-mask:radial-gradient(circle 5px at 0 50%,#0000 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 5px at 100% 50%,#0000 98%,#000) right/51% 100% no-repeat;mask:radial-gradient(circle 5px at 0 50%,#0000 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 5px at 100% 50%,#0000 98%,#000) right/51% 100% no-repeat}
[data-theme=collage] .badge:not(#_).lamp{width:4.8rem;height:1.6rem}
[data-theme=collage] .score-table{background:repeating-linear-gradient(#f4ecdc 0 43px,#a9c4e4 43px 44px)}
[data-theme=collage] .score-table thead th{background:#f4ecdc;color:#c23b2b;font-family:var(--th-display);border-bottom:2px solid #c23b2b}
[data-theme=collage] .score-table tbody td{border:0}
[data-theme=collage] .score-table tbody td:first-child{box-shadow:inset -2px 0 #e08a7a}
[data-theme=collage] .score-table tbody tr:hover{background:#fff3a866}
[data-theme=collage] td.score-number,[data-theme=collage] .mobile-score{font-family:var(--th-display);color:#1e170f!important;font-weight:700}
[data-theme=collage] .song-jacket{border:4px solid #fff;border-bottom-width:10px;box-shadow:1px 2px 4px #0005;transform:rotate(-4deg)}
[data-theme=collage] tr:nth-child(even) .song-jacket{transform:rotate(3deg)}
[data-theme=collage] .rating-folder-groups button{border:0;border-radius:0;background:#efe5d0;font-family:var(--th-display);-webkit-mask:radial-gradient(circle 5px at 0 50%,#0000 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 5px at 100% 50%,#0000 98%,#000) right/51% 100% no-repeat;mask:radial-gradient(circle 5px at 0 50%,#0000 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 5px at 100% 50%,#0000 98%,#000) right/51% 100% no-repeat}
[data-theme=collage] .rating-folder-groups .selected{background:#c23b2b;color:#f4ecdc!important}
[data-theme=collage] .rating-folder-groups .lv-text{-webkit-text-fill-color:currentColor;background:none}
[data-theme=collage] .source-chip{border-radius:0;border:1px solid #6b563b;background:#f3e2b6}
[data-theme=collage] .chart-card,[data-theme=collage] .goal-card,[data-theme=collage] .mobile-card{border:0;border-radius:0;background:#f4ecdc;box-shadow:2px 4px 10px #0004}
[data-theme=collage] .goal-card:nth-child(odd){transform:rotate(-1deg)}
[data-theme=collage] .goal-card:nth-child(even){transform:rotate(.8deg);background:#efe5d0}
[data-theme=collage] .goal-card::after{content:"";position:absolute;top:-8px;right:20px;width:70px;height:20px;background:#e3b23caa;transform:rotate(8deg)}
[data-theme=collage] .topbar .header-actions{background:#1e170f;padding:6px 12px;box-shadow:3px 3px 0 #c23b2b}
[data-theme=collage] .topbar .header-actions :is(a,.player-tag){color:#f4ecdc!important}
[data-theme=collage] svg rect[fill="#7ecbe7"]{fill:#2f5d8a}
[data-theme=collage] svg [fill="#78cdeb"]{fill:#c23b2b}
[data-theme=collage] svg [stroke="#78cdeb"]{stroke:#c23b2b}
[data-theme=collage] svg [fill="#fa9fbd"]{fill:#2f5d8a}
[data-theme=collage] svg [stroke="#fa9fbd"]{stroke:#2f5d8a}
[data-theme=collage] svg [fill="#a899fc"]{fill:#e3b23c}
[data-theme=collage] svg [stroke="#a899fc"]{stroke:#e3b23c}
[data-theme=collage] svg [fill="#e5c67d"]{fill:#5a7d3a}
[data-theme=collage] svg [stroke="#e5c67d"]{stroke:#5a7d3a}
[data-theme=collage] svg [fill="#6baee9"]{fill:#6b563b}
[data-theme=collage] svg [stroke="#6baee9"]{stroke:#6b563b}
[data-theme=collage] svg [stroke="#362b57"]{stroke:#e5d8bd}
[data-theme=collage] svg [stroke="#6c5e95"]{stroke:#a88a5e}

:root[data-theme=collage]{--th-font:"TS Courier Prime",Consolas,"Cascadia Mono","MS Gothic",monospace;--th-display:"TS Abril Fatface",Georgia,"Yu Mincho","Hiragino Mincho ProN",serif;--th-num:"TS Cutive Mono",Consolas,"Cascadia Mono","MS Gothic",monospace;--th-title:"TS Permanent Marker","Segoe UI",system-ui,"Hiragino Sans","Yu Gothic UI",sans-serif}
[data-theme=collage] td.score-number,[data-theme=collage] .mobile-score{font-family:var(--th-num)!important}
[data-theme=collage] .song-button,[data-theme=collage] .goal-song-open{font-size:.98rem;letter-spacing:.01em;line-height:1.25}
[data-theme=collage] .song-button{transform:rotate(-1deg);display:inline-block}
[data-theme=collage] td.score-number,[data-theme=collage] .mobile-score{font-size:1.1rem!important;font-weight:400!important;letter-spacing:.04em}
[data-theme=collage] td.number{letter-spacing:.02em}
[data-theme=collage] .stat-value{font-family:"TS Abril Fatface",serif;font-size:2.5rem}
[data-theme=collage] input:not([type=checkbox]):not([type=radio]):not([type=range]),[data-theme=collage] select{border-radius:0;background:#fffaf0;border:1px solid #a88a5e;box-shadow:2px 2px 0 #0002}
[data-theme=collage] input[type=checkbox]{accent-color:var(--t-acc-1)}

@media(min-width:1101px){[data-theme=collage] .topbar{height:auto;padding:20px 36px 34px;clip-path:polygon(0 0,100% 0,100% 82%,96% 88%,91% 83%,85% 90%,78% 84%,70% 91%,62% 85%,54% 92%,46% 86%,38% 93%,30% 86%,22% 92%,14% 85%,7% 91%,0 84%)}
[data-theme=collage] .topbar::after{display:none}
[data-theme=collage] nav{gap:12px;border-bottom:0;padding-top:6px}
[data-theme=collage] nav a{background:#f4ecdc;color:#1e170f;padding:6px 12px;box-shadow:0 2px 4px #33281b55;border:0}
[data-theme=collage] nav a:nth-child(odd){transform:rotate(-2deg)}
[data-theme=collage] nav a:nth-child(even){transform:rotate(1.5deg)}
[data-theme=collage] nav a.active{background:#c23b2b;color:#f4ecdc}

}

/* Aurora — Gradients & blends */
:root[data-theme=aurora]{--t-surf-0:#0b0b1a;--t-surf-1:#12122a;--t-surf-2:#18183a;--t-surf-3:#20204a;--t-line-1:#2c2c5e;--t-line-2:#40407c;--t-text-3:#6e6ea6;--t-text-2:#a5a5d4;--t-text-1:#d4d4f0;--t-text-0:#f6f6ff;--t-acc-1:#7cf5d0;--t-acc-1-dark:#123a33;--t-acc-2:#ff9ad5;--t-acc-2-deep:#a23a7a;--t-acc-3:#b8a4ff;--t-acc-3-dark:#1c1640;--t-acc-3-deep:#3c2f86;--th-font:"Inter","Segoe UI",system-ui,sans-serif;--th-display:"Inter Display","Inter","Segoe UI",system-ui,sans-serif;--th-header:linear-gradient(110deg,#7cf5d0,#7aa8ff 30%,#b8a4ff 55%,#ff9ad5 80%,#ffd49a);color-scheme:dark}
[data-theme=aurora] body{background:#0b0b1a}
[data-theme=aurora] body::before{content:"";position:fixed;inset:-20%;z-index:-1;opacity:.45;background:radial-gradient(40% 35% at 20% 30%,#7cf5d0,transparent 70%),radial-gradient(35% 40% at 75% 25%,#b8a4ff,transparent 70%),radial-gradient(45% 35% at 60% 85%,#ff9ad5,transparent 70%);filter:blur(40px)}
[data-theme=aurora] .workspace,[data-theme=aurora] .chart-card,[data-theme=aurora] .stats,[data-theme=aurora] dialog,[data-theme=aurora] .login-card{background:#12122acc;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:18px;border-color:#ffffff1f}
[data-theme=aurora] .topbar{background:#12122a99;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
[data-theme=aurora] .page-heading h1,[data-theme=aurora] .page-heading h2{background:linear-gradient(100deg,#7cf5d0,#b8a4ff 50%,#ff9ad5);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-weight:700}
[data-theme=aurora] button:not(.song-button,.photo-link,.goal-song-open,th button).primary{background:linear-gradient(110deg,#7cf5d0,#b8a4ff 60%,#ff9ad5);color:#0b0b1a;border:0}
[data-theme=aurora] button:not(.song-button,.photo-link,.goal-song-open,th button),[data-theme=aurora] input,[data-theme=aurora] select{border-radius:12px}
@media(prefers-reduced-motion:no-preference){[data-theme=aurora] body::before{animation:aurora-drift 24s ease-in-out infinite alternate}[data-theme=aurora] .horizon{background-size:200% 100%;animation:aurora-band 12s ease-in-out infinite alternate}}
@keyframes aurora-drift{to{transform:translate(4%,-3%) rotate(8deg) scale(1.08)}}
@keyframes aurora-band{to{background-position:100% 0}}
[data-theme=aurora] .app-mark{content:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 120 120%22%3E%3Cdefs%3E%3ClinearGradient id=%22a%22 x1=%220%22 y1=%220%22 x2=%221%22 y2=%221%22%3E%3Cstop offset=%220%22 stop-color=%22%237cf5d0%22/%3E%3Cstop offset=%22.5%22 stop-color=%22%23b8a4ff%22/%3E%3Cstop offset=%221%22 stop-color=%22%23ff9ad5%22/%3E%3C/linearGradient%3E%3C/defs%3E%3Ccircle cx=%2260%22 cy=%2260%22 r=%2248%22 fill=%22none%22 stroke=%22url(%23a)%22 stroke-width=%2214%22/%3E%3Cpath d=%22M30 66c10-12 20-12 30-2s20 10 30-2%22 fill=%22none%22 stroke=%22url(%23a)%22 stroke-width=%228%22 stroke-linecap=%22round%22/%3E%3C/svg%3E");image-rendering:auto}
[data-theme=aurora] .brand>span{font-weight:700;background:linear-gradient(100deg,#7cf5d0,#b8a4ff,#ff9ad5)!important;-webkit-background-clip:text!important;background-clip:text!important;-webkit-text-fill-color:transparent!important}
[data-theme=aurora] .badge:not(#_){box-shadow:none;padding-left:6px;background-image:none;animation:none}
[data-theme=aurora] .badge:not(#_).lamp::before{display:none}
[data-theme=aurora] .badge:not(#_).NOV{--difficulty-accent:#a65cff;--difficulty-fill:#2d1d4c;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=aurora] .badge:not(#_).ADV{--difficulty-accent:#f2c200;--difficulty-fill:#3e3314;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=aurora] .badge:not(#_).EXH{--difficulty-accent:#ff4a4a;--difficulty-fill:#411925;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=aurora] .badge:not(#_).MXM{--difficulty-accent:#d4d8e0;--difficulty-fill:#373846;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=aurora] .badge:not(#_).GRV{--difficulty-accent:#ff9a1f;--difficulty-fill:#412a1b;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=aurora] .badge:not(#_).HVN{--difficulty-accent:#19d6e0;--difficulty-fill:#0e3846;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=aurora] .badge:not(#_).VVD{--difficulty-accent:#ff5fb0;--difficulty-fill:#411d3b;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=aurora] .badge:not(#_).XCD{--difficulty-accent:#3d8bff;--difficulty-fill:#16274c;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=aurora] .badge:not(#_).NBL{--difficulty-accent:#7fdc1a;--difficulty-fill:#25391a;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=aurora] .badge:not(#_).ULT{--difficulty-accent:#ffd400;--difficulty-fill:#413714;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=aurora] .badge:not(#_).INF{--difficulty-accent:#c4c4c4;--difficulty-fill:#34343f;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=aurora] .badge:not(#_).lamp.no-play{--difficulty-accent:#91a3bc;--difficulty-fill:#282c3e;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=aurora] .badge:not(#_).lamp.played{--difficulty-accent:#ff4a4a;--difficulty-fill:#411925;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=aurora] .badge:not(#_).lamp.failed{--difficulty-accent:#ff4a4a;--difficulty-fill:#411925;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=aurora] .badge:not(#_).lamp.clear{--difficulty-accent:#3ddc84;--difficulty-fill:#163931;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=aurora] .badge:not(#_).lamp.excessive{--difficulty-accent:#b47cff;--difficulty-fill:#30244c;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=aurora] .badge:not(#_).lamp.mxv{--difficulty-accent:#e6eaf0;--difficulty-fill:#3b3c49;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=aurora] .badge:not(#_).lamp.uc{--difficulty-accent:#ff5fb0;--difficulty-fill:#411d3b;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=aurora] .badge:not(#_).lamp.puc{--difficulty-accent:#ffd400;--difficulty-fill:#413714;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=aurora] .grade[data-grade]{background:none;-webkit-text-fill-color:currentColor;text-shadow:none;filter:none!important;animation:none;font-weight:700;text-shadow:0 0 10px currentColor}
[data-theme=aurora] .grade[data-grade="D"]{color:#6e6ea6}
[data-theme=aurora] .grade[data-grade="C"]{color:#8080b5}
[data-theme=aurora] .grade[data-grade="B"]{color:#9393c5}
[data-theme=aurora] .grade[data-grade="A"]{color:#a5a5d4}
[data-theme=aurora] .grade[data-grade="A+"]{color:#97c0d3}
[data-theme=aurora] .grade[data-grade="AA"]{color:#8adad1}
[data-theme=aurora] .grade[data-grade="AA+"]{color:#7cf5d0}
[data-theme=aurora] .grade[data-grade="AAA"]{color:#90dae0}
[data-theme=aurora] .grade[data-grade="AAA+"]{color:#a4bfef}
[data-theme=aurora] .grade[data-grade="S"]{color:#b8a4ff}
[data-theme=aurora] .grade[data-grade="S+"]{color:#d0a1f1}
[data-theme=aurora] .grade[data-grade="S++"]{color:#e79de3}
[data-theme=aurora] .grade[data-grade="PUC"]{color:#ff9ad5}
[data-theme=aurora] .grade[data-grade^="S"],[data-theme=aurora] .grade[data-grade="PUC"]{background:linear-gradient(90deg,#7cf5d0,#b8a4ff,#ff9ad5);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 8px #b8a4ff88)!important}
[data-theme=aurora] .badge:not(#_){border:1px solid color-mix(in srgb,var(--difficulty-accent) 55%,transparent);border-radius:999px;background:linear-gradient(135deg,color-mix(in srgb,var(--difficulty-accent) 40%,transparent),color-mix(in srgb,var(--difficulty-accent) 8%,transparent));backdrop-filter:blur(8px);box-shadow:0 0 16px -4px var(--difficulty-accent),inset 0 1px #ffffff40;font-weight:600}
[data-theme=aurora] .score-table thead th{background:none;color:#a5a5d4;border:0;font-weight:500}
[data-theme=aurora] .score-table tbody td{border-bottom:1px solid #ffffff10}
[data-theme=aurora] .score-table tbody tr:hover{background:linear-gradient(90deg,#7cf5d014,#b8a4ff14,#ff9ad514)}
[data-theme=aurora] td.score-number,[data-theme=aurora] .mobile-score{color:#f6f6ff!important;font-weight:600;text-shadow:0 0 14px #7cf5d088}
[data-theme=aurora] .song-jacket{border-radius:14px;box-shadow:0 0 18px -4px #b8a4ff}
[data-theme=aurora] .rating-folder-groups button{border-radius:999px;border:1px solid #ffffff22;background:#ffffff0a;backdrop-filter:blur(8px)}
[data-theme=aurora] .rating-folder-groups .selected{background:linear-gradient(90deg,#7cf5d0,#b8a4ff,#ff9ad5);color:#0b0b1a!important;border-color:transparent}
[data-theme=aurora] .source-chip{border-radius:999px;border-color:#ffffff22;background:#ffffff0a}
@media(min-width:1101px){[data-theme=aurora] .topbar .brand>span{background:linear-gradient(100deg,#0b0b1a,#3c2f86 60%,#a23a7a)!important;-webkit-background-clip:text!important;background-clip:text!important}
[data-theme=aurora] .topbar .brand small{color:#20204a;-webkit-text-fill-color:#20204a}
}[data-theme=aurora] .topbar .header-actions{background:#0b0b1acc;padding:6px 12px;border-radius:999px;backdrop-filter:blur(8px)}
[data-theme=aurora] .chart-card,[data-theme=aurora] .goal-card,[data-theme=aurora] .mobile-card{border-radius:24px;border:1px solid #ffffff1a;background:linear-gradient(160deg,#ffffff12,#ffffff04);backdrop-filter:blur(14px);box-shadow:0 30px 60px -30px #000,inset 0 1px #ffffff26}
[data-theme=aurora] svg rect[fill="#7ecbe7"]{fill:#7cf5d0}
[data-theme=aurora] svg [fill="#78cdeb"]{fill:#7cf5d0}
[data-theme=aurora] svg [stroke="#78cdeb"]{stroke:#7cf5d0}
[data-theme=aurora] svg [fill="#fa9fbd"]{fill:#ff9ad5}
[data-theme=aurora] svg [stroke="#fa9fbd"]{stroke:#ff9ad5}
[data-theme=aurora] svg [fill="#a899fc"]{fill:#b8a4ff}
[data-theme=aurora] svg [stroke="#a899fc"]{stroke:#b8a4ff}
[data-theme=aurora] svg [fill="#e5c67d"]{fill:#ffe29a}
[data-theme=aurora] svg [stroke="#e5c67d"]{stroke:#ffe29a}
[data-theme=aurora] svg [fill="#6baee9"]{fill:#8fd0ff}
[data-theme=aurora] svg [stroke="#6baee9"]{stroke:#8fd0ff}
[data-theme=aurora] svg [stroke="#362b57"]{stroke:#20204a}
[data-theme=aurora] svg [stroke="#6c5e95"]{stroke:#40407c}

:root[data-theme=aurora]{--th-font:"TS Outfit","Segoe UI",system-ui,"Hiragino Sans","Yu Gothic UI",sans-serif;--th-display:"TS Outfit","Segoe UI",system-ui,"Hiragino Sans","Yu Gothic UI",sans-serif;--th-num:"TS Outfit","Segoe UI",system-ui,"Hiragino Sans","Yu Gothic UI",sans-serif;--th-title:"TS Outfit","Segoe UI",system-ui,"Hiragino Sans","Yu Gothic UI",sans-serif}
[data-theme=aurora] td.score-number,[data-theme=aurora] .mobile-score{font-family:var(--th-num)!important}
[data-theme=aurora] .song-button,[data-theme=aurora] .goal-song-open{font-weight:500;font-size:1rem;letter-spacing:.01em}
[data-theme=aurora] td.score-number,[data-theme=aurora] .mobile-score{font-weight:200!important;font-size:1.3rem!important;letter-spacing:.03em}
[data-theme=aurora] td.number{font-weight:300;letter-spacing:.01em}
[data-theme=aurora] .stat-value{font-weight:100;font-size:2.8rem}
[data-theme=aurora] .page-heading h1,[data-theme=aurora] .page-heading h2{font-weight:200!important;letter-spacing:-.02em}
[data-theme=aurora] input:not([type=checkbox]):not([type=radio]):not([type=range]),[data-theme=aurora] select{border-radius:999px;background:#ffffff0d;border:1px solid #ffffff22;padding-inline:14px}
[data-theme=aurora] input[type=checkbox]{accent-color:var(--t-acc-1)}

@media(min-width:1101px){[data-theme=aurora] #app{display:grid;grid-template-columns:230px minmax(0,1fr);grid-template-rows:auto 1fr}
[data-theme=aurora] #app>.view-as-banner{grid-column:1/-1}
[data-theme=aurora] .topbar{grid-column:1/-1;margin:16px 16px 0;border-radius:22px;height:auto;padding:14px 26px;border:1px solid #ffffff1f}
[data-theme=aurora] .topbar::after{display:none}
[data-theme=aurora] .shell{display:contents}
[data-theme=aurora] nav{grid-column:1;grid-row:2;flex-direction:column;align-items:stretch;align-self:start;position:sticky;top:16px;margin:16px 0 16px 16px;padding:10px;gap:4px;border:1px solid #ffffff1f;border-radius:20px;background:#12122acc;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
[data-theme=aurora] nav a{padding:10px 14px;border-radius:12px;border:0}
[data-theme=aurora] nav a.active{background:linear-gradient(110deg,#7cf5d044,#b8a4ff44,#ff9ad544);color:#f6f6ff}
[data-theme=aurora] main{grid-column:2;grid-row:2;padding:8px 28px 32px;min-width:0}

}

/* Chrome Future — Retro-futurism */
:root[data-theme=chrome]{--t-surf-0:#050506;--t-surf-1:#0d0d10;--t-surf-2:#141418;--t-surf-3:#1d1d22;--t-line-1:#2a2a31;--t-line-2:#3f3f48;--t-text-3:#6a6a76;--t-text-2:#a7a7b3;--t-text-1:#d6d6de;--t-text-0:#fafafc;--t-acc-1:#ffb238;--t-acc-1-dark:#3d2706;--t-acc-2:#ff5a36;--t-acc-2-deep:#9b2f17;--t-acc-3:#c9d1e0;--t-acc-3-dark:#121218;--t-acc-3-deep:#2b2b36;--th-font:"Inter","Segoe UI",system-ui,sans-serif;--th-display:Bahnschrift,"Arial Narrow","DejaVu Sans Condensed",sans-serif;--th-header:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%22120%22 height=%2280%22 shape-rendering=%22crispEdges%22%3E%3Cg fill=%22%23fff%22%3E%3Crect x=%228%22 y=%2210%22 width=%222%22 height=%222%22/%3E%3Crect x=%2260%22 y=%2230%22 width=%222%22 height=%222%22/%3E%3Crect x=%22100%22 y=%228%22 width=%222%22 height=%222%22 fill=%22%23ff5bd1%22/%3E%3Crect x=%2234%22 y=%2258%22 width=%222%22 height=%222%22 fill=%22%234df3ff%22/%3E%3Crect x=%2288%22 y=%2262%22 width=%222%22 height=%222%22/%3E%3Crect x=%2218%22 y=%2236%22 width=%221%22 height=%221%22/%3E%3Crect x=%2274%22 y=%2250%22 width=%221%22 height=%221%22/%3E%3C/g%3E%3C/svg%3E") 0 0/120px 80px,radial-gradient(70% 160% at 50% 160%,#ffb23866,transparent 70%),#050506;color-scheme:dark}
[data-theme=chrome] .page-heading h1,[data-theme=chrome] .page-heading h2,[data-theme=chrome] .brand>span{background:linear-gradient(180deg,#ffffff 0%,#d6d6de 40%,#4b4b57 50%,#c9d1e0 58%,#ffffff 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-weight:700;font-style:italic;text-transform:uppercase;letter-spacing:.04em;filter:drop-shadow(0 0 10px #ffb23866)}
[data-theme=chrome] .workspace,[data-theme=chrome] .chart-card,[data-theme=chrome] .stats,[data-theme=chrome] dialog,[data-theme=chrome] .login-card{border-radius:20px 4px 20px 4px;border:1px solid #3f3f48;box-shadow:inset 0 1px #ffffff22,inset 0 -2px #00000088,0 0 0 1px #000,0 0 30px #ffb2381a}
[data-theme=chrome] .stat-value{color:#ffb238;text-shadow:0 0 14px #ffb23888}
[data-theme=chrome] .stat-value.pink{color:#ff5a36;text-shadow:0 0 14px #ff5a3688}
[data-theme=chrome] button:not(.song-button,.photo-link,.goal-song-open,th button).primary{background:linear-gradient(180deg,#ffd27a,#ffb238 50%,#c47a0e);color:#050506;border-color:#ffb238}
[data-theme=chrome] body{background:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%22120%22 height=%2280%22 shape-rendering=%22crispEdges%22%3E%3Cg fill=%22%23fff%22%3E%3Crect x=%228%22 y=%2210%22 width=%222%22 height=%222%22/%3E%3Crect x=%2260%22 y=%2230%22 width=%222%22 height=%222%22/%3E%3Crect x=%22100%22 y=%228%22 width=%222%22 height=%222%22 fill=%22%23ff5bd1%22/%3E%3Crect x=%2234%22 y=%2258%22 width=%222%22 height=%222%22 fill=%22%234df3ff%22/%3E%3Crect x=%2288%22 y=%2262%22 width=%222%22 height=%222%22/%3E%3Crect x=%2218%22 y=%2236%22 width=%221%22 height=%221%22/%3E%3Crect x=%2274%22 y=%2250%22 width=%221%22 height=%221%22/%3E%3C/g%3E%3C/svg%3E") 0 0/120px 80px,#050506}
[data-theme=chrome] .app-mark{content:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 120 120%22%3E%3Cdefs%3E%3ClinearGradient id=%22m%22 x1=%220%22 y1=%220%22 x2=%220%22 y2=%221%22%3E%3Cstop offset=%220%22 stop-color=%22%23ffffff%22/%3E%3Cstop offset=%22.45%22 stop-color=%22%239aa0ae%22/%3E%3Cstop offset=%22.5%22 stop-color=%22%232b2b36%22/%3E%3Cstop offset=%22.62%22 stop-color=%22%23c9d1e0%22/%3E%3Cstop offset=%221%22 stop-color=%22%23ffffff%22/%3E%3C/linearGradient%3E%3C/defs%3E%3Ccircle cx=%2260%22 cy=%2260%22 r=%2254%22 fill=%22url(%23m)%22 stroke=%22%23ffb238%22 stroke-width=%223%22/%3E%3Cg fill=%22%23050506%22%3E%3Crect x=%2210%22 y=%2270%22 width=%22100%22 height=%225%22/%3E%3Crect x=%2214%22 y=%2282%22 width=%2292%22 height=%226%22/%3E%3Crect x=%2222%22 y=%2295%22 width=%2276%22 height=%227%22/%3E%3C/g%3E%3Ccircle cx=%2242%22 cy=%2236%22 r=%228%22 fill=%22%23fff%22 opacity=%22.8%22/%3E%3C/svg%3E");image-rendering:auto}
[data-theme=chrome] .brand>span{font-size:2rem}
[data-theme=chrome] nav a{font-family:Bahnschrift,'Arial Narrow',sans-serif;text-transform:uppercase;letter-spacing:.1em}
[data-theme=chrome] .badge:not(#_){box-shadow:none;padding-left:6px;background-image:none;animation:none}
[data-theme=chrome] .badge:not(#_).lamp::before{display:none}
[data-theme=chrome] .badge:not(#_).NOV{--difficulty-accent:#a65cff;--difficulty-fill:#28183d;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=chrome] .badge:not(#_).ADV{--difficulty-accent:#f2c200;--difficulty-fill:#392f05;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=chrome] .badge:not(#_).EXH{--difficulty-accent:#ff4a4a;--difficulty-fill:#3c1415;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=chrome] .badge:not(#_).MXM{--difficulty-accent:#d4d8e0;--difficulty-fill:#333336;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=chrome] .badge:not(#_).GRV{--difficulty-accent:#ff9a1f;--difficulty-fill:#3c260c;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=chrome] .badge:not(#_).HVN{--difficulty-accent:#19d6e0;--difficulty-fill:#093336;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=chrome] .badge:not(#_).VVD{--difficulty-accent:#ff5fb0;--difficulty-fill:#3c192b;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=chrome] .badge:not(#_).XCD{--difficulty-accent:#3d8bff;--difficulty-fill:#11223d;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=chrome] .badge:not(#_).NBL{--difficulty-accent:#7fdc1a;--difficulty-fill:#20340a;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=chrome] .badge:not(#_).ULT{--difficulty-accent:#ffd400;--difficulty-fill:#3c3305;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=chrome] .badge:not(#_).INF{--difficulty-accent:#c4c4c4;--difficulty-fill:#2f2f30;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=chrome] .badge:not(#_).lamp.no-play{--difficulty-accent:#91a3bc;--difficulty-fill:#24282e;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=chrome] .badge:not(#_).lamp.played{--difficulty-accent:#ff4a4a;--difficulty-fill:#3c1415;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=chrome] .badge:not(#_).lamp.failed{--difficulty-accent:#ff4a4a;--difficulty-fill:#3c1415;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=chrome] .badge:not(#_).lamp.clear{--difficulty-accent:#3ddc84;--difficulty-fill:#113422;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=chrome] .badge:not(#_).lamp.excessive{--difficulty-accent:#b47cff;--difficulty-fill:#2c1f3d;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=chrome] .badge:not(#_).lamp.mxv{--difficulty-accent:#e6eaf0;--difficulty-fill:#363739;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=chrome] .badge:not(#_).lamp.uc{--difficulty-accent:#ff5fb0;--difficulty-fill:#3c192b;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=chrome] .badge:not(#_).lamp.puc{--difficulty-accent:#ffd400;--difficulty-fill:#3c3305;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=chrome] .grade[data-grade]{background:none;-webkit-text-fill-color:currentColor;text-shadow:none;filter:none!important;animation:none;font-family:var(--th-display);font-weight:800;letter-spacing:.06em;background:linear-gradient(180deg,#ffffff,currentColor 55%,#55555e);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
[data-theme=chrome] .grade[data-grade="D"]{color:#3f3f48}
[data-theme=chrome] .grade[data-grade="C"]{color:#4d4d57}
[data-theme=chrome] .grade[data-grade="B"]{color:#5c5c67}
[data-theme=chrome] .grade[data-grade="A"]{color:#6a6a76}
[data-theme=chrome] .grade[data-grade="A+"]{color:#7e7e8a}
[data-theme=chrome] .grade[data-grade="AA"]{color:#93939f}
[data-theme=chrome] .grade[data-grade="AA+"]{color:#a7a7b3}
[data-theme=chrome] .grade[data-grade="AAA"]{color:#b7b7c1}
[data-theme=chrome] .grade[data-grade="AAA+"]{color:#c6c6d0}
[data-theme=chrome] .grade[data-grade="S"]{color:#d6d6de}
[data-theme=chrome] .grade[data-grade="S+"]{color:#e4caa7}
[data-theme=chrome] .grade[data-grade="S++"]{color:#f1be6f}
[data-theme=chrome] .grade[data-grade="PUC"]{color:#ffb238}
[data-theme=chrome] .grade[data-grade^="S"],[data-theme=chrome] .grade[data-grade="PUC"]{background-image:linear-gradient(180deg,#fff6e0,#ffb238 55%,#9b5a00)}
[data-theme=chrome] .badge:not(#_){border:1px solid #3f3f48;border-radius:4px;background:linear-gradient(180deg,#2a2a31,#0d0d10);color:#d6d6de;box-shadow:inset 0 1px #ffffff26,0 1px 0 #000;font-family:var(--th-display);letter-spacing:.06em;font-weight:700}
[data-theme=chrome] .badge:not(#_):not(.lamp){color:var(--difficulty-accent);text-shadow:0 0 6px color-mix(in srgb,var(--difficulty-accent) 60%,transparent)}
[data-theme=chrome] .badge:not(#_).lamp{justify-content:flex-start;gap:6px;padding:0 6px;width:4.8rem;color:var(--difficulty-accent)}
[data-theme=chrome] .badge:not(#_).lamp::before{display:block;content:"";position:static;inset:auto;width:8px;height:8px;flex:none;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,var(--difficulty-accent) 60%);box-shadow:0 0 8px 1px var(--difficulty-accent);opacity:1;animation:none}
[data-theme=chrome] .badge:not(#_).lamp.uc::before,[data-theme=chrome] .badge:not(#_).lamp.puc::before{animation:cr-led 1.2s ease-in-out infinite}

@keyframes cr-led{50%{box-shadow:0 0 2px 0 var(--difficulty-accent);filter:brightness(.6)}}[data-theme=chrome] .score-table thead th{background:linear-gradient(180deg,#2a2a31,#141418);color:#ffb238;font-family:var(--th-display);text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid #000;box-shadow:inset 0 1px #ffffff1a}
[data-theme=chrome] .score-table tbody td{border-bottom:1px solid #1d1d22}
[data-theme=chrome] .score-table tbody tr:nth-child(even){background:#0d0d10}
[data-theme=chrome] .score-table tbody tr:hover{background:linear-gradient(90deg,#ffb23818,transparent)}
[data-theme=chrome] td.score-number,[data-theme=chrome] .mobile-score{font-family:var(--th-display);color:#ffb238!important;letter-spacing:.08em;text-shadow:0 0 10px #ffb23866;background:#000!important;border-radius:3px}
[data-theme=chrome] .song-jacket{border-radius:6px;box-shadow:0 0 0 2px #2a2a31,0 0 0 3px #6a6a76}
[data-theme=chrome] .rating-folder-groups button{border-radius:4px;border:1px solid #3f3f48;background:linear-gradient(180deg,#2a2a31,#0d0d10);box-shadow:inset 0 1px #ffffff1f;font-family:var(--th-display)}
[data-theme=chrome] .rating-folder-groups .selected{color:#ffb238!important;box-shadow:inset 0 0 10px #ffb23855,0 0 0 1px #ffb238}
[data-theme=chrome] .source-chip{border-radius:2px;border-color:#3f3f48;font-family:var(--th-display)}
[data-theme=chrome] .chart-card,[data-theme=chrome] .goal-card,[data-theme=chrome] .mobile-card{border-radius:14px;border:1px solid #2a2a31;background:linear-gradient(180deg,#141418,#0a0a0c);box-shadow:inset 0 1px #ffffff1a,0 0 0 4px #0d0d10,0 0 0 5px #3f3f48}
[data-theme=chrome] svg rect[fill="#7ecbe7"]{fill:#ffb238}
[data-theme=chrome] svg [fill="#78cdeb"]{fill:#ffb238}
[data-theme=chrome] svg [stroke="#78cdeb"]{stroke:#ffb238}
[data-theme=chrome] svg [fill="#fa9fbd"]{fill:#ff5a36}
[data-theme=chrome] svg [stroke="#fa9fbd"]{stroke:#ff5a36}
[data-theme=chrome] svg [fill="#a899fc"]{fill:#c9d1e0}
[data-theme=chrome] svg [stroke="#a899fc"]{stroke:#c9d1e0}
[data-theme=chrome] svg [fill="#e5c67d"]{fill:#7fd6ff}
[data-theme=chrome] svg [stroke="#e5c67d"]{stroke:#7fd6ff}
[data-theme=chrome] svg [fill="#6baee9"]{fill:#6a6a76}
[data-theme=chrome] svg [stroke="#6baee9"]{stroke:#6a6a76}
[data-theme=chrome] svg [stroke="#362b57"]{stroke:#1d1d22}
[data-theme=chrome] svg [stroke="#6c5e95"]{stroke:#3f3f48}

:root[data-theme=chrome]{--th-font:"TS Exo 2","Segoe UI",system-ui,"Hiragino Sans","Yu Gothic UI",sans-serif;--th-display:"TS Orbitron","Segoe UI",system-ui,"Hiragino Sans","Yu Gothic UI",sans-serif;--th-num:"TS Orbitron","Segoe UI",system-ui,"Hiragino Sans","Yu Gothic UI",sans-serif;--th-title:"TS Exo 2 Italic","Segoe UI",system-ui,"Hiragino Sans","Yu Gothic UI",sans-serif}
[data-theme=chrome] td.score-number,[data-theme=chrome] .mobile-score{font-family:var(--th-num)!important}
[data-theme=chrome] .song-button,[data-theme=chrome] .goal-song-open{font-style:italic;font-weight:600;text-transform:uppercase;letter-spacing:.04em;font-size:.9rem}
[data-theme=chrome] td.score-number,[data-theme=chrome] .mobile-score{font-weight:600!important;font-size:.98rem!important;letter-spacing:.1em}
[data-theme=chrome] td.number{font-weight:500;font-size:.78rem;letter-spacing:.06em}
[data-theme=chrome] .stat-value{font-weight:800;letter-spacing:.04em}
[data-theme=chrome] .page-heading h1,[data-theme=chrome] .page-heading h2{font-weight:900!important;letter-spacing:.06em}
[data-theme=chrome] input:not([type=checkbox]):not([type=radio]):not([type=range]),[data-theme=chrome] select{border-radius:4px;background:linear-gradient(180deg,#0d0d10,#1d1d22);border:1px solid #3f3f48;box-shadow:inset 0 2px 4px #000}
[data-theme=chrome] input[type=checkbox]{accent-color:var(--t-acc-1)}

@media(min-width:1101px){[data-theme=chrome] .topbar{height:auto;margin:14px 24px 0;padding:14px 30px;border-radius:40px 40px 14px 14px;border:2px solid #3f3f48;box-shadow:inset 0 2px #ffffff33,inset 0 -3px #000,0 0 30px #ffb2381f;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}
[data-theme=chrome] .topbar .brand{grid-column:2;grid-row:1;flex-direction:column;align-items:center;text-align:center;gap:6px}
[data-theme=chrome] .topbar .game-logos{grid-column:1;grid-row:1;justify-content:flex-start}
[data-theme=chrome] .topbar .header-actions{grid-column:3;grid-row:1;justify-content:flex-end}
[data-theme=chrome] .topbar::after{left:10%;right:10%;height:2px;background:#ffb238;box-shadow:0 0 12px #ffb238}
[data-theme=chrome] nav{justify-content:safe center;gap:10px;border-bottom:0;padding-top:16px}
[data-theme=chrome] nav a{border:1px solid #3f3f48;border-radius:8px;padding:10px 14px 10px 26px;position:relative;background:linear-gradient(180deg,#1d1d22,#0d0d10);box-shadow:inset 0 1px #ffffff22}
[data-theme=chrome] nav a::before{content:"";position:absolute;left:11px;top:50%;width:7px;height:7px;margin-top:-3.5px;border-radius:50%;background:#3f3f48}
[data-theme=chrome] nav a.active{color:#ffb238;border-color:#ffb238}
[data-theme=chrome] nav a.active::before{background:#ffb238;box-shadow:0 0 8px #ffb238}

}

/* More Is More — Maximalism */
:root[data-theme=maximal]{--t-surf-0:#140a2b;--t-surf-1:#1e0f3d;--t-surf-2:#28134f;--t-surf-3:#331a62;--t-line-1:#4a2687;--t-line-2:#6a3ab5;--t-text-3:#9a78d6;--t-text-2:#cdb8f2;--t-text-1:#ecdfff;--t-text-0:#ffffff;--t-acc-1:#2de2e6;--t-acc-1-dark:#0b3d40;--t-acc-2:#ff3d8b;--t-acc-2-deep:#a1124f;--t-acc-3:#ffd23f;--t-acc-3-dark:#2a1150;--t-acc-3-deep:#5a2aa8;--th-font:"Inter","Segoe UI",system-ui,sans-serif;--th-display:Georgia,"Palatino Linotype","DejaVu Serif",serif;--th-header:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2224%22 height=%2212%22%3E%3Cpath d=%22M0 10 6 2 12 10 18 2 24 10%22 fill=%22none%22 stroke=%22%23ffd23f%22 stroke-width=%222.2%22/%3E%3C/svg%3E") 0 6px/24px 12px repeat-x,url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2218%22 height=%2218%22%3E%3Ccircle cx=%224%22 cy=%224%22 r=%222.2%22 fill=%22%23ff3d8b%22/%3E%3Ccircle cx=%2213%22 cy=%2213%22 r=%222.2%22 fill=%22%232de2e6%22/%3E%3C/svg%3E") 0 0/18px 18px,repeating-linear-gradient(45deg,#ff3d8b 0 10px,#ffd23f 10px 20px,#2de2e6 20px 30px,#1e0f3d 30px 40px);color-scheme:dark}
[data-theme=maximal] .horizon{-webkit-mask-image:linear-gradient(90deg,transparent 0 38%,#000 62%);mask-image:linear-gradient(90deg,transparent 0 38%,#000 62%)}
[data-theme=maximal] body{background:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2218%22 height=%2218%22%3E%3Ccircle cx=%224%22 cy=%224%22 r=%222.2%22 fill=%22%23ff3d8b%22/%3E%3Ccircle cx=%2213%22 cy=%2213%22 r=%222.2%22 fill=%22%232de2e6%22/%3E%3C/svg%3E") 0 0/18px 18px,#140a2b;background-blend-mode:overlay}
[data-theme=maximal] .page-heading h1,[data-theme=maximal] .page-heading h2{color:#ffd23f;-webkit-text-fill-color:#ffd23f;background:none;font-weight:900;font-style:italic;font-size:2.8rem;text-shadow:3px 3px 0 #ff3d8b,6px 6px 0 #2de2e6}
[data-theme=maximal] .stats{border:4px double #ffd23f}
[data-theme=maximal] .stat:nth-child(1){background:#2a1150}[data-theme=maximal] .stat:nth-child(2){background:#0b3d40}[data-theme=maximal] .stat:nth-child(3){background:#4a0f2e}[data-theme=maximal] .stat:nth-child(4){background:#3d3208}
[data-theme=maximal] .workspace{border:3px solid #ff3d8b;box-shadow:8px 8px 0 #2de2e6}
[data-theme=maximal] .chart-card{border:3px dashed #ffd23f}
[data-theme=maximal] .eyebrow{color:#2de2e6;font-family:Georgia,"Palatino Linotype","DejaVu Serif",serif;font-style:italic;font-size:.9rem}
[data-theme=maximal] button:not(.song-button,.photo-link,.goal-song-open,th button).primary{background:#ff3d8b;color:#fff;border:2px solid #ffd23f}
[data-theme=maximal] .stat-value{text-shadow:2px 2px 0 #000}
[data-theme=maximal] .app-mark{content:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 120 120%22%3E%3Cdefs%3E%3Cpattern id=%22s%22 width=%2212%22 height=%2212%22 patternUnits=%22userSpaceOnUse%22 patternTransform=%22rotate(45)%22%3E%3Crect width=%226%22 height=%2212%22 fill=%22%23ff3d8b%22/%3E%3Crect x=%226%22 width=%226%22 height=%2212%22 fill=%22%23ffd23f%22/%3E%3C/pattern%3E%3C/defs%3E%3Ccircle cx=%2260%22 cy=%2260%22 r=%2256%22 fill=%22url(%23s)%22/%3E%3Ccircle cx=%2260%22 cy=%2260%22 r=%2240%22 fill=%22%232de2e6%22 stroke=%22%23140a2b%22 stroke-width=%225%22/%3E%3Cpath d=%22M24 64l9-10 9 10 9-10 9 10 9-10 9 10 9-10 9 10%22 fill=%22none%22 stroke=%22%23140a2b%22 stroke-width=%226%22 stroke-linejoin=%22round%22/%3E%3Ccircle cx=%2260%22 cy=%2238%22 r=%226%22 fill=%22%23ff3d8b%22/%3E%3C/svg%3E");image-rendering:auto}
[data-theme=maximal] .brand>span{font-family:Georgia,'Palatino Linotype',serif;font-weight:900;font-style:italic;font-size:2.6rem;-webkit-text-fill-color:#ffd23f!important;text-shadow:3px 3px 0 #ff3d8b,6px 6px 0 #2de2e6}
[data-theme=maximal] .badge:not(#_){box-shadow:none;padding-left:6px;background-image:none;animation:none}
[data-theme=maximal] .badge:not(#_).lamp::before{display:none}
[data-theme=maximal] .badge:not(#_).NOV{--difficulty-accent:#140a2b;--difficulty-fill:#a65cff;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=maximal] .badge:not(#_).ADV{--difficulty-accent:#140a2b;--difficulty-fill:#f2c200;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=maximal] .badge:not(#_).EXH{--difficulty-accent:#140a2b;--difficulty-fill:#ff4a4a;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=maximal] .badge:not(#_).MXM{--difficulty-accent:#140a2b;--difficulty-fill:#d4d8e0;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=maximal] .badge:not(#_).GRV{--difficulty-accent:#140a2b;--difficulty-fill:#ff9a1f;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=maximal] .badge:not(#_).HVN{--difficulty-accent:#140a2b;--difficulty-fill:#19d6e0;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=maximal] .badge:not(#_).VVD{--difficulty-accent:#140a2b;--difficulty-fill:#ff5fb0;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=maximal] .badge:not(#_).XCD{--difficulty-accent:#140a2b;--difficulty-fill:#3d8bff;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=maximal] .badge:not(#_).NBL{--difficulty-accent:#140a2b;--difficulty-fill:#7fdc1a;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=maximal] .badge:not(#_).ULT{--difficulty-accent:#140a2b;--difficulty-fill:#ffd400;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=maximal] .badge:not(#_).INF{--difficulty-accent:#140a2b;--difficulty-fill:#c4c4c4;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=maximal] .badge:not(#_).lamp.no-play{--difficulty-accent:#140a2b;--difficulty-fill:#91a3bc;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=maximal] .badge:not(#_).lamp.played{--difficulty-accent:#140a2b;--difficulty-fill:#ff4a4a;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=maximal] .badge:not(#_).lamp.failed{--difficulty-accent:#140a2b;--difficulty-fill:#ff4a4a;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=maximal] .badge:not(#_).lamp.clear{--difficulty-accent:#140a2b;--difficulty-fill:#3ddc84;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=maximal] .badge:not(#_).lamp.excessive{--difficulty-accent:#140a2b;--difficulty-fill:#b47cff;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=maximal] .badge:not(#_).lamp.mxv{--difficulty-accent:#140a2b;--difficulty-fill:#e6eaf0;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=maximal] .badge:not(#_).lamp.uc{--difficulty-accent:#140a2b;--difficulty-fill:#ff5fb0;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=maximal] .badge:not(#_).lamp.puc{--difficulty-accent:#140a2b;--difficulty-fill:#ffd400;--badge-ink:#111111;color:var(--badge-ink)}
[data-theme=maximal] .grade[data-grade]{background:none;-webkit-text-fill-color:currentColor;text-shadow:none;filter:none!important;animation:none;display:inline-block;padding:1px 7px;border-radius:6px;background:currentColor;font-family:var(--th-display);font-style:italic;font-weight:900;transform:rotate(-3deg);box-shadow:2px 2px 0 #140a2b}
[data-theme=maximal] .grade[data-grade="D"]{color:#9a78d6}
[data-theme=maximal] .grade[data-grade="C"]{color:#cdb8f2}
[data-theme=maximal] .grade[data-grade="B"]{color:#2de2e6}
[data-theme=maximal] .grade[data-grade="A"]{color:#7dff7a}
[data-theme=maximal] .grade[data-grade="A+"]{color:#7dff7a}
[data-theme=maximal] .grade[data-grade="AA"]{color:#ffd23f}
[data-theme=maximal] .grade[data-grade="AA+"]{color:#ffd23f}
[data-theme=maximal] .grade[data-grade="AAA"]{color:#ff9a3d}
[data-theme=maximal] .grade[data-grade="AAA+"]{color:#ff9a3d}
[data-theme=maximal] .grade[data-grade="S"]{color:#ff3d8b}
[data-theme=maximal] .grade[data-grade="S+"]{color:#ff3d8b}
[data-theme=maximal] .grade[data-grade="S++"]{color:#ffffff}
[data-theme=maximal] .grade[data-grade="PUC"]{color:#ffffff}
[data-theme=maximal] .grade[data-grade]{-webkit-text-fill-color:#140a2b}
[data-theme=maximal] tr:nth-child(even) .grade[data-grade]{transform:rotate(3deg)}
[data-theme=maximal] .grade[data-grade="PUC"],[data-theme=maximal] .grade[data-grade="S++"]{background:linear-gradient(90deg,#ff3d8b,#ffd23f,#2de2e6,#7dff7a);box-shadow:2px 2px 0 #140a2b,4px 4px 0 #ff3d8b}
[data-theme=maximal] .badge:not(#_){border:2px solid #140a2b;border-radius:999px;background:repeating-linear-gradient(45deg,var(--difficulty-fill) 0 6px,color-mix(in srgb,var(--difficulty-fill) 65%,#fff) 6px 12px);color:#140a2b;font-weight:900;font-style:italic;box-shadow:0 0 0 2px var(--difficulty-fill),3px 3px 0 2px #140a2b}
[data-theme=maximal] .score-table thead th{background:#ff3d8b;color:#fff;font-family:var(--th-display);font-style:italic;font-weight:900;border:0}
[data-theme=maximal] .score-table thead th:nth-child(3n+2){background:#2de2e6;color:#140a2b}
[data-theme=maximal] .score-table thead th:nth-child(3n){background:#ffd23f;color:#140a2b}
[data-theme=maximal] .score-table tbody td{border-bottom:2px solid #140a2b}
[data-theme=maximal] .score-table tbody tr:nth-child(4n+1){background:#ff3d8b18}
[data-theme=maximal] .score-table tbody tr:nth-child(4n+2){background:#2de2e618}
[data-theme=maximal] .score-table tbody tr:nth-child(4n+3){background:#ffd23f18}
[data-theme=maximal] .score-table tbody tr:nth-child(4n){background:#7dff7a14}
[data-theme=maximal] .score-table tbody tr:hover{background:#ff3d8b44}
[data-theme=maximal] td.score-number,[data-theme=maximal] .mobile-score{font-family:var(--th-display);font-style:italic;font-weight:900;color:#ffd23f!important;text-shadow:2px 2px 0 #140a2b;font-size:1.1rem}
[data-theme=maximal] .song-jacket{border-radius:50%;box-shadow:0 0 0 3px #ffd23f,0 0 0 6px #ff3d8b,0 0 0 9px #2de2e6}
[data-theme=maximal] .rating-folder-groups button{border-radius:999px;border:2px solid #140a2b;font-style:italic;font-weight:900;box-shadow:2px 2px 0 #140a2b}
[data-theme=maximal] .rating-folder-groups button:nth-child(4n+1){background:#ff3d8b;color:#fff!important}
[data-theme=maximal] .rating-folder-groups button:nth-child(4n+2){background:#2de2e6;color:#140a2b!important}
[data-theme=maximal] .rating-folder-groups button:nth-child(4n+3){background:#ffd23f;color:#140a2b!important}
[data-theme=maximal] .rating-folder-groups button:nth-child(4n){background:#7dff7a;color:#140a2b!important}
[data-theme=maximal] .rating-folder-groups .selected{outline:3px solid #fff;transform:scale(1.08) rotate(-3deg)}
[data-theme=maximal] .rating-folder-groups .lv-text{-webkit-text-fill-color:currentColor;background:none}
[data-theme=maximal] .topbar .header-actions{background:#140a2bee;padding:6px 12px;border-radius:999px;border:2px solid #ffd23f}
[data-theme=maximal] .source-chip{border-radius:999px;background:#2de2e6;color:#140a2b;border:0;font-weight:800}
[data-theme=maximal] .chart-card,[data-theme=maximal] .goal-card,[data-theme=maximal] .mobile-card{border:3px solid #ffd23f;border-radius:30px 6px 30px 6px;background:#1e0f3d;box-shadow:8px 8px 0 #ff3d8b,16px 16px 0 #2de2e6}
[data-theme=maximal] .goal-card:nth-child(3n+2){border-color:#2de2e6;box-shadow:8px 8px 0 #ffd23f}
[data-theme=maximal] .mobile-card{box-shadow:5px 5px 0 #ff3d8b;margin-right:6px}
[data-theme=maximal] .goal-card:nth-child(3n){border-color:#ff3d8b;box-shadow:8px 8px 0 #7dff7a}
[data-theme=maximal] svg rect[fill="#7ecbe7"]{fill:#ff3d8b}
[data-theme=maximal] svg [fill="#78cdeb"]{fill:#2de2e6}
[data-theme=maximal] svg [stroke="#78cdeb"]{stroke:#2de2e6}
[data-theme=maximal] svg [fill="#fa9fbd"]{fill:#ff3d8b}
[data-theme=maximal] svg [stroke="#fa9fbd"]{stroke:#ff3d8b}
[data-theme=maximal] svg [fill="#a899fc"]{fill:#ffd23f}
[data-theme=maximal] svg [stroke="#a899fc"]{stroke:#ffd23f}
[data-theme=maximal] svg [fill="#e5c67d"]{fill:#7dff7a}
[data-theme=maximal] svg [stroke="#e5c67d"]{stroke:#7dff7a}
[data-theme=maximal] svg [fill="#6baee9"]{fill:#ffffff}
[data-theme=maximal] svg [stroke="#6baee9"]{stroke:#ffffff}
[data-theme=maximal] svg [stroke="#362b57"]{stroke:#331a62}
[data-theme=maximal] svg [stroke="#6c5e95"]{stroke:#6a3ab5}

:root[data-theme=maximal]{--th-font:"TS Rubik","Segoe UI",system-ui,"Hiragino Sans","Yu Gothic UI",sans-serif;--th-display:"TS Shrikhand","Segoe UI",system-ui,"Hiragino Sans","Yu Gothic UI",sans-serif;--th-num:"TS Bungee","Segoe UI",system-ui,"Hiragino Sans","Yu Gothic UI",sans-serif;--th-title:"TS Rubik Italic","Segoe UI",system-ui,"Hiragino Sans","Yu Gothic UI",sans-serif}
[data-theme=maximal] td.score-number,[data-theme=maximal] .mobile-score{font-family:var(--th-num)!important}
[data-theme=maximal] .song-button,[data-theme=maximal] .goal-song-open{font-style:italic;font-weight:900;font-size:1.02rem;letter-spacing:-.01em}
[data-theme=maximal] td.score-number,[data-theme=maximal] .mobile-score{font-style:normal!important;font-weight:400!important;font-size:1.05rem!important}
[data-theme=maximal] td.number{font-size:.82rem;letter-spacing:.02em}
[data-theme=maximal] .stat-value{font-size:2.2rem}
[data-theme=maximal] .page-heading h1,[data-theme=maximal] .page-heading h2{font-weight:400!important;font-size:3rem}
[data-theme=maximal] input:not([type=checkbox]):not([type=radio]):not([type=range]),[data-theme=maximal] select{border-radius:999px;background:#1e0f3d;border:2px solid #ffd23f;padding-inline:14px}
[data-theme=maximal] input[type=checkbox]{accent-color:var(--t-acc-1)}

@media(min-width:1101px){[data-theme=maximal] .topbar{height:auto;padding:22px 32px 40px;border-bottom:8px solid #ffd23f}
[data-theme=maximal] .topbar::after{bottom:-14px;height:6px;background:repeating-linear-gradient(90deg,#ff3d8b 0 20px,#2de2e6 20px 40px)}
[data-theme=maximal] nav{gap:6px;border-bottom:0;padding-top:20px}
[data-theme=maximal] nav a{padding:12px 16px;border:0;color:#140a2b;font-weight:800}
[data-theme=maximal] nav a:nth-child(5n+1){background:#ff3d8b}
[data-theme=maximal] nav a:nth-child(5n+2){background:#ffd23f}
[data-theme=maximal] nav a:nth-child(5n+3){background:#2de2e6}
[data-theme=maximal] nav a:nth-child(5n+4){background:#b98aff}
[data-theme=maximal] nav a:nth-child(5n){background:#7dff8a}
[data-theme=maximal] nav a.active{outline:4px solid #fff;outline-offset:-4px;transform:translateY(-3px)}

}

/* Soft Focus — Blur & distortion */
:root[data-theme=blur]{--t-surf-0:#121219;--t-surf-1:#191922;--t-surf-2:#20202b;--t-surf-3:#292936;--t-line-1:#363645;--t-line-2:#4c4c5e;--t-text-3:#737388;--t-text-2:#a9a9bf;--t-text-1:#d6d6e6;--t-text-0:#f4f4fb;--t-acc-1:#a5b8ff;--t-acc-1-dark:#22284a;--t-acc-2:#ffb3c7;--t-acc-2-deep:#9a4d63;--t-acc-3:#c8f0e0;--t-acc-3-dark:#1c1c28;--t-acc-3-deep:#33334a;--th-font:"Inter","Segoe UI",system-ui,sans-serif;--th-display:"Inter Display","Inter","Segoe UI",system-ui,sans-serif;--th-header:radial-gradient(160px 90px at 22% 60%,#a5b8ff88,transparent 70%),radial-gradient(200px 100px at 62% 40%,#ffb3c788,transparent 70%),radial-gradient(160px 90px at 88% 70%,#c8f0e088,transparent 70%),#191922;color-scheme:dark}
[data-theme=blur] .horizon{filter:blur(10px);inset:0}
[data-theme=blur] body::before{content:"";position:fixed;inset:0;z-index:-1;opacity:.55;background:radial-gradient(30% 30% at 15% 75%,#a5b8ff,transparent 70%),radial-gradient(28% 32% at 85% 30%,#ffb3c7,transparent 70%),radial-gradient(25% 25% at 55% 95%,#c8f0e0,transparent 70%);filter:blur(60px)}
[data-theme=blur] .workspace,[data-theme=blur] .chart-card,[data-theme=blur] .stats,[data-theme=blur] dialog,[data-theme=blur] .login-card{background:#191922b3;-webkit-backdrop-filter:blur(22px) saturate(1.2);backdrop-filter:blur(22px) saturate(1.2);border-radius:26px;border-color:#ffffff14;box-shadow:0 0 60px #0006}
[data-theme=blur] .page-heading h1,[data-theme=blur] .page-heading h2{color:#f4f4fb;-webkit-text-fill-color:#f4f4fb;background:none;font-weight:300;letter-spacing:.02em;text-shadow:0 0 12px #a5b8ffaa,0 0 28px #ffb3c766;transform:skewX(-6deg);display:inline-block}
[data-theme=blur] .stat-value{text-shadow:0 0 10px #ffffff66;font-weight:300}
[data-theme=blur] button:not(.song-button,.photo-link,.goal-song-open,th button),[data-theme=blur] input,[data-theme=blur] select{border-radius:999px}
@media(prefers-reduced-motion:no-preference){[data-theme=blur] .page-heading h1,[data-theme=blur] .page-heading h2{animation:blur-breathe 7s ease-in-out infinite}}
@keyframes blur-breathe{0%,100%{filter:blur(0)}50%{filter:blur(.7px)}}
[data-theme=blur] .app-mark{content:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 120 120%22%3E%3Cdefs%3E%3Cfilter id=%22b%22 x=%22-30%25%22 y=%22-30%25%22 width=%22160%25%22 height=%22160%25%22%3E%3CfeGaussianBlur stdDeviation=%227%22/%3E%3C/filter%3E%3C/defs%3E%3Cg filter=%22url(%23b)%22%3E%3Ccircle cx=%2246%22 cy=%2252%22 r=%2230%22 fill=%22%23a5b8ff%22/%3E%3Ccircle cx=%2274%22 cy=%2264%22 r=%2228%22 fill=%22%23ffb3c7%22/%3E%3Ccircle cx=%2258%22 cy=%2280%22 r=%2220%22 fill=%22%23c8f0e0%22/%3E%3C/g%3E%3Cpath d=%22M26 66c12-12 22-12 34 0s22 12 34 0%22 fill=%22none%22 stroke=%22%23f4f4fb%22 stroke-width=%225%22 stroke-linecap=%22round%22 opacity=%22.9%22/%3E%3C/svg%3E");image-rendering:auto}
[data-theme=blur] .brand>span{font-weight:300;letter-spacing:.06em;text-shadow:0 0 14px #a5b8ffaa}
[data-theme=blur] .badge:not(#_){box-shadow:none;padding-left:6px;background-image:none;animation:none}
[data-theme=blur] .badge:not(#_).lamp::before{display:none}
[data-theme=blur] .badge:not(#_).NOV{--difficulty-accent:#a65cff;--difficulty-fill:#33224c;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=blur] .badge:not(#_).ADV{--difficulty-accent:#f2c200;--difficulty-fill:#433914;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=blur] .badge:not(#_).EXH{--difficulty-accent:#ff4a4a;--difficulty-fill:#461e24;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=blur] .badge:not(#_).MXM{--difficulty-accent:#d4d8e0;--difficulty-fill:#3d3e45;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=blur] .badge:not(#_).GRV{--difficulty-accent:#ff9a1f;--difficulty-fill:#46301a;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=blur] .badge:not(#_).HVN{--difficulty-accent:#19d6e0;--difficulty-fill:#143d45;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=blur] .badge:not(#_).VVD{--difficulty-accent:#ff5fb0;--difficulty-fill:#46233a;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=blur] .badge:not(#_).XCD{--difficulty-accent:#3d8bff;--difficulty-fill:#1b2d4c;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=blur] .badge:not(#_).NBL{--difficulty-accent:#7fdc1a;--difficulty-fill:#2a3e19;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=blur] .badge:not(#_).ULT{--difficulty-accent:#ffd400;--difficulty-fill:#463d14;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=blur] .badge:not(#_).INF{--difficulty-accent:#c4c4c4;--difficulty-fill:#39393f;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=blur] .badge:not(#_).lamp.no-play{--difficulty-accent:#91a3bc;--difficulty-fill:#2e323d;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=blur] .badge:not(#_).lamp.played{--difficulty-accent:#ff4a4a;--difficulty-fill:#461e24;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=blur] .badge:not(#_).lamp.failed{--difficulty-accent:#ff4a4a;--difficulty-fill:#461e24;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=blur] .badge:not(#_).lamp.clear{--difficulty-accent:#3ddc84;--difficulty-fill:#1b3e31;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=blur] .badge:not(#_).lamp.excessive{--difficulty-accent:#b47cff;--difficulty-fill:#36294c;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=blur] .badge:not(#_).lamp.mxv{--difficulty-accent:#e6eaf0;--difficulty-fill:#414248;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=blur] .badge:not(#_).lamp.uc{--difficulty-accent:#ff5fb0;--difficulty-fill:#46233a;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=blur] .badge:not(#_).lamp.puc{--difficulty-accent:#ffd400;--difficulty-fill:#463d14;--badge-ink:#ffffff;color:var(--badge-ink)}
[data-theme=blur] .grade[data-grade]{background:none;-webkit-text-fill-color:currentColor;text-shadow:none;filter:none!important;animation:none;font-weight:600;text-shadow:0 0 12px currentColor,0 0 2px currentColor}
[data-theme=blur] .grade[data-grade="D"]{color:#737388}
[data-theme=blur] .grade[data-grade="C"]{color:#85859a}
[data-theme=blur] .grade[data-grade="B"]{color:#9797ad}
[data-theme=blur] .grade[data-grade="A"]{color:#a9a9bf}
[data-theme=blur] .grade[data-grade="A+"]{color:#b3c1ca}
[data-theme=blur] .grade[data-grade="AA"]{color:#bed8d5}
[data-theme=blur] .grade[data-grade="AA+"]{color:#c8f0e0}
[data-theme=blur] .grade[data-grade="AAA"]{color:#bcddea}
[data-theme=blur] .grade[data-grade="AAA+"]{color:#b1cbf5}
[data-theme=blur] .grade[data-grade="S"]{color:#a5b8ff}
[data-theme=blur] .grade[data-grade="S+"]{color:#c3b6ec}
[data-theme=blur] .grade[data-grade="S++"]{color:#e1b5da}
[data-theme=blur] .grade[data-grade="PUC"]{color:#ffb3c7}
[data-theme=blur] .badge:not(#_){border:0;border-radius:999px;background:color-mix(in srgb,var(--difficulty-accent) 22%,#ffffff0d);color:#f4f4fb;font-weight:600;backdrop-filter:blur(10px);position:relative;isolation:isolate}
[data-theme=blur] .badge:not(#_).lamp::before{display:block;content:"";position:absolute;inset:-5px;border-radius:999px;background:var(--difficulty-accent);filter:blur(10px);opacity:.45;z-index:-1;box-shadow:none;animation:bl-breathe 4s ease-in-out infinite}

@keyframes bl-breathe{50%{opacity:.2;transform:scale(.9)}}[data-theme=blur] .score-table thead th{background:none;color:#a9a9bf;border:0;font-weight:500}
[data-theme=blur] .mobile-card{backdrop-filter:none}
[data-theme=blur] .score-table tbody td{border-bottom:1px solid #ffffff0a}
[data-theme=blur] .score-table tbody tr:hover{background:radial-gradient(60% 140% at 30% 50%,#a5b8ff1c,transparent)}
[data-theme=blur] td.score-number,[data-theme=blur] .mobile-score{color:#f4f4fb!important;text-shadow:0 0 16px #a5b8ffaa}
[data-theme=blur] .song-jacket{border-radius:18px;box-shadow:0 8px 24px -6px #a5b8ff88}
[data-theme=blur] tr:not(:hover) .song-jacket{filter:blur(.3px) saturate(.9)}
[data-theme=blur] .rating-folder-groups button{border-radius:999px;border:0;background:#ffffff0d;box-shadow:0 0 0 1px #ffffff14}
[data-theme=blur] .rating-folder-groups .selected{background:#a5b8ff;color:#121219!important;box-shadow:0 0 20px #a5b8ff99}
[data-theme=blur] .source-chip{border-radius:999px;border:0;background:#ffffff10}
[data-theme=blur] .chart-card,[data-theme=blur] .goal-card,[data-theme=blur] .mobile-card{border:0;border-radius:28px;background:#ffffff08;backdrop-filter:blur(20px);box-shadow:0 0 0 1px #ffffff0f,0 30px 80px -40px #a5b8ff88}
[data-theme=blur] svg rect[fill="#7ecbe7"]{fill:#a5b8ff}
[data-theme=blur] svg [fill="#78cdeb"]{fill:#a5b8ff}
[data-theme=blur] svg [stroke="#78cdeb"]{stroke:#a5b8ff}
[data-theme=blur] svg [fill="#fa9fbd"]{fill:#ffb3c7}
[data-theme=blur] svg [stroke="#fa9fbd"]{stroke:#ffb3c7}
[data-theme=blur] svg [fill="#a899fc"]{fill:#c8f0e0}
[data-theme=blur] svg [stroke="#a899fc"]{stroke:#c8f0e0}
[data-theme=blur] svg [fill="#e5c67d"]{fill:#ffe3a8}
[data-theme=blur] svg [stroke="#e5c67d"]{stroke:#ffe3a8}
[data-theme=blur] svg [fill="#6baee9"]{fill:#d9c8ff}
[data-theme=blur] svg [stroke="#6baee9"]{stroke:#d9c8ff}
[data-theme=blur] svg [stroke="#362b57"]{stroke:#20202b}
[data-theme=blur] svg [stroke="#6c5e95"]{stroke:#4c4c5e}

:root[data-theme=blur]{--th-font:"TS Quicksand","Segoe UI",system-ui,"Hiragino Sans","Yu Gothic UI",sans-serif;--th-display:"TS Quicksand","Segoe UI",system-ui,"Hiragino Sans","Yu Gothic UI",sans-serif;--th-num:"TS Quicksand","Segoe UI",system-ui,"Hiragino Sans","Yu Gothic UI",sans-serif;--th-title:"TS Quicksand","Segoe UI",system-ui,"Hiragino Sans","Yu Gothic UI",sans-serif}
[data-theme=blur] td.score-number,[data-theme=blur] .mobile-score{font-family:var(--th-num)!important}
[data-theme=blur] .song-button,[data-theme=blur] .goal-song-open{font-weight:600;font-size:1rem;letter-spacing:.01em}
[data-theme=blur] td.score-number,[data-theme=blur] .mobile-score{font-weight:500!important;font-size:1.15rem!important;letter-spacing:.04em}
[data-theme=blur] td.number{font-weight:500;letter-spacing:.02em}
[data-theme=blur] .stat-value{font-weight:300;font-size:2.6rem}
[data-theme=blur] .page-heading h1,[data-theme=blur] .page-heading h2{font-weight:300!important;letter-spacing:.01em}
[data-theme=blur] input:not([type=checkbox]):not([type=radio]):not([type=range]),[data-theme=blur] select{border-radius:999px;background:#ffffff0d;border:1px solid transparent;padding-inline:14px}
[data-theme=blur] input[type=checkbox]{accent-color:var(--t-acc-1)}

@media(min-width:1101px){[data-theme=blur] .topbar{display:flex;flex-direction:column;align-items:center;height:auto;padding:24px 32px 18px;gap:8px;text-align:center}
[data-theme=blur] .topbar .brand{flex-direction:column;align-items:center}
[data-theme=blur] .topbar .brand .app-mark{width:100px;height:100px}
[data-theme=blur] .topbar .game-logos{position:absolute;left:32px;top:28px;opacity:.85}
[data-theme=blur] .topbar .header-actions{position:absolute;right:32px;top:28px}
[data-theme=blur] nav{justify-content:safe center;width:max-content;max-width:100%;margin:0 auto;border:1px solid #ffffff14;border-radius:999px;padding:4px 12px;background:#191922b3;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}
[data-theme=blur] nav a{border:0;padding:10px 12px}
[data-theme=blur] nav a.active{color:#f4f4fb;text-shadow:0 0 10px #ffb3c7}
[data-theme=blur] .shell{max-width:1300px;margin:0 auto}

}
