/* A shared macOS-inspired finish. Geometry stays with each screen's layout. */
:root{--surface-border:rgba(255,255,255,.09);--surface-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 6px 22px rgba(0,0,0,.13)}
body,button,input,select,textarea{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body{background:radial-gradient(ellipse at 85% 0,#153526 0,transparent 48%),var(--bg);-webkit-font-smoothing:antialiased}
h1,h2,h3{letter-spacing:-.035em}button{border-radius:10px!important;transition:background .16s,border-color .16s,box-shadow .16s}
header{background:rgba(7,20,14,.92)!important;border-bottom:1px solid var(--surface-border)!important;backdrop-filter:blur(18px)!important;-webkit-backdrop-filter:blur(18px)!important}
.brand .mic{border-radius:12px!important;background:linear-gradient(145deg,#67f39d,#28d972)!important}
.app-tabs{background:rgba(17,36,27,.94)!important;border:1px solid var(--surface-border)!important;border-radius:14px!important;box-shadow:var(--surface-shadow)!important;backdrop-filter:blur(20px)!important;-webkit-backdrop-filter:blur(20px)!important}
.app-tabs .navbtn,.app-tabs .account-button{border-radius:10px!important}
.app-tabs .navbtn:not(.active):hover{background:#ffffff0b!important}
.secondary,.quick-package,.icon-refresh,.library-more{background:#ffffff04!important;border:1px solid #ffffff16!important;color:#cde2d5!important;border-radius:10px!important;box-shadow:inset 0 1px 0 #ffffff04!important}
.secondary:hover,.quick-package:hover,.icon-refresh:hover,.library-more:hover{background:#ffffff0b!important;border-color:#ffffff28!important}
.primary:not(:disabled):hover{background:#61ef97!important}
.pack-card,.managed-package,.admin-upload,.admin-guide,.mvsep-admin,.library-tools,.package-form,.admin-mode,.microphone-settings,.shell .panel,.shell .job{background:linear-gradient(150deg,#10241c,#0b1913)!important;border:1px solid var(--surface-border)!important;border-radius:16px!important;box-shadow:var(--surface-shadow)!important}
.pack-card:hover{border-color:#ffffff26!important;box-shadow:var(--surface-shadow)!important}
.pack-art{background:linear-gradient(145deg,#1c4833,#10291e)!important;border-right:1px solid #ffffff08}
.pack-body h3{font-weight:650}.pack-body p,.admin-heading p,.package-manager-head p{color:#9db3a6}
.pack-footer button{border-radius:10px!important}
.pack-tag,.package-state,.song-origin,.song-package-links span{border-radius:6px!important}
.library-search,.field input,.field select,.package-form input,.package-edit input,.publish-card input,.publish-card select,.mvsep-admin input,.mvsep-admin select,.shell input,.shell select,textarea{background:#071610!important;border:1px solid #ffffff16!important;border-radius:10px!important;color:var(--text);box-shadow:inset 0 1px 3px #0002;transition:border-color .16s}
.library-search input{background:transparent!important;border:0!important;box-shadow:none}
.library-search:focus-within{border-color:#32e87588!important;box-shadow:0 0 0 3px #32e87512}
.library-filters button{border-color:#ffffff16!important;border-radius:8px!important;background:#ffffff03;color:#abc0b2}
.library-filter-row select{border:1px solid #ffffff16!important;border-radius:9px!important;background:#ffffff04}
.admin-mode select{border-color:#ffffff16!important;border-radius:9px!important}
.admin-action-icon,.admin-guide i,.site-dialog-icon,.shell .step{border-radius:12px!important;background:#32e87518!important;color:#7aeca6}
.admin-upload:hover{border-color:#32e87566!important;transform:none}
.managed-song,.mvsep-job{border:1px solid #ffffff0c!important;border-radius:10px!important;background:#ffffff03!important}
.mvsep-job-actions button{border-radius:9px!important}
.modal{background:rgba(0,8,4,.7)!important;backdrop-filter:blur(10px)!important;-webkit-backdrop-filter:blur(10px)!important}
.modal-card,.site-dialog-card,.auth-card,.publish-card,.lyrics-picker-card,.lyrics-help-card,.assist-card,.v17-card,.modern-result .v31-finalbox{background:linear-gradient(150deg,#122b20,#0a1b12)!important;border:1px solid #ffffff1c!important;border-radius:20px!important;box-shadow:inset 0 1px 0 #ffffff07,0 25px 80px #0008!important}
.modal-card h2,.site-dialog-card h2{font-weight:650}
.modal-card .hint,.site-dialog-card p{color:#abc1b2}
.auth-close,.picker-head button{border-radius:9px!important}
#siteDialog[data-tone="danger"] .site-dialog-icon{background:#ff6b6b15!important;color:#ff9393}
#player .transport-play,#player .transport-restart,#player .player-settings-trigger,#player #close{border-radius:11px!important}
#player .transport-restart,#player .player-settings-trigger,#player #close{background:#ffffff04!important;border-color:#ffffff19!important;color:#d3e4d9!important}
#player #playerSettings{background:linear-gradient(145deg,#122b20,#0b1d14)!important;border:1px solid #ffffff1c!important;border-radius:20px!important;box-shadow:inset 0 1px 0 #ffffff06,0 20px 65px #0008!important}
#player .player-settings-heading h2{font-weight:650}
#v27Moment .v27-card{border-radius:14px!important;background:linear-gradient(145deg,#163724,#0c2419)!important;box-shadow:inset 0 1px 0 #ffffff08,0 10px 30px #0004!important}
.result-grade,.result-breakdown>div,.result-record{border:1px solid #ffffff14!important;border-radius:12px!important;background:#ffffff04}
.result-actions button{border-radius:12px!important}
@media(max-width:760px){
 .app-tabs{border-radius:18px!important;box-shadow:0 8px 30px #0005,inset 0 1px 0 #ffffff06!important}
 .app-tabs .navbtn{border-radius:12px!important}
 .library-tools{border-radius:16px!important}
 .compact-songs .song{background:linear-gradient(145deg,#10241c,#0b1913)!important;border:1px solid #ffffff12!important;border-radius:14px!important;box-shadow:var(--surface-shadow)!important;padding-left:8px!important}
 .compact-songs .cover{height:40px!important;min-height:40px!important;align-self:center!important;border:1px solid #ffffff0b!important;border-radius:10px!important;background:linear-gradient(145deg,#20543b,#103122)!important;color:#78eca5!important}
 .compact-songs .song-info b{font-weight:600}
 .compact-songs .song-info span{color:#9db3a6}
 .compact-songs .song-origin{background:transparent;padding:0;color:#8bb49a}
 .compact-songs .song-card-actions{padding:2px!important;gap:3px!important;border:1px solid #ffffff0b;border-radius:10px;background:#ffffff04}
 .compact-songs .song-card-actions .card-action{border:0!important;border-radius:8px!important;background:transparent!important;color:#b6cdbf!important}
 .compact-songs .song-card-actions .card-play{background:var(--green)!important;color:#041008!important}
 .compact-songs .song-card-actions .card-delete{color:#ce8c8c!important}
 .pack-card{border-radius:16px!important}.pack-art{border-radius:15px 0 0 15px}
 .admin-upload,.admin-guide,.mvsep-admin{border-radius:16px!important}
 .modal-card,.site-dialog-card,.auth-card,.publish-card{border-radius:20px!important}
 .mvsep-admin input,.mvsep-admin select,.field input,.field select{font-size:16px!important}
 #player #playerSettings{inset:12px!important;margin:auto!important;width:calc(100% - 24px)!important;max-width:400px!important}
}
@media(prefers-reduced-motion:reduce){button,input,select,textarea{transition:none!important}}
/* MVSEP activity is indeterminate until the provider confirms completion. */
.mvsep-job-info{flex:1;min-width:0}
.mvsep-progress{margin-top:16px;padding:14px;background:#ffffff03;border:1px solid #ffffff0b;border-radius:12px}
.mvsep-progress-heading{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.mvsep-progress-heading strong{font-size:12px;font-weight:600;color:#d2ebdc}
.mvsep-progress-dot{width:7px;height:7px;background:var(--green);border-radius:50%;box-shadow:0 0 8px #32e87555}
.mvsep-progress-track{height:5px;border-radius:5px;background:#ffffff0b;overflow:hidden;position:relative}
.mvsep-progress-track>span{display:block;height:100%;width:34%;border-radius:inherit;background:linear-gradient(90deg,#20c963,#72f7a4);animation:mvsepActivity 1.8s ease-in-out infinite}
.mvsep-progress.is-complete .mvsep-progress-track>span{width:100%;animation:none}
.mvsep-progress.is-paused .mvsep-progress-track>span{width:0;animation:none}
.mvsep-progress.is-paused .mvsep-progress-dot{background:#e3bc75;box-shadow:none}
.mvsep-progress-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0 8px;padding:0;list-style:none}
.mvsep-progress-steps li{display:flex;align-items:center;gap:6px;min-width:0;font-size:11px;color:#789283}
.mvsep-progress-steps li>span{display:grid;place-items:center;flex:0 0 auto;width:20px;height:20px;border:1px solid #ffffff14;border-radius:6px;font-size:10px}
.mvsep-progress-steps .is-current{color:#e7faee;font-weight:600}
.mvsep-progress-steps .is-current>span{border-color:#32e87588;background:#32e87512;color:#72f7a4}
.mvsep-progress-steps .is-done{color:#75d99b}
.mvsep-progress small{font-size:10px!important;line-height:1.5;color:#91a69b}
#mvsepUploadProgress{margin-top:16px}
#mvsepUploadProgress[hidden]{display:none}
@keyframes mvsepActivity{0%{transform:translateX(-110%)}100%{transform:translateX(400%)}}
@media(max-width:760px){.mvsep-progress{padding:12px}.mvsep-progress-steps{gap:6px}.mvsep-progress-steps li{flex-direction:column;align-items:center;gap:4px;font-size:10px}.mvsep-job-info{width:100%}}
@media(prefers-reduced-motion:reduce){.mvsep-progress-track>span{animation:none;transform:none;opacity:.8}}
.pack-count{display:flex;align-items:baseline;gap:8px;margin:12px 0 6px}
.auth-card #googleSignIn{width:100%;min-height:44px;display:flex;align-items:center;justify-content:center;gap:10px;margin-top:18px;padding:10px 16px;background:#f5f8f6!important;border:1px solid #d6dfd9!important;color:#26352c!important;font-weight:600;font-size:14px}
.auth-card #googleSignIn:not(:disabled):hover{background:#e5eee8!important}
.auth-card #googleSignIn svg{width:20px;height:20px;flex:0 0 auto}
.auth-divider{display:flex;align-items:center;gap:12px;margin:18px 0;color:var(--muted);font-size:11px}
.auth-divider::before,.auth-divider::after{content:'';height:1px;background:#ffffff12;flex:1}
#googleAuthNotice{font-size:11px;line-height:1.5;margin:10px 0 0;color:var(--muted)}
#googleAuthNotice[hidden]{display:none}
.pack-count b{font-size:22px;color:#e0f8e8;letter-spacing:-.04em}
.pack-count span{font-size:11px;color:var(--muted)}
.pack-body>.package-progress{height:5px;margin:0 0 12px;border-radius:5px;background:#ffffff0b;overflow:hidden}
.pack-body>.package-progress i{display:block;height:100%;background:var(--green);border-radius:inherit}
@media(max-width:760px){.pack-count{gap:6px;margin-top:9px}.pack-count b{font-size:19px}.pack-count span{font-size:9px}.pack-footer strong{font-size:17px!important}.pack-footer button{font-size:10px!important}}
