/* Pulse's physical tile language, shared by every screen. */
@property --art-hue{syntax:'<number>';inherits:true;initial-value:270}
@property --art-saturation{syntax:'<percentage>';inherits:true;initial-value:65%}
@property --ui-accent{syntax:'<color>';inherits:true;initial-value:#c9adff}
:root{--ui-bg:#090a10;--ui-surface:#11131c;--ui-raised:#1b1d29;--ui-line:#ffffff1c;--ui-text:#f1eff8;--ui-muted:#9e9bac;--ui-accent:#c9adff;--tile-face:linear-gradient(145deg,#252937 0%,#12141e 28%,#0a0c13 68%,#202332 100%);--tile-edge:#525569;--tile-cut:polygon(0 10px,10px 0,calc(100% - 10px) 0,100% 10px,100% calc(100% - 10px),calc(100% - 10px) 100%,10px 100%,0 calc(100% - 10px));transition:--art-hue 1s,--art-saturation 1s,--ui-accent .8s}
body{background:#090a10;color:var(--ui-text)}body:not(.pulse-lite)::before{content:'';position:fixed;inset:0;pointer-events:none;z-index:-1;background:radial-gradient(ellipse at 24% 0%,hsl(var(--art-hue) var(--art-saturation) 18% / .7),transparent 60%),radial-gradient(ellipse at 95% 65%,hsl(var(--art-hue) var(--art-saturation) 12% / .5),transparent 62%),#090a10}
.home,.home.deluxe,.collection-home{background:transparent!important}.home .home-header{border-bottom:1px solid color-mix(in srgb,var(--ui-accent) 24%,transparent);position:relative}.home-header::after{content:'';position:absolute;width:56px;height:2px;bottom:-1px;left:0;background:var(--ui-accent);box-shadow:0 0 14px color-mix(in srgb,var(--ui-accent) 65%,transparent)}
.home .brand .pulse-wordmark{width:116px;filter:drop-shadow(0 0 10px color-mix(in srgb,var(--ui-accent) 18%,transparent))}.home h1,.collection-home h1,.account-main h1{font-family:'Space Grotesk',Inter,system-ui,sans-serif;font-size:34px;font-weight:600;letter-spacing:-1px}.home .intro{padding:35px 0 29px}.home .section-label,.collection-eyebrow{font-family:'Space Grotesk',system-ui,sans-serif;font-size:10px;text-transform:uppercase;letter-spacing:2px;color:var(--ui-accent)}
.home .top-controls .nav-control,.home .top-controls #menuAudio{border-radius:7px 12px 7px 12px;background:var(--tile-face);border:1px solid #ffffff25;box-shadow:inset 0 1px 0 #ffffff15,inset 0 -3px 0 #0006;color:#b8b8cb;transition:border-color .25s,color .25s,box-shadow .25s,transform .2s}.home .top-controls .nav-control:hover{border-color:var(--ui-accent);color:var(--ui-accent);transform:translateY(-1px);background:var(--tile-face)}.home .top-controls .nav-control[data-active=true],.home .top-controls .nav-control[aria-current=page]{border-color:color-mix(in srgb,var(--ui-accent) 65%,transparent);color:var(--ui-accent);background:var(--tile-face);box-shadow:inset 0 1px 0 #ffffff20,0 0 16px color-mix(in srgb,var(--ui-accent) 12%,transparent)}.home .top-controls .nav-control[data-active=true]::after{left:11px;right:11px;bottom:4px;width:auto;height:2px;border-radius:0;background:var(--ui-accent);box-shadow:0 0 7px var(--ui-accent)}
.home .dropzone,.home .track-card,.account-card,.profile-card,.collection-empty,.upload-queue{background:var(--tile-face);border:1px solid #ffffff26;border-radius:10px 22px 10px 22px;box-shadow:inset 0 1px 0 #ffffff12,inset 0 -5px 0 #0005,0 14px 34px #0003}.home .dropzone{position:relative;min-height:262px;padding:32px 20px;border-style:solid}.home .dropzone::after{content:'';position:absolute;height:3px;bottom:16px;left:calc(50% - 28px);width:56px;background:var(--ui-accent);box-shadow:0 0 14px color-mix(in srgb,var(--ui-accent) 70%,transparent)}.home .dropzone:hover,.home .dropzone.drag{background:var(--tile-face);border-color:var(--ui-accent)}.home .upload-icon{border:1px solid color-mix(in srgb,var(--ui-accent) 35%,transparent);background:#ffffff04;border-radius:5px;transform:skew(-8deg);font-weight:400}.home .dropzone strong{font-family:'Space Grotesk',system-ui,sans-serif;font-size:19px;font-weight:500}.home .file-pill,.collection-upload{border:1px solid #ffffff35;border-radius:5px 10px 5px 10px;background:linear-gradient(#ffffff0b,#ffffff03);box-shadow:inset 0 1px 0 #ffffff0a;color:var(--ui-text);font-size:12px}
.home .edition-picker{padding:4px;background:#07091099;border-color:#ffffff20;border-radius:7px 13px 7px 13px}.home .edition-picker button{border-radius:4px 9px 4px 9px;font-family:'Space Grotesk',system-ui,sans-serif;letter-spacing:.5px}.home .edition-picker button.selected,.home .edition-picker #deluxeEdition.selected{background:var(--tile-face);color:var(--ui-accent);box-shadow:inset 0 1px 0 #ffffff20,inset 0 -2px 0 #0008}.home .difficulties button,.home.deluxe .difficulties button{position:relative;background:var(--tile-face);border-radius:5px 13px 5px 13px;border:1px solid #ffffff20;box-shadow:inset 0 1px 0 #ffffff0d,inset 0 -4px 0 #0005;min-height:91px;transition:border-color .25s,color .25s,box-shadow .25s}.home .difficulties button.selected,.home.deluxe .difficulties button.selected{background:var(--tile-face);border-color:var(--ui-accent);box-shadow:inset 0 1px 0 #ffffff22,0 0 16px color-mix(in srgb,var(--ui-accent) 12%,transparent)}.home .difficulties button.selected::after,.home.deluxe .difficulties button.selected::after{content:'';position:absolute;bottom:10px;height:2px;left:25%;right:25%;background:var(--ui-accent);box-shadow:0 0 8px var(--ui-accent)}.home .difficulties strong{font-family:'Space Grotesk',system-ui,sans-serif;font-weight:500;letter-spacing:.15px}.home .difficulties small{font-size:9px;color:var(--ui-muted)}
.home .play-button,.primary,.account-card .primary,.library-actions .primary{position:relative;background:var(--tile-face);color:var(--ui-text);border:1px solid color-mix(in srgb,var(--ui-accent) 65%,transparent);border-radius:7px 15px 7px 15px;min-height:54px;box-shadow:inset 0 1px 0 #ffffff20,inset 0 -4px 0 #0006,0 8px 24px color-mix(in srgb,var(--ui-accent) 9%,transparent);font-family:'Space Grotesk',system-ui,sans-serif;font-weight:500;letter-spacing:.5px;transition:box-shadow .25s,border-color .25s,transform .2s}.home .play-button:not(:disabled)::after,.primary::after{content:'';position:absolute;width:42px;height:2px;bottom:7px;left:calc(50% - 21px);background:var(--ui-accent);box-shadow:0 0 9px var(--ui-accent)}.primary:hover,.home .play-button:not(:disabled):hover{background:var(--tile-face);box-shadow:inset 0 1px 0 #ffffff30,0 0 24px color-mix(in srgb,var(--ui-accent) 15%,transparent);transform:translateY(-1px)}.home .play-button:disabled{opacity:.4}.secondary,.account-card .secondary{border-radius:6px 12px 6px 12px;background:linear-gradient(145deg,#24263399,#10121a);border:1px solid #ffffff28;color:var(--ui-text);box-shadow:inset 0 1px 0 #ffffff10,inset 0 -2px 0 #0004}.home button:disabled,.primary:disabled{transform:none;cursor:default}
dialog{background:linear-gradient(145deg,#242735,#10121b 36%,#0c0e15 85%);color:var(--ui-text);border:1px solid #ffffff30;border-radius:10px 23px 10px 23px;box-shadow:inset 0 1px 0 #ffffff1a,0 35px 100px #0009}dialog::backdrop{background:#03040b9c;backdrop-filter:blur(12px)}dialog h2,.account-card h2,.social-section h2,.friend-board h2{font-family:'Space Grotesk',system-ui,sans-serif;font-weight:500;letter-spacing:-.35px}.dialog-head .icon-btn{border-radius:5px 9px 5px 9px;background:#ffffff05;border:1px solid #ffffff20}input:not([type=range]):not([type=checkbox]),select,.account-card input,.collection-home input[type=search]{border-radius:5px 9px 5px 9px;border-color:#ffffff25;background:#080b13cc;color:var(--ui-text);box-shadow:inset 0 2px 6px #0004}.setting-help{color:var(--ui-muted)}.home footer,.collection-home footer{border-color:#ffffff1a;font-family:'Space Grotesk',system-ui,sans-serif;font-size:11px;letter-spacing:.4px}
.song-card{border-radius:10px 24px 10px 24px;background:var(--tile-face);border-color:#ffffff30;box-shadow:inset 0 1px 0 #ffffff25,0 18px 42px #0005}.song-card.selected{border-color:color-mix(in srgb,var(--ui-accent) 60%,transparent)}.song-card::after{content:'';position:absolute;inset:0;pointer-events:none;border:5px solid #10131d44;border-bottom-width:8px;border-radius:inherit;box-shadow:inset 0 1px 0 #ffffff4d}.song-card .file-badge{border-radius:4px 8px 4px 8px;letter-spacing:1.5px;font-family:'Space Grotesk',system-ui,sans-serif;color:var(--ui-accent)}.library-song-heading h2{font-family:'Space Grotesk',system-ui,sans-serif}.player-row{border-bottom-color:#ffffff14}.player-avatar,.profile-avatar{border-radius:6px 13px 6px 13px;border-color:color-mix(in srgb,var(--ui-accent) 25%,transparent);background:var(--tile-face);color:var(--ui-accent)}.player-score{font-family:'Space Grotesk',system-ui,sans-serif;font-weight:500;color:var(--ui-accent)}.collection-caption,.collection-status,.collection-text{color:var(--ui-muted)}.collection-text:hover,.profile-upload{color:var(--ui-accent)}.board-filters select{background:#0b0d15}.player-row button{border-radius:5px 9px 5px 9px;background:var(--tile-face)}.profile-card .profile-avatar{width:78px;height:78px;border-radius:11px 20px 11px 20px}.account-back{border-radius:5px 10px 5px 10px;background:var(--tile-face)}.account-card-heading{flex-wrap:wrap}.plan-price{font-family:'Space Grotesk',system-ui,sans-serif;color:var(--ui-accent)}
#setup{background:var(--tile-face);border:1px solid #ffffff25;border-radius:14px 32px 14px 32px;box-shadow:inset 0 1px 0 #ffffff20,0 30px 80px #0005}#setup #code{color:var(--ui-accent);font-family:'Space Grotesk',system-ui,sans-serif;text-shadow:0 0 25px color-mix(in srgb,var(--ui-accent) 25%,transparent)}#setup #pair,#tools button{background:var(--tile-face);color:var(--ui-accent);border:1px solid color-mix(in srgb,var(--ui-accent) 45%,transparent);border-radius:6px 13px 6px 13px}#setup .tv-switch-track{border-color:var(--ui-accent)}#tools button:focus-visible{outline-color:var(--ui-accent)}
#game .dial-score,#game #score,#game #multiplier{font-family:'Space Grotesk',system-ui,sans-serif;font-variant-numeric:tabular-nums}#game .mode-chip{border-radius:6px 13px 6px 13px}
.pulse-lite{--tile-face:linear-gradient(145deg,#262626,#101010 45%,#080808 75%,#202020);--ui-accent:#e8e8e8;--ui-text:#f3f3f3;--ui-muted:#aaa}.pulse-lite .home{background:#080808!important}.pulse-lite .home-header::after{background:currentColor;box-shadow:none}.pulse-lite .top-controls .nav-control{color:#ccc}.pulse-lite .dropzone::after{box-shadow:none}.pulse-lite .primary::after,.pulse-lite .play-button::after,.pulse-lite .difficulties button.selected::after{box-shadow:none}.pulse-lite .difficulties button.selected{border-color:#ddd;box-shadow:inset 0 1px 0 #ffffff20}.pulse-lite .play-button,.pulse-lite .primary{box-shadow:inset 0 1px 0 #ffffff20}.pulse-lite .lite-upgrade{background:linear-gradient(135deg,#7847cd,#ac82f1);border-radius:5px 10px 5px 10px}.pulse-lite .lite-badge{border-radius:3px 6px 3px 6px}
html[data-lite-theme=white] .pulse-lite{--tile-face:linear-gradient(145deg,#fff,#eee 45%,#fafafa 75%,#ddd);--ui-text:#151515;--ui-accent:#222;--ui-muted:#666}html[data-lite-theme=white] .pulse-lite .home{background:#f5f5f5!important}html[data-lite-theme=white] .pulse-lite .top-controls .nav-control{color:#333;border-color:#0003}html[data-lite-theme=white] .pulse-lite .dropzone,html[data-lite-theme=white] .pulse-lite .track-card,html[data-lite-theme=white] .pulse-lite .difficulties button,html[data-lite-theme=white] .pulse-lite dialog{background:var(--tile-face);border-color:#0003;box-shadow:inset 0 1px 0 #fff,inset 0 -4px 0 #0001;color:#111}html[data-lite-theme=white] .pulse-lite .primary,html[data-lite-theme=white] .pulse-lite .play-button{background:var(--tile-face);color:#111;border-color:#0006}html[data-lite-theme=white] .pulse-lite input,html[data-lite-theme=white] .pulse-lite select{background:#fff;color:#111;border-color:#0003}
@media(max-width:420px){.home h1,.account-main h1,.collection-home h1{font-size:29px}.home .dropzone{min-height:243px}.home .brand .pulse-wordmark{width:105px}.home .difficulties button,.home.deluxe .difficulties button{min-height:87px}}@media(prefers-reduced-motion:reduce){:root{transition:none}.home .top-controls .nav-control,.primary,.home .play-button{transition:none}.primary:hover,.home .play-button:hover,.home .top-controls .nav-control:hover{transform:none}}
body{isolation:isolate}
/* A true rectangular perimeter: SVG pathLength keeps the existing 10-step progress scale. */
#game{--dial-size:clamp(100px,14dvh,128px)}#game.video-mode{--dial-size:clamp(82px,11dvh,100px)}#game .score-dial,#game.deluxe .score-dial,#game.video-mode .score-dial{width:calc(var(--dial-size)*1.666667);height:var(--dial-size);border:0;border-radius:0;background:transparent!important;box-shadow:none!important;filter:drop-shadow(0 8px 14px #0003)}#game .score-dial svg{transform:none;overflow:visible}#game .dial-background{fill:url(#scoreBadgeFill);stroke:color-mix(in srgb,var(--ui-accent) 35%,#ffffff20);stroke-width:1;stroke-linejoin:bevel}#game.video-mode .dial-background{fill:#0a101ac9;stroke:var(--video-ink,#d5e6fa);stroke-opacity:.35}#game .dial-content{padding:9px 20px 8px;justify-content:center}#game .dial-content small{font-size:7px;letter-spacing:1.7px;margin-bottom:3px}#game .dial-content #score{font-size:clamp(22px,3dvh,29px);line-height:1;letter-spacing:-.5px}#game .dial-content #multiplier{font-size:21px;line-height:1;margin-top:4px}#game .dial-content .streak{font-size:6px;letter-spacing:1px;margin-top:5px}#game.video-mode .dial-content #score{font-size:21px}#game.video-mode .dial-content #multiplier{font-size:17px}#game.video-mode .dial-content small{font-size:6px}#game.video-mode .dial-content .streak{font-size:5px;margin-top:4px}#game .dial-track{stroke:#ffffff18;stroke-width:2;stroke-linejoin:bevel}#game .dial-progress{stroke-width:3;stroke-linejoin:bevel;stroke-linecap:butt;stroke-dasharray:578;stroke-dashoffset:578}.pulse-lite #game .dial-background{fill:#101010;stroke:#ffffff66}html[data-lite-theme=white] .pulse-lite #game .dial-background{fill:#fafafa;stroke:#1117}
/* Pronounced chamfer, hard bevel and luminous center dash match the playable tiles. */
:root{--tile-cut:polygon(0 0,calc(100% - 16px) 0,100% 16px,100% 100%,16px 100%,0 calc(100% - 16px));--tile-face:linear-gradient(135deg,color-mix(in srgb,var(--ui-accent) 13%,#202937) 0%,#0b101a 27%,#050810 68%,color-mix(in srgb,var(--ui-accent) 10%,#16212f) 100%)}
.home .dropzone,.home .track-card,.account-card,.profile-card,.collection-empty,.upload-queue{position:relative;clip-path:var(--tile-cut);border-radius:4px;background:var(--tile-face);border-color:color-mix(in srgb,var(--ui-accent) 38%,#ffffff15);box-shadow:inset 2px 2px 0 #ffffff1d,inset -2px -5px 0 #000b,inset 0 0 0 5px #ffffff04}
.home .dropzone::before,.account-card::before,.profile-card::before{content:'';position:absolute;left:14px;top:13px;width:15px;height:18px;background:var(--ui-accent);mask:url('/pulse-mark.svg') center/contain no-repeat;opacity:.25;pointer-events:none}.account-card::before,.profile-card::before{left:auto;right:21px;top:12px;width:11px;height:13px;opacity:.18}
.home .dropzone::after{width:72px;left:calc(50% - 36px);height:3px;background:linear-gradient(90deg,var(--ui-accent),#fff,var(--ui-accent));box-shadow:0 0 8px var(--ui-accent),0 0 24px color-mix(in srgb,var(--ui-accent) 55%,transparent)}
.home .top-controls .nav-control,.home .top-controls #menuAudio{clip-path:polygon(0 0,calc(100% - 7px) 0,100% 7px,100% 100%,7px 100%,0 calc(100% - 7px));border-radius:3px;background:var(--tile-face);border-color:color-mix(in srgb,var(--ui-accent) 32%,#ffffff18);box-shadow:inset 1px 1px 0 #ffffff24,inset -1px -3px 0 #000b}.home .top-controls .nav-control::after{content:'';position:absolute;left:calc(50% - 7px);right:auto;bottom:5px;width:14px;height:1px;background:var(--ui-accent);opacity:.3;border-radius:0;box-shadow:none}.home .top-controls .nav-control[data-active=true]::after,.home .top-controls .nav-control[aria-current=page]::after{left:calc(50% - 10px);right:auto;width:20px;height:2px;opacity:1;box-shadow:0 0 8px var(--ui-accent)}
.home .difficulties button,.home.deluxe .difficulties button,.home .edition-picker button,.primary,.home .play-button,.account-card .primary,.secondary,.account-card .secondary,.collection-upload{clip-path:polygon(0 0,calc(100% - 11px) 0,100% 11px,100% 100%,11px 100%,0 calc(100% - 11px));border-radius:3px;box-shadow:inset 1px 1px 0 #ffffff24,inset -1px -4px 0 #000b;background:var(--tile-face)}
.home .difficulties button.selected,.home.deluxe .difficulties button.selected{border-color:var(--ui-accent);box-shadow:inset 1px 1px 0 #ffffff38,inset -1px -4px 0 #000b,inset 0 0 24px color-mix(in srgb,var(--ui-accent) 9%,transparent)}.home .difficulties button.selected::after,.home.deluxe .difficulties button.selected::after{height:3px;box-shadow:0 0 8px var(--ui-accent),0 0 18px color-mix(in srgb,var(--ui-accent) 45%,transparent);background:linear-gradient(90deg,var(--ui-accent),#fff,var(--ui-accent))}.home .play-button:not(:disabled)::after,.primary::after{width:64px;left:calc(50% - 32px);height:3px;background:linear-gradient(90deg,var(--ui-accent),#fff,var(--ui-accent));box-shadow:0 0 8px var(--ui-accent),0 0 24px color-mix(in srgb,var(--ui-accent) 45%,transparent)}
.song-card{clip-path:polygon(0 0,calc(100% - 19px) 0,100% 19px,100% 100%,19px 100%,0 calc(100% - 19px));border-radius:4px;border-color:color-mix(in srgb,var(--ui-accent) 30%,#ffffff20)}.song-card::after{border-radius:4px;border-color:#1a273c66;box-shadow:inset 1px 1px 0 #ffffff55,inset -2px -3px 0 #000b}.song-card.selected{border-color:var(--ui-accent)}.song-card.selected::after{box-shadow:inset 1px 1px 0 color-mix(in srgb,var(--ui-accent) 70%,#fff),inset -2px -3px 0 #000b}.song-card::before{content:'';position:absolute;left:14px;top:14px;width:14px;height:17px;background:var(--ui-accent);mask:url('/pulse-mark.svg') center/contain no-repeat;opacity:.5;z-index:7;pointer-events:none}
.pulse-lite .home .dropzone::after,.pulse-lite .primary::after,.pulse-lite .play-button::after,.pulse-lite .difficulties button.selected::after{background:#eee;box-shadow:0 0 8px #ffffff44}.pulse-lite .top-controls .nav-control::after{background:currentColor;box-shadow:none}html[data-lite-theme=white] .pulse-lite .home .dropzone::after,html[data-lite-theme=white] .pulse-lite .primary::after,html[data-lite-theme=white] .pulse-lite .play-button::after,html[data-lite-theme=white] .pulse-lite .difficulties button.selected::after{background:#222;box-shadow:none}
/* Tile chassis: raised dark faces, colored edge rails and a white-hot strike dash. */
:root{--tile-energy:color-mix(in srgb,var(--ui-accent) 78%,#7950ed);--tile-face:linear-gradient(135deg,color-mix(in srgb,var(--ui-accent) 24%,#283342) 0%,#101622 23%,#050810 64%,color-mix(in srgb,var(--ui-accent) 16%,#202b3b) 100%)}
body:not(.pulse-lite)::before{background:radial-gradient(ellipse at 15% 8%,hsl(var(--art-hue) var(--art-saturation) 25% / .8),transparent 58%),radial-gradient(ellipse at 95% 65%,hsl(var(--art-hue) var(--art-saturation) 19% / .6),transparent 65%),#080a12}
.home .dropzone,.home .track-card,.account-card,.profile-card,.collection-empty,.upload-queue{border-color:color-mix(in srgb,var(--ui-accent) 65%,#ffffff20);background:linear-gradient(90deg,var(--tile-energy),transparent) 12px 8px/54px 2px no-repeat,linear-gradient(0deg,var(--tile-energy),transparent) right 8px bottom 13px/2px 40px no-repeat,var(--tile-face);box-shadow:inset 3px 3px 0 #ffffff29,inset -3px -7px 0 #000d,inset 0 0 0 7px #ffffff06,inset 0 0 45px color-mix(in srgb,var(--ui-accent) 7%,transparent)}
.home .dropzone::before{left:20px;top:23px;width:22px;height:27px;opacity:.7}.home .dropzone::after{width:100px;left:calc(50% - 50px);bottom:20px;height:4px;background:#f8f5ff;box-shadow:0 0 5px #fff,0 0 14px var(--ui-accent),0 0 30px var(--tile-energy)}
.home .top-controls .nav-control,.home .top-controls #menuAudio{color:var(--ui-accent);border-color:color-mix(in srgb,var(--ui-accent) 50%,#ffffff24);box-shadow:inset 2px 2px 0 #ffffff35,inset -2px -5px 0 #000c;background:linear-gradient(var(--ui-accent),var(--ui-accent)) center bottom 5px/15px 2px no-repeat,var(--tile-face);transition:color .3s,filter .25s,transform .2s}
.home .top-controls .nav-control::after{opacity:.8;box-shadow:0 0 7px var(--ui-accent)}.home .top-controls .nav-control:hover,.home .top-controls #menuAudio:hover{filter:brightness(1.3);transform:translateY(-2px)}
.home .difficulties button,.home.deluxe .difficulties button{min-height:102px;border-color:color-mix(in srgb,var(--ui-accent) 38%,#ffffff20);box-shadow:inset 2px 2px 0 #ffffff2a,inset -3px -7px 0 #000c}.home .difficulties button::after,.home.deluxe .difficulties button::after{content:'';position:absolute;height:3px;left:27%;right:27%;bottom:12px;background:var(--ui-accent);opacity:.35;box-shadow:0 0 9px var(--ui-accent)}.home .difficulties button.selected,.home.deluxe .difficulties button.selected{box-shadow:inset 2px 2px 0 #ffffff66,inset -3px -7px 0 #000c,inset 0 0 30px color-mix(in srgb,var(--ui-accent) 20%,transparent)}.home .difficulties button.selected::after,.home.deluxe .difficulties button.selected::after{height:4px;background:#fff;opacity:1;box-shadow:0 0 5px #fff,0 0 13px var(--ui-accent),0 0 25px var(--tile-energy)}.home .difficulties strong{font-weight:600}.home .difficulties small{margin-bottom:9px}
.primary,.home .play-button,.account-card .primary,.library-actions .primary{border-color:var(--ui-accent);box-shadow:inset 2px 2px 0 #ffffff40,inset -3px -6px 0 #000c,inset 0 0 24px color-mix(in srgb,var(--ui-accent) 12%,transparent);letter-spacing:1px}.primary::after,.home .play-button:not(:disabled)::after{background:#fff;box-shadow:0 0 5px #fff,0 0 12px var(--ui-accent),0 0 25px var(--tile-energy)}
.song-card::after{border-width:7px;border-bottom-width:11px;box-shadow:inset 2px 2px 0 #ffffff66,inset -3px -4px 0 #000c}.song-card.selected::after{border-color:color-mix(in srgb,var(--ui-accent) 35%,#101521);box-shadow:inset 2px 2px 0 var(--ui-accent),inset -3px -4px 0 #000d}.song-card::before{width:19px;height:24px;opacity:.8;filter:drop-shadow(0 0 5px var(--ui-accent))}
.pulse-lite{--tile-energy:#eee}.pulse-lite .home .dropzone,.pulse-lite .home .track-card{background:var(--tile-face)}.pulse-lite .home .dropzone::after,.pulse-lite .home .difficulties button.selected::after{background:#eee;box-shadow:0 0 8px #ffffff55}.pulse-lite .home .difficulties button.selected{box-shadow:inset 2px 2px 0 #ffffff55,inset -3px -7px 0 #000c}html[data-lite-theme=white] .pulse-lite{--tile-energy:#222}html[data-lite-theme=white] .pulse-lite .home .dropzone::after,html[data-lite-theme=white] .pulse-lite .home .difficulties button.selected::after{background:#222;box-shadow:none}html[data-lite-theme=white] .pulse-lite .home .difficulties button{box-shadow:inset 2px 2px 0 #fff,inset -3px -5px 0 #0002}
@media(prefers-reduced-motion:reduce){.home .top-controls .nav-control:hover,.home .top-controls #menuAudio:hover{transform:none}.home .top-controls #menuAudio{transition:none}}
/* Smooth, compositor-only interactions; the logo takes the shared ambient ink. */
.pulse-ambient-logo{display:block;width:116px;height:36px;background:var(--ui-accent);mask:url('/pulse-wordmark-mask.svg') center/contain no-repeat;-webkit-mask:url('/pulse-wordmark-mask.svg') center/contain no-repeat;transition:background-color .8s ease;flex-shrink:0}.pulse-ambient-logo.tv-wordmark{width:210px;height:56px;margin-inline:auto}.pulse-ambient-logo.native-logo{width:120px;height:32px}
.home .top-controls .nav-control,.home .top-controls #menuAudio,.home .difficulties button,.home.deluxe .difficulties button,.home .edition-picker button,.secondary,.collection-upload,.song-card{transition:transform .22s cubic-bezier(.2,.7,.2,1),border-color .35s ease,color .35s ease,box-shadow .35s ease,opacity .3s ease}
.home .top-controls .nav-control:active,.home .top-controls #menuAudio:active,.home .difficulties button:active,.secondary:active,.collection-upload:active{transform:translateY(1px);filter:brightness(1.08)}
.home .difficulties button:focus-visible,.home .top-controls .nav-control:focus-visible,.primary:focus-visible,.secondary:focus-visible,.song-card:focus-visible{outline:2px solid var(--ui-accent);outline-offset:4px}
.home .difficulties button:hover:not(:disabled){border-color:var(--ui-accent)}.home .section-label{line-height:1.6}.home .track-card,.profile-card,.account-card{transition:border-color .6s ease,box-shadow .6s ease}.collection-text{transition:color .2s ease}
#game.video-mode #musicVideo{transform:translateZ(0);backface-visibility:hidden;will-change:transform}#game.video-mode .video-shade{transform:translateZ(0)}
@media(max-width:420px){.home .brand .pulse-ambient-logo{width:100px;height:30px}.home .top-controls .nav-control,.home .top-controls #menuAudio{min-height:38px}}
@media(prefers-reduced-motion:reduce){.pulse-ambient-logo,.home .top-controls .nav-control,.home .top-controls #menuAudio,.home .difficulties button,.home.deluxe .difficulties button,.home .edition-picker button,.secondary,.collection-upload,.song-card,.home .track-card,.profile-card,.account-card,.collection-text{transition:none}.home .top-controls .nav-control:active,.home .top-controls #menuAudio:active,.home .difficulties button:active,.secondary:active,.collection-upload:active{transform:none}}
/* One shared control and surface treatment across collections, account and dialogs. */
dialog{border-radius:8px 20px 8px 20px;border-color:color-mix(in srgb,var(--ui-accent) 42%,#ffffff20);background:var(--tile-face);box-shadow:inset 2px 2px 0 #ffffff1c,inset -2px -5px 0 #0008,0 30px 90px #0009}dialog .dialog-head{gap:16px}dialog .primary,dialog .secondary{min-height:48px}dialog h2,.collection-home h2,.account-main h2{line-height:1.3}
.collection-text,.account-text-button,.account-back,.profile-upload{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:8px 12px;gap:6px;line-height:1.3;font-family:'Space Grotesk',system-ui,sans-serif;font-size:12px;border:1px solid color-mix(in srgb,var(--ui-accent) 22%,transparent);border-radius:4px 9px 4px 9px;background:#ffffff04;color:var(--ui-muted);text-decoration:none;cursor:pointer;transition:background-color .2s,color .2s,border-color .25s}.collection-text:hover,.account-text-button:hover,.account-back:hover,.profile-upload:hover{color:var(--ui-accent);border-color:var(--ui-accent);background:#ffffff08}.library-artwork-tools .collection-text{padding:6px 10px;min-height:32px}.library-song-heading .collection-text{align-self:flex-start}.profile-upload{margin-right:8px}
.collection-tools{gap:12px}.collection-search input,.account-card input,.friend-search input{min-height:44px}.collection-upload{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:16px}.board-filters select{min-height:40px}.friend-board,.social-section{border-top-color:color-mix(in srgb,var(--ui-accent) 22%,transparent)}.player-row{padding:16px 0}.collection-count{color:var(--ui-accent)}.library-song-heading h2,.profile-card h2{font-weight:600}.library-song-heading p,.collection-caption,.account-card p{color:var(--ui-muted)}
.account-main .account-card{padding:24px}.account-main .account-card+.account-card{margin-top:20px}.account-main .account-card .primary{color:var(--ui-text);border-color:var(--ui-accent);background:var(--tile-face);font-family:'Space Grotesk',system-ui,sans-serif}.account-main .account-card .secondary{background:var(--tile-face);color:var(--ui-text);font-family:'Space Grotesk',system-ui,sans-serif}.account-card-heading .account-text-button{flex-shrink:0}.library-actions .primary{min-height:52px}.collection-home main,.account-main{padding-bottom:24px}
@media(max-width:420px){.account-main .account-card{padding:20px}.account-card-heading{gap:10px}.account-text-button,.collection-text{font-size:11px;padding:8px 10px}}
@media(prefers-reduced-motion:reduce){.collection-text,.account-text-button,.account-back,.profile-upload{transition:none}}

/* Editions share tile geometry; Deluxe keeps its own purple ambient light. */
.home .edition-picker button{position:relative;min-height:42px;display:flex;justify-content:center;align-items:center;border:1px solid #ffffff18;background:var(--tile-face);color:var(--ui-muted);box-shadow:inset 1px 1px 0 #ffffff24,inset -1px -4px 0 #000b}
.home .edition-picker button.selected{border:1px solid var(--ui-accent);color:var(--ui-accent);background:var(--tile-face);box-shadow:inset 1px 1px 0 #ffffff24,inset -1px -4px 0 #000b,inset 0 0 18px color-mix(in srgb,var(--ui-accent) 9%,transparent)}
.home .edition-picker #deluxeEdition{color:#c8a5f5;border:1px solid #b888ee40;background:var(--tile-face);box-shadow:inset 1px 1px 0 #ffffff24,inset -1px -4px 0 #000b,inset 0 0 20px #a04fe51c}
.home .edition-picker #deluxeEdition.selected{border:1px solid #c293ff;color:#e1c4ff;background:var(--tile-face);box-shadow:inset 1px 1px 0 #ffffff24,inset -1px -4px 0 #000b,inset 0 0 24px #a04fe538}

/* Deluxe uses the Standard tile geometry with purple ambient accents. */
.home.deluxe .difficulties button{background:var(--tile-face);border-color:#b888ee40;color:var(--ui-muted);box-shadow:inset 2px 2px 0 #ffffff2a,inset -3px -7px 0 #000c,inset 0 0 20px #a04fe51c}
.home.deluxe .difficulties button.selected{background:var(--tile-face);border-color:#c293ff;color:#e1c4ff;box-shadow:inset 2px 2px 0 #ffffff66,inset -3px -7px 0 #000c,inset 0 0 30px #a04fe538}
.home.deluxe .difficulties button::after{background:#c293ff;box-shadow:0 0 9px #b179ff}
.home.deluxe .difficulties button.selected::after{background:#fff;box-shadow:0 0 5px #fff,0 0 13px #c293ff,0 0 25px #b179ff}
.home.deluxe .difficulties button:hover:not(:disabled){border-color:#c293ff}
