:root{--bg-primary: #0a0f1c;--bg-secondary: #111827;--bg-card: rgba(17, 24, 39, .7);--bg-card-hover: rgba(17, 24, 39, .85);--bg-glass: rgba(255, 255, 255, .03);--accent-primary: #06d6a0;--accent-secondary: #00b4d8;--accent-gradient: linear-gradient(135deg, #06d6a0 0%, #00b4d8 100%);--accent-glow: rgba(6, 214, 160, .3);--text-primary: #f8fafc;--text-secondary: #94a3b8;--text-muted: #64748b;--border-color: rgba(255, 255, 255, .08);--border-glow: rgba(6, 214, 160, .2);--success: #22c55e;--warning: #f59e0b;--error: #ef4444;--info: #3b82f6;--font-heading: "Outfit", system-ui, sans-serif;--font-body: "DM Sans", system-ui, sans-serif;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--radius-sm: .375rem;--radius-md: .75rem;--radius-lg: 1rem;--radius-xl: 1.5rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .5);--shadow-glow: 0 0 30px var(--accent-glow);--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .4s ease;--header-height: 4rem;--bottom-nav-height: 4.5rem;--content-max-width: 1400px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%}body{font-family:var(--font-body);background:var(--bg-primary);color:var(--text-primary);line-height:1.6;min-height:100vh;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:600;line-height:1.3}.bg-mesh{position:fixed;top:0;left:0;right:0;bottom:0;z-index:-1;background:radial-gradient(ellipse at 20% 20%,rgba(6,214,160,.08) 0%,transparent 50%),radial-gradient(ellipse at 80% 80%,rgba(0,180,216,.08) 0%,transparent 50%),radial-gradient(ellipse at 50% 50%,rgba(99,102,241,.05) 0%,transparent 60%),var(--bg-primary);animation:meshMove 20s ease-in-out infinite}@keyframes meshMove{0%,to{background-position:0% 0%,100% 100%,50% 50%}50%{background-position:100% 0%,0% 100%,50% 50%}}#app{min-height:100vh;display:flex;flex-direction:column}.header{position:fixed;top:0;left:0;right:0;height:var(--header-height);background:#0a0f1ccc;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--border-color);z-index:1000}.header-content{max-width:var(--content-max-width);margin:0 auto;padding:0 var(--spacing-lg);height:100%;display:flex;align-items:center;justify-content:space-between}.logo{display:flex;align-items:center;gap:var(--spacing-sm)}.logo-icon{width:1.75rem;height:1.75rem;color:var(--accent-primary)}.logo h1{font-size:1.25rem;font-weight:600;background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.connection-status{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-md);background:var(--bg-glass);border:1px solid var(--border-color);border-radius:var(--radius-full);font-size:.8125rem}.status-dot{width:.5rem;height:.5rem;border-radius:50%;background:var(--warning);animation:pulse 2s infinite}.status-dot.connected{background:var(--success);animation:none}.status-dot.error{background:var(--error);animation:none}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.status-text{color:var(--text-secondary)}.main-content{flex:1;padding-top:calc(var(--header-height) + var(--spacing-lg));padding-bottom:var(--spacing-xl);padding-left:var(--spacing-lg);padding-right:var(--spacing-lg);max-width:var(--content-max-width);margin:0 auto;width:100%}.section{margin-bottom:var(--spacing-xl)}.app-selector{background:var(--bg-card);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--spacing-lg);transition:var(--transition-base);position:relative;z-index:100}.selector-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-md);padding:var(--spacing-xl);color:var(--text-secondary)}.app-selector-loaded{display:flex;flex-direction:column;gap:var(--spacing-md)}.app-selector-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--spacing-md)}.app-dropdown{position:relative;flex:1;min-width:200px;z-index:150}.app-dropdown-btn{width:100%;display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-base)}.app-dropdown-btn:hover{border-color:var(--border-glow);box-shadow:var(--shadow-glow)}.app-icon{width:3rem;height:3rem;border-radius:var(--radius-md);object-fit:cover;background:var(--bg-glass)}.app-info{flex:1;text-align:left}.app-name{font-family:var(--font-heading);font-size:1rem;font-weight:600;color:var(--text-primary)}.app-bundle{font-size:.75rem;color:var(--text-muted)}.app-meta{display:flex;align-items:center;gap:var(--spacing-sm);margin-top:var(--spacing-xs)}.app-price{display:inline-block;padding:2px 6px;font-size:.6875rem;font-weight:600;border-radius:var(--radius-sm);text-transform:uppercase}.app-price.free{background:#22c55e26;color:var(--success)}.app-price.paid{background:#3b82f626;color:var(--info)}.app-category{font-size:.6875rem;color:var(--text-muted);padding:2px 6px;background:var(--bg-glass);border-radius:var(--radius-sm)}.dropdown-arrow{width:1.25rem;height:1.25rem;color:var(--text-muted);transition:transform var(--transition-base)}.app-dropdown-btn.open .dropdown-arrow{transform:rotate(180deg)}.app-dropdown-list{position:absolute;top:calc(100% + var(--spacing-sm));left:0;right:0;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);max-height:300px;overflow-y:auto;z-index:200;opacity:0;visibility:hidden;transform:translateY(-10px);transition:var(--transition-base)}.app-dropdown-list.open{opacity:1;visibility:visible;transform:translateY(0)}.app-dropdown-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);cursor:pointer;transition:background var(--transition-fast);border:none;background:none;width:100%;text-align:left}.app-dropdown-item:hover{background:var(--bg-glass)}.app-dropdown-item.selected{background:#06d6a01a}.app-dropdown-item .app-icon{width:2.5rem;height:2.5rem}.country-filter-section{margin-bottom:var(--spacing-lg);position:relative;z-index:50}.country-filter{display:flex;gap:var(--spacing-sm);flex-wrap:wrap;padding:var(--spacing-md);background:var(--bg-card);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--border-color);border-radius:var(--radius-lg);max-height:200px;overflow-y:auto}.country-chip{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background:var(--bg-glass);border:1px solid var(--border-color);border-radius:var(--radius-full);font-size:.75rem;color:var(--text-secondary);cursor:pointer;transition:var(--transition-fast)}.country-chip:hover{background:#06d6a01a;border-color:var(--border-glow)}.country-chip.selected{background:#06d6a026;border-color:var(--accent-primary);color:var(--accent-primary)}.country-flag{font-size:1rem}.dashboard{display:flex;flex-direction:column;gap:var(--spacing-xl)}.dashboard.hidden{display:none}.card{background:var(--bg-card);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden;transition:var(--transition-base)}.card:hover{border-color:var(--border-glow)}.card-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-lg);border-bottom:1px solid var(--border-color);flex-wrap:wrap;gap:var(--spacing-md)}.card-header h2{display:flex;align-items:center;gap:var(--spacing-sm);font-size:1rem;font-weight:600;color:var(--text-primary)}.card-header h2 svg{width:1.25rem;height:1.25rem;color:var(--accent-primary)}.card-actions{display:flex;gap:var(--spacing-sm)}.card-body{padding:var(--spacing-lg)}.filter-select{padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-body);font-size:.875rem;cursor:pointer;transition:var(--transition-fast);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2'%3E%3Cpolyline points='6,9 12,15 18,9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .5rem center;padding-right:2rem}.filter-select:hover{border-color:var(--border-glow)}.filter-select:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--accent-glow)}.filter-select.small{padding:var(--spacing-xs) var(--spacing-sm);padding-right:1.75rem;font-size:.75rem}.rankings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--spacing-md)}.rankings-grid .empty-state{grid-column:1 / -1;text-align:center}.ranking-item{display:flex;flex-direction:column;align-items:center;padding:var(--spacing-md);background:var(--bg-glass);border:1px solid var(--border-color);border-radius:var(--radius-md);transition:var(--transition-base)}.ranking-item:hover{background:#06d6a00d;border-color:var(--border-glow);transform:translateY(-2px)}.ranking-country{display:flex;align-items:center;gap:var(--spacing-xs);margin-bottom:var(--spacing-sm)}.ranking-flag{font-size:1.5rem}.ranking-code{font-size:.75rem;color:var(--text-muted);font-weight:500}.ranking-name{font-size:.8125rem;color:var(--text-secondary);font-weight:500}.ranking-position{font-family:var(--font-heading);font-size:1.75rem;font-weight:700;color:var(--text-primary);line-height:1}.ranking-position.top-10{background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.ranking-item.top-three{background:#06d6a01a;border-color:var(--border-glow)}.ranking-item.top-three .ranking-position{font-size:2rem}.ranking-change{display:flex;align-items:center;gap:2px;font-size:.75rem;margin-top:var(--spacing-xs)}.ranking-change.up{color:var(--success)}.ranking-change.down{color:var(--error)}.ranking-change.same{color:var(--text-muted)}.ranking-change svg{width:.875rem;height:.875rem}.stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--spacing-xl)}.stats-content{display:flex;flex-direction:column;gap:var(--spacing-lg)}.stat-main{text-align:center}.stat-value{display:block;font-family:var(--font-heading);font-size:2.5rem;font-weight:700;background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.2}.stat-label{display:block;font-size:.875rem;color:var(--text-secondary);margin-top:var(--spacing-xs)}.stat-comparison{display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);font-size:.8125rem;margin-top:var(--spacing-sm)}.stat-comparison.positive{color:var(--success)}.stat-comparison.negative{color:var(--error)}.stat-chart{height:120px;position:relative}.stat-chart canvas{width:100%!important;height:100%!important}.country-stats{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-top:var(--spacing-md);max-height:200px;overflow-y:auto}.country-stat-row{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm);background:var(--bg-glass);border-radius:var(--radius-sm)}.country-stat-row .country-flag{font-size:1.25rem}.country-stat-row .country-name{flex:1;font-size:.875rem;color:var(--text-secondary)}.country-stat-row .country-value{font-family:var(--font-heading);font-weight:600;color:var(--text-primary)}.reviews-content{display:grid;grid-template-columns:200px 1fr;gap:var(--spacing-xl)}@media (max-width: 768px){.reviews-content{grid-template-columns:1fr}}.average-rating{display:flex;align-items:center;gap:var(--spacing-sm)}.rating-value{font-family:var(--font-heading);font-size:1.25rem;font-weight:700;color:var(--text-primary)}.rating-stars{display:flex;gap:2px}.rating-stars .star{color:var(--text-muted);font-size:1rem}.rating-stars .star.filled{color:#fbbf24}.rating-distribution{display:flex;flex-direction:column;gap:var(--spacing-sm)}.rating-bar{display:flex;align-items:center;gap:var(--spacing-sm)}.rating-bar-label{display:flex;align-items:center;gap:2px;width:2.5rem;font-size:.8125rem;color:var(--text-secondary)}.rating-bar-label .star{color:#fbbf24;font-size:.75rem}.rating-bar-track{flex:1;height:.5rem;background:var(--bg-secondary);border-radius:var(--radius-full);overflow:hidden}.rating-bar-fill{height:100%;background:var(--accent-gradient);border-radius:var(--radius-full);transition:width var(--transition-slow)}.rating-bar-count{width:3rem;font-size:.75rem;color:var(--text-muted);text-align:right}.reviews-list{display:flex;flex-direction:column;gap:var(--spacing-md);max-height:400px;overflow-y:auto}.review-item{padding:var(--spacing-md);background:var(--bg-glass);border:1px solid var(--border-color);border-radius:var(--radius-md);transition:var(--transition-fast)}.review-item:hover{border-color:var(--border-glow)}.review-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-sm);flex-wrap:wrap;gap:var(--spacing-sm)}.review-author{font-weight:600;color:var(--text-primary);font-size:.875rem}.review-meta{display:flex;align-items:center;gap:var(--spacing-md)}.review-rating{display:flex;gap:2px}.review-rating .star{font-size:.75rem;color:var(--text-muted)}.review-rating .star.filled{color:#fbbf24}.review-date{font-size:.75rem;color:var(--text-muted)}.review-title{font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-xs);font-size:.9375rem}.review-body{color:var(--text-secondary);font-size:.875rem;line-height:1.6}.review-country{display:flex;align-items:center;gap:var(--spacing-xs);margin-top:var(--spacing-sm);font-size:.75rem;color:var(--text-muted)}.modal{position:fixed;top:0;left:0;right:0;bottom:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:var(--spacing-lg)}.modal.hidden{display:none}.modal-backdrop{position:absolute;top:0;left:0;right:0;bottom:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{position:relative;width:100%;max-width:480px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);animation:modalIn var(--transition-base)}@keyframes modalIn{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-header{padding:var(--spacing-xl);text-align:center;border-bottom:1px solid var(--border-color)}.modal-header h2{font-size:1.5rem;margin-bottom:var(--spacing-sm);background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.modal-header p{color:var(--text-secondary);font-size:.9375rem}.credentials-form{padding:var(--spacing-xl);display:flex;flex-direction:column;gap:var(--spacing-lg)}.form-group{display:flex;flex-direction:column;gap:var(--spacing-sm)}.form-group label{font-size:.875rem;font-weight:500;color:var(--text-secondary)}.form-group input,.form-group textarea{padding:var(--spacing-md);background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-body);font-size:.9375rem;transition:var(--transition-fast)}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--accent-glow)}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-muted)}.form-group textarea{resize:vertical;min-height:120px;font-family:SF Mono,Fira Code,monospace;font-size:.8125rem}.form-actions{display:flex;justify-content:flex-end;gap:var(--spacing-md);margin-top:var(--spacing-md)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-xl);border:none;border-radius:var(--radius-md);font-family:var(--font-body);font-size:.9375rem;font-weight:500;cursor:pointer;transition:var(--transition-base)}.btn-primary{background:var(--accent-gradient);color:var(--bg-primary)}.btn-primary:hover{box-shadow:var(--shadow-glow);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:var(--bg-glass);border:1px solid var(--border-color);color:var(--text-primary)}.btn-secondary:hover{border-color:var(--border-glow);background:#ffffff0d}.spinner{width:2rem;height:2rem;border:2px solid var(--border-color);border-top-color:var(--accent-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.toast{position:fixed;bottom:calc(var(--bottom-nav-height) + var(--spacing-lg));left:50%;transform:translate(-50%);display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:300;animation:toastIn var(--transition-base)}.toast.hidden{display:none}.toast.error{border-color:var(--error)}.toast.success{border-color:var(--success)}@keyframes toastIn{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.toast-message{font-size:.875rem;color:var(--text-primary)}.bottom-nav{position:fixed;bottom:0;left:0;right:0;height:var(--bottom-nav-height);background:#0a0f1cf2;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--border-color);display:flex;justify-content:space-around;align-items:center;padding:0 var(--spacing-md);z-index:100}.nav-item{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background:none;border:none;color:var(--text-muted);cursor:pointer;transition:var(--transition-fast);border-radius:var(--radius-md)}.nav-item:hover{color:var(--text-secondary)}.nav-item.active{color:var(--accent-primary)}.nav-item svg{width:1.5rem;height:1.5rem}.nav-item span{font-size:.6875rem;font-weight:500}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2xl);text-align:center}.empty-state svg{width:4rem;height:4rem;color:var(--text-muted);margin-bottom:var(--spacing-lg);opacity:.5}.empty-state h3{font-size:1.125rem;color:var(--text-secondary);margin-bottom:var(--spacing-sm)}.empty-state p{color:var(--text-muted);font-size:.875rem}.skeleton{background:linear-gradient(90deg,var(--bg-glass) 25%,rgba(255,255,255,.05) 50%,var(--bg-glass) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-sm)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-text{height:1rem;margin-bottom:var(--spacing-sm)}.skeleton-title{height:1.5rem;width:60%;margin-bottom:var(--spacing-md)}.skeleton-avatar{width:3rem;height:3rem;border-radius:var(--radius-md)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@media (min-width: 768px){.bottom-nav{display:none}.main-content{padding-bottom:var(--spacing-2xl)}}@media (max-width: 480px){:root{--header-height: 3.5rem}.logo h1{font-size:1rem}.connection-status .status-text{display:none}.card-header,.card-body{padding:var(--spacing-md)}.stat-value{font-size:2rem}.rankings-grid{grid-template-columns:repeat(2,1fr)}}.fade-in{animation:fadeIn var(--transition-base)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.slide-up{animation:slideUp var(--transition-base)}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.stagger-item{opacity:0;animation:slideUp var(--transition-base) forwards}.stagger-item:nth-child(1){animation-delay:0ms}.stagger-item:nth-child(2){animation-delay:50ms}.stagger-item:nth-child(3){animation-delay:.1s}.stagger-item:nth-child(4){animation-delay:.15s}.stagger-item:nth-child(5){animation-delay:.2s}.stagger-item:nth-child(6){animation-delay:.25s}.stagger-item:nth-child(7){animation-delay:.3s}.stagger-item:nth-child(8){animation-delay:.35s}.stagger-item:nth-child(9){animation-delay:.4s}.stagger-item:nth-child(10){animation-delay:.45s}.country-chip.select-all{background:var(--accent-gradient);border-color:transparent;color:var(--bg-primary);font-weight:600}.country-chip.select-all:hover{opacity:.9}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;background:var(--bg-glass);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:var(--transition-fast)}.btn-icon:hover{background:#06d6a01a;border-color:var(--border-glow);color:var(--accent-primary)}.btn-icon svg{width:1rem;height:1rem}.btn-icon.spinning svg{animation:spin 1s linear infinite}.star.half{position:relative;color:var(--text-muted)}.star.half:before{content:"★";position:absolute;left:0;width:50%;overflow:hidden;color:#fbbf24}@media (max-width: 480px){.country-filter{max-height:150px;padding:var(--spacing-sm)}.country-chip{padding:var(--spacing-xs) var(--spacing-sm);font-size:.6875rem}.country-flag{font-size:.875rem}.reviews-content{gap:var(--spacing-md)}.review-item{padding:var(--spacing-sm)}.review-body{font-size:.8125rem}}@media (max-height: 500px) and (orientation: landscape){.header{height:3rem}.main-content{padding-top:calc(3rem + var(--spacing-md))}.bottom-nav{height:3.5rem}.nav-item span{display:none}}@media (min-width: 768px) and (max-width: 1024px){.rankings-grid{grid-template-columns:repeat(4,1fr)}.stats-row{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.rankings-grid{grid-template-columns:repeat(5,1fr)}.main-content{padding-left:var(--spacing-xl);padding-right:var(--spacing-xl)}}@media (min-width: 1400px){.rankings-grid{grid-template-columns:repeat(6,1fr)}}@media print{.header,.bottom-nav,.modal{display:none}.main-content{padding:0}.card{break-inside:avoid;border:1px solid #ccc;background:#fff}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}button:focus:not(:focus-visible),input:focus:not(:focus-visible),select:focus:not(:focus-visible),textarea:focus:not(:focus-visible){outline:none}::selection{background:#06d6a04d;color:var(--text-primary)}.remove-app-btn{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;padding:0;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:var(--transition-fast);opacity:0;margin-left:auto}.app-dropdown-item:hover .remove-app-btn{opacity:1}.remove-app-btn:hover{background:#ef44441a;border-color:var(--error);color:var(--error)}.remove-app-btn svg{width:1rem;height:1rem}.app-dropdown-item.add-app-item{border-top:1px solid var(--border-color);margin-top:var(--spacing-sm);padding-top:var(--spacing-md)}.app-dropdown-item.add-app-item .app-icon.add-icon{display:flex;align-items:center;justify-content:center;background:var(--bg-glass);border:1px dashed var(--border-color)}.app-dropdown-item.add-app-item .app-icon.add-icon svg{width:1.25rem;height:1.25rem;color:var(--accent-primary)}.app-dropdown-item.add-app-item:hover .app-icon.add-icon{border-color:var(--accent-primary);background:#06d6a01a}.app-preview{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--bg-glass);border:1px solid var(--border-glow);border-radius:var(--radius-md)}.app-preview.hidden{display:none}.app-preview .app-icon{width:3rem;height:3rem}.form-hint{font-size:.75rem;color:var(--text-muted);margin-top:var(--spacing-xs)}.form-error{padding:var(--spacing-sm) var(--spacing-md);background:#ef44441a;border:1px solid var(--error);border-radius:var(--radius-sm);color:var(--error);font-size:.875rem}.form-error.hidden{display:none}.btn .btn-spinner{display:inline-flex;align-items:center;justify-content:center}.btn .btn-spinner.hidden,.btn .btn-text.hidden{display:none}.btn .spinner.small{width:1rem;height:1rem;border-width:2px}.empty-state .btn{margin-top:var(--spacing-lg)}.empty-state .btn svg{width:1rem;height:1rem;margin:0;opacity:1}
