:root{--bg-primary: #1a1a1a;--bg-secondary: #2a2a2a;--bg-tertiary: #353535;--bg-elevated: #404040;--surface-hover: #4a4a4a;--border-subtle: #404040;--border-medium: #505050;--text-primary: #f5f5f7;--text-secondary: #b8b8b8;--text-muted: #888888;--accent-primary: #6366f1;--accent-primary-hover: #818cf8;--accent-secondary: #22c55e;--accent-warning: #f59e0b;--accent-danger: #ef4444;--accent-good: #10b981;--accent-bad: #f43f5e;--accent-skip: #71717a;--spotify-green: #1db954;--shadow-sm: 0 1px 2px rgba(0,0,0,.3);--shadow-md: 0 4px 12px rgba(0,0,0,.4);--shadow-lg: 0 8px 24px rgba(0,0,0,.5);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--transition-fast: .15s ease;--transition-normal: .25s ease}*{margin:0;padding:0;box-sizing:border-box}body{font-family:DM Sans,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg-primary);color:var(--text-primary);min-height:100vh;line-height:1.5}#root{min-height:100vh}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInRight{0%{transform:translate(20px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideInUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes scaleIn{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.animate-fade-in{animation:fadeIn .3s ease forwards}.animate-slide-in-right{animation:slideInRight .3s ease forwards}.animate-slide-in-up{animation:slideInUp .4s ease forwards}.animate-scale-in{animation:scaleIn .2s ease forwards}.material-icons{font-family:Material Icons;font-weight:400;font-style:normal;display:inline-block;line-height:1;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;direction:ltr;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;font-feature-settings:"liga"}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}input:focus,button:focus{outline:none}a{color:var(--accent-primary);text-decoration:none}a:hover{color:var(--accent-primary-hover)}@media (max-width: 768px){.app-header{padding:12px 16px!important}.app-header-content{flex-direction:column!important;gap:12px!important;align-items:stretch!important}.app-header-left{justify-content:center!important}.app-header-right{justify-content:center!important;flex-wrap:wrap!important;gap:8px!important}.app-progress-bar{width:150px!important}.app-user-badge{padding:4px 8px!important}.app-user-name{display:none!important}.app-main,.song-card{padding:16px!important}.song-card-header{flex-direction:column!important;gap:12px!important}.song-card-title{font-size:16px!important}.song-card-score{align-self:flex-start!important}.spotify-embed{height:80px!important}.audio-player{padding:12px!important}.rating-panel{padding:16px!important}.rating-buttons{flex-direction:column!important;gap:8px!important}.rating-button{width:100%!important;justify-content:center!important}.grade-buttons{justify-content:center!important}.nav-controls{flex-direction:column!important;gap:12px!important}.nav-controls-buttons{width:100%!important;justify-content:space-between!important}.session-selector-grid{grid-template-columns:1fr!important}.session-card{padding:16px!important}.sidebar{width:100%!important;max-width:100%!important}.sidebar-content{padding:16px!important}.category-selector{flex-wrap:wrap!important;gap:6px!important}.category-button{flex:1 1 calc(50% - 6px)!important;min-width:100px!important;font-size:12px!important;padding:8px 12px!important}.property-card{padding:12px!important}.property-options{gap:6px!important}.property-option-button{font-size:12px!important;padding:6px 10px!important}.feedback-item{flex-direction:column!important;align-items:flex-start!important}.feedback-property-name{min-width:unset!important}.modal-overlay{padding:16px!important}.modal-content{width:100%!important;max-width:100%!important;max-height:90vh!important;padding:16px!important;margin:0!important}.summary-container{padding:16px!important}.summary-stats{grid-template-columns:repeat(2,1fr)!important;gap:12px!important}.summary-stat{width:100%!important}.session-selector{padding:20px!important;margin:12px!important}.summary-actions{flex-direction:column!important;gap:12px!important}.summary-actions button{width:100%!important}.score-breakdown{flex-direction:column!important;gap:8px!important}.hide-mobile{display:none!important}}@media (max-width: 480px){.app-header h1{font-size:14px!important}.app-progress-bar{width:120px!important}.song-card{padding:12px!important}.song-card-title{font-size:14px!important}.song-card-subtitle{font-size:12px!important}.song-info-row{flex-wrap:wrap!important;gap:4px!important}.song-info-item{font-size:11px!important}.badge{font-size:10px!important;padding:2px 6px!important}.audio-player{padding:10px!important}.audio-time{font-size:11px!important}.rating-panel{padding:12px!important}.rating-button{padding:12px!important;font-size:14px!important}.grade-button{width:36px!important;height:36px!important;font-size:14px!important}.nav-button{padding:10px 16px!important;font-size:13px!important}.session-selector-header h1{font-size:20px!important}.session-card-title{font-size:14px!important}.login-container{padding:20px!important}.login-title{font-size:20px!important}.sidebar-target-item{padding:12px!important}.sidebar-match-item{padding:8px 12px!important;font-size:12px!important}.category-button{flex:1 1 100%!important}.property-name{font-size:13px!important}.property-description{font-size:11px!important}.summary-title{font-size:20px!important}.summary-subtitle{font-size:14px!important}.summary-stats{grid-template-columns:1fr!important}}@media (hover: none) and (pointer: coarse){button,.nav-button,.rating-button,.grade-button,.category-button,.property-option-button{min-height:44px}button:hover{transform:none!important}}@media (max-width: 768px) and (orientation: landscape){.app-header-content,.rating-buttons,.nav-controls{flex-direction:row!important}}
