.weather-widget{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:16px;flex-direction:column;gap:8px;margin-bottom:24px;padding:16px;transition:all .3s;display:flex;position:relative;overflow:hidden}.weather-widget:before{content:"";pointer-events:none;background:linear-gradient(135deg,#ffffff0d 0%,#0000 100%);position:absolute;inset:0}.weather-main{align-items:center;gap:16px;display:flex}.weather-icon-container{width:48px;height:48px;color:var(--accent-primary);background:#0003;border-radius:12px;justify-content:center;align-items:center;display:flex}.weather-icon.sun{color:#fbbf24;filter:drop-shadow(0 0 8px #fbbf2466)}.weather-icon.cloud,.weather-icon.fog{color:#94a3b8}.weather-icon.drizzle{color:#60a5fa}.weather-icon.rain{color:#3b82f6}.weather-icon.snow{color:#f8fafc}.weather-icon.lightning{color:#fbbf24;filter:drop-shadow(0 0 8px #fbbf2466)}.weather-info{flex-direction:column;gap:2px;display:flex}.weather-temp{color:#fff;align-items:baseline;gap:8px;font-size:24px;font-weight:800;display:flex}.temp-min{color:var(--text-secondary);font-size:16px;font-weight:500}.weather-desc{color:var(--text-secondary);font-size:14px;font-weight:500}.weather-label{text-transform:uppercase;color:var(--text-secondary);letter-spacing:.5px;opacity:.6;font-size:10px;font-weight:700}.weather-skeleton{background:linear-gradient(90deg,#ffffff08 25%,#ffffff0f 50%,#ffffff08 75%) 0 0/200% 100%;border-radius:16px;width:100%;height:80px;animation:1.5s infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.animate-fade-in{animation:.5s forwards fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.weather-widget{margin-bottom:16px;padding:12px}.weather-temp{font-size:20px}.weather-desc{font-size:13px}}
.sidebar-container{z-index:1000;-webkit-backdrop-filter:blur(48px)saturate(180%);background:#0d0d0fd9;border:1px solid #ffffff14;border-radius:20px;flex-direction:column;width:380px;max-width:calc(100vw - 40px);height:calc(100vh - 128px);display:flex;position:absolute;top:108px;left:20px;overflow:hidden;box-shadow:0 12px 40px #00000080}.main-brand-card{z-index:2000;cursor:pointer;border-radius:20px;align-items:center;gap:16px;width:380px;height:76px;padding:0 20px;transition:all .3s cubic-bezier(.25,.8,.25,1);display:flex;position:absolute;top:20px;left:20px}.main-brand-card.glass-panel{-webkit-backdrop-filter:blur(48px)saturate(180%);background:#0d0d0fd9;border:1px solid #ffffff14}.main-brand-card:hover{transform:translateY(-2px);box-shadow:0 16px 48px #0009}.main-brand-card.glass-panel:hover{border-color:#ffffff26}.main-brand-logo{object-fit:contain;flex-shrink:0;width:64px;height:64px;transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.main-brand-card:hover .main-brand-logo{filter:drop-shadow(0 6px 14px #00000073) drop-shadow(0 0 6px var(--accent-primary-glow));transform:scale(1.08)rotate(3deg)}.main-brand-title{letter-spacing:-.5px;background:linear-gradient(135deg,#fff,#a1a1aa);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:24px;font-weight:800}.sidebar-header{border-bottom:1px solid var(--glass-border);flex-shrink:0;padding:24px}.sidebar-header h1{background:linear-gradient(135deg,#fff,#a1a1aa);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:20px;font-size:24px;font-weight:700}.filter-title{color:var(--accent-primary);text-transform:uppercase;letter-spacing:1px;margin-bottom:16px;font-size:13px;font-weight:700}.search-box{width:100%;position:relative}.search-icon{color:var(--text-secondary);pointer-events:none;position:absolute;top:50%;left:16px;transform:translateY(-50%)}.search-box input{border:1px solid var(--glass-border);color:#fff;background:#0006;border-radius:14px;outline:none;width:100%;padding:14px 16px 14px 48px;font-family:inherit;font-size:15px;transition:all .3s cubic-bezier(.16,1,.3,1)}.search-box input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 4px var(--accent-primary-glow);background:#00000080}.search-spinner{color:var(--text-secondary);opacity:.6;position:absolute;top:50%;right:16px;transform:translateY(-50%)}.search-row{align-items:center;gap:12px;width:100%;display:flex}.animation-slide-down{animation:.3s cubic-bezier(.16,1,.3,1) slideDown}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.races-list{flex-direction:column;flex:1;gap:16px;padding:20px;display:flex;overflow-y:auto}.race-card{border:1px solid var(--glass-border);cursor:pointer;color:inherit;background:#ffffff08;border-radius:16px;flex-direction:column;gap:10px;padding:16px;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative}.race-card:hover{background:#ffffff12;border-color:#fff3;transform:translateY(-2px)}.race-card.active{border-color:var(--accent-primary);box-shadow:0 0 20px var(--accent-primary-glow);background:#ffe8001a}.race-card-header{justify-content:space-between;align-items:center;display:flex}.race-badge{text-transform:uppercase;letter-spacing:.5px;border-radius:6px;align-items:center;gap:6px;padding:4px 8px;font-size:10px;font-weight:800;display:flex}.race-badge.road{color:var(--accent-road);background:#ffe80026;border:1px solid #ffe80033}.race-badge.trail{color:#60a5fa;background:#1e3a8a26;border:1px solid #1e3a8a4d}.race-date{color:var(--text-secondary);align-items:center;gap:6px;font-size:12px;display:flex}.race-card h3{color:#fff;margin:0;font-size:16px;font-weight:700;line-height:1.4}.race-location{color:var(--text-secondary);align-items:center;gap:6px;font-size:13px;display:flex}.detail-content{flex:1;padding:24px 24px 16px;overflow-y:auto}.detail-hero h1{color:#fff;margin:12px 0 16px;font-size:24px;font-weight:800;line-height:1.2}.detail-meta{flex-direction:column;gap:10px;margin-bottom:24px;display:flex}.meta-item{color:var(--text-secondary);align-items:center;gap:10px;font-size:14px;display:flex}.detail-section h3{color:#fff;margin-bottom:12px;font-size:16px;font-weight:700}.full-description{border:1px solid var(--glass-border);color:var(--text-secondary);background:#ffffff08;border-radius:12px;margin-bottom:24px;padding:16px;font-size:14px;line-height:1.6}.detail-actions{border-top:1px solid var(--glass-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0d0d0f66;flex-shrink:0;padding:16px 24px}.sub-races-list{flex-direction:column;gap:12px;margin-top:16px;display:flex}.no-subraces{color:var(--text-secondary);margin-bottom:0;font-size:14px}.sub-race-card{border:1px solid var(--glass-border);background:#ffffff08;border-left:4px solid #0000;border-radius:12px;padding:16px;transition:all .3s cubic-bezier(.4,0,.2,1)}.sub-race-card.has-route{cursor:pointer;border-left-color:#ffe80080}.sub-race-card.has-route:hover{border-left-color:var(--accent-primary);background:#ffe80014;transform:translate(4px)}.sub-race-card.selected{border-color:var(--accent-primary);border-left-color:var(--accent-primary);background:#ffe80026;box-shadow:0 4px 20px #ffe80033}.sub-race-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.sub-race-name{color:#fff;font-size:15px;font-weight:700}.route-badge{text-transform:uppercase;color:var(--accent-primary);background:#ffe8001a;border:1px solid #ffe80033;border-radius:20px;align-items:center;gap:4px;padding:3px 8px;font-size:10px;font-weight:700;display:flex}.sub-race-stats{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.stat-box{background:#ffffff0a;border:1px solid #ffffff0f;border-radius:8px;flex-direction:column;flex:calc(25% - 8px);align-items:center;gap:2px;min-width:70px;padding:6px 8px;transition:all .2s;display:flex}.stat-label{text-transform:uppercase;color:var(--text-secondary);font-size:9px;font-weight:600}.stat-value{color:#fff;font-size:13px;font-weight:700}.stat-box.highlight .stat-value{color:var(--accent-primary)}.primary-btn{background:var(--accent-primary);color:var(--bg-main);text-align:center;border-radius:12px;justify-content:center;align-items:center;gap:8px;margin-top:24px;padding:16px;font-weight:700;text-decoration:none;transition:all .3s;display:flex}.primary-btn:hover{box-shadow:0 8px 20px var(--accent-primary-glow);background:gold;transform:translateY(-2px)}.registration-btn{-webkit-backdrop-filter:blur(10px);color:var(--accent-primary);text-align:center;background:#ffffff14;border:1px solid #ffe8004d;border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:14px 20px;font-size:14px;font-weight:700;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;box-shadow:0 4px 15px #0003}.registration-btn:hover{border-color:var(--accent-primary);color:var(--accent-primary);background:#ffe8001a;transform:translateY(-2px);box-shadow:0 8px 25px #ffe80026}.website-btn{-webkit-backdrop-filter:blur(10px);color:#fff;text-align:center;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:14px 20px;font-size:14px;font-weight:600;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex}.website-btn:hover{color:#fff;background:#ffffff14;border-color:#fff3;transform:translateY(-2px)}.back-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:0;font-size:14px;font-weight:600;transition:color .3s;display:flex}.back-btn:hover{color:#fff}.detail-header-actions{border-bottom:1px solid var(--glass-border);flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;height:80px;padding:0 24px;display:flex}.favorite-toggle-btn{border:1px solid var(--glass-border);cursor:pointer;color:#fff6;background:#ffffff0d;border-radius:12px;justify-content:center;align-items:center;margin:0;padding:8px;transition:all .2s cubic-bezier(.175,.885,.32,1.275);display:flex}.favorite-toggle-btn:hover{color:#fff;background:#ffffff1a;transform:translateY(-1px)}.favorite-toggle-btn.active{color:var(--accent-primary);background:#ffe8001a;border-color:#ffe8004d}.share-btn{border:1px solid var(--glass-border);cursor:pointer;color:#fff6;background:#ffffff0d;border-radius:12px;justify-content:center;align-items:center;margin:0;padding:8px;transition:all .2s cubic-bezier(.175,.885,.32,1.275);display:flex;position:relative}.share-btn:hover{color:#fff;background:#ffffff1a;transform:translateY(-1px)}.share-btn:active{transform:translateY(0)}.share-btn.copied{color:#34d399;background:#10b9811a;border-color:#10b9814d}.share-tooltip{text-align:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#fff;white-space:nowrap;pointer-events:none;z-index:10;background:#111827f2;border:1px solid #ffffff26;border-radius:8px;width:90px;padding:6px 0;font-size:11px;font-weight:600;animation:.25s cubic-bezier(.16,1,.3,1) forwards tooltip-fade-in;position:absolute;top:calc(100% + 10px);left:calc(50% - 45px);box-shadow:0 4px 12px #0006}.share-tooltip:after{content:"";border:5px solid #0000;border-bottom-color:#111827f2;position:absolute;bottom:100%;left:calc(50% - 5px)}@keyframes tooltip-fade-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.text-toggle-btn{color:var(--accent-primary);cursor:pointer;background:0 0;border:none;padding:8px 0 0;font-size:13px;font-weight:700}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animation-fade-in{animation:.25s cubic-bezier(.2,0,.2,1) forwards fadeIn}.sidebar-content-scroll{flex-direction:column;flex:1;display:flex;overflow-y:auto}@media (max-width:768px){.sidebar-container{width:100vw;max-width:100vw;height:70dvh;padding-bottom:env(safe-area-inset-bottom,0px);z-index:2500;border-radius:20px 20px 0 0;transition:all .3s cubic-bezier(.16,1,.3,1),height .25s;inset:auto 0 0;overflow:hidden}.sidebar-content-scroll{padding-top:32px}.sidebar-container.state-minimized{opacity:0;pointer-events:none;top:auto;transform:translateY(calc(100% + 20px))!important}.sidebar-container.state-half{height:70dvh;top:auto;transform:translateY(0)!important}.sidebar-container.state-full{border-radius:0;height:100dvh;top:0;bottom:0;transform:translateY(0)!important}.sidebar-container.detail-mode.state-half{height:75dvh}.drag-handle{width:100%;height:auto;min-height:32px;padding-top:env(safe-area-inset-top,8px);z-index:20;cursor:pointer;background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);border-radius:20px 20px 0 0;justify-content:center;align-items:center;padding-bottom:8px;display:flex;position:absolute;top:0;left:0}.drag-handle:after{content:"";background:#fff6;border-radius:4px;width:40px;height:4px;display:block}.detail-header-actions{border-bottom:1px solid var(--glass-border);align-items:center;gap:12px;height:72px;margin-top:0;padding:0 16px;display:flex}.back-btn{background:#ffffff14;border:1px solid #ffffff1a;border-radius:12px;justify-content:center;align-items:center;width:auto;height:40px;margin:8px 0 0;padding:0 16px;font-size:14px;transition:all .2s;display:flex;box-shadow:0 4px 15px #0003;color:#fff!important}.favorite-toggle-btn{border-radius:12px;flex-shrink:0;width:40px;height:40px;margin:0}.back-btn:active,.favorite-toggle-btn:active{background:#ffffff1f;transform:scale(.95)}.back-btn svg{width:20px;height:20px}.sidebar-header{margin-top:20px;padding:12px 16px}.sidebar-header h1{margin-bottom:12px;font-size:18px}.main-brand-card{border-radius:12px;justify-content:center;align-items:center;width:50px;height:50px;padding:0;display:flex;position:absolute;top:12px;left:12px;box-shadow:0 8px 24px #0006}.main-brand-logo{object-fit:contain;width:36px;height:36px}.main-brand-title{display:none}.search-box input{border-radius:12px;padding:12px 14px 12px 42px;font-size:14px}.search-icon{left:14px}.search-spinner{right:14px}.races-list{gap:10px;padding:12px 16px}.race-card{border-radius:12px;gap:6px;padding:12px}.race-card h3{font-size:14px}.race-location{font-size:12px}.race-badge{padding:3px 6px;font-size:9px}.race-date{font-size:11px}.detail-content{padding:16px}.detail-hero h1{margin:8px 0 12px;font-size:18px}.detail-meta{gap:8px;margin-bottom:16px}.meta-item{gap:8px;font-size:13px}.full-description{margin-bottom:16px;padding:12px;font-size:13px;line-height:1.5}.sub-races-list{gap:10px;margin-top:12px}.sub-race-card{border-radius:10px;padding:12px}.sub-race-header{margin-bottom:8px}.sub-race-name{font-size:13px}.route-badge{padding:2px 6px;font-size:9px}.sub-race-stats{gap:6px}.stat-box{border-radius:6px;padding:6px}.stat-label{font-size:8px}.stat-value{font-size:11px}.primary-btn{margin-top:16px;padding:14px;font-size:14px}.back-btn{margin-bottom:8px;font-size:13px}.filter-title{margin-bottom:10px;font-size:12px}}@media (max-width:380px){.sidebar-container{height:50vh}.sub-race-stats{flex-wrap:wrap}.stat-box{min-width:calc(50% - 4px)}}.sub-race-info{flex-direction:column;gap:2px;display:flex}.sub-race-date{color:var(--text-secondary);align-items:center;gap:4px;font-size:11px;font-weight:500;display:flex}.sub-race-date svg{color:var(--accent-primary);opacity:.8}.race-card{transition:transform .3s cubic-bezier(.34,1.56,.64,1),background .2s,border-color .2s!important}.race-card:hover{z-index:2;transform:translateY(-4px)scale(1.02);box-shadow:0 12px 40px #0006;background:#ffffff14!important;border-color:#ffffff40!important}.race-card:after{content:"";background:radial-gradient(800px circle at var(--mouse-x) var(--mouse-y), #ffffff0f, transparent 40%);opacity:0;transition:opacity .5s;position:absolute;inset:0}.race-card:hover:after{opacity:1}
.elevation-chart-container{touch-action:none;background:#ffffff08;border:1px solid #ffffff0d;border-radius:12px;margin-top:12px;padding:16px}.chart-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.ele-tag{text-transform:uppercase;letter-spacing:1px;color:#ffffff80;font-size:11px;font-weight:600}.ele-bounds{color:#fffc;align-items:center;gap:8px;font-family:JetBrains Mono,monospace;font-size:11px;display:flex}.ele-line{background:#fff3;width:20px;height:1px}.elevation-svg{cursor:crosshair;width:100%;height:80px;overflow:visible}.chart-footer{color:#fff6;justify-content:space-between;margin-top:8px;font-family:JetBrains Mono,monospace;font-size:10px;display:flex}@media (max-width:768px){.elevation-chart-container{border-radius:10px;margin-top:8px;padding:10px 12px}.chart-header{margin-bottom:8px}.ele-tag{letter-spacing:.5px;font-size:10px}.ele-bounds{gap:6px;font-size:10px}.ele-line{width:14px}.elevation-svg{height:60px}.chart-footer{margin-top:6px;font-size:9px}}
.elevation-widget{z-index:1100;background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:16px;padding:20px;animation:.4s cubic-bezier(.16,1,.3,1) widgetSlideUp;position:absolute;bottom:24px;left:420px;right:24px}@keyframes widgetSlideUp{0%{opacity:0;transform:translateY(100%)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.widget-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;display:flex}.widget-title{color:var(--text-primary);white-space:nowrap;flex-shrink:0;align-items:center;gap:8px;font-weight:600;display:flex}.widget-title .title-icon{color:var(--accent-primary)}.widget-stats{flex-wrap:nowrap;gap:20px;display:flex;overflow-x:auto}.w-stat{flex-direction:column;flex-shrink:0;display:flex}.w-label{text-transform:uppercase;letter-spacing:1px;color:#ffffff80;font-size:10px}.w-value{color:var(--text-primary);font-family:JetBrains Mono,monospace;font-size:15px;font-weight:700}.w-value.accent-green{color:#10b981}.w-value.accent-red{color:#ef4444}.close-widget{color:#fff;cursor:pointer;background:#ffffff0d;border:none;border-radius:8px;flex-shrink:0;padding:6px;transition:all .2s}.close-widget:hover{background:#ffffff26}.widget-content{position:relative}.hover-indicator{background:var(--accent-primary);color:#121214;pointer-events:none;white-space:nowrap;z-index:10;border-radius:20px;gap:12px;padding:4px 12px;font-size:11px;font-weight:600;display:flex;position:absolute;top:-8px;left:50%;transform:translate(-50%);box-shadow:0 4px 12px #ffe80066}.hover-indicator strong{color:inherit}.h-stat span{opacity:.8}.desktop-only{display:flex}@media (max-width:768px){.elevation-widget{z-index:1100;background:#121214f2;border:1px solid #ffffff1a;border-radius:14px;width:calc(100% - 32px);max-width:400px;padding:10px 16px;animation:.35s cubic-bezier(.16,1,.3,1) widgetFadeInCenter;position:fixed;inset:auto auto 110px 50%;transform:translate(-50%);box-shadow:0 8px 32px #0009}@keyframes widgetFadeInCenter{0%{opacity:0;transform:translate(-50%,20px)}to{opacity:1;transform:translate(-50%)}}.widget-header{flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:0}.widget-content{display:none}.widget-title{text-transform:uppercase;letter-spacing:.5px;opacity:.7;margin-bottom:4px;font-size:11px}.widget-title .title-icon{width:12px;height:12px}.widget-stats{justify-content:flex-start;gap:16px;width:100%}.w-label{margin-bottom:2px;font-size:8px}.w-value{font-size:13px}.desktop-only{display:none}.close-widget{background:#ffffff1a;padding:4px;position:absolute;top:6px;right:6px}.close-widget svg{width:14px;height:14px}}@media (max-width:380px){.elevation-widget{padding:10px 12px}.widget-title span{display:none}.widget-stats{gap:10px}.w-value{font-size:12px}}
.feedback-overlay{z-index:9000;-webkit-backdrop-filter:blur(6px);background:#00000080;justify-content:center;align-items:center;padding:20px;animation:.25s ease-out feedbackOverlayIn;display:flex;position:fixed;inset:0}@keyframes feedbackOverlayIn{0%{opacity:0}to{opacity:1}}.feedback-modal{background:#121214;border:1px solid #ffffff1a;border-radius:20px;flex-direction:column;width:100%;max-width:440px;max-height:90vh;animation:.3s cubic-bezier(.16,1,.3,1) feedbackSlideIn;display:flex;overflow:visible;box-shadow:0 20px 50px #000c}@keyframes feedbackSlideIn{0%{opacity:0;transform:scale(.95)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.feedback-header{justify-content:space-between;align-items:center;padding:20px 24px 12px;display:flex}.feedback-header h2{color:var(--text-primary);letter-spacing:-.2px;font-size:17px;font-weight:700}.feedback-close-btn{color:var(--text-secondary);cursor:pointer;background:#ffffff0f;border:1px solid #ffffff14;border-radius:8px;justify-content:center;align-items:center;padding:6px;transition:all .2s;display:flex}.feedback-close-btn:hover{color:var(--text-primary);background:#ffffff1f}.feedback-tabs{gap:4px;margin-bottom:4px;padding:0 20px;display:flex}.feedback-tab{color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:10px;flex:1;justify-content:center;align-items:center;gap:6px;padding:10px 8px;font-size:12px;font-weight:600;transition:all .25s cubic-bezier(.25,.8,.25,1);display:flex}.feedback-tab:hover{color:var(--text-primary);background:#ffffff0d}.feedback-tab.active{color:var(--accent-primary);background:#ffe8001a;border-color:#ffe80040}.feedback-body{flex-direction:column;gap:10px;padding:12px 20px 8px;display:flex}.feedback-race-context{color:var(--text-secondary);background:#ffffff0a;border:1px solid #ffffff14;border-radius:8px;align-items:center;gap:8px;padding:8px 12px;font-size:12px;line-height:1.3;display:inline-flex}.feedback-race-context svg{color:var(--accent-primary);flex-shrink:0}.feedback-textarea{width:100%;min-height:100px;color:var(--text-primary);resize:vertical;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:12px;outline:none;padding:14px;font-family:inherit;font-size:14px;line-height:1.5;transition:border-color .2s}.feedback-textarea::placeholder{color:var(--text-secondary);opacity:.6}.feedback-textarea:focus{border-color:#ffe80059}.feedback-char-count{text-align:right;color:var(--text-secondary);opacity:.5;margin-top:-6px;font-size:11px}.feedback-email{width:100%;color:var(--text-primary);background:#ffffff0a;border:1px solid #ffffff14;border-radius:10px;outline:none;padding:12px 14px;font-family:inherit;font-size:13px;transition:border-color .2s}.feedback-email::placeholder{color:var(--text-secondary);opacity:.5}.feedback-email:focus{border-color:#ffe8004d}.feedback-error{color:#f87171;background:#ef44441a;border:1px solid #ef444433;border-radius:8px;padding:10px 12px;font-size:12px;line-height:1.4}.feedback-footer{justify-content:space-between;align-items:center;gap:12px;padding:12px 20px 20px;display:flex}.feedback-hint{color:var(--text-secondary);opacity:.6;font-size:11px}.feedback-cooldown{color:var(--accent-primary);font-size:12px;font-weight:600}.feedback-submit-btn{background:linear-gradient(135deg, var(--accent-primary), #ffae00);color:#000;cursor:pointer;letter-spacing:.2px;border:none;border-radius:10px;align-items:center;gap:8px;padding:10px 20px;font-size:13px;font-weight:700;transition:all .25s cubic-bezier(.25,.8,.25,1);display:flex}.feedback-submit-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px #ffe8004d}.feedback-submit-btn:active:not(:disabled){transform:scale(.97)}.feedback-submit-btn:disabled{opacity:.35;cursor:not-allowed}.feedback-success{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:48px 24px;animation:.4s cubic-bezier(.16,1,.3,1) feedbackSuccessIn;display:flex}.success-icon{color:#10b981;animation:.5s cubic-bezier(.175,.885,.32,1.275) successPop}@keyframes successPop{0%{opacity:0;transform:scale(0)}60%{transform:scale(1.2)}to{opacity:1;transform:scale(1)}}@keyframes feedbackSuccessIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.feedback-success h3{color:var(--text-primary);font-size:20px;font-weight:700}.feedback-success p{color:var(--text-secondary);font-size:14px}.race-report-link{color:var(--text-secondary);cursor:pointer;text-align:center;background:0 0;border:1px dashed #ffffff14;border-radius:10px;justify-content:center;align-items:center;gap:8px;width:100%;margin-top:16px;padding:14px 16px;font-size:12px;line-height:1.4;transition:all .25s;display:flex}.race-report-link:hover{color:var(--accent-primary);background:#ffe8000a;border-color:#ffe80033}.race-report-link svg{opacity:.7;flex-shrink:0}.race-report-link:hover svg{opacity:1}@media (max-width:768px){.feedback-overlay{align-items:flex-end;padding:0}.feedback-modal{border-radius:20px 20px 0 0;max-width:100%;max-height:85vh;animation:.35s cubic-bezier(.16,1,.3,1) feedbackSlideUp}@keyframes feedbackSlideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.feedback-tab span{font-size:11px}.feedback-footer{padding-bottom:calc(20px + env(safe-area-inset-bottom,0px))}}
