.header{margin-bottom:1.25rem;padding:1.5rem;background:var(--surface-primary);border-radius:12px;border:1px solid var(--border-subtle)}.header-content{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.header-text{flex:1;min-width:200px}.header-title-link{text-decoration:none}.header-title-link:hover h1{color:var(--primary-600)}.header h1{font-family:Poppins,sans-serif;font-size:clamp(1.5rem,3vw,2rem);font-weight:700;color:var(--text-primary);margin:0 0 .25rem;letter-spacing:-.02em;line-height:1.2;transition:color .15s ease}.subtitle{font-size:.875rem;color:var(--text-secondary);font-weight:400;margin:0}.header-nav{display:flex;align-items:center;gap:.5rem}.nav-link{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem .875rem;background:transparent;color:var(--text-secondary);text-decoration:none;border-radius:6px;font-weight:500;font-size:.875rem;transition:background .15s ease,color .15s ease;border:1px solid transparent}.nav-link:hover{background:var(--surface-secondary);color:var(--text-primary)}.nav-link.active{background:var(--primary-600);color:#fff}.nav-link.active:hover{background:var(--primary-700)}.favorites-icon{font-size:1rem;color:var(--accent-gold)}.nav-link.active .favorites-icon{color:#fff}.favorites-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;padding:0 .25rem;background:var(--accent-gold);color:#000;border-radius:10px;font-size:.6875rem;font-weight:600}.nav-link.active .favorites-count{background:white;color:var(--primary-600)}@media (max-width: 768px){.header{padding:1.25rem}.header-content{flex-direction:column;gap:1rem;text-align:center}.header-text{text-align:center}.header-nav{width:100%;justify-content:center}}@media (max-width: 480px){.header{padding:1rem}.header h1{font-size:1.25rem}.subtitle{font-size:.8125rem}.nav-link{padding:.5rem .75rem;font-size:.8125rem}}.mobile-range-slider{width:100%;margin:0;padding:.5rem 0}.range-values{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-bottom:1.5rem;padding:1rem 1.25rem;background:linear-gradient(135deg,rgba(255,255,255,.95) 0%,rgba(248,250,252,.9) 100%);border-radius:12px;border:1px solid rgba(148,163,184,.15);box-shadow:0 2px 4px -1px #0000000a,0 1px 2px -1px #00000005;width:100%;box-sizing:border-box;overflow:hidden;position:relative}.range-value{font-size:.9rem;font-weight:600;color:var(--slate-700);padding:.75rem .875rem;background:linear-gradient(135deg,rgba(59,130,246,.08) 0%,rgba(147,197,253,.12) 100%);border-radius:8px;border:1px solid rgba(59,130,246,.2);text-align:center;white-space:nowrap;box-shadow:0 1px 2px #0000000a,inset 0 1px #ffffff80;transition:all .2s cubic-bezier(.4,0,.2,1);flex:1;min-width:4rem;max-width:6rem;overflow:hidden;text-overflow:ellipsis}.range-separator{color:var(--text-secondary);font-weight:600;font-size:1.1rem;margin:0 .25rem;flex-shrink:0;opacity:.7}.range-value-input{font-size:.9rem;font-weight:600;color:var(--slate-700);padding:.75rem .875rem;background:linear-gradient(135deg,rgba(59,130,246,.08) 0%,rgba(147,197,253,.12) 100%);border-radius:8px;border:1px solid rgba(59,130,246,.2);text-align:center;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 2px #0000000a,inset 0 1px #ffffff80;flex:1;min-width:4rem;max-width:6rem;width:auto;overflow:hidden}.range-value-input:hover{border-color:var(--primary-400);box-shadow:var(--shadow-sm)}.range-value-input:focus{outline:none;border-color:var(--primary-500);background:var(--primary-100);box-shadow:0 0 0 2px var(--primary-shadow)}.mobile-slider-track{position:relative;height:56px;cursor:pointer;padding:20px 0;margin:0 12px;touch-action:none}.mobile-slider-track-bg{position:absolute;top:50%;left:0;right:0;height:8px;background:var(--surface-secondary);border-radius:8px;transform:translateY(-50%);box-shadow:inset 0 2px 4px #0000000f}.mobile-slider-range{position:absolute;top:50%;height:8px;background:var(--gradient-primary);border-radius:8px;transform:translateY(-50%);box-shadow:0 2px 8px var(--primary-shadow);transition:all .1s ease-out}.mobile-slider-thumb{position:absolute;top:50%;width:28px;height:28px;background:var(--surface-primary);border:3px solid var(--primary-500);border-radius:50%;transform:translate(-50%,-50%);cursor:grab;transition:all .2s cubic-bezier(.4,0,.2,1);z-index:2;box-shadow:var(--shadow-md);touch-action:none}.mobile-slider-thumb:hover{transform:translate(-50%,-50%) scale(1.15);box-shadow:var(--shadow-lg);border-color:var(--primary-600)}.mobile-slider-thumb.dragging{transform:translate(-50%,-50%) scale(1.25);box-shadow:var(--shadow-xl);cursor:grabbing;border-color:var(--primary-700)}.mobile-slider-thumb.max{z-index:3}.mobile-thumb-tooltip{display:none}.mobile-slider-thumb:hover .mobile-thumb-tooltip,.mobile-slider-thumb.dragging .mobile-thumb-tooltip{opacity:1}.mobile-thumb-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:4px solid transparent;border-top-color:#fff}.mobile-slider-labels{display:flex;justify-content:space-between;margin-top:.75rem;padding:0 12px;font-size:.75rem;color:var(--text-tertiary);font-weight:500}.mobile-slider-labels span{background:var(--surface-secondary);padding:4px 8px;border-radius:6px;border:1px solid var(--border-subtle)}@media (max-width: 768px){.mobile-slider-track{height:64px;padding:24px 0}.mobile-slider-thumb{width:32px;height:32px}}"
@media (max-width: 1400px){.range-values{padding:1rem 1.5rem;gap:.875rem}.range-value,.range-value-input{font-size:.9rem;padding:.75rem .875rem;max-width:6.5rem}}@media (max-width: 1200px){.range-values{padding:1rem 1.25rem;gap:.75rem}.range-value,.range-value-input{font-size:.875rem;padding:.7rem .8rem;max-width:6rem}}@media (max-width: 1024px){.range-values{padding:.875rem 1rem;gap:.65rem}.range-value,.range-value-input{font-size:.85rem;padding:.65rem .75rem;max-width:5.5rem}}@media (hover: none){.mobile-slider-thumb{width:36px;height:36px}.mobile-slider-track{height:72px;padding:28px 0}}.multiselect-portal-container{position:relative;width:100%}.multiselect-portal-label{display:block;margin-bottom:.5rem;color:var(--gray-700);font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em}.multiselect-portal-trigger{width:100%;padding:.75rem 1rem;border:2px solid var(--border-default);border-radius:12px;font-size:.9rem;font-weight:500;background:var(--surface-primary);color:var(--text-primary);cursor:pointer;transition:all .2s ease;display:flex;justify-content:space-between;align-items:center;text-align:left;box-shadow:var(--shadow-sm)}.multiselect-portal-trigger:hover{border-color:var(--primary-400);box-shadow:var(--shadow-md);transform:translateY(-1px)}.multiselect-portal-trigger:focus{outline:none;border-color:var(--primary-500);box-shadow:var(--shadow-md),0 0 0 3px var(--primary-shadow)}.multiselect-portal-trigger.open{border-color:var(--primary-500);box-shadow:var(--shadow-md),0 0 0 3px var(--primary-shadow)}.multiselect-portal-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.multiselect-portal-arrow{color:var(--text-secondary);font-size:.75rem;transition:transform .2s ease;margin-left:.5rem}.multiselect-portal-arrow.rotated{transform:rotate(180deg);color:var(--primary-500)}.multiselect-portal-dropdown{background:white;border:2px solid var(--primary-400);border-radius:12px;box-shadow:0 10px 25px #00000026;max-height:250px;overflow-y:auto;animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.multiselect-portal-option{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;cursor:pointer;transition:background-color .2s ease;-webkit-user-select:none;user-select:none}.multiselect-portal-option:hover{background:linear-gradient(90deg,var(--primary-50),var(--primary-25))}.multiselect-portal-option:hover .multiselect-portal-checkbox{border-color:var(--primary-400);box-shadow:0 2px 4px #3b82f633}.multiselect-portal-option:hover .multiselect-portal-checkbox.checked{transform:scale(1.1);box-shadow:0 3px 6px #3b82f666,inset 0 1px #ffffff4d}.multiselect-portal-option:first-child{border-radius:10px 10px 0 0}.multiselect-portal-option:last-child{border-radius:0 0 10px 10px}.multiselect-portal-checkbox{width:22px;height:22px;border:2px solid var(--border-default);border-radius:4px;background:white;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0;position:relative;box-shadow:inset 0 1px 2px #0000000d}.multiselect-portal-checkbox.checked{background:linear-gradient(135deg,var(--primary-500),var(--primary-600));border-color:var(--primary-600);box-shadow:0 2px 4px #3b82f64d,inset 0 1px #fff3;transform:scale(1.05)}.checkmark{color:#1a1a1a;font-size:1rem;font-weight:900;text-shadow:0 1px 1px rgba(255,255,255,.3);line-height:1;display:flex;align-items:center;justify-content:center;animation:checkmarkAppear .2s ease-out}@keyframes checkmarkAppear{0%{transform:scale(0) rotate(180deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}.multiselect-portal-option-text{font-size:.9rem;font-weight:500;color:var(--text-primary)}.multiselect-portal-option[aria-selected=true]{background:linear-gradient(90deg,var(--primary-25),var(--primary-50))}.multiselect-portal-option[aria-selected=true] .multiselect-portal-option-text{font-weight:700;color:var(--primary-800)}.multiselect-portal-dropdown::-webkit-scrollbar{width:6px}.multiselect-portal-dropdown::-webkit-scrollbar-track{background:var(--surface-secondary);border-radius:3px}.multiselect-portal-dropdown::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:3px}.multiselect-portal-dropdown::-webkit-scrollbar-thumb:hover{background:var(--primary-400)}.filter-panel{background:linear-gradient(180deg,var(--surface-primary) 0%,var(--primary-50) 100%);padding:2rem 1.75rem;min-height:100vh;transition:var(--transition-normal);animation:fadeInUp .6s ease-out both;position:relative;display:flex;flex-direction:column}.filter-panel:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 20% 30%,var(--accent-gold) 1px,transparent 1px),radial-gradient(circle at 80% 70%,var(--primary-300) .8px,transparent .8px),radial-gradient(circle at 40% 80%,var(--accent-success) .6px,transparent .6px);background-size:80px 80px,100px 100px,60px 60px;opacity:.04;pointer-events:none;z-index:0}.filter-panel:hover{background:linear-gradient(145deg,var(--surface-primary) 0%,var(--surface-secondary) 100%)}.filters-section{display:flex;flex-direction:column;min-height:100%}.filters-section h3{font-family:Poppins,sans-serif;color:var(--text-primary);margin-bottom:1.25rem;font-size:1.25rem;font-weight:700;display:flex;align-items:center;gap:.5rem;padding-bottom:.75rem;border-bottom:2px solid var(--border-subtle);flex-shrink:0;position:relative;z-index:1}.filters-section h3:before{content:"🏇";margin-right:.5rem;font-size:1.5rem;opacity:.8;filter:hue-rotate(10deg)}.filters-section h3:after{content:"";position:absolute;bottom:-2px;left:0;width:60px;height:3px;background:linear-gradient(90deg,var(--accent-gold),var(--primary-500));border-radius:2px}.filters-content{flex:1;display:flex;flex-direction:column;gap:1.75rem}.filter-group{margin-bottom:0;transition:all .3s cubic-bezier(.4,0,.2,1);padding:1.25rem 1.5rem;border-radius:16px;background:linear-gradient(135deg,rgba(255,255,255,.9) 0%,rgba(248,250,252,.95) 100%);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(148,163,184,.2);box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008;position:relative;z-index:1}.filter-group:hover{background:linear-gradient(135deg,rgba(255,255,255,.95) 0%,rgba(248,250,252,1) 100%);transform:translateY(-2px) scale(1.005);box-shadow:0 10px 15px -3px #00000014,0 4px 6px -2px #0000000a;border-color:var(--primary-300)}.filter-group label{display:block;margin-bottom:.75rem;color:var(--slate-700);font-weight:600;font-size:.875rem;text-transform:none;letter-spacing:.01em;font-family:Inter,system-ui,-apple-system,sans-serif}select{width:100%;padding:.75rem 1rem;border:2px solid var(--border-default);border-radius:12px;font-size:.9rem;font-weight:500;background:var(--surface-primary);color:var(--text-primary);transition:var(--transition-normal);cursor:pointer;box-shadow:var(--shadow-sm)}.search-input-container{position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:1rem;z-index:2;color:var(--gray-500);font-size:.9rem;pointer-events:none;transition:var(--transition-normal)}.search-input{width:100%;padding:.75rem 1rem .75rem 2.5rem;border:2px solid var(--border-default);border-radius:12px;font-size:.9rem;font-weight:500;background:var(--surface-primary);color:var(--text-primary);transition:var(--transition-normal);box-shadow:var(--shadow-sm)}.search-input::placeholder{color:var(--gray-500);font-weight:400}.search-input:hover{border-color:var(--primary-400);box-shadow:var(--shadow-md);transform:translateY(-1px)}.search-input:hover+.search-icon{color:var(--primary-500)}.search-input:focus{outline:none;border-color:var(--primary-500);box-shadow:var(--shadow-md),0 0 0 3px var(--primary-shadow);transform:translateY(-1px)}.search-input:focus~.search-icon{color:var(--primary-600)}.clear-search-btn{position:absolute;right:1rem;z-index:2;background:none;border:none;color:var(--gray-500);font-size:1.25rem;cursor:pointer;padding:.25rem;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:var(--transition-normal);width:1.5rem;height:1.5rem}.clear-search-btn:hover{background:var(--gray-100);color:var(--gray-700);transform:scale(1.1)}.clear-search-btn:active{transform:scale(.95)}select:hover{border-color:var(--primary-400);box-shadow:var(--shadow-md);transform:translateY(-1px)}select:focus{outline:none;border-color:var(--primary-500);box-shadow:var(--shadow-md),0 0 0 3px var(--primary-shadow);transform:translateY(-1px)}.range-display{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem;padding:1rem 1.25rem;background:var(--gradient-primary);border-radius:16px;border:none;position:relative;overflow:hidden}.range-display:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(255,255,255,.15);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.range-display span{color:var(--white);font-weight:700;font-size:1rem;position:relative;z-index:1;text-shadow:0 1px 2px rgba(0,0,0,.1)}.range-display span:nth-child(2){color:#fffc;font-weight:500;font-size:.875rem}.filter-actions{display:flex;gap:.875rem;padding-top:1.75rem;margin-top:1rem;border-top:1px solid rgba(148,163,184,.15);flex-shrink:0}.btn-primary,.btn-secondary{padding:.75rem 1.5rem;border:none;border-radius:12px;font-size:.875rem;font-weight:600;cursor:pointer;transition:var(--transition-normal);flex:1;position:relative;overflow:hidden;text-transform:uppercase;letter-spacing:.05em;box-shadow:var(--shadow-md)}.btn-primary{background:var(--gradient-primary);color:var(--text-inverse);border:2px solid transparent}.btn-primary:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:var(--transition-slow)}.btn-primary:hover:before{left:100%}.btn-primary:hover{transform:translateY(-3px);box-shadow:var(--shadow-xl);filter:brightness(1.05)}.btn-primary:active{transform:translateY(-1px)}.btn-secondary{background:var(--surface-primary);color:var(--text-secondary);border:2px solid var(--border-default)}.btn-secondary:hover{background:var(--surface-secondary);border-color:var(--border-strong);color:var(--text-primary);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn-secondary:active{transform:translateY(0)}.dropdown-container{position:relative}.dropdown-toggle{width:100%;padding:.75rem 1rem;border:2px solid var(--border-default);border-radius:12px;font-size:.9rem;font-weight:500;background:var(--surface-primary);color:var(--text-primary);transition:var(--transition-normal);cursor:pointer;box-shadow:var(--shadow-sm);display:flex;justify-content:space-between;align-items:center;text-align:left}.dropdown-toggle:hover{border-color:var(--primary-400);box-shadow:var(--shadow-md);transform:translateY(-1px)}.dropdown-toggle:focus{outline:none;border-color:var(--primary-500);box-shadow:var(--shadow-md),0 0 0 3px var(--primary-shadow)}.dropdown-toggle:active{transform:translateY(1px)}.dropdown-arrow{font-size:.75rem;color:var(--text-secondary);transition:var(--transition-fast);transform:rotate(0)}.dropdown-arrow.open{transform:rotate(180deg);color:var(--primary-500)}.dropdown-menu{position:absolute;top:100%;left:0;right:0;background:var(--surface-primary);border:2px solid var(--primary-400);border-radius:12px;box-shadow:0 10px 25px #00000026;z-index:1000;max-height:250px;overflow-y:auto;margin-top:4px;padding:.75rem 0;animation:dropdownOpen .2s ease-out;min-width:100%}@keyframes dropdownOpen{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.dropdown-option{display:flex;align-items:center;gap:1rem;padding:.75rem 1.25rem;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);position:relative;background:transparent;border-radius:8px;margin:2px 8px;min-height:40px;width:calc(100% - 16px)}.dropdown-option:hover{background:linear-gradient(90deg,var(--primary-50) 0%,var(--primary-100) 100%);transform:translate(2px)}.dropdown-option input[type=checkbox]{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.checkmark{height:20px;width:20px;background-color:var(--surface-primary);border:2px solid var(--border-default);border-radius:6px;position:relative;transition:all .2s ease;flex-shrink:0;box-shadow:inset 0 1px 3px #0000001a}.dropdown-option:hover .checkmark{background-color:var(--primary-100);border-color:var(--primary-400);transform:scale(1.05)}.dropdown-option input:checked~.checkmark{background:linear-gradient(135deg,var(--primary-500) 0%,var(--primary-600) 100%);border-color:var(--primary-500);box-shadow:0 2px 4px #0000001a}.checkmark:after{content:"";position:absolute;display:none;left:6px;top:2px;width:6px;height:11px;border:solid white;border-width:0 2.5px 2.5px 0;transform:rotate(45deg)}.dropdown-option input:checked~.checkmark:after{display:block}.option-text{font-size:.9rem;font-weight:500;color:var(--text-primary);-webkit-user-select:none;user-select:none;line-height:1.4;flex:1}.dropdown-option input:checked~.option-text{font-weight:600;color:var(--primary-700)}.dropdown-menu::-webkit-scrollbar{width:6px}.dropdown-menu::-webkit-scrollbar-track{background:var(--surface-secondary);border-radius:3px}.dropdown-menu::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:3px}.dropdown-menu::-webkit-scrollbar-thumb:hover{background:var(--primary-400)}@media (max-width: 1024px){.filter-panel{padding:1.5rem}.filters-section h3{font-size:1.4rem}}@media (max-width: 768px){.filter-panel{padding:1rem;border-radius:12px;margin-bottom:.75rem;min-height:auto}.filter-panel:before{display:none}.filter-panel:hover{background:linear-gradient(180deg,var(--surface-primary) 0%,var(--primary-50) 100%)}.filters-section h3{font-size:1.125rem;margin-bottom:1rem;padding-bottom:.5rem}.filters-section h3:before{font-size:1.25rem}.filters-content{gap:.75rem}.filter-group{padding:.875rem 1rem;border-radius:10px}.filter-group:hover{transform:none}.filter-group label{font-size:.8125rem;margin-bottom:.5rem}.search-input,.dropdown-toggle,select{padding:.625rem .875rem;font-size:.875rem;border-radius:8px}.search-input{padding-left:2.25rem}.search-icon{left:.75rem;font-size:.8rem}.filter-actions{flex-direction:row;gap:.5rem;padding-top:1rem;margin-top:.5rem}.btn-primary,.btn-secondary{padding:.625rem 1rem;font-size:.75rem;border-radius:8px}}@media (max-width: 480px){.filter-panel{padding:.875rem}.filters-section h3{font-size:1rem}.filter-group{padding:.75rem .875rem}.range-display{padding:.75rem 1rem;border-radius:12px}.range-display span{font-size:.875rem}.range-display span:nth-child(2){font-size:.75rem}}.favorite-button{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem .75rem;background:var(--surface-secondary);border:1px solid var(--border-subtle);border-radius:6px;cursor:pointer;font-family:inherit;font-size:.8125rem;font-weight:500;color:var(--text-secondary);transition:background .15s ease,border-color .15s ease}.favorite-button:hover{background:var(--surface-primary);border-color:var(--accent-gold)}.favorite-button.is-favorite{background:linear-gradient(135deg,#FFD700 0%,#FFA500 100%);border-color:transparent;color:#1a1a1a}.favorite-button.is-favorite:hover{opacity:.9}.favorite-icon{font-size:1rem;line-height:1}.favorite-button:not(.is-favorite) .favorite-icon{color:var(--accent-gold)}.favorite-button.is-favorite .favorite-icon{color:#1a1a1a}.favorite-text{line-height:1}.favorite-button.small{padding:.375rem .5rem}.favorite-button.small .favorite-icon{font-size:.9375rem}.favorite-button.large{padding:.625rem 1rem;font-size:.875rem}.favorite-button.large .favorite-icon{font-size:1.125rem}.race-card{background:var(--surface-primary);border-radius:12px;border:1px solid var(--border-subtle);position:relative;overflow:hidden;transition:border-color .15s ease,box-shadow .15s ease}.race-card-link{display:block;padding:1.25rem 1.5rem;text-decoration:none;color:inherit}.race-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:3px;background:var(--primary-500);opacity:.6}.race-card:hover{border-color:var(--primary-300);box-shadow:0 2px 8px #00000014}.race-date{font-size:.8125rem;color:var(--text-tertiary);font-weight:500;margin-bottom:.375rem}.race-name{font-family:Poppins,sans-serif;font-size:1.125rem;color:var(--text-primary);font-weight:700;margin-bottom:.75rem;line-height:1.3}.race-details{display:flex;flex-wrap:wrap;gap:.375rem 1rem;margin-bottom:.875rem}.race-detail{display:flex;align-items:center;gap:.375rem}.race-detail-label{font-size:.75rem;color:var(--text-tertiary);font-weight:500}.race-detail-value{font-size:.875rem;color:var(--text-secondary);font-weight:600}.race-detail-value.prize-money{color:var(--accent-gold);font-weight:700}.race-type{display:inline-block;padding:.375rem .75rem;border-radius:4px;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.race-type.group-1{background:linear-gradient(135deg,#FFD700 0%,#FFA500 100%);color:#1a1a1a}.race-type.group-2{background:linear-gradient(135deg,#C0C0C0 0%,#A0A0A0 100%);color:#1a1a1a}.race-type.group-3{background:linear-gradient(135deg,#CD7F32 0%,#B8860B 100%);color:#fff}.race-type.listed{background:linear-gradient(135deg,#8A2BE2 0%,#6A1B9A 100%);color:#fff}.race-type.open{background:linear-gradient(135deg,#1E88E5 0%,#1565C0 100%);color:#fff}.race-type.handicap{background:linear-gradient(135deg,#43A047 0%,#2E7D32 100%);color:#fff}.race-type.other{background:var(--secondary-200);color:var(--text-secondary)}.race-card-footer{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1.5rem;border-top:1px solid var(--border-subtle);background:var(--surface-secondary)}.race-card.list{display:flex;align-items:center}.race-card.list .race-card-link{display:grid;grid-template-columns:100px 1fr auto;align-items:center;padding:.875rem 1.25rem;gap:1rem;flex:1;min-width:0}.race-card.list .race-date{margin-bottom:0}.race-card.list .race-name{margin-bottom:0;font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.race-card.list .race-details{display:flex;gap:1.5rem;margin-bottom:0}.race-card.list .race-type{flex-shrink:0}.race-card.list .race-card-footer{padding:0 1.25rem;border-top:none;background:transparent}@media (max-width: 1024px){.race-card.list .race-card-link{grid-template-columns:90px 1fr auto;gap:.75rem}.race-card.list .race-details{gap:1rem}}@media (max-width: 768px){.race-card.list{flex-direction:column;align-items:stretch}.race-card.list .race-card-link{display:flex;flex-direction:column;padding:1rem;gap:.75rem}.race-card.list .race-name{font-size:1.0625rem;font-weight:700;order:1;white-space:normal;line-height:1.3}.race-card.list .race-date{order:2;font-size:.8125rem}.race-card.list .race-details{order:3;display:flex;flex-wrap:wrap;gap:.5rem}.race-card.list .race-detail{background:var(--surface-secondary);padding:.375rem .625rem;border-radius:6px;gap:.25rem}.race-card.list .race-detail-label{font-size:.625rem;text-transform:uppercase;letter-spacing:.02em}.race-card.list .race-detail-value{font-size:.8125rem}.race-card.list .race-card-footer{border-top:1px solid var(--border-subtle);padding:.75rem 1rem;background:var(--surface-secondary)}.race-card.list .race-type{padding:.3125rem .625rem;font-size:.625rem}}@media (max-width: 480px){.race-card.list .race-card-link{padding:.875rem;gap:.5rem}.race-card.list .race-name{font-size:1rem}.race-card.list .race-details{gap:.375rem}.race-card.list .race-detail{padding:.3125rem .5rem}.race-card.list .race-detail-label{display:none}.race-card.list .race-detail-value{font-size:.75rem}.race-card.list .race-card-footer{padding:.625rem .875rem}}.results-section{background:var(--surface-primary);border-radius:12px;padding:1.25rem;border:1px solid var(--border-subtle);height:fit-content}.results-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-subtle);gap:1rem;flex-wrap:wrap}.results-info{display:flex;flex-direction:column;gap:.5rem}.results-header h3{font-family:Poppins,sans-serif;color:var(--text-primary);font-size:1.125rem;font-weight:600;margin:0}.toggle-past-btn{padding:.5rem .875rem;border:1px solid var(--border-default);background:var(--surface-primary);color:var(--text-secondary);border-radius:6px;font-size:.8125rem;font-weight:500;cursor:pointer;transition:background .15s ease,border-color .15s ease}.toggle-past-btn:hover{border-color:var(--primary-400);background:var(--surface-secondary)}.toggle-past-btn.active{background:var(--primary-50);border-color:var(--primary-500);color:var(--primary-700)}.races-list{display:flex;flex-direction:column;gap:.75rem}.loading{text-align:center;padding:3rem 2rem;color:var(--text-tertiary)}.loading-emoji{font-size:2rem;margin-bottom:.5rem;display:block}.no-results{text-align:center;padding:3rem 2rem;color:var(--text-tertiary)}.no-results-emoji{font-size:2rem;opacity:.5;margin-bottom:.5rem;display:block}.no-results h3{font-family:Poppins,sans-serif;font-size:1.125rem;margin-bottom:.375rem;color:var(--text-primary);font-weight:600}.no-results p{font-size:.875rem;color:var(--text-secondary);max-width:360px;margin:0 auto;line-height:1.5}.pagination{display:flex;justify-content:center;align-items:center;gap:.5rem;margin-top:1.25rem;padding:1rem;background:var(--surface-secondary);border-radius:8px;border:1px solid var(--border-subtle)}.pagination-btn{padding:.5rem 1rem;border:1px solid var(--border-default);background:var(--surface-primary);color:var(--text-secondary);border-radius:6px;font-size:.8125rem;font-weight:500;cursor:pointer;transition:border-color .15s ease,background .15s ease;min-width:80px}.pagination-btn:hover:not(:disabled){border-color:var(--primary-400);background:var(--surface-secondary)}.pagination-btn:disabled{opacity:.4;cursor:not-allowed}.pagination-pages{display:flex;gap:.25rem}.pagination-page{width:36px;height:36px;border:1px solid var(--border-default);background:var(--surface-primary);color:var(--text-secondary);border-radius:6px;font-size:.8125rem;font-weight:500;cursor:pointer;transition:border-color .15s ease,background .15s ease;display:flex;align-items:center;justify-content:center}.pagination-page:hover{border-color:var(--primary-400)}.pagination-page.active{background:var(--primary-600);color:#fff;border-color:var(--primary-600)}.page-info{color:var(--text-tertiary);font-size:.8125rem}@media (max-width: 768px){.results-section{padding:.875rem;border-radius:10px}.results-header{flex-direction:column;align-items:flex-start;gap:.75rem;margin-bottom:.75rem;padding-bottom:.625rem}.results-header h3{font-size:.9375rem}.toggle-past-btn{padding:.4375rem .75rem;font-size:.75rem}.races-list{gap:.625rem}.pagination{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:.5rem;padding:.75rem}.pagination-btn{flex:1;min-width:80px;padding:.5rem .75rem;font-size:.75rem}.pagination-pages{width:100%;justify-content:center;order:-1}.pagination-page{width:32px;height:32px;font-size:.75rem}}@media (max-width: 480px){.results-section{padding:.75rem;border-radius:8px}.results-header h3{font-size:.875rem}.page-info{font-size:.75rem}.races-list{gap:.5rem}.pagination{padding:.625rem}.pagination-page{width:28px;height:28px}}.race-detail-page{min-height:100vh;background:var(--background)}.race-detail-container{max-width:1000px;margin:0 auto;padding:0 1.25rem 1.25rem}.race-nav{display:flex;gap:.5rem;margin-bottom:1.25rem}.btn-back,.btn-home{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem .875rem;background:var(--surface-primary);border:1px solid var(--border-subtle);border-radius:6px;color:var(--text-secondary);font-weight:500;font-size:.8125rem;cursor:pointer;text-decoration:none;transition:border-color .15s ease,background .15s ease}.btn-back:hover,.btn-home:hover{background:var(--surface-secondary);border-color:var(--border-default)}.race-hero{background:var(--surface-primary);border-radius:12px;padding:1.5rem;margin-bottom:1.25rem;border:1px solid var(--border-subtle)}.race-hero-content{position:relative}.race-type-badge{display:inline-block;padding:.375rem .75rem;border-radius:4px;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.75rem}.race-title{font-family:Poppins,sans-serif;font-size:clamp(1.5rem,4vw,2rem);font-weight:700;color:var(--text-primary);margin:0 0 .375rem;line-height:1.2}.race-nickname{font-size:1rem;color:var(--text-secondary);font-style:italic;margin:0 0 1rem}.race-meta{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}.race-date-large{font-size:1rem;font-weight:600;color:var(--text-primary)}.race-countdown{display:inline-flex;align-items:center;padding:.375rem .75rem;background:var(--primary-600);color:#fff;border-radius:4px;font-weight:600;font-size:.8125rem}.race-countdown.past{background:var(--secondary-400)}.venue-notice-alert{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;background:linear-gradient(135deg,#FEF3C7,#FDE68A);border:1px solid #F59E0B;border-radius:8px;margin-bottom:1.25rem}.venue-notice-icon{font-size:1.25rem;flex-shrink:0}.venue-notice-text{font-size:.9375rem;color:#92400e;font-weight:500;line-height:1.4}.race-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem}.btn-action{display:inline-flex;align-items:center;gap:.375rem;padding:.625rem 1rem;background:var(--surface-primary);border:1px solid var(--border-subtle);border-radius:6px;font-size:.875rem;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:border-color .15s ease,background .15s ease}.btn-action:hover{border-color:var(--primary-400);background:var(--surface-secondary)}.btn-action.is-favorite{background:linear-gradient(135deg,#FFD700 0%,#FFA500 100%);border-color:transparent;color:#1a1a1a}.btn-action.is-favorite:hover{opacity:.9}.race-detail-grid{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.detail-card{background:var(--surface-primary);border-radius:12px;padding:1.25rem;border:1px solid var(--border-subtle)}.detail-card h2{font-family:Poppins,sans-serif;font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-subtle)}.detail-card h3{font-family:Poppins,sans-serif;font-size:.9375rem;font-weight:600;color:var(--text-primary);margin:1rem 0 .75rem}.info-grid{display:flex;flex-wrap:wrap;gap:1.5rem 2.5rem}.info-item{display:flex;flex-direction:column;gap:.25rem}.info-item label{font-size:.6875rem;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em}.info-item span{font-size:.9375rem;font-weight:600;color:var(--text-primary)}.info-item .prize-money{color:var(--accent-gold)}.race-description,.race-history{font-size:.9375rem;line-height:1.7;color:var(--text-secondary);margin:0}.track-description{font-size:.9375rem;line-height:1.7;color:var(--text-secondary);margin:0 0 1rem}.track-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem;margin-bottom:1rem}.track-stat{display:flex;flex-direction:column;gap:.125rem}.track-stat label{font-size:.6875rem;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em}.track-stat span{font-size:.875rem;font-weight:500;color:var(--text-primary)}.track-major-races label{display:block;font-size:.6875rem;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.5rem}.major-races-list{display:flex;flex-wrap:wrap;gap:.375rem}.major-race-tag{display:inline-block;padding:.375rem .625rem;background:var(--surface-secondary);border-radius:4px;font-size:.75rem;font-weight:500;color:var(--text-secondary)}.results-table{margin-bottom:1rem}.result-row{display:grid;grid-template-columns:50px 1fr 1fr 1fr 70px;gap:.75rem;padding:.625rem .75rem;align-items:center;border-bottom:1px solid var(--border-subtle)}.result-row.result-header{background:var(--surface-secondary);font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary);border-radius:6px 6px 0 0}.result-row.first-place{background:linear-gradient(90deg,rgba(255,215,0,.08) 0%,transparent 100%);border-left:3px solid #FFD700;padding-left:calc(.75rem - 3px)}.result-row.first-place .result-pos{color:#b8860b;font-weight:700}.result-row.first-place .result-horse{font-weight:600;color:var(--text-primary)}.result-row.second-place{background:linear-gradient(90deg,rgba(192,192,192,.08) 0%,transparent 100%);border-left:3px solid #C0C0C0;padding-left:calc(.75rem - 3px)}.result-row.second-place .result-pos{color:#757575;font-weight:600}.result-row.third-place{background:linear-gradient(90deg,rgba(205,127,50,.08) 0%,transparent 100%);border-left:3px solid #CD7F32;padding-left:calc(.75rem - 3px)}.result-row.third-place .result-pos{color:#cd7f32;font-weight:600}.result-pos{font-weight:500;color:var(--text-tertiary)}.result-horse{font-weight:500;color:var(--text-primary)}.result-jockey,.result-trainer{font-size:.8125rem;color:var(--text-secondary)}.result-odds{font-weight:600;color:var(--primary-600);text-align:right;font-size:.8125rem}.race-run-stats{display:flex;flex-wrap:wrap;gap:1.25rem;padding-top:.75rem;border-top:1px solid var(--border-subtle)}.run-stat{display:flex;flex-direction:column;gap:.125rem}.run-stat label{font-size:.6875rem;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em}.run-stat span{font-size:.875rem;font-weight:600;color:var(--text-primary)}.winners-list{display:flex;flex-direction:column}.winner-row{display:grid;grid-template-columns:60px 1fr 1fr 1fr;gap:.75rem;padding:.625rem .75rem;align-items:center;border-bottom:1px solid var(--border-subtle)}.winner-row:last-child{border-bottom:none}.winner-row.latest-winner{background:linear-gradient(90deg,rgba(255,215,0,.06) 0%,transparent 100%)}.winner-year{font-weight:600;font-size:.9375rem;color:var(--text-primary)}.winner-horse{font-weight:500;color:var(--text-primary)}.winner-jockey{font-size:.8125rem;color:var(--text-secondary)}.winner-trainer{font-size:.8125rem;color:var(--text-tertiary)}.track-record{margin-top:1rem;padding:.875rem 1rem;background:var(--surface-secondary);border-radius:8px}.track-record h3{font-size:.75rem;font-weight:600;color:var(--text-tertiary);margin:0 0 .375rem;text-transform:uppercase;letter-spacing:.04em}.track-record-details{display:flex;align-items:baseline;gap:.75rem}.record-time{font-size:1.25rem;font-weight:700;color:var(--primary-600)}.record-horse{font-size:.875rem;color:var(--text-secondary)}.stats-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.stat-item{padding:.625rem .75rem;background:var(--surface-secondary);border-radius:6px;font-size:.875rem;color:var(--text-secondary);line-height:1.5}.related-races{margin-top:1.25rem}.related-section{background:var(--surface-primary);border-radius:12px;padding:1.25rem;border:1px solid var(--border-subtle);margin-bottom:1rem}.related-section h3{font-family:Poppins,sans-serif;font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 1rem}.related-list{display:flex;flex-direction:column;gap:.5rem}.related-race-link{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--surface-secondary);border-radius:8px;text-decoration:none;transition:background .15s ease}.related-race-link:hover{background:var(--secondary-100)}.related-race-name{flex:1;font-weight:500;color:var(--text-primary);font-size:.875rem}.related-race-track,.related-race-date{font-size:.8125rem;color:var(--text-secondary)}.related-race-type{padding:.25rem .5rem;border-radius:4px;font-size:.625rem;font-weight:600;text-transform:uppercase}.related-race-type.group-1{background:linear-gradient(135deg,#FFD700,#FFA500);color:#000}.related-race-type.group-2{background:linear-gradient(135deg,#C0C0C0,#A0A0A0);color:#000}.related-race-type.group-3{background:linear-gradient(135deg,#CD7F32,#B8860B);color:#fff}.related-race-type.listed{background:linear-gradient(135deg,#9B59B6,#8E44AD);color:#fff}.related-race-type.open,.related-race-type.other{background:linear-gradient(135deg,#3498DB,#2980B9);color:#fff}.race-not-found{text-align:center;padding:3rem 1.5rem;background:var(--surface-primary);border-radius:12px;border:1px solid var(--border-subtle)}.race-not-found h2{font-family:Poppins,sans-serif;font-size:1.25rem;color:var(--text-primary);margin:0 0 .5rem}.race-not-found p{color:var(--text-secondary);margin:0 0 1.25rem;font-size:.875rem}@media (max-width: 768px){.race-hero{padding:1.25rem}.race-title{font-size:1.25rem}.info-grid{gap:1rem 1.5rem}.track-stats{grid-template-columns:1fr 1fr}.race-actions{flex-direction:column}.btn-action{justify-content:center}.result-row{grid-template-columns:40px 1fr 1fr;gap:.5rem;padding:.5rem}.result-row .result-trainer,.result-row .result-odds{display:none}.winner-row{grid-template-columns:50px 1fr 1fr;gap:.5rem}.winner-row .winner-trainer{display:none}}@media (max-width: 480px){.race-detail-container{padding:0 .875rem .875rem}.result-row{grid-template-columns:35px 1fr}.result-row .result-jockey{display:none}.winner-row{grid-template-columns:45px 1fr}.winner-row .winner-jockey{display:none}.detail-card{padding:1rem}.track-record-details{flex-direction:column;gap:.25rem}.record-time{font-size:1.125rem}}.favorites-page{min-height:100vh;background:var(--background)}.favorites-container{max-width:900px;margin:0 auto;padding:0 1.25rem 1.25rem}.favorites-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:1rem;margin-bottom:1.25rem;padding:1.25rem;background:var(--surface-primary);border-radius:12px;border:1px solid var(--border-subtle)}.favorites-title-section h1{font-family:Poppins,sans-serif;font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0 0 .25rem}.favorites-subtitle{color:var(--text-secondary);font-size:.875rem;margin:0}.favorites-actions{display:flex;gap:.5rem;flex-wrap:wrap}.btn-export,.btn-clear{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem .875rem;border-radius:6px;font-size:.8125rem;font-weight:500;cursor:pointer;transition:background .15s ease,border-color .15s ease;font-family:inherit;border:1px solid var(--border-subtle)}.btn-export{background:var(--primary-600);color:#fff;border-color:var(--primary-600)}.btn-export:hover{background:var(--primary-700)}.btn-clear{background:var(--surface-primary);color:var(--text-secondary)}.btn-clear:hover{background:#fee2e2;color:#dc2626;border-color:#fecaca}.favorites-empty{text-align:center;padding:3rem 1.5rem;background:var(--surface-primary);border-radius:12px;border:1px solid var(--border-subtle)}.empty-icon{font-size:2.5rem;color:var(--accent-gold);opacity:.3;margin-bottom:1rem}.favorites-empty h2{font-family:Poppins,sans-serif;font-size:1.25rem;color:var(--text-primary);margin:0 0 .5rem}.favorites-empty p{color:var(--text-secondary);margin:0 0 1.25rem;max-width:360px;margin-left:auto;margin-right:auto;font-size:.875rem}.btn-browse{display:inline-flex;align-items:center;gap:.375rem;padding:.625rem 1.25rem;background:var(--primary-600);color:#fff;text-decoration:none;border-radius:6px;font-weight:500;font-size:.875rem;transition:background .15s ease}.btn-browse:hover{background:var(--primary-700)}.favorites-list{display:flex;flex-direction:column;gap:.75rem}.favorite-card{background:var(--surface-primary);border-radius:12px;border:1px solid var(--border-subtle);overflow:hidden;transition:border-color .15s ease}.favorite-card:hover{border-color:var(--primary-300)}.favorite-card.past{opacity:.7}.favorite-card.past:hover{opacity:1}.favorite-card-link{display:block;padding:1rem 1.25rem;text-decoration:none;color:inherit}.favorite-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.race-type-badge{display:inline-block;padding:.25rem .5rem;border-radius:4px;font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.race-type-badge.group-1{background:linear-gradient(135deg,#FFD700,#FFA500);color:#000}.race-type-badge.group-2{background:linear-gradient(135deg,#C0C0C0,#A0A0A0);color:#000}.race-type-badge.group-3{background:linear-gradient(135deg,#CD7F32,#B8860B);color:#fff}.race-type-badge.listed{background:linear-gradient(135deg,#9B59B6,#8E44AD);color:#fff}.race-type-badge.open,.race-type-badge.other{background:linear-gradient(135deg,#3498DB,#2980B9);color:#fff}.days-badge{padding:.25rem .5rem;background:var(--surface-secondary);border-radius:4px;font-size:.6875rem;font-weight:600;color:var(--text-secondary)}.days-badge.soon{background:var(--accent-success);color:#fff}.days-badge.past{background:var(--secondary-300);color:var(--secondary-600)}.favorite-race-name{font-family:Poppins,sans-serif;font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 .75rem;line-height:1.3}.favorite-race-meta{display:flex;flex-wrap:wrap;gap:.75rem}.meta-item{display:inline-flex;align-items:center;gap:.25rem;font-size:.8125rem;color:var(--text-secondary)}.meta-icon{font-size:.875rem}.meta-item.prize{color:var(--accent-gold);font-weight:600}.favorite-card-actions{display:flex;justify-content:flex-end;padding:.625rem 1.25rem;border-top:1px solid var(--border-subtle);background:var(--surface-secondary)}@media (max-width: 768px){.favorites-header{flex-direction:column;align-items:stretch}.favorites-actions{flex-direction:column}.favorites-title-section h1{font-size:1.25rem}.favorite-race-meta{flex-direction:column;gap:.375rem}}@media (max-width: 480px){.favorites-container{padding:0 .875rem .875rem}.favorites-header{padding:1rem}.favorite-card-link{padding:.875rem 1rem}.favorite-race-name{font-size:.9375rem}}.legal-page{min-height:100vh;background:var(--background)}.legal-container{max-width:800px;margin:0 auto;padding:0 1.25rem 2rem}.legal-nav{margin-bottom:1.5rem}.legal-nav .btn-back{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem .875rem;background:var(--surface-primary);border:1px solid var(--border-subtle);border-radius:6px;color:var(--text-secondary);font-weight:500;font-size:.8125rem;cursor:pointer;text-decoration:none;transition:border-color .15s ease,background .15s ease}.legal-nav .btn-back:hover{background:var(--surface-secondary);border-color:var(--border-default)}.legal-content{background:var(--surface-primary);border-radius:12px;border:1px solid var(--border-subtle);padding:2rem}.legal-content h1{font-family:Poppins,sans-serif;font-size:1.75rem;font-weight:700;color:var(--text-primary);margin:0 0 .5rem}.legal-updated{color:var(--text-tertiary);font-size:.875rem;margin:0 0 2rem;padding-bottom:1rem;border-bottom:1px solid var(--border-subtle)}.legal-content section{margin-bottom:2rem}.legal-content section:last-of-type{margin-bottom:0}.legal-content h2{font-family:Poppins,sans-serif;font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0 0 .75rem}.legal-content h3{font-size:1rem;font-weight:600;color:var(--text-primary);margin:1.25rem 0 .5rem}.legal-content p{font-size:.9375rem;line-height:1.7;color:var(--text-secondary);margin:0 0 .75rem}.legal-content ul{margin:0 0 1rem;padding-left:1.5rem}.legal-content li{font-size:.9375rem;line-height:1.6;color:var(--text-secondary);margin-bottom:.375rem}.legal-content li ul{margin-top:.375rem;margin-bottom:.5rem}.legal-content a{color:var(--primary-600);text-decoration:none}.legal-content a:hover{text-decoration:underline}.legal-content strong{color:var(--text-primary);font-weight:600}.disclaimer-box{padding:1.5rem;border-radius:8px;margin-bottom:2rem}.disclaimer-box.warning{background:#fef3c7;border:1px solid #f59e0b}.disclaimer-box.warning h2{color:#92400e;display:flex;align-items:center;gap:.5rem}.disclaimer-box.warning h2:before{content:"⚠";font-size:1.25rem}.disclaimer-box.warning p,.disclaimer-box.warning li{color:#78350f}.disclaimer-box.warning a{color:#b45309}.legal-footer-links{display:flex;gap:1.5rem;justify-content:center;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border-subtle)}.legal-footer-links a{color:var(--text-secondary);text-decoration:none;font-size:.875rem;font-weight:500}.legal-footer-links a:hover{color:var(--primary-600)}@media (max-width: 768px){.legal-content{padding:1.5rem}.legal-content h1{font-size:1.5rem}.legal-content h2{font-size:1rem}.legal-footer-links{flex-direction:column;align-items:center;gap:.75rem}}@media (max-width: 480px){.legal-container{padding:0 .875rem 1.5rem}.legal-content{padding:1.25rem}.legal-content h1{font-size:1.25rem}.disclaimer-box{padding:1rem}}.app{min-height:100vh;background:var(--background)}.app-layout{display:flex;min-height:calc(100vh - 100px);gap:0}.sidebar{width:420px;background:var(--surface-primary);border-right:1px solid var(--border-subtle);padding:1.25rem;flex-shrink:0}.main-content{flex:1;background:var(--background);padding:1.25rem;min-width:0}.sidebar::-webkit-scrollbar{width:6px}.sidebar::-webkit-scrollbar-track{background:var(--surface-secondary)}.sidebar::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:3px}.sidebar::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}@media (max-width: 1200px){.sidebar{width:340px}}@media (max-width: 1024px){.sidebar{width:300px}}@media (max-width: 768px){.app-layout{flex-direction:column;min-height:auto}.sidebar{width:100%;border-right:none;border-bottom:1px solid var(--border-subtle);padding:1rem}.main-content{padding:1rem}}@media (max-width: 480px){.main-content{padding:.75rem}.sidebar{padding:.875rem}}.app-footer{text-align:center;padding:1.5rem 1rem;border-top:1px solid var(--border-subtle);background:var(--surface-secondary)}.app-footer p{font-size:.8125rem;color:var(--text-tertiary);margin:0}.app-footer .legal-footer-links{display:flex;gap:1.5rem;justify-content:center;margin-top:.75rem}.app-footer .legal-footer-links a{color:var(--text-secondary);text-decoration:none;font-size:.8125rem;font-weight:500}.app-footer .legal-footer-links a:hover{color:var(--primary-600)}@media (max-width: 480px){.app-footer{padding:1rem .75rem}.app-footer p{font-size:.75rem}.app-footer .legal-footer-links{gap:1rem;flex-wrap:wrap}.app-footer .legal-footer-links a{font-size:.75rem}}*{margin:0;padding:0;box-sizing:border-box}:root{--primary-50: #eff6ff;--primary-100: #dbeafe;--primary-200: #bfdbfe;--primary-300: #93c5fd;--primary-400: #60a5fa;--primary-500: #3b82f6;--primary-600: #2563eb;--primary-700: #1d4ed8;--primary-800: #1e40af;--primary-900: #1e3a8a;--secondary-50: #f8fafc;--secondary-100: #f1f5f9;--secondary-200: #e2e8f0;--secondary-300: #cbd5e1;--secondary-400: #94a3b8;--secondary-500: #64748b;--secondary-600: #475569;--secondary-700: #334155;--secondary-800: #1e293b;--secondary-900: #0f172a;--accent-gold: #f59e0b;--accent-gold-light: #fbbf24;--accent-success: #10b981;--accent-success-light: #34d399;--accent-warning: #f97316;--accent-error: #ef4444;--white: #ffffff;--black: #000000;--surface-primary: var(--white);--surface-secondary: var(--secondary-50);--surface-elevated: var(--white);--surface-overlay: var(--secondary-900);--background: var(--secondary-50);--background-subtle: #fafbfc;--text-primary: var(--secondary-900);--text-secondary: var(--secondary-700);--text-tertiary: var(--secondary-500);--text-inverse: var(--white);--border-subtle: var(--secondary-200);--border-default: var(--secondary-300);--border-strong: var(--secondary-400);--gradient-primary: linear-gradient(135deg, var(--primary-600) 0%, var(--primary-500) 100%);--gradient-secondary: linear-gradient(135deg, var(--secondary-600) 0%, var(--secondary-500) 100%);--gradient-accent: linear-gradient(135deg, var(--accent-gold) 0%, var(--accent-gold-light) 100%);--gradient-surface: linear-gradient(145deg, var(--white) 0%, var(--secondary-50) 100%);--gradient-hero: linear-gradient(135deg, var(--primary-600) 0%, var(--primary-700) 50%, var(--secondary-800) 100%);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--primary-shadow: rgba(59, 130, 246, .25);--success-shadow: rgba(16, 185, 129, .25);--warning-shadow: rgba(245, 158, 11, .25);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-normal: .3s cubic-bezier(.4, 0, .2, 1);--transition-slow: .5s cubic-bezier(.4, 0, .2, 1)}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--background);color:var(--text-primary);min-height:100vh;line-height:1.6;font-weight:400;font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app{min-height:100vh}.container{max-width:1400px;margin:0 auto;padding:20px}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-20px)}60%{transform:translateY(-10px)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}.error-container{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--background)}.error-content{text-align:center;padding:3rem;background:var(--surface);border-radius:20px;box-shadow:var(--shadow-lg);max-width:500px}.error-content h2{font-family:Poppins,sans-serif;font-size:1.5rem;color:var(--gray-900);margin-bottom:1rem}.error-content p{color:var(--gray-600);margin-bottom:2rem;font-size:1rem}.retry-btn{padding:1rem 2rem;background:var(--gradient-primary);color:var(--white);border:none;border-radius:12px;font-weight:600;cursor:pointer;transition:all .3s ease}.retry-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}
