﻿html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}ins{background-color:#ff9;color:#000;text-decoration:none}mark{background-color:#ff9;color:#000;font-style:italic;font-weight:bold}del{text-decoration:line-through}abbr[title],dfn[title]{border-bottom:1px dotted;cursor:help}table{border-collapse:collapse;border-spacing:0}hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0}input,select{vertical-align:middle}body{font:13px/1.231 sans-serif;*font-size:small}select,input,textarea,button{font:99% sans-serif}pre,code,kbd,samp{font-family:monospace, sans-serif}html{overflow-y:scroll}a:hover,a:active{outline:none}ul,ol{margin-left:2em}ol{list-style-type:decimal}nav ul,nav li{margin:0;list-style:none;list-style-image:none}small{font-size:85%}strong,th{font-weight:bold}td{vertical-align:top}sub,sup{font-size:75%;line-height:0;position:relative}sup{top:-0.5em}sub{bottom:-0.25em}pre{white-space:pre;white-space:pre-wrap;word-wrap:break-word;padding:15px}textarea{overflow:auto}.ie6 legend,.ie7 legend{margin-left:-7px}input[type="radio"]{vertical-align:text-bottom}input[type="checkbox"]{vertical-align:bottom}.ie7 input[type="checkbox"]{vertical-align:baseline}.ie6 input{vertical-align:text-bottom}label,input[type="button"],input[type="submit"],input[type="image"],button{cursor:pointer}button,input,select,textarea{margin:0}input:invalid,textarea:invalid{border-radius:1px;-moz-box-shadow:0px 0px 5px red;-webkit-box-shadow:0px 0px 5px red;box-shadow:0px 0px 5px red}.no-boxshadow input:invalid,.no-boxshadow textarea:invalid{background-color:#f0dddd}::-moz-selection{background:#000;color:#fff;text-shadow:none}::selection{background:#000;color:#fff;text-shadow:none}a:link{-webkit-tap-highlight-color:#FF5E99}button{width:auto;overflow:visible}.ie7 img{-ms-interpolation-mode:bicubic}body,select,input,textarea{color:#444}h1,h2,h3,h4,h5,h6{font-weight:bold}a,a:active{color:#607890}a:hover{color:#036}:focus{outline:none}@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,100%{transform:translateY(0) rotate(0deg)}33%{transform:translateY(-20px) rotate(120deg)}66%{transform:translateY(20px) rotate(240deg)}}@keyframes spin{to{transform:rotate(360deg)}}.auth-overlay{z-index:12000}.auth-container{z-index:calc($z-modal-auth + 1)}.modal{z-index:10000}.enhanced-modal{z-index:14000}.enhanced-modal-overlay{z-index:1}.enhanced-modal-content{z-index:2}.modern-review-modal-overlay{z-index:11000}.tip-modal{z-index:10000}.ui-modal{z-index:10000}.unified-photo-viewer{z-index:10000}.deletion-modal{z-index:15000}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes slideUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes bounce{0%,20%,50%,80%,100%{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}@keyframes shake{0%,100%{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-2px)}20%,40%,60%,80%{transform:translateX(2px)}}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}100%{transform:scale(1)}}@keyframes heartbeat{0%{transform:scale(1)}14%{transform:scale(1.1)}28%{transform:scale(1)}42%{transform:scale(1.1)}70%{transform:scale(1)}}@keyframes confetti{0%{transform:translateY(0) rotate(0deg);opacity:1}100%{transform:translateY(-100px) rotate(720deg);opacity:0}}@keyframes stepTransition{0%{opacity:0;transform:translateX(20px)}100%{opacity:1;transform:translateX(0)}}@keyframes successGlow{0%{box-shadow:0 0 0 0 rgba(16,185,129,0.4)}70%{box-shadow:0 0 0 10px rgba(16,185,129,0)}100%{box-shadow:0 0 0 0 rgba(16,185,129,0)}}.auth-overlay{display:flex;align-items:center;justify-content:center;position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;height:100vh;background:rgba(0,0,0,0.5);backdrop-filter:blur(4px);z-index:12000;padding:20px;pointer-events:auto;isolation:isolate}@media (max-width: 480px){.auth-overlay{padding:16px}}.auth-container{background:white;border-radius:16px;width:100%;max-width:520px;min-width:300px;min-height:400px;position:relative;box-shadow:0 20px 60px rgba(0,0,0,0.3);z-index:12001;isolation:isolate;max-height:90vh;overflow-y:auto;overflow-x:hidden}@media (max-width: 480px){.auth-container{max-width:100%;max-height:95vh;border-radius:12px}}.auth-modal-close{position:absolute;top:16px;right:16px;width:32px;height:32px;border-radius:50%;background:rgba(0,0,0,0.05);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all 0.2s ease;z-index:10;color:#6b7280}.auth-modal-close:hover{background:rgba(0,0,0,0.1);transform:rotate(90deg)}.auth-modal-close svg{width:16px;height:16px}.auth-modal-context{display:flex;align-items:center;gap:12px;padding:12px;background:linear-gradient(135deg, #f0fdf4, #dcfce7);border:1px solid #bbf7d0;border-radius:10px;margin:24px 24px 0}.auth-modal-context .context-icon{font-size:1.5rem;line-height:1}.auth-modal-context .context-info{flex:1;text-align:left}.auth-modal-context .context-title{font-size:0.9rem;font-weight:600;color:#14532d;line-height:1.3}.auth-modal-context .context-subtitle{font-size:0.85rem;color:#166534;margin-top:2px;line-height:1.3}.auth-modal-header{padding:24px 24px 20px;text-align:center}.auth-modal-header .auth-modal-title{font-size:1.5rem;font-weight:700;color:#1f2937;margin:0 0 8px 0;line-height:1.3}.auth-modal-header .auth-modal-subtitle{font-size:1rem;color:#6b7280;margin:0;line-height:1.4}.auth-modal-progress{display:flex;justify-content:center;gap:8px;margin-bottom:20px;padding:0 24px}.auth-modal-progress .progress-dot{width:8px;height:8px;border-radius:50%;background:#e5e7eb;transition:all 0.3s ease;position:relative}.auth-modal-progress .progress-dot.active{width:24px;border-radius:4px;background:#f97316;animation:pulse 2s ease-in-out infinite}.auth-modal-progress .progress-dot.completed{background:#10b981;animation:successGlow 1s ease-out}.auth-modal-progress .progress-dot.completed::after{content:'✓';position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);color:white;font-size:6px;font-weight:bold;opacity:0;animation:fadeIn 0.3s ease-out 0.2s both}.auth-modal-progress .progress-dot.active.completed{animation:pulse 0.6s ease-out, successGlow 1s ease-out 0.3s}.auth-modal-body{padding:0 24px 24px}.auth-modal-body .auth-modal-content{animation:stepTransition 0.4s ease-out}.auth-modal-body.step-transition .auth-modal-content{animation:stepTransition 0.4s ease-out}.benefits-section{display:flex;gap:12px;justify-content:center;margin:0 0 20px 0;flex-wrap:wrap}@media (max-width: 480px){.benefits-section{flex-direction:column;gap:8px}}.benefits-section .benefit-item{display:flex;align-items:center;gap:6px;font-size:0.9rem;color:#6b7280}.benefits-section .benefit-item .benefit-check{color:#10b981;font-weight:bold;font-size:1rem}.auth-tabs{display:flex;background:#f3f4f6;border-radius:10px;padding:3px;margin-bottom:20px}.auth-tabs .auth-tab{flex:1;padding:12px;background:transparent;border:none;border-radius:8px;font-size:0.95rem;font-weight:600;color:#6b7280;cursor:pointer;transition:all 0.2s ease}.auth-tabs .auth-tab.active{background:white;color:#f97316;box-shadow:0 2px 8px rgba(0,0,0,0.1)}.auth-tabs .auth-tab:hover:not(.active){background:rgba(255,255,255,0.5)}.social-auth-section{margin-bottom:20px}.social-auth-section .social-buttons{display:grid;grid-template-columns:repeat(2, 1fr);gap:12px;margin-bottom:20px}@media (max-width: 480px){.social-auth-section .social-buttons{grid-template-columns:1fr;gap:8px}}.social-auth-section .social-btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 20px;border:none;border-radius:10px;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;font-size:0.95rem;font-weight:600;text-decoration:none;cursor:pointer;transition:all 0.2s ease;user-select:none;padding:12px;border:2px solid #e5e7eb;background:white;color:#1f2937}.social-auth-section .social-btn:disabled{opacity:0.6;cursor:not-allowed}.social-auth-section .social-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,0.1)}.social-auth-section .social-btn.google-btn:hover{border-color:#4285F4;background:#f0f7ff}.social-auth-section .social-btn.facebook-btn:hover{border-color:#1877F2;background:#f0f7ff}.social-auth-section .social-btn.apple-btn:hover{border-color:#000;background:#f9fafb}.social-auth-section .social-btn .social-icon{width:20px;height:20px}@media (max-width: 480px){.social-auth-section .social-btn{justify-content:flex-start;gap:12px;padding:16px}.social-auth-section .social-btn::after{content:attr(data-provider);text-transform:capitalize}}.divider{display:flex;align-items:center;gap:16px;margin:20px 0}.divider::before,.divider::after{content:'';flex:1;height:1px;background:#e5e7eb}.divider span{font-size:0.85rem;color:#9ca3af;font-weight:500}.auth-form .form-group{margin-bottom:16px}.auth-form .form-group:last-of-type{margin-bottom:20px}.auth-form .form-label{display:block;margin-bottom:6px;font-size:0.9rem;font-weight:500;color:#1f2937}.auth-form .form-label .optional{color:#9ca3af;font-weight:400;font-size:0.85rem}.auth-form .form-input,.auth-form .form-select,.auth-form .form-textarea{width:100%;max-width:100%;box-sizing:border-box;padding:12px;border:2px solid #e5e7eb;border-radius:10px;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;font-size:0.95rem;background:white;transition:all 0.2s ease;position:relative}.auth-form .form-input:focus,.auth-form .form-select:focus,.auth-form .form-textarea:focus{outline:none;border-color:#f97316;box-shadow:0 0 0 3px rgba(249,115,22,0.1)}.auth-form .form-input.error,.auth-form .error.form-select,.auth-form .error.form-textarea{border-color:#ef4444;box-shadow:0 0 0 3px rgba(239,68,68,0.1);top:auto;left:auto;transform:none;z-index:auto;max-width:100%;min-width:0;animation:none}.auth-form .form-input:invalid,.auth-form .form-select:invalid,.auth-form .form-textarea:invalid{border-color:#e5e7eb;box-shadow:none}.auth-form .form-input.error:invalid,.auth-form .form-select.error:invalid,.auth-form .form-textarea.error:invalid{border-color:#ef4444;box-shadow:0 0 0 3px rgba(239,68,68,0.1)}.auth-form .form-input.success,.auth-form .success.form-select,.auth-form .success.form-textarea{border-color:#10b981;box-shadow:0 0 0 3px rgba(16,185,129,0.1);background-image:url("data:image/svg+xml,%3csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='m13.854 3.646-7 7a.5.5 0 0 1-.708 0l-3.5-3.5a.5.5 0 1 1 .708-.708L6.5 9.586l6.646-6.647a.5.5 0 0 1 .708.707z' fill='%2310b981'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 12px center;background-size:16px 16px}.auth-form .form-input::placeholder,.auth-form .form-select::placeholder,.auth-form .form-textarea::placeholder{color:#9ca3af}.auth-form .form-error{display:none;margin-top:6px;font-size:0.85rem;color:#ef4444;position:relative;padding-left:20px}.auth-form .form-error::before{content:'⚠';position:absolute;left:0;top:0;font-size:0.9rem}.auth-form .form-success{display:none;margin-top:6px;font-size:0.85rem;color:#10b981;position:relative;padding-left:20px}.auth-form .form-success::before{content:'✓';position:absolute;left:0;top:0;font-size:0.9rem;font-weight:bold}.auth-form .form-success.show{display:block;animation:slideUp 0.3s ease-out}.auth-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media (max-width: 480px){.auth-form .form-row{grid-template-columns:1fr;gap:0}}.auth-form .password-field{position:relative}.auth-form .password-field .password-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;color:#6b7280;cursor:pointer;font-size:0.85rem;padding:4px 8px;transition:color 0.2s ease}.auth-form .password-field .password-toggle:hover{color:#f97316}.auth-form .password-field .form-input,.auth-form .password-field .form-select,.auth-form .password-field .form-textarea{padding-right:60px}.submit-btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 20px;border:none;border-radius:10px;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;font-size:0.95rem;font-weight:600;text-decoration:none;cursor:pointer;transition:all 0.2s ease;user-select:none;width:100%;padding:12px;background:linear-gradient(135deg, #fb923c, #f97316);color:white;font-size:1rem;margin-top:20px}.submit-btn:disabled{opacity:0.6;cursor:not-allowed}.submit-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px rgba(249,115,22,0.4)}.submit-btn.loading{position:relative;color:transparent}.submit-btn.loading::after{content:'';position:absolute;width:20px;height:20px;top:50%;left:50%;margin:-10px 0 0 -10px;border:2px solid transparent;border-top-color:white;border-radius:50%;animation:spin 1s linear infinite}.back-btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 20px;border:none;border-radius:10px;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;font-size:0.95rem;font-weight:600;text-decoration:none;cursor:pointer;transition:all 0.2s ease;user-select:none;width:100%;padding:12px;background:white;color:#1f2937;border:2px solid #e5e7eb;margin-top:12px}.back-btn:disabled{opacity:0.6;cursor:not-allowed}.back-btn:hover{border-color:#9ca3af;background:#f9fafb}@keyframes spin{to{transform:rotate(360deg)}}.success-content{text-align:center;padding:32px 24px;animation:stepTransition 0.6s ease-out}.success-content .success-icon{font-size:4rem;margin-bottom:20px;animation:heartbeat 1.5s ease-in-out;display:inline-block;position:relative}.success-content .success-icon::before{content:'';position:absolute;top:50%;left:50%;width:100%;height:100%;transform:translate(-50%, -50%);border-radius:50%;animation:successGlow 2s infinite}.success-content .success-title{font-size:1.5rem;font-weight:700;color:#1f2937;margin:0 0 8px 0;animation:slideUp 0.6s ease-out 0.2s both}.success-content .success-message{color:#6b7280;margin:0 0 24px 0;line-height:1.5;animation:slideUp 0.6s ease-out 0.4s both}.success-content .submit-btn{animation:slideUp 0.6s ease-out 0.6s both}.success-content .submit-btn:hover:not(:disabled){animation:pulse 0.6s ease-in-out infinite}.helper-text{text-align:center;color:#9ca3af;font-size:0.85rem;margin-top:8px}@media (max-width: 768px){.auth-container{max-width:480px}.auth-modal-header{padding:20px 20px 16px}.auth-modal-header .auth-modal-title{font-size:1.125rem}.auth-modal-body{padding:0 20px 20px}}@media (max-width: 480px){.auth-container{margin:16px;max-height:calc(100vh - 32px)}.auth-modal-header{padding:16px 16px 12px}.auth-modal-header .auth-modal-title{font-size:1.125rem}.auth-modal-header .auth-modal-subtitle{font-size:0.9rem}.auth-modal-body{padding:0 16px 16px}.auth-modal-context{margin:16px 16px 0}.benefits-section .benefit-item{justify-content:center}.social-buttons .social-btn[data-provider="google"]::after{content:"Continue with Google"}.social-buttons .social-btn[data-provider="facebook"]::after{content:"Continue with Facebook"}}.auth-container .form-input:focus,.auth-container .form-select:focus,.auth-container .form-textarea:focus,.auth-container .auth-tab:focus,.auth-container .social-btn:focus,.auth-container .submit-btn:focus,.auth-container .back-btn:focus,.auth-container .auth-modal-close:focus{outline:2px solid #f97316;outline-offset:2px}@media (prefers-contrast: high){.auth-container .auth-tab.active{border:2px solid #f97316}.auth-container .form-input:focus,.auth-container .form-select:focus,.auth-container .form-textarea:focus{border-width:3px}}@media (prefers-reduced-motion: reduce){.auth-container{animation:none}.auth-container *{animation:none !important;transition:none !important}}@media print{.auth-overlay{display:none}}.nav-container{background:linear-gradient(to bottom, #3a3a3a, #2a2a2a);box-shadow:0 2px 10px rgba(0,0,0,0.2);position:fixed;top:0;left:0;right:0;z-index:1000;overflow:visible;max-width:100vw}.nav-wrapper{max-width:1400px;margin:0 auto;padding:0 40px;display:flex;align-items:center;justify-content:space-between;height:60px;position:relative}@media (max-width: 1024px){.nav-wrapper{padding:0 30px}}@media (max-width: 900px){.nav-wrapper{padding:0 20px}}@media (max-width: 768px){.nav-wrapper{padding:0 20px;height:55px}}.logo{text-decoration:none;transition:transform 0.3s;display:flex;align-items:center;z-index:1002}.logo:hover{transform:scale(1.05)}.logo .logo-image{height:40px;width:auto;transition:opacity 0.3s}.logo .logo-image:hover{opacity:0.9}@media (max-width: 1024px){.logo .logo-image{height:36px}}@media (max-width: 768px){.logo .logo-image{height:32px}}.nav-menu{display:flex;list-style:none;gap:10px;align-items:center}@media (max-width: 900px){.nav-menu{gap:5px}}@media (max-width: 768px){.nav-menu{display:none}}.nav-item{position:relative}.nav-link{color:white !important;text-decoration:none;padding:10px 16px;border-radius:6px;transition:all 0.3s;display:flex;align-items:center;gap:6px;font-size:15px;font-weight:500;position:relative;overflow:hidden}.nav-link::before{content:'';position:absolute;bottom:8px;left:16px;right:16px;height:2px;background:#ff6b35;transform:scaleX(0);transition:transform 0.3s;transform-origin:left}.nav-link:hover{background:rgba(255,255,255,0.05);color:white !important}.nav-link:hover::before{transform:scaleX(1)}@media (max-width: 900px){.nav-link{padding:8px 10px;font-size:14px}}@media (max-width: 1024px){.nav-link{padding:8px 12px;font-size:14px}}.has-dropdown::after{content:'▾';font-size:12px;opacity:0.7;transition:transform 0.3s}.nav-item:hover .has-dropdown::after{transform:rotate(180deg)}.nav-container .nav-menu .nav-item .dropdown{position:absolute;top:100%;left:0;background:white;border-radius:6px;box-shadow:0 4px 20px rgba(0,0,0,0.15);min-width:160px;opacity:0;visibility:hidden;transform:translateY(-10px);transition:all 0.3s cubic-bezier(0.4, 0, 0.2, 1);margin-top:8px;overflow:hidden;z-index:1003;display:block;text-align:left}.nav-container .nav-menu .nav-item:hover .dropdown{opacity:1;visibility:visible;transform:translateY(0)}.nav-container .nav-menu .nav-item .dropdown .dropdown-item{color:#333;padding:6px 12px;text-decoration:none;display:block;text-align:left;transition:all 0.2s;font-size:14px;position:relative;white-space:nowrap;width:100%;box-sizing:border-box}.nav-container .nav-menu .nav-item .dropdown .dropdown-item::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:#ff6b35;transform:scaleY(0);transition:transform 0.2s}.nav-container .nav-menu .nav-item .dropdown .dropdown-item:hover{background:#f8f8f8;color:#ff6b35;padding-left:16px}.nav-container .nav-menu .nav-item .dropdown .dropdown-item:hover::before{transform:scaleY(1)}.nav-container .nav-menu .nav-item .dropdown .dropdown-item.coming-soon{color:#999;font-style:italic}.nav-container .nav-menu .nav-item .dropdown .dropdown-item .coming-soon-badge{background:#ff6b35;color:white;padding:2px 6px;border-radius:10px;font-size:10px;font-weight:600;margin-left:6px;text-transform:uppercase}.nav-container .nav-menu .nav-item .dropdown .dropdown-item .new-badge{background:#14B8A6;color:white;padding:2px 6px;border-radius:10px;font-size:10px;font-weight:600;margin-left:6px;text-transform:uppercase}@keyframes badge-pulse{0%,100%{opacity:1}50%{opacity:0.9}}.auth-section{display:flex;align-items:center;gap:20px}@media (max-width: 900px){.auth-section{gap:12px}}@media (max-width: 768px){.auth-section{display:none}}.login-link{color:rgba(255,255,255,0.9);text-decoration:none;font-size:14px;font-weight:500;transition:all 0.2s;padding:6px 12px;border-radius:4px}.login-link:hover{color:white;background:rgba(255,255,255,0.1)}.btn-join{padding:10px 24px;background:linear-gradient(135deg, #ff6b35, #ff5722);color:white;text-decoration:none;border-radius:6px;font-weight:600;font-size:14px;transition:all 0.3s;position:relative;overflow:hidden;box-shadow:0 2px 8px rgba(255,107,53,0.3);display:inline-block}@media (max-width: 900px){.btn-join{padding:8px 16px;font-size:13px}}.btn-join::before{content:'';position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:rgba(255,255,255,0.2);transform:translate(-50%, -50%);transition:width 0.6s, height 0.6s}.btn-join:hover{transform:translateY(-2px);box-shadow:0 4px 16px rgba(255,107,53,0.4)}.btn-join:hover::before{width:200px;height:200px}.user-menu-trigger{display:flex;align-items:center;gap:12px;color:white;cursor:pointer;padding:8px 12px;border-radius:6px;transition:all 0.3s;background:transparent;border:none;font-family:inherit;font-size:14px}.user-menu-trigger:hover{background:rgba(255,255,255,0.1)}.user-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg, #ff6b35, #ff5722);display:flex;align-items:center;justify-content:center;font-weight:bold;font-size:14px;color:white;transition:transform 0.3s}.user-menu-trigger:hover .user-avatar{transform:scale(1.1)}.nav-container .auth-section .nav-item .dropdown.user-dropdown{position:absolute;top:100%;right:0;left:auto;background:white;border-radius:6px;box-shadow:0 4px 20px rgba(0,0,0,0.15);min-width:160px;opacity:0;visibility:hidden;transform:translateY(-10px);transition:all 0.3s cubic-bezier(0.4, 0, 0.2, 1);margin-top:8px;overflow:hidden;z-index:1003;display:block;text-align:left}.nav-container .auth-section .nav-item:hover .dropdown.user-dropdown{opacity:1;visibility:visible;transform:translateY(0)}.nav-container .auth-section .nav-item .dropdown.user-dropdown .dropdown-item{color:#333;padding:6px 12px;text-decoration:none;display:block;text-align:left;transition:all 0.2s;font-size:14px;position:relative;white-space:nowrap;width:100%;box-sizing:border-box}.nav-container .auth-section .nav-item .dropdown.user-dropdown .dropdown-item::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:#ff6b35;transform:scaleY(0);transition:transform 0.2s}.nav-container .auth-section .nav-item .dropdown.user-dropdown .dropdown-item:hover{background:#f8f8f8;color:#ff6b35;padding-left:16px}.nav-container .auth-section .nav-item .dropdown.user-dropdown .dropdown-item:hover::before{transform:scaleY(1)}.mobile-menu-toggle{display:none;background:transparent;border:none;color:white;cursor:pointer;padding:8px;z-index:1002;width:40px;height:40px;align-items:center;justify-content:center}@media (max-width: 768px){.mobile-menu-toggle{display:flex}}.hamburger{width:24px;height:20px;position:relative}.hamburger span{display:block;position:absolute;height:3px;width:100%;background:white;border-radius:3px;left:0;transition:0.3s cubic-bezier(0.4, 0, 0.2, 1)}.hamburger span:nth-child(1){top:0}.hamburger span:nth-child(2){top:8px}.hamburger span:nth-child(3){top:16px}.mobile-menu-toggle.active .hamburger span:nth-child(1){top:8px;transform:rotate(135deg)}.mobile-menu-toggle.active .hamburger span:nth-child(2){opacity:0;transform:translateX(-20px)}.mobile-menu-toggle.active .hamburger span:nth-child(3){top:8px;transform:rotate(-135deg)}.mobile-menu{position:fixed;top:0;left:0;right:0;bottom:0;background:#1a1a1a;z-index:1001;display:flex;flex-direction:column;transform:translateX(-100%);transition:transform 0.3s cubic-bezier(0.4, 0, 0.2, 1)}.mobile-menu.active{transform:translateX(0)}.close-btn{position:absolute;top:15px;left:20px;width:40px;height:40px;background:transparent;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:1001}.close-btn::before,.close-btn::after{content:'';position:absolute;width:24px;height:3px;background:white;border-radius:2px;transition:background 0.3s}.close-btn::before{transform:rotate(45deg)}.close-btn::after{transform:rotate(-45deg)}.close-btn:hover::before,.close-btn:hover::after{background:#ff6b35}.menu-content{padding:80px 20px 20px;flex:1;overflow-y:auto;display:flex;flex-direction:column}.nav-items{flex:1}.nav-item-mobile{border-bottom:1px solid rgba(255,255,255,0.1);opacity:0;animation:slideIn 0.4s forwards}.nav-item-mobile:nth-child(1){animation-delay:0.1s}.nav-item-mobile:nth-child(2){animation-delay:0.15s}.nav-item-mobile:nth-child(3){animation-delay:0.2s}.nav-item-mobile:nth-child(4){animation-delay:0.25s}.nav-item-mobile:nth-child(5){animation-delay:0.3s}@keyframes slideIn{from{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}.nav-link-mobile{display:block;color:white;text-decoration:none;padding:18px 0;font-size:18px;font-weight:500;transition:all 0.3s;position:relative}.nav-link-mobile::after{content:'';position:absolute;left:0;bottom:0;height:2px;width:0;background:#ff6b35;transition:width 0.3s}.nav-link-mobile:hover{color:#ff6b35;padding-left:10px}.nav-link-mobile:hover::after{width:30px}.auth-section-mobile{padding:30px 0;margin-top:auto;border-top:1px solid rgba(255,255,255,0.1);background:linear-gradient(to bottom, transparent, rgba(0,0,0,0.3));animation:slideUp 0.5s forwards;animation-delay:0.4s;opacity:0}@keyframes slideUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.auth-buttons-split{display:flex;gap:12px}.btn-signup-mobile,.btn-login-mobile{flex:1;padding:16px;text-decoration:none;text-align:center;border-radius:8px;font-size:16px;font-weight:500;transition:all 0.3s}.btn-signup-mobile{background:linear-gradient(135deg, #ff6b35, #ff5722);color:white;box-shadow:0 4px 15px rgba(255,107,53,0.3)}.btn-signup-mobile:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(255,107,53,0.4)}.btn-login-mobile{background:transparent;color:white;border:2px solid rgba(255,255,255,0.3)}.btn-login-mobile:hover{background:rgba(255,255,255,0.1);border-color:rgba(255,255,255,0.5)}.mobile-user-info{text-align:center;padding-bottom:20px;margin-bottom:20px;border-bottom:1px solid rgba(255,255,255,0.1)}.mobile-user-info .user-avatar-large{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg, #ff6b35, #ff5722);display:flex;align-items:center;justify-content:center;font-weight:bold;font-size:20px;color:white;margin:0 auto 10px}.mobile-user-info .user-name-mobile{color:white;font-size:16px;font-weight:500}.btn-logout-mobile{display:block;width:100%;padding:16px;background:transparent;color:rgba(255,255,255,0.7);text-decoration:none;text-align:center;border:2px solid rgba(255,255,255,0.2);border-radius:8px;font-size:16px;font-weight:500;transition:all 0.3s;margin-top:20px}.btn-logout-mobile:hover{color:white;border-color:rgba(255,255,255,0.4);background:rgba(255,255,255,0.05)}.nav-accordion .nav-accordion-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;background:transparent;border:none;cursor:pointer;font-family:inherit;text-align:left}.nav-accordion .nav-accordion-trigger .accordion-arrow{font-size:12px;opacity:0.7;transition:transform 0.3s ease}.nav-accordion.active .nav-accordion-trigger .accordion-arrow{transform:rotate(180deg)}.nav-accordion .nav-accordion-content{max-height:0;overflow:hidden;transition:max-height 0.3s ease;padding-left:16px;border-left:2px solid rgba(255,255,255,0.1);margin-left:8px}.nav-accordion .nav-accordion-content .nav-accordion-link{display:block;color:rgba(255,255,255,0.8);text-decoration:none;padding:12px 0;font-size:16px;transition:all 0.3s;border-bottom:1px solid rgba(255,255,255,0.05)}.nav-accordion .nav-accordion-content .nav-accordion-link:last-child{border-bottom:none}.nav-accordion .nav-accordion-content .nav-accordion-link:hover{color:#ff6b35;padding-left:8px}.nav-accordion .nav-accordion-content .nav-accordion-link.coming-soon{color:rgba(255,255,255,0.5);font-style:italic}.nav-accordion.active .nav-accordion-content{max-height:300px;padding-top:4px;padding-bottom:4px}.new-badge-mobile{background:#14B8A6;color:white;padding:2px 6px;border-radius:10px;font-size:10px;font-weight:600;margin-left:6px;text-transform:uppercase;display:inline-block;vertical-align:middle}.coming-soon-badge-mobile{background:#ff6b35;color:white;padding:2px 6px;border-radius:10px;font-size:10px;font-weight:600;margin-left:6px;text-transform:uppercase;display:inline-block;vertical-align:middle}.verification-banner{background:linear-gradient(135deg, #4a90e2 0%, #357abd 100%);color:white;padding:8px 0;position:relative;width:100%;box-shadow:0 2px 4px rgba(0,0,0,0.1);border-top:1px solid rgba(255,255,255,0.1)}.verification-banner-content{width:100%;max-width:1400px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:0 20px;position:relative}.verification-banner-message{flex:1}.verification-banner-message strong{font-weight:600;margin-right:8px}.verification-banner-text{font-size:14px;opacity:0.9}.verification-banner-actions{display:flex;align-items:center;gap:12px}.verification-banner-btn{padding:8px 16px;border:none;border-radius:4px;font-size:14px;font-weight:500;text-decoration:none;cursor:pointer;transition:all 0.2s ease}.verification-banner-btn.btn-primary{background:white;color:#4a90e2}.verification-banner-btn.btn-primary:hover{background:#f8f9fa;transform:translateY(-1px)}.verification-banner-btn.btn-secondary{background:rgba(255,255,255,0.2);color:white;border:1px solid rgba(255,255,255,0.3)}.verification-banner-btn.btn-secondary:hover{background:rgba(255,255,255,0.3)}.verification-banner-close{background:none;border:none;color:white;font-size:24px;font-weight:300;cursor:pointer;padding:4px 8px;margin-left:8px;border-radius:4px;transition:background 0.2s ease}.verification-banner-close:hover{background:rgba(255,255,255,0.2)}.verification-banner-loading{display:none;text-align:center;padding:8px 0}.verification-banner-loading .spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,0.3);border-top:2px solid white;border-radius:50%;animation:spin 1s linear infinite;margin-right:8px;vertical-align:middle}.verification-modal{position:fixed;top:0;left:0;width:100%;height:100%;z-index:10000;display:none;align-items:center;justify-content:center}.verification-modal-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.5);backdrop-filter:blur(4px)}.verification-modal-content{position:relative;background:white;max-width:500px;width:90%;border-radius:8px;box-shadow:0 20px 60px rgba(0,0,0,0.3);z-index:1}.verification-modal-header{background:linear-gradient(135deg, #4a90e2 0%, #357abd 100%);color:white;padding:20px 24px;display:flex;align-items:center;justify-content:space-between}.verification-modal-header h3{margin:0;font-size:18px;font-weight:600}.verification-modal-close{background:none;border:none;color:white;font-size:28px;font-weight:300;cursor:pointer;padding:0;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background 0.2s ease}.verification-modal-close:hover{background:rgba(255,255,255,0.2)}.verification-modal-body{padding:24px;line-height:1.6}.verification-modal-body p{margin:0 0 16px 0}.verification-modal-body p:last-child{margin-bottom:0}.verification-modal-message,.verification-modal-email,.verification-modal-instructions{margin-bottom:16px}.verification-modal-message strong,.verification-modal-email strong,.verification-modal-instructions strong{font-weight:600}.verification-modal-footer{padding:20px 24px;background:#f8f9fa;border-top:1px solid #e1e8ed;display:flex;gap:12px;justify-content:flex-end}.verification-modal-btn{padding:10px 20px;border:none;border-radius:4px;font-size:14px;font-weight:500;text-decoration:none;cursor:pointer;transition:all 0.2s ease;display:inline-block}.verification-modal-btn.btn-primary{background:#4a90e2;color:white}.verification-modal-btn.btn-primary:hover{background:#357abd;transform:translateY(-1px)}.verification-modal-btn.btn-secondary{background:#95a5a6;color:white}.verification-modal-btn.btn-secondary:hover{background:#7f8c8d}.verification-modal-loading{display:none;text-align:center;padding:20px}.verification-modal-loading .spinner{display:inline-block;width:20px;height:20px;border:2px solid #f3f3f3;border-top:2px solid #4a90e2;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:8px}.verification-modal-loading span{display:block;color:#666;font-size:14px}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@media (max-width: 768px){.verification-banner-content{flex-direction:column;gap:12px;text-align:center}.verification-modal-content{margin:5% 20px;max-width:none}}body.has-mini-player{padding-bottom:68px}.mini-player{position:fixed;bottom:0;left:0;right:0;height:60px;background:#1a1714;border-top:1px solid rgba(255,255,255,0.08);z-index:1020;transform:translateY(100%);transition:transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);box-shadow:0 -4px 24px rgba(0,0,0,0.3)}.mini-player--visible{transform:translateY(0)}.mini-player__inner{display:flex;align-items:center;gap:14px;height:100%;max-width:1200px;margin:0 auto;padding:0 20px}.mini-player__left{display:flex;align-items:center;gap:12px;flex-shrink:0}.mini-player__thumb{width:40px;height:40px;border-radius:6px;overflow:hidden;background:#2c2722;flex-shrink:0}.mini-player__thumb-img{width:100%;height:100%;object-fit:cover}.mini-player__thumb-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#6B635C;font-size:16px}.mini-player__thumb-placeholder svg{width:16px;height:16px;fill:currentColor}.mini-player__play-btn{width:36px;height:36px;border-radius:50%;background:#FF6B35;border:none;color:white;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background 0.2s, transform 0.2s}.mini-player__play-btn:hover{background:#FF5219;transform:scale(1.08)}.mini-player__play-btn i{margin-left:1px}.mini-player__play-btn svg{width:14px;height:14px;fill:currentColor;margin-left:1px}.mini-player__center{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:4px}.mini-player__info{display:flex;align-items:baseline;gap:10px;min-width:0}.mini-player__title{font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;font-size:13px;font-weight:700;color:#F5F2EF;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color 0.2s}.mini-player__title:hover{color:#FF6B35}.mini-player__series{font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;font-size:11px;color:#6B635C;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:0}.mini-player__progress{width:100%}.mini-player__bar{position:relative;width:100%;height:4px;background:rgba(255,255,255,0.12);border-radius:2px;cursor:pointer;transition:height 0.15s}.mini-player__bar:hover{height:6px}.mini-player__bar-fill{position:absolute;top:0;left:0;height:100%;background:#FF6B35;border-radius:2px;width:0;transition:width 0.1s linear;pointer-events:none}.mini-player__bar-chapters{position:absolute;top:0;left:0;right:0;height:100%;pointer-events:none}.mini-player__chapter-dot{position:absolute;top:-2px;width:4px;height:8px;background:rgba(255,255,255,0.35);border-radius:2px;transform:translateX(-50%)}.mini-player__right{display:flex;align-items:center;gap:12px;flex-shrink:0}.mini-player__time{font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;font-size:11px;color:#9A918A;font-weight:500;white-space:nowrap}.mini-player__time-current{color:#F5F2EF}.mini-player__speed-btn{padding:4px 8px;border-radius:4px;background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.1);font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;font-size:11px;font-weight:700;color:#9A918A;cursor:pointer;flex-shrink:0;transition:all 0.2s}.mini-player__speed-btn:hover{background:rgba(255,255,255,0.15);color:#F5F2EF}.mini-player__close-btn{width:28px;height:28px;border-radius:50%;background:transparent;border:none;color:#6B635C;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all 0.2s}.mini-player__close-btn:hover{background:rgba(255,255,255,0.1);color:#F5F2EF}.mini-player__close-btn svg{width:14px;height:14px;fill:currentColor}.mini-player__mobile-expand{display:none}@media (max-width: 900px){.mini-player__series{display:none}.mini-player__time{font-size:10px}}@media (max-width: 600px){body.has-mini-player{padding-bottom:56px}.mini-player{height:52px}.mini-player--expanded{height:auto;min-height:52px}.mini-player__inner{padding:0 12px;gap:10px;flex-wrap:wrap}.mini-player__center{flex:1;min-width:0}.mini-player__progress{display:none}.mini-player__right{display:none}.mini-player__series{display:none}.mini-player__mobile-expand{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:none;color:#6B635C;font-size:12px;cursor:pointer;flex-shrink:0;transition:color 0.2s}.mini-player__mobile-expand:hover{color:#F5F2EF}.mini-player__mobile-expand svg{width:12px;height:12px;fill:currentColor}.mini-player--expanded .mini-player__inner{padding-bottom:12px}.mini-player--expanded .mini-player__progress{display:block;width:100%;order:10}.mini-player--expanded .mini-player__right{display:flex;width:100%;order:11;justify-content:space-between}.mini-player--expanded .mini-player__mobile-expand svg{transform:rotate(180deg)}}@media (prefers-reduced-motion: reduce){.mini-player{transition:none}.mini-player__bar-fill{transition:none}}.mini-player__play-btn:focus-visible,.mini-player__speed-btn:focus-visible,.mini-player__close-btn:focus-visible,.mini-player__bar:focus-visible{outline:2px solid #FF6B35;outline-offset:3px}:root{--racemob-primary-orange: #FF6B35;--racemob-primary-dark: #1A1A1A;--racemob-primary-white: #FFFFFF;--racemob-secondary-orange-light: #FF8A65;--racemob-secondary-orange-pale: #FFF3F0;--racemob-secondary-orange-subtle: rgba(255, 107, 53, 0.08);--racemob-secondary-dark-gray: #2E2E2E;--racemob-accent-teal: #4ECDC4;--racemob-accent-teal-medium: #14B8A6;--racemob-accent-green: #45B7A8;--racemob-accent-gold: #FFD93D;--racemob-success: #10B981;--racemob-success-bg: #DCFCE7;--racemob-success-dark: #166534;--racemob-warning: #F59E0B;--racemob-warning-bg: #FEF3C7;--racemob-warning-dark: #92400E;--racemob-error: #EF4444;--racemob-error-bg: #FEE2E2;--racemob-error-dark: #991B1B;--racemob-info: #3B82F6;--racemob-info-bg: #DBEAFE;--racemob-neutral-50: #F9FAFB;--racemob-neutral-100: #F3F4F6;--racemob-neutral-200: #E5E7EB;--racemob-neutral-300: #D1D5DB;--racemob-neutral-400: #9CA3AF;--racemob-neutral-500: #6B7280;--racemob-neutral-600: #4B5563;--racemob-neutral-700: #374151;--racemob-neutral-800: #1F2937;--racemob-neutral-900: #111827;--racemob-neutral-gray: #6B7280;--racemob-bg-primary: #FFFFFF;--racemob-bg-secondary: #F9FAFB;--racemob-bg-accent: #FFF8F6;--racemob-bg-dark: #111827;--racemob-text-h1-size: 48px;--racemob-text-h1-height: 56px;--racemob-text-h1-spacing: -1px;--racemob-text-h1-weight: 700;--racemob-text-h2-size: 32px;--racemob-text-h2-height: 40px;--racemob-text-h2-spacing: -0.5px;--racemob-text-h2-weight: 600;--racemob-text-h3-size: 24px;--racemob-text-h3-height: 32px;--racemob-text-h3-spacing: -0.2px;--racemob-text-h3-weight: 600;--racemob-text-h4-size: 20px;--racemob-text-h4-height: 28px;--racemob-text-h4-spacing: -0.1px;--racemob-text-h4-weight: 600;--racemob-text-body-large-size: 18px;--racemob-text-body-large-height: 28px;--racemob-text-body-large-weight: 400;--racemob-text-body-size: 16px;--racemob-text-body-height: 24px;--racemob-text-body-weight: 400;--racemob-text-body-small-size: 14px;--racemob-text-body-small-height: 20px;--racemob-text-body-small-spacing: 0.1px;--racemob-text-body-small-weight: 400;--racemob-text-button-size: 16px;--racemob-text-button-height: 24px;--racemob-text-button-spacing: 0.2px;--racemob-text-button-weight: 600;--racemob-text-caption-size: 12px;--racemob-text-caption-height: 16px;--racemob-text-caption-spacing: 0.3px;--racemob-text-caption-weight: 500;--racemob-space-micro: 2px;--racemob-space-tiny: 4px;--racemob-space-xs: 8px;--racemob-space-sm: 12px;--racemob-space-md: 16px;--racemob-space-lg: 24px;--racemob-space-xl: 32px;--racemob-space-2xl: 48px;--racemob-space-3xl: 64px;--racemob-radius-sm: 8px;--racemob-radius-md: 12px;--racemob-radius-lg: 16px;--racemob-shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.08);--racemob-shadow-md: 0 4px 12px rgba(0, 0, 0, 0.1);--racemob-shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.12);--racemob-shadow-primary: 0 4px 12px rgba(255, 107, 53, 0.3);--racemob-transition-fast: 150ms ease-out;--racemob-transition-normal: 200ms ease-out;--racemob-transition-slow: 250ms ease-out;--racemob-z-dropdown: 1000;--racemob-z-sticky: 1010;--racemob-z-fixed: 1020;--racemob-z-modal-backdrop: 1030;--racemob-z-modal: 1040;--racemob-z-popover: 1050;--racemob-z-tooltip: 1060}.racemob-h1{font-size:var(--racemob-text-h1-size);line-height:var(--racemob-text-h1-height);font-weight:var(--racemob-text-h1-weight);letter-spacing:var(--racemob-text-h1-spacing);color:var(--racemob-primary-dark)}.racemob-h2{font-size:var(--racemob-text-h2-size);line-height:var(--racemob-text-h2-height);font-weight:var(--racemob-text-h2-weight);letter-spacing:var(--racemob-text-h2-spacing);color:var(--racemob-primary-dark)}.racemob-h3{font-size:var(--racemob-text-h3-size);line-height:var(--racemob-text-h3-height);font-weight:var(--racemob-text-h3-weight);letter-spacing:var(--racemob-text-h3-spacing);color:var(--racemob-primary-dark)}.racemob-h4{font-size:var(--racemob-text-h4-size);line-height:var(--racemob-text-h4-height);font-weight:var(--racemob-text-h4-weight);letter-spacing:var(--racemob-text-h4-spacing);color:var(--racemob-primary-dark)}.racemob-body-large{font-size:var(--racemob-text-body-large-size);line-height:var(--racemob-text-body-large-height);font-weight:var(--racemob-text-body-large-weight);color:var(--racemob-primary-dark)}.racemob-body{font-size:var(--racemob-text-body-size);line-height:var(--racemob-text-body-height);font-weight:var(--racemob-text-body-weight);color:var(--racemob-primary-dark)}.racemob-body-small{font-size:var(--racemob-text-body-small-size);line-height:var(--racemob-text-body-small-height);font-weight:var(--racemob-text-body-small-weight);letter-spacing:var(--racemob-text-body-small-spacing);color:var(--racemob-neutral-gray)}.racemob-button-text{font-size:var(--racemob-text-button-size);line-height:var(--racemob-text-button-height);font-weight:var(--racemob-text-button-weight);letter-spacing:var(--racemob-text-button-spacing)}.racemob-caption{font-size:var(--racemob-text-caption-size);line-height:var(--racemob-text-caption-height);font-weight:var(--racemob-text-caption-weight);letter-spacing:var(--racemob-text-caption-spacing);text-transform:uppercase;color:var(--racemob-neutral-gray)}.racemob-btn-primary{background:var(--racemob-primary-orange);color:var(--racemob-primary-white);border:none;border-radius:var(--racemob-radius-md);padding:var(--racemob-space-sm) var(--racemob-space-lg);font-size:var(--racemob-text-button-size);font-weight:var(--racemob-text-button-weight);letter-spacing:var(--racemob-text-button-spacing);transition:all var(--racemob-transition-normal);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.racemob-btn-primary:hover{background:var(--racemob-secondary-orange-light);transform:translateY(-2px);box-shadow:var(--racemob-shadow-primary)}.racemob-btn-primary:active{transform:translateY(0)}.racemob-btn-primary:disabled{background:var(--racemob-neutral-gray);transform:none;box-shadow:none;cursor:not-allowed}.racemob-btn-secondary{background:transparent;color:var(--racemob-primary-orange);border:2px solid var(--racemob-primary-orange);border-radius:var(--racemob-radius-md);padding:calc(var(--racemob-space-sm) - 2px) calc(var(--racemob-space-lg) - 2px);font-size:var(--racemob-text-button-size);font-weight:var(--racemob-text-button-weight);letter-spacing:var(--racemob-text-button-spacing);transition:all var(--racemob-transition-normal);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.racemob-btn-secondary:hover{background:var(--racemob-secondary-orange-pale);border-color:var(--racemob-secondary-orange-light);color:var(--racemob-secondary-orange-light);transform:translateY(-2px);box-shadow:var(--racemob-shadow-primary)}.racemob-btn-secondary:active{transform:translateY(0)}.racemob-btn-secondary:disabled{border-color:var(--racemob-neutral-gray);color:var(--racemob-neutral-gray);transform:none;box-shadow:none;cursor:not-allowed}.racemob-btn-teal{background:var(--racemob-accent-teal);color:var(--racemob-primary-white);border:none;border-radius:var(--racemob-radius-md);padding:var(--racemob-space-sm) var(--racemob-space-lg);font-size:var(--racemob-text-button-size);font-weight:var(--racemob-text-button-weight);letter-spacing:var(--racemob-text-button-spacing);transition:all var(--racemob-transition-normal);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.racemob-btn-teal:hover{background:var(--racemob-accent-green);transform:translateY(-2px);box-shadow:0 4px 12px rgba(78,205,196,0.3)}.racemob-btn-teal:active{transform:translateY(0)}.site-footer{background:#000000;color:#ecf0f1;margin-top:60px}.site-footer .footer-main{border-bottom:1px solid #333}.site-footer .footer-container{max-width:1200px;margin:0 auto;padding:60px 20px 40px;display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1fr;gap:40px}@media (max-width: 968px){.site-footer .footer-container{grid-template-columns:1fr 1fr;gap:40px 30px}}@media (max-width: 640px){.site-footer .footer-container{grid-template-columns:1fr 1fr;gap:10px 15px;text-align:left;padding:20px 20px 15px}}.site-footer .footer-section.footer-brand .footer-logo{display:inline-block;margin-bottom:20px}.site-footer .footer-section.footer-brand .footer-logo .footer-logo-img{height:40px;width:auto}.site-footer .footer-section.footer-brand .footer-quote{margin-top:20px}.site-footer .footer-section.footer-brand .footer-quote p{font-style:italic;font-size:0.95rem;line-height:1.6;color:#bdc3c7;margin-bottom:8px}.site-footer .footer-section.footer-brand .footer-quote cite{font-size:0.85rem;color:#95a5a6}.site-footer .footer-section.footer-brand .footer-quote cite::before{content:'— '}@media (max-width: 640px){.site-footer .footer-section.footer-brand .footer-quote{display:none}}@media (max-width: 640px){.site-footer .footer-section.footer-brand{grid-column:1 / -1;text-align:center;margin-bottom:5px}.site-footer .footer-section.footer-brand .footer-logo{margin-bottom:5px}.site-footer .footer-section.footer-brand .footer-logo .footer-logo-img{height:30px}}.site-footer .footer-heading{font-size:1.1rem;font-weight:600;color:white;margin-bottom:20px;text-transform:uppercase;letter-spacing:0.5px;position:relative;padding-bottom:8px}.site-footer .footer-heading::after{content:'';position:absolute;bottom:0;left:0;width:30px;height:2px;background:var(--racemob-primary-orange)}@media (max-width: 640px){.site-footer .footer-heading{margin-bottom:8px;padding-bottom:4px;font-size:1rem}}.site-footer .footer-links{list-style:none;padding:0;margin:0}.site-footer .footer-links li{margin-bottom:12px}.site-footer .footer-links li a{color:#bdc3c7;text-decoration:none;font-size:0.95rem;transition:color 0.2s ease}.site-footer .footer-links li a:hover{color:var(--racemob-primary-orange)}.site-footer .footer-links li a.coming-soon{position:relative}.site-footer .footer-links li a.coming-soon::after{content:'SOON';display:inline-block;margin-left:8px;padding:2px 6px;background:rgba(255,107,53,0.2);color:var(--racemob-primary-orange);border-radius:8px;font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:0.5px;vertical-align:middle}@media (max-width: 640px){.site-footer .footer-links li{margin-bottom:6px}}@media (max-width: 640px){.site-footer .footer-accordion .footer-accordion-header{cursor:pointer;display:flex;justify-content:flex-start;align-items:center;user-select:none;gap:8px}.site-footer .footer-accordion .footer-accordion-header::after{display:none}.site-footer .footer-accordion .footer-accordion-header .accordion-icon{transition:transform 0.2s ease;font-size:0.7rem;opacity:0.8}.site-footer .footer-accordion .footer-accordion-header.active .accordion-icon{transform:rotate(90deg)}.site-footer .footer-accordion .footer-accordion-content{max-height:0;overflow:hidden;transition:max-height 0.3s ease;margin-top:0}.site-footer .footer-accordion .footer-accordion-content.active{max-height:150px;margin-top:5px}}@media (min-width: 641px){.site-footer .footer-accordion .accordion-icon{display:none}}.site-footer .footer-stacked{display:flex;flex-direction:column}.site-footer .footer-stacked .footer-stacked__second{margin-top:24px}@media (max-width: 640px){.site-footer .footer-stacked .footer-stacked__second{margin-top:0}}@media (max-width: 640px){.site-footer .footer-connect{grid-column:1 / -1;text-align:center;margin-top:10px}}.site-footer .footer-connect .social-links{display:flex;flex-direction:row;gap:12px;margin-bottom:20px}@media (max-width: 640px){.site-footer .footer-connect .social-links{justify-content:center}}.site-footer .footer-connect .social-links .social-link{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:rgba(255,255,255,0.1);border-radius:50%;color:#bdc3c7;transition:all 0.3s ease}.site-footer .footer-connect .social-links .social-link svg{width:16px;height:16px}.site-footer .footer-connect .social-links .social-link:hover{background:var(--racemob-primary-orange);color:white;transform:translateY(-2px)}.site-footer .footer-connect .newsletter-signup .newsletter-title{font-size:0.9rem;color:#95a5a6;margin-bottom:10px;text-transform:uppercase;letter-spacing:0.5px}.site-footer .footer-connect .newsletter-signup .newsletter-form{display:flex;gap:8px}@media (max-width: 640px){.site-footer .footer-connect .newsletter-signup .newsletter-form{max-width:300px;margin:0 auto}}.site-footer .footer-connect .newsletter-signup .newsletter-input{flex:1;padding:10px 12px;background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.2);border-radius:6px;color:white;font-size:0.9rem}.site-footer .footer-connect .newsletter-signup .newsletter-input::placeholder{color:rgba(255,255,255,0.5)}.site-footer .footer-connect .newsletter-signup .newsletter-input:focus{outline:none;border-color:var(--racemob-primary-orange);background:rgba(255,255,255,0.15)}.site-footer .footer-connect .newsletter-signup .newsletter-submit{padding:10px 20px;background:var(--racemob-primary-orange);color:white;border:none;border-radius:6px;font-size:0.9rem;font-weight:600;cursor:pointer;transition:all 0.3s ease}.site-footer .footer-connect .newsletter-signup .newsletter-submit:hover{background:var(--racemob-primary-orange-dark);transform:translateY(-1px)}.site-footer .footer-bottom{background:rgba(0,0,0,0.5);padding:20px}.site-footer .footer-bottom .footer-bottom-content{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px}@media (max-width: 640px){.site-footer .footer-bottom .footer-bottom-content{flex-direction:column;text-align:center;gap:10px}}.site-footer .footer-bottom .footer-copyright{color:#95a5a6;font-size:0.9rem}.site-footer .footer-bottom .footer-legal{display:flex;gap:8px;align-items:center}.site-footer .footer-bottom .footer-legal a{color:#bdc3c7;text-decoration:none;font-size:0.9rem;transition:color 0.2s ease}.site-footer .footer-bottom .footer-legal a:hover{color:var(--racemob-primary-orange)}.site-footer .footer-bottom .footer-legal .separator{color:#666}.wrapper{max-width:1400px;margin:0 auto;padding:0 20px}#popup-box-bg{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.5);z-index:9999}#popup-box-bg #popup-dialog{position:relative;background:white;border-radius:8px;margin:50px auto;max-width:600px;padding:20px}#popup-box-bg #popup-dialog .close-popup{position:absolute;top:10px;right:15px;font-size:18px;text-decoration:none;color:#666}#popup-box-bg #popup-dialog .close-popup:hover{color:#000}.flash-message,.notice,.alert,.error,.success,.warning,.info,.success-message,.notice-message,.alert-message,.error-message,.warning-message,.info-message{position:fixed;top:70px;left:50%;transform:translateX(-50%);z-index:999;max-width:600px;min-width:300px;padding:15px 20px;border-radius:6px;font-size:14px;line-height:1.5;box-shadow:0 2px 10px rgba(0,0,0,0.1);animation:slideDown 0.3s ease-out;transition:opacity 0.3s ease, transform 0.3s ease}.flash-message.notice,.flash-message.notice-message,.flash-message.success,.flash-message.success-message,.notice.notice,.notice.notice-message,.notice.success,.notice.success-message,.alert.notice,.alert.notice-message,.alert.success,.alert.success-message,.error.notice,.error.notice-message,.error.success,.error.success-message,.success.notice,.success.notice-message,.success.success,.success.success-message,.warning.notice,.warning.notice-message,.warning.success,.warning.success-message,.info.notice,.info.notice-message,.info.success,.info.success-message,.success-message.notice,.success-message.notice-message,.success-message.success,.success-message.success-message,.notice-message.notice,.notice-message.notice-message,.notice-message.success,.notice-message.success-message,.alert-message.notice,.alert-message.notice-message,.alert-message.success,.alert-message.success-message,.error-message.notice,.error-message.notice-message,.error-message.success,.error-message.success-message,.warning-message.notice,.warning-message.notice-message,.warning-message.success,.warning-message.success-message,.info-message.notice,.info-message.notice-message,.info-message.success,.info-message.success-message{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.flash-message.alert,.flash-message.alert-message,.flash-message.error,.flash-message.error-message,.notice.alert,.notice.alert-message,.notice.error,.notice.error-message,.alert.alert,.alert.alert-message,.alert.error,.alert.error-message,.error.alert,.error.alert-message,.error.error,.error.error-message,.success.alert,.success.alert-message,.success.error,.success.error-message,.warning.alert,.warning.alert-message,.warning.error,.warning.error-message,.info.alert,.info.alert-message,.info.error,.info.error-message,.success-message.alert,.success-message.alert-message,.success-message.error,.success-message.error-message,.notice-message.alert,.notice-message.alert-message,.notice-message.error,.notice-message.error-message,.alert-message.alert,.alert-message.alert-message,.alert-message.error,.alert-message.error-message,.error-message.alert,.error-message.alert-message,.error-message.error,.error-message.error-message,.warning-message.alert,.warning-message.alert-message,.warning-message.error,.warning-message.error-message,.info-message.alert,.info-message.alert-message,.info-message.error,.info-message.error-message{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.flash-message.warning,.flash-message.warning-message,.notice.warning,.notice.warning-message,.alert.warning,.alert.warning-message,.error.warning,.error.warning-message,.success.warning,.success.warning-message,.warning.warning,.warning.warning-message,.info.warning,.info.warning-message,.success-message.warning,.success-message.warning-message,.notice-message.warning,.notice-message.warning-message,.alert-message.warning,.alert-message.warning-message,.error-message.warning,.error-message.warning-message,.warning-message.warning,.warning-message.warning-message,.info-message.warning,.info-message.warning-message{background:#fff3cd;color:#856404;border:1px solid #ffeeba}.flash-message.info,.flash-message.info-message,.notice.info,.notice.info-message,.alert.info,.alert.info-message,.error.info,.error.info-message,.success.info,.success.info-message,.warning.info,.warning.info-message,.info.info,.info.info-message,.success-message.info,.success-message.info-message,.notice-message.info,.notice-message.info-message,.alert-message.info,.alert-message.info-message,.error-message.info,.error-message.info-message,.warning-message.info,.warning-message.info-message,.info-message.info,.info-message.info-message{background:#d1ecf1;color:#0c5460;border:1px solid #bee5eb}@keyframes slideDown{from{transform:translateX(-50%) translateY(-20px);opacity:0}to{transform:translateX(-50%) translateY(0);opacity:1}}.field_with_errors{display:inline}.field_with_errors input,.field_with_errors textarea,.field_with_errors select{border-color:#dc3545 !important;box-shadow:0 0 0 0.2rem rgba(220,53,69,0.25)}.error-message,.help-block{color:#dc3545;font-size:0.875em;margin-top:0.25rem;display:block}.race-page-content{padding-top:20px;min-height:calc(100vh - 20px)}@media (max-width: 599px){.race-page-content{padding-top:60px;padding-left:10px;padding-right:10px}.hide-mobile{display:none !important}}@media (min-width: 600px) and (max-width: 768px){.race-page-content{padding-left:20px;padding-right:20px}.hide-tablet{display:none !important}}@media (min-width: 769px){.hide-desktop{display:none !important}}.show-mobile{display:none !important}@media (max-width: 599px){.show-mobile{display:block !important}}.show-tablet{display:none !important}@media (min-width: 600px) and (max-width: 768px){.show-tablet{display:block !important}}.show-desktop{display:none !important}@media (min-width: 769px){.show-desktop{display:block !important}}@media (max-width: 599px){.flex-mobile-column{display:flex !important;flex-direction:column !important}}@media (min-width: 600px) and (max-width: 768px){.flex-tablet-column{display:flex !important;flex-direction:column !important}}@media (max-width: 599px){h1{font-size:1.8rem !important}h2{font-size:1.5rem !important}h3{font-size:1.3rem !important}}.race-modern-page .container{max-width:100vw !important}:root{--tier-rookie: #2AB673;--tier-explorer: #00B4D8;--tier-pacer: #FF6B35;--tier-trailblazer: #DC143C;--tier-bronze: #CD7F32;--tier-silver: #A8A9AD;--tier-gold: #F2B300;--tier-platinum: #E5E4E2;--tier-obsidian: #434343;--tier-diamond: #7DD3FC}:root{--font-display: 'Clash Display', -apple-system, BlinkMacSystemFont, sans-serif;--font-body: 'Instrument Sans', -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: 'Space Mono', 'SF Mono', monospace;--color-primary: #FF6B35;--color-primary-dark: #ea580c;--color-primary-light: #FFF8F6;--color-primary-glow: rgba(255, 107, 53, 0.2);--color-teal: #4ECDC4;--color-teal-dark: #14B8A6;--color-gold: #FFD93D;--color-gold-dark: #F4A83D;--color-white: #FFFFFF;--color-bg: #F9FAFB;--color-bg-dark: #0F0F0F;--color-text: #1F2937;--color-text-secondary: #6B7280;--color-text-muted: #9CA3AF;--color-border: #E5E7EB;--color-border-light: #F3F4F6;--color-gray-50: #F9FAFB;--color-gray-100: #F3F4F6;--color-gray-200: #E5E7EB;--color-gray-300: #D1D5DB;--color-gray-400: #9CA3AF;--color-gray-500: #6B7280;--color-gray-600: #4B5563;--color-gray-700: #374151;--color-gray-800: #1F2937;--color-gray-900: #111827;--color-teal-light: #CCFBF1;--color-teal-glow: rgba(20, 184, 166, 0.3);--color-success: #10B981;--color-success-light: #D1FAE5;--color-error: #EF4444;--color-error-light: #FEE2E2;--color-warning: #F59E0B;--color-warning-light: #FEF3C7;--color-info: #3B82F6;--color-info-light: #DBEAFE;--color-run: #FF6B35;--color-bike: #3B82F6;--color-swim: #06B6D4;--color-strength: #8B5CF6;--color-yoga: #EC4899;--color-strava: #FC4C02;--color-strava-dark: #E34402;--color-strava-light: #FFF5F0;--tier-rookie: #45B7A8;--tier-explorer: #4ECDC4;--tier-pacer: #FF6B35;--tier-trailblazer: #DC143C;--tier-bronze: #CD7F32;--tier-silver: #A8A9AD;--tier-gold: #FFD93D;--tier-platinum: #E5E4E2;--tier-obsidian: #1A1A1A;--tier-diamond: #B9F2FF;--shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);--shadow-glow: 0 0 40px rgba(255, 107, 53, 0.15);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--transition-fast: 150ms ease-out;--transition-normal: 200ms ease-out;--transition-slow: 300ms ease-out;--color-surface: #FFFFFF;--glass-bg: rgba(249, 250, 251, 0.9);--glass-border: rgba(229, 231, 235, 0.5);--ease-out-expo: cubic-bezier(0.16, 1, 0.3, 1);--container-max-width: 1400px;--container-padding: var(--space-4);--sidebar-width: 320px}@media (min-width: 640px){:root{--container-padding: var(--space-6)}}.ft-page{font-family:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;font-size:16px;line-height:1.5;color:#1F2937;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.text-display{font-size:48px;line-height:1.1;font-weight:700;letter-spacing:-0.02em}.text-h1{font-size:32px;line-height:1.2;font-weight:700;letter-spacing:-0.01em}.text-h2{font-size:24px;line-height:1.25;font-weight:600}.text-h3{font-size:20px;line-height:1.3;font-weight:600}.text-h4{font-size:18px;line-height:1.4;font-weight:600}.text-body-lg{font-size:18px;line-height:1.6}.text-body{font-size:16px;line-height:1.5}.text-body-sm{font-size:14px;line-height:1.5}.text-caption{font-size:12px;line-height:1.4}.text-overline{font-size:11px;line-height:1.3;text-transform:uppercase;letter-spacing:0.5px;font-weight:600}.text-stat-hero{font-size:64px;line-height:1;font-weight:700;letter-spacing:-0.02em;font-variant-numeric:tabular-nums}.text-stat-lg{font-size:32px;line-height:1;font-weight:700;font-variant-numeric:tabular-nums}.text-stat-md{font-size:24px;line-height:1;font-weight:600;font-variant-numeric:tabular-nums}.text-stat-sm{font-size:18px;line-height:1;font-weight:600;font-variant-numeric:tabular-nums}.text-mono{font-family:"JetBrains Mono", "Fira Code", "SF Mono", Consolas, monospace}.text-bold{font-weight:700}.text-semibold{font-weight:600}.text-medium{font-weight:500}.text-normal{font-weight:400}@media (max-width: 639px){.text-display{font-size:36px}.text-h1{font-size:28px}.text-h2{font-size:22px}.text-stat-hero{font-size:48px}.text-stat-lg{font-size:28px}}.ft-page{min-height:100vh;background:#F9FAFB;overflow-x:hidden}.ft-page-minimal{min-height:100vh;background:#F9FAFB}.ft-container{max-width:1200px;margin:0 auto;padding:0 12px}@media (min-width: 1024px){.ft-container{padding:0 24px}}.ft-container--narrow{max-width:800px}.ft-container--full{max-width:none;padding:0}.ft-grid{display:grid;gap:12px}.ft-grid--2-col{grid-template-columns:repeat(2, 1fr)}.ft-grid--3-col{grid-template-columns:repeat(3, 1fr)}.ft-grid--4-col{grid-template-columns:repeat(4, 1fr)}.ft-grid--auto-fit{grid-template-columns:repeat(auto-fit, minmax(280px, 1fr))}.ft-grid--auto-fit-sm{grid-template-columns:repeat(auto-fit, minmax(200px, 1fr))}.ft-grid--gap-sm{gap:8px}.ft-grid--gap-lg{gap:16px}.ft-grid--gap-xl{gap:24px}@media (max-width: 639px){.ft-grid--2-col,.ft-grid--3-col,.ft-grid--4-col{grid-template-columns:1fr}}@media (min-width: 640px) and (max-width: 1023px){.ft-grid--3-col,.ft-grid--4-col{grid-template-columns:repeat(2, 1fr)}}.ft-layout{display:grid;gap:16px}@media (min-width: 1024px){.ft-layout{grid-template-columns:1fr 320px}}.ft-layout__main{min-width:0}.ft-layout__sidebar{display:flex;flex-direction:column;gap:12px}@media (max-width: 639px){.ft-layout__sidebar{order:-1}}@media (min-width: 1024px){.ft-layout--reversed{grid-template-columns:320px 1fr}}@media (min-width: 1024px){.ft-layout--wide-sidebar{grid-template-columns:1fr 380px}}.ft-section{margin-bottom:24px}.ft-section:last-child{margin-bottom:0}.ft-section__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.ft-section__title{font-size:20px;font-weight:600;color:#1F2937}.ft-section__action{font-size:14px;color:#FF6B35;text-decoration:none}.ft-section__action:hover{text-decoration:underline}.ft-flex{display:flex}.ft-flex--column{flex-direction:column}.ft-flex--wrap{flex-wrap:wrap}.ft-flex--center{align-items:center;justify-content:center}.ft-flex--between{justify-content:space-between}.ft-flex--gap-xs{gap:4px}.ft-flex--gap-sm{gap:8px}.ft-flex--gap-md{gap:12px}.ft-flex--gap-lg{gap:16px}.ft-stack{display:flex;flex-direction:column}.ft-stack--xs{gap:4px}.ft-stack--sm{gap:8px}.ft-stack--md{gap:12px}.ft-stack--lg{gap:16px}.ft-stack--xl{gap:24px}.ft-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:44px;padding:0 var(--space-5);border:none;border-radius:var(--radius-md);font-family:var(--font-body);font-size:0.9375rem;font-weight:600;text-decoration:none;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.ft-btn svg,.ft-btn i{width:18px;height:18px;flex-shrink:0}.ft-btn:disabled,.ft-btn.is-disabled{opacity:0.5;cursor:not-allowed;pointer-events:none}.ft-btn.is-loading{position:relative;color:transparent;pointer-events:none}.ft-btn.is-loading::after{content:'';position:absolute;width:18px;height:18px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:ft-btn-spin 0.8s linear infinite}@keyframes ft-btn-spin{to{transform:rotate(360deg)}}.ft-btn--primary{background:var(--color-primary);color:var(--color-white)}.ft-btn--primary:hover:not(:disabled){background:var(--color-primary-dark)}.ft-btn--primary:focus{outline:none;box-shadow:0 0 0 3px var(--color-primary-glow)}.ft-btn--primary:active:not(:disabled){transform:scale(0.98)}.ft-btn--secondary{background:var(--color-gray-100);color:var(--color-gray-700)}.ft-btn--secondary:hover:not(:disabled){background:var(--color-gray-200)}.ft-btn--secondary:focus{outline:none;box-shadow:0 0 0 3px rgba(156,163,175,0.3)}.ft-btn--ghost{background:transparent;color:var(--color-gray-600)}.ft-btn--ghost:hover:not(:disabled){background:var(--color-gray-100);color:var(--color-gray-800)}.ft-btn--ghost:focus{outline:none;box-shadow:0 0 0 3px rgba(156,163,175,0.2)}.ft-btn--outline{background:transparent;color:var(--color-primary);border:2px solid var(--color-primary)}.ft-btn--outline:hover:not(:disabled){background:var(--color-primary);color:var(--color-white)}.ft-btn--strava{background:var(--color-strava);color:var(--color-white)}.ft-btn--strava:hover:not(:disabled){background:var(--color-strava-dark)}.ft-btn--full{width:100%}.ft-btn--sm{height:36px;padding:0 var(--space-4);font-size:0.875rem}.ft-btn--sm svg,.ft-btn--sm i{width:16px;height:16px}.ft-btn--lg{height:52px;padding:0 var(--space-6);font-size:1rem}.ft-btn--lg svg,.ft-btn--lg i{width:20px;height:20px}.ft-btn--icon{width:44px;padding:0}.ft-btn--icon.ft-btn--sm{width:36px;height:36px}.ft-btn--icon.ft-btn--lg{width:52px}.ft-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-5)}.ft-section-header h2,.ft-section-header h3,.ft-section-header .ft-section-title{font-family:var(--font-display);font-size:1.25rem;font-weight:700;color:var(--color-text);margin:0}.ft-section-header h2{font-size:1.5rem}.ft-section-header.has-icon h2,.ft-section-header.has-icon h3,.ft-section-header.has-icon .ft-section-title{display:flex;align-items:center;gap:var(--space-2)}.ft-section-header.has-icon svg,.ft-section-header.has-icon i{width:20px;height:20px;color:var(--color-text-secondary)}.ft-section-header.compact{margin-bottom:var(--space-3)}.ft-section-header.compact h2,.ft-section-header.compact h3,.ft-section-header.compact .ft-section-title{font-size:1rem}.ft-view-all{font-size:0.875rem;color:var(--color-primary);font-weight:500;text-decoration:none;transition:color var(--transition-fast);display:inline-flex;align-items:center;gap:var(--space-1)}.ft-view-all:hover{color:var(--color-primary-dark);text-decoration:underline}.ft-view-all svg,.ft-view-all i{width:16px;height:16px}.ft-widget{background:var(--color-white);border-radius:var(--radius-xl);padding:var(--space-6);box-shadow:var(--shadow-sm);border:1px solid var(--color-border);transition:box-shadow var(--transition-normal)}.ft-widget:hover{box-shadow:var(--shadow-md)}.ft-widget.compact{padding:var(--space-4)}.ft-widget.static:hover{box-shadow:var(--shadow-sm)}.ft-widget-title{font-family:var(--font-display);font-size:1rem;font-weight:600;color:var(--color-text);margin:0 0 var(--space-4)}.ft-widget-footer{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.ft-activity-card{display:flex;gap:var(--space-4);padding:var(--space-5);background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:all var(--transition-fast);text-decoration:none;color:inherit}.ft-activity-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md)}.ft-activity-card.has-map .ft-activity-map{width:120px;height:80px;border-radius:var(--radius-md);overflow:hidden;flex-shrink:0}.ft-activity-card.has-map .ft-activity-map img{width:100%;height:100%;object-fit:cover}.ft-activity-card.horizontal{flex-direction:row;align-items:center}.ft-activity-card.compact{padding:var(--space-3);gap:var(--space-3)}.ft-activity-card.compact .ft-activity-icon{width:40px;height:40px}.ft-activity-icon{width:48px;height:48px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--color-gray-100);color:var(--color-gray-600)}.ft-activity-icon svg,.ft-activity-icon i{width:24px;height:24px}.ft-activity-icon.run{background:rgba(255,107,53,0.1);color:#FF6B35}.ft-activity-icon.bike{background:rgba(59,130,246,0.1);color:#3B82F6}.ft-activity-icon.swim{background:rgba(6,182,212,0.1);color:#06B6D4}.ft-activity-icon.strength{background:rgba(139,92,246,0.1);color:#8B5CF6}.ft-activity-icon.yoga{background:rgba(236,72,153,0.1);color:#EC4899}.ft-activity-icon.walk{background:rgba(78,205,196,0.1);color:#4ECDC4}.ft-activity-icon.hike{background:rgba(34,197,94,0.1);color:#22C55E}.ft-activity-content{flex:1;min-width:0}.ft-activity-title{font-weight:600;color:var(--color-text);margin:0 0 var(--space-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ft-activity-meta{font-size:0.875rem;color:var(--color-text-secondary);display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.ft-activity-meta .meta-divider{color:var(--color-border)}.ft-activity-stats{display:flex;gap:var(--space-4);margin-top:var(--space-3)}.ft-activity-stat{display:flex;flex-direction:column}.ft-activity-stat .stat-value{font-weight:600;color:var(--color-text)}.ft-activity-stat .stat-label{font-size:0.75rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:0.05em}.ft-source-badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px 8px;border-radius:var(--radius-sm);font-size:0.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:0.05em}.ft-source-badge.strava{background:var(--color-strava-light);color:var(--color-strava)}.ft-source-badge.manual{background:var(--color-gray-100);color:var(--color-gray-600)}.ft-source-badge.garmin{background:rgba(0,167,225,0.1);color:#00A7E1}.ft-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-10) var(--space-6);text-align:center;background:var(--color-white);border:2px dashed var(--color-border);border-radius:var(--radius-lg)}.ft-empty-state .ft-empty-icon{width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:var(--color-gray-100);border-radius:50%;margin-bottom:var(--space-4);color:var(--color-text-muted)}.ft-empty-state .ft-empty-icon svg,.ft-empty-state .ft-empty-icon i{width:32px;height:32px}.ft-empty-state .ft-empty-title{font-family:var(--font-display);font-size:1.125rem;font-weight:600;color:var(--color-text);margin:0 0 var(--space-2)}.ft-empty-state .ft-empty-description{font-size:0.9375rem;color:var(--color-text-secondary);max-width:320px;margin:0 0 var(--space-5)}.ft-empty-state.compact{padding:var(--space-6) var(--space-4)}.ft-empty-state.compact .ft-empty-icon{width:48px;height:48px}.ft-empty-state.compact .ft-empty-icon svg,.ft-empty-state.compact .ft-empty-icon i{width:24px;height:24px}.ft-empty-state.compact .ft-empty-title{font-size:1rem}.ft-empty-state.compact .ft-empty-description{font-size:0.875rem}.ft-loading-spinner{display:flex;align-items:center;justify-content:center;padding:var(--space-8)}.ft-loading-spinner .spinner{width:32px;height:32px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:ft-spin 0.8s linear infinite}.ft-loading-spinner.inline{display:inline-flex;padding:0}.ft-loading-spinner.inline .spinner{width:16px;height:16px;border-width:2px}@keyframes ft-spin{to{transform:rotate(360deg)}}.ft-skeleton,.ft-skeleton-circle,.ft-skeleton-text{background:linear-gradient(90deg, var(--color-gray-100) 0%, var(--color-gray-200) 50%, var(--color-gray-100) 100%);background-size:200% 100%;animation:ft-skeleton-shimmer 1.5s infinite;border-radius:var(--radius-sm)}@keyframes ft-skeleton-shimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}.ft-skeleton-text{height:1em;margin-bottom:var(--space-2)}.ft-skeleton-text:last-child{width:60%}.ft-skeleton-circle{border-radius:50%}.ft-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;background:var(--color-gray-200)}.ft-avatar.ft-avatar--sm{width:32px;height:32px}.ft-avatar.ft-avatar--lg{width:56px;height:56px}.ft-avatar.ft-avatar--xl{width:80px;height:80px}.ft-avatar-stack{display:flex}.ft-avatar-stack .ft-avatar{border:2px solid var(--color-white);margin-left:-8px}.ft-avatar-stack .ft-avatar:first-child{margin-left:0}.ft-avatar-stack .ft-avatar-more{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--color-gray-100);border:2px solid var(--color-white);margin-left:-8px;font-size:0.75rem;font-weight:600;color:var(--color-text-secondary)}.ft-stat-card{display:flex;flex-direction:column;padding:var(--space-4);background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.ft-stat-card .ft-stat-value{font-family:var(--font-display);font-size:1.75rem;font-weight:700;color:var(--color-text);line-height:1.2}.ft-stat-card .ft-stat-unit{font-size:0.875rem;color:var(--color-text-secondary);font-weight:500}.ft-stat-card .ft-stat-label{font-size:0.75rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:0.05em;margin-top:var(--space-1)}.ft-badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:4px 10px;border-radius:var(--radius-full);font-size:0.75rem;font-weight:600}.ft-badge.ft-badge--pr{background:var(--color-gold);color:#92400e}.ft-badge.ft-badge--xp{background:var(--color-primary-light);color:var(--color-primary)}.ft-badge.ft-badge--new{background:var(--color-success-light);color:var(--color-success)}.ft-xp-earned{display:inline-flex;align-items:center;gap:var(--space-1);font-size:0.875rem;font-weight:600;color:var(--color-primary)}.ft-xp-earned::before{content:'+'}.activity-card{position:relative;display:flex;flex-direction:column;background:var(--color-white);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);border:1px solid transparent;transition:all var(--transition-normal);text-decoration:none;color:inherit}.activity-card:hover{box-shadow:var(--shadow-md);border-color:rgba(255,107,53,0.15);transform:translateY(-2px)}.activity-card.horizontal{flex-direction:row;align-items:center;gap:var(--space-4);padding:var(--space-4)}.activity-card--with-map .activity-card__map-thumbnail{width:100%;height:160px;position:relative;background:var(--color-border-light);flex-shrink:0;overflow:hidden;border-radius:var(--radius-md) var(--radius-md) 0 0}.activity-card--with-map .activity-card__map-thumbnail img{width:100%;height:100%;object-fit:cover}.activity-card--with-map .activity-card__map-thumbnail .activity-mini-map{width:100%;height:100%;background:linear-gradient(135deg, var(--color-border-light) 0%, var(--color-bg) 100%)}.activity-card--with-map .activity-card__map-thumbnail .activity-mini-map .leaflet-container{background:transparent}.activity-card--with-map .activity-card__map-thumbnail .activity-mini-map .leaflet-tile-pane{opacity:1}.activity-card--with-map .activity-card__map-thumbnail .source-badge{position:absolute;top:var(--space-2);right:var(--space-2);font-size:0.625rem;font-weight:700;letter-spacing:0.05em;padding:4px 8px;border-radius:var(--radius-sm);flex-shrink:0;z-index:400}.activity-card--with-map .activity-card__map-thumbnail .source-badge.strava{background:var(--color-strava);color:white}.activity-card--with-map .activity-card__map-thumbnail .source-badge.manual{background:var(--color-border-light);color:var(--color-text-secondary)}.activity-card--with-map.horizontal .activity-card__map-thumbnail{width:100px;height:80px;border-radius:var(--radius-md) 0 0 var(--radius-md)}.activity-card__header{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);padding-bottom:var(--space-2)}.horizontal .activity-card__header{padding:0;flex:1;min-width:0}.activity-card__icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--color-primary-light);border-radius:var(--radius-md);color:var(--color-primary);flex-shrink:0;transition:all var(--transition-fast)}.activity-card__icon svg{width:20px;height:20px}.activity-card__icon.run{background:var(--color-primary-light);color:var(--color-primary)}.activity-card__icon.strength{background:#F3E8FF;color:#7C3AED}.activity-card__icon.bike{background:#DBEAFE;color:#1D4ED8}.activity-card__icon.swim{background:#CFFAFE;color:#0891B2}.activity-card__icon.yoga{background:#FCE7F3;color:#DB2777}.activity-card:hover .activity-card__icon{transform:scale(1.05)}.activity-card__title-group{flex:1;min-width:0}.activity-card__title{font-family:var(--font-display);font-size:1rem;font-weight:600;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:2px}.activity-card__date{font-size:0.875rem;color:var(--color-text-muted)}.activity-card__stats{display:flex;gap:var(--space-4);padding:0 var(--space-4) var(--space-2);flex-wrap:wrap}.horizontal .activity-card__stats{padding:0;gap:var(--space-3)}.activity-card__stat{display:flex;align-items:baseline;gap:2px}.activity-card__stat .stat-value{font-family:var(--font-mono);font-size:0.9375rem;font-weight:600;color:var(--color-text)}.activity-card__stat .stat-unit{font-size:0.75rem;color:var(--color-text-muted)}.activity-card__stat.primary .stat-value{font-size:1.125rem;color:var(--color-primary)}.activity-card__stat.muted .stat-value{font-size:0.8125rem;color:var(--color-text-secondary)}.activity-card__badges{display:flex;gap:var(--space-2);padding:0 var(--space-4) var(--space-4);flex-wrap:wrap}.horizontal .activity-card__badges{padding:0}.activity-badge{font-size:0.6875rem;font-weight:500;padding:2px 8px;border-radius:var(--radius-full)}.activity-badge.pr{background:linear-gradient(135deg, var(--color-gold) 0%, var(--color-gold-dark) 100%);color:#1A1A1A;font-weight:700;box-shadow:0 0 8px rgba(255,217,61,0.3)}.activity-badge.tempo{background:#FEF3C7;color:#B45309}.activity-badge.long{background:#DBEAFE;color:#1D4ED8}.activity-badge.easy{background:#D1FAE5;color:#059669}.activity-badge.hr{background:#FEE2E2;color:#DC2626}.activity-badge.elev{background:#D1FAE5;color:#059669}.activity-badge.default{background:var(--color-border-light);color:var(--color-text-secondary)}.activity-card__footer{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border-light);margin-top:auto}.horizontal .activity-card__footer{padding:0;border-top:none;margin-top:0}.activity-card__meta{display:flex;align-items:center;gap:var(--space-2);font-size:0.75rem;color:var(--color-text-muted)}.activity-card__meta svg{width:14px;height:14px}.activity-card__xp{display:inline-flex;align-items:center;gap:4px;font-family:var(--font-mono);font-weight:700;font-size:0.8125rem;color:var(--color-gold-dark);background:linear-gradient(135deg, rgba(255,217,61,0.12) 0%, rgba(244,168,61,0.08) 100%);padding:4px var(--space-2);border-radius:var(--radius-sm);letter-spacing:-0.02em}.activity-card--compact{padding:var(--space-3)}.activity-card--compact .activity-card__header{padding:0 0 var(--space-2)}.activity-card--compact .activity-card__icon{width:32px;height:32px}.activity-card--compact .activity-card__icon svg{width:16px;height:16px}.activity-card--compact .activity-card__title{font-size:0.875rem}.activity-card--compact .activity-card__stats{padding:0 0 var(--space-2);gap:var(--space-3)}.activity-card--compact .activity-card__stat .stat-value{font-size:0.8125rem}.activity-card--compact .activity-card__badges{padding:0}.activity-card--loading{pointer-events:none}.activity-card--loading .activity-card__title,.activity-card--loading .activity-card__date,.activity-card--loading .activity-card__stat{background:var(--color-border-light);color:transparent;border-radius:var(--radius-sm);animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,100%{opacity:1}50%{opacity:0.5}}@media (max-width: 640px){.activity-card{flex-direction:row;align-items:center;gap:var(--space-3);padding:var(--space-3)}.activity-card--with-map .activity-card__map-thumbnail{width:80px;height:64px}.activity-card__header{padding:0;flex:1;min-width:0}.activity-card__stats{padding:0;gap:var(--space-2)}.activity-card__badges{padding:0}.activity-card__footer{padding:0;border-top:none}}.activity-card{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;transition:all var(--transition-normal);background:var(--color-white)}.activity-card:hover{border-color:var(--color-border);box-shadow:var(--shadow-md);transform:translateY(-2px)}.activity-card.has-map.horizontal{display:flex;flex-direction:row;padding:0;gap:0;align-items:stretch}.activity-map{position:relative;width:160px;min-height:120px;background:var(--color-border-light);overflow:hidden;flex-shrink:0}.activity-map .activity-mini-map{width:100%;height:100%;min-height:120px;background:linear-gradient(135deg, var(--color-border-light) 0%, var(--color-bg) 100%)}.source-badge{position:absolute;top:var(--space-2);right:var(--space-2);padding:var(--space-1) var(--space-2);font-size:0.625rem;font-weight:700;letter-spacing:0.05em;border-radius:var(--radius-sm);z-index:1000}.source-badge.strava{background:var(--color-strava);color:white}.source-badge.manual{background:rgba(255,255,255,0.95);color:var(--color-text-secondary)}.activity-content{flex:1;padding:var(--space-4);display:flex;flex-direction:column;justify-content:center}.activity-header{display:flex;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-3)}.activity-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);flex-shrink:0}.activity-icon.run{background:var(--color-primary-light);color:var(--color-primary)}.activity-icon.strength{background:rgba(139,92,246,0.15);color:#7C3AED}.activity-icon.bike,.activity-icon.ride{background:#DBEAFE;color:#1D4ED8}.activity-icon.swim{background:#CFFAFE;color:#0891B2}.activity-icon.yoga{background:#FCE7F3;color:#DB2777}.activity-icon svg{width:18px;height:18px}.activity-title-group{flex:1;min-width:0}.activity-title{font-family:var(--font-display);font-size:1rem;font-weight:600;color:var(--color-text);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.activity-date{font-size:0.8125rem;color:var(--color-text-muted)}.activity-stats{display:flex;gap:var(--space-5);margin-bottom:var(--space-3)}.activity-stats .stat{display:flex;align-items:baseline;gap:var(--space-1)}.activity-stats .stat-value{font-family:var(--font-mono);font-size:1.125rem;font-weight:600;color:var(--color-text)}.activity-stats .stat-unit{font-size:0.75rem;color:var(--color-text-muted)}.activity-meta{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-2)}.activity-location{font-size:0.8125rem;color:var(--color-text-muted)}.activity-badges{display:flex;gap:var(--space-2);margin-left:auto}.data-badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);font-size:0.75rem;font-weight:500;background:var(--color-border-light);border-radius:var(--radius-sm);color:var(--color-text-secondary)}.data-badge.hr{background:#FEE2E2;color:#991B1B}.data-badge.elev{background:#DBEAFE;color:#1E40AF}.activity-card-link{text-decoration:none;color:inherit;display:block}.activity-history-page{padding:var(--space-8) 0;background:var(--color-bg);min-height:60vh}.history-container{width:100%;max-width:var(--container-max-width);margin:0 auto;padding:0 var(--container-padding);display:grid;grid-template-columns:1fr;gap:var(--space-6)}@media (min-width: 1024px){.history-container{grid-template-columns:1fr var(--sidebar-width)}}.stats-overview{grid-column:1 / -1;position:relative;display:flex;gap:var(--space-4);padding:var(--space-6);background:linear-gradient(145deg, #0F0F0F 0%, #1a1a2e 60%, #16213e 100%);border-radius:var(--radius-xl);border:1px solid rgba(255,255,255,0.08);box-shadow:0 8px 32px rgba(0,0,0,0.3);overflow:hidden}.stats-overview .stats-overview-glow{position:absolute;inset:0;background:radial-gradient(ellipse at 20% 0%, rgba(255,107,53,0.12) 0%, transparent 50%),radial-gradient(ellipse at 80% 100%, rgba(78,205,196,0.08) 0%, transparent 50%);pointer-events:none}.stats-overview::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 20% 0%, rgba(255,107,53,0.12) 0%, transparent 50%),radial-gradient(ellipse at 80% 100%, rgba(78,205,196,0.08) 0%, transparent 50%);pointer-events:none}@media (max-width: 639px){.stats-overview{flex-wrap:wrap}}.stats-overview .stat-card{position:relative;z-index:1;display:flex;align-items:center;gap:var(--space-3);flex:1;min-width:140px;padding:var(--space-4);background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.08);border-radius:var(--radius-lg);transition:all 0.2s ease}.stats-overview .stat-card:hover{background:rgba(255,255,255,0.08);border-color:rgba(255,255,255,0.12);transform:translateY(-2px)}.stats-overview .stat-card.highlight{background:rgba(255,107,53,0.1);border-color:rgba(255,107,53,0.2)}@media (max-width: 639px){.stats-overview .stat-card{flex:1 1 calc(50% - var(--space-2))}}.stats-overview .stat-card.streak-card{position:relative;background:linear-gradient(135deg, rgba(255,107,53,0.12) 0%, rgba(255,69,0,0.08) 50%, rgba(255,217,61,0.06) 100%);border-color:rgba(255,107,53,0.25);overflow:visible}.stats-overview .stat-card.streak-card::before{content:'';position:absolute;inset:-1px;border-radius:inherit;padding:1px;background:linear-gradient(135deg, rgba(255,107,53,0.4) 0%, rgba(255,217,61,0.2) 100%);-webkit-mask:linear-gradient(white 0 0) content-box,linear-gradient(white 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.stats-overview .streak-flame-wrap{position:relative;width:48px;height:48px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stats-overview .streak-flame-glow{position:absolute;inset:-4px;background:radial-gradient(circle, rgba(255,107,53,0.5) 0%, rgba(255,69,0,0.2) 40%, transparent 70%);border-radius:50%;animation:flame-glow 2s ease-in-out infinite;filter:blur(8px)}@keyframes flame-glow{0%,100%{opacity:0.6;transform:scale(1)}50%{opacity:1;transform:scale(1.15)}}.stats-overview .streak-flame-icon{position:relative;z-index:1;animation:flame-dance 1.5s ease-in-out infinite;filter:drop-shadow(0 0 8px rgba(255,107,53,0.6))}@keyframes flame-dance{0%,100%{transform:scale(1) rotate(0deg)}25%{transform:scale(1.05) rotate(-2deg)}50%{transform:scale(1.08) rotate(0deg)}75%{transform:scale(1.05) rotate(2deg)}}.stats-overview .streak-number{font-family:var(--font-display);font-size:2rem;font-weight:700;line-height:1;background:linear-gradient(180deg, white 0%, #FF6B35 60%, #E55A2B 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-0.02em;animation:number-pulse 2s ease-in-out infinite}@keyframes number-pulse{0%,100%{opacity:1;filter:brightness(1)}50%{opacity:1;filter:brightness(1.1)}}.stats-overview .stat-card.streak-card .stat-label{color:rgba(255,255,255,0.7);font-weight:600;letter-spacing:0.08em}.stats-overview .stat-icon-wrap{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,0.08);border-radius:var(--radius-md);color:rgba(255,255,255,0.7);flex-shrink:0}.stat-card.highlight .stats-overview .stat-icon-wrap{background:rgba(255,107,53,0.2);color:var(--color-primary)}.stats-overview .stat-content{display:flex;flex-direction:column;min-width:0}.stats-overview .stat-number{font-family:var(--font-display);font-size:1.375rem;font-weight:700;color:var(--color-white);line-height:1.2;letter-spacing:-0.02em}.stat-card.highlight .stats-overview .stat-number{background:linear-gradient(135deg, white 0%, #FFD93D 50%, #FF6B35 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.stats-overview .stat-card .stat-label{font-size:0.6875rem;font-weight:500;color:rgba(255,255,255,0.7);text-transform:uppercase;letter-spacing:0.5px}.filters-bar{grid-column:1;display:flex;gap:var(--space-4);align-items:flex-end;padding:var(--space-4);background:white;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-wrap:wrap}.filters-bar .filters-form{display:flex;gap:var(--space-4);align-items:flex-end;flex-wrap:wrap;flex:1}.filter-group{display:flex;flex-direction:column;gap:var(--space-1)}.filter-label{font-size:0.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:0.05em;color:var(--color-text-muted)}.filter-select{padding:var(--space-2) var(--space-3);padding-right:var(--space-8);font-size:0.875rem;color:var(--color-text);background:var(--color-border-light);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;min-width:140px}.filter-select:focus{outline:none;border-color:var(--color-primary)}.activity-list-section{grid-column:1}.month-group{margin-bottom:var(--space-8)}.month-header{display:flex;align-items:center;gap:var(--space-3);font-family:var(--font-display);font-size:0.8125rem;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;color:var(--color-text);padding:var(--space-4) 0;margin-bottom:var(--space-4)}.month-header::before{content:'';width:4px;height:20px;background:linear-gradient(180deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);border-radius:2px;flex-shrink:0}.month-header::after{content:'';flex:1;height:1px;background:linear-gradient(90deg, var(--color-border) 0%, transparent 100%);margin-left:var(--space-3)}.activity-row{display:grid;grid-template-columns:60px 48px 1fr 120px 80px 40px;gap:var(--space-4);align-items:center;padding:var(--space-4);background:white;border-radius:var(--radius-lg);margin-bottom:var(--space-3);box-shadow:var(--shadow-sm);border:1px solid transparent;transition:all 0.2s ease}.activity-row:hover{box-shadow:0 4px 20px rgba(0,0,0,0.08);border-color:rgba(255,107,53,0.15);transform:translateX(4px)}.activity-date-col{text-align:center}.activity-day{display:block;font-family:var(--font-display);font-size:1.5rem;font-weight:700;color:var(--color-text);line-height:1}.activity-weekday{font-size:0.75rem;color:var(--color-text-muted);text-transform:uppercase}.activity-icon-col{display:flex;justify-content:center}.activity-type-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--color-primary-light);border-radius:var(--radius-md);color:var(--color-primary);transition:all 0.2s ease}.activity-type-icon svg{width:20px;height:20px}.activity-type-icon.strength{background:#F3E8FF;color:#7C3AED}.activity-type-icon.tempo{background:#FEF3C7;color:#B45309}.activity-type-icon.long{background:#DBEAFE;color:#1D4ED8}.activity-row:hover .activity-type-icon{transform:scale(1.05)}.activity-main-col{min-width:0}.activity-header-row{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-2)}.activity-name{font-family:var(--font-display);font-size:1rem;font-weight:600;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.activity-source{font-size:0.625rem;font-weight:700;letter-spacing:0.05em;padding:2px 6px;border-radius:var(--radius-sm);flex-shrink:0}.activity-source.strava{background:#FFF0EB;color:var(--color-strava)}.activity-source.manual{background:var(--color-border-light);color:var(--color-text-secondary)}.activity-stats-row{display:flex;gap:var(--space-4);margin-bottom:var(--space-2);flex-wrap:wrap}.activity-stat{display:flex;align-items:baseline;gap:2px}.activity-stat .stat-val{font-family:var(--font-mono);font-size:0.9375rem;font-weight:600;color:var(--color-text)}.activity-stat .stat-unit{font-size:0.75rem;color:var(--color-text-muted)}.activity-stat.muted .stat-val{font-size:0.8125rem;color:var(--color-text-secondary)}.activity-stat.highlight .stat-val{color:var(--color-primary)}.activity-tags{display:flex;gap:var(--space-2);flex-wrap:wrap}.activity-tag{font-size:0.6875rem;font-weight:500;padding:2px 8px;background:var(--color-border-light);color:var(--color-text-secondary);border-radius:var(--radius-full)}.activity-tag.tempo{background:#FEF3C7;color:#B45309}.activity-tag.long{background:#DBEAFE;color:#1D4ED8}.activity-tag.pr{background:linear-gradient(135deg, #FFD93D 0%, #F4A83D 100%);color:#1A1A1A;font-weight:700;box-shadow:0 0 8px rgba(255,215,0,0.3)}.activity-map-col{justify-self:center}.activity-mini-map{width:100px;height:60px;border-radius:var(--radius-sm);overflow:hidden;background:var(--color-border-light)}.activity-mini-map img{width:100%;height:100%;object-fit:cover}.activity-xp-col{text-align:right}.xp-earned{display:inline-block;font-family:var(--font-mono);font-weight:700;font-size:0.8125rem;color:#F4A83D;background:linear-gradient(135deg, rgba(255,217,61,0.12) 0%, rgba(244,168,61,0.08) 100%);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);letter-spacing:-0.02em}.activity-actions-col{justify-self:center}.btn-icon-small{width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:var(--color-text-muted);border-radius:var(--radius-full);transition:all var(--transition-fast)}.btn-icon-small:hover{background:var(--color-border-light);color:var(--color-primary)}.pagination{display:flex;justify-content:center;align-items:center;gap:var(--space-4);margin-top:var(--space-6)}.page-numbers{display:flex;gap:var(--space-1)}.page-num{width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:0.875rem;font-weight:500;color:var(--color-text-secondary);border-radius:var(--radius-md);transition:all var(--transition-fast)}.page-num:hover{background:var(--color-border-light);color:var(--color-text)}.page-num.active{background:var(--color-primary);color:white}.page-ellipsis{color:var(--color-text-muted);padding:0 var(--space-2)}.history-sidebar{grid-column:2;grid-row:2 / 4;display:flex;flex-direction:column;gap:var(--space-5)}@media (max-width: 639px){.history-sidebar{grid-column:1;grid-row:auto;display:grid;grid-template-columns:1fr}}@media (min-width: 640px) and (max-width: 1023px){.history-sidebar{grid-column:1;grid-row:auto;display:grid;grid-template-columns:repeat(3, 1fr);gap:var(--space-4)}}.monthly-widget .widget-title{font-family:var(--font-display);font-size:0.9375rem;font-weight:600;color:var(--color-text);margin-bottom:var(--space-4)}.monthly-chart{margin-bottom:var(--space-4)}.chart-bars{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-2);height:80px;padding:var(--space-2);background:var(--color-bg);border-radius:var(--radius-md)}.chart-bar{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;min-height:20px;background:linear-gradient(180deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);border-radius:var(--radius-sm) var(--radius-sm) 0 0;transition:all 0.3s ease;position:relative}.chart-bar span{position:absolute;bottom:-20px;font-size:0.625rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:0.02em}.chart-bar.active{background:linear-gradient(180deg, var(--color-teal) 0%, var(--color-teal-dark) 100%);box-shadow:0 0 12px rgba(78,205,196,0.4)}.chart-bar.active span{color:var(--color-teal);font-weight:700}.chart-bar:hover{filter:brightness(1.1);transform:scaleY(1.05)}.monthly-stats{display:grid;grid-template-columns:repeat(3, 1fr);gap:var(--space-2);padding-top:var(--space-5);border-top:1px solid var(--color-border-light)}.monthly-stat{display:flex;flex-direction:column;align-items:center;text-align:center}.monthly-label{font-size:0.6875rem;font-weight:500;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:0.02em;margin-bottom:var(--space-1)}.monthly-value{font-family:var(--font-display);font-size:1rem;font-weight:700;color:var(--color-text)}.widget.dark-widget{position:relative;background:linear-gradient(180deg, #0F0F0F 0%, #1a1a2e 100%);border:1px solid rgba(255,255,255,0.08);overflow:hidden}.dark-widget-glow{position:absolute;top:0;left:0;right:0;height:150px;background:radial-gradient(ellipse at 30% 0%, rgba(255,107,53,0.1) 0%, transparent 60%),radial-gradient(ellipse at 70% 0%, rgba(78,205,196,0.06) 0%, transparent 50%);pointer-events:none}.widget.dark-widget .widget-header{position:relative;z-index:1;display:flex;align-items:center;gap:var(--space-2);padding-bottom:var(--space-4);border-bottom:1px solid rgba(255,255,255,0.08);margin-bottom:var(--space-4);color:rgba(255,255,255,0.7)}.widget.dark-widget .widget-title{font-family:var(--font-display);font-size:0.9375rem;font-weight:600;color:var(--color-white);margin:0}.widget.pr-widget.dark-widget .pr-list{position:relative;z-index:1;display:flex;flex-direction:column;gap:var(--space-2)}.widget.pr-widget.dark-widget .pr-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2);background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.06);border-radius:var(--radius-md);transition:all 0.2s ease}.widget.pr-widget.dark-widget .pr-item:hover{background:rgba(255,255,255,0.08);border-color:rgba(255,255,255,0.1)}.widget.pr-widget.dark-widget .pr-item.new{background:rgba(255,217,61,0.08);border-color:rgba(255,217,61,0.15)}.widget.pr-widget.dark-widget .pr-distance{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);color:white;font-family:var(--font-display);font-weight:700;font-size:0.75rem;border-radius:var(--radius-md);flex-shrink:0}.widget.pr-widget.dark-widget .pr-distance.gold{background:linear-gradient(135deg, #FFD93D 0%, #F4A83D 100%);color:#1A1A1A;box-shadow:0 0 12px rgba(255,215,0,0.3)}.widget.pr-widget.dark-widget .pr-distance svg{width:18px;height:18px}.widget.pr-widget.dark-widget .pr-info{flex:1;display:flex;flex-direction:column}.widget.pr-widget.dark-widget .pr-time{font-family:var(--font-mono);font-size:0.9375rem;font-weight:600;color:var(--color-white);line-height:1.2}.widget.pr-widget.dark-widget .pr-date,.widget.pr-widget.dark-widget .pr-label{font-size:0.6875rem;color:rgba(255,255,255,0.5);line-height:1.2}.widget.pr-widget.dark-widget .pr-badge{display:inline-block;font-size:0.5625rem;font-weight:700;color:#1A1A1A;background:linear-gradient(135deg, #FFD93D 0%, #F4A83D 100%);padding:2px 6px;border-radius:var(--radius-sm);margin-left:var(--space-2);letter-spacing:0.5px}@media (max-width: 1200px){.activity-row{grid-template-columns:50px 40px 1fr 80px 40px}.activity-map-col{display:none}}@media (max-width: 768px){.stats-overview{flex-wrap:wrap}.stat-card{flex:1 1 calc(50% - var(--space-2))}.filters-bar{flex-direction:column;align-items:stretch}.filters-bar .filters-form{flex-direction:column;align-items:stretch}.filter-group{width:100%}.filter-select{width:100%}.activity-row{grid-template-columns:50px 1fr 60px;gap:var(--space-3)}.activity-icon-col,.activity-xp-col{display:none}.activity-stats-row{gap:var(--space-3)}.pagination{flex-wrap:wrap}}@media (max-width: 480px){.stat-card{flex:1 1 100%}.activity-row{grid-template-columns:1fr;gap:var(--space-2);position:relative}.activity-date-col{display:flex;align-items:center;gap:var(--space-2);text-align:left;padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border-light)}.activity-day{font-size:1.25rem}.activity-actions-col{position:absolute;top:var(--space-3);right:var(--space-3)}}.activity-detail-page .floating-nav{position:fixed;top:var(--space-6);left:var(--space-6);right:var(--space-6);z-index:1001;display:flex;justify-content:space-between;align-items:center;pointer-events:none}.activity-detail-page .floating-nav .nav-back,.activity-detail-page .floating-nav .nav-actions{pointer-events:auto;background:rgba(255,255,255,0.95);backdrop-filter:blur(12px);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}@media (max-width: 768px){.activity-detail-page .floating-nav{top:var(--space-4);left:var(--space-4);right:var(--space-4)}}.activity-detail-page .nav-back{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:rgba(255,255,255,0.95);backdrop-filter:blur(12px);border-radius:var(--radius-md);box-shadow:var(--shadow-md);color:var(--color-text);transition:var(--transition-fast)}.activity-detail-page .nav-back:hover{transform:translateX(-2px);box-shadow:var(--shadow-lg)}.activity-detail-page .nav-actions{display:flex;gap:var(--space-2);background:rgba(255,255,255,0.95);backdrop-filter:blur(12px);padding:var(--space-1);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.activity-detail-page .nav-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;background:transparent;color:var(--color-text-secondary);border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-fast)}.activity-detail-page .nav-btn:hover{background:var(--color-bg);color:var(--color-text)}.activity-detail-page .nav-avatar{width:40px;height:40px;border-radius:50%;overflow:hidden;margin-left:var(--space-2);border:2px solid var(--color-primary);transition:var(--transition-fast)}.activity-detail-page .nav-avatar img{width:100%;height:100%;object-fit:cover}.activity-detail-page .nav-avatar:hover{transform:scale(1.05);box-shadow:0 0 0 3px var(--color-primary-glow)}.activity-detail-page .nav-dropdown-wrapper{position:relative}.activity-detail-page .nav-dropdown{position:absolute;top:calc(100% + var(--space-2));right:0;min-width:180px;background:var(--color-white);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);border:1px solid var(--color-border);padding:var(--space-2);z-index:100;opacity:0;transform:translateY(-8px);transition:opacity 0.2s ease, transform 0.2s ease}.activity-detail-page .nav-dropdown.active{opacity:1;transform:translateY(0)}.activity-detail-page .dropdown-item{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-3);background:transparent;border:none;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:0.875rem;font-weight:500;color:var(--color-text);cursor:pointer;transition:var(--transition-fast);text-align:left}.activity-detail-page .dropdown-item svg{flex-shrink:0;color:var(--color-text-muted)}.activity-detail-page .dropdown-item:hover{background:var(--color-bg)}.activity-detail-page .dropdown-item.danger{color:#DC2626}.activity-detail-page .dropdown-item.danger svg{color:#DC2626}.activity-detail-page .dropdown-item.danger:hover{background:#FEF2F2}.activity-detail-page .hero-map{position:relative;height:50vh;min-height:320px;max-height:480px;background:linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%);overflow:hidden}@media (min-width: 1024px){.activity-detail-page .hero-map{height:55vh;max-height:560px}}@media (max-width: 768px){.activity-detail-page .hero-map{height:40vh;min-height:280px}}.activity-detail-page .map-container{position:absolute;inset:0;width:100%;height:100%}.activity-detail-page .activity-hero-map{width:100%;height:100%;background:#1a1a2e}.activity-detail-page .activity-hero-map .leaflet-control-attribution{display:none}.activity-detail-page .map-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);color:rgba(255,255,255,0.5)}.activity-detail-page .map-placeholder svg{opacity:0.6}.activity-detail-page .map-placeholder p{font-size:0.875rem;margin:0}.activity-detail-page .route-svg{width:100%;height:100%;opacity:0;animation:fadeIn 1s cubic-bezier(0.16, 1, 0.3, 1) 0.3s forwards}.activity-detail-page .route-path{stroke-dasharray:1000;stroke-dashoffset:1000;animation:drawRoute 2s cubic-bezier(0.16, 1, 0.3, 1) 0.5s forwards}@keyframes drawRoute{to{stroke-dashoffset:0}}@keyframes fadeIn{to{opacity:1}}.activity-detail-page .marker-start,.activity-detail-page .marker-end{opacity:0;animation:popIn 0.4s cubic-bezier(0.16, 1, 0.3, 1) forwards}.activity-detail-page .marker-start{animation-delay:1.8s}.activity-detail-page .marker-end{animation-delay:2s}.activity-detail-page .marker-pulse{animation:pulse 2s ease-in-out infinite 2.2s}@keyframes pulse{0%,100%{transform:scale(1);opacity:0.5}50%{transform:scale(1.3);opacity:0}}@keyframes popIn{0%{transform:scale(0);opacity:0}100%{transform:scale(1);opacity:1}}.activity-detail-page .activity-type-badge{position:absolute;bottom:var(--space-10);left:50%;transform:translateX(-50%) translateY(20px);width:72px;height:72px;display:flex;align-items:center;justify-content:center;background:white;border-radius:50%;box-shadow:var(--shadow-lg),var(--shadow-glow);color:var(--color-primary);opacity:0;animation:floatUp 0.6s cubic-bezier(0.16, 1, 0.3, 1) 0.8s forwards}@keyframes floatUp{to{opacity:1;transform:translateX(-50%) translateY(0)}}.activity-detail-page .activity-layout{padding:var(--space-10) var(--space-6) var(--space-16)}.activity-detail-page .activity-container{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:1fr 340px;gap:var(--space-10);align-items:start}@media (max-width: 1024px){.activity-detail-page .activity-container{grid-template-columns:1fr;max-width:720px}}.activity-detail-page .activity-main{min-width:0}.activity-detail-page .activity-sidebar{position:sticky;top:100px;display:flex;flex-direction:column;gap:var(--space-6)}@media (max-width: 1024px){.activity-detail-page .activity-sidebar{position:static;display:grid;grid-template-columns:repeat(2, 1fr);gap:var(--space-4)}}@media (max-width: 768px){.activity-detail-page .activity-sidebar{grid-template-columns:1fr}}.activity-detail-page .stats-showcase{display:grid;grid-template-columns:repeat(4, 1fr);gap:var(--space-4);margin-bottom:var(--space-10)}@media (max-width: 768px){.activity-detail-page .stats-showcase{grid-template-columns:repeat(2, 1fr)}}.activity-detail-page .stat-card{background:var(--color-white);border-radius:var(--radius-lg);padding:var(--space-6);text-align:center;box-shadow:var(--shadow-sm);border:1px solid var(--color-border);transition:var(--transition-normal)}.activity-detail-page .stat-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.activity-detail-page .stat-card.hero-stat{grid-column:1;background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);border:none;color:white}@media (max-width: 768px){.activity-detail-page .stat-card.hero-stat{grid-column:1 / -1}}.activity-detail-page .stat-number{display:flex;align-items:baseline;justify-content:center;gap:4px;margin-bottom:var(--space-1)}.activity-detail-page .stat-value{font-family:var(--font-display);font-size:1.75rem;font-weight:600;letter-spacing:-0.02em;color:var(--color-text)}.activity-detail-page .stat-card.hero-stat .stat-value{color:white}.activity-detail-page .stat-unit{font-family:var(--font-mono);font-size:0.75rem;font-weight:500;color:var(--color-text-muted)}.activity-detail-page .stat-card.hero-stat .stat-unit{color:rgba(255,255,255,0.7)}.activity-detail-page .stat-label{font-size:0.75rem;font-weight:500;text-transform:uppercase;letter-spacing:0.08em;color:var(--color-text-muted)}.activity-detail-page .stat-card.hero-stat .stat-label{color:rgba(255,255,255,0.8)}.activity-detail-page .metrics-strip{display:flex;background:var(--color-white);border-radius:var(--radius-xl);border:1px solid var(--color-border);overflow:hidden;margin-bottom:var(--space-6);box-shadow:var(--shadow-sm)}@media (max-width: 640px){.activity-detail-page .metrics-strip{flex-direction:column}}.activity-detail-page .metric-block{flex:1;display:flex}.activity-detail-page .metric-block__accent{width:4px;flex-shrink:0}.activity-detail-page .metric-block--hr .metric-block__accent{background:linear-gradient(180deg, #EF4444 0%, #F97316 100%)}.activity-detail-page .metric-block--elev .metric-block__accent{background:linear-gradient(180deg, #10B981 0%, #059669 100%)}.activity-detail-page .metric-block__content{flex:1;padding:var(--space-6)}.activity-detail-page .metric-block__header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4)}.activity-detail-page .metric-block__icon{opacity:0.6}.activity-detail-page .metric-block__title{font-size:0.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:0.06em;color:var(--color-text-muted)}.activity-detail-page .metric-block__badge{margin-left:auto;font-family:var(--font-mono);font-size:0.625rem;font-weight:700;padding:4px 10px;background:linear-gradient(135deg, #FEF3C7 0%, #FDE68A 100%);color:#92400E;border-radius:20px;text-transform:uppercase;letter-spacing:0.04em}.activity-detail-page .metric-block__values{display:flex;align-items:flex-start;justify-content:space-between}.activity-detail-page .metric-block__primary{display:flex;align-items:baseline;gap:var(--space-1)}.activity-detail-page .metric-block__number{font-family:var(--font-display);font-size:2.5rem;font-weight:700;line-height:1;letter-spacing:-0.03em}.activity-detail-page .metric-block--hr .activity-detail-page .metric-block__number{background:linear-gradient(135deg, #DC2626 0%, #F97316 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.activity-detail-page .metric-block--elev .activity-detail-page .metric-block__number{background:linear-gradient(135deg, #10B981 0%, #059669 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.activity-detail-page .metric-block__unit{font-family:var(--font-mono);font-size:0.6875rem;font-weight:500;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:0.04em;margin-bottom:6px}.activity-detail-page .metric-block__secondary{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.activity-detail-page .metric-item{font-size:0.75rem;color:var(--color-text-muted)}.activity-detail-page .metric-item strong{font-family:var(--font-mono);font-weight:600;color:var(--color-text)}.activity-detail-page .metric-item--accent strong{color:var(--color-primary)}.activity-detail-page .metrics-strip__divider{width:1px;background:var(--color-border);margin:var(--space-4) 0}.activity-detail-page .feelings-grid{display:grid;grid-template-columns:repeat(2, 1fr);gap:var(--space-4);margin-bottom:var(--space-6)}@media (max-width: 480px){.activity-detail-page .feelings-grid{grid-template-columns:1fr}}.activity-detail-page .feeling-card{background:var(--color-bg);border-radius:var(--radius-md);padding:var(--space-4)}.activity-detail-page .feeling-label{display:block;font-size:0.75rem;font-weight:500;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:0.05em;margin-bottom:var(--space-2)}.activity-detail-page .effort-display{display:flex;align-items:center;gap:var(--space-3)}.activity-detail-page .effort-bar{flex:1;height:8px;background:var(--color-border);border-radius:4px;overflow:hidden}.activity-detail-page .effort-fill{height:100%;width:var(--effort);background:linear-gradient(90deg, var(--color-gold, #F59E0B) 0%, var(--color-primary) 100%);border-radius:4px;animation:fillBar 1s cubic-bezier(0.16, 1, 0.3, 1) 0.5s both}@keyframes fillBar{from{width:0}to{width:var(--effort)}}.activity-detail-page .effort-score{font-family:var(--font-display);font-size:1.25rem;font-weight:700;color:var(--color-text);min-width:48px;text-align:right}.activity-detail-page .effort-max{font-size:0.875rem;font-weight:500;color:var(--color-text-muted)}.activity-detail-page .difficulty-badge{display:inline-block;padding:8px 16px;font-size:0.875rem;font-weight:600;border-radius:var(--radius-sm)}.activity-detail-page .difficulty-badge.easy{background:linear-gradient(135deg, #D1FAE5 0%, #A7F3D0 100%);color:#065F46}.activity-detail-page .difficulty-badge.moderate{background:linear-gradient(135deg, #FEF3C7 0%, #FDE68A 100%);color:#92400E}.activity-detail-page .difficulty-badge.hard{background:linear-gradient(135deg, #FEE2E2 0%, #FECACA 100%);color:#991B1B}.activity-detail-page .mood-display{display:flex;align-items:center;gap:var(--space-2)}.activity-detail-page .mood-emoji{font-size:1.5rem}.activity-detail-page .mood-text{font-size:1rem;font-weight:500;color:var(--color-text)}.activity-detail-page .mood-display.energized .mood-text,.activity-detail-page .mood-display.great .mood-text,.activity-detail-page .mood-display.amazing .mood-text{color:var(--color-primary)}.activity-detail-page .activity-notes{background:linear-gradient(135deg, var(--color-bg) 0%, rgba(255,107,53,0.05) 100%);border-left:3px solid var(--color-primary);border-radius:0 var(--radius-md) var(--radius-md) 0;padding:var(--space-6);margin:0}.activity-detail-page .activity-notes p{font-size:1rem;font-style:italic;color:var(--color-text-secondary);line-height:1.7;margin:0}.activity-detail-page .photos-grid{display:grid;grid-template-columns:repeat(4, 1fr);gap:var(--space-2)}@media (max-width: 768px){.activity-detail-page .photos-grid{grid-template-columns:repeat(3, 1fr)}}@media (max-width: 480px){.activity-detail-page .photos-grid{grid-template-columns:repeat(2, 1fr);gap:var(--space-1)}}.activity-detail-page .photo-item{position:relative;aspect-ratio:1;border-radius:var(--radius-md);overflow:hidden;cursor:pointer;background:var(--color-bg)}.activity-detail-page .photo-item img{width:100%;height:100%;object-fit:cover;transition:transform 0.4s cubic-bezier(0.16, 1, 0.3, 1)}.activity-detail-page .photo-item:hover img{transform:scale(1.08)}.activity-detail-page .photo-item::after{content:'';position:absolute;inset:0;background:linear-gradient(to top, rgba(0,0,0,0.4) 0%, transparent 50%);opacity:0;transition:opacity var(--transition-fast)}.activity-detail-page .photo-item:hover::after{opacity:1}.activity-detail-page .photo-item--featured{grid-column:span 2;grid-row:span 2}@media (max-width: 480px){.activity-detail-page .photo-item--featured{grid-column:span 2;grid-row:span 1;aspect-ratio:16/9}}.activity-detail-page .xp-widget{background:linear-gradient(135deg, #FFFBEB 0%, #FEF3C7 40%, #FDE68A 100%);border:1px solid rgba(217,119,6,0.15);padding:var(--space-6) var(--space-10)}@media (max-width: 1024px){.activity-detail-page .xp-widget{grid-column:1 / -1}}.activity-detail-page .xp-celebration{display:flex;align-items:center;gap:var(--space-6)}.activity-detail-page .xp-badge{position:relative;width:72px;height:72px;flex-shrink:0}.activity-detail-page .xp-ring-svg{width:100%;height:100%;animation:ringRotate 20s linear infinite}@keyframes ringRotate{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}.activity-detail-page .xp-badge-inner{position:absolute;inset:8px;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg, #FEF3C7, #FDE68A);border-radius:50%;box-shadow:inset 0 2px 4px rgba(255,255,255,0.6),0 2px 8px rgba(217,119,6,0.2)}.activity-detail-page .xp-content{display:flex;flex-direction:column;gap:2px}.activity-detail-page .xp-earned-label{font-family:var(--font-mono);font-size:0.625rem;font-weight:600;color:#92400E;letter-spacing:0.12em;text-transform:uppercase}.activity-detail-page .xp-amount-display{display:flex;align-items:baseline;gap:1px;line-height:1}.activity-detail-page .xp-number{font-family:var(--font-display);font-size:2.5rem;font-weight:700;color:#B45309;letter-spacing:-0.03em;background:linear-gradient(180deg, #D97706 0%, #92400E 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.activity-detail-page .prescription-widget{background:linear-gradient(135deg, #F0F9FF 0%, #E0F2FE 100%);border:1px dashed #7DD3FC;position:relative;overflow:hidden}.activity-detail-page .prescription-widget::before{content:'';position:absolute;top:0;right:0;width:60px;height:60px;background:linear-gradient(135deg, transparent 50%, rgba(14,165,233,0.08) 50%);pointer-events:none}.activity-detail-page .prescription-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:0;background:none;border:none;cursor:pointer;text-align:left}.activity-detail-page .prescription-toggle .chevron{color:#0EA5E9;transition:transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);flex-shrink:0}.activity-detail-page .prescription-widget[data-collapsed="false"] .prescription-toggle .chevron{transform:rotate(180deg)}.activity-detail-page .prescription-content{display:grid;grid-template-rows:0fr;transition:grid-template-rows 0.4s cubic-bezier(0.16, 1, 0.3, 1)}.prescription-widget[data-collapsed="false"] .activity-detail-page .prescription-content{grid-template-rows:1fr}.activity-detail-page .prescription-inner{overflow:hidden;opacity:0}.prescription-widget[data-collapsed="false"] .activity-detail-page .prescription-inner{opacity:1;transition:opacity 0.3s cubic-bezier(0.16, 1, 0.3, 1) 0.15s}.activity-detail-page .social-widget{padding:0;overflow:hidden}.activity-detail-page .social-widget .widget-header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4)}.activity-detail-page .social-widget .widget-header h3{font-size:0.875rem;font-weight:600;color:var(--color-text);margin:0}.activity-detail-page .social-widget .widget-count,.activity-detail-page .social-widget .highfive-count{font-family:var(--font-mono);font-size:0.75rem;font-weight:600;color:var(--color-text-muted);background:var(--color-bg);padding:2px 8px;border-radius:var(--radius-full);transition:transform 0.2s ease}.activity-detail-page .social-widget .highfives-section{padding:var(--space-6);border-bottom:1px solid var(--color-border)}.activity-detail-page .social-widget .comments-section{padding:var(--space-6);background:var(--color-bg)}.activity-detail-page .social-widget .btn-highfive{display:flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;padding:var(--space-3) var(--space-4);background:var(--color-white);border:2px solid var(--color-border);border-radius:var(--radius-md);font-family:var(--font-body);font-size:0.875rem;font-weight:600;color:var(--color-text);cursor:pointer;transition:all 0.2s ease;margin-bottom:var(--space-4)}.activity-detail-page .social-widget .btn-highfive:hover:not(.active):not(:disabled){border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-light)}.activity-detail-page .social-widget .btn-highfive.active{background:var(--color-primary);border-color:var(--color-primary);color:white}.activity-detail-page .social-widget .btn-highfive:disabled{opacity:0.7;cursor:default}.activity-detail-page .social-widget .avatar-stack,.activity-detail-page .social-widget .highfive-avatars{display:flex;margin-bottom:var(--space-3)}.activity-detail-page .social-widget .avatar-stack .avatar-link,.activity-detail-page .social-widget .highfive-avatars .avatar-link{display:block;margin-left:-8px}.activity-detail-page .social-widget .avatar-stack .avatar-link:first-child,.activity-detail-page .social-widget .highfive-avatars .avatar-link:first-child{margin-left:0}.activity-detail-page .social-widget .avatar-stack .avatar,.activity-detail-page .social-widget .highfive-avatars .avatar{width:32px;height:32px;border-radius:50%;border:2px solid var(--color-white);box-shadow:var(--shadow-sm);object-fit:cover}.activity-detail-page .social-widget .avatar-stack .avatar-more,.activity-detail-page .social-widget .highfive-avatars .avatar-more{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--color-bg);border:2px solid var(--color-white);font-size:0.6875rem;font-weight:600;color:var(--color-text-muted);margin-left:-8px}.activity-detail-page .social-widget .highfives-summary{font-size:0.8125rem;color:var(--color-text-secondary);line-height:1.4;margin:0}.activity-detail-page .social-widget .highfives-summary strong{font-weight:600;color:var(--color-text)}.activity-detail-page .social-widget .highfives-summary.highfives-empty{color:var(--color-text-muted);font-style:italic}.activity-detail-page .social-widget .activity-owner-card{display:flex;flex-direction:row;align-items:center;gap:var(--space-4);padding:var(--space-6);background:linear-gradient(135deg, var(--color-white) 0%, var(--color-bg) 100%);border-bottom:1px solid var(--color-border)}.activity-detail-page .social-widget .activity-owner-avatar{width:56px;height:56px;border-radius:50%;border:3px solid var(--color-primary);box-shadow:0 0 0 4px var(--color-primary-glow);flex-shrink:0}.activity-detail-page .social-widget .comments-header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);color:var(--color-text-secondary)}.activity-detail-page .social-widget .comments-header .comments-title{font-size:0.875rem;font-weight:600;color:var(--color-text)}.activity-detail-page .social-widget .comments-header .comments-count{font-family:var(--font-mono);font-size:0.75rem;font-weight:600;color:var(--color-text-muted);background:var(--color-white);padding:2px 8px;border-radius:var(--radius-full)}.activity-detail-page .social-widget .comments-empty{text-align:center;padding:var(--space-6) var(--space-4);color:var(--color-text-muted)}.activity-detail-page .social-widget .comments-empty p{margin:0;font-size:0.8125rem}.activity-detail-page .social-widget .add-comment{display:flex;align-items:center;gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--color-border-light);min-width:0;overflow:hidden}.activity-detail-page .social-widget .comment-input-wrapper{flex:1;min-width:0;display:flex;align-items:center;gap:var(--space-2);background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);transition:var(--transition-fast);overflow:hidden}.activity-detail-page .social-widget .comment-input-wrapper:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-glow)}.activity-detail-page .social-widget .comment-input{flex:1;min-width:0;border:none;background:transparent;font-family:var(--font-body);font-size:0.875rem;color:var(--color-text);outline:none;resize:none;min-height:20px}.activity-detail-page .social-widget .comment-input::placeholder{color:var(--color-text-muted)}.activity-detail-page .social-widget .btn-post-comment{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--color-primary);border:none;border-radius:var(--radius-sm);color:white;cursor:pointer;transition:var(--transition-fast);flex-shrink:0}.activity-detail-page .social-widget .btn-post-comment:hover:not(:disabled){background:var(--color-primary-dark)}.activity-detail-page .social-widget .btn-post-comment:disabled{opacity:0.4;cursor:not-allowed}.activity-detail-page .comments-list{display:flex;flex-direction:column;gap:var(--space-4);margin-bottom:var(--space-4)}.activity-detail-page .comment-item{display:flex;gap:var(--space-2);position:relative}.activity-detail-page .comment-item:hover .comment-delete-btn{opacity:1}.activity-detail-page .comment-avatar{width:32px;height:32px;border-radius:50%;flex-shrink:0;background:var(--color-white);object-fit:cover}.activity-detail-page .comment-content{flex:1;min-width:0}.activity-detail-page .comment-meta{display:flex;align-items:center;gap:var(--space-2);margin-bottom:2px}.activity-detail-page .comment-author{font-size:0.8125rem;font-weight:600;color:var(--color-text);text-decoration:none}.activity-detail-page .comment-author:hover{color:var(--color-primary)}.activity-detail-page .comment-time{font-size:0.75rem;color:var(--color-text-muted)}.activity-detail-page .comment-text{font-size:0.8125rem;color:var(--color-text-secondary);line-height:1.45;margin:0;word-wrap:break-word}.activity-detail-page .comment-text span{display:inline}.activity-detail-page .comment-delete-btn{position:absolute;top:0;right:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;opacity:0;transition:var(--transition-fast)}.activity-detail-page .comment-delete-btn:hover{background:rgba(239,68,68,0.1);color:#EF4444}.activity-detail-page .comment-author-link{flex-shrink:0}.activity-detail-page .modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,0.6);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;opacity:0;visibility:hidden;transition:var(--transition-normal)}.activity-detail-page .modal-backdrop:not([hidden]),.activity-detail-page .modal-backdrop.is-open{opacity:1;visibility:visible}.activity-detail-page .edit-modal{width:90%;max-width:640px;max-height:90vh;background:var(--color-white);border-radius:var(--radius-xl);overflow:hidden;display:flex;flex-direction:column;transform:scale(0.95) translateY(20px);transition:var(--transition-normal)}.modal-backdrop:not([hidden]) .activity-detail-page .edit-modal,.modal-backdrop.is-open .activity-detail-page .edit-modal{transform:scale(1) translateY(0)}@media (max-width: 480px){.activity-detail-page .edit-modal{max-width:100%;max-height:100%;border-radius:0}}.activity-detail-page .delete-modal{width:90%;max-width:400px;background:var(--color-white);border-radius:var(--radius-xl);padding:var(--space-10);text-align:center;transform:scale(0.95) translateY(20px);transition:var(--transition-normal)}.modal-backdrop:not([hidden]) .activity-detail-page .delete-modal,.modal-backdrop.is-open .activity-detail-page .delete-modal{transform:scale(1) translateY(0)}.activity-detail-page .share-modal{width:90%;max-width:400px;background:var(--color-white);border-radius:var(--radius-xl);padding:var(--space-8);text-align:center;transform:scale(0.95) translateY(20px);transition:var(--transition-normal);position:relative}.modal-backdrop:not([hidden]) .activity-detail-page .share-modal,.modal-backdrop.is-open .activity-detail-page .share-modal{transform:scale(1) translateY(0)}.activity-detail-page .share-modal h2{font-family:var(--font-display);font-size:1.25rem;font-weight:600;margin-bottom:var(--space-6)}.activity-detail-page .share-modal .modal-close{position:absolute;top:var(--space-4);right:var(--space-4);width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:var(--transition-fast)}.activity-detail-page .share-modal .modal-close:hover{background:var(--color-bg);color:var(--color-text)}.activity-detail-page .share-preview{margin-bottom:var(--space-6)}.activity-detail-page .share-preview .preview-card{background:linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);border-radius:var(--radius-lg);padding:var(--space-4);overflow:hidden}.activity-detail-page .share-preview .preview-map{height:80px;background:rgba(255,255,255,0.05);border-radius:var(--radius-sm);margin-bottom:var(--space-4)}.activity-detail-page .share-preview .preview-stats{display:flex;justify-content:center;gap:var(--space-6);font-family:var(--font-mono);font-size:1rem;font-weight:600;color:white}.activity-detail-page .share-buttons{display:flex;justify-content:center;gap:var(--space-3)}.activity-detail-page .share-buttons .share-btn{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border:none;border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-fast)}.activity-detail-page .share-buttons .share-btn.twitter{background:#000000;color:white}.activity-detail-page .share-buttons .share-btn.twitter:hover{background:#14171A;transform:translateY(-2px)}.activity-detail-page .share-buttons .share-btn.facebook{background:#1877F2;color:white}.activity-detail-page .share-buttons .share-btn.facebook:hover{background:#166FE5;transform:translateY(-2px)}.activity-detail-page .share-buttons .share-btn.copy{background:white;color:var(--color-text);border:1px solid var(--color-border)}.activity-detail-page .share-buttons .share-btn.copy:hover{background:var(--color-bg);transform:translateY(-2px)}.activity-detail-page .mood-selector{display:flex;gap:var(--space-1)}@media (max-width: 480px){.activity-detail-page .mood-selector{flex-wrap:wrap;justify-content:center}}.activity-detail-page .mood-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:var(--space-2);background:var(--color-bg);border:2px solid transparent;border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-fast);min-width:0}.activity-detail-page .mood-btn:hover{background:var(--color-white);border-color:var(--color-border)}.activity-detail-page .mood-btn.selected{background:var(--color-primary-light);border-color:var(--color-primary)}@media (max-width: 480px){.activity-detail-page .mood-btn{flex:0 0 auto;min-width:56px;padding:var(--space-1) var(--space-2)}}.activity-detail-page .difficulty-selector{display:flex;gap:var(--space-2)}@media (max-width: 480px){.activity-detail-page .difficulty-selector{flex-wrap:wrap}}.activity-detail-page .difficulty-btn{flex:1;display:flex;align-items:center;justify-content:center;padding:var(--space-2) var(--space-3);background:var(--color-bg);border:2px solid transparent;border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-fast);font-size:0.875rem;font-weight:500}.activity-detail-page .difficulty-btn:hover{background:var(--color-white);border-color:var(--color-border)}.activity-detail-page .difficulty-btn.selected{background:var(--color-primary-light);border-color:var(--color-primary)}.activity-detail-page .visibility-selector{display:flex;gap:var(--space-2)}@media (max-width: 480px){.activity-detail-page .visibility-selector{flex-direction:column}}.activity-detail-page .visibility-option{flex:1;display:flex;flex-direction:column;align-items:center;gap:var(--space-1);padding:var(--space-4);background:var(--color-bg);border:2px solid transparent;border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-fast);position:relative}.activity-detail-page .visibility-option input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;clip:rect(0, 0, 0, 0)}.activity-detail-page .visibility-option:has(input:checked),.activity-detail-page .visibility-option.selected{background:var(--color-primary-light);border-color:var(--color-primary)}.activity-detail-page .activity-header{text-align:center;margin-bottom:var(--space-10);padding-top:var(--space-6);display:flex;flex-direction:column;align-items:center}.activity-detail-page .datetime-row{display:inline-flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:var(--space-3);margin-bottom:var(--space-4);font-size:0.875rem;color:var(--color-text-secondary)}.activity-detail-page .datetime-row .datetime{display:inline-flex;align-items:center;gap:var(--space-2);white-space:nowrap}.activity-detail-page .datetime-row .datetime .separator{color:var(--color-text-muted)}.activity-detail-page .datetime-row .weather-indicator{display:inline-flex;align-items:center;gap:4px;color:var(--color-text-secondary)}.activity-detail-page .datetime-row .weather-indicator svg{color:#F59E0B}.activity-detail-page .visibility-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 12px;font-size:0.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:0.08em;border-radius:var(--radius-full);background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text-secondary)}.activity-detail-page .visibility-badge--public_visibility{background:rgba(34,197,94,0.1);border-color:rgba(34,197,94,0.3);color:#16A34A}.activity-detail-page .visibility-badge--followers_only{background:rgba(59,130,246,0.1);border-color:rgba(59,130,246,0.3);color:#2563EB}.activity-detail-page .visibility-badge--private{background:rgba(107,114,128,0.1);border-color:rgba(107,114,128,0.3);color:#6B7280}.activity-detail-page .activity-title{display:block;width:100%;font-family:var(--font-display);font-size:clamp(1.75rem, 5vw, 2.5rem);font-weight:600;line-height:1.15;letter-spacing:-0.02em;margin-bottom:var(--space-2)}.activity-detail-page .activity-location{display:flex;align-items:center;justify-content:center;gap:var(--space-2);font-size:0.9375rem;color:var(--color-text-muted);margin:0;width:100%}.activity-detail-page .activity-location svg{color:var(--color-primary);flex-shrink:0}.activity-detail-page .activity-description{margin-top:var(--space-4);padding:var(--space-4) var(--space-5);background:var(--color-surface);border-radius:var(--radius-lg);border-left:3px solid var(--color-primary);font-size:0.9375rem;line-height:1.6;color:var(--color-text-secondary);text-align:left;max-width:600px;margin-left:auto;margin-right:auto}.activity-detail-page .edit-modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-6) var(--space-10);background:linear-gradient(135deg, #1A1A1A 0%, #2D2D2D 100%);color:white;position:relative}.activity-detail-page .edit-modal-header::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg, var(--color-primary) 0%, var(--color-gold) 100%)}.activity-detail-page .edit-modal-title{font-family:var(--font-display);font-size:1.25rem;font-weight:600;margin:0}.activity-detail-page .edit-modal-body{padding:var(--space-6) var(--space-10);overflow-y:auto;flex:1}.activity-detail-page .edit-modal-footer{display:flex;justify-content:flex-end;gap:var(--space-2);padding:var(--space-4) var(--space-10);background:var(--color-bg);border-top:1px solid var(--color-border)}.activity-detail-page .modal-close-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,0.1);border:none;border-radius:var(--radius-sm);color:rgba(255,255,255,0.7);cursor:pointer;transition:var(--transition-fast)}.activity-detail-page .modal-close-btn:hover{background:rgba(255,255,255,0.2);color:white}.activity-detail-page .edit-header-content{display:flex;align-items:center;gap:var(--space-4)}.activity-detail-page .edit-icon-wrapper{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--color-primary);border-radius:var(--radius-md);color:white}.activity-detail-page .edit-modal-subtitle{font-size:0.875rem;color:rgba(255,255,255,0.6);margin:0}.activity-detail-page .edit-section{margin-bottom:var(--space-6);padding-bottom:var(--space-6);border-bottom:1px solid var(--color-border)}.activity-detail-page .edit-section:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.activity-detail-page .section-label{display:flex;align-items:center;justify-content:space-between;font-size:0.75rem;font-weight:600;text-transform:uppercase;letter-spacing:0.05em;color:var(--color-text-muted);margin-bottom:var(--space-4)}.activity-detail-page .sync-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:#FC4C02;color:white;font-size:0.625rem;font-weight:600;border-radius:var(--radius-sm);text-transform:uppercase}.activity-detail-page .field-group{margin-bottom:var(--space-4)}.activity-detail-page .field-group:last-child{margin-bottom:0}.activity-detail-page .field-label{display:flex;align-items:center;justify-content:space-between;font-size:0.8125rem;font-weight:500;color:var(--color-text);margin-bottom:var(--space-2)}.activity-detail-page .effort-value{font-family:var(--font-mono);font-weight:600;color:var(--color-primary)}.activity-detail-page .field-textarea{width:100%;padding:12px 14px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:0.9375rem;color:var(--color-text);resize:vertical;min-height:80px;transition:var(--transition-fast)}.activity-detail-page .field-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-glow)}.activity-detail-page .readonly-stats{display:grid;grid-template-columns:repeat(2, 1fr);gap:var(--space-3)}.activity-detail-page .readonly-stat{display:flex;flex-direction:column;gap:2px;padding:var(--space-3);background:var(--color-bg);border-radius:var(--radius-sm)}.activity-detail-page .readonly-label{font-size:0.6875rem;font-weight:500;text-transform:uppercase;letter-spacing:0.05em;color:var(--color-text-muted)}.activity-detail-page .readonly-value{font-family:var(--font-mono);font-size:0.9375rem;font-weight:600;color:var(--color-text)}.activity-detail-page .effort-slider-wrapper{padding:var(--space-2) 0}.activity-detail-page .effort-slider{width:100%;height:6px;-webkit-appearance:none;background:var(--color-bg);border-radius:3px;outline:none}.activity-detail-page .effort-slider::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;background:var(--color-primary);border-radius:50%;cursor:pointer;box-shadow:0 2px 6px rgba(0,0,0,0.15);transition:var(--transition-fast)}.activity-detail-page .effort-slider::-webkit-slider-thumb:hover{transform:scale(1.1)}.activity-detail-page .effort-slider::-moz-range-thumb{width:20px;height:20px;background:var(--color-primary);border-radius:50%;cursor:pointer;border:none}.activity-detail-page .effort-scale{display:flex;justify-content:space-between;margin-top:var(--space-2);font-size:0.6875rem;color:var(--color-text-muted)}.activity-detail-page .btn-cancel{padding:10px 20px;background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:var(--font-body);font-size:0.875rem;font-weight:500;color:var(--color-text-secondary);cursor:pointer;transition:var(--transition-fast)}.activity-detail-page .btn-cancel:hover{background:var(--color-bg);border-color:var(--color-text-muted)}.activity-detail-page .btn-save{display:inline-flex;align-items:center;gap:var(--space-2);padding:10px 20px;background:var(--color-primary);border:none;border-radius:var(--radius-md);font-family:var(--font-body);font-size:0.875rem;font-weight:500;color:white;cursor:pointer;transition:var(--transition-fast)}.activity-detail-page .btn-save:hover{background:var(--color-primary-dark)}.activity-detail-page .btn-save:disabled{opacity:0.6;cursor:not-allowed}.activity-detail-page .btn-delete{display:inline-flex;align-items:center;gap:var(--space-2);padding:10px 20px;background:#DC2626;border:none;border-radius:var(--radius-md);font-family:var(--font-body);font-size:0.875rem;font-weight:500;color:white;cursor:pointer;transition:var(--transition-fast)}.activity-detail-page .btn-delete:hover{background:#B91C1C}.activity-detail-page .field-input{width:100%;padding:12px 14px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:0.9375rem;color:var(--color-text);transition:var(--transition-fast)}.activity-detail-page .field-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-glow)}.activity-detail-page .delete-icon-wrapper{width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:#FEF2F2;border-radius:50%;color:#DC2626;margin:0 auto var(--space-6)}.activity-detail-page .delete-modal-title{font-family:var(--font-display);font-size:1.25rem;font-weight:600;color:var(--color-text);margin:0 0 var(--space-2)}.activity-detail-page .delete-modal-actions{display:flex;gap:var(--space-2);justify-content:center}.activity-detail-page .sidebar-widget{background:var(--color-white);border-radius:var(--radius-lg);border:1px solid var(--color-border);padding:var(--space-6);box-shadow:var(--shadow-sm)}.activity-detail-page .sidebar-widget .widget-header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4)}.activity-detail-page .sidebar-widget .widget-header h3{font-family:var(--font-display);font-size:0.9375rem;font-weight:600;color:var(--color-text);margin:0}.activity-detail-page .related-widget .related-list{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-4)}.activity-detail-page .related-widget .related-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--color-bg);border-radius:var(--radius-md);text-decoration:none;transition:var(--transition-fast)}.activity-detail-page .related-widget .related-item:hover{background:var(--color-primary-light);transform:translateX(4px)}.activity-detail-page .related-widget .related-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;font-size:1.125rem;flex-shrink:0}.activity-detail-page .related-widget .related-icon svg{width:20px;height:20px;color:var(--color-text-secondary)}.activity-detail-page .related-widget .related-info{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.activity-detail-page .related-widget .related-title{font-size:0.875rem;font-weight:500;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.activity-detail-page .related-widget .related-meta{font-size:0.75rem;color:var(--color-text-muted)}.activity-detail-page .related-widget .widget-link{display:inline-flex;align-items:center;gap:var(--space-1);font-size:0.8125rem;font-weight:600;color:var(--color-primary);text-decoration:none;transition:var(--transition-fast)}.activity-detail-page .related-widget .widget-link:hover{color:var(--color-primary-dark)}.activity-detail-page .device-widget .device-info-compact{display:flex;flex-direction:column;gap:var(--space-3)}.activity-detail-page .device-widget .device-row{display:flex;align-items:center;gap:var(--space-3);font-size:0.875rem;color:var(--color-text-secondary)}.activity-detail-page .device-widget .device-row svg{color:var(--color-text-muted);flex-shrink:0}.activity-detail-page .device-widget .device-row.strava svg{color:#FC4C02}.activity-detail-page .photos-section .section-header--row{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4)}.activity-detail-page .photos-section .section-header-left{display:flex;align-items:center;gap:var(--space-2)}.activity-detail-page .photos-section .section-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--color-bg);border-radius:var(--radius-sm);color:var(--color-text-secondary)}.activity-detail-page .photos-section .section-title{font-family:var(--font-display);font-size:1rem;font-weight:600;color:var(--color-text);margin:0}.activity-detail-page .photos-section .photo-count{font-family:var(--font-mono);font-size:0.75rem;font-weight:600;color:var(--color-text-muted);background:var(--color-bg);padding:2px 8px;border-radius:var(--radius-full)}.activity-detail-page .photos-section .btn-add-photo{display:inline-flex;align-items:center;gap:var(--space-1);padding:8px 16px;background:var(--color-primary);border:none;border-radius:var(--radius-md);font-family:var(--font-body);font-size:0.8125rem;font-weight:600;color:white;cursor:pointer;transition:var(--transition-fast)}.activity-detail-page .photos-section .btn-add-photo:hover{background:var(--color-primary-dark);transform:translateY(-1px)}.activity-detail-page .photos-section .btn-add-photo svg{flex-shrink:0}.activity-detail-page .photo-badge{position:absolute;bottom:var(--space-3);left:var(--space-3);display:inline-flex;align-items:center;gap:4px;padding:6px 12px;background:linear-gradient(135deg, #F59E0B 0%, #D97706 100%);border-radius:var(--radius-sm);font-size:0.625rem;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;color:white;box-shadow:var(--shadow-md);z-index:10}.activity-detail-page .photo-badge svg{flex-shrink:0}.activity-detail-page .photo-item--add{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);border:2px dashed var(--color-border);background:transparent;color:var(--color-text-muted);transition:var(--transition-fast)}.activity-detail-page .photo-item--add span{font-size:0.75rem;font-weight:500}.activity-detail-page .photo-item--add:hover{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-light)}.activity-detail-page .view-all-comments{display:block;font-size:0.8125rem;font-weight:500;color:var(--color-text-muted);text-decoration:none;margin-bottom:var(--space-4);transition:var(--transition-fast)}.activity-detail-page .view-all-comments:hover{color:var(--color-primary)}.log-activity-page{background:var(--color-bg);min-height:100vh;display:flex;flex-direction:column}.activity-type-input,.mood-input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.activity-type-input:checked+.activity-type-card{border-color:var(--color-primary);background:var(--color-primary-light)}.activity-type-input:checked+.activity-type-card .type-icon{background:var(--color-primary);color:white}.activity-type-input:checked+.activity-type-card .type-label{color:var(--color-primary-dark);font-weight:600}.activity-type-input:checked+.activity-type-card .type-check{opacity:1;transform:scale(1)}.mood-input:checked+.mood-btn{border-color:var(--color-primary);background:var(--color-primary-light)}.mood-input:checked+.mood-btn .mood-icon{color:var(--color-primary)}.mood-input:checked+.mood-btn .mood-text{color:var(--color-primary-dark);font-weight:600}.log-activity-page .log-header{position:fixed;top:0;left:0;right:0;height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;background:var(--color-bg);z-index:100}.log-activity-page .log-close-btn{position:static;top:auto;right:auto;width:44px;height:44px;display:flex;align-items:center;justify-content:center;color:#374151;border-radius:var(--radius-md);transition:all 0.2s var(--ease-out-expo);flex-shrink:0;background:transparent;border:none;cursor:pointer}.log-activity-page .log-close-btn svg{width:24px;height:24px;stroke:currentColor;stroke-width:2}.log-activity-page .log-close-btn:hover{background:var(--color-border);color:#111827}.log-activity-page .header-spacer{width:44px;flex-shrink:0}.log-activity-page .step-indicator{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);flex:1}.log-activity-page .step-dots{display:flex;gap:var(--space-2)}.log-activity-page .step-dot{width:8px;height:8px;border-radius:50%;background:var(--color-border);transition:all 0.3s var(--ease-out-expo)}.log-activity-page .step-dot.active{width:24px;border-radius:4px;background:var(--color-primary)}.log-activity-page .step-dot.completed{background:var(--color-primary)}.log-activity-page .step-label{font-size:0.75rem;font-weight:500;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:0.05em}.log-activity-page .log-form-container{flex:1;padding:96px 24px 120px;max-width:640px;margin:0 auto;width:100%}.log-activity-page .form-step{display:none;opacity:0;transform:translateX(30px)}.log-activity-page .form-step.active{display:block;animation:slideIn 0.5s var(--ease-out-expo) forwards}.log-activity-page .form-step.exiting{animation:slideOut 0.3s var(--ease-out-expo) forwards}@keyframes slideIn{to{opacity:1;transform:translateX(0)}}@keyframes slideOut{to{opacity:0;transform:translateX(-30px)}}.log-activity-page .step-content{min-height:400px}.log-activity-page .step-header{text-align:center;margin-bottom:32px}.log-activity-page .step-emoji{font-size:3rem;display:block;margin-bottom:16px;animation:bounce 0.6s var(--ease-out-expo)}.log-activity-page .step-icon-wrapper{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);color:white;border-radius:var(--radius-lg);margin-bottom:16px;animation:bounce 0.6s var(--ease-out-expo);box-shadow:0 4px 16px rgba(255,107,53,0.3)}.log-activity-page .step-icon-wrapper svg{stroke-width:1.5}@keyframes bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}.log-activity-page .step-title{font-family:var(--font-display);font-size:1.75rem;font-weight:600;margin-bottom:var(--space-2);letter-spacing:-0.02em}.log-activity-page .step-subtitle{font-size:1rem;color:var(--color-text-secondary)}.log-activity-page .activity-type-grid{display:grid;grid-template-columns:repeat(4, 1fr);gap:12px}@media (max-width: 639px){.log-activity-page .activity-type-grid{grid-template-columns:repeat(2, 1fr)}}.log-activity-page .activity-type-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:16px 12px;background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;transition:all 0.2s var(--ease-out-expo)}.log-activity-page .activity-type-card:hover{border-color:var(--color-primary);transform:translateY(-2px)}.log-activity-page .activity-type-card.selected{border-color:var(--color-primary);background:var(--color-primary-light)}.log-activity-page .activity-type-card.selected .type-icon{background:var(--color-primary);color:white}.log-activity-page .activity-type-card.selected .type-label{color:var(--color-primary-dark);font-weight:600}.log-activity-page .activity-type-card.selected .type-check{opacity:1;transform:scale(1)}.log-activity-page .type-icon{width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:var(--color-bg);border-radius:var(--radius-md);color:var(--color-text-secondary);transition:all 0.2s var(--ease-out-expo)}.log-activity-page .type-label{font-size:0.8125rem;font-weight:500;color:var(--color-text-secondary)}.log-activity-page .type-check{position:absolute;top:var(--space-2);right:var(--space-2);width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:var(--color-primary);color:white;border-radius:50%;opacity:0;transform:scale(0.5);transition:all 0.2s var(--ease-out-expo)}.log-activity-page .form-fields{display:flex;flex-direction:column;gap:24px}.log-activity-page .field-group{display:flex;flex-direction:column;gap:var(--space-2)}.log-activity-page .field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.log-activity-page .field-row.date-time-row{column-gap:24px}.log-activity-page .date-time-row .field-group:first-child{padding-right:12px}.log-activity-page .field-label{font-size:0.8125rem;font-weight:600;color:var(--color-text);text-transform:uppercase;letter-spacing:0.05em}.log-activity-page .field-input{width:100%;padding:16px;font-family:var(--font-body);font-size:1rem;background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-md);transition:all 0.2s var(--ease-out-expo)}.log-activity-page .field-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 4px rgba(255,107,53,0.1)}.log-activity-page .field-input::placeholder{color:var(--color-text-muted)}.log-activity-page .field-input.with-icon{padding-left:48px}.log-activity-page .field-hint{font-size:0.75rem;color:var(--color-text-muted)}.log-activity-page .location-input-wrapper{position:relative}.log-activity-page .location-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--color-text-muted)}.log-activity-page .stats-input-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px}@media (max-width: 639px){.log-activity-page .stats-input-grid{grid-template-columns:1fr}}.log-activity-page .stat-input-card{background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-lg);padding:16px}.log-activity-page .stat-input-card.primary{background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);border:none;color:white}.log-activity-page .stat-input-card.primary .stat-input-label{color:rgba(255,255,255,0.8)}.log-activity-page .stat-input-card.primary .stat-number-input::placeholder{color:rgba(255,255,255,0.5)}.log-activity-page .stat-input-label{display:block;font-size:0.75rem;font-weight:600;text-transform:uppercase;letter-spacing:0.05em;color:var(--color-text-muted);margin-bottom:12px}.log-activity-page .stat-input-value{display:flex;align-items:baseline;gap:var(--space-2)}.log-activity-page .stat-number-input{width:100%;font-family:var(--font-display);font-size:2rem;font-weight:600;background:transparent;border:none;color:inherit;outline:none}.log-activity-page .stat-number-input::placeholder{color:var(--color-text-muted)}.log-activity-page .stat-unit-select{font-family:var(--font-mono);font-size:0.875rem;font-weight:600;background:rgba(255,255,255,0.2);border:none;color:inherit;padding:4px 8px;border-radius:var(--radius-sm);cursor:pointer}.log-activity-page .duration-inputs{display:flex;align-items:center;gap:4px}.log-activity-page .duration-segment{text-align:center}.log-activity-page .duration-input{width:60px;font-family:var(--font-display);font-size:1.25rem;font-weight:600;text-align:center;background:var(--color-bg);border:2px solid var(--color-border);border-radius:var(--radius-sm);padding:12px 8px;transition:all 0.2s var(--ease-out-expo);-moz-appearance:textfield}.log-activity-page .duration-input::-webkit-outer-spin-button,.log-activity-page .duration-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.log-activity-page .duration-input:focus{outline:none;border-color:var(--color-primary)}.log-activity-page .duration-label{display:block;font-size:0.6875rem;color:var(--color-text-muted);margin-top:4px}.log-activity-page .duration-separator{font-family:var(--font-display);font-size:1.5rem;font-weight:600;color:var(--color-text-muted)}.log-activity-page .description-field{margin-top:24px;margin-bottom:16px}.log-activity-page .description-textarea{width:100%;min-height:80px;padding:12px;font-family:var(--font-body);font-size:0.9375rem;line-height:1.5;color:var(--color-text);background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-lg);resize:vertical;transition:border-color 0.2s, box-shadow 0.2s}.log-activity-page .description-textarea::placeholder{color:var(--color-text-muted)}.log-activity-page .description-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(255,107,53,0.1)}.log-activity-page .calculated-stats{display:flex;justify-content:center;gap:48px;padding:16px;background:var(--color-bg);border-radius:var(--radius-lg);margin-bottom:24px}.log-activity-page .calc-stat{text-align:center}.log-activity-page .calc-label{display:block;font-size:0.75rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:0.05em;margin-bottom:4px}.log-activity-page .calc-value{font-family:var(--font-display);font-size:1.25rem;font-weight:600;color:var(--color-text)}.log-activity-page .optional-stats{border-top:1px solid var(--color-border);padding-top:16px}.log-activity-page .toggle-optional{display:flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;padding:12px;background:transparent;border:none;font-family:var(--font-body);font-size:0.875rem;font-weight:500;color:var(--color-text-secondary);cursor:pointer;transition:color 0.2s}.log-activity-page .toggle-optional:hover{color:var(--color-primary)}.log-activity-page .toggle-optional svg{transition:transform 0.2s var(--ease-out-expo)}.log-activity-page .toggle-optional.expanded svg{transform:rotate(180deg)}.log-activity-page .optional-fields{padding-top:16px;animation:slideDown 0.3s var(--ease-out-expo)}@keyframes slideDown{from{opacity:0;transform:translateY(-10px)}}.log-activity-page .field-with-unit{position:relative}.log-activity-page .field-with-unit .field-input{padding-right:48px}.log-activity-page .field-unit{position:absolute;right:16px;top:50%;transform:translateY(-50%);font-family:var(--font-mono);font-size:0.875rem;color:var(--color-text-muted)}.log-activity-page .feelings-input{display:flex;flex-direction:column;gap:32px}.log-activity-page .feeling-block{display:flex;flex-direction:column;gap:12px}.log-activity-page .feeling-label{display:flex;justify-content:space-between;align-items:center;font-size:0.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:0.05em;color:var(--color-text)}.log-activity-page .effort-display{font-family:var(--font-display);font-size:1.25rem;font-weight:700;color:var(--color-primary)}.log-activity-page .effort-slider-container{padding:var(--space-2) 0}.log-activity-page .effort-slider{width:100%;height:8px;-webkit-appearance:none;appearance:none;background:linear-gradient(90deg, var(--color-teal) 0%, var(--color-gold) 50%, var(--color-primary) 100%);border-radius:4px;outline:none}.log-activity-page .effort-slider::-webkit-slider-thumb{-webkit-appearance:none;width:28px;height:28px;background:white;border:3px solid var(--color-primary);border-radius:50%;cursor:pointer;box-shadow:var(--shadow-md);transition:transform 0.2s var(--ease-out-expo)}.log-activity-page .effort-slider::-webkit-slider-thumb:hover{transform:scale(1.1)}.log-activity-page .effort-slider::-moz-range-thumb{width:28px;height:28px;background:white;border:3px solid var(--color-primary);border-radius:50%;cursor:pointer;box-shadow:var(--shadow-md);transition:transform 0.2s var(--ease-out-expo)}.log-activity-page .effort-slider::-moz-range-thumb:hover{transform:scale(1.1)}.log-activity-page .effort-labels{display:flex;justify-content:space-between;font-size:0.75rem;color:var(--color-text-muted);margin-top:var(--space-2)}.log-activity-page .mood-selector{display:flex;gap:var(--space-2)}@media (max-width: 639px){.log-activity-page .mood-selector{flex-wrap:wrap}}.log-activity-page .mood-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px var(--space-2);background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;transition:all 0.2s var(--ease-out-expo)}.log-activity-page .mood-btn:hover{border-color:var(--color-primary);transform:translateY(-2px)}.log-activity-page .mood-btn.selected{border-color:var(--color-primary);background:var(--color-primary-light)}.log-activity-page .mood-btn.selected .mood-icon{color:var(--color-primary)}.log-activity-page .mood-btn.selected .mood-text{color:var(--color-primary-dark);font-weight:600}@media (max-width: 639px){.log-activity-page .mood-btn{flex:0 0 calc(33.333% - 6px)}}.log-activity-page .mood-emoji{font-size:1.5rem}.log-activity-page .mood-icon{display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);transition:color 0.2s var(--ease-out-expo)}.log-activity-page .mood-icon svg{width:28px;height:28px}.log-activity-page .mood-text{font-size:0.6875rem;font-weight:500;color:var(--color-text-secondary)}.log-activity-page .notes-input{width:100%;min-height:120px;padding:16px;font-family:var(--font-body);font-size:1rem;line-height:1.6;background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-lg);resize:vertical;transition:all 0.2s var(--ease-out-expo)}.log-activity-page .notes-input:focus{outline:none;border-color:var(--color-primary)}.log-activity-page .notes-input::placeholder{color:var(--color-text-muted)}.log-activity-page .success-step .step-content{min-height:auto}.log-activity-page .success-content{text-align:center;padding:16px 0}.log-activity-page .success-celebration{margin-bottom:32px}.log-activity-page .success-icon{width:100px;height:100px;display:flex;align-items:center;justify-content:center;margin:0 auto 24px;background:linear-gradient(135deg, #10B981 0%, #059669 100%);color:white;border-radius:50%;animation:successPop 0.5s var(--ease-out-expo)}.log-activity-page .success-icon svg{stroke-width:2}@keyframes successPop{0%{transform:scale(0)}50%{transform:scale(1.1)}100%{transform:scale(1)}}.log-activity-page .success-title{font-family:var(--font-display);font-size:2rem;font-weight:700;margin-bottom:var(--space-2)}.log-activity-page .success-subtitle{font-size:1.125rem;color:var(--color-text-secondary)}.log-activity-page .xp-reward{display:flex;align-items:center;justify-content:center;gap:24px;padding:24px;background:linear-gradient(135deg, #FFFBEB 0%, #FEF3C7 100%);border-radius:var(--radius-xl);margin-bottom:24px}@media (max-width: 639px){.log-activity-page .xp-reward{flex-direction:column;gap:16px}}.log-activity-page .xp-circle{width:80px;height:80px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg, var(--color-gold) 0%, #F4A83D 100%);border-radius:50%;animation:xpPulse 2s ease-in-out infinite}@keyframes xpPulse{0%,100%{box-shadow:0 0 0 0 rgba(255,217,61,0.4)}50%{box-shadow:0 0 0 15px rgba(255,217,61,0)}}.log-activity-page .xp-amount{font-family:var(--font-display);font-size:1.5rem;font-weight:700;color:#1A1A1A}.log-activity-page .xp-label{font-family:var(--font-mono);font-size:0.6875rem;font-weight:600;color:#1A1A1A;opacity:0.7}.log-activity-page .xp-details{display:flex;flex-direction:column;gap:4px;text-align:left;font-size:0.875rem;color:#92400E}@media (max-width: 639px){.log-activity-page .xp-details{text-align:center}}.log-activity-page .streak-update{padding:24px;background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-xl);margin-bottom:32px}.log-activity-page .streak-visual{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:12px}.log-activity-page .streak-flames{font-size:1.5rem;animation:flameFlicker 1s ease-in-out infinite}@keyframes flameFlicker{0%,100%{transform:scale(1)}50%{transform:scale(1.1)}}.log-activity-page .streak-count{font-family:var(--font-display);font-size:2.5rem;font-weight:700;color:var(--color-primary)}.log-activity-page .streak-label{font-family:var(--font-display);font-size:1.125rem;font-weight:600;color:var(--color-text)}.log-activity-page .streak-message{font-size:0.9375rem;color:var(--color-text-secondary)}.log-activity-page .success-actions{display:flex;flex-direction:column;gap:12px}.log-activity-page .btn-view-activity{display:flex;align-items:center;justify-content:center;padding:16px 24px;background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);color:white;font-family:var(--font-body);font-size:1rem;font-weight:600;border-radius:var(--radius-md);text-decoration:none;transition:all 0.2s var(--ease-out-expo)}.log-activity-page .btn-view-activity:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(255,107,53,0.3)}.log-activity-page .btn-back-home{display:flex;align-items:center;justify-content:center;padding:16px 24px;background:transparent;color:var(--color-text-secondary);font-family:var(--font-body);font-size:1rem;font-weight:500;border-radius:var(--radius-md);text-decoration:none}.log-activity-page .btn-back-home:hover{color:var(--color-text)}.log-activity-page .log-footer{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 24px;background:var(--color-bg);border-top:1px solid var(--color-border);z-index:50}.log-activity-page .btn-back,.log-activity-page .btn-next{display:flex;align-items:center;gap:var(--space-2);padding:16px 32px;font-family:var(--font-body);font-size:1rem;font-weight:600;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all 0.2s var(--ease-out-expo)}.log-activity-page .btn-back{background:transparent;color:var(--color-text-secondary)}.log-activity-page .btn-back:hover{background:var(--color-border);color:var(--color-text)}.log-activity-page .btn-back[hidden]{display:none}.log-activity-page .btn-next{margin-left:auto;background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);color:white;box-shadow:0 4px 16px rgba(255,107,53,0.3)}.log-activity-page .btn-next:hover{transform:translateY(-2px);box-shadow:0 6px 24px rgba(255,107,53,0.4)}.log-activity-page .btn-next:disabled{opacity:0.5;cursor:not-allowed;transform:none}@media (max-width: 400px){.log-activity-page .step-title{font-size:1.5rem}.log-activity-page .activity-type-card{padding:16px var(--space-2)}.log-activity-page .type-icon{width:44px;height:44px}.log-activity-page .type-icon svg{width:24px;height:24px}.log-activity-page .duration-input{width:52px;font-size:1rem;padding:10px 6px}}.detail-type-badge{display:inline-flex;align-items:center;padding:4px 12px;font-size:0.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;border-radius:9999px}.detail-type-badge.easy{background:rgba(255,107,53,0.1);color:#FF6B35}.detail-type-badge.tempo{background:rgba(245,158,11,0.1);color:#D97706}.detail-type-badge.long{background:rgba(139,92,246,0.1);color:#7C3AED}.detail-type-badge.strength{background:rgba(59,130,246,0.1);color:#2563EB}.detail-type-badge.rest-day{background:rgba(107,114,128,0.1);color:#4B5563}.detail-type-badge.interval{background:rgba(236,72,153,0.1);color:#DB2777}.detail-type-badge.race{background:rgba(220,38,38,0.1);color:#DC2626}.detail-type-badge.large{padding:8px 16px;font-size:0.75rem}.btn-edit-workout,.btn-swap-workout{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;font-size:0.8125rem;font-weight:600;border-radius:10px;border:1px solid #E5E7EB;background:#FFFFFF;color:#6B7280;cursor:pointer;transition:all 150ms ease-out}.btn-edit-workout svg,.btn-swap-workout svg{stroke:#9CA3AF;transition:stroke 150ms ease-out}.btn-edit-workout:hover{border-color:#FF6B35;color:#FF6B35;background:rgba(255,107,53,0.05)}.btn-edit-workout:hover svg{stroke:#FF6B35}.btn-swap-workout:hover{border-color:#7C3AED;color:#7C3AED;background:rgba(124,58,237,0.05)}.btn-swap-workout:hover svg{stroke:#7C3AED}.btn-ghost{padding:12px 24px;border:1px solid #E5E7EB;border-radius:10px;background:#FFFFFF;font-size:0.875rem;font-weight:600;color:#6B7280;cursor:pointer;transition:all 150ms ease-out}.btn-ghost:hover{background:#F3F4F6;color:#1F2937}.primary-badge{display:inline-block;font-size:0.5625rem;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;padding:2px 6px;margin-left:8px;background:linear-gradient(135deg, #FF6B35 0%, #E55A2B 100%);color:#FFFFFF;border-radius:6px;vertical-align:middle}.tier-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 12px;font-size:0.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;border-radius:9999px}.tier-badge.free{background:rgba(16,185,129,0.1);color:#10B981}.tier-badge.mob-plus{background:linear-gradient(135deg, #FF6B35 0%, #FFD93D 100%);color:#FFFFFF}.level-dot{width:8px;height:8px;border-radius:9999px;display:inline-block}.level-dot.beginner{background:#10B981}.level-dot.intermediate{background:#F59E0B}.level-dot.advanced{background:#EF4444}.btn-large{padding:16px 24px;font-size:1rem}.plan-badge-dark{display:inline-flex;align-items:center;gap:8px;padding:4px 12px;background:rgba(255,107,53,0.15);border:1px solid rgba(255,107,53,0.3);border-radius:9999px;font-size:0.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:0.08em;color:#FF6B35}.plan-badge-dark svg{width:12px;height:12px}.completed-badge{display:flex;align-items:center;gap:8px;padding:8px 12px;background:linear-gradient(135deg, #10B981 0%, #0c8a60 100%);color:#FFFFFF;font-size:0.75rem;font-weight:700;border-radius:9999px;box-shadow:0 2px 8px rgba(16,185,129,0.3)}.mission-badge{background:linear-gradient(135deg, #FF6B35 0%, #E55A2B 100%);color:#FFFFFF;font-size:0.625rem;font-weight:700;letter-spacing:0.1em;padding:4px 12px;border-radius:6px}.upcoming-badge{display:inline-flex;align-items:center;padding:2px 10px;background:#FFF5F2;color:#FF6B35;font-size:0.6875rem;font-weight:700;border-radius:20px;margin-left:8px}.pace-zone-chip{font-size:0.625rem;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;padding:2px 8px;border-radius:20px;margin-left:auto}.pace-zone-chip.easy{background:rgba(16,185,129,0.15);color:#0c8a60}.pace-zone-chip.tempo{background:rgba(245,158,11,0.2);color:#ac6f07}.pace-zone-chip.threshold{background:rgba(239,68,68,0.15);color:#EF4444}.pace-zone-chip.recovery{background:rgba(124,58,237,0.15);color:#7C3AED}.status-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;font-size:0.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:0.03em;border-radius:6px}.status-badge.completed{background:#D1FAE5;color:#10B981}.status-badge.skipped{background:#F3F4F6;color:#6B7280}.status-badge.modified{background:#DBEAFE;color:#3B82F6}.status-badge.scheduled{background:#FFF5F2;color:#FF6B35}.goal-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 12px;font-size:0.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;border-radius:9999px}.goal-badge.goal-5k{background:rgba(5,150,105,0.1);color:#059669}.goal-badge.goal-10k{background:rgba(37,99,235,0.1);color:#2563EB}.goal-badge.goal-half{background:rgba(124,58,237,0.1);color:#7C3AED}.goal-badge.goal-marathon{background:rgba(219,39,119,0.1);color:#DB2777}.goal-badge.goal-fitness{background:rgba(78,205,196,0.1);color:#14B8A6}.xp-display{display:inline-flex;align-items:center;gap:4px;font-weight:700;color:#F4A83D}.xp-display .xp-icon{width:16px;height:16px;fill:#FFD93D}.xp-display .xp-value{font-size:0.875rem}.xp-display.large .xp-icon{width:20px;height:20px}.xp-display.large .xp-value{font-size:1.125rem}.training-journey{padding:32px 0;background:#F9FAFB}@media (max-width: 639px){.training-journey{overflow-x:hidden;max-width:100vw;width:100%}}@media (min-width: 640px) and (max-width: 1023px){.training-journey{overflow-x:hidden;max-width:100vw}}.journey-container{width:100%;max-width:1400px;margin:0 auto;padding:0 16px;display:grid;grid-template-columns:1fr;gap:24px;box-sizing:border-box;overflow:hidden}.journey-container *,.journey-container *::before,.journey-container *::after{box-sizing:border-box;max-width:100%}.journey-container>*{min-width:0}@media (max-width: 639px){.journey-container{padding:0 8px}}@media (min-width: 640px) and (max-width: 1023px){.journey-container{padding:0 12px}}@media (min-width: 1024px){.journey-container{grid-template-columns:1fr 340px}}.plan-overview{grid-column:1 / -1;background:#FFFFFF;border-radius:16px;padding:24px;box-shadow:0 4px 6px -1px rgba(0,0,0,0.1),0 2px 4px -1px rgba(0,0,0,0.06)}.plan-overview-main{display:flex;align-items:center;gap:24px;margin-bottom:24px}@media (min-width: 640px) and (max-width: 1023px){.plan-overview-main{flex-direction:column;text-align:center}}@media (max-width: 639px){.plan-overview-main{flex-direction:column;text-align:center}}.plan-icon{width:64px;height:64px;background:linear-gradient(135deg, #FFF5F2 0%, white 100%);border:2px solid #FF6B35;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:2rem;flex-shrink:0}.plan-details{flex:1}.plan-name{font-family:"Clash Display", -apple-system, BlinkMacSystemFont, sans-serif;font-size:1.75rem;font-weight:700;color:#1F2937;margin-bottom:4px}@media (max-width: 639px){.plan-name{font-size:1.5rem}}.plan-meta{color:#6B7280;font-size:0.9375rem}.plan-target{text-align:right;padding:16px;background:#F3F4F6;border-radius:10px}@media (min-width: 640px) and (max-width: 1023px){.plan-target{text-align:center;width:100%}}@media (max-width: 639px){.plan-target{text-align:center;width:100%}}.target-label{display:block;font-size:0.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:0.05em;color:#9CA3AF;margin-bottom:4px}.target-race{display:block;font-family:"Clash Display", -apple-system, BlinkMacSystemFont, sans-serif;font-weight:600;color:#1F2937;margin-bottom:4px}.target-date{display:block;font-size:0.875rem;color:#6B7280}.plan-stats-row{display:flex;gap:32px;padding-bottom:24px;border-bottom:1px solid #F3F4F6;margin-bottom:24px}@media (min-width: 640px) and (max-width: 1023px){.plan-stats-row{justify-content:center;flex-wrap:wrap;gap:24px}}@media (max-width: 639px){.plan-stats-row{justify-content:center;flex-wrap:wrap;gap:24px}}.plan-stat{text-align:center}.plan-stat-value{display:block;font-family:"Clash Display", -apple-system, BlinkMacSystemFont, sans-serif;font-size:2rem;font-weight:700;color:#FF6B35}@media (max-width: 639px){.plan-stat-value{font-size:1.5rem}}.plan-stat-label{display:block;font-size:0.75rem;color:#9CA3AF;text-transform:uppercase;letter-spacing:0.05em}.plan-progress-bar{position:relative;height:12px;background:#F3F4F6;border-radius:9999px;overflow:visible}.plan-progress-fill{height:100%;background:linear-gradient(90deg, #FF6B35 0%, #4ECDC4 100%);border-radius:9999px;transition:width 0.6s ease}.plan-progress-marker{position:absolute;top:-8px;transform:translateX(-50%)}.marker-label{display:block;background:#1F2937;color:#FFFFFF;font-size:0.6875rem;font-weight:600;padding:4px 8px;border-radius:6px;white-space:nowrap;transform:translateY(-100%);margin-bottom:4px}.marker-label::after{content:'';position:absolute;bottom:-4px;left:50%;transform:translateX(-50%);border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid #1F2937}.plan-hero-dark{grid-column:1 / -1;background:linear-gradient(165deg, #1C1917 0%, #292524 50%, #1C1917 100%);border-radius:24px;padding:24px;position:relative;overflow:visible}.plan-hero-dark::before{content:'';position:absolute;inset:0;border-radius:24px;overflow:hidden;pointer-events:none}@media (min-width: 640px) and (max-width: 1023px){.plan-hero-dark{padding:16px;border-radius:16px;overflow:hidden}}@media (max-width: 639px){.plan-hero-dark{padding:16px;border-radius:16px;overflow:hidden}}@keyframes glow-pulse{0%{opacity:0.7;transform:scale(1)}100%{opacity:1;transform:scale(1.05)}}.hero-glow{position:absolute;border-radius:50%;pointer-events:none;filter:blur(80px);animation:glow-pulse 4s ease-in-out infinite alternate}.hero-glow-1{width:350px;height:350px;top:-120px;right:-80px;background:radial-gradient(circle, rgba(255,107,53,0.35) 0%, transparent 70%)}@media (max-width: 639px){.hero-glow-1{width:200px;height:200px;top:-60px;right:-40px}}@media (min-width: 640px) and (max-width: 1023px){.hero-glow-1{width:250px;height:250px;top:-80px;right:-50px}}.hero-glow-2{width:250px;height:250px;bottom:-80px;left:15%;background:radial-gradient(circle, rgba(255,217,61,0.2) 0%, transparent 70%);animation-delay:2s}@media (max-width: 639px){.hero-glow-2{width:150px;height:150px;bottom:-40px;left:5%}}@media (min-width: 640px) and (max-width: 1023px){.hero-glow-2{width:180px;height:180px;bottom:-50px;left:10%}}.hero-header-grid{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:24px;position:relative}@media (min-width: 640px) and (max-width: 1023px){.hero-header-grid{flex-direction:column;gap:16px}}@media (max-width: 639px){.hero-header-grid{flex-direction:column;gap:16px}}.hero-plan-info{flex:1;min-width:0}.hero-plan-info .hero-title-dark{margin-top:12px;margin-bottom:4px}.hero-plan-info .hero-subtitle{margin:0}.hero-title-dark{font-family:"Clash Display", -apple-system, BlinkMacSystemFont, sans-serif;font-size:2.5rem;font-weight:700;color:#FFFFFF;margin:0 0 8px 0;line-height:1.1;position:relative;text-shadow:0 2px 20px rgba(0,0,0,0.3);letter-spacing:-0.02em}@media (min-width: 640px) and (max-width: 1023px){.hero-title-dark{font-size:2rem}}@media (max-width: 639px){.hero-title-dark{font-size:1.5rem}}.hero-subtitle{font-size:1rem;color:rgba(255,255,255,0.5);margin:0 0 24px 0;position:relative;font-weight:400;letter-spacing:0.01em}@media (max-width: 639px){.hero-subtitle{font-size:0.875rem}}.race-card-compact{display:flex;align-items:stretch;gap:0;background:rgba(0,0,0,0.4);border:1px solid rgba(255,255,255,0.08);border-radius:16px;overflow:hidden;transition:all 0.3s ease;box-shadow:0 4px 20px rgba(0,0,0,0.3)}.race-card-compact:hover{border-color:rgba(255,107,53,0.3);box-shadow:0 8px 32px rgba(255,107,53,0.15),0 4px 20px rgba(0,0,0,0.4);transform:translateY(-2px)}@media (min-width: 640px) and (max-width: 1023px){.race-card-compact{width:100%}}@media (max-width: 639px){.race-card-compact{width:100%}}.race-countdown-side{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:12px 16px;background:linear-gradient(135deg, #FF6B35 0%, #ff4602 100%);min-width:70px;position:relative}.race-countdown-side::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at center, rgba(255,255,255,0.2) 0%, transparent 70%);pointer-events:none}.race-countdown-side .countdown-num{font-family:"Clash Display", -apple-system, BlinkMacSystemFont, sans-serif;font-size:2rem;font-weight:700;color:#FFFFFF;line-height:1;text-shadow:0 2px 10px rgba(0,0,0,0.3)}@media (min-width: 640px) and (max-width: 1023px){.race-countdown-side .countdown-num{font-size:1.75rem}}@media (max-width: 639px){.race-countdown-side .countdown-num{font-size:1.5rem}}.race-countdown-side .countdown-label{font-size:0.625rem;font-weight:600;color:rgba(255,255,255,0.8);text-transform:uppercase;letter-spacing:0.1em}@media (max-width: 639px){.race-countdown-side{min-width:60px;padding:8px 12px}}.race-info-side{display:flex;flex-direction:column;justify-content:center;padding:8px 16px;gap:4px}@media (max-width: 639px){.race-info-side{padding:8px 12px}}.race-name-compact{font-family:"Clash Display", -apple-system, BlinkMacSystemFont, sans-serif;font-size:0.9375rem;font-weight:600;color:#FFFFFF;line-height:1.2}@media (max-width: 639px){.race-name-compact{font-size:0.8125rem}}.race-meta{font-size:0.75rem;color:rgba(255,255,255,0.6)}.race-meta a,.race-meta .choose-race-link{color:#FF6B35;text-decoration:none}.race-meta a:hover,.race-meta .choose-race-link:hover{text-decoration:underline}.race-community{display:flex;align-items:center;gap:12px;margin-top:4px}.race-mobbers,.race-rating{display:flex;align-items:center;gap:4px;font-size:0.6875rem;color:rgba(255,255,255,0.5)}.race-mobbers svg,.race-rating svg{opacity:0.7}.race-rating svg{opacity:1}.hero-progress-dark{margin-bottom:24px;position:relative}.progress-bar-dark{height:10px;background:rgba(255,255,255,0.08);border-radius:9999px;overflow:hidden;margin-bottom:8px;box-shadow:inset 0 1px 3px rgba(0,0,0,0.3);position:relative}.progress-bar-dark::after{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg, transparent 0%, transparent 40%, rgba(255,255,255,0.15) 50%, transparent 60%, transparent 100%);animation:track-shimmer 3s ease-in-out infinite;pointer-events:none}.progress-fill-dark{height:100%;background:linear-gradient(90deg, #FF6B35 0%, #F59E0B 60%, #10B981 100%);border-radius:9999px;position:relative;box-shadow:0 0 12px rgba(255,107,53,0.4);z-index:1}@keyframes track-shimmer{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}.progress-bar-segmented{height:10px;background:rgba(255,255,255,0.08);border-radius:9999px;overflow:hidden;margin-bottom:8px;box-shadow:inset 0 1px 3px rgba(0,0,0,0.3);position:relative;display:flex}.progress-segment{height:100%;position:relative;transition:width 0.3s ease}.progress-segment.completed{background:linear-gradient(90deg, #10B981 0%, #14e8a2 100%);box-shadow:0 0 8px rgba(16,185,129,0.4);z-index:2}.progress-segment.skipped{background:rgba(255,255,255,0.25);z-index:1}.progress-stats{display:flex;justify-content:space-between;font-size:0.8125rem;gap:12px}.progress-current{font-weight:600;color:#FFFFFF}.progress-skipped{color:rgba(255,255,255,0.4);font-size:0.75rem}.progress-target{color:rgba(255,255,255,0.5)}.hero-footer-dark{display:flex;align-items:center;justify-content:space-between;padding-top:24px;border-top:1px solid rgba(255,255,255,0.1);position:relative}@media (min-width: 640px) and (max-width: 1023px){.hero-footer-dark{flex-direction:column;align-items:stretch;gap:12px}}@media (max-width: 639px){.hero-footer-dark{flex-direction:column;align-items:stretch;gap:12px}}.hero-stats-dark{display:flex;flex-wrap:nowrap;gap:12px;overflow-x:auto;padding-bottom:8px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.hero-stats-dark::-webkit-scrollbar{display:none}@media (min-width: 768px){.hero-stats-dark{flex-wrap:wrap;overflow-x:visible}}.stat-item-dark{flex-shrink:0;min-width:80px}.stat-divider-dark{display:none;width:1px;height:24px;background:rgba(255,255,255,0.15)}@media (min-width: 768px){.stat-divider-dark{display:block}}.hero-actions-dark{display:flex;flex-wrap:wrap;gap:var(--space-2);position:relative}@media (min-width: 640px) and (max-width: 1023px){.hero-actions-dark{justify-content:flex-start}}@media (max-width: 639px){.hero-actions-dark{justify-content:flex-start}}.stat-dark{display:flex;align-items:center;gap:var(--space-2);transition:all 0.2s ease;cursor:default}.stat-dark:not(.status):hover{transform:translateY(-1px)}.stat-dark:not(.status):hover .stat-num{color:white}.stat-icon{font-size:1.125rem}.stat-num{font-family:var(--font-display);font-size:1.25rem;font-weight:700;color:white}.stat-text{font-size:0.75rem;color:rgba(255,255,255,0.5);text-transform:uppercase;letter-spacing:0.03em}.stat-dark.status{gap:var(--space-2);padding:var(--space-1) var(--space-3);background:rgba(52,211,153,0.1);border-radius:var(--radius-full);border:1px solid rgba(52,211,153,0.2)}.stat-dark.status .stat-text{color:inherit;font-weight:600}.stat-dark.status.on-track{color:#34D399}.stat-dark.status.on-track svg{stroke:#34D399;animation:pulse-check 2s ease-in-out infinite}.stat-dark.status.behind{color:#F59E0B;background:rgba(245,158,11,0.1);border-color:rgba(245,158,11,0.2)}.stat-dark.status.behind svg{stroke:#F59E0B}@keyframes pulse-check{0%,100%{opacity:1;transform:scale(1)}50%{opacity:0.7;transform:scale(1.1)}}.stat-dark.stat-clickable{background:transparent;border:1px solid transparent;padding:var(--space-1) var(--space-3);margin:calc(-1 * var(--space-1)) 0;border-radius:var(--radius-md);cursor:pointer;position:relative}.stat-dark.stat-clickable:hover{background:rgba(96,165,250,0.1);border-color:rgba(96,165,250,0.3);transform:translateY(-1px)}.stat-dark.stat-clickable:hover .stat-num{color:#60A5FA}.stat-dark.stat-clickable:active{transform:translateY(0)}.vdot-stat .stat-num{color:#60A5FA}.vdot-stat .stat-text{color:rgba(96,165,250,0.7)}.stat-trend{display:inline-flex;align-items:center;gap:2px;font-family:var(--font-mono);font-size:0.6875rem;font-weight:700;padding:2px 6px;border-radius:10px;margin-left:var(--space-1)}.stat-trend.up{color:#34D399;background:rgba(52,211,153,0.15)}.stat-trend.up svg{stroke:#34D399}.stat-trend.down{color:#F87171;background:rgba(248,113,113,0.15)}.stat-trend.down svg{stroke:#F87171;transform:rotate(180deg)}.hero-milestone-dark{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:rgba(251,191,36,0.1);border-radius:var(--radius-md);margin-bottom:var(--space-4);position:relative}.hero-milestone-dark svg{width:16px;height:16px;color:#FBBF24;flex-shrink:0}.hero-milestone-dark span{font-size:0.8125rem;color:rgba(255,255,255,0.8)}.hero-milestone-dark strong{color:#FBBF24;font-weight:600}.hero-milestone-inline{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:rgba(251,191,36,0.1);border:1px solid rgba(251,191,36,0.2);border-radius:var(--radius-full);font-size:0.8125rem;color:rgba(255,255,255,0.8)}.hero-milestone-inline svg{color:#F59E0B;flex-shrink:0}.hero-milestone-inline strong{color:#FBBF24}.action-dark{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);font-size:0.8125rem;font-weight:500;color:rgba(255,255,255,0.7);background:rgba(255,255,255,0.06);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,0.1);border-radius:var(--radius-md);cursor:pointer;transition:all 0.2s ease;position:relative;overflow:hidden;text-decoration:none}.action-dark::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg, transparent, rgba(255,255,255,0.1), transparent)}.action-dark:hover{background:rgba(255,255,255,0.12);color:white;border-color:rgba(255,255,255,0.2);transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,0.2)}.action-dark:active{transform:translateY(0);box-shadow:none}.action-dark svg{width:14px;height:14px;opacity:0.7}.action-dark:hover svg{opacity:1}.action-dark--primary{background:var(--color-primary);color:white;border-color:var(--color-primary);font-weight:600}.action-dark--primary:hover{background:var(--color-primary-dark, #dc4a1a);border-color:var(--color-primary-dark, #dc4a1a);color:white}.action-dark--primary svg{opacity:1}.action-dropdown-dark{position:relative}.action-dropdown-dark .dropdown-chevron{width:10px;height:10px;margin-left:var(--space-1);transition:transform var(--transition-fast)}.action-dropdown-dark:hover .dropdown-chevron{transform:rotate(180deg)}.dropdown-menu-dark{position:absolute;top:calc(100% + 4px);left:0;min-width:180px;background:#292524;border:1px solid rgba(255,255,255,0.1);border-radius:var(--radius-md);box-shadow:0 8px 32px rgba(0,0,0,0.4);padding:var(--space-2);opacity:0;visibility:hidden;transform:translateY(-4px);transition:all var(--transition-fast);z-index:100}.action-dropdown-dark:hover .dropdown-menu-dark,.action-dropdown-dark.open .dropdown-menu-dark{opacity:1;visibility:visible;transform:translateY(0)}.dropdown-item-dark{display:block;width:100%;padding:var(--space-2) var(--space-3);font-size:0.8125rem;color:rgba(255,255,255,0.7);background:none;border:none;border-radius:var(--radius-sm);cursor:pointer;text-align:left;text-decoration:none;transition:all var(--transition-fast)}.dropdown-item-dark:hover{background:rgba(255,255,255,0.1);color:white;text-decoration:none}.dropdown-divider-dark{height:1px;background:rgba(255,255,255,0.1);margin:var(--space-2) 0;border:none}.dropdown-item-danger{color:#f87171 !important}.dropdown-item-danger i{margin-right:var(--space-2)}.dropdown-item-danger:hover{background:rgba(248,113,113,0.15);color:#fca5a5 !important}.week-navigation{grid-column:1 / -1;display:flex;align-items:center;gap:16px;padding:16px;background:#FFFFFF;border-radius:16px;box-shadow:0 4px 6px -1px rgba(0,0,0,0.1),0 2px 4px -1px rgba(0,0,0,0.06);margin-bottom:24px;max-width:100%;overflow:hidden}@media (max-width: 639px){.week-navigation{gap:8px;padding:12px;margin-bottom:24px}}.week-nav-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:1px solid #E5E7EB;border-radius:10px;background:#FFFFFF;color:#6B7280;cursor:pointer;transition:all 150ms ease-out}.week-nav-btn:hover:not(:disabled){border-color:#FF6B35;color:#FF6B35;background:#FFF5F2}.week-nav-btn:disabled{opacity:0.3;cursor:not-allowed}@media (max-width: 639px){.week-nav-btn{width:32px;height:32px}}.week-selector{display:flex;align-items:center;gap:8px;overflow-x:auto;flex:1;min-width:0;padding:4px 0;-webkit-overflow-scrolling:touch;scrollbar-width:none}.week-selector::-webkit-scrollbar{display:none}@media (max-width: 639px){.week-selector{position:relative;mask-image:linear-gradient(to right, black 85%, transparent 100%);-webkit-mask-image:linear-gradient(to right, black 85%, transparent 100%)}}.week-resumed-indicator{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:rgba(255,107,53,0.1);border:1px solid rgba(255,107,53,0.3);border-radius:9999px;flex-shrink:0}.week-resumed-indicator i{font-size:0.625rem;color:#FF6B35}@media (max-width: 639px){.week-resumed-indicator{width:20px;height:20px}.week-resumed-indicator i{font-size:0.5rem}}.week-pill{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:52px;padding:8px 12px;border-radius:10px;border:1px solid transparent;background:transparent;cursor:pointer;transition:all 150ms ease-out;flex-shrink:0}.week-pill .week-number{font-family:"Clash Display", -apple-system, BlinkMacSystemFont, sans-serif;font-size:0.9375rem;font-weight:600;color:#1F2937}.week-pill .week-label{font-size:0.625rem;font-weight:600;text-transform:uppercase;letter-spacing:0.05em;color:#9CA3AF}.week-pill:hover:not(.active):not(.disabled){background:#F3F4F6;border-color:#E5E7EB}.week-pill.active{background:linear-gradient(135deg, #FF6B35 0%, #E55A2B 100%);color:#FFFFFF;box-shadow:0 4px 12px rgba(255,107,53,0.3)}.week-pill.active .week-number,.week-pill.active .week-label{color:#FFFFFF}.week-pill.completed .week-number{color:#10B981}.week-pill.disabled{opacity:0.4;cursor:not-allowed}.week-pill.future{opacity:0.6}.week-pill.future:hover{opacity:0.8;background:#F3F4F6;border-color:#E5E7EB}@media (max-width: 639px){.week-pill{min-width:36px;padding:4px 8px;font-size:0.75rem}}.week-view{background:#FFFFFF;border-radius:16px;padding:24px;box-shadow:0 1px 2px rgba(0,0,0,0.05)}@media (max-width: 639px){.week-view{padding:16px}}.week-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}@media (min-width: 640px) and (max-width: 1023px){.week-header{flex-direction:column;align-items:flex-start;gap:12px}}@media (max-width: 639px){.week-header{flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:24px}}.week-title{font-family:"Clash Display", -apple-system, BlinkMacSystemFont, sans-serif;font-size:1.25rem;font-weight:600;color:#1F2937}.week-stats{display:flex;gap:16px}@media (min-width: 640px) and (max-width: 1023px){.week-stats{flex-wrap:wrap;gap:12px}}.week-stat{font-size:0.875rem;color:#6B7280}.week-stat strong{font-weight:600;color:#1F2937}.completed-pct{color:#10B981;font-weight:600}.week-sidebar{display:flex;flex-direction:column;gap:24px;max-width:100%;overflow-x:hidden}@media (min-width: 640px) and (max-width: 1023px){.week-sidebar{display:grid;grid-template-columns:repeat(3, 1fr);gap:16px}}@media (max-width: 639px){.week-sidebar{grid-template-columns:1fr}}.widget{background:#FFFFFF;border-radius:16px;padding:24px;box-shadow:0 4px 6px -1px rgba(0,0,0,0.1),0 2px 4px -1px rgba(0,0,0,0.06);max-width:100%;overflow:visible}.widget .widget-title{font-family:"Clash Display", -apple-system, BlinkMacSystemFont, sans-serif;font-size:1rem;font-weight:600;color:#1F2937;margin-bottom:16px}.weekly-goal-widget{text-align:center}.goal-ring{position:relative;width:140px;height:140px;margin:0 auto 16px}.goal-ring svg{transform:rotate(-90deg);width:100%;height:100%;--gradient-start: #FF6B35;--gradient-end: #4ECDC4}.ring-bg{fill:none;stroke:#F3F4F6;stroke-width:8}.ring-fill{fill:none;stroke:url(#goalGradient);stroke-width:8;stroke-linecap:round;transition:stroke-dashoffset 0.6s ease}.goal-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.goal-value{font-family:"Clash Display", -apple-system, BlinkMacSystemFont, sans-serif;font-size:2rem;font-weight:700;color:#FF6B35}.goal-label{font-size:0.75rem;color:#9CA3AF;text-transform:uppercase;letter-spacing:0.05em}.goal-breakdown{display:flex;flex-direction:column;gap:8px}.goal-item{display:flex;justify-content:space-between;font-size:0.875rem}.goal-item-label{color:#6B7280}.goal-item-value{font-weight:600;color:#1F2937}.race-widget{background:linear-gradient(135deg, #1F2937 0%, #111827 100%);color:#FFFFFF;text-align:center}.race-countdown{margin-bottom:16px}.countdown-number{display:block;font-family:"Clash Display", -apple-system, BlinkMacSystemFont, sans-serif;font-size:3.5rem;font-weight:800;background:linear-gradient(135deg, #FF6B35 0%, #FFD93D 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1}.race-info{margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,0.1)}.race-widget .race-name{font-family:"Clash Display", -apple-system, BlinkMacSystemFont, sans-serif;font-weight:600;font-size:1rem;margin-bottom:4px}.race-widget .race-date{font-size:0.875rem;color:rgba(255,255,255,0.6)}.race-readiness{text-align:left}.readiness-label{display:block;font-size:0.6875rem;text-transform:uppercase;letter-spacing:0.05em;color:rgba(255,255,255,0.5);margin-bottom:8px}.readiness-bar{height:8px;background:rgba(255,255,255,0.1);border-radius:9999px;overflow:hidden;margin-bottom:4px}.readiness-fill{height:100%;background:linear-gradient(90deg, #4ECDC4 0%, #FFD93D 100%);border-radius:9999px}.readiness-value{font-family:"JetBrains Mono", "Fira Code", "SF Mono", Consolas, monospace;font-size:0.875rem;color:#4ECDC4}.tips-widget{background:linear-gradient(135deg, #FFF8F6 0%, #FFF0EB 100%);border:1px solid rgba(255,107,53,0.1)}.tip-card{display:flex;gap:12px;padding:12px;background:#FFFFFF;border-radius:10px;margin-bottom:12px}.tip-card:last-child{margin-bottom:0}.tip-icon{font-size:1.25rem;flex-shrink:0}.tip-text{font-size:0.8125rem;color:#1F2937;line-height:1.5}@media (max-width: 1023px){.training-journey{padding-bottom:calc($space-8 + 80px)}}.tp-toast-container{position:fixed;bottom:24px;right:24px;z-index:9999;display:flex;flex-direction:column;gap:8px;pointer-events:none}.tp-toast{padding:12px 16px;background:#292524;color:#FFFFFF;border-radius:10px;box-shadow:0 8px 32px rgba(0,0,0,0.3);font-size:0.875rem;font-weight:500;opacity:0;transform:translateX(100%);transition:all 0.3s ease;pointer-events:auto}.tp-toast.show{opacity:1;transform:translateX(0)}.tp-toast.tp-toast-success{background:#059669}.tp-toast.tp-toast-error{background:#DC2626}.tp-toast.tp-toast-info{background:#2563EB}.tp-toast-message{display:flex;align-items:center;gap:8px}.unassigned-week{background:#FFFFFF;border-radius:16px;padding:24px;box-shadow:0 1px 2px rgba(0,0,0,0.05);text-align:center;border:1px dashed #E5E7EB}.unassigned-week-content{display:flex;flex-direction:column;align-items:center;gap:12px;padding:24px 16px;color:#9CA3AF}.unassigned-week-content .unassigned-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#F3F4F6;border-radius:9999px;color:#6B7280;font-size:1.25rem}.unassigned-week-content .unassigned-title{font-family:"Clash Display", -apple-system, BlinkMacSystemFont, sans-serif;font-size:1.125rem;font-weight:600;color:#6B7280;margin:0}.unassigned-week-content .unassigned-message{font-size:0.875rem;color:#9CA3AF;max-width:300px;line-height:1.5;margin:0}.week-partial-note{display:flex;align-items:center;gap:8px;padding:12px 16px;background:rgba(245,158,11,0.1);border:1px solid rgba(245,158,11,0.2);border-radius:10px;margin-bottom:16px;font-size:0.8125rem;color:#6B7280}.week-partial-note i{color:#F59E0B}.timeline-container{position:relative;padding:var(--space-8) 0 var(--space-6);margin-bottom:var(--space-8);max-width:100%;overflow-x:hidden;overflow-y:visible}.timeline-track{position:absolute;top:calc(var(--space-8) + 20px);left:40px;right:40px;height:4px;background:var(--color-border-light);border-radius:var(--radius-full);z-index:1}.timeline-progress{height:100%;background:linear-gradient(90deg, var(--color-primary) 0%, var(--color-teal) 100%);border-radius:var(--radius-full);transition:width 0.6s ease-out;box-shadow:0 0 12px rgba(255,107,53,0.4)}.timeline-nodes{display:flex;justify-content:space-between;position:relative;z-index:2}.timeline-node{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-2);background:transparent;border:none;cursor:pointer;transition:all var(--transition-normal);position:relative}.timeline-node:hover{transform:translateY(-2px)}.timeline-node:focus{outline:none}.timeline-node:focus-visible .node-pip{box-shadow:0 0 0 3px rgba(255,107,53,0.3)}.node-pip{width:40px;height:40px;border-radius:var(--radius-full);background:white;border:3px solid var(--color-border);display:flex;align-items:center;justify-content:center;transition:all var(--transition-normal);position:relative}.timeline-node.completed .node-pip{background:linear-gradient(135deg, #10B981 0%, #059669 100%);border-color:#10B981;box-shadow:0 2px 8px rgba(16,185,129,0.3)}.timeline-node.completed .node-check{stroke:white}.timeline-node.completed:hover .node-pip{transform:scale(1.1);box-shadow:0 4px 12px rgba(16,185,129,0.4)}.timeline-node.today .node-pip{background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);border-color:var(--color-primary);box-shadow:0 0 0 4px rgba(255,107,53,0.2),0 4px 12px rgba(255,107,53,0.3)}.timeline-node.today .node-icon{stroke:white}.timeline-node.today .node-day-label{color:var(--color-primary);font-weight:700}.timeline-node.upcoming .node-pip{background:white;border-color:var(--color-border);border-style:dashed}.timeline-node.upcoming:hover .node-pip{border-color:var(--color-text-muted);box-shadow:0 2px 8px rgba(0,0,0,0.08)}.timeline-node.rest .node-pip{background:linear-gradient(135deg, #F8FAFC 0%, #F1F5F9 100%);border-color:#CBD5E1;border-style:dashed}.timeline-node.rest .node-icon{stroke:#64748B}.timeline-node.upcoming[data-workout-type="easy"] .node-pip{background:linear-gradient(135deg, rgba(34,197,94,0.1) 0%, rgba(34,197,94,0.05) 100%);border-color:rgba(34,197,94,0.5)}.timeline-node.upcoming[data-workout-type="tempo"] .node-pip{background:linear-gradient(135deg, rgba(249,115,22,0.1) 0%, rgba(249,115,22,0.05) 100%);border-color:rgba(249,115,22,0.5)}.timeline-node.upcoming[data-workout-type="long"] .node-pip{background:linear-gradient(135deg, rgba(59,130,246,0.1) 0%, rgba(59,130,246,0.05) 100%);border-color:rgba(59,130,246,0.5)}.timeline-node.upcoming[data-workout-type="interval"] .node-pip{background:linear-gradient(135deg, rgba(239,68,68,0.1) 0%, rgba(239,68,68,0.05) 100%);border-color:rgba(239,68,68,0.5)}.timeline-node.upcoming[data-workout-type="race"] .node-pip{background:linear-gradient(135deg, rgba(234,179,8,0.15) 0%, rgba(234,179,8,0.08) 100%);border-color:rgba(234,179,8,0.6)}.timeline-node.upcoming[data-workout-type="walk_run"] .node-pip{background:linear-gradient(135deg, rgba(20,184,166,0.1) 0%, rgba(20,184,166,0.05) 100%);border-color:rgba(20,184,166,0.5)}.timeline-node.upcoming[data-workout-type="walk"] .node-pip{background:linear-gradient(135deg, rgba(132,204,22,0.1) 0%, rgba(132,204,22,0.05) 100%);border-color:rgba(132,204,22,0.5)}.timeline-node.upcoming[data-workout-type="strength"] .node-pip{background:linear-gradient(135deg, rgba(139,92,246,0.12) 0%, rgba(139,92,246,0.06) 100%);border-color:rgba(139,92,246,0.5)}.timeline-node.upcoming[data-workout-type="yoga"] .node-pip{background:linear-gradient(135deg, rgba(236,72,153,0.1) 0%, rgba(236,72,153,0.05) 100%);border-color:rgba(236,72,153,0.5)}.timeline-node.upcoming[data-workout-type="bike"] .node-pip{background:linear-gradient(135deg, rgba(14,165,233,0.1) 0%, rgba(14,165,233,0.05) 100%);border-color:rgba(14,165,233,0.5)}.timeline-node.upcoming[data-workout-type="swim"] .node-pip{background:linear-gradient(135deg, rgba(6,182,212,0.1) 0%, rgba(6,182,212,0.05) 100%);border-color:rgba(6,182,212,0.5)}.timeline-node.upcoming[data-workout-type="walk"] .node-pip{background:linear-gradient(135deg, rgba(20,184,166,0.1) 0%, rgba(20,184,166,0.05) 100%);border-color:rgba(20,184,166,0.5)}.timeline-node.upcoming[data-workout-type="trail"] .node-pip{background:linear-gradient(135deg, rgba(34,197,94,0.12) 0%, rgba(34,197,94,0.06) 100%);border-color:rgba(34,197,94,0.5)}.timeline-node.today[data-workout-type="easy"] .node-pip{background:linear-gradient(135deg, #22C55E 0%, #16A34A 100%);border-color:#22C55E;box-shadow:0 0 0 4px rgba(34,197,94,0.2),0 4px 12px rgba(34,197,94,0.3)}.timeline-node.today[data-workout-type="tempo"] .node-pip{background:linear-gradient(135deg, #F97316 0%, #EA580C 100%);border-color:#F97316;box-shadow:0 0 0 4px rgba(249,115,22,0.2),0 4px 12px rgba(249,115,22,0.3)}.timeline-node.today[data-workout-type="long"] .node-pip{background:linear-gradient(135deg, #3B82F6 0%, #2563EB 100%);border-color:#3B82F6;box-shadow:0 0 0 4px rgba(59,130,246,0.2),0 4px 12px rgba(59,130,246,0.3)}.timeline-node.today[data-workout-type="interval"] .node-pip{background:linear-gradient(135deg, #EF4444 0%, #DC2626 100%);border-color:#EF4444;box-shadow:0 0 0 4px rgba(239,68,68,0.2),0 4px 12px rgba(239,68,68,0.3)}.timeline-node.today[data-workout-type="race"] .node-pip{background:linear-gradient(135deg, #EAB308 0%, #CA8A04 100%);border-color:#EAB308;box-shadow:0 0 0 4px rgba(234,179,8,0.25),0 4px 12px rgba(234,179,8,0.35)}.timeline-node.today[data-workout-type="walk_run"] .node-pip{background:linear-gradient(135deg, #14B8A6 0%, #0D9488 100%);border-color:#14B8A6;box-shadow:0 0 0 4px rgba(20,184,166,0.2),0 4px 12px rgba(20,184,166,0.3)}.timeline-node.today[data-workout-type="walk"] .node-pip{background:linear-gradient(135deg, #84CC16 0%, #65A30D 100%);border-color:#84CC16;box-shadow:0 0 0 4px rgba(132,204,22,0.2),0 4px 12px rgba(132,204,22,0.3)}.timeline-node.today[data-workout-type="strength"] .node-pip{background:linear-gradient(135deg, #8B5CF6 0%, #7C3AED 100%);border-color:#8B5CF6;box-shadow:0 0 0 4px rgba(139,92,246,0.2),0 4px 12px rgba(139,92,246,0.3)}.timeline-node.today[data-workout-type="yoga"] .node-pip{background:linear-gradient(135deg, #EC4899 0%, #DB2777 100%);border-color:#EC4899;box-shadow:0 0 0 4px rgba(236,72,153,0.2),0 4px 12px rgba(236,72,153,0.3)}.timeline-node.today[data-workout-type="bike"] .node-pip{background:linear-gradient(135deg, #0EA5E9 0%, #0284C7 100%);border-color:#0EA5E9;box-shadow:0 0 0 4px rgba(14,165,233,0.2),0 4px 12px rgba(14,165,233,0.3)}.timeline-node.today[data-workout-type="swim"] .node-pip{background:linear-gradient(135deg, #06B6D4 0%, #0891B2 100%);border-color:#06B6D4;box-shadow:0 0 0 4px rgba(6,182,212,0.2),0 4px 12px rgba(6,182,212,0.3)}.timeline-node.today[data-workout-type="walk"] .node-pip{background:linear-gradient(135deg, #14B8A6 0%, #0D9488 100%);border-color:#14B8A6;box-shadow:0 0 0 4px rgba(20,184,166,0.2),0 4px 12px rgba(20,184,166,0.3)}.timeline-node.today[data-workout-type="trail"] .node-pip{background:linear-gradient(135deg, #22C55E 0%, #16A34A 100%);border-color:#22C55E;box-shadow:0 0 0 4px rgba(34,197,94,0.2),0 4px 12px rgba(34,197,94,0.3)}.timeline-node.skipped .node-pip{background:var(--color-bg);border-color:var(--color-border);opacity:0.5}.timeline-node.skipped .node-day-label{text-decoration:line-through;color:var(--color-text-muted)}.timeline-node.empty{opacity:0.5;cursor:default}.timeline-node.empty .node-pip{background:var(--color-bg-secondary, #f5f5f5);border-color:var(--color-border-light, #e0e0e0);border-style:dotted}.timeline-node.empty .node-day,.timeline-node.empty .node-date{color:var(--color-text-muted)}.timeline-node.empty .node-workout-type{background:transparent;color:var(--color-text-muted);font-style:italic}.timeline-node.empty .node-workout-goal{color:var(--color-text-muted)}.timeline-node.empty:hover{transform:none}.timeline-node.empty:hover .node-pip{box-shadow:none}.timeline-node.active{transform:translateY(-4px)}.timeline-node.active .node-pip{box-shadow:0 0 0 4px rgba(255,255,255,0.95),0 0 0 7px var(--color-primary, #FF6B35),0 4px 16px rgba(0,0,0,0.25)}.timeline-node.active .node-day{color:var(--color-text);font-weight:700}.timeline-node.active .node-date{color:var(--color-text-secondary)}.timeline-node.active[data-workout-type="easy"] .node-pip{box-shadow:0 0 0 4px rgba(255,255,255,0.95),0 0 0 7px #22C55E,0 4px 16px rgba(34,197,94,0.4)}.timeline-node.active[data-workout-type="tempo"] .node-pip{box-shadow:0 0 0 4px rgba(255,255,255,0.95),0 0 0 7px #F97316,0 4px 16px rgba(249,115,22,0.4)}.timeline-node.active[data-workout-type="long"] .node-pip{box-shadow:0 0 0 4px rgba(255,255,255,0.95),0 0 0 7px #3B82F6,0 4px 16px rgba(59,130,246,0.4)}.timeline-node.active[data-workout-type="interval"] .node-pip{box-shadow:0 0 0 4px rgba(255,255,255,0.95),0 0 0 7px #EF4444,0 4px 16px rgba(239,68,68,0.4)}.timeline-node.active[data-workout-type="race"] .node-pip{box-shadow:0 0 0 4px rgba(255,255,255,0.95),0 0 0 7px #EAB308,0 4px 16px rgba(234,179,8,0.4)}.timeline-node.active[data-workout-type="walk_run"] .node-pip{box-shadow:0 0 0 4px rgba(255,255,255,0.95),0 0 0 7px #14B8A6,0 4px 16px rgba(20,184,166,0.4)}.timeline-node.active[data-workout-type="walk"] .node-pip{box-shadow:0 0 0 4px rgba(255,255,255,0.95),0 0 0 7px #84CC16,0 4px 16px rgba(132,204,22,0.4)}.timeline-node.active[data-workout-type="strength"] .node-pip{box-shadow:0 0 0 4px rgba(255,255,255,0.95),0 0 0 7px #8B5CF6,0 4px 16px rgba(139,92,246,0.4)}.timeline-node.active[data-workout-type="yoga"] .node-pip{box-shadow:0 0 0 4px rgba(255,255,255,0.95),0 0 0 7px #EC4899,0 4px 16px rgba(236,72,153,0.4)}.timeline-node.active[data-workout-type="bike"] .node-pip{box-shadow:0 0 0 4px rgba(255,255,255,0.95),0 0 0 7px #0EA5E9,0 4px 16px rgba(14,165,233,0.4)}.timeline-node.active[data-workout-type="swim"] .node-pip{box-shadow:0 0 0 4px rgba(255,255,255,0.95),0 0 0 7px #06B6D4,0 4px 16px rgba(6,182,212,0.4)}.timeline-node.active[data-workout-type="walk"] .node-pip{box-shadow:0 0 0 4px rgba(255,255,255,0.95),0 0 0 7px #14B8A6,0 4px 16px rgba(20,184,166,0.4)}.timeline-node.active[data-workout-type="trail"] .node-pip{box-shadow:0 0 0 4px rgba(255,255,255,0.95),0 0 0 7px #22C55E,0 4px 16px rgba(34,197,94,0.4)}.timeline-node.active[data-workout-type="rest"] .node-pip{box-shadow:0 0 0 4px rgba(255,255,255,0.95),0 0 0 7px #64748B,0 4px 16px rgba(100,116,139,0.3)}.timeline-node.completed.active .node-pip{box-shadow:0 0 0 4px rgba(255,255,255,0.95),0 0 0 7px #10B981,0 4px 16px rgba(16,185,129,0.4)}.node-icon{width:20px;height:20px;stroke-width:2;stroke:var(--color-text-secondary)}.node-check{width:18px;height:18px;stroke-width:3}.node-today-badge{position:absolute;top:-8px;left:50%;transform:translateX(-50%);background:var(--color-primary);color:white;font-size:0.5625rem;font-weight:700;letter-spacing:0.05em;padding:2px 6px;border-radius:var(--radius-sm);white-space:nowrap;z-index:3}.node-today-pulse{width:12px;height:12px;background:white;border-radius:var(--radius-full);animation:innerPulse 1.5s ease-in-out infinite}@keyframes innerPulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.2);opacity:0.8}}.node-info{display:flex;flex-direction:column;align-items:center;gap:0}.node-day{font-family:var(--font-display);font-size:0.75rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:0.02em}.node-date{font-family:var(--font-mono);font-size:0.6875rem;color:var(--color-text-muted)}.timeline-node.today .node-day,.timeline-node.today .node-date{color:var(--color-primary)}.node-workout-details{display:flex;flex-direction:column;align-items:center;gap:2px;margin-top:var(--space-1)}.node-workout-type{font-size:0.625rem;font-weight:700;text-transform:uppercase;letter-spacing:0.04em;padding:2px 6px;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.node-workout-type.easy,.node-workout-type.run{background:rgba(34,197,94,0.12);color:#16A34A;border:1px solid rgba(34,197,94,0.25)}.node-workout-type.tempo{background:rgba(249,115,22,0.12);color:#EA580C;border:1px solid rgba(249,115,22,0.25)}.node-workout-type.long{background:rgba(59,130,246,0.12);color:#2563EB;border:1px solid rgba(59,130,246,0.25)}.node-workout-type.interval,.node-workout-type.intervals{background:rgba(239,68,68,0.12);color:#DC2626;border:1px solid rgba(239,68,68,0.25)}.node-workout-type.race{background:rgba(234,179,8,0.15);color:#CA8A04;border:1px solid rgba(234,179,8,0.3)}.node-workout-type.walk_run,.node-workout-type.walk\/run{background:rgba(20,184,166,0.12);color:#0D9488;border:1px solid rgba(20,184,166,0.25)}.node-workout-type.walk{background:rgba(132,204,22,0.12);color:#65A30D;border:1px solid rgba(132,204,22,0.25)}.node-workout-type.strength,.node-workout-type.cross_train{background:rgba(139,92,246,0.12);color:#7C3AED;border:1px solid rgba(139,92,246,0.25)}.node-workout-type.yoga{background:rgba(236,72,153,0.12);color:#DB2777;border:1px solid rgba(236,72,153,0.25)}.node-workout-type.bike{background:rgba(14,165,233,0.12);color:#0284C7;border:1px solid rgba(14,165,233,0.25)}.node-workout-type.swim{background:rgba(6,182,212,0.12);color:#0891B2;border:1px solid rgba(6,182,212,0.25)}.node-workout-type.walk{background:rgba(20,184,166,0.12);color:#0D9488;border:1px solid rgba(20,184,166,0.25)}.node-workout-type.trail{background:rgba(34,197,94,0.12);color:#16A34A;border:1px solid rgba(34,197,94,0.25)}.node-workout-type.other{background:rgba(107,114,128,0.12);color:#4B5563;border:1px solid rgba(107,114,128,0.2)}.node-workout-type.rest-day,.node-workout-type.rest{background:rgba(100,116,139,0.08);color:#64748B;border:1px solid rgba(100,116,139,0.15)}.node-workout-goal{font-family:var(--font-display);font-size:0.8125rem;font-weight:600;color:var(--color-text);transition:all var(--transition-fast)}.node-workout-details:has(.node-workout-type.easy) .node-workout-goal,.node-workout-details:has(.node-workout-type.run) .node-workout-goal{color:#15803D}.node-workout-details:has(.node-workout-type.tempo) .node-workout-goal{color:#C2410C}.node-workout-details:has(.node-workout-type.long) .node-workout-goal{color:#1D4ED8}.node-workout-details:has(.node-workout-type.interval) .node-workout-goal,.node-workout-details:has(.node-workout-type.intervals) .node-workout-goal{color:#B91C1C}.node-workout-details:has(.node-workout-type.race) .node-workout-goal{color:#A16207}.node-workout-details:has(.node-workout-type.walk_run) .node-workout-goal{color:#0F766E}.node-workout-details:has(.node-workout-type.walk) .node-workout-goal{color:#4D7C0F}.node-workout-details:has(.node-workout-type.strength) .node-workout-goal,.node-workout-details:has(.node-workout-type.cross_train) .node-workout-goal{color:#6D28D9}.node-workout-details:has(.node-workout-type.yoga) .node-workout-goal{color:#BE185D}.node-workout-details:has(.node-workout-type.bike) .node-workout-goal{color:#0369A1}.node-workout-details:has(.node-workout-type.swim) .node-workout-goal{color:#0E7490}.node-workout-details:has(.node-workout-type.walk) .node-workout-goal{color:#0F766E}.node-workout-details:has(.node-workout-type.trail) .node-workout-goal{color:#15803D}.node-workout-details:has(.node-workout-type.other) .node-workout-goal{color:#374151}.node-workout-details:has(.node-workout-type.rest-day) .node-workout-goal,.node-workout-details:has(.node-workout-type.rest) .node-workout-goal{color:#475569}.timeline-node.upcoming .node-workout-type{opacity:0.85}.timeline-node.upcoming .node-workout-goal{opacity:0.85}.timeline-node:hover .node-workout-details{transform:translateY(-1px)}.node-day-label{font-size:0.6875rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:0.03em}.node-date-label{font-size:0.625rem;color:var(--color-text-muted)}.timeline-node.selected::after{content:'';position:absolute;bottom:-8px;left:50%;transform:translateX(-50%);width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:8px solid white;filter:drop-shadow(0 -2px 2px rgba(0,0,0,0.05))}.day-detail-panel{background:white;border-radius:var(--radius-xl);box-shadow:var(--shadow-md);padding:var(--space-6);animation:slideUp 0.3s ease-out}@keyframes slideUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.detail-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:var(--space-5)}.detail-title-group{display:flex;align-items:flex-start;gap:var(--space-4)}.detail-icon{width:56px;height:56px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;flex-shrink:0}.detail-icon svg{width:28px;height:28px;stroke-width:2}.detail-icon.easy{background:linear-gradient(135deg, rgba(255,107,53,0.1) 0%, rgba(255,107,53,0.05) 100%);color:var(--color-primary)}.detail-icon.tempo{background:linear-gradient(135deg, rgba(245,158,11,0.1) 0%, rgba(245,158,11,0.05) 100%);color:#F59E0B}.detail-icon.long{background:linear-gradient(135deg, rgba(139,92,246,0.1) 0%, rgba(139,92,246,0.05) 100%);color:#8B5CF6}.detail-icon.interval,.detail-icon.intervals{background:linear-gradient(135deg, rgba(239,68,68,0.1) 0%, rgba(239,68,68,0.05) 100%);color:#EF4444}.detail-icon.cross_train{background:linear-gradient(135deg, rgba(59,130,246,0.1) 0%, rgba(59,130,246,0.05) 100%);color:#3B82F6}.detail-icon.rest{background:linear-gradient(135deg, rgba(139,92,246,0.1) 0%, rgba(139,92,246,0.05) 100%);color:#8B5CF6}.detail-titles{display:flex;flex-direction:column;gap:var(--space-1)}.detail-day{font-size:0.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:var(--color-text-muted)}.detail-workout-name{font-family:var(--font-display);font-size:1.25rem;font-weight:700;color:var(--color-text);margin:0}.detail-type-badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);font-size:0.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:0.05em}.detail-type-badge.easy,.detail-type-badge.tempo,.detail-type-badge.long,.detail-type-badge.interval,.detail-type-badge.intervals,.detail-type-badge.run{background:rgba(255,107,53,0.1);color:#EA580C}.detail-type-badge.walk_run,.detail-type-badge.walk\/run{background:rgba(20,184,166,0.1);color:#0F766E}.detail-type-badge.walk{background:rgba(132,204,22,0.1);color:#4D7C0F}.detail-type-badge.strength,.detail-type-badge.cross_train{background:rgba(139,92,246,0.1);color:#7C3AED}.detail-type-badge.yoga{background:rgba(236,72,153,0.1);color:#DB2777}.detail-type-badge.bike{background:rgba(59,130,246,0.1);color:#2563EB}.detail-type-badge.swim{background:rgba(6,182,212,0.1);color:#0891B2}.detail-type-badge.trail{background:rgba(34,197,94,0.1);color:#16A34A}.detail-type-badge.other{background:rgba(107,114,128,0.1);color:#4B5563}.detail-type-badge.rest,.detail-type-badge.rest-day{background:rgba(107,114,128,0.08);color:#6B7280}.detail-type-badge.custom{background:linear-gradient(135deg, rgba(107,114,128,0.15), rgba(107,114,128,0.08));color:#4B5563;border:1px solid rgba(107,114,128,0.2)}.detail-type-badge.race{background:linear-gradient(135deg, rgba(34,197,94,0.15), rgba(34,197,94,0.08));color:#16A34A;border:1px solid rgba(34,197,94,0.2)}.detail-type-badge.muted{opacity:0.5}.detail-actions{display:flex;align-items:center;gap:var(--space-2)}.detail-content{display:grid;grid-template-columns:1fr 320px;gap:var(--space-6)}.detail-metrics{display:flex;flex-direction:column;gap:var(--space-5)}.metrics-row{display:grid;grid-template-columns:repeat(3, 1fr);gap:var(--space-4)}.metric-card{background:var(--color-bg);border-radius:var(--radius-lg);padding:var(--space-4);text-align:center}.metric-value{font-family:var(--font-display);font-size:1.5rem;font-weight:700;color:var(--color-text);margin-bottom:var(--space-1)}.metric-label{font-size:0.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:0.05em;color:var(--color-text-muted)}.coach-notes-section{background:linear-gradient(135deg, rgba(255,107,53,0.05) 0%, transparent 100%);border-left:3px solid var(--color-primary);border-radius:0 var(--radius-lg) var(--radius-lg) 0;padding:var(--space-4)}.coach-notes-header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.coach-avatar{width:28px;height:28px;border-radius:var(--radius-full);object-fit:cover}.coach-name{font-size:0.75rem;font-weight:600;color:var(--color-text)}.coach-badge{font-size:0.625rem;font-weight:600;text-transform:uppercase;letter-spacing:0.05em;color:var(--color-primary);background:rgba(255,107,53,0.1);padding:2px 6px;border-radius:var(--radius-sm)}.coach-notes-text{font-size:0.875rem;line-height:1.6;color:var(--color-text);margin:0}.detail-sidebar{display:flex;flex-direction:column;gap:var(--space-4)}.workout-breakdown{background:var(--color-bg);border-radius:var(--radius-lg);padding:var(--space-4)}.breakdown-title{font-size:0.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:var(--color-text-muted);margin-bottom:var(--space-3)}.breakdown-items{display:flex;flex-direction:column;gap:var(--space-2)}.breakdown-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2);background:white;border-radius:var(--radius-md)}.breakdown-icon{width:28px;height:28px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0}.breakdown-icon svg{width:14px;height:14px}.breakdown-icon.warmup{background:rgba(16,185,129,0.1);color:#10B981}.breakdown-icon.main{background:rgba(255,107,53,0.1);color:var(--color-primary)}.breakdown-icon.cooldown{background:rgba(59,130,246,0.1);color:#3B82F6}.breakdown-info{flex:1;min-width:0}.breakdown-phase{font-size:0.75rem;font-weight:600;color:var(--color-text)}.breakdown-details{font-size:0.6875rem;color:var(--color-text-muted)}.quick-actions{display:flex;flex-direction:column;gap:var(--space-2)}.quick-action-btn{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:white;border:1px solid var(--color-border-light);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast)}.quick-action-btn:hover{border-color:var(--color-primary);box-shadow:0 2px 8px rgba(255,107,53,0.1)}.quick-action-btn svg{width:18px;height:18px;color:var(--color-text-muted)}.quick-action-btn:hover svg{color:var(--color-primary)}.action-text{flex:1;text-align:left}.action-title{font-size:0.8125rem;font-weight:600;color:var(--color-text)}.action-desc{font-size:0.6875rem;color:var(--color-text-muted)}.week-sidebar{display:flex;flex-direction:column;gap:var(--space-5)}.weekly-goal-widget{text-align:center}.goal-ring{position:relative;width:140px;height:140px;margin:0 auto var(--space-4)}.goal-ring svg{transform:rotate(-90deg);width:100%;height:100%;--gradient-start: var(--color-primary);--gradient-end: var(--color-teal)}.ring-bg{fill:none;stroke:var(--color-border-light);stroke-width:8}.ring-fill{fill:none;stroke:url(#goalGradient);stroke-width:8;stroke-linecap:round;transition:stroke-dashoffset 0.6s ease}.goal-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.goal-value{font-family:var(--font-display);font-size:2rem;font-weight:700;color:var(--color-primary)}.goal-label{font-size:0.75rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:0.05em}.goal-breakdown{display:flex;flex-direction:column;gap:var(--space-2)}.goal-item{display:flex;justify-content:space-between;font-size:0.875rem}.goal-item-label{color:var(--color-text-secondary)}.goal-item-value{font-weight:600;color:var(--color-text)}.race-widget{background:linear-gradient(135deg, #1A1A2E 0%, #16213E 100%);border-radius:var(--radius-lg);padding:var(--space-4);color:white}.race-widget-header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3)}.race-widget-icon{font-size:1rem}.race-widget-title{font-size:0.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:rgba(255,255,255,0.7)}.race-widget-name{font-family:var(--font-display);font-size:1rem;font-weight:600;margin-bottom:var(--space-3)}.race-countdown{display:flex;gap:var(--space-3);margin-bottom:var(--space-3)}.countdown-item{text-align:center}.countdown-value{font-family:var(--font-display);font-size:1.5rem;font-weight:700;color:var(--color-primary)}.countdown-label{font-size:0.625rem;text-transform:uppercase;letter-spacing:0.05em;color:rgba(255,255,255,0.6)}.race-progress-bar{height:4px;background:rgba(255,255,255,0.2);border-radius:var(--radius-full);overflow:hidden}.race-progress-fill{height:100%;background:linear-gradient(90deg, var(--color-primary) 0%, var(--color-teal) 100%);border-radius:var(--radius-full);transition:width 0.6s ease}.tips-widget{background:white;border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-sm)}.tips-header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3)}.tips-icon{font-size:1rem;color:#F59E0B}.tips-title{font-size:0.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:var(--color-text-muted)}.tip-content{display:flex;align-items:flex-start;gap:var(--space-3)}.tip-emoji{font-size:1.25rem;flex-shrink:0}.tip-text{font-size:0.8125rem;color:var(--color-text);line-height:1.5}@media (min-width: 640px) and (max-width: 1023px){.week-sidebar{display:grid;grid-template-columns:repeat(3, 1fr);gap:var(--space-4)}.week-days{grid-template-columns:repeat(4, 1fr)}.week-days{grid-template-columns:repeat(3, 1fr)}}@media (max-width: 768px){.plan-overview-main{flex-direction:column;text-align:center}.plan-target{text-align:center;width:100%}.plan-stats-row{justify-content:center;flex-wrap:wrap;gap:var(--space-5)}.week-header{flex-direction:column;align-items:flex-start;gap:var(--space-3)}.week-days{grid-template-columns:1fr}.day-card{display:grid;grid-template-columns:auto 1fr auto;gap:var(--space-3);align-items:center}.day-header{flex-direction:column;align-items:flex-start;margin-bottom:0}.day-workout{margin-bottom:0}.day-actual,.day-details,.day-xp{grid-column:1 / -1}.day-actions{grid-column:1 / -1;flex-direction:row}.week-sidebar{grid-template-columns:1fr}.week-selector{justify-content:flex-start}}@media (max-width: 480px){.plan-name{font-size:1.5rem}.plan-stats-row{gap:var(--space-4)}.plan-stat-value{font-size:1.5rem}.week-pill{min-width:40px;padding:var(--space-2)}}.mission-hero{display:grid;grid-template-columns:1fr 340px;gap:var(--space-6);margin-bottom:var(--space-5)}.mission-hero-left{display:flex;flex-direction:column;gap:var(--space-3)}.mission-description{font-size:0.9375rem;line-height:1.6;color:var(--color-text-secondary);margin:0;max-width:480px}.mission-metrics-card{background:white;border-radius:var(--radius-lg);border:1px solid var(--color-border-light);padding:var(--space-4);box-shadow:0 2px 8px rgba(0,0,0,0.04)}.metrics-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border-light)}.metrics-card-title{font-size:0.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:var(--color-text-muted)}.metric-row{display:flex;gap:var(--space-3);padding:var(--space-3) 0}.metric-row:not(:last-child){border-bottom:1px dashed var(--color-border-light)}.metric-row.targets-metric{border-bottom:none;padding-bottom:0}.metric-icon-wrap{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--color-bg);border-radius:var(--radius-sm);color:var(--color-text-muted);flex-shrink:0}.metric-content{flex:1;min-width:0}.metric-row .metric-value{font-size:1rem}.metric-row .metric-value.pace{color:var(--color-primary)}.target-pills{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}.target-pill{display:inline-flex;align-items:center;gap:4px;padding:var(--space-1) var(--space-2);background:white;border:1px solid var(--color-border-light);border-radius:var(--radius-full);font-size:0.6875rem}.target-pill .zone{font-weight:700;color:var(--color-primary)}.target-pill .value{color:var(--color-text-secondary)}.workout-detail-view{background:white;border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);overflow:hidden;animation:slideUp 0.3s ease-out}.workout-detail-header{display:flex;justify-content:space-between;align-items:flex-start;padding:var(--space-6);background:linear-gradient(135deg, #FAFAFA 0%, white 100%);border-bottom:1px solid var(--color-border-light)}.workout-header-left{display:flex;gap:var(--space-5)}.workout-type-icon{width:72px;height:72px;border-radius:var(--radius-xl);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.workout-type-icon::before{content:'';position:absolute;inset:0;border-radius:var(--radius-xl);padding:2px;background:linear-gradient(135deg, var(--type-color-start, var(--color-primary)) 0%, var(--type-color-end, var(--color-teal)) 100%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude}.workout-type-icon svg{width:36px;height:36px;stroke-width:1.5;position:relative;z-index:1}.workout-type-icon.easy{background:linear-gradient(135deg, rgba(255,107,53,0.1) 0%, rgba(255,107,53,0.05) 100%);color:var(--color-primary);--type-color-start: #FF6B35;--type-color-end: #F7931E}.workout-type-icon.tempo{background:linear-gradient(135deg, rgba(245,158,11,0.1) 0%, rgba(245,158,11,0.05) 100%);color:#F59E0B;--type-color-start: #F59E0B;--type-color-end: #FBBF24}.workout-type-icon.long{background:linear-gradient(135deg, rgba(139,92,246,0.1) 0%, rgba(139,92,246,0.05) 100%);color:#8B5CF6;--type-color-start: #8B5CF6;--type-color-end: #A78BFA}.workout-type-icon.interval,.workout-type-icon.intervals{background:linear-gradient(135deg, rgba(239,68,68,0.1) 0%, rgba(239,68,68,0.05) 100%);color:#EF4444;--type-color-start: #EF4444;--type-color-end: #F87171}.workout-type-icon.cross_train{background:linear-gradient(135deg, rgba(59,130,246,0.1) 0%, rgba(59,130,246,0.05) 100%);color:#3B82F6;--type-color-start: #3B82F6;--type-color-end: #60A5FA}.workout-type-icon.rest{background:linear-gradient(135deg, rgba(107,114,128,0.1) 0%, rgba(107,114,128,0.05) 100%);color:#6B7280;--type-color-start: #6B7280;--type-color-end: #9CA3AF}.workout-header-info{display:flex;flex-direction:column;gap:var(--space-2)}.workout-day-badge{display:inline-flex;align-items:center;gap:var(--space-2);font-size:0.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:var(--color-text-muted)}.workout-day-badge .date{color:var(--color-text-secondary);font-weight:500}.workout-title{font-family:var(--font-display);font-size:1.75rem;font-weight:700;color:var(--color-text);margin:0;line-height:1.2}.workout-type-tag{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--radius-full);font-size:0.75rem;font-weight:600;width:fit-content}.workout-type-tag .dot{width:8px;height:8px;border-radius:var(--radius-full)}.workout-type-tag.easy{background:rgba(255,107,53,0.1);color:var(--color-primary)}.workout-type-tag.easy .dot{background:var(--color-primary)}.workout-type-tag.tempo{background:rgba(245,158,11,0.1);color:#B45309}.workout-type-tag.tempo .dot{background:#F59E0B}.workout-type-tag.long{background:rgba(139,92,246,0.1);color:#6D28D9}.workout-type-tag.long .dot{background:#8B5CF6}.workout-type-tag.interval,.workout-type-tag.intervals{background:rgba(239,68,68,0.1);color:#B91C1C}.workout-type-tag.interval .dot,.workout-type-tag.intervals .dot{background:#EF4444}.workout-type-tag.cross_train{background:rgba(59,130,246,0.1);color:#1D4ED8}.workout-type-tag.cross_train .dot{background:#3B82F6}.workout-type-tag.rest{background:rgba(107,114,128,0.1);color:#374151}.workout-type-tag.rest .dot{background:#6B7280}.workout-header-right{display:flex;gap:var(--space-6);align-items:flex-start}.quick-stat{text-align:center}.quick-stat-value{font-family:var(--font-display);font-size:1.75rem;font-weight:700;color:var(--color-text);line-height:1}.quick-stat-value .unit{font-size:0.875rem;font-weight:500;color:var(--color-text-secondary);margin-left:2px}.quick-stat-label{font-size:0.625rem;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:var(--color-text-muted);margin-top:var(--space-1)}.workout-detail-body{display:grid;grid-template-columns:1fr 360px;gap:var(--space-6);padding:var(--space-6)}.workout-main-content{display:flex;flex-direction:column;gap:var(--space-6)}.refined-coach-section{background:linear-gradient(135deg, rgba(255,107,53,0.03) 0%, transparent 100%);border-left:4px solid var(--color-primary);border-radius:0 var(--radius-lg) var(--radius-lg) 0;padding:var(--space-5)}.refined-coach-header{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3)}.refined-coach-avatar{position:relative}.refined-coach-avatar img{width:44px;height:44px;border-radius:var(--radius-full);border:3px solid white;box-shadow:0 2px 8px rgba(0,0,0,0.1)}.coach-verified-badge{position:absolute;bottom:-2px;right:-2px;width:18px;height:18px;background:linear-gradient(135deg, #10B981 0%, #059669 100%);border-radius:var(--radius-full);border:2px solid white;display:flex;align-items:center;justify-content:center}.coach-verified-badge svg{width:10px;height:10px;stroke:white;stroke-width:3}.refined-coach-info{flex:1}.refined-coach-name{font-weight:700;color:var(--color-text);font-size:0.9375rem}.refined-coach-title{font-size:0.75rem;color:var(--color-text-muted)}.coach-specialties{display:flex;gap:var(--space-1)}.specialty-tag{font-size:0.5625rem;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;padding:2px 6px;border-radius:var(--radius-sm);background:rgba(255,107,53,0.1);color:var(--color-primary)}.refined-coach-message{font-size:0.9375rem;line-height:1.7;color:var(--color-text);margin:0}.refined-coach-message .highlight{color:var(--color-primary);font-weight:600}.workout-structure-section{background:white;border-radius:var(--radius-lg);border:1px solid var(--color-border-light);overflow:hidden}.structure-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);background:var(--color-bg);border-bottom:1px solid var(--color-border-light)}.structure-title{display:flex;align-items:center;gap:var(--space-2);font-size:0.75rem;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:var(--color-text-muted)}.structure-title svg{width:16px;height:16px;color:var(--color-primary)}.structure-total{font-size:0.75rem;font-weight:600;color:var(--color-text-secondary)}.structure-phases{padding:var(--space-4)}.structure-phase{display:flex;align-items:stretch;gap:var(--space-4);padding:var(--space-4);background:var(--color-bg);border-radius:var(--radius-lg);margin-bottom:var(--space-3)}.structure-phase:last-child{margin-bottom:0}.phase-indicator{width:4px;border-radius:var(--radius-full);flex-shrink:0}.phase-indicator.warmup{background:linear-gradient(180deg, #10B981 0%, #34D399 100%)}.phase-indicator.main{background:linear-gradient(180deg, var(--color-primary) 0%, #F7931E 100%)}.phase-indicator.cooldown{background:linear-gradient(180deg, #3B82F6 0%, #60A5FA 100%)}.phase-content{flex:1}.phase-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-2)}.phase-name{font-size:0.75rem;font-weight:700;text-transform:uppercase;letter-spacing:0.05em}.phase-name.warmup{color:#059669}.phase-name.main{color:var(--color-primary)}.phase-name.cooldown{color:#2563EB}.phase-duration{font-size:0.75rem;font-weight:600;color:var(--color-text-secondary)}.phase-details{font-size:0.8125rem;color:var(--color-text);line-height:1.5}.workout-detail-sidebar{display:flex;flex-direction:column;gap:var(--space-5)}.target-zones-card{background:white;border-radius:var(--radius-lg);border:1px solid var(--color-border-light);padding:var(--space-5)}.zones-header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4)}.zones-icon{width:32px;height:32px;background:rgba(255,107,53,0.1);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:var(--color-primary)}.zones-icon svg{width:16px;height:16px}.zones-title{font-size:0.875rem;font-weight:700;color:var(--color-text)}.zone-items{display:flex;flex-direction:column;gap:var(--space-3)}.zone-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--color-bg);border-radius:var(--radius-md)}.zone-badge{width:36px;height:36px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:0.75rem;font-weight:800;color:white;flex-shrink:0}.zone-badge.z1{background:linear-gradient(135deg, #10B981 0%, #059669 100%)}.zone-badge.z2{background:linear-gradient(135deg, #3B82F6 0%, #2563EB 100%)}.zone-badge.z3{background:linear-gradient(135deg, #F59E0B 0%, #D97706 100%)}.zone-badge.z4{background:linear-gradient(135deg, #EF4444 0%, #DC2626 100%)}.zone-badge.z5{background:linear-gradient(135deg, #7C3AED 0%, #6D28D9 100%)}.zone-info{flex:1;min-width:0}.zone-name{font-size:0.75rem;font-weight:600;color:var(--color-text)}.zone-range{font-size:0.6875rem;color:var(--color-text-muted)}.zone-target{text-align:right}.zone-target-value{font-family:var(--font-display);font-size:1rem;font-weight:700;color:var(--color-text)}.zone-target-label{font-size:0.5625rem;font-weight:600;text-transform:uppercase;letter-spacing:0.05em;color:var(--color-text-muted)}.equipment-card{background:white;border-radius:var(--radius-lg);border:1px solid var(--color-border-light);padding:var(--space-5)}.equipment-header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4)}.equipment-icon{width:32px;height:32px;background:rgba(59,130,246,0.1);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:#3B82F6}.equipment-title{font-size:0.875rem;font-weight:700;color:var(--color-text)}.equipment-items{display:flex;flex-wrap:wrap;gap:var(--space-2)}.equipment-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-bg);border-radius:var(--radius-md);font-size:0.8125rem;color:var(--color-text)}.equipment-item svg{width:16px;height:16px;color:var(--color-text-muted)}.quick-actions-card{display:flex;flex-direction:column;gap:var(--space-2)}.action-card-btn{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);background:white;border:1px solid var(--color-border-light);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast)}.action-card-btn:hover{border-color:var(--color-primary);box-shadow:0 4px 12px rgba(255,107,53,0.1);transform:translateY(-1px)}.action-card-icon{width:40px;height:40px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.action-card-icon svg{width:20px;height:20px}.action-card-icon.modify{background:rgba(139,92,246,0.1);color:#7C3AED}.action-card-icon.swap{background:rgba(16,185,129,0.1);color:#059669}.action-card-icon.share{background:rgba(59,130,246,0.1);color:#2563EB}.action-card-content{flex:1;text-align:left}.action-card-title{font-size:0.875rem;font-weight:600;color:var(--color-text)}.action-card-desc{font-size:0.75rem;color:var(--color-text-muted)}.action-card-btn .chevron{color:var(--color-text-muted);transition:transform var(--transition-fast)}.action-card-btn:hover .chevron{transform:translateX(2px);color:var(--color-primary)}.workout-detail-view.rest-day{background:linear-gradient(135deg, #F3E8FF 0%, #EDE9FE 100%)}.workout-detail-view.rest-day .workout-detail-header{background:linear-gradient(135deg, rgba(139,92,246,0.05) 0%, rgba(139,92,246,0.02) 100%)}.rest-day-content{text-align:center;padding:var(--space-8)}.rest-illustration{width:120px;height:120px;margin:0 auto var(--space-5);background:linear-gradient(135deg, rgba(139,92,246,0.1) 0%, rgba(139,92,246,0.05) 100%);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center}.rest-illustration svg{width:60px;height:60px;color:#7C3AED}.rest-message{max-width:480px;margin:0 auto}.rest-message h3{font-family:var(--font-display);font-size:1.5rem;font-weight:700;color:#5B21B6;margin-bottom:var(--space-3)}.rest-message p{font-size:1rem;line-height:1.7;color:var(--color-text-secondary)}.rest-activities{display:flex;justify-content:center;gap:var(--space-4);margin-top:var(--space-6)}.rest-activity{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-4);background:white;border-radius:var(--radius-lg);min-width:100px}.rest-activity-icon{width:40px;height:40px;border-radius:var(--radius-md);background:rgba(139,92,246,0.1);display:flex;align-items:center;justify-content:center;color:#7C3AED}.rest-activity-name{font-size:0.75rem;font-weight:600;color:var(--color-text)}@media (max-width: 1024px){.workout-detail-body{grid-template-columns:1fr}.workout-detail-sidebar{display:grid;grid-template-columns:repeat(2, 1fr);gap:var(--space-4)}.quick-actions-card{grid-column:1 / -1;flex-direction:row;flex-wrap:wrap}.action-card-btn{flex:1;min-width:200px}}@media (max-width: 768px){.workout-detail-header{flex-direction:column;gap:var(--space-4)}.workout-header-left{flex-direction:column;align-items:center;text-align:center}.workout-header-right{justify-content:center;width:100%;padding-top:var(--space-4);border-top:1px solid var(--color-border-light)}.workout-detail-sidebar{grid-template-columns:1fr}.quick-actions-card{flex-direction:column}.action-card-btn{min-width:auto}.mission-hero{grid-template-columns:1fr}.rest-activities{flex-direction:column;align-items:center}}.refined-results-section{display:flex;align-items:stretch;gap:var(--space-5);padding:var(--space-5);background:linear-gradient(135deg, #F0FDF4 0%, #ECFDF5 100%);border-radius:var(--radius-lg);border:1px solid rgba(16,185,129,0.2)}.refined-left{flex:1;display:flex;flex-direction:column;gap:var(--space-4)}.refined-results-header{display:flex;align-items:center;gap:var(--space-2)}.results-check-badge{width:28px;height:28px;background:linear-gradient(135deg, #10B981 0%, #059669 100%);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center}.results-check-badge svg{width:14px;height:14px;stroke:white;stroke-width:3}.results-title{font-size:0.75rem;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:#059669}.results-timestamp{font-size:0.6875rem;color:var(--color-text-muted);margin-left:auto}.results-card{background:white;border-radius:var(--radius-lg);padding:var(--space-4);display:flex;align-items:center;gap:var(--space-5);box-shadow:0 2px 8px rgba(0,0,0,0.04);max-width:400px}.results-primary{text-align:center;padding-right:var(--space-5);border-right:1px solid var(--color-border-light)}.results-big-number{font-family:var(--font-display);font-size:3rem;font-weight:700;color:#059669;line-height:1}.results-big-label{font-size:0.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:0.1em;color:var(--color-text-muted);margin-top:var(--space-1)}.results-secondary{display:flex;flex-direction:column;gap:var(--space-2)}.result-item{display:flex;align-items:center;gap:var(--space-2)}.result-icon{width:24px;height:24px;background:var(--color-bg);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:var(--color-text-muted)}.result-icon svg{width:12px;height:12px}.result-value{font-weight:600;color:var(--color-text);font-size:0.875rem}.result-label{font-size:0.6875rem;color:var(--color-text-muted)}.refined-right{display:flex;align-items:center;justify-content:flex-end}.xp-celebration{text-align:center;padding:var(--space-4);background:linear-gradient(135deg, #FEF3C7 0%, #FDE68A 100%);border-radius:var(--radius-lg);min-width:100px}.xp-icon{font-size:2rem;margin-bottom:var(--space-2);animation:xp-bounce 2s ease-in-out infinite}@keyframes xp-bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}.xp-earned{font-family:var(--font-display);font-size:1.5rem;font-weight:700;color:#B45309}.xp-label{font-size:0.625rem;font-weight:600;text-transform:uppercase;letter-spacing:0.1em;color:#92400E}@media (max-width: 768px){.refined-results-section{flex-direction:column;gap:var(--space-4)}.refined-right{justify-content:center}.results-card{max-width:100%}.results-big-number{font-size:2.5rem}}.learning-bites-widget{background:white;border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-md)}.learning-bites-widget .widget-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4)}.learning-bites-widget .widget-title{font-family:var(--font-display);font-size:1rem;font-weight:600;color:var(--color-text)}.learning-bites-widget .widget-link{font-size:0.75rem;font-weight:600;color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}.learning-bites-widget .widget-link:hover{color:#D95E32}.learning-bite-card{display:block;text-decoration:none;background:var(--color-bg);border-radius:var(--radius-md);overflow:hidden;margin-bottom:var(--space-3);transition:all var(--transition-fast);border:1px solid transparent}.learning-bite-card:last-child{margin-bottom:0}.learning-bite-card:hover{border-color:var(--color-primary-light);box-shadow:0 4px 12px rgba(233,119,80,0.1);transform:translateY(-2px)}.bite-image{position:relative;width:100%;height:100px;overflow:hidden}.bite-image img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-normal)}.learning-bite-card:hover .bite-image img{transform:scale(1.05)}.bite-image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg, #667eea 0%, #764ba2 100%);color:rgba(255,255,255,0.8);font-size:2rem;transition:transform var(--transition-normal)}.learning-bite-card:hover .bite-image-placeholder{transform:scale(1.05)}.bite-tag{position:absolute;top:var(--space-2);left:var(--space-2);padding:var(--space-1) var(--space-2);background:rgba(0,0,0,0.7);backdrop-filter:blur(8px);color:white;font-size:0.625rem;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;border-radius:var(--radius-sm)}.bite-content{padding:var(--space-3)}.bite-title{font-size:0.8125rem;font-weight:600;color:var(--color-text);margin-bottom:var(--space-1);line-height:1.4}.bite-meta{display:flex;align-items:center;gap:var(--space-2);font-size:0.6875rem;color:var(--color-text-muted)}.bite-meta svg{width:12px;height:12px}.social-section{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);background:var(--color-bg);border-radius:var(--radius-lg);margin-top:var(--space-4)}.high-fives-group{display:flex;align-items:center;gap:var(--space-2)}.high-fives-avatars{display:flex}.hf-avatar{width:24px;height:24px;border-radius:50%;border:2px solid white;margin-left:-8px;background:var(--color-bg);box-shadow:0 1px 3px rgba(0,0,0,0.1)}.hf-avatar:first-child{margin-left:0}.hf-avatar.coach{border-color:var(--color-primary);box-shadow:0 0 0 2px rgba(233,119,80,0.2)}.hf-more{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--color-text-muted);color:white;font-size:0.625rem;font-weight:700;margin-left:-8px;border:2px solid white}.high-five-label{font-size:0.75rem;font-weight:600;color:var(--color-text-secondary)}.social-comments{display:flex;align-items:center;gap:var(--space-1);font-size:0.75rem;font-weight:500;color:var(--color-text-muted)}.social-comments svg{opacity:0.7}.node-social-badge{position:absolute;top:-8px;right:-8px;padding:2px 6px;background:white;border-radius:var(--radius-full);font-size:0.625rem;font-weight:700;color:var(--color-text-secondary);box-shadow:0 2px 6px rgba(0,0,0,0.15);white-space:nowrap;z-index:2}.node-social-badge.small{font-size:0.5625rem;padding:1px 4px}.node-social-badge.hot{background:linear-gradient(135deg, #FF6B35 0%, #F7931E 100%);color:white;animation:badge-pulse 2s ease-in-out infinite}@keyframes badge-pulse{0%,100%{transform:scale(1);box-shadow:0 2px 6px rgba(255,107,53,0.3)}50%{transform:scale(1.05);box-shadow:0 4px 12px rgba(255,107,53,0.4)}}.hf-icon{font-size:1rem;margin-right:var(--space-1)}.comment-icon{font-size:0.875rem}.today-mission-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4)}.mission-date{font-size:0.8125rem;color:var(--color-text-secondary)}.mission-actions-enhanced{display:flex;align-items:center;justify-content:space-between;padding-top:var(--space-4);border-top:1px solid rgba(255,107,53,0.15)}.mission-secondary-actions{display:flex;gap:var(--space-2)}.btn-mark-complete,.btn-log-workout{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);font-size:0.9375rem;font-weight:600;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.btn-ghost{background:transparent;color:var(--color-text-secondary);border:1px solid transparent;padding:var(--space-2) var(--space-3);font-size:0.8125rem;font-weight:500;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.btn-ghost:hover{background:rgba(0,0,0,0.04);color:var(--color-text);border-color:var(--color-border-light)}.day-detail{display:none;background:var(--color-bg);border:2px solid var(--color-border-light);border-radius:var(--radius-lg);padding:var(--space-5);margin-top:var(--space-3)}.day-detail.active{display:block;animation:slideDown 0.3s ease-out}@keyframes slideDown{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.day-detail.upcoming-enhanced{background:white;border:1px solid var(--color-border-light)}.upcoming-mission-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4)}.upcoming-badge-small{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);background:var(--color-bg);border:1px solid var(--color-border-light);border-radius:var(--radius-full);font-size:0.625rem;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:var(--color-text-muted)}.upcoming-date{font-size:0.8125rem;color:var(--color-text-secondary)}.upcoming-hero{margin-bottom:var(--space-4)}.upcoming-title{font-family:var(--font-display);font-size:1.375rem;font-weight:700;color:var(--color-text);margin:var(--space-2) 0}.upcoming-description{font-size:0.9375rem;line-height:1.6;color:var(--color-text-secondary);margin:0}.upcoming-metrics-preview{background:var(--color-bg);border-radius:var(--radius-md);padding:var(--space-4);margin-bottom:var(--space-4)}.upcoming-actions{display:flex;gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--color-border-light)}.day-detail.completed-refined{background:var(--color-surface);border:1px solid var(--color-border-light);border-left:3px solid #10B981;cursor:pointer;transition:all var(--transition-base)}.day-detail.completed-refined:hover{border-color:var(--color-border);box-shadow:0 8px 30px rgba(0,0,0,0.08);transform:translateY(-2px)}.day-detail.completed-refined.rest{border-left-color:#8B5CF6}.completed-card-link{display:block;text-decoration:none;color:inherit;padding:0}.refined-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-5);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border-light)}.refined-header-left{display:flex;align-items:center;gap:var(--space-3)}.refined-date{font-size:0.8125rem;color:var(--color-text-secondary)}.refined-status{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--radius-full);font-size:0.75rem;font-weight:600}.refined-status.completed{background:#ECFDF5;color:#059669}.refined-status.completed svg{color:#10B981}.refined-content{display:grid;grid-template-columns:1fr 280px;gap:var(--space-6);align-items:start}.refined-content.rest-content{grid-template-columns:1fr}.refined-title{font-family:var(--font-display);font-size:1.375rem;font-weight:700;color:var(--color-text);margin:0;line-height:1.2}.refined-summary{font-size:0.9375rem;line-height:1.6;color:var(--color-text-secondary);margin:0}.refined-insight{display:inline-flex;align-items:center;gap:var(--space-2);padding:8px 14px;border-radius:var(--radius-md);font-size:0.8125rem;font-weight:500;width:fit-content}.refined-insight.success{background:#ECFDF5;color:#047857}.refined-insight.success svg{color:#10B981}.refined-tags{display:flex;flex-wrap:wrap;gap:var(--space-2)}.refined-tag{padding:5px 12px;background:var(--color-bg);border:1px solid var(--color-border-light);border-radius:var(--radius-full);font-size:0.75rem;font-weight:500;color:var(--color-text-secondary)}.refined-footer{display:flex;align-items:center;justify-content:center;gap:var(--space-2);margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--color-border-light);font-size:0.8125rem;font-weight:600;color:var(--color-primary);transition:color var(--transition-fast)}.refined-footer svg{transition:transform var(--transition-fast)}.completed-card-link:hover .refined-footer{color:#D95E32}.completed-card-link:hover .refined-footer svg{transform:translateX(4px)}.view-details-text{transition:color var(--transition-fast)}.results-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4)}.results-card-label{font-size:0.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:var(--color-text-muted)}.results-card-xp{font-family:var(--font-display);font-size:0.875rem;font-weight:700;color:var(--color-primary)}.results-card .results-big-number{color:var(--color-text);letter-spacing:-0.02em}.results-big-unit{font-size:1.25rem;font-weight:500;color:var(--color-text-muted)}.results-detail{font-size:0.9375rem;font-weight:500;color:var(--color-text-secondary)}.results-divider{color:var(--color-text-muted)}.results-comparison{display:flex;align-items:center;justify-content:center;gap:var(--space-2)}.comparison-vs{font-size:0.625rem;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:var(--color-text-muted)}.comparison-target{font-size:0.8125rem;color:var(--color-text-secondary)}.workout-social{display:flex;align-items:center;gap:var(--space-4);margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--color-border-light)}.social-high-fives{display:flex;align-items:center;gap:var(--space-2)}.high-five-avatars{display:flex;margin-left:var(--space-1)}@media (max-width: 768px){.refined-content{grid-template-columns:1fr;gap:var(--space-5)}.refined-right{justify-content:center}.results-card{max-width:100%}.results-big-number{font-size:2.5rem}}.mission-title{font-family:var(--font-display);font-size:1.5rem;font-weight:700;color:var(--color-text);margin:var(--space-2) 0}.coach-notes-banner{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);background:linear-gradient(135deg, #FEF3C7 0%, #FDE68A 100%);border-radius:var(--radius-md);margin-top:var(--space-3);border:1px solid rgba(251,191,36,0.3)}.coach-notes-banner svg{flex-shrink:0;color:#B45309}.coach-notes-banner span{font-size:0.875rem;line-height:1.5;color:#78350F}.results-card.cross-train-card{background:linear-gradient(145deg, #FFFBEB 0%, #FEF3C7 100%);border-color:rgba(245,158,11,0.2)}.day-detail.upcoming-enhanced{padding:var(--space-6)}.upcoming-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-5)}.upcoming-title-section{display:flex;flex-direction:column;gap:var(--space-2)}.upcoming-title{font-size:1.25rem;font-weight:600;color:var(--color-text-primary);margin:0}.upcoming-timing{display:flex;align-items:center;gap:var(--space-2);font-size:0.875rem;color:var(--color-text-secondary)}.upcoming-badge{display:inline-flex;padding:2px 8px;background:var(--color-primary-light);color:var(--color-primary);border-radius:var(--radius-full);font-size:0.75rem;font-weight:500}.upcoming-content-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5);margin-bottom:var(--space-5)}@media (max-width: 640px){.upcoming-content-grid{grid-template-columns:1fr}}.upcoming-info-column{display:flex;flex-direction:column;gap:var(--space-4)}.upcoming-metrics-column{display:flex;flex-direction:column;gap:var(--space-4)}.workout-description-card{padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-md)}.workout-description-card p{margin:0;font-size:0.875rem;line-height:1.5;color:var(--color-text-secondary)}.coach-notes-card{padding:var(--space-4);background:linear-gradient(145deg, #FFFBEB 0%, #FEF3C7 100%);border:1px solid #FDE68A;border-radius:var(--radius-md)}.coach-notes-header{display:flex;align-items:center;gap:var(--space-2);font-size:0.75rem;font-weight:600;color:#92400E;text-transform:uppercase;letter-spacing:0.05em;margin-bottom:var(--space-2)}.coach-notes-card p{margin:0;font-size:0.875rem;line-height:1.5;color:#78350F}.workout-attached-content{margin-top:var(--space-3);padding:var(--space-4);background:var(--color-surface, #fff);border:1px solid var(--color-border, #E5E7EB);border-radius:var(--radius-md)}.workout-attached-content__header{display:flex;align-items:center;gap:var(--space-2);font-size:0.75rem;font-weight:600;color:var(--color-text-secondary, #4B5563);text-transform:uppercase;letter-spacing:0.05em;margin-bottom:var(--space-2)}.workout-attached-content__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.workout-attached-content__item{margin:0}.attached-media-card{display:flex;flex-direction:column;gap:var(--space-2);overflow:hidden;border:1px solid var(--color-border, #E5E7EB);border-radius:var(--radius-md);background:var(--color-surface, #fff)}.attached-media-card--audio{padding:var(--space-3)}.attached-media-card__poster{position:relative;display:block;width:100%;aspect-ratio:16 / 9;background:#000;border:0;padding:0;margin:0;cursor:pointer;overflow:hidden}.attached-media-card__poster--playable:hover .attached-media-card__play-overlay,.attached-media-card__poster--playable:focus .attached-media-card__play-overlay{background:rgba(0,0,0,0.65)}.attached-media-card__thumb{width:100%;height:100%;object-fit:cover;display:block}.attached-media-card__thumb--placeholder{display:flex;align-items:center;justify-content:center;color:#fff;font-size:2.5rem;background:#1F2937}.attached-media-card__play-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,0.45);color:#fff;font-size:2rem;transition:background 0.15s ease}.attached-media-card__iframe,.attached-media-card__video{width:100%;aspect-ratio:16 / 9;border:0;display:block}.attached-media-card__audio{width:100%}.attached-media-card__body{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-2) var(--space-3) var(--space-3)}.attached-media-card--audio .attached-media-card__body{padding:0}.attached-media-card__title-link{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--color-link, var(--brand-orange, #f60));text-decoration:none;font-size:0.875rem;line-height:1.4}.attached-media-card__title-link:hover{text-decoration:underline}.attached-media-card__title-link--plain{color:var(--color-text-primary, #111827);text-decoration:none;cursor:default}.attached-media-card__title{font-weight:500}.attached-media-card__meta{font-size:0.75rem;color:var(--color-text-secondary, #6B7280)}.upcoming-metric-card{padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-md)}.metric-card-label{font-size:0.75rem;font-weight:500;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:0.05em;margin-bottom:var(--space-2)}.metric-card-value-row{display:flex;align-items:baseline;gap:var(--space-2)}.metric-card-value{font-size:1.5rem;font-weight:700;color:var(--color-text-primary)}.pace-zone-chip{display:inline-flex;padding:2px 8px;border-radius:var(--radius-full);font-size:0.75rem;font-weight:500}.pace-zone-chip.easy{background:rgba(16,185,129,0.1);color:#059669}.pace-zone-chip.tempo{background:rgba(245,158,11,0.1);color:#D97706}.pace-zone-chip.threshold{background:rgba(239,68,68,0.1);color:#DC2626}.mini-pace-scale{display:flex;align-items:center;gap:2px;margin-top:var(--space-2)}.mini-pace-scale .scale-segment{height:4px;flex:1;border-radius:2px;background:var(--color-border-light)}.mini-pace-scale .scale-segment.active{background:var(--color-primary)}.mini-pace-scale .scale-segment.easy{background:#10B981}.mini-pace-scale .scale-segment.moderate{background:#F59E0B}.mini-pace-scale .scale-segment.hard{background:#EF4444}.upcoming-targets-row{display:flex;gap:var(--space-3)}.target-mini-box{flex:1;padding:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-sm);font-size:0.875rem;color:var(--color-text-secondary)}.target-mini-box.primary{background:var(--color-primary-light);border-color:var(--color-primary);color:var(--color-primary);font-weight:500}.upcoming-actions-enhanced{display:flex;gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--color-border-light)}.today-mission-badge-row{margin-bottom:var(--space-2)}.upcoming-badge.today{background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);color:white}.today-actions{flex-wrap:wrap;gap:var(--space-4)}.primary-actions-row{display:flex;gap:var(--space-3);flex:1}.secondary-actions-row{display:flex;gap:var(--space-3)}.rest-day-content{padding:var(--space-6);text-align:center;background:linear-gradient(135deg, rgba(100,116,139,0.05) 0%, rgba(100,116,139,0.02) 100%);border-radius:var(--radius-lg);border:1px solid rgba(100,116,139,0.1)}.rest-day-illustration{width:64px;height:64px;margin:0 auto var(--space-4);display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg, rgba(100,116,139,0.15) 0%, rgba(100,116,139,0.08) 100%);border-radius:50%}.rest-day-illustration i{font-size:1.75rem;color:#64748B}.rest-day-message{font-size:1rem;color:var(--color-text-secondary);margin:0 0 var(--space-5);max-width:320px;margin-left:auto;margin-right:auto;line-height:1.5}.rest-day-tips{display:flex;justify-content:center;gap:var(--space-4);flex-wrap:wrap}.rest-tip{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:rgba(255,255,255,0.6);border-radius:var(--radius-full);font-size:0.8125rem;color:var(--color-text-secondary)}.rest-tip i{font-size:0.875rem;color:#64748B}.rest-day-content.muted{opacity:0.6}.rest-day-content.muted .rest-day-illustration{background:linear-gradient(135deg, rgba(100,116,139,0.08) 0%, rgba(100,116,139,0.04) 100%)}.day-detail .target-pace-content{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-4);border:1px solid var(--color-border-light)}.day-detail .pace-zone-label.threshold,.day-detail .pace-zone-label.interval{color:#EF4444}.day-detail .pace-zone-label.tempo{color:#F59E0B}.day-detail .pace-zone-label.easy,.day-detail .pace-zone-label.moderate{color:#10B981}.day-detail .pace-zone-label.recovery{color:#8B5CF6}.day-detail .pace-value.threshold,.day-detail .pace-value.interval{color:#EF4444}.day-detail .pace-value.tempo{color:#F59E0B}.day-detail .pace-value.easy,.day-detail .pace-value.moderate{color:#10B981}.day-detail .pace-value.recovery{color:#8B5CF6}.day-detail .btn,.day-detail a.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);font-family:var(--font-display);font-size:0.9375rem;font-weight:600;border-radius:var(--radius-md);transition:all 0.2s ease;white-space:nowrap;cursor:pointer;border:none;text-decoration:none}.day-detail .btn-primary,.day-detail a.btn-primary{background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);color:white !important;box-shadow:0 2px 8px rgba(255,90,54,0.3)}.day-detail .btn-primary:hover,.day-detail a.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 16px rgba(255,90,54,0.4);color:white !important;text-decoration:none}.day-detail .btn-secondary,.day-detail a.btn-secondary{background:white;color:var(--color-primary) !important;border:2px solid var(--color-primary)}.day-detail .btn-secondary:hover,.day-detail a.btn-secondary:hover{background:rgba(255,90,54,0.05);color:var(--color-primary) !important;text-decoration:none}.day-detail .btn-ghost,.day-detail a.btn-ghost{background:transparent;color:var(--color-text-secondary) !important;border:1px solid var(--color-border)}.day-detail .btn-ghost:hover,.day-detail a.btn-ghost:hover{background:var(--color-border-light);color:var(--color-text) !important;text-decoration:none}.day-detail .btn-text,.day-detail a.btn-text{background:transparent;color:var(--color-text-secondary) !important;border:1px solid var(--color-border);padding:var(--space-2) var(--space-4)}.day-detail .btn-text:hover,.day-detail a.btn-text:hover{background:var(--color-border-light);color:var(--color-text) !important;text-decoration:none}.day-detail .btn i,.day-detail a.btn i{font-size:0.875rem}.day-detail.skipped-workout{background:var(--color-bg);border:2px dashed var(--color-border-light)}.skipped-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4)}.skipped-header-left{display:flex;align-items:center;gap:var(--space-3)}.skipped-date{font-size:0.875rem;color:var(--color-text-muted)}.skipped-status{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:rgba(239,68,68,0.1);color:#DC2626;border-radius:var(--radius-full);font-size:0.875rem;font-weight:500}.skipped-status svg{width:16px;height:16px}.skipped-content{margin-bottom:var(--space-4)}.skipped-title{font-size:1rem;font-weight:500;color:var(--color-text-muted);margin:0 0 var(--space-2)}.skip-reason{font-size:0.875rem;color:var(--color-text-secondary);font-style:italic;margin:0}.skipped-actions{display:flex;gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--color-border-light)}.day-detail.past-due{background:#FFFBEB;border:2px solid #FDE68A}.past-due-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4)}.past-due-header-left{display:flex;align-items:center;gap:var(--space-3)}.past-due-date{font-size:0.875rem;color:var(--color-text-muted)}.past-due-status{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:rgba(245,158,11,0.1);color:#D97706;border-radius:var(--radius-full);font-size:0.875rem;font-weight:500}.past-due-content{margin-bottom:var(--space-4)}.past-due-title{font-size:1rem;font-weight:500;color:var(--color-text-primary);margin:0 0 var(--space-2)}.past-due-description{font-size:0.875rem;color:var(--color-text-secondary);margin:0}.past-due-prompt{margin-top:var(--space-3)}.past-due-message{font-size:0.875rem;color:var(--color-text-muted);margin:0}.past-due-actions{display:flex;gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--color-border-light)}.completed-missing-data{text-align:center;padding:var(--space-5)}.planned-workout-info{margin-bottom:var(--space-4)}.planned-title{font-size:1rem;font-weight:500;color:var(--color-text-primary);margin:var(--space-2) 0}.planned-description{font-size:0.875rem;color:var(--color-text-secondary);margin:0}.missing-data-prompt{padding-top:var(--space-4);border-top:1px solid var(--color-border-light)}.missing-data-message{font-size:0.875rem;color:var(--color-text-muted);margin-bottom:var(--space-3)}.missing-data-actions{display:flex;justify-content:center;gap:var(--space-3)}.completed-card-no-link{display:block;padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-md)}.results-comparison{padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-size:0.75rem;font-weight:500;margin-top:var(--space-2)}.results-comparison.success{background:rgba(16,185,129,0.1);color:#059669}.results-comparison.warning{background:rgba(245,158,11,0.1);color:#D97706}.day-detail.empty-day{background:var(--color-bg);border:2px dashed var(--color-border-light);text-align:center;padding:var(--space-6)}.empty-day-content{display:flex;flex-direction:column;align-items:center;gap:var(--space-3)}.empty-day-content .detail-type-badge.empty{background:var(--color-surface);color:var(--color-text-muted);border:1px solid var(--color-border-light)}.empty-day-date{font-size:0.875rem;font-weight:500;color:var(--color-text-secondary);margin:0}.empty-day-message{font-size:0.875rem;color:var(--color-text-muted);margin:0;max-width:300px}@media (max-width: 639px){.timeline-container{position:relative;padding:var(--space-4) 0 var(--space-2);margin-bottom:var(--space-2);overflow:visible}.timeline-track{display:none}.timeline-nodes{display:flex;justify-content:flex-start;gap:var(--space-2);padding:0 var(--space-3);width:max-content;overflow-x:auto;overflow-y:visible;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.timeline-nodes::-webkit-scrollbar{display:none}.timeline-node{flex:0 0 auto;width:72px;scroll-snap-align:center;scroll-snap-stop:always;padding:var(--space-2);gap:var(--space-1)}.node-pip{width:36px;height:36px}.node-pip svg{width:14px;height:14px}.node-check{width:14px;height:14px}.node-icon{width:14px;height:14px}.node-day{font-size:0.625rem}.node-date{font-size:0.5625rem}.node-workout-type{font-size:0.5rem;padding:2px 4px;max-width:50px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.node-workout-goal{font-size:0.6875rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:55px}.timeline-node.active .node-pip{box-shadow:0 0 0 3px rgba(255,255,255,0.95), 0 0 0 5px var(--color-primary, #FF6B35), 0 3px 12px rgba(0,0,0,0.2)}.timeline-node.today .node-pip{box-shadow:0 0 0 3px rgba(255,107,53,0.2), 0 3px 8px rgba(255,107,53,0.3)}.day-detail{padding:var(--space-4);border-radius:var(--radius-md)}.day-detail-header{flex-direction:column;align-items:flex-start;gap:var(--space-3)}.detail-actions{width:100%;flex-wrap:wrap}.detail-actions .btn{flex:1;min-width:0;justify-content:center}.upcoming-content-grid,.results-grid{grid-template-columns:1fr}.day-detail.upcoming-enhanced{padding:var(--space-4)}.upcoming-header{flex-direction:column;gap:var(--space-2)}.upcoming-targets-row{flex-direction:column;gap:var(--space-2)}.timeline-dots{display:flex;justify-content:center;gap:6px;padding:var(--space-2) 0 var(--space-3)}}.timeline-dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,0.3);border:none;padding:0;cursor:pointer;transition:all 0.2s ease}.timeline-dot:hover{background:rgba(255,255,255,0.5);transform:scale(1.2)}.timeline-dot.active{background:var(--color-primary, #FF6B35);box-shadow:0 0 6px rgba(255,107,53,0.5)}@media (min-width: 640px){.timeline-dots{display:none}}.timeline-day-indicator{display:none;text-align:center;color:var(--color-text-muted, #94A3B8);font-size:0.75rem;padding:var(--space-1) 0}@media (max-width: 639px){.timeline-day-indicator{display:block}}.timeline-arrow{display:none;position:absolute;top:50%;transform:translateY(-50%);width:32px;height:32px;border-radius:50%;border:none;background:rgba(255,255,255,0.9);color:var(--color-text, #1E293B);cursor:pointer;z-index:10;box-shadow:0 2px 8px rgba(0,0,0,0.15);transition:all 0.2s ease}.timeline-arrow i{font-size:14px}.timeline-arrow:hover{background:#fff;box-shadow:0 4px 12px rgba(0,0,0,0.2)}.timeline-arrow:active{transform:translateY(-50%) scale(0.95)}.timeline-arrow:disabled{opacity:0.3;cursor:not-allowed}.timeline-arrow:disabled:hover{background:rgba(255,255,255,0.9);box-shadow:0 2px 8px rgba(0,0,0,0.15)}.timeline-arrow--prev{left:4px}.timeline-arrow--next{right:4px}@media (max-width: 639px){.timeline-arrow{display:flex;align-items:center;justify-content:center}}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.5);display:flex;align-items:center;justify-content:center;padding:16px;z-index:1000;opacity:1;visibility:visible;transition:all 200ms ease-out}.modal-overlay.hidden{opacity:0;visibility:hidden;pointer-events:none}.modal-overlay.inactive{opacity:0;visibility:hidden;pointer-events:none}.modal-container{width:100%;max-width:560px;background:#FFFFFF;border-radius:24px;box-shadow:0 25px 50px -12px rgba(0,0,0,0.25);overflow:hidden;animation:modal-enter 0.3s ease-out}@media (max-width: 640px){.modal-container{max-width:100%;max-height:100%;border-radius:0}}@media (min-width: 640px) and (max-width: 768px){.modal-container{max-width:calc(100% - 32px);max-height:calc(100vh - 32px);border-radius:24px}}@keyframes modal-enter{from{opacity:0;transform:scale(0.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-close{background:rgba(255,255,255,0.1);border:none;color:#FFFFFF;width:32px;height:32px;border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background 150ms ease-out}.modal-close:hover{background:rgba(255,255,255,0.2)}.swap-workout-modal{width:100%;max-width:560px}.swap-modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:24px 24px;background:linear-gradient(135deg, #1A1A2E 0%, #16213E 100%);color:#FFFFFF}.swap-header-content{display:flex;align-items:center;gap:16px}.swap-icon-wrap{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:linear-gradient(135deg, #FF6B35 0%, #FFD93D 100%);border-radius:16px;color:#FFFFFF;animation:swap-icon-rotate 3s ease-in-out infinite}@keyframes swap-icon-rotate{0%,100%{transform:rotate(0deg)}25%{transform:rotate(5deg)}75%{transform:rotate(-5deg)}}.swap-modal-title{font-family:"Clash Display", -apple-system, BlinkMacSystemFont, sans-serif;font-size:1.25rem;font-weight:600;margin:0}.swap-modal-subtitle{font-size:0.875rem;color:rgba(255,255,255,0.7);margin:4px 0 0}.swap-modal-body{padding:24px 24px;max-height:60vh;overflow-y:auto}.swap-section{margin-bottom:24px}.swap-section-label{display:block;font-size:0.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:#9CA3AF;margin-bottom:8px}.swap-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}@media (max-width: 600px){.swap-section-header{flex-direction:column;align-items:flex-start;gap:8px}}.swap-source-card{display:flex;align-items:center;gap:16px;padding:16px;background:linear-gradient(135deg, #FFF8F5 0%, #FFF0EB 100%);border:2px solid rgba(255,107,53,0.2);border-radius:16px;position:relative;overflow:hidden}.swap-source-card::before{content:'';position:absolute;top:0;left:0;width:4px;height:100%;background:linear-gradient(180deg, #FF6B35 0%, #FFD93D 100%)}.swap-card-badge{padding:4px 12px;border-radius:9999px;font-size:0.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:0.05em}.swap-card-badge.long{background:rgba(59,130,246,0.15);color:#0a59da}.swap-card-badge.easy{background:rgba(16,185,129,0.15);color:#0c8a60}.swap-card-badge.tempo{background:rgba(245,158,11,0.15);color:#ac6f07}.swap-card-badge.strength{background:rgba(139,92,246,0.15);color:#7C3AED}.swap-card-badge.rest{background:rgba(156,163,175,0.15);color:#6B7280}.swap-card-badge.interval{background:rgba(239,68,68,0.15);color:#eb1515}.swap-card-details{flex:1}.swap-card-day{font-size:0.75rem;color:#9CA3AF;font-weight:500}.swap-card-title{font-family:"Clash Display", -apple-system, BlinkMacSystemFont, sans-serif;font-size:1.125rem;font-weight:600;color:#1F2937;margin:4px 0}.swap-card-meta{font-size:0.75rem;color:#6B7280}.swap-card-visual{display:flex;align-items:center;justify-content:center}.swap-card-icon{width:56px;height:56px;background:#FFFFFF;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#FF6B35;box-shadow:0 4px 12px rgba(255,107,53,0.15)}.swap-arrow-container{display:flex;justify-content:center;margin:12px 0}.swap-arrow{width:40px;height:40px;background:#F9FAFB;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#FF6B35;animation:arrow-bounce 1.5s ease-in-out infinite}@keyframes arrow-bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(4px)}}.swap-day-picker{display:grid;grid-template-columns:repeat(7, 1fr);gap:8px}@media (max-width: 600px){.swap-day-picker{grid-template-columns:repeat(4, 1fr)}}.swap-day-option{display:flex;flex-direction:column;align-items:center;padding:12px 8px;background:#F9FAFB;border:2px solid transparent;border-radius:10px;cursor:pointer;transition:all 150ms ease-out;position:relative}.swap-day-option:hover:not(:disabled){background:#FFFFFF;border-color:#E5E7EB;transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,0.08)}.swap-day-option.selected{background:linear-gradient(135deg, #FFF8F5 0%, #FFF0EB 100%);border-color:#FF6B35;box-shadow:0 0 0 3px rgba(255,107,53,0.15)}.swap-day-option.completed{opacity:0.5;cursor:not-allowed}.swap-day-option.today{background:#FFFFFF;border-color:#E5E7EB}@media (max-width: 600px){.swap-day-option{padding:8px;min-height:60px}}.swap-day-name{font-size:0.625rem;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;color:#9CA3AF;margin-bottom:4px}.swap-day-date{font-family:"Clash Display", -apple-system, BlinkMacSystemFont, sans-serif;font-size:1.25rem;font-weight:600;color:#1F2937;margin-bottom:8px}.swap-day-workout{display:flex;flex-direction:column;align-items:center;gap:2px}.swap-day-badge{font-size:0.5625rem;font-weight:700;text-transform:uppercase;letter-spacing:0.03em;padding:2px 6px;border-radius:6px}.swap-day-badge.easy{background:rgba(16,185,129,0.15);color:#0c8a60}.swap-day-badge.tempo{background:rgba(245,158,11,0.15);color:#ac6f07}.swap-day-badge.strength{background:rgba(139,92,246,0.15);color:#7C3AED}.swap-day-badge.rest{background:rgba(156,163,175,0.15);color:#6B7280}.swap-day-badge.long{background:rgba(59,130,246,0.15);color:#0a59da}.swap-day-badge.interval{background:rgba(239,68,68,0.15);color:#eb1515}.swap-day-goal{font-size:0.625rem;color:#9CA3AF}.swap-day-check{position:absolute;top:4px;right:4px;width:18px;height:18px;background:#10B981;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#FFFFFF}.swap-day-today-badge{position:absolute;top:-6px;left:50%;transform:translateX(-50%);padding:2px 8px;background:#FF6B35;color:#FFFFFF;font-size:0.5rem;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;border-radius:9999px;white-space:nowrap}.swap-day-selected-ring{position:absolute;inset:-3px;border:2px solid #FF6B35;border-radius:calc(10px + 3px);animation:selected-pulse 2s ease-in-out infinite}@keyframes selected-pulse{0%,100%{opacity:1}50%{opacity:0.5}}.swap-day-month-badge{position:absolute;bottom:4px;left:50%;transform:translateX(-50%);padding:1px 6px;background:#9CA3AF;color:#FFFFFF;font-size:0.5rem;font-weight:700;text-transform:uppercase;letter-spacing:0.03em;border-radius:6px}.swap-week-nav{display:flex;align-items:center;gap:8px}@media (max-width: 600px){.swap-week-nav{width:100%;justify-content:space-between}}.swap-week-btn{width:28px;height:28px;background:#F9FAFB;border:1px solid #E5E7EB;border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#6B7280;transition:all 150ms ease-out}.swap-week-btn:hover:not(:disabled){background:#FFFFFF;border-color:#FF6B35;color:#FF6B35}.swap-week-btn:disabled{opacity:0.3;cursor:not-allowed}.swap-week-label{font-size:0.75rem;font-weight:600;color:#1F2937;min-width:120px;text-align:center}.swap-week-container{animation:week-slide-in 0.3s ease-out}.swap-week-container.hidden{display:none}.swap-week-container.slide-out-left{animation:week-slide-out-left 0.2s ease-in forwards}.swap-week-container.slide-out-right{animation:week-slide-out-right 0.2s ease-in forwards}@keyframes week-slide-in{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}@keyframes week-slide-out-left{to{opacity:0;transform:translateX(-20px)}}@keyframes week-slide-out-right{to{opacity:0;transform:translateX(20px)}}.swap-preview-section{background:#F9FAFB;margin:0 calc(24px * -1);padding:24px 24px}.swap-preview{display:flex;align-items:center;gap:12px}@media (max-width: 600px){.swap-preview{flex-direction:column}}.swap-preview-card{flex:1;background:#FFFFFF;border-radius:10px;padding:12px;border:1px solid #F3F4F6}@media (max-width: 600px){.swap-preview-card{width:100%}}.swap-preview-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.swap-preview-day{font-size:0.6875rem;font-weight:600;color:#6B7280}.swap-preview-change{display:flex;align-items:center;gap:4px;font-size:0.5625rem;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;color:#FF6B35}.swap-preview-content{display:flex;align-items:center;gap:8px;margin-bottom:8px}.swap-preview-badge{padding:2px 8px;border-radius:6px;font-size:0.625rem;font-weight:700;text-transform:uppercase}.swap-preview-badge.long{background:rgba(59,130,246,0.15);color:#0a59da}.swap-preview-badge.rest{background:rgba(156,163,175,0.15);color:#6B7280}.swap-preview-badge.easy{background:rgba(16,185,129,0.15);color:#0c8a60}.swap-preview-badge.tempo{background:rgba(245,158,11,0.15);color:#ac6f07}.swap-preview-title{font-size:0.8125rem;font-weight:600;color:#1F2937}.swap-preview-was{font-size:0.6875rem;color:#9CA3AF;font-style:italic}.swap-preview-was span{font-weight:500}.swap-preview-arrow{flex-shrink:0;width:36px;height:36px;background:#FFFFFF;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#FF6B35;box-shadow:0 2px 8px rgba(0,0,0,0.08);animation:preview-arrow-spin 4s linear infinite}@media (max-width: 600px){.swap-preview-arrow{transform:rotate(90deg)}}@keyframes preview-arrow-spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}.swap-training-note{display:flex;gap:12px;padding:16px;background:linear-gradient(135deg, #FFFBEB 0%, #FEF3C7 100%);border:1px solid rgba(245,158,11,0.2);border-radius:10px;margin-top:16px}.swap-note-icon{flex-shrink:0;width:32px;height:32px;background:rgba(245,158,11,0.1);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#F59E0B}.swap-note-content{font-size:0.8125rem;line-height:1.5;color:#7b4f05}.swap-note-content strong{font-weight:600}.swap-modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;background:#F9FAFB;border-top:1px solid #F3F4F6}.btn-swap-confirm{display:flex;align-items:center;gap:8px}.modify-workout-modal{max-width:720px;width:100%}.modify-workout-modal .modal-header{display:flex;align-items:center;justify-content:space-between;padding:24px 32px;border-bottom:none;background:linear-gradient(135deg, #1A1A2E 0%, #16213E 100%);position:relative;color:#FFFFFF}.modify-workout-modal .modal-header .modal-header-content{display:flex;align-items:center;gap:16px}.modify-workout-modal .modal-header .modal-icon{width:44px;height:44px;background:linear-gradient(135deg, #FF6B35 0%, #FFD93D 100%);border:none;border-radius:16px;display:flex;align-items:center;justify-content:center;color:#FFFFFF;flex-shrink:0}.modify-workout-modal .modal-header .modal-title-group{flex:1}.modify-workout-modal .modal-header .modal-title{font-family:"Clash Display", -apple-system, BlinkMacSystemFont, sans-serif;font-size:1.25rem;font-weight:700;color:#FFFFFF;margin:0}.modify-workout-modal .modal-header .modal-subtitle{font-size:0.8125rem;color:rgba(255,255,255,0.7);margin:0}.modify-workout-modal .modal-header .modal-close{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:10px;border:none;background:rgba(255,255,255,0.1);color:#FFFFFF;cursor:pointer;transition:all 150ms ease-out}.modify-workout-modal .modal-header .modal-close:hover{background:rgba(255,255,255,0.2)}.modify-workout-modal .modal-body{padding:32px;overflow-y:auto;flex:1;max-height:70vh}.modify-workout-modal .modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 32px;border-top:1px solid #F3F4F6;background:#F3F4F6}.modify-workout-modal .target-metrics-row #distanceGroup.is-primary .form-input,.modify-workout-modal .target-metrics-row #distanceGroup.is-primary .form-select,.modify-workout-modal .target-metrics-row #distanceGroup.is-primary .form-textarea,.modify-workout-modal .target-metrics-row #distanceGroup.is-primary .duration-input,.modify-workout-modal .target-metrics-row #durationGroup.is-primary .form-input,.modify-workout-modal .target-metrics-row #durationGroup.is-primary .form-select,.modify-workout-modal .target-metrics-row #durationGroup.is-primary .form-textarea,.modify-workout-modal .target-metrics-row #durationGroup.is-primary .duration-input{border-color:#FF6B35 !important;background:rgba(255,107,53,0.02) !important}.modify-workout-modal .target-metrics-row #distanceGroup.is-primary .unit-select,.modify-workout-modal .target-metrics-row #durationGroup.is-primary .unit-select{border-color:#FF6B35 !important}.modify-workout-modal .target-metrics-row #distanceGroup.is-primary .input-unit,.modify-workout-modal .target-metrics-row #durationGroup.is-primary .input-unit{color:#FF6B35 !important}.modify-workout-modal .target-metrics-row #distanceGroup.is-secondary .form-input,.modify-workout-modal .target-metrics-row #distanceGroup.is-secondary .form-select,.modify-workout-modal .target-metrics-row #distanceGroup.is-secondary .form-textarea,.modify-workout-modal .target-metrics-row #distanceGroup.is-secondary .duration-input,.modify-workout-modal .target-metrics-row #durationGroup.is-secondary .form-input,.modify-workout-modal .target-metrics-row #durationGroup.is-secondary .form-select,.modify-workout-modal .target-metrics-row #durationGroup.is-secondary .form-textarea,.modify-workout-modal .target-metrics-row #durationGroup.is-secondary .duration-input{border-color:#E5E7EB !important;background:#FFFFFF !important}.modify-workout-modal .target-metrics-row #distanceGroup.is-secondary .form-label,.modify-workout-modal .target-metrics-row #durationGroup.is-secondary .form-label{color:#9CA3AF !important}.modify-workout-modal .target-metrics-row #distanceGroup.is-secondary .input-unit,.modify-workout-modal .target-metrics-row #durationGroup.is-secondary .input-unit{color:#9CA3AF !important}.modify-workout-modal .form-section,.modify-workout-modal .form-group{margin-bottom:16px;padding:0;border-bottom:none}.modify-workout-modal .form-section:last-child,.modify-workout-modal .form-group:last-child{margin-bottom:0}.modify-workout-modal .form-label{display:inline-flex;align-items:center;gap:4px;font-size:0.8125rem;font-weight:600;color:#1F2937;margin-bottom:8px}.modify-workout-modal .form-label.required::after{content:'*';color:#EF4444;margin-left:2px}.workout-type-grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:8px}@media (max-width: 640px){.workout-type-grid{grid-template-columns:repeat(2, 1fr)}}.workout-type-option{display:flex;align-items:center;gap:8px;padding:12px;background:#FFFFFF;border:1px solid #E5E7EB;border-radius:10px;cursor:pointer;transition:all 150ms ease-out}.workout-type-option:hover{border-color:#9CA3AF;background:#F3F4F6}.workout-type-option.active,.workout-type-option.selected{border-color:#FF6B35;background:rgba(255,107,53,0.05);box-shadow:0 0 0 2px rgba(255,107,53,0.1)}.workout-type-option.active[data-type="custom"]{border-color:#EC4899;background:rgba(236,72,153,0.05);box-shadow:0 0 0 2px rgba(236,72,153,0.1)}.workout-type-option .type-color{width:12px;height:12px;border-radius:9999px;flex-shrink:0}.workout-type-option .type-color.easy{background:linear-gradient(135deg, #FF6B35 0%, #FF8C5A 100%)}.workout-type-option .type-color.tempo{background:linear-gradient(135deg, #F59E0B 0%, #FBBF24 100%)}.workout-type-option .type-color.interval{background:linear-gradient(135deg, #EF4444 0%, #F87171 100%)}.workout-type-option .type-color.long{background:linear-gradient(135deg, #8B5CF6 0%, #A78BFA 100%)}.workout-type-option .type-color.walk_run{background:linear-gradient(135deg, #14B8A6 0%, #0D9488 100%)}.workout-type-option .type-color.race{background:linear-gradient(135deg, #22C55E 0%, #16A34A 100%)}.workout-type-option .type-color.cross_train{background:linear-gradient(135deg, #3B82F6 0%, #60A5FA 100%)}.workout-type-option .type-color.rest{background:linear-gradient(135deg, #6B7280 0%, #9CA3AF 100%)}.workout-type-option .type-color.custom{background:linear-gradient(135deg, #EC4899 0%, #F472B6 100%)}.workout-type-option .type-name{font-size:0.8125rem;font-weight:500;color:#1F2937}.custom-type-input{margin-top:12px;padding:16px;background:rgba(236,72,153,0.05);border:1px dashed rgba(236,72,153,0.3);border-radius:10px}.custom-type-input.hidden{display:none}.custom-type-input .form-label{color:#DB2777}.custom-type-input .form-input,.custom-type-input .form-select,.custom-type-input .form-textarea{width:100%;padding:12px;border:1px solid rgba(236,72,153,0.3);border-radius:10px;font-size:0.9375rem;background:#FFFFFF}.custom-type-input .form-input:focus,.custom-type-input .form-select:focus,.custom-type-input .form-textarea:focus{outline:none;border-color:#EC4899;box-shadow:0 0 0 3px rgba(236,72,153,0.1)}.activity-type-selector{margin-top:12px;padding:12px 16px;background:rgba(78,205,196,0.05);border:1px dashed rgba(78,205,196,0.3);border-radius:10px}.activity-type-selector.hidden{display:none}.activity-type-selector .form-label{color:#6B7280;margin-bottom:8px}.activity-type-grid{display:flex;flex-wrap:nowrap;gap:4px;justify-content:space-between}.activity-option{display:flex;flex-direction:column;align-items:center;gap:4px;padding:4px 8px;border:1px solid #E5E7EB;border-radius:10px;background:#FFFFFF;cursor:pointer;transition:all 0.2s ease;flex:1;min-width:0}.activity-option input[type="radio"]{display:none}.activity-option .activity-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;transition:transform 0.2s ease, opacity 0.2s ease}.activity-option .activity-icon img{width:28px;height:28px;object-fit:contain;opacity:0.7;transition:opacity 0.2s ease}.activity-option .activity-icon i{font-size:1.25rem;color:#9CA3AF;transition:color 0.2s ease}.activity-option .activity-label{font-size:0.6875rem;font-weight:500;color:#6B7280;text-transform:uppercase;letter-spacing:0.02em;transition:color 0.2s ease}.activity-option:hover{border-color:rgba(78,205,196,0.5);background:rgba(78,205,196,0.03)}.activity-option:hover .activity-icon{transform:scale(1.05)}.activity-option:hover .activity-icon img{opacity:0.9}.activity-option:hover .activity-icon i{color:#4ECDC4}.activity-option:has(input:checked){border-color:#4ECDC4;background:rgba(78,205,196,0.08);box-shadow:0 0 0 2px rgba(78,205,196,0.15)}.activity-option:has(input:checked) .activity-icon img{opacity:1}.activity-option:has(input:checked) .activity-icon i{color:#4ECDC4}.activity-option:has(input:checked) .activity-label{color:#1F2937}.modify-workout-modal .pace-section{background:linear-gradient(135deg, rgba(78,205,196,0.03) 0%, rgba(255,107,53,0.03) 100%);border:1px solid rgba(78,205,196,0.15);border-radius:16px;padding:12px 16px;margin-bottom:12px}.modify-workout-modal .pace-section.hidden{display:none}.pace-mode-toggle{display:flex;gap:4px;margin-bottom:12px;padding:4px;background:rgba(229,231,235,0.3);border-radius:10px}.pace-mode-toggle .toggle-option{flex:1;display:flex;align-items:center;justify-content:center;gap:4px;padding:8px 12px;border-radius:6px;cursor:pointer;font-size:0.875rem;font-weight:500;color:#9CA3AF;transition:all 0.2s ease}.pace-mode-toggle .toggle-option input[type="radio"]{display:none}.pace-mode-toggle .toggle-option:has(input:checked){background:#FFFFFF;color:#FF6B35;box-shadow:0 1px 3px rgba(0,0,0,0.1)}.pace-mode-toggle .toggle-option:hover:not(:has(input:checked)){color:#1F2937}.effort-mode-message{display:none;padding:12px;background:rgba(59,130,246,0.05);border:1px solid rgba(59,130,246,0.2);border-radius:10px;margin-bottom:12px}.effort-mode-message.visible{display:block}.effort-mode-message .message-text{font-size:0.875rem;color:#9CA3AF;margin:0;text-align:center}.target-pace-content.hidden{display:none}.pace-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.pace-header>div{flex:1}.pace-header .form-label{margin-bottom:4px}.pace-header .form-hint{margin:0}.edit-profile-paces-link{display:flex;align-items:center;gap:4px;font-size:0.75rem;font-weight:500;color:#FF6B35;text-decoration:none;padding:4px 8px;border-radius:6px;transition:all 150ms ease-out}.edit-profile-paces-link:hover{background:rgba(255,107,53,0.1);color:#ff4602}.edit-profile-paces-link svg{opacity:0.8}.pace-display{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.pace-value{display:flex;align-items:baseline;gap:4px}.modify-workout-modal .pace-input{font-family:"Clash Display", -apple-system, BlinkMacSystemFont, sans-serif;font-size:1.5rem;font-weight:600;color:#1F2937;letter-spacing:-0.02em;background:transparent;border:none;border-bottom:2px dashed transparent;width:5ch;padding:0;outline:none;transition:border-color 150ms ease-out}.modify-workout-modal .pace-input:hover{border-bottom-color:#E5E7EB}.modify-workout-modal .pace-input:focus{border-bottom-color:#FF6B35}.modify-workout-modal .pace-input::placeholder{color:#9CA3AF}.pace-unit{font-size:0.875rem;color:#6B7280}.pace-zone-indicator{text-align:right}.pace-zone-label{display:block;font-size:0.875rem;font-weight:600;color:#10B981;text-transform:uppercase;letter-spacing:0.05em}.pace-hr-range{font-size:0.75rem;color:#9CA3AF}.pace-scale{position:relative;margin-top:4px}.pace-scale-bar{position:relative;height:8px;background:linear-gradient(90deg, #EF4444 0%, #F59E0B 25%, #10B981 50%, #06B6D4 75%, #8B5CF6 100%);border-radius:9999px;margin-bottom:4px}.pace-scale-fill{position:absolute;top:-3px;height:14px;background:rgba(16,185,129,0.4);border:1px solid rgba(16,185,129,0.5);border-radius:9999px;z-index:1;transition:all 150ms ease-out}.pace-marker{position:absolute;top:50%;width:12px;height:12px;background:#FFFFFF;border:2px solid #10B981;border-radius:50%;transform:translate(-50%, -50%);box-shadow:0 1px 3px rgba(0,0,0,0.15);z-index:2;transition:all 150ms ease-out}.pace-scale-labels{display:flex;justify-content:space-between;font-size:0.6875rem;color:#9CA3AF;font-family:"JetBrains Mono", "Fira Code", "SF Mono", Consolas, monospace;margin-bottom:2px}.pace-zone-labels{display:flex;justify-content:space-between;font-size:0.625rem;font-weight:600;text-transform:uppercase;letter-spacing:0.05em}.pace-zone-labels .zone-threshold{color:#EF4444}.pace-zone-labels .zone-tempo{color:#F59E0B}.pace-zone-labels .zone-easy{color:#10B981}.pace-zone-labels .zone-recovery{color:#8B5CF6}.metric-toggle{display:flex;gap:8px;padding:4px;background:#F3F4F6;border-radius:10px}.modify-workout-modal .form-group.hidden{display:none !important}.metric-option{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 12px;border:none;border-radius:6px;background:transparent;font-size:0.8125rem;font-weight:500;color:#9CA3AF;cursor:pointer;transition:all 150ms ease-out}.metric-option.hidden{display:none !important}.metric-option svg{width:14px;height:14px}.metric-option:hover{color:#1F2937}.metric-option.selected,.metric-option.active{background:#FFFFFF;color:#1F2937;box-shadow:0 1px 2px rgba(0,0,0,0.05)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}@media (max-width: 640px){.form-row{grid-template-columns:1fr}}.target-metrics-row .form-group.hidden,.target-metrics-row #distanceGroup.hidden{display:none !important}.target-metrics-row.duration-only{grid-template-columns:1fr}.target-metrics-row.duration-only #durationGroup{max-width:100%}.target-metrics-row.duration-only #durationGroup .duration-inputs{justify-content:flex-start}.target-metrics-row.duration-only #durationGroup .input-with-unit{flex:0 0 auto}.primary-badge{display:inline-flex;align-items:center;font-size:0.5625rem;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;padding:2px 6px;margin-left:4px;background:linear-gradient(135deg, #FF6B35 0%, #ff4602 100%);color:white;border-radius:6px;vertical-align:baseline;position:relative;top:-1px}.primary-badge.hidden{display:none}.input-with-unit{display:flex;align-items:center;gap:8px}.input-with-unit .form-input,.input-with-unit .form-select,.input-with-unit .form-textarea{flex:1;padding:8px 12px;border:1px solid #E5E7EB;border-radius:10px;font-size:0.9375rem;background:#F9FAFB}.input-with-unit .form-input:focus,.input-with-unit .form-select:focus,.input-with-unit .form-textarea:focus{outline:none;border-color:#FF6B35;box-shadow:0 0 0 3px rgba(255,107,53,0.1)}.input-with-unit .input-unit{font-size:0.875rem;color:#9CA3AF;flex-shrink:0}.input-with-unit .unit-select{padding:4px 8px;border:1px solid #E5E7EB;border-radius:10px;font-size:0.875rem;color:#6B7280;background:#FFFFFF;cursor:pointer;flex-shrink:0;min-width:70px;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;padding-right:24px}.input-with-unit .unit-select:hover{border-color:#9CA3AF}.input-with-unit .unit-select:focus{outline:none;border-color:#FF6B35;box-shadow:0 0 0 3px rgba(255,107,53,0.1)}.duration-inputs{display:flex;align-items:center;gap:4px}.duration-input{width:60px;padding:8px;border:1px solid #E5E7EB;border-radius:10px;font-size:0.9375rem;text-align:center;background:#F9FAFB}.duration-input:focus{outline:none;border-color:#FF6B35;box-shadow:0 0 0 3px rgba(255,107,53,0.1)}.duration-separator{font-size:1.125rem;font-weight:600;color:#9CA3AF}.form-hint{font-size:0.75rem;color:#9CA3AF;margin-top:4px}.intensity-selector{display:flex;gap:8px;margin-bottom:12px}@media (max-width: 640px){.intensity-selector{display:grid;grid-template-columns:repeat(2, 1fr)}}.intensity-zone{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px;border:1px solid #E5E7EB;border-radius:10px;background:#FFFFFF;cursor:pointer;transition:all 150ms ease-out}.intensity-zone:hover{border-color:#9CA3AF}.intensity-zone.selected,.intensity-zone.active{border-color:#FF6B35;background:rgba(255,107,53,0.03)}.intensity-zone .zone-bar{width:100%;height:6px;border-radius:9999px}.intensity-zone .zone-bar.zone-1{background:linear-gradient(90deg, #10B981 0%, #34D399 100%)}.intensity-zone .zone-bar.zone-2{background:linear-gradient(90deg, #F59E0B 0%, #FBBF24 100%)}.intensity-zone .zone-bar.zone-3{background:linear-gradient(90deg, #FF6B35 0%, #FF8C5A 100%)}.intensity-zone .zone-bar.zone-4{background:linear-gradient(90deg, #EF4444 0%, #F87171 100%)}.intensity-zone .zone-bar.easy{background:linear-gradient(90deg, #10B981 0%, #34D399 100%)}.intensity-zone .zone-bar.moderate{background:linear-gradient(90deg, #F59E0B 0%, #FBBF24 100%)}.intensity-zone .zone-bar.tempo{background:linear-gradient(90deg, #FF6B35 0%, #FF8C5A 100%)}.intensity-zone .zone-bar.threshold{background:linear-gradient(90deg, #EF4444 0%, #F87171 100%)}.intensity-zone.active .zone-bar{box-shadow:0 2px 8px rgba(0,0,0,0.15)}.intensity-zone .zone-label{font-size:0.75rem;font-weight:600;color:#1F2937}.intensity-zone .zone-hr{font-size:0.625rem;color:#9CA3AF}.btn-advanced-toggle{display:flex;align-items:center;gap:4px;width:100%;padding:8px;background:transparent;border:none;font-size:0.8125rem;font-weight:500;color:#9CA3AF;cursor:pointer;transition:all 150ms ease-out}.btn-advanced-toggle svg{transition:transform 150ms ease-out}.btn-advanced-toggle:hover{color:#1F2937}.btn-advanced-toggle.expanded svg{transform:rotate(180deg)}.advanced-zone-settings{margin-top:12px;padding:16px;background:#F9FAFB;border-radius:10px;border:1px solid #F3F4F6}.advanced-zone-settings.hidden{display:none}.advanced-zone-settings .form-row{margin-bottom:0}.form-select{width:100%;padding:12px;padding-right:32px;font-size:0.9375rem;border:1px solid #E5E7EB;border-radius:10px;background:#FFFFFF;color:#1F2937;cursor:pointer;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='%236B7280' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;transition:all 150ms ease-out}.form-select:focus{outline:none;border-color:#FF6B35;box-shadow:0 0 0 3px rgba(255,107,53,0.1)}.form-select:hover{border-color:#9CA3AF}.workout-description-section{margin-bottom:16px}.description-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.description-header .form-label{margin-bottom:0}.btn-reset-description{display:flex;align-items:center;gap:4px;font-size:0.75rem;font-weight:500;color:#9CA3AF;background:none;border:none;padding:4px 8px;border-radius:6px;cursor:pointer;transition:all 150ms ease-out}.btn-reset-description:hover{color:#1F2937;background:#F3F4F6}.workout-description-editable{border-left:3px solid #FF6B35;padding-left:12px}.btn-link{background:none;border:none;padding:0;color:#FF6B35;font-size:0.8125rem;cursor:pointer}.btn-link:hover{text-decoration:underline}.description-textarea{width:100%;font-family:"Instrument Sans", -apple-system, BlinkMacSystemFont, sans-serif;font-size:0.9375rem;line-height:1.6;color:#1F2937;background:#FFFFFF;border:1px solid #E5E7EB;border-radius:6px;padding:12px;resize:vertical;min-height:80px;transition:border-color 150ms ease-out, box-shadow 150ms ease-out}.description-textarea:focus{outline:none;border-color:#FF6B35;box-shadow:0 0 0 3px rgba(255,107,53,0.1)}.form-textarea{width:100%;padding:12px;border:1px solid #E5E7EB;border-radius:10px;font-size:0.875rem;font-family:inherit;resize:vertical;background:#F9FAFB;min-height:80px}.form-textarea:focus{outline:none;border-color:#FF6B35;box-shadow:0 0 0 3px rgba(255,107,53,0.1)}#coachNotesSection.hidden,#coachNotesSection:has(#coachNotesText:empty){display:none}.coach-notes-display{padding:16px;background:linear-gradient(135deg, rgba(255,107,53,0.05) 0%, rgba(255,107,53,0.02) 100%);border-left:3px solid #FF6B35;border-radius:0 10px 10px 0;margin-bottom:16px}.coach-notes-display p{margin:0;font-size:0.875rem;color:#1F2937;line-height:1.6}.coach-notes-display .form-label{margin-bottom:4px}.coach-notes-display .coach-notes-text{font-size:0.875rem;color:#9CA3AF;margin:0;font-style:italic}.coach-notes-display .coach-notes-text:empty::after{content:'No coach notes';color:rgba(156,163,175,0.6)}.btn-ghost{padding:12px 24px;border:1px solid #E5E7EB;border-radius:10px;background:#FFFFFF;font-size:0.875rem;font-weight:600;color:#6B7280;cursor:pointer;transition:all 150ms ease-out}.btn-ghost:hover{background:#F3F4F6;color:#1F2937}.pace-modal-overlay{position:fixed;inset:0;background:rgba(17,24,39,0.8);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:16px;z-index:1000;opacity:1;visibility:visible;transition:all 200ms ease-out}.pace-modal-overlay.hidden{opacity:0;visibility:hidden;pointer-events:none}.pace-modal-overlay.active{opacity:1;visibility:visible;pointer-events:auto}.pace-modal{width:100%;max-width:580px;max-height:calc(100vh - 48px);background:#FFFFFF;border-radius:24px;box-shadow:0 25px 50px -12px rgba(0,0,0,0.25),0 0 0 1px rgba(0,0,0,0.05);overflow:hidden;display:flex;flex-direction:column;animation:modal-enter 0.3s ease-out}@media (max-width: 640px){.pace-modal{max-height:95vh;border-radius:24px 24px 0 0}}.pace-modal-header{background:linear-gradient(180deg, #0F0F0F 0%, #1a1a2e 100%);padding:24px 28px 20px;display:flex;align-items:flex-start;justify-content:space-between;position:relative;overflow:visible}.pace-modal-header::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 20% 50%, rgba(255,107,53,0.15) 0%, transparent 50%),radial-gradient(ellipse at 80% 50%, rgba(78,205,196,0.1) 0%, transparent 50%);pointer-events:none}.pace-modal-header::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg, transparent, rgba(255,107,53,0.5), rgba(78,205,196,0.3), transparent)}.pace-modal-header-content{display:flex;align-items:center;gap:16px;position:relative;z-index:1}.pace-modal-icon{width:56px;height:56px;background:linear-gradient(135deg, #60A5FA 0%, #3B82F6 100%);border-radius:16px;display:flex;align-items:center;justify-content:center;color:#FFFFFF;flex-shrink:0;box-shadow:0 4px 20px rgba(59,130,246,0.4)}@media (max-width: 640px){.pace-modal-icon{width:44px;height:44px}.pace-modal-icon svg{width:20px;height:20px}}.pace-modal-titles{color:#FFFFFF}.pace-modal-title{font-family:"Clash Display", -apple-system, BlinkMacSystemFont, sans-serif;font-size:1.5rem;font-weight:600;margin:0 0 4px;letter-spacing:-0.02em}@media (max-width: 640px){.pace-modal-title{font-size:1.25rem}}.pace-modal-subtitle{margin:0;font-size:0.9rem;color:rgba(255,255,255,0.7)}.pace-modal-close{position:relative;z-index:1;width:36px;height:36px;background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.12);border-radius:10px;color:rgba(255,255,255,0.7);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all 150ms ease-out;flex-shrink:0}.pace-modal-close:hover{background:rgba(255,255,255,0.15);color:#FFFFFF;border-color:rgba(255,255,255,0.2);transform:rotate(90deg)}.pace-modal-body{flex:1;overflow-y:auto;padding:24px 28px}@media (max-width: 640px){.pace-modal-body{padding:20px}}.pace-modal-description{font-size:0.9375rem;color:#6B7280;margin:0 0 24px;line-height:1.6}.pace-input-section{background:#F9FAFB;padding:20px;border-radius:16px;margin-bottom:24px;border:1px solid #F3F4F6}.pace-form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 640px){.pace-form-row{grid-template-columns:1fr}}.pace-form-group{display:flex;flex-direction:column;gap:8px}.pace-form-label{font-size:0.8125rem;font-weight:600;color:#6B7280}.pace-form-select{padding:12px 16px;border:2px solid #E5E7EB;border-radius:10px;font-family:"Instrument Sans", -apple-system, BlinkMacSystemFont, sans-serif;font-size:0.9375rem;color:#1F2937;background:#FFFFFF;cursor:pointer;transition:all 150ms ease-out;outline:none}.pace-form-select:focus{border-color:#FF6B35;box-shadow:0 0 0 4px rgba(255,107,53,0.15)}.pace-time-inputs{display:flex;align-items:center;gap:8px}.pace-time-input{width:70px;text-align:center;font-family:"JetBrains Mono", "Fira Code", "SF Mono", Consolas, monospace;font-size:1.25rem;font-weight:700;padding:12px;border:2px solid #E5E7EB;border-radius:10px;transition:all 150ms ease-out;outline:none;background:#FFFFFF;color:#1F2937}.pace-time-input:focus{border-color:#FF6B35;box-shadow:0 0 0 4px rgba(255,107,53,0.15)}.pace-time-input.hidden{display:none}.pace-time-input.hours-input{width:60px}.pace-time-separator{font-family:"JetBrains Mono", "Fira Code", "SF Mono", Consolas, monospace;font-size:1.5rem;font-weight:700;color:#E5E7EB}.pace-time-separator.hidden{display:none}.pace-vdot-display{display:flex;align-items:center;justify-content:center;gap:24px;padding:24px;background:linear-gradient(135deg, #1a1a2e 0%, #0f0f0f 100%);border-radius:16px;margin-top:16px;position:relative;overflow:hidden}.pace-vdot-display::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 30% 50%, rgba(255,107,53,0.12) 0%, transparent 60%);pointer-events:none}@media (max-width: 640px){.pace-vdot-display{flex-direction:column;text-align:center;gap:16px}}.pace-vdot-content{position:relative;z-index:1;text-align:center}.pace-vdot-label{font-size:0.75rem;font-weight:600;text-transform:uppercase;letter-spacing:0.1em;color:rgba(255,255,255,0.5);margin-bottom:4px;display:block}.pace-vdot-value{font-family:"Clash Display", -apple-system, BlinkMacSystemFont, sans-serif;font-size:3.5rem;font-weight:700;color:#FFFFFF;line-height:1;background:linear-gradient(135deg, #fff 0%, rgba(255,255,255,0.8) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:0 2px 20px rgba(255,107,53,0.3)}.pace-input-group h4{font-size:0.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:#9CA3AF;margin:0 0 12px}.pace-input-group .pace-form-row{display:flex;gap:8px;align-items:center}.pace-input{flex:1;height:48px;padding:0 12px;font-family:"JetBrains Mono", "Fira Code", "SF Mono", Consolas, monospace;font-size:1.25rem;font-weight:600;text-align:center;border:2px solid #E5E7EB;border-radius:10px;background:#F9FAFB;transition:all 150ms ease-out}.pace-input:focus{outline:none;border-color:#FF6B35;box-shadow:0 0 0 3px rgba(255,107,53,0.15)}.pace-separator{font-size:1.25rem;font-weight:600;color:#9CA3AF}.pace-select{height:48px;padding:0 16px;font-size:0.9375rem;border:2px solid #E5E7EB;border-radius:10px;background:#F9FAFB;cursor:pointer}.pace-select:focus{outline:none;border-color:#FF6B35}.pace-calculate-btn{margin-top:12px;width:100%}.pace-input-footer{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;margin-top:0;padding-top:8px}.btn-dont-know-pace{background:none;border:none;padding:0;color:#FF6B35;font-size:0.8125rem;font-weight:500;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.btn-dont-know-pace:hover{color:#ff4602}.vdot-inline{font-size:0.75rem;color:#9CA3AF}.vdot-inline span{font-weight:600;color:#6B7280}.vdot-display{display:none}.pace-table-section h4{font-size:0.75rem;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:#9CA3AF;margin:0 0 12px}.pace-table{width:100%;border-collapse:collapse;border-radius:16px;overflow:hidden;border:1px solid #F3F4F6}.pace-table thead th{text-align:left;padding:14px 16px;font-size:0.6875rem;font-weight:600;color:#9CA3AF;text-transform:uppercase;letter-spacing:0.05em;background:#F9FAFB;border-bottom:2px solid #F3F4F6}.pace-table tbody td{padding:16px;border-bottom:1px solid #F3F4F6;background:#FFFFFF;vertical-align:middle}.pace-table tbody tr:last-child td{border-bottom:none}.pace-table tbody tr:hover td{background:#F9FAFB}.pace-table tr.pace-zone td:first-child{width:40px}.pace-table .pace-zone-name{font-weight:600;color:#1F2937}.pace-table .pace-value{font-family:"JetBrains Mono", "Fira Code", "SF Mono", Consolas, monospace;font-size:1rem;font-weight:700;color:#1F2937}.pace-table .pace-description{color:#6B7280;font-size:0.8125rem}.pace-zone-dot{width:12px;height:12px;border-radius:50%;display:inline-block;box-shadow:0 2px 8px rgba(0,0,0,0.15)}.pace-zone-dot.easy{background:linear-gradient(135deg, #22C55E, #16A34A)}.pace-zone-dot.marathon{background:linear-gradient(135deg, #60A5FA, #3B82F6)}.pace-zone-dot.threshold{background:linear-gradient(135deg, #FBBF24, #F59E0B)}.pace-zone-dot.interval{background:linear-gradient(135deg, #F472B6, #EC4899)}.pace-zone-dot.repetition{background:linear-gradient(135deg, #F87171, #EF4444)}.pace-use{padding:4px 12px;background:#F9FAFB;border:1px solid #E5E7EB;border-radius:10px;font-size:0.75rem;font-weight:600;color:#6B7280;cursor:pointer;transition:all 150ms ease-out}.pace-use:hover{background:#FF6B35;border-color:#FF6B35;color:#FFFFFF}.pace-zone-easy{color:#10B981}.pace-zone-moderate{color:#22C55E}.pace-zone-tempo{color:#F59E0B}.pace-zone-threshold{color:#FF6B35}.pace-zone-interval{color:#EF4444}.pace-modal-footer{padding:20px 28px;background:linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);border-top:1px solid #F3F4F6;display:flex;align-items:center;justify-content:flex-end;gap:12px;position:relative}.pace-modal-footer::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg, transparent, rgba(255,255,255,0.8), transparent)}.pace-btn-cancel{padding:12px 24px;font-family:"Instrument Sans", -apple-system, BlinkMacSystemFont, sans-serif;font-size:0.95rem;font-weight:600;color:#6B7280;background:#FFFFFF;border:2px solid #F3F4F6;border-radius:10px;cursor:pointer;transition:all 150ms ease-out}.pace-btn-cancel:hover{border-color:#E5E7EB;background:#F9FAFB}.pace-btn-save{display:flex;align-items:center;gap:8px;padding:12px 28px;font-family:"Instrument Sans", -apple-system, BlinkMacSystemFont, sans-serif;font-size:0.95rem;font-weight:600;color:#FFFFFF;background:linear-gradient(135deg, #FF6B35 0%, #E55A2B 100%);border:none;border-radius:10px;cursor:pointer;transition:all 150ms ease-out;box-shadow:0 4px 12px rgba(255,107,53,0.3)}.pace-btn-save:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(255,107,53,0.4)}.pace-btn-save.success{background:linear-gradient(135deg, #10B981 0%, #0c8a60 100%);box-shadow:0 4px 12px rgba(16,185,129,0.3)}.pace-section{margin-top:16px;padding:16px;background:#F9FAFB;border-radius:16px}.pace-section .pace-zone-label{display:flex;align-items:center;gap:8px;color:#1F2937;margin-bottom:4px}.pace-section .pace-zone-label .zone-dot{width:8px;height:8px;border-radius:50%;background:currentColor}@media (max-width: 640px){.modal-container{width:100%;max-width:100%;height:100%;max-height:100%;border-radius:0;margin:0}.swap-modal-header,.pace-modal-header{padding:16px}.swap-modal-body,.pace-modal-body{padding:16px;max-height:calc(100vh - 200px)}.swap-modal-footer,.pace-modal-footer{padding:16px;flex-direction:column}.swap-modal-footer .btn,.pace-modal-footer .btn{width:100%}.swap-preview-section{margin:0 calc(16px * -1);padding:16px}}.enrollment-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.6);display:flex;align-items:center;justify-content:center;padding:16px;z-index:1000;opacity:1;visibility:visible;transition:all 200ms ease-out}.enrollment-modal-overlay.hidden{opacity:0;visibility:hidden;pointer-events:none}.enrollment-modal{width:100%;max-width:600px;max-height:90vh;background:#FFFFFF;border-radius:24px;box-shadow:0 25px 50px -12px rgba(0,0,0,0.25);overflow:hidden;display:flex;flex-direction:column;animation:modal-enter 0.3s ease-out}@media (max-width: 640px){.enrollment-modal{max-width:100%;max-height:100%;height:100%;border-radius:0}}.enrollment-modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:24px;background:linear-gradient(135deg, #1A1A2E 0%, #16213E 100%);color:#FFFFFF}.enrollment-modal-header-content{display:flex;align-items:center;gap:16px}.enrollment-modal-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:linear-gradient(135deg, #FF6B35 0%, #FFD93D 100%);border-radius:16px;color:#FFFFFF}.enrollment-modal-titles{display:flex;flex-direction:column;gap:4px}.enrollment-modal-title{font-family:"Clash Display", -apple-system, BlinkMacSystemFont, sans-serif;font-size:1.25rem;font-weight:600;margin:0}.enrollment-modal-subtitle,.enrollment-plan-name{font-size:0.875rem;color:rgba(255,255,255,0.7);margin:0}.enrollment-modal-close{background:rgba(255,255,255,0.1);border:none;color:#FFFFFF;width:32px;height:32px;border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background 150ms ease-out}.enrollment-modal-close:hover{background:rgba(255,255,255,0.2)}.enrollment-progress-bar{padding:16px 24px;background:#F9FAFB;border-bottom:1px solid #F3F4F6}.enrollment-progress-steps{display:flex;justify-content:space-between;align-items:center;position:relative;max-width:400px;margin:0 auto}.enrollment-progress-line{position:absolute;top:14px;left:28px;right:28px;height:2px;background:#FF6B35;transition:width 200ms ease-out;z-index:0}.enrollment-progress-line::before{content:'';position:absolute;top:0;left:0;right:0;height:100%;background:#E5E7EB;z-index:-1}.enrollment-step{display:flex;flex-direction:column;align-items:center;gap:4px;z-index:1}.enrollment-step-circle{width:28px;height:28px;background:#F9FAFB;border:2px solid #E5E7EB;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:0.75rem;font-weight:700;color:#9CA3AF;transition:all 150ms ease-out}.enrollment-step.active .enrollment-step-circle{background:#FF6B35;border-color:#FF6B35;color:#FFFFFF}.enrollment-step.completed .enrollment-step-circle{background:#10B981;border-color:#10B981;color:#FFFFFF}.enrollment-step-label{font-size:0.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:0.05em;color:#9CA3AF;transition:color 150ms ease-out}.enrollment-step.active .enrollment-step-label,.enrollment-step.completed .enrollment-step-label{color:#1F2937}.enrollment-modal-body{flex:1;overflow-y:auto;padding:24px}.enrollment-step-panel{display:none;position:relative}.enrollment-step-panel.active{display:block;animation:step-fade-in 0.3s ease-out}@keyframes step-fade-in{from{opacity:0;transform:translateX(10px)}to{opacity:1;transform:translateX(0)}}.enrollment-step-heading{font-family:"Clash Display", -apple-system, BlinkMacSystemFont, sans-serif;font-size:1.125rem;font-weight:600;color:#1F2937;margin:0 0 4px}.enrollment-step-description{font-size:0.875rem;color:#6B7280;margin:0 0 24px}.start-option-cards{display:flex;flex-direction:column;gap:12px}.start-option-card{display:block;padding:16px;background:#F9FAFB;border:2px solid transparent;border-radius:16px;cursor:pointer;transition:all 150ms ease-out}.start-option-card input[type="radio"]{display:none}.start-option-card:hover{background:#FFFFFF;border-color:#E5E7EB}.start-option-card.selected{background:linear-gradient(135deg, #FFF8F5 0%, #FFF0EB 100%);border-color:#FF6B35;box-shadow:0 0 0 3px rgba(255,107,53,0.15)}.start-option-header{display:flex;align-items:center;gap:12px}.start-option-radio{width:20px;height:20px;border:2px solid #E5E7EB;border-radius:50%;position:relative;flex-shrink:0;transition:all 150ms ease-out}.start-option-card.selected .start-option-radio{border-color:#FF6B35}.start-option-card.selected .start-option-radio::after{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);width:10px;height:10px;background:#FF6B35;border-radius:50%}.start-option-info{flex:1;display:flex;flex-direction:column;gap:2px}.start-option-title{font-size:0.9375rem;font-weight:600;color:#1F2937}.start-option-subtitle{font-size:0.8125rem;color:#6B7280}.start-option-badge{padding:4px 8px;background:rgba(16,185,129,0.15);color:#0c8a60;font-size:0.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;border-radius:9999px}.start-option-expand{margin-top:16px;padding-top:16px;border-top:1px solid #F3F4F6}.start-date-picker .form-group{margin:0}.date-input-wrapper{position:relative}.date-input-wrapper input[type="date"]{width:100%;padding-right:40px}.date-input-wrapper svg{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:#9CA3AF;pointer-events:none}.race-search-section .form-group{margin:0}.race-search-wrapper{position:relative}.race-search-wrapper svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#9CA3AF;pointer-events:none}.race-search-wrapper .race-search-input{padding-left:44px}.race-results{position:absolute;top:100%;left:0;right:0;background:#FFFFFF;border:1px solid #E5E7EB;border-radius:10px;box-shadow:0 4px 12px rgba(0,0,0,0.1);margin-top:4px;max-height:200px;overflow-y:auto;z-index:10}.race-result-item{padding:12px;cursor:pointer;border-bottom:1px solid #F3F4F6;transition:background 150ms ease-out}.race-result-item:last-child{border-bottom:none}.race-result-item:hover{background:#F9FAFB}.race-result-name{font-weight:600;color:#1F2937;font-size:0.9375rem;margin-bottom:2px}.race-result-meta{font-size:0.8125rem;color:#6B7280}.race-result-date{color:#9CA3AF}.race-result-location{color:#9CA3AF}.race-result-loading,.race-result-empty{padding:16px;text-align:center;color:#9CA3AF;font-size:0.875rem}.selected-race{display:flex;align-items:center;gap:12px;padding:12px;background:#FFFFFF;border:1px solid #E5E7EB;border-radius:10px;margin-top:12px}.selected-race .selected-race-icon{color:#FF6B35;display:flex;align-items:center;justify-content:center;flex-shrink:0}.selected-race .selected-race-info{flex:1}.selected-race .selected-race-name{font-weight:600;color:#1F2937}.selected-race .selected-race-date{font-size:0.8125rem;color:#6B7280}.selected-race .selected-race-remove{background:none;border:none;color:#9CA3AF;cursor:pointer;padding:4px}.selected-race .selected-race-remove:hover{color:#EF4444}#enrollTimingInfo.timing-info{position:static !important;left:auto !important;transform:none !important;display:flex;align-items:flex-start;gap:12px;padding:12px;background:rgba(59,130,246,0.1);border:1px solid rgba(59,130,246,0.2);border-radius:10px;margin-top:12px;width:100%;box-sizing:border-box}#enrollTimingInfo.timing-info.success{background:rgba(16,185,129,0.1);border-color:rgba(16,185,129,0.2)}#enrollTimingInfo.timing-info.warning{background:rgba(245,158,11,0.1);border-color:rgba(245,158,11,0.2)}#enrollTimingInfo.timing-info.error{background:rgba(239,68,68,0.1);border-color:rgba(239,68,68,0.2)}#enrollTimingInfo.timing-info .timing-info-icon{flex-shrink:0;color:#3B82F6;margin-top:2px}#enrollTimingInfo.timing-info.success .timing-info-icon{color:#10B981}#enrollTimingInfo.timing-info.warning .timing-info-icon{color:#F59E0B}#enrollTimingInfo.timing-info.error .timing-info-icon{color:#EF4444}#enrollTimingInfo.timing-info .timing-info-content{flex:1;min-width:0;width:100%}#enrollTimingInfo.timing-info .timing-info-title{font-weight:600;font-size:0.9375rem;color:#1F2937;margin-bottom:2px}#enrollTimingInfo.timing-info .timing-info-desc{font-size:0.8125rem;color:#6B7280;line-height:1.4}#enrollTimingInfo.timing-info .timing-info-text{font-size:0.875rem;color:#1F2937}.timing-info-options{display:flex;gap:12px;margin-top:12px;width:100%;box-sizing:border-box}@media (max-width: 500px){.timing-info-options{flex-direction:column}}.timing-option{flex:1;min-width:0;padding:12px;background:rgba(255,255,255,0.6);border-radius:10px;border:1px solid rgba(245,158,11,0.2);box-sizing:border-box}.timing-option-title{font-weight:600;font-size:0.875rem;color:#1F2937;margin-bottom:4px}.timing-option-desc{font-size:0.75rem;color:#6B7280;line-height:1.4;margin-bottom:8px}.timing-info-action{display:inline-flex;align-items:center;justify-content:center;width:100%;padding:8px 12px;font-size:0.8125rem;font-weight:600;color:#FFFFFF;background:#F59E0B;border:none;border-radius:10px;cursor:pointer;transition:background 150ms ease-out, transform 150ms ease-out}.timing-info-action:hover{background:#cf8508;transform:translateY(-1px)}.timing-info-action.secondary{background:transparent;color:#6B7280;border:1px solid #E5E7EB}.timing-info-action.secondary:hover{background:#F9FAFB;color:#1F2937}.calculated-date{display:flex;align-items:center;gap:12px;padding:16px;background:linear-gradient(135deg, #F0FDF4 0%, #DCFCE7 100%);border:1px solid rgba(16,185,129,0.2);border-radius:16px;margin-top:24px}.calculated-date-icon{width:32px;height:32px;background:#10B981;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#FFFFFF}.calculated-date-info{display:flex;flex-direction:column;gap:2px}.calculated-date-label{font-size:0.75rem;font-weight:600;text-transform:uppercase;letter-spacing:0.05em;color:#0a7350}.calculated-date-value{font-family:"Clash Display", -apple-system, BlinkMacSystemFont, sans-serif;font-size:1rem;font-weight:600;color:#1F2937}.time-inputs{display:flex;align-items:center;gap:4px}.time-inputs .time-input{width:56px;height:44px;padding:0;text-align:center;font-family:"JetBrains Mono", "Fira Code", "SF Mono", Consolas, monospace;font-size:1.125rem;font-weight:600;border:2px solid #E5E7EB;border-radius:10px;background:#F9FAFB}.time-inputs .time-input:focus{outline:none;border-color:#FF6B35;box-shadow:0 0 0 3px rgba(255,107,53,0.15)}.time-inputs .time-input.hidden{display:none}.time-inputs .time-input.hours-input{width:48px}.time-inputs .time-separator{font-size:1.25rem;font-weight:600;color:#9CA3AF;width:12px;text-align:center;flex-shrink:0;margin:0;padding:0;line-height:1;align-self:center}.time-inputs .time-separator.hidden{display:none}.pace-calculator-modal .form-row{display:flex;gap:16px;align-items:flex-start}@media (max-width: 640px){.pace-calculator-modal .form-row{flex-direction:column;gap:12px}}.pace-calculator-modal .form-row .form-group{flex:1}.pace-tip{display:flex;gap:12px;padding:16px;background:rgba(59,130,246,0.08);border-radius:10px;margin-top:24px}.pace-tip-icon{flex-shrink:0;color:#3B82F6}.pace-tip-text{font-size:0.8125rem;line-height:1.5;color:#6B7280;margin:0}.pace-desc{font-size:0.8125rem;color:#9CA3AF}.vdot-info{font-size:0.75rem;color:#9CA3AF}.schedule-section{margin-bottom:24px}.schedule-section:last-of-type{margin-bottom:16px}.schedule-section-title{font-size:0.9375rem;font-weight:600;color:#1F2937;margin:0 0 4px}.schedule-section-desc{font-size:0.8125rem;color:#6B7280;margin:0 0 12px}.day-selector{display:flex;gap:8px;flex-wrap:wrap}.long-run-day-btn{padding:8px 12px;background:#F9FAFB;border:2px solid transparent;border-radius:10px;font-size:0.8125rem;font-weight:600;color:#6B7280;cursor:pointer;transition:all 150ms ease-out}.long-run-day-btn:hover{background:#FFFFFF;border-color:#E5E7EB;color:#1F2937}.long-run-day-btn.selected{background:#FF6B35;border-color:#FF6B35;color:#FFFFFF}.rest-day-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(120px, 1fr));gap:8px}.rest-day-check{display:flex;align-items:center;gap:8px;padding:12px;background:#F9FAFB;border:2px solid transparent;border-radius:10px;cursor:pointer;transition:all 150ms ease-out}.rest-day-check:hover{background:#FFFFFF;border-color:#E5E7EB}.rest-day-check.checked{background:linear-gradient(135deg, #FFF8F5 0%, #FFF0EB 100%);border-color:#FF6B35}.rest-day-checkbox{display:none}.rest-day-checkbox-visual{width:18px;height:18px;border:2px solid #E5E7EB;border-radius:6px;position:relative;flex-shrink:0;transition:all 150ms ease-out}.rest-day-check.checked .rest-day-checkbox-visual{background:#FF6B35;border-color:#FF6B35}.rest-day-check.checked .rest-day-checkbox-visual::after{content:'';position:absolute;top:2px;left:5px;width:5px;height:9px;border:2px solid #FFFFFF;border-top:none;border-left:none;transform:rotate(45deg)}.rest-day-name{font-size:0.875rem;font-weight:500;color:#1F2937}.enrollment-summary{padding:16px;background:#F9FAFB;border-radius:16px;margin-top:16px}.summary-title{font-size:0.75rem;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:#9CA3AF;margin:0 0 12px}.summary-grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:12px}@media (max-width: 640px){.summary-grid{grid-template-columns:1fr}}.summary-item{display:flex;flex-direction:column;gap:2px}.summary-label{font-size:0.75rem;color:#9CA3AF}.summary-value{font-weight:600;color:#1F2937}.enrollment-modal-footer{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;background:#F9FAFB;border-top:1px solid #F3F4F6}.enrollment-footer-actions{display:flex;gap:12px}.enrollment-btn-back,.enrollment-btn-next,.enrollment-btn-submit{display:flex;align-items:center;gap:4px}.enrollment-toast{display:flex;align-items:center;gap:8px;padding:12px 16px;margin-bottom:16px;border-radius:10px;font-size:0.875rem;font-weight:500;opacity:0;transform:translateY(-10px);transition:all 0.2s ease}.enrollment-toast svg{flex-shrink:0}.enrollment-toast.show{opacity:1;transform:translateY(0)}.enrollment-toast--error{background:linear-gradient(135deg, #FEF2F2 0%, #FEE2E2 100%);color:#EF4444;border:1px solid rgba(239,68,68,0.2)}.enrollment-toast--error svg{stroke:#EF4444}.enrollment-toast--warning{background:linear-gradient(135deg, #FFFBEB 0%, #FEF3C7 100%);color:#F59E0B;border:1px solid rgba(245,158,11,0.2)}.enrollment-toast--warning svg{stroke:#F59E0B}.enrollment-toast--success{background:linear-gradient(135deg, #F0FDF4 0%, #DCFCE7 100%);color:#10B981;border:1px solid rgba(16,185,129,0.2)}.enrollment-toast--success svg{stroke:#10B981}.enrollment-toast--info{background:linear-gradient(135deg, #EFF6FF 0%, #DBEAFE 100%);color:#3B82F6;border:1px solid rgba(59,130,246,0.2)}.enrollment-toast--info svg{stroke:#3B82F6}.enrollment-toast-message{flex:1}@media (max-width: 640px){.enrollment-modal-header{padding:16px}.enrollment-modal-body{padding:16px}.enrollment-modal-footer{padding:16px;flex-direction:column;gap:12px}.enrollment-modal-footer .enrollment-btn-cancel{order:2;width:100%}.enrollment-modal-footer .enrollment-footer-actions{order:1;width:100%;flex-direction:column-reverse}.enrollment-modal-footer .enrollment-footer-actions .btn{width:100%}.day-selector{justify-content:center}.long-run-day-btn{flex:1;min-width:40px;text-align:center}}.week-preference-grid{background:#FFFFFF;border:1px solid #F3F4F6;border-radius:16px;padding:16px;margin-bottom:16px}.week-grid-header{display:grid;grid-template-columns:90px repeat(7, 1fr);gap:8px;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid #F3F4F6}@media (max-width: 640px){.week-grid-header{grid-template-columns:72px repeat(7, 1fr);gap:4px}}.week-grid-day-label{text-align:center;font-size:0.75rem;font-weight:600;text-transform:uppercase;letter-spacing:0.03em;color:#6B7280;padding:4px 0}.week-grid-row{display:grid;grid-template-columns:90px repeat(7, 1fr);gap:8px;margin-bottom:12px;align-items:center}.week-grid-row:last-child{margin-bottom:0}@media (max-width: 640px){.week-grid-row{grid-template-columns:72px repeat(7, 1fr);gap:4px}}.week-grid-label{display:flex;align-items:center;gap:8px}@media (max-width: 640px){.week-grid-label{gap:4px}}.row-label-icon{width:28px;height:28px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.row-label-icon.long-run{background:linear-gradient(135deg, #3B82F6 0%, #1D4ED8 100%);color:#FFFFFF}.row-label-icon.rest{background:linear-gradient(135deg, #64748B 0%, #475569 100%);color:#FFFFFF}@media (max-width: 640px){.row-label-icon{width:24px;height:24px}.row-label-icon svg{width:12px;height:12px}}.row-label-text{font-size:0.875rem;font-weight:600;color:#1F2937;white-space:nowrap}@media (max-width: 640px){.row-label-text{font-size:0.75rem}}.rest-count-label{font-weight:500;color:#9CA3AF;font-size:0.75rem;margin-left:2px}@media (max-width: 640px){.rest-count-label{font-size:0.625rem}}.week-grid-cell{aspect-ratio:1;min-height:40px;max-height:44px;background:#F9FAFB;border:2px solid transparent;border-radius:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all 150ms ease-out;position:relative}.week-grid-cell:hover:not(.disabled):not(.selected){border-color:#E5E7EB;background:#FFFFFF;transform:scale(1.05)}.week-grid-cell:focus{outline:none;box-shadow:0 0 0 3px rgba(255,107,53,0.2)}.week-grid-cell.disabled{opacity:0.3;cursor:not-allowed;background:#F9FAFB}.week-grid-cell.disabled .cell-indicator{display:none}@media (max-width: 640px){.week-grid-cell{min-height:36px;max-height:40px;border-radius:10px}}.cell-indicator{width:14px;height:14px;border-radius:50%;background:transparent;border:2px solid #E5E7EB;transition:all 150ms ease-out}@media (max-width: 640px){.cell-indicator{width:12px;height:12px}}.long-run-cell:hover:not(.disabled):not(.selected){border-color:rgba(59,130,246,0.4);background:rgba(59,130,246,0.05)}.long-run-cell:hover:not(.disabled):not(.selected) .cell-indicator{border-color:#3B82F6}.long-run-cell.selected{background:linear-gradient(135deg, #EFF6FF 0%, #DBEAFE 100%);border-color:#3B82F6;box-shadow:0 0 0 3px rgba(59,130,246,0.15)}.long-run-cell.selected .cell-indicator{background:#3B82F6;border-color:#3B82F6;box-shadow:0 0 8px rgba(59,130,246,0.4)}.rest-cell:hover:not(.disabled):not(.selected){border-color:rgba(100,116,139,0.4);background:rgba(100,116,139,0.05)}.rest-cell:hover:not(.disabled):not(.selected) .cell-indicator{border-color:#64748B}.rest-cell.selected{background:linear-gradient(135deg, #F1F5F9 0%, #E2E8F0 100%);border-color:#64748B;box-shadow:0 0 0 3px rgba(100,116,139,0.15)}.rest-cell.selected .cell-indicator{background:#64748B;border-color:#64748B;box-shadow:0 0 8px rgba(100,116,139,0.4)}.week-grid-help{display:flex;align-items:flex-start;gap:8px;margin-top:16px;padding:12px;background:#F9FAFB;border-radius:10px}.week-grid-help svg{flex-shrink:0;color:#9CA3AF;margin-top:2px}.week-grid-help p{font-size:0.8125rem;color:#6B7280;margin:0;line-height:1.5}.week-grid-help p strong{color:#1F2937;font-weight:600}@media (max-width: 640px){.week-preference-grid{padding:12px}.week-grid-help{padding:8px}.week-grid-help svg{width:14px;height:14px}.week-grid-help p{font-size:0.75rem}}#enter-workout-modal .workout-info-display{display:flex;align-items:center;gap:8px;padding:8px;background:var(--color-surface, #fff);border-radius:10px;margin-bottom:12px}#enter-workout-modal .workout-goal-text{font-weight:500;color:var(--color-text-primary, #1F2937)}#enter-workout-modal .input-with-unit{display:flex;gap:4px}#enter-workout-modal .input-with-unit .form-input,#enter-workout-modal .input-with-unit .form-select,#enter-workout-modal .input-with-unit .form-textarea{flex:1}#enter-workout-modal .input-with-unit .unit-select{width:70px}#enter-workout-modal .input-with-unit .unit-label{display:flex;align-items:center;padding:0 8px;background:var(--color-surface, #fff);border:1px solid var(--color-border-light, #E5E7EB);border-radius:8px;font-size:0.875rem;color:var(--color-text-muted, #9CA3AF)}#enter-workout-modal .duration-inputs{display:flex;gap:8px}#enter-workout-modal .duration-field{display:flex;align-items:center;gap:4px}#enter-workout-modal .duration-field .duration-input{width:60px;text-align:center}#enter-workout-modal .duration-field .duration-label{font-size:0.875rem;color:var(--color-text-muted, #9CA3AF)}#enter-workout-modal .effort-rating{display:flex;gap:4px}#enter-workout-modal .effort-option{cursor:pointer}#enter-workout-modal .effort-option input[type="radio"]{display:none}#enter-workout-modal .effort-option .effort-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:2px solid var(--color-border-light, #E5E7EB);border-radius:50%;font-weight:600;color:var(--color-text-muted, #9CA3AF);transition:all 150ms ease-out}#enter-workout-modal .effort-option input:checked+.effort-icon{border-color:#FF6B35;background:rgba(255,107,53,0.1);color:#FF6B35}#enter-workout-modal .effort-option:hover .effort-icon{border-color:#FF6B35}#enter-workout-modal #pace-section.hidden{display:none}.enrollment-confirm-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.6);display:flex;align-items:center;justify-content:center;padding:16px;z-index:1100;opacity:0;visibility:hidden;transition:all 0.3s ease}.enrollment-confirm-overlay.visible{opacity:1;visibility:visible}.enrollment-confirm-overlay.visible .enrollment-confirm-dialog{transform:scale(1) translateY(0)}.enrollment-confirm-dialog{background:#FFFFFF;border-radius:24px;padding:24px 32px;max-width:420px;width:100%;text-align:center;box-shadow:0 25px 50px -12px rgba(0,0,0,0.35);transform:scale(0.95) translateY(20px);transition:transform 0.3s ease}@media (max-width: 640px){.enrollment-confirm-dialog{padding:16px;margin:12px}}.enrollment-confirm-icon{width:72px;height:72px;margin:0 auto 16px;display:flex;align-items:center;justify-content:center;background:rgba(245,158,11,0.1);border-radius:50%}.enrollment-confirm-icon svg{stroke:#F59E0B;width:40px;height:40px}.enrollment-confirm-title{font-size:1.25rem;font-weight:700;color:#1F2937;margin-bottom:8px}.enrollment-confirm-message{font-size:0.9375rem;line-height:1.6;color:#6B7280;margin-bottom:16px}.enrollment-confirm-existing{background:rgba(59,130,246,0.08);border:1px solid rgba(59,130,246,0.2);border-radius:16px;padding:12px 16px;margin-bottom:24px}.enrollment-confirm-existing .existing-plan-name{font-weight:600;color:#1F2937;margin-bottom:4px}.enrollment-confirm-existing .existing-plan-progress{font-size:0.875rem;color:#9CA3AF}.enrollment-confirm-actions{display:flex;gap:12px}.enrollment-confirm-actions .btn{flex:1}@media (max-width: 640px){.enrollment-confirm-actions{flex-direction:column-reverse}.enrollment-confirm-actions .btn{width:100%}}.enrollment-confirm-replace{background:#FF6B35;color:white}.enrollment-confirm-replace:hover{background:#ff581c}.schedule-modal{max-width:800px;width:95%;max-height:90vh;display:flex;flex-direction:column;background:var(--ft-card-bg, #fff);border-radius:16px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,0.3)}.schedule-modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:24px;background:linear-gradient(135deg, #1e293b 0%, #334155 100%);color:#fff}.schedule-header-content{display:flex;align-items:center;gap:16px}.schedule-icon-wrap{width:48px;height:48px;border-radius:12px;background:rgba(255,255,255,0.15);display:flex;align-items:center;justify-content:center}.schedule-icon-wrap svg{color:#f97316}.schedule-modal-title{font-size:1.5rem;font-weight:700;margin:0;color:#fff}.schedule-modal-subtitle{font-size:0.875rem;color:rgba(255,255,255,0.7);margin:4px 0 0}.schedule-modal-body{flex:1;overflow-y:auto;padding:24px;background:#f8fafc}.schedule-week-nav{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:20px}.schedule-nav-btn{width:36px;height:36px;border-radius:50%;border:1px solid #e2e8f0;background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all 0.2s ease}.schedule-nav-btn:hover:not(:disabled){background:#f1f5f9;border-color:#cbd5e1}.schedule-nav-btn:disabled{opacity:0.4;cursor:not-allowed}.schedule-nav-btn svg{color:#64748b}.schedule-week-info{text-align:center;min-width:200px}.schedule-week-label{display:block;font-size:1.25rem;font-weight:700;color:#1e293b}.schedule-week-theme{display:block;font-size:0.875rem;color:#64748b;margin-top:2px}.schedule-week-stats{display:flex;justify-content:center;gap:32px;margin-bottom:24px;padding:16px;background:#fff;border-radius:12px;border:1px solid #e2e8f0}.schedule-stat{text-align:center}.schedule-stat-value{display:block;font-size:1.5rem;font-weight:700;color:#1e293b}.schedule-stat-value.schedule-stat-percent{color:#f97316}.schedule-stat-label{display:block;font-size:0.75rem;color:#64748b;text-transform:uppercase;letter-spacing:0.05em;margin-top:2px}.schedule-calendar{display:grid;grid-template-columns:repeat(7, 1fr);gap:8px}.schedule-calendar.loading{opacity:0.6;pointer-events:none}@media (max-width: 768px){.schedule-calendar{grid-template-columns:repeat(2, 1fr)}}@media (max-width: 480px){.schedule-calendar{grid-template-columns:1fr}}.schedule-loading,.schedule-error,.schedule-empty{grid-column:1 / -1;text-align:center;padding:48px 24px;color:#64748b}.schedule-error{color:#ef4444}.schedule-day{background:#fff;border-radius:12px;border:1px solid #e2e8f0;padding:12px;min-height:100px;position:relative;transition:all 0.2s ease}.schedule-day:hover{border-color:#cbd5e1;box-shadow:0 2px 8px rgba(0,0,0,0.05)}.schedule-day.rest{background:#f8fafc;border-color:#e2e8f0}.schedule-day.long-run{border-left:3px solid #3b82f6}.schedule-day.quality{border-left:3px solid #8b5cf6}.schedule-day.has-workout{border-left:3px solid #22c55e}.schedule-day.completed{background:linear-gradient(135deg, #f0fdf4 0%, #dcfce7 100%);border-color:#86efac}.schedule-day.today{border-color:#f97316;box-shadow:0 0 0 2px rgba(249,115,22,0.2)}.schedule-day-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.schedule-day-name{font-size:0.75rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:0.05em}.schedule-day-date{font-size:0.75rem;color:#94a3b8}.schedule-day-content{display:flex;flex-direction:column;gap:4px}.schedule-day-type{width:8px;height:8px;border-radius:50%;display:inline-block;margin-bottom:4px}.schedule-day-type.type-easy{background:#22c55e}.schedule-day-type.type-tempo{background:#f59e0b}.schedule-day-type.type-long{background:#3b82f6}.schedule-day-type.type-intervals{background:#8b5cf6}.schedule-day-type.type-rest{background:#cbd5e1}.schedule-day-type.type-cross_train{background:#ec4899}.schedule-day-workout{font-size:0.875rem;font-weight:600;color:#1e293b}.schedule-day-detail{font-size:0.75rem;color:#64748b}.schedule-day-check{position:absolute;top:8px;right:8px;width:20px;height:20px;background:#22c55e;border-radius:50%;display:flex;align-items:center;justify-content:center}.schedule-day-check svg{color:#fff;width:12px;height:12px}.schedule-day-today{position:absolute;bottom:8px;right:8px;font-size:0.625rem;font-weight:600;color:#f97316;text-transform:uppercase;letter-spacing:0.05em}.schedule-modal-footer{display:flex;justify-content:flex-end;padding:16px 24px;background:#fff;border-top:1px solid #e2e8f0}.goal-race-modal{max-width:500px;width:95%;max-height:80vh;display:flex;flex-direction:column;background:var(--ft-card-bg, #fff);border-radius:16px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,0.3)}.goal-race-modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:24px;background:linear-gradient(135deg, #1e293b 0%, #334155 100%);color:#fff}.goal-race-header-content{display:flex;align-items:center;gap:16px}.goal-race-icon-wrap{width:48px;height:48px;border-radius:12px;background:rgba(255,255,255,0.15);display:flex;align-items:center;justify-content:center}.goal-race-icon-wrap svg{color:#f97316}.goal-race-modal-title{font-size:1.5rem;font-weight:700;margin:0;color:#fff}.goal-race-modal-subtitle{font-size:0.875rem;color:rgba(255,255,255,0.7);margin:4px 0 0}.goal-race-modal-body{flex:1;overflow-y:auto;padding:24px;display:flex;flex-direction:column;gap:24px}.goal-race-label{display:block;font-size:0.75rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:0.05em;margin-bottom:12px}.goal-race-search-section{position:relative}.goal-race-search-wrap{position:relative}.goal-race-search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#94a3b8;pointer-events:none}.goal-race-search-input{width:100%;padding:12px 16px 12px 44px;font-size:1rem;border:1px solid #e2e8f0;border-radius:10px;background:#fff;transition:border-color 0.2s ease, box-shadow 0.2s ease}.goal-race-search-input:focus{outline:none;border-color:#f97316;box-shadow:0 0 0 3px rgba(249,115,22,0.1)}.goal-race-search-input::placeholder{color:#94a3b8}.goal-race-results{margin-top:8px;max-height:200px;overflow-y:auto}.goal-race-upcoming-section{flex:1;min-height:0}.goal-race-upcoming-list{max-height:250px;overflow-y:auto}.goal-race-loading,.goal-race-empty{text-align:center;padding:24px;color:#64748b;font-size:0.875rem}.goal-race-option{display:flex;align-items:center;justify-content:space-between;width:100%;padding:12px 16px;background:#fff;border:1px solid #e2e8f0;border-radius:10px;cursor:pointer;transition:all 0.2s ease;text-align:left;margin-bottom:8px}.goal-race-option:hover{border-color:#f97316;background:#fff7ed}.goal-race-option:last-child{margin-bottom:0}.goal-race-option-info{flex:1;min-width:0}.goal-race-option-name{display:block;font-size:0.9375rem;font-weight:600;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.goal-race-option-meta{display:block;font-size:0.8125rem;color:#64748b;margin-top:2px}.goal-race-option-arrow{flex-shrink:0;color:#94a3b8;margin-left:12px}.goal-race-modal-footer{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;background:#f8fafc;border-top:1px solid #e2e8f0}.goal-race-clear-btn{display:flex;align-items:center;gap:6px;padding:8px 12px;font-size:0.875rem;color:#ef4444;background:transparent;border:none;cursor:pointer;transition:background 0.2s ease;border-radius:6px}.goal-race-clear-btn:hover{background:#fef2f2}.settings-modal{max-width:500px;width:95%;max-height:90vh;display:flex;flex-direction:column;background:var(--ft-card-bg, #fff);border-radius:16px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,0.3)}.settings-modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:24px;background:linear-gradient(135deg, #1e293b 0%, #334155 100%);color:#fff}.settings-header-content{display:flex;align-items:center;gap:16px}.settings-icon-wrap{width:48px;height:48px;border-radius:12px;background:rgba(255,255,255,0.15);display:flex;align-items:center;justify-content:center}.settings-icon-wrap svg{color:#f97316}.settings-modal-title{font-size:1.5rem;font-weight:700;margin:0;color:#fff}.settings-modal-subtitle{font-size:0.875rem;color:rgba(255,255,255,0.7);margin:4px 0 0}.settings-modal-body{flex:1;overflow-y:auto;padding:24px;display:flex;flex-direction:column;gap:20px}.settings-description{font-size:0.9375rem;color:#64748b;margin:0;line-height:1.5}.settings-help-text{display:flex;gap:12px;padding:14px;background:#f8fafc;border-radius:10px;margin-top:8px}.settings-help-text svg{flex-shrink:0;color:#94a3b8;margin-top:2px}.settings-help-text p{font-size:0.8125rem;color:#64748b;margin:0;line-height:1.5}.settings-modal-footer{display:flex;justify-content:flex-end;align-items:center;gap:12px;padding:16px 24px;background:#f8fafc;border-top:1px solid #e2e8f0}.settings-modal .week-preference-grid{margin:0}.settings-modal .week-grid-cell.disabled{opacity:0.4;cursor:not-allowed;pointer-events:none}.settings-modal-footer .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;font-size:0.9375rem;font-weight:600;border-radius:8px;cursor:pointer;transition:all 0.2s ease;border:none}.settings-modal-footer .btn.btn-secondary{background:#fff;color:#64748b;border:1px solid #e2e8f0}.settings-modal-footer .btn.btn-secondary:hover{background:#f8fafc;border-color:#cbd5e1}.settings-modal-footer .btn.btn-primary{background:linear-gradient(135deg, #f97316 0%, #ea580c 100%);color:#fff}.settings-modal-footer .btn.btn-primary:hover{background:linear-gradient(135deg, #ea580c 0%, #dc2626 100%);transform:translateY(-1px);box-shadow:0 4px 12px rgba(249,115,22,0.3)}.settings-modal-footer .btn.btn-primary:disabled{opacity:0.6;cursor:not-allowed;transform:none;box-shadow:none}.settings-modal-footer .spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,0.3);border-top-color:#fff;border-radius:50%;animation:spin 0.8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 640px){.settings-modal{max-height:100vh;border-radius:0}.settings-modal-header{padding:20px}.settings-modal-body{padding:20px}.settings-modal-footer{padding:16px 20px}}.plan-management{margin-top:24px;padding-top:20px;border-top:1px solid var(--ft-border-color, #e5e7eb)}.plan-management .settings-section-title{font-size:0.875rem;font-weight:600;color:var(--ft-text-primary, #1f2937);margin:0 0 12px}.plan-management .btn-block{display:flex;align-items:center;justify-content:center;width:100%;gap:8px;margin-bottom:8px}.plan-management .btn-block:last-child{margin-bottom:0}.resume-modal{max-width:480px;width:90%}.resume-modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:24px 24px 16px;border-bottom:1px solid var(--ft-border-color, #e5e7eb)}.resume-header-content{display:flex;gap:16px;align-items:flex-start}.resume-icon-wrap{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg, var(--ft-primary-color, #f97316) 0%, #fb923c 100%);display:flex;align-items:center;justify-content:center;color:white;flex-shrink:0}.resume-modal-title{font-size:1.25rem;font-weight:600;color:var(--ft-text-primary, #1f2937);margin:0 0 4px}.resume-modal-subtitle{font-size:0.875rem;color:var(--ft-text-secondary, #6b7280);margin:0}.resume-modal-body{padding:20px 24px}.resume-description{font-size:0.9375rem;color:var(--ft-text-primary, #1f2937);margin:0 0 20px}.resume-options{display:flex;flex-direction:column;gap:12px}.resume-option{display:block;padding:16px;border:2px solid var(--ft-border-color, #e5e7eb);border-radius:12px;cursor:pointer;transition:all 0.2s ease;background:var(--ft-bg-primary, #fff)}.resume-option input[type="radio"]{position:absolute;opacity:0;pointer-events:none}.resume-option:hover{border-color:var(--ft-primary-color, #f97316);background:rgba(249,115,22,0.02)}.resume-option.selected{border-color:var(--ft-primary-color, #f97316);background:rgba(249,115,22,0.05)}.resume-option.selected .option-icon{background:var(--ft-primary-color, #f97316);color:white}.option-content{display:flex;align-items:center;gap:14px}.option-icon{width:40px;height:40px;border-radius:10px;background:var(--ft-bg-secondary, #f3f4f6);display:flex;align-items:center;justify-content:center;color:var(--ft-text-secondary, #6b7280);transition:all 0.2s ease;flex-shrink:0}.option-text{display:flex;flex-direction:column;gap:2px}.option-title{font-size:0.9375rem;font-weight:600;color:var(--ft-text-primary, #1f2937)}.option-desc{font-size:0.8125rem;color:var(--ft-text-secondary, #6b7280)}.week-selector{margin-top:12px;padding:16px;background:var(--ft-bg-secondary, #f3f4f6);border-radius:10px}.week-selector.hidden{display:none}.week-selector label{display:block;font-size:0.875rem;font-weight:500;color:var(--ft-text-primary, #1f2937);margin-bottom:8px}.week-select{width:100%;padding:10px 12px;border:1px solid var(--ft-border-color, #e5e7eb);border-radius:8px;font-size:0.9375rem;background:white;color:var(--ft-text-primary, #1f2937)}.week-select:focus{outline:none;border-color:var(--ft-primary-color, #f97316);box-shadow:0 0 0 3px rgba(249,115,22,0.1)}.resume-note{display:flex;gap:10px;margin-top:20px;padding:12px 14px;background:var(--ft-bg-info, #eff6ff);border-radius:8px}.resume-note svg{flex-shrink:0;color:var(--ft-info-color, #3b82f6);margin-top:1px}.resume-note p{font-size:0.8125rem;color:var(--ft-text-secondary, #6b7280);margin:0;line-height:1.5}.resume-modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid var(--ft-border-color, #e5e7eb);background:var(--ft-bg-secondary, #f9fafb);border-radius:0 0 16px 16px}.pause-confirm-modal{max-width:440px;width:90%}.pause-modal-header{display:flex;gap:16px;align-items:flex-start;padding:24px 24px 16px}.pause-icon-wrap{width:48px;height:48px;border-radius:50%;background:#fef3c7;display:flex;align-items:center;justify-content:center;color:#d97706;flex-shrink:0}.pause-modal-title{font-size:1.125rem;font-weight:600;color:var(--ft-text-primary, #1f2937);margin:0 0 4px}.pause-modal-subtitle{font-size:0.875rem;color:var(--ft-text-secondary, #6b7280);margin:0}.pause-modal-body{padding:0 24px 20px}.pause-info{display:flex;gap:12px;padding:14px 16px;background:#eff6ff;border-radius:10px;margin-bottom:20px}.pause-info svg{flex-shrink:0;color:#3b82f6;margin-top:1px}.pause-info p{font-size:0.875rem;color:#1e40af;margin:0;line-height:1.5}.pause-benefits{display:flex;flex-direction:column;gap:10px}.pause-benefit{display:flex;align-items:center;gap:10px;font-size:0.875rem;color:var(--ft-text-primary, #1f2937)}.pause-benefit svg{flex-shrink:0;color:#22c55e}.pause-modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid var(--ft-border-color, #e5e7eb);background:var(--ft-bg-secondary, #f9fafb);border-radius:0 0 16px 16px}.btn-warning{background:#d97706;color:white;border:none;display:inline-flex;align-items:center;gap:6px;padding:10px 16px;border-radius:8px;font-size:0.875rem;font-weight:500;cursor:pointer;transition:all 0.15s ease}.btn-warning:hover{background:#b45309}.btn-warning:disabled{background:#fcd34d;cursor:not-allowed}.btn-warning svg{width:16px;height:16px}.adjust-week-modal{background:white;border-radius:10px;width:100%;max-width:520px;overflow:hidden;box-shadow:0 20px 50px rgba(0,0,0,0.3)}.adjust-week-modal-header{display:flex;align-items:center;gap:14px;padding:22px 24px 16px;border-bottom:1px solid var(--ft-border-color, #e5e7eb)}.adjust-week-icon-wrap{width:44px;height:44px;border-radius:50%;background:rgba(59,130,246,0.12);color:#3b82f6;display:flex;align-items:center;justify-content:center;flex-shrink:0}.adjust-week-modal-title{margin:0;font-size:18px;font-weight:800;color:var(--ft-text-primary, #1f2937)}.adjust-week-modal-subtitle{margin:2px 0 0;font-size:13px;color:var(--ft-text-secondary, #6b7280)}.adjust-week-modal-body{padding:20px 24px}.adjust-week-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px}.adjust-week-card{border:1px solid var(--ft-border-color, #e5e7eb);border-radius:8px;padding:16px;background:white;cursor:pointer;text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px;transition:border-color 120ms, background-color 120ms}.adjust-week-card:hover{border-color:var(--ft-primary-color, #f97316)}.adjust-week-card.is-selected{border-color:var(--ft-primary-color, #f97316);background:rgba(249,115,22,0.04)}.adjust-week-card-label{font-size:11px;font-weight:700;letter-spacing:0.5px;text-transform:uppercase}.adjust-week-card-ahead .adjust-week-card-label{color:#10b981}.adjust-week-card-behind .adjust-week-card-label{color:#3b82f6}.adjust-week-card-title{font-size:16px;font-weight:800;color:var(--ft-text-primary, #1f2937)}.adjust-week-advanced{margin-top:16px}.adjust-week-advanced summary{font-size:13px;color:var(--ft-primary-color, #f97316);font-weight:600;cursor:pointer}.adjust-week-advanced-row{margin-top:10px;display:flex;align-items:center;gap:8px}.adjust-week-advanced-row label{font-size:13px;color:var(--ft-text-primary, #1f2937)}.adjust-week-select{padding:6px 10px;border:1px solid var(--ft-border-color, #e5e7eb);border-radius:4px;font-size:13px}.adjust-week-modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 24px;border-top:1px solid var(--ft-border-color, #e5e7eb);background:var(--ft-bg-secondary, #fafafa)}.leave-confirm-modal{max-width:440px;width:90%}.leave-modal-header{display:flex;gap:16px;align-items:flex-start;padding:24px 24px 16px}.leave-icon-wrap{width:48px;height:48px;border-radius:50%;background:#fef2f2;display:flex;align-items:center;justify-content:center;color:#dc2626;flex-shrink:0}.leave-modal-title{font-size:1.125rem;font-weight:600;color:var(--ft-text-primary, #1f2937);margin:0 0 4px}.leave-modal-subtitle{font-size:0.875rem;color:var(--ft-text-secondary, #6b7280);margin:0}.leave-modal-body{padding:0 24px 20px}.leave-warning{display:flex;gap:12px;padding:14px 16px;background:#fef3c7;border-radius:10px;margin-bottom:20px}.leave-warning svg{flex-shrink:0;color:#d97706;margin-top:1px}.leave-warning p{font-size:0.875rem;color:#92400e;margin:0;line-height:1.5}.leave-reason-section .leave-reason-label{display:block;font-size:0.875rem;font-weight:500;color:var(--ft-text-primary, #1f2937);margin-bottom:12px}.leave-reasons{display:flex;flex-direction:column;gap:8px}.leave-reason{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--ft-border-color, #e5e7eb);border-radius:8px;cursor:pointer;transition:all 0.15s ease}.leave-reason:hover{background:var(--ft-bg-secondary, #f9fafb)}.leave-reason:has(input:checked){border-color:var(--ft-primary-color, #f97316);background:rgba(249,115,22,0.05)}.leave-reason input[type="radio"]{accent-color:var(--ft-primary-color, #f97316)}.leave-reason span{font-size:0.875rem;color:var(--ft-text-primary, #1f2937)}.leave-modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid var(--ft-border-color, #e5e7eb);background:var(--ft-bg-secondary, #f9fafb);border-radius:0 0 16px 16px}.btn-danger{background:#dc2626;color:white;border:none}.btn-danger:hover{background:#b91c1c}.btn-danger:disabled{background:#fca5a5}.btn-danger-outline{background:transparent;color:#dc2626;border:1px solid #dc2626}.btn-danger-outline:hover{background:#fef2f2;border-color:#b91c1c;color:#b91c1c}.btn-danger-outline:disabled{opacity:0.5;cursor:not-allowed}:root{--tier-rookie: #2AB673;--tier-explorer: #00B4D8;--tier-pacer: #FF6B35;--tier-trailblazer: #DC143C;--tier-bronze: #CD7F32;--tier-silver: #A8A9AD;--tier-gold: #F2B300;--tier-platinum: #E5E4E2;--tier-obsidian: #434343;--tier-diamond: #7DD3FC}.training-history-page{min-height:100vh;background:#F9FAFB}.history-container{width:100%;max-width:1400px;margin:0 auto;padding:0 16px}.history-hero-dark{background:linear-gradient(165deg, #1C1917 0%, #292524 50%, #1C1917 100%);padding:24px 0 32px;position:relative;overflow:hidden;margin-bottom:32px}.history-hero-dark::before{content:'';position:absolute;width:400px;height:400px;top:-150px;right:-100px;background:radial-gradient(circle, rgba(255,107,53,0.25) 0%, transparent 70%);border-radius:50%;pointer-events:none;filter:blur(60px)}.history-hero-dark::after{content:'';position:absolute;width:300px;height:300px;bottom:-100px;left:10%;background:radial-gradient(circle, rgba(255,217,61,0.15) 0%, transparent 70%);border-radius:50%;pointer-events:none;filter:blur(60px)}.history-hero-content{position:relative;z-index:1}.history-breadcrumb{display:flex;align-items:center;gap:8px;margin-bottom:24px}.history-breadcrumb a{color:rgba(255,255,255,0.6);font-size:0.875rem;font-weight:500;text-decoration:none;transition:color 0.2s ease}.history-breadcrumb a:hover{color:rgba(255,255,255,0.9)}.history-breadcrumb .breadcrumb-separator{color:rgba(255,255,255,0.3);font-size:0.75rem}.history-breadcrumb .breadcrumb-separator i{font-size:0.625rem}.history-breadcrumb .breadcrumb-current{color:rgba(255,255,255,0.9);font-size:0.875rem;font-weight:600}.history-hero-header{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}@media (max-width: 639px){.history-hero-header{flex-direction:column;align-items:flex-start;gap:24px}}.history-hero-info{flex:1;min-width:0}.history-badge-dark{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;background:rgba(255,107,53,0.15);border:1px solid rgba(255,107,53,0.3);border-radius:9999px;color:#FF6B35;font-size:0.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;margin-bottom:12px}.history-badge-dark i,.history-badge-dark svg{font-size:0.75rem;width:14px;height:14px}.history-title-dark{font-family:"Clash Display", -apple-system, BlinkMacSystemFont, sans-serif;font-size:2.25rem;font-weight:700;color:white;margin:0 0 8px;line-height:1.1}@media (max-width: 639px){.history-title-dark{font-size:1.75rem}}.history-subtitle-dark{color:rgba(255,255,255,0.6);font-size:1rem;margin:0}.history-hero-stats{display:flex;align-items:stretch;gap:0;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.1);border-radius:16px;overflow:hidden}@media (max-width: 639px){.history-hero-stats{width:100%;justify-content:center}}.hero-stat-item{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:16px 24px;text-align:center;min-width:100px}@media (max-width: 639px){.hero-stat-item{flex:1;padding:12px 16px;min-width:0}}.hero-stat-icon{font-size:1.25rem;margin-bottom:8px;opacity:0.8}.hero-stat-icon.trophy{color:#FFD93D}.hero-stat-icon.workouts{color:#FF6B35}.hero-stat-icon.miles{color:#4ECDC4}.hero-stat-value{font-family:"Clash Display", -apple-system, BlinkMacSystemFont, sans-serif;font-size:1.75rem;font-weight:700;color:white;line-height:1}@media (max-width: 639px){.hero-stat-value{font-size:1.5rem}}.hero-stat-label{font-size:0.6875rem;font-weight:600;color:rgba(255,255,255,0.5);text-transform:uppercase;letter-spacing:0.05em;margin-top:4px}.hero-stat-divider{width:1px;background:rgba(255,255,255,0.1);align-self:stretch}.history-content{padding-bottom:48px}.history-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.history-section-title{font-family:"Clash Display", -apple-system, BlinkMacSystemFont, sans-serif;font-size:1.25rem;font-weight:600;color:#1F2937;margin:0}.history-section-count{font-size:0.875rem;color:#6B7280}.history-plans-list{display:flex;flex-direction:column;gap:24px}.history-plan-card{background:#FFFFFF;border:1px solid #E5E7EB;border-radius:16px;padding:24px;transition:all 0.2s ease;position:relative}.history-plan-card:hover{box-shadow:0 10px 15px -3px rgba(0,0,0,0.1),0 4px 6px -2px rgba(0,0,0,0.05);border-color:#E5E7EB;transform:translateY(-2px)}.plan-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.plan-status-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 12px;border-radius:9999px;font-size:0.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:0.03em}.plan-status-badge i{font-size:0.625rem}.plan-status-badge.completed{background:#D1FAE5;color:#10B981}.plan-status-badge.abandoned{background:#F3F4F6;color:#6B7280}.plan-duration-tag{font-size:0.8125rem;color:#9CA3AF;font-weight:500}.plan-info-row{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:16px}@media (max-width: 639px){.plan-info-row{flex-direction:column;gap:12px}}.plan-info-main{flex:1;min-width:0}.plan-title{font-family:"Clash Display", -apple-system, BlinkMacSystemFont, sans-serif;font-size:1.375rem;font-weight:600;color:#1F2937;margin:0 0 8px;line-height:1.2}.plan-date-range{display:flex;align-items:center;gap:8px;font-size:0.875rem;color:#6B7280;margin:0}.plan-date-range i{font-size:0.8125rem;color:#9CA3AF}.plan-progress-compact{display:flex;align-items:center;gap:12px;flex-shrink:0}.progress-ring-sm{position:relative;width:56px;height:56px}.progress-ring-svg{width:100%;height:100%;transform:rotate(-90deg)}.progress-ring-bg{fill:none;stroke:#F3F4F6;stroke-width:5}.progress-ring-fill{fill:none;stroke-width:5;stroke-linecap:round;transition:stroke-dasharray 0.6s ease}.progress-ring-fill.completed{stroke:#10B981}.progress-ring-fill.abandoned{stroke:#9CA3AF}.progress-ring-text{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);display:flex;align-items:baseline;gap:1px}.progress-value{font-family:"Clash Display", -apple-system, BlinkMacSystemFont, sans-serif;font-size:1rem;font-weight:700;color:#1F2937;line-height:1}.progress-unit{font-size:0.5rem;font-weight:600;color:#9CA3AF}.plan-stats-row{display:flex;gap:24px;padding:16px;background:#F9FAFB;border-radius:10px;margin-bottom:16px}@media (max-width: 639px){.plan-stats-row{gap:16px;justify-content:center;flex-wrap:wrap}}.plan-stat{text-align:center}.plan-stat .stat-number{display:block;font-family:"Clash Display", -apple-system, BlinkMacSystemFont, sans-serif;font-size:1.25rem;font-weight:700;color:#1F2937;line-height:1.2}.plan-stat .stat-label{display:block;font-size:0.6875rem;color:#9CA3AF;text-transform:uppercase;letter-spacing:0.03em;margin-top:4px}.plan-card-footer{display:flex;justify-content:flex-end}.view-details-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background:transparent;border:1px solid #FF6B35;border-radius:10px;color:#FF6B35;font-size:0.875rem;font-weight:600;text-decoration:none;transition:all 0.2s ease}.view-details-btn:hover{background:#FF6B35;color:white}.view-details-btn i{font-size:0.75rem;transition:transform 0.2s ease}.view-details-btn:hover i{transform:translateX(3px)}.completion-medal{position:absolute;top:16px;right:16px;width:40px;height:40px;background:linear-gradient(135deg, #FFD93D 0%, #F4A83D 100%);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(255,217,61,0.4)}.completion-medal i{font-size:1.125rem;color:white}.history-empty-state{text-align:center;padding:48px 24px;background:#FFFFFF;border:1px solid #E5E7EB;border-radius:16px}.empty-illustration{position:relative;width:120px;height:120px;margin:0 auto 24px}.empty-icon-ring{width:100%;height:100%;border-radius:50%;background:#F9FAFB;border:2px solid #E5E7EB;display:flex;align-items:center;justify-content:center}.empty-icon-ring i{font-size:2.5rem;color:#9CA3AF}.empty-title{font-family:"Clash Display", -apple-system, BlinkMacSystemFont, sans-serif;font-size:1.5rem;font-weight:600;color:#1F2937;margin:0 0 8px}.empty-description{font-size:1rem;color:#6B7280;margin:0 0 24px;max-width:400px;margin-left:auto;margin-right:auto;line-height:1.5}.browse-plans-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;background:#FF6B35;border-radius:10px;color:white;font-size:1rem;font-weight:600;text-decoration:none;transition:all 0.2s ease}.browse-plans-btn:hover{background:#E55A2B;color:white}.browse-plans-btn i{font-size:1rem}.plans-page{background:#F9FAFB;min-height:100vh}.plans-hero{background:linear-gradient(165deg, #1C1917 0%, #292524 50%, #1C1917 100%);padding:48px 0 64px;position:relative;overflow:hidden}.plans-hero::before{content:'';position:absolute;width:400px;height:400px;top:-150px;right:-100px;background:radial-gradient(circle, rgba(255,107,53,0.3) 0%, transparent 70%);filter:blur(60px);pointer-events:none}@media (max-width: 640px){.plans-hero{padding:32px 0}}.plans-hero-container{max-width:1400px;margin:0 auto;padding:0 16px;position:relative;z-index:1}@media (min-width: 640px){.plans-hero-container{padding:0 24px}}.plans-hero-content{text-align:center;max-width:600px;margin:0 auto}@keyframes fadeInUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.plans-hero-badge{display:inline-flex;align-items:center;gap:8px;padding:4px 12px;background:rgba(255,107,53,0.15);border:1px solid rgba(255,107,53,0.3);border-radius:9999px;font-size:0.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:0.08em;color:#FF6B35;margin-bottom:16px;animation:fadeInUp 0.6s cubic-bezier(0.16, 1, 0.3, 1) forwards;opacity:0}.plans-hero-title{font-family:"Clash Display", -apple-system, BlinkMacSystemFont, sans-serif;font-size:2.5rem;font-weight:700;color:#FFFFFF;margin:0 0 12px;line-height:1.1;letter-spacing:-0.02em;animation:fadeInUp 0.6s cubic-bezier(0.16, 1, 0.3, 1) 0.1s forwards;opacity:0}@media (max-width: 768px){.plans-hero-title{font-size:2rem}}@media (max-width: 640px){.plans-hero-title{font-size:1.75rem}}.plans-hero-subtitle{font-size:1.125rem;color:rgba(255,255,255,0.7);margin:0;line-height:1.6;animation:fadeInUp 0.6s cubic-bezier(0.16, 1, 0.3, 1) 0.2s forwards;opacity:0}@media (max-width: 640px){.plans-hero-subtitle{font-size:1rem}}.filters-section{background:#FFFFFF;padding:24px 0;border-bottom:1px solid #F3F4F6;position:sticky;top:60px;z-index:100;box-shadow:0 1px 2px rgba(0,0,0,0.05)}.filters-container{max-width:1400px;margin:0 auto;padding:0 16px}@media (min-width: 640px){.filters-container{padding:0 24px}}.filters-row{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}@media (max-width: 768px){.filters-row{flex-direction:column;align-items:flex-start;gap:16px}}.filter-groups{display:flex;gap:24px;flex-wrap:wrap}@media (max-width: 640px){.filter-groups{gap:16px;width:100%}}.filter-group{display:flex;align-items:center;gap:12px}@media (max-width: 640px){.filter-group{width:100%;flex-direction:column;align-items:flex-start;gap:8px}}.filter-label{font-size:0.75rem;font-weight:600;color:#9CA3AF;text-transform:uppercase;letter-spacing:0.05em;white-space:nowrap}.filter-pills{display:flex;gap:8px;flex-wrap:wrap}.filter-pill{padding:8px 16px;background:#F9FAFB;border:1px solid #E5E7EB;border-radius:9999px;font-size:0.8125rem;font-weight:500;color:#6B7280;cursor:pointer;transition:all 150ms ease-out}.filter-pill:hover{border-color:#FF6B35;color:#FF6B35;background:#FFF5F2}.filter-pill.active{background:#FF6B35;border-color:#FF6B35;color:#FFFFFF;box-shadow:0 2px 8px rgba(255,107,53,0.3)}.results-info{display:flex;align-items:center;gap:8px}@media (max-width: 768px){.results-info{width:100%;justify-content:center;padding-top:12px;border-top:1px solid #F3F4F6}}.results-count{font-size:0.875rem;color:#6B7280}.results-count strong{font-weight:600;color:#1F2937}.filter-fade-in{animation:filterFadeIn 0.3s ease-out forwards}.filter-fade-out{animation:filterFadeOut 0.2s ease-in forwards}@keyframes filterFadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes filterFadeOut{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}.filters-empty-state{text-align:center;padding:48px 24px;background:#FFFFFF;border-radius:24px;border:2px dashed #E5E7EB}.filters-empty-state .empty-icon{font-size:3rem;margin-bottom:16px;color:#9CA3AF}.filters-empty-state .empty-title{font-size:1.25rem;font-weight:600;color:#1F2937;margin-bottom:8px}.filters-empty-state .empty-text{font-size:0.9375rem;color:#6B7280;margin-bottom:16px}.filters-empty-state .btn-clear-filters{padding:8px 24px;background:#FF6B35;color:#FFFFFF;border:none;border-radius:10px;font-weight:600;cursor:pointer;transition:background 150ms ease-out}.filters-empty-state .btn-clear-filters:hover{background:#E55A2B}.plans-section{padding:32px 0 64px}@media (max-width: 640px){.plans-section{padding:24px 0 32px}}.plans-container{max-width:1400px;margin:0 auto;padding:0 16px}@media (min-width: 640px){.plans-container{padding:0 24px}}.plans-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(380px, 1fr));gap:24px}@media (max-width: 480px){.plans-grid{grid-template-columns:1fr}}.plan-card{position:relative;background:#FFFFFF;border-radius:16px;border:1px solid #F3F4F6;overflow:hidden;transition:all 0.3s cubic-bezier(0.16, 1, 0.3, 1);display:flex;flex-direction:column;animation:cardFadeIn 0.5s cubic-bezier(0.16, 1, 0.3, 1) forwards;opacity:0}.plan-card:nth-child(1){animation-delay:0.1s}.plan-card:nth-child(2){animation-delay:0.15s}.plan-card:nth-child(3){animation-delay:0.2s}.plan-card:nth-child(4){animation-delay:0.25s}.plan-card:nth-child(5){animation-delay:0.3s}.plan-card:nth-child(6){animation-delay:0.35s}.plan-card:nth-child(7){animation-delay:0.4s}.plan-card:nth-child(8){animation-delay:0.45s}.plan-card:hover{border-color:#E5E7EB;box-shadow:0 12px 32px rgba(0,0,0,0.1),0 4px 12px rgba(0,0,0,0.05);transform:translateY(-4px)}@keyframes cardFadeIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.plans-hero-badge,.plans-hero-title,.plans-hero-subtitle,.plan-card{animation:none !important;opacity:1 !important}}.plan-header{display:flex;align-items:stretch;border-bottom:1px solid #F3F4F6}.plan-distance{padding:16px 24px;display:flex;flex-direction:column;justify-content:center;align-items:center;min-width:100px;position:relative;background:linear-gradient(135deg, #1F2937 0%, #111827 100%)}.plan-distance-value{font-family:"Clash Display", -apple-system, BlinkMacSystemFont, sans-serif;font-size:1.75rem;font-weight:700;color:white;line-height:1;text-shadow:0 1px 2px rgba(0,0,0,0.1)}.plan-distance-label{font-size:0.625rem;font-weight:600;text-transform:uppercase;letter-spacing:0.1em;color:rgba(255,255,255,0.85);margin-top:4px}.plan-distance.fitness-plan .plan-distance-icon{display:flex;align-items:center;justify-content:center;margin-bottom:4px}.plan-distance.fitness-plan .plan-distance-icon svg{color:#FF6B35;opacity:0.9}.plan-distance.fitness-plan .plan-distance-label{color:rgba(255,255,255,0.8);font-size:0.6875rem;margin-top:0}.plan-meta{flex:1;display:flex;align-items:center;padding:0 16px;gap:4px;background:#F9FAFB}.plan-meta-item{flex:1;text-align:center;padding:12px 8px}.plan-meta-value{display:block;font-family:"Clash Display", -apple-system, BlinkMacSystemFont, sans-serif;font-size:1.125rem;font-weight:700;color:#1F2937;line-height:1.1}.plan-meta-label{display:block;font-size:0.625rem;color:#9CA3AF;text-transform:uppercase;letter-spacing:0.05em;margin-top:2px}.plan-card[data-goal="5k"] .plan-distance{background:linear-gradient(135deg, #4ECDC4 0%, #3DBDB5 100%)}.plan-card[data-goal="10k"] .plan-distance{background:linear-gradient(135deg, #FF6B35 0%, #EA580C 100%)}.plan-card[data-goal="half"] .plan-distance{background:linear-gradient(135deg, #8B5CF6 0%, #7C3AED 100%)}.plan-card[data-goal="marathon"] .plan-distance{background:linear-gradient(135deg, #F59E0B 0%, #D97706 100%)}.plan-card[data-goal="fitness"] .plan-distance{background:linear-gradient(135deg, #1F2937 0%, #111827 100%)}.plan-card-body{padding:24px;flex:1;display:flex;flex-direction:column}.plan-name{font-family:"Clash Display", -apple-system, BlinkMacSystemFont, sans-serif;font-size:1.375rem;font-weight:700;color:#1F2937;margin-bottom:8px;line-height:1.25;transition:color 0.2s ease}.plan-card:hover .plan-name{color:#FF6B35}.plan-subtitle{display:flex;align-items:center;gap:8px;margin-bottom:12px}.plan-level{font-size:0.75rem;font-weight:500;color:#6B7280}.plan-description{font-size:0.9375rem;line-height:1.6;color:#6B7280;margin:0;flex:1;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.plan-card-footer{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-top:1px solid #F3F4F6;background:#F9FAFB}.plan-coach{display:flex;align-items:center;gap:12px}.coach-avatar{width:36px;height:36px;min-width:36px;border-radius:10px;border:2px solid #FFFFFF;box-shadow:0 2px 4px rgba(0,0,0,0.1);overflow:hidden;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg, #FFF5F2 0%, #FFF0EB 100%);color:#FF6B35;font-weight:600;font-size:0.875rem}.coach-avatar img{width:100%;height:100%;object-fit:cover}.coach-info{display:flex;flex-direction:column;gap:1px}.coach-name{font-size:0.8125rem;font-weight:600;color:#1F2937}.coach-label{font-size:0.6875rem;color:#9CA3AF}.plan-actions{display:flex;align-items:center;gap:12px}.plan-view-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background:#1F2937;color:#FFFFFF;font-family:"Clash Display", -apple-system, BlinkMacSystemFont, sans-serif;font-size:0.8125rem;font-weight:600;border:none;border-radius:9999px;cursor:pointer;transition:all 0.3s cubic-bezier(0.16, 1, 0.3, 1);text-decoration:none}.plan-view-btn:hover{background:#FF6B35;transform:translateX(2px)}.plan-view-btn svg{transition:transform 0.3s}.plan-view-btn:hover svg{transform:translateX(3px)}.plan-card.featured{grid-column:1 / -1;display:grid;grid-template-columns:320px 1fr;grid-template-rows:1fr auto;border-radius:24px;border:none;overflow:hidden;background:none !important;background-image:none !important;animation:none;opacity:1}@media (max-width: 900px){.plan-card.featured{grid-template-columns:1fr;grid-template-rows:auto auto auto}}.plan-card.featured:hover{transform:translateY(-6px);box-shadow:0 20px 50px rgba(0,0,0,0.3)}.plan-card.featured .plan-name{color:#FFFFFF}.plan-card.featured:hover .plan-name{color:rgba(255,255,255,0.85)}.featured-hero{padding:24px;background:linear-gradient(165deg, #1C1917 0%, #292524 100%);display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden;grid-row:1 / 3}.featured-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 30% 20%, rgba(255,255,255,0.15) 0%, transparent 40%),radial-gradient(circle at 70% 80%, rgba(0,0,0,0.2) 0%, transparent 50%);pointer-events:none}.featured-hero::after{content:'';position:absolute;bottom:0;left:0;right:0;height:80px;background:repeating-linear-gradient(90deg, transparent 0px, transparent 40px, rgba(255,255,255,0.15) 40px, rgba(255,255,255,0.15) 60px);mask-image:linear-gradient(to top, rgba(0,0,0,0.4) 0%, transparent 100%);-webkit-mask-image:linear-gradient(to top, rgba(0,0,0,0.4) 0%, transparent 100%);pointer-events:none}@media (max-width: 800px){.featured-hero{grid-row:auto;padding:24px}}.plan-card.featured[data-goal="5k"] .featured-hero{background:linear-gradient(160deg, #4ECDC4 0%, #3DBDB5 40%, #2D9D94 100%)}.plan-card.featured[data-goal="10k"] .featured-hero{background:linear-gradient(160deg, #FF6B35 0%, #EA580C 40%, #C2410C 100%)}.plan-card.featured[data-goal="half"] .featured-hero{background:linear-gradient(160deg, #8B5CF6 0%, #7C3AED 40%, #6D28D9 100%)}.plan-card.featured[data-goal="marathon"] .featured-hero{background:linear-gradient(160deg, #F59E0B 0%, #D97706 40%, #B45309 100%)}.featured-distance{display:flex;flex-direction:column;gap:4px;margin-bottom:16px;position:relative;z-index:1}.featured-distance-value{font-family:"Clash Display", -apple-system, BlinkMacSystemFont, sans-serif;font-size:4rem;font-weight:700;color:#FFFFFF;line-height:1;letter-spacing:-0.02em}@media (max-width: 640px){.featured-distance-value{font-size:3rem}}.featured-distance-unit{font-size:1rem;font-weight:500;text-transform:uppercase;letter-spacing:0.1em;color:rgba(255,255,255,0.5)}.featured-distance.fitness-plan .featured-distance-icon{display:flex;align-items:center;justify-content:center}.featured-distance.fitness-plan .featured-distance-icon svg{color:#FF6B35;opacity:0.85}.featured-goal-label{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;background:rgba(255,255,255,0.1);border-radius:9999px;font-size:0.75rem;font-weight:600;color:rgba(255,255,255,0.8);position:relative;z-index:1;width:fit-content}.featured-goal-label svg{color:#FFD93D}.featured-content{padding:24px 32px;display:flex;flex-direction:column;background:linear-gradient(165deg, #1C1917 0%, #292524 100%);color:#FFFFFF}@media (max-width: 768px){.featured-content{padding:24px}}.featured-badge{display:inline-flex;align-items:center;gap:8px;padding:4px 12px;background:linear-gradient(135deg, #FFD93D 0%, #F59E0B 100%);color:#78350F;border-radius:9999px;font-size:0.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;margin-bottom:12px;width:fit-content;box-shadow:0 2px 8px rgba(255,217,61,0.4)}.featured-badge svg{width:12px;height:12px}.featured-content .plan-name{font-size:1.5rem;margin-bottom:12px;color:#FFFFFF}@media (max-width: 640px){.featured-content .plan-name{font-size:1.25rem}}.featured-content .plan-subtitle{margin-bottom:12px}.featured-content .plan-level{color:rgba(255,255,255,0.6)}.featured-content .plan-level .level-dot{background:#4ECDC4}.featured-content .plan-description{-webkit-line-clamp:4;margin-bottom:16px;color:rgba(255,255,255,0.7);font-size:1rem;line-height:1.7}.featured-stats{display:flex;gap:24px;margin-bottom:24px}.featured-stat{display:flex;flex-direction:column;gap:2px}.featured-stat-value{font-family:"Clash Display", -apple-system, BlinkMacSystemFont, sans-serif;font-size:1.25rem;font-weight:700;color:#FFFFFF}.featured-stat-label{font-size:0.6875rem;color:rgba(255,255,255,0.5);text-transform:uppercase;letter-spacing:0.05em}.featured-footer{display:flex;justify-content:space-between;align-items:center;padding:16px 32px;background:#0F0F0F;border-top:1px solid rgba(255,255,255,0.1);grid-column:2}@media (max-width: 900px){.featured-footer{grid-column:1;padding:16px 24px}}.featured-footer .coach-name{color:#FFFFFF}.featured-footer .coach-label{color:rgba(255,255,255,0.5)}.featured-footer .coach-avatar{background:rgba(255,255,255,0.1);color:#FF6B35;border-color:rgba(255,255,255,0.2)}.featured-footer .plan-view-btn{padding:12px 24px;font-size:0.9375rem;background:linear-gradient(135deg, #FF6B35 0%, #E55A2B 100%);box-shadow:0 4px 16px rgba(255,107,53,0.35);border-radius:10px}.featured-footer .plan-view-btn:hover{box-shadow:0 6px 24px rgba(255,107,53,0.5);transform:translateY(-2px)}.featured-footer .tier-badge.free{background:transparent;border:1px solid rgba(255,255,255,0.3);color:#FFFFFF}.tier-badge{font-size:0.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;padding:4px 12px;border-radius:9999px}.tier-badge.free{background:#E8F5E9;color:#2E7D32}.tier-badge.mob-plus,.tier-badge.mob_plus{background:linear-gradient(135deg, #FFF3E0 0%, #FFE0B2 100%);color:#E65100;box-shadow:0 1px 3px rgba(230,81,0,0.15)}.plan-card .tier-badge{margin-left:auto}.plan-card.enrolled{border:2px solid #FF6B35;box-shadow:0 4px 20px rgba(255,107,53,0.15)}.plan-card.enrolled::before{content:'YOUR PLAN';position:absolute;top:12px;right:12px;background:#FF6B35;color:white;font-size:0.625rem;font-weight:700;letter-spacing:0.08em;padding:4px 8px;border-radius:6px;z-index:10}.plan-card.enrolled:hover{border-color:#ff4602;box-shadow:0 8px 30px rgba(255,107,53,0.25)}.enrolled-badge{display:flex;align-items:center;gap:4px;font-size:0.75rem;font-weight:600;color:#FF6B35;background:rgba(255,107,53,0.1);padding:4px 12px;border-radius:9999px}.enrolled-badge svg{stroke:#FF6B35;flex-shrink:0}.plan-view-btn.enrolled{background:#FF6B35;color:white}.plan-view-btn.enrolled:hover{background:#ff4d0c;transform:translateX(4px)}.plan-view-btn.enrolled svg{stroke:white}.plans-empty{grid-column:1 / -1;text-align:center;padding:48px 24px}.plans-empty-icon{width:64px;height:64px;margin:0 auto 16px;background:#F9FAFB;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#9CA3AF}.plans-empty-title{font-family:"Clash Display", -apple-system, BlinkMacSystemFont, sans-serif;font-size:1.25rem;font-weight:600;color:#1F2937;margin:0 0 8px}.plans-empty-text{font-size:0.9375rem;color:#6B7280;margin:0 0 24px}.plans-empty-btn{display:inline-flex;align-items:center;gap:8px}.plan-card.loading{pointer-events:none}.plan-card.loading .plan-header{background:#F3F4F6}.plan-card.loading .skeleton-text{background:linear-gradient(90deg, #F3F4F6 25%, #F9FAFB 50%, #F3F4F6 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s infinite;border-radius:6px;height:1em}.plan-card.loading .skeleton-text.lg{height:2rem;width:60%}.plan-card.loading .skeleton-text.md{height:1.25rem;width:80%}.plan-card.loading .skeleton-text.sm{height:1rem;width:100%}@keyframes skeleton-shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}.back-nav{position:fixed;top:80px;left:16px;z-index:200}@media (min-width: 640px){.back-nav{left:24px}}.back-link{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;background:rgba(0,0,0,0.6);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#FFFFFF;font-size:0.875rem;font-weight:500;text-decoration:none;border-radius:9999px;border:1px solid rgba(255,255,255,0.1);transition:all 200ms ease-out}.back-link:hover{background:rgba(0,0,0,0.8);border-color:rgba(255,255,255,0.2);transform:translateX(-4px)}.back-link svg{transition:transform 150ms ease-out}.back-link:hover svg{transform:translateX(-3px)}.plan-hero{background:linear-gradient(165deg, #2D1B4E 0%, #1A1035 30%, #0f0f0f 70%, #1a1612 100%);padding:70px 0 60px;position:relative;overflow:hidden}.plan-hero::before{content:'';position:absolute;top:-150px;right:-100px;width:600px;height:600px;background:radial-gradient(circle, rgba(139,92,246,0.25) 0%, rgba(139,92,246,0.05) 40%, transparent 60%);pointer-events:none}.plan-hero::after{content:'';position:absolute;bottom:-100px;left:-50px;width:500px;height:500px;background:radial-gradient(circle, rgba(255,107,53,0.15) 0%, transparent 50%);pointer-events:none}@media (max-width: 768px){.plan-hero{padding:80px 0 24px}}.hero-container{max-width:1400px;margin:0 auto;padding:0 16px;position:relative;z-index:10;width:100%}@media (min-width: 640px){.hero-container{padding:0 24px}}.hero-content{max-width:700px}@keyframes fadeInUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.hero-badges{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;animation:fadeInUp 0.6s ease-out forwards;opacity:0}.goal-badge{display:inline-flex;align-items:center;gap:8px;padding:4px 12px;background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.2);border-radius:9999px;font-size:0.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:0.08em;color:rgba(255,255,255,0.8)}.goal-badge svg{color:#FFD93D}.goal-badge.distance-badge{border:none}.goal-badge.distance-badge svg{color:currentColor;opacity:0.9}.goal-badge.distance-badge[data-goal="5k"]{background:linear-gradient(135deg, #4ECDC4 0%, #3DBDB5 100%);color:white}.goal-badge.distance-badge[data-goal="10k"]{background:linear-gradient(135deg, #FF6B35 0%, #EA580C 100%);color:white}.goal-badge.distance-badge[data-goal="half"]{background:linear-gradient(135deg, #8B5CF6 0%, #7C3AED 100%);color:white}.goal-badge.distance-badge[data-goal="marathon"]{background:linear-gradient(135deg, #F59E0B 0%, #D97706 100%);color:white}.goal-badge.distance-badge[data-goal="fitness"]{background:linear-gradient(135deg, #6B7280 0%, #4B5563 100%);color:white}.hero-tier-badge{padding:4px 12px;border-radius:9999px;font-size:0.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:0.05em}.hero-tier-badge.free{background:rgba(16,185,129,0.2);color:#29ecac}.hero-tier-badge.mob-plus{background:linear-gradient(135deg, #FF6B35 0%, #FFD93D 100%);color:#FFFFFF}.hero-title{font-family:"Clash Display", -apple-system, BlinkMacSystemFont, sans-serif;font-size:clamp(2rem, 5vw, 3.5rem);font-weight:700;color:#FFFFFF;margin:0 0 12px;line-height:1.1;letter-spacing:-0.02em;animation:fadeInUp 0.6s ease-out 0.1s forwards;opacity:0}.hero-subtitle{font-size:1.125rem;color:rgba(255,255,255,0.7);margin:0 0 24px;line-height:1.6;max-width:550px;animation:fadeInUp 0.6s ease-out 0.2s forwards;opacity:0}@media (max-width: 640px){.hero-subtitle{font-size:1rem}}.hero-road{position:absolute;bottom:0;left:0;right:0;height:80px;pointer-events:none}.hero-road::before{content:'';position:absolute;bottom:30px;left:10%;right:10%;height:2px;background:repeating-linear-gradient(90deg, rgba(255,255,255,0.3) 0px, rgba(255,255,255,0.3) 20px, transparent 20px, transparent 40px)}.hero-distance-float{position:absolute;top:120px;right:10%;display:flex;flex-direction:column;align-items:center;z-index:5;animation:floatBadge 4s ease-in-out infinite}@media (max-width: 768px){.hero-distance-float{display:none}}@keyframes floatBadge{0%,100%{transform:translateY(0)}50%{transform:translateY(-15px)}}.hero-distance-value{font-family:"Clash Display", -apple-system, BlinkMacSystemFont, sans-serif;font-size:clamp(5rem, 12vw, 9rem);font-weight:700;color:#FFFFFF;line-height:0.85;letter-spacing:-0.03em;opacity:0.15;text-shadow:0 8px 40px rgba(139,92,246,0.4)}.hero-distance-float[data-goal="5k"] .hero-distance-value{text-shadow:0 8px 40px rgba(78,205,196,0.5)}.hero-distance-float[data-goal="10k"] .hero-distance-value{text-shadow:0 8px 40px rgba(255,107,53,0.5)}.hero-distance-float[data-goal="half"] .hero-distance-value{text-shadow:0 8px 40px rgba(139,92,246,0.5)}.hero-distance-float[data-goal="marathon"] .hero-distance-value{text-shadow:0 8px 40px rgba(245,158,11,0.5)}.hero-distance-unit{font-family:"Clash Display", -apple-system, BlinkMacSystemFont, sans-serif;font-size:1.5rem;font-weight:500;text-transform:uppercase;letter-spacing:0.3em;color:rgba(255,255,255,0.3)}.hero-distance-miles{font-family:"Clash Display", -apple-system, BlinkMacSystemFont, sans-serif;font-size:1.25rem;font-weight:500;text-transform:uppercase;letter-spacing:0.1em;color:rgba(255,255,255,0.25);margin-top:12px}.hero-stats{display:flex;gap:4px;flex-wrap:wrap;animation:fadeInUp 0.6s ease-out 0.3s forwards;opacity:0}@media (max-width: 640px){.hero-stats{gap:8px}}.hero-stat{background:rgba(255,255,255,0.06);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,0.08);padding:12px 16px;border-radius:16px;text-align:center;min-width:100px;transition:all 200ms ease-out}.hero-stat:hover{background:rgba(255,255,255,0.1);border-color:rgba(255,255,255,0.15);transform:translateY(-2px)}@media (max-width: 640px){.hero-stat{padding:8px 12px;min-width:80px}}.hero-stat-value{display:block;font-family:"Clash Display", -apple-system, BlinkMacSystemFont, sans-serif;font-size:1.75rem;font-weight:700;color:#FFFFFF;line-height:1}@media (max-width: 640px){.hero-stat-value{font-size:1.25rem}}.hero-stat-label{display:block;font-size:0.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:0.05em;color:rgba(255,255,255,0.5);margin-top:6px}.sticky-action-bar{position:sticky;top:0;z-index:200;background:#FFFFFF;border-bottom:1px solid #F3F4F6;box-shadow:0 1px 2px rgba(0,0,0,0.05);padding:12px 0}.action-bar-container{max-width:1400px;margin:0 auto;padding:0 16px;display:flex;justify-content:space-between;align-items:center}@media (min-width: 640px){.action-bar-container{padding:0 24px}}.action-bar-left{display:flex;flex-direction:column;gap:2px}.action-bar-title{font-family:"Clash Display", -apple-system, BlinkMacSystemFont, sans-serif;font-size:1rem;font-weight:600;color:#1F2937;margin:0}@media (max-width: 640px){.action-bar-title{font-size:0.875rem}}.action-bar-meta{display:flex;align-items:center;gap:8px;font-size:0.75rem;color:#9CA3AF}.action-bar-meta-divider{color:#E5E7EB}.action-bar-actions{display:flex;gap:12px}@media (max-width: 640px){.action-bar-actions{gap:8px}}.action-bar-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;font-family:"Instrument Sans", -apple-system, BlinkMacSystemFont, sans-serif;font-size:0.875rem;font-weight:600;color:white;background:#FF6B35;border:none;border-radius:10px;cursor:pointer;text-decoration:none;transition:transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease}.action-bar-btn:hover{background:#ff4d0c;transform:translateY(-1px);box-shadow:0 4px 12px rgba(255,107,53,0.3);color:white}.action-bar-btn:focus,.action-bar-btn:active,.action-bar-btn:visited{color:white}.action-bar-btn svg{stroke:white;flex-shrink:0}@media (max-width: 640px){.action-bar-btn{padding:8px 12px;font-size:0.8125rem}}.plan-content{background:#FFFFFF;padding:24px 0}@media (max-width: 640px){.plan-content{padding:16px 0}}.content-container{max-width:1400px;margin:0 auto;padding:0 16px}@media (min-width: 640px){.content-container{padding:0 24px}}.content-grid{display:grid;grid-template-columns:1fr 340px;gap:32px;align-items:start}@media (max-width: 1024px){.content-grid{grid-template-columns:1fr;gap:24px}}.main-column{display:flex;flex-direction:column;gap:24px}.section-card{background:#FFFFFF;border-radius:16px;padding:24px;box-shadow:0 1px 2px rgba(0,0,0,0.05)}@media (max-width: 640px){.section-card{padding:24px}}.section-header{display:flex;align-items:center;gap:12px;margin-bottom:24px}.section-icon{width:40px;height:40px;background:#FFF5F2;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#FF6B35}.section-title{font-family:"Clash Display", -apple-system, BlinkMacSystemFont, sans-serif;font-size:1.125rem;font-weight:600;color:#1F2937;margin:0}.about-text{font-size:0.9375rem;line-height:1.7;color:#6B7280}.about-text p{margin:0 0 16px}.about-text p:last-child{margin-bottom:0}.features-grid{display:grid;grid-template-columns:repeat(2, 1fr);gap:16px}@media (max-width: 600px){.features-grid{grid-template-columns:1fr}}.feature-item{display:flex;gap:12px;padding:16px;background:#F9FAFB;border-radius:10px;border:1px solid #F3F4F6}.feature-icon{width:36px;height:36px;background:#FFFFFF;border-radius:6px;display:flex;align-items:center;justify-content:center;color:#FF6B35;flex-shrink:0}.feature-content{flex:1;min-width:0}.feature-content h4{font-family:"Clash Display", -apple-system, BlinkMacSystemFont, sans-serif;font-size:0.875rem;font-weight:600;color:#1F2937;margin:0 0 4px}.feature-content p{font-size:0.8125rem;color:#6B7280;margin:0;line-height:1.5}.weekly-table-wrapper{overflow-x:auto;margin:0 calc(24px * -1);padding:0 24px}@media (max-width: 640px){.weekly-table-wrapper{margin:0 calc(16px * -1);padding:0 16px}}.weekly-table{width:100%;min-width:500px;border-collapse:collapse;font-size:0.875rem}.weekly-table th{padding:12px 16px;text-align:left;font-size:0.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:#9CA3AF;border-bottom:2px solid #E5E7EB;background:#F9FAFB;position:sticky;top:0;z-index:1}.weekly-table th.col-week{width:60px}.weekly-table th.col-total{width:80px;text-align:right}.weekly-table th.col-long{width:100px;text-align:right}.weekly-table td{padding:12px 16px;border-bottom:1px solid #F3F4F6;vertical-align:middle}.weekly-table td:nth-child(3),.weekly-table td:nth-child(4){text-align:right;font-variant-numeric:tabular-nums}.weekly-table tbody tr{transition:background 150ms ease-out}.weekly-table tbody tr:hover{background:#F9FAFB}.weekly-table-expand{padding:16px 0;text-align:center;border-top:1px solid #F3F4F6;margin-top:-1px}.expand-weeks-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background:#F9FAFB;border:1px solid #E5E7EB;border-radius:9999px;font-size:0.875rem;font-weight:500;color:#6B7280;cursor:pointer;transition:all 150ms ease-out}.expand-weeks-btn:hover{background:#FFFFFF;border-color:#FF6B35;color:#FF6B35}.expand-weeks-btn .expand-icon{transition:transform 150ms ease-out}.week-number{font-family:"Clash Display", -apple-system, BlinkMacSystemFont, sans-serif;font-size:1rem;font-weight:600;color:#1F2937;width:60px}.week-theme{font-weight:500;color:#1F2937}.week-phase{font-size:0.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;padding:4px 12px;border-radius:9999px;display:inline-block}.week-phase.base{background:rgba(16,185,129,0.15);color:#0c8a60}.week-phase.build{background:rgba(59,130,246,0.15);color:#0b63f3}.week-phase.peak{background:rgba(245,158,11,0.15);color:#ac6f07}.week-phase.taper{background:rgba(139,92,246,0.15);color:#8B5CF6}.week-workouts{display:flex;flex-wrap:wrap;gap:8px}.workout-tag{font-size:0.625rem;font-weight:700;text-transform:uppercase;letter-spacing:0.03em;padding:2px 8px;border-radius:6px}.workout-tag.easy{background:rgba(255,107,53,0.15);color:#FF6B35}.workout-tag.long{background:rgba(59,130,246,0.15);color:#0a59da}.workout-tag.tempo{background:rgba(245,158,11,0.15);color:#ac6f07}.workout-tag.interval,.workout-tag.intervals{background:rgba(236,72,153,0.15);color:#DB2777}.workout-tag.strength{background:rgba(139,92,246,0.15);color:#8B5CF6}.workout-tag.rest{background:rgba(156,163,175,0.15);color:#6B7280}.preview-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.week-nav{display:flex;align-items:center;gap:8px}.week-nav-btn{width:32px;height:32px;background:#F9FAFB;border:1px solid #E5E7EB;border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#6B7280;transition:all 150ms ease-out}.week-nav-btn:hover:not(:disabled){border-color:#FF6B35;color:#FF6B35;background:#FFF5F2}.week-nav-btn:disabled{opacity:0.3;cursor:not-allowed}.week-nav-current{font-size:0.875rem;font-weight:600;color:#1F2937;min-width:80px;text-align:center}.preview-calendar{display:grid;grid-template-columns:repeat(7, 1fr);gap:12px;transition:opacity 0.2s ease}@media (max-width: 700px){.preview-calendar{grid-template-columns:repeat(4, 1fr)}}@media (max-width: 500px){.preview-calendar{grid-template-columns:repeat(2, 1fr)}}.preview-calendar.loading{opacity:0.5;pointer-events:none}.calendar-day{background:#F9FAFB;border-radius:10px;padding:12px;border:1px solid #F3F4F6;transition:all 150ms ease-out}.calendar-day:hover{border-color:#E5E7EB;transform:translateY(-2px);box-shadow:0 1px 2px rgba(0,0,0,0.05)}.calendar-day[data-workout-type="easy"] .day-name{color:#22C55E}.calendar-day[data-workout-type="tempo"] .day-name{color:#F97316}.calendar-day[data-workout-type="long"] .day-name{color:#3B82F6}.calendar-day[data-workout-type="interval"] .day-name{color:#EF4444}.calendar-day[data-workout-type="race"] .day-name{color:#EAB308}.calendar-day[data-workout-type="walk_run"] .day-name{color:#14B8A6}.calendar-day[data-workout-type="trail"] .day-name{color:#22C55E}.calendar-day[data-workout-type="bike"] .day-name{color:#0EA5E9}.calendar-day[data-workout-type="swim"] .day-name{color:#06B6D4}.calendar-day[data-workout-type="walk"] .day-name{color:#14B8A6}.calendar-day[data-workout-type="strength"] .day-name{color:#8B5CF6}.calendar-day[data-workout-type="yoga"] .day-name{color:#EC4899}.calendar-day[data-workout-type="rest"]{background:linear-gradient(135deg, #F8FAFC 0%, #F1F5F9 100%)}.calendar-day[data-workout-type="rest"] .day-name{color:#9CA3AF}.calendar-day[data-workout-type="other"] .day-name{color:#6B7280}.day-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.day-name{font-size:0.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;color:#9CA3AF}.day-activity-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;font-size:0.75rem}.day-activity-icon .activity-icon-img{width:24px;height:24px;object-fit:contain}.day-activity-icon[data-workout-type="easy"]{background:rgba(34,197,94,0.15)}.day-activity-icon[data-workout-type="tempo"]{background:rgba(249,115,22,0.15)}.day-activity-icon[data-workout-type="long"]{background:rgba(59,130,246,0.15)}.day-activity-icon[data-workout-type="interval"]{background:rgba(239,68,68,0.15)}.day-activity-icon[data-workout-type="race"]{background:rgba(234,179,8,0.15)}.day-activity-icon[data-workout-type="walk_run"]{background:rgba(20,184,166,0.15)}.day-activity-icon[data-workout-type="trail"]{background:rgba(34,197,94,0.15)}.day-activity-icon[data-workout-type="bike"]{background:rgba(14,165,233,0.15)}.day-activity-icon[data-workout-type="swim"]{background:rgba(6,182,212,0.15)}.day-activity-icon[data-workout-type="walk"]{background:rgba(20,184,166,0.15)}.day-activity-icon[data-workout-type="strength"]{background:rgba(139,92,246,0.15)}.day-activity-icon[data-workout-type="yoga"]{background:rgba(236,72,153,0.15)}.day-activity-icon[data-workout-type="rest"]{background:rgba(156,163,175,0.1)}.day-activity-icon[data-workout-type="other"]{background:rgba(107,114,128,0.15)}.day-content{min-height:40px}.day-workout-name{font-family:"Clash Display", -apple-system, BlinkMacSystemFont, sans-serif;font-size:0.8125rem;font-weight:600;color:#1F2937;margin-bottom:2px;line-height:1.3}.day-workout-detail{font-size:0.75rem;color:#6B7280}.sidebar{display:flex;flex-direction:column;gap:24px;position:sticky;top:calc(16px + 60px)}@media (max-width: 1024px){.sidebar{position:relative;top:auto;display:grid;grid-template-columns:repeat(2, 1fr);gap:16px}}@media (max-width: 640px){.sidebar{grid-template-columns:1fr}}.coach-card{background:#FFFFFF;border-radius:16px;padding:24px;text-align:center;box-shadow:0 1px 2px rgba(0,0,0,0.05)}.coach-avatar-lg{width:80px;height:80px;border-radius:50%;margin:0 auto 16px;border:3px solid #FFFFFF;box-shadow:0 4px 12px rgba(0,0,0,0.1);overflow:hidden}.coach-avatar-lg .coach-avatar-img{width:100%;height:100%;object-fit:cover;display:block}.coach-avatar-lg.placeholder{background:linear-gradient(135deg, #FFF5F2 0%, #FFF0EB 100%);display:flex;align-items:center;justify-content:center;color:#FF6B35;font-size:2rem;font-weight:600}.coach-card-name{font-family:"Clash Display", -apple-system, BlinkMacSystemFont, sans-serif;font-size:1.125rem;font-weight:600;color:#1F2937;margin:0 0 4px}.coach-card-title{font-size:0.8125rem;color:#9CA3AF;margin:0 0 16px}.coach-card-bio{font-size:0.875rem;line-height:1.6;color:#6B7280;margin:0}.cta-card{background:linear-gradient(135deg, #1a1a1a 0%, #0f0f0f 50%, #1a1612 100%);border-radius:16px;padding:24px;position:relative;overflow:hidden}.cta-card::before{content:'';position:absolute;top:-50px;right:-50px;width:200px;height:200px;background:radial-gradient(circle, rgba(255,107,53,0.2) 0%, transparent 60%);pointer-events:none}.cta-card .learning-section{margin-top:24px;padding-top:24px;border-top:1px solid rgba(255,255,255,0.1);background:transparent;box-shadow:none;border-radius:0}.cta-card .learning-header{display:flex;align-items:center;gap:8px;margin-bottom:12px}.cta-card .learning-header svg{color:#FF6B35}.cta-card .learning-header h4{font-family:"Clash Display", -apple-system, BlinkMacSystemFont, sans-serif;font-size:0.9375rem;font-weight:600;color:rgba(255,255,255,0.9);margin:0}.cta-card .learning-list{display:flex;flex-direction:column;gap:8px}.cta-card .learning-item{display:flex;align-items:center;gap:12px;padding:8px 12px;background:rgba(255,255,255,0.08);border-radius:10px;border:none;text-decoration:none;transition:all 150ms ease-out}.cta-card .learning-item:hover{background:rgba(255,255,255,0.12)}.cta-card .learning-icon{width:32px;height:32px;background:rgba(255,255,255,0.12);border-radius:6px;display:flex;align-items:center;justify-content:center;color:#FFFFFF;flex-shrink:0}.cta-card .learning-item-content{flex:1;min-width:0}.cta-card .learning-item-content h5{font-size:0.8125rem;font-weight:600;color:#FFFFFF;margin:0 0 1px;line-height:1.3}.cta-card .learning-item-content span{font-size:0.75rem;color:rgba(255,255,255,0.5)}.cta-card-content{position:relative;z-index:1}.cta-card-title{font-family:"Clash Display", -apple-system, BlinkMacSystemFont, sans-serif;font-size:1.375rem;font-weight:700;color:#FFFFFF;margin:0 0 8px}.cta-card-subtitle{font-size:0.9375rem;color:rgba(255,255,255,0.6);margin:0 0 16px;line-height:1.5}.cta-btn-full{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px;background:linear-gradient(135deg, #FF6B35 0%, #E55A2B 100%);color:white !important;border:none;border-radius:16px;font-family:"Clash Display", -apple-system, BlinkMacSystemFont, sans-serif;font-size:1rem;font-weight:600;cursor:pointer;transition:transform 150ms ease-out, box-shadow 150ms ease-out;text-decoration:none;box-shadow:0 4px 20px rgba(255,107,53,0.4)}.cta-btn-full:hover,.cta-btn-full:focus,.cta-btn-full:active,.cta-btn-full:visited{color:white !important;text-decoration:none;transform:translateY(-3px);box-shadow:0 8px 32px rgba(255,107,53,0.5)}.cta-btn-full svg{stroke:white;transition:transform 150ms ease-out}.cta-btn-full:hover svg{transform:translateX(4px)}.learning-section{background:#FFFFFF;border-radius:16px;padding:24px;box-shadow:0 1px 2px rgba(0,0,0,0.05)}.learning-section .learning-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.learning-section .learning-header h3{font-family:"Clash Display", -apple-system, BlinkMacSystemFont, sans-serif;font-size:1rem;font-weight:600;color:#1F2937;margin:0}.learning-section .learning-header a{font-size:0.75rem;font-weight:600;color:#FF6B35;text-decoration:none}.learning-section .learning-header a:hover{text-decoration:underline}.learning-section .learning-list{display:flex;flex-direction:column;gap:12px}.learning-section .learning-item{display:flex;gap:12px;padding:12px;background:#F9FAFB;border-radius:10px;text-decoration:none;transition:all 150ms ease-out}.learning-section .learning-item:hover{background:#F3F4F6;transform:translateX(4px)}.learning-section .learning-icon{width:32px;height:32px;background:#FFFFFF;border-radius:6px;display:flex;align-items:center;justify-content:center;color:#9CA3AF;flex-shrink:0}.learning-section .learning-item-content{flex:1;min-width:0}.learning-section .learning-item-content h4,.learning-section .learning-item-content h5{font-size:0.8125rem;font-weight:600;color:#1F2937;margin:0 0 2px;line-height:1.3}.learning-section .learning-item-content p,.learning-section .learning-item-content span{font-size:0.75rem;color:#9CA3AF;margin:0}.text-light{color:#FFFFFF !important}.text-light-90{color:rgba(255,255,255,0.9) !important}.text-light-50{color:rgba(255,255,255,0.5) !important}.bg-glass-light{background:rgba(255,255,255,0.08) !important}.bg-glass-lighter{background:rgba(255,255,255,0.12) !important}.empty-state-hero{position:relative;background:linear-gradient(165deg, #1C1917 0%, #292524 50%, #1C1917 100%);min-height:500px;overflow:hidden;border-radius:24px;margin:32px;grid-column:1 / -1}@media (max-width: 768px){.empty-state-hero{min-height:auto;margin:16px;border-radius:16px}}.empty-hero-bg{position:absolute;inset:0;overflow:hidden;pointer-events:none}.empty-hero-bg::before{content:'';position:absolute;width:400px;height:400px;top:-150px;right:-100px;background:radial-gradient(circle, rgba(255,107,53,0.3) 0%, transparent 70%);filter:blur(60px);animation:glow-float 6s ease-in-out infinite alternate}.empty-hero-bg::after{content:'';position:absolute;width:300px;height:300px;bottom:-100px;left:10%;background:radial-gradient(circle, rgba(78,205,196,0.2) 0%, transparent 70%);filter:blur(60px);animation:glow-float 6s ease-in-out infinite alternate-reverse}@keyframes glow-float{0%{transform:translateY(0) scale(1);opacity:0.7}100%{transform:translateY(-20px) scale(1.1);opacity:1}}.empty-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center;min-height:500px;padding:32px;position:relative;z-index:1}@media (max-width: 768px){.empty-hero-grid{grid-template-columns:1fr;min-height:auto;padding:24px;gap:24px}}.empty-hero-content{display:flex;flex-direction:column;align-items:flex-start;gap:16px}@media (max-width: 768px){.empty-hero-content{text-align:center;align-items:center;order:2}}.empty-hero-text{max-width:480px}@media (max-width: 768px){.empty-hero-text{max-width:none}}.empty-hero-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background:rgba(255,107,53,0.15);border:1px solid rgba(255,107,53,0.3);border-radius:9999px;font-size:0.75rem;font-weight:600;text-transform:uppercase;letter-spacing:0.1em;color:#FF6B35;margin-bottom:16px}.empty-hero-badge svg{width:16px;height:16px;animation:sparkle 2s ease-in-out infinite}@keyframes sparkle{0%,100%{transform:scale(1) rotate(0deg);opacity:1}50%{transform:scale(1.1) rotate(10deg);opacity:0.8}}.empty-hero-title{font-family:"Clash Display", -apple-system, BlinkMacSystemFont, sans-serif;font-size:2.5rem;font-weight:700;color:#FFFFFF;margin:0 0 16px;line-height:1.1;letter-spacing:-0.02em;background:linear-gradient(135deg, #fff 0%, rgba(255,255,255,0.8) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}@media (max-width: 768px){.empty-hero-title{font-size:2rem}}@media (max-width: 640px){.empty-hero-title{font-size:1.75rem}}.empty-hero-desc{font-size:1.125rem;line-height:1.6;color:rgba(255,255,255,0.6);margin:0 0 24px}@media (max-width: 640px){.empty-hero-desc{font-size:1rem}}.empty-hero-cta{display:flex;gap:12px;flex-wrap:wrap}@media (max-width: 768px){.empty-hero-cta{justify-content:center}}.empty-hero-cta .btn-primary{padding:16px 24px;font-size:1rem}@media (max-width: 640px){.empty-hero-cta .btn-primary{padding:12px 24px;font-size:0.9375rem}}.empty-hero-cta .btn-ghost{background:rgba(255,255,255,0.1);border-color:rgba(255,255,255,0.2);color:#FFFFFF}.empty-hero-cta .btn-ghost:hover{background:rgba(255,255,255,0.15);border-color:rgba(255,255,255,0.3)}.empty-hero-visual{display:flex;align-items:center;justify-content:center;position:relative;min-height:300px}@media (max-width: 768px){.empty-hero-visual{order:1;min-height:200px}}.running-path{position:relative;width:100%;max-width:400px;height:200px}.road-surface{position:absolute;bottom:0;left:0;right:0;height:60px;background:linear-gradient(180deg, #2A2A2A 0%, #1F1F1F 100%);border-radius:16px;overflow:hidden}.road-surface::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(90deg, transparent 0px, transparent 20px, rgba(255,255,255,0.02) 20px, rgba(255,255,255,0.02) 40px)}.road-lines{position:absolute;top:50%;left:10%;right:10%;transform:translateY(-50%);display:flex;gap:30px}.road-line{width:30px;height:3px;background:rgba(255,255,255,0.4);border-radius:9999px;animation:road-dash 2s linear infinite}.road-line:nth-child(2){animation-delay:0.3s}.road-line:nth-child(3){animation-delay:0.6s}.road-line:nth-child(4){animation-delay:0.9s}.road-line:nth-child(5){animation-delay:1.2s}@keyframes road-dash{0%{opacity:0;transform:translateX(20px)}20%{opacity:1}80%{opacity:1}100%{opacity:0;transform:translateX(-20px)}}.runner-silhouette{position:absolute;bottom:60px;left:30%;z-index:2;animation:runner-bounce 0.5s ease-in-out infinite}@keyframes runner-bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}.runner-svg{width:60px;height:80px;fill:#FF6B35;filter:drop-shadow(0 4px 12px rgba(255,107,53,0.4))}@media (max-width: 640px){.runner-svg{width:50px;height:66px}}.goal-marker{position:absolute;bottom:50px;right:15%;display:flex;flex-direction:column;align-items:center;gap:8px;animation:goal-pulse 2s ease-in-out infinite}@keyframes goal-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}.goal-icon{width:48px;height:48px;background:linear-gradient(135deg, #4ECDC4 0%, #33b5ac 100%);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#FFFFFF;box-shadow:0 4px 20px rgba(78,205,196,0.4)}.goal-icon svg{width:24px;height:24px}@media (max-width: 640px){.goal-icon{width:40px;height:40px}.goal-icon svg{width:20px;height:20px}}.goal-label{font-size:0.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:rgba(255,255,255,0.6)}.motion-lines{position:absolute;bottom:80px;left:25%;display:flex;flex-direction:column;gap:6px}.motion-line{height:2px;background:linear-gradient(90deg, rgba(255,107,53,0.6) 0%, transparent 100%);border-radius:9999px;animation:motion-trail 0.8s ease-out infinite}.motion-line:nth-child(1){width:40px;animation-delay:0s}.motion-line:nth-child(2){width:30px;animation-delay:0.1s}.motion-line:nth-child(3){width:20px;animation-delay:0.2s}@keyframes motion-trail{0%{opacity:0.8;transform:translateX(0) scaleX(1)}100%{opacity:0;transform:translateX(-30px) scaleX(0.5)}}.empty-features{grid-column:1 / -1;display:grid;grid-template-columns:repeat(3, 1fr);gap:24px;padding:0 32px 32px}@media (max-width: 768px){.empty-features{grid-template-columns:1fr;padding:0 16px 24px;gap:16px}}.feature-card{background:#FFFFFF;border-radius:16px;padding:24px;border:1px solid #F3F4F6;transition:all 200ms ease-out}.feature-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px rgba(0,0,0,0.08);border-color:#E5E7EB}.feature-icon-wrap{width:48px;height:48px;background:#FFF5F2;border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:16px}.feature-icon-wrap svg{width:24px;height:24px;color:#FF6B35}.feature-icon-wrap.teal{background:rgba(78,205,196,0.15)}.feature-icon-wrap.teal svg{color:#4ECDC4}.feature-icon-wrap.gold{background:rgba(255,217,61,0.15)}.feature-icon-wrap.gold svg{color:#ffcf0a}.feature-content h3{font-family:"Clash Display", -apple-system, BlinkMacSystemFont, sans-serif;font-size:1.125rem;font-weight:600;color:#1F2937;margin:0 0 8px}.feature-content p{font-size:0.875rem;line-height:1.6;color:#6B7280;margin:0}.empty-secondary{grid-column:1 / -1;text-align:center;padding:32px;background:#F9FAFB;border-radius:16px;margin:0 32px 32px}@media (max-width: 768px){.empty-secondary{margin:0 16px 24px;padding:24px}}.secondary-text{font-size:1rem;color:#6B7280;margin:0 0 24px}.secondary-text strong{font-weight:600;color:#1F2937}.secondary-text a{color:#FF6B35;font-weight:600;text-decoration:none}.secondary-text a:hover{text-decoration:underline}.secondary-cta{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;background:#FFFFFF;border:1px solid #E5E7EB;border-radius:10px;font-size:0.9375rem;font-weight:600;color:#1F2937;cursor:pointer;transition:all 150ms ease-out;text-decoration:none}.secondary-cta:hover{border-color:#FF6B35;color:#FF6B35;background:#FFF5F2}.secondary-cta svg{transition:transform 150ms ease-out}.secondary-cta:hover svg{transform:translateX(2px)}.empty-state-week{text-align:center;padding:32px;background:#FFFFFF;border-radius:16px;border:1px dashed #E5E7EB}.empty-week-icon{width:64px;height:64px;background:#F9FAFB;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;color:#9CA3AF}.empty-week-title{font-family:"Clash Display", -apple-system, BlinkMacSystemFont, sans-serif;font-size:1.25rem;font-weight:600;color:#1F2937;margin:0 0 8px}.empty-week-text{font-size:0.9375rem;color:#6B7280;margin:0 0 24px}.empty-state-expired{background:linear-gradient(135deg, #FEF3C7 0%, #FDE68A 100%);border:1px solid rgba(245,158,11,0.3);border-radius:16px;padding:24px;text-align:center}.expired-icon{width:56px;height:56px;background:#FFFFFF;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;color:#F59E0B;box-shadow:0 4px 12px rgba(245,158,11,0.2)}.expired-title{font-family:"Clash Display", -apple-system, BlinkMacSystemFont, sans-serif;font-size:1.25rem;font-weight:600;color:#634004;margin:0 0 8px}.expired-text{font-size:0.9375rem;color:#7b4f05;margin:0 0 24px}.ft-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 16px;border:none;border-radius:10px;font-family:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;font-size:14px;font-weight:600;text-decoration:none;cursor:pointer;transition:all 0.2s ease;white-space:nowrap}.ft-btn:disabled,.ft-btn.is-disabled{opacity:0.5;cursor:not-allowed;pointer-events:none}.ft-btn.is-loading{position:relative;color:transparent}.ft-btn.is-loading::after{content:'';position:absolute;width:16px;height:16px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin 0.8s linear infinite}.ft-btn svg,.ft-btn .ft-icon{width:18px;height:18px;flex-shrink:0}.ft-btn--primary{background:#FF6B35;color:white}.ft-btn--primary:hover:not(:disabled){background:#E55A2B}.ft-btn--primary:focus{outline:none;box-shadow:0 0 0 3px rgba(255,107,53,0.2)}.ft-btn--primary:active:not(:disabled){transform:scale(0.98)}.ft-btn--secondary{background:#F3F4F6;color:#374151}.ft-btn--secondary:hover:not(:disabled){background:#E5E7EB}.ft-btn--secondary:focus{outline:none;box-shadow:0 0 0 3px rgba(156,163,175,0.3)}.ft-btn--ghost{background:transparent;color:#4B5563}.ft-btn--ghost:hover:not(:disabled){background:#F3F4F6}.ft-btn--ghost:focus{outline:none;box-shadow:0 0 0 3px rgba(156,163,175,0.3)}.ft-btn--outline{background:transparent;color:#FF6B35;border:1px solid #FF6B35}.ft-btn--outline:hover:not(:disabled){background:#FFF5F2}.ft-btn--outline:focus{outline:none;box-shadow:0 0 0 3px rgba(255,107,53,0.2)}.ft-btn--danger{background:#EF4444;color:white}.ft-btn--danger:hover:not(:disabled){background:#eb1515}.ft-btn--danger:focus{outline:none;box-shadow:0 0 0 3px rgba(239,68,68,0.3)}.ft-btn--success{background:#10B981;color:white}.ft-btn--success:hover:not(:disabled){background:#0c8a60}.ft-btn--success:focus{outline:none;box-shadow:0 0 0 3px rgba(16,185,129,0.3)}.ft-btn--sm{height:32px;padding:0 12px;font-size:13px;border-radius:6px}.ft-btn--sm svg,.ft-btn--sm .ft-icon{width:14px;height:14px}.ft-btn--lg{height:52px;padding:0 24px;font-size:16px;border-radius:16px}.ft-btn--lg svg,.ft-btn--lg .ft-icon{width:20px;height:20px}.ft-btn--block{width:100%}.ft-btn--icon{width:44px;padding:0}.ft-btn--icon.ft-btn--sm{width:32px}.ft-btn--icon.ft-btn--lg{width:52px}.ft-btn--pill{border-radius:9999px}.ft-btn-group{display:inline-flex}.ft-btn-group .ft-btn{border-radius:0}.ft-btn-group .ft-btn:first-child{border-radius:10px 0 0 10px}.ft-btn-group .ft-btn:last-child{border-radius:0 10px 10px 0}.ft-btn-group .ft-btn:not(:last-child){border-right:1px solid rgba(0,0,0,0.1)}.ft-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:9999px;font-size:12px;font-weight:600;white-space:nowrap;line-height:1.4}.ft-badge svg,.ft-badge .ft-icon{width:12px;height:12px}.ft-badge--strava{background:#FC4C02;color:white}.ft-badge--manual{background:#E5E7EB;color:#374151}.ft-badge--apple{background:#000;color:white}.ft-badge--garmin{background:#007CC3;color:white}.ft-badge--fitbit{background:#00B0B9;color:white}.ft-badge--success{background:#D1FAE5;color:#10B981}.ft-badge--warning{background:#FEF3C7;color:#F59E0B}.ft-badge--error{background:#FEE2E2;color:#EF4444}.ft-badge--info{background:#DBEAFE;color:#3B82F6}.ft-badge--neutral{background:#F3F4F6;color:#4B5563}.ft-badge--rookie{background:rgba(69,183,168,0.15);color:#45B7A8}.ft-badge--explorer{background:rgba(78,205,196,0.15);color:#4ECDC4}.ft-badge--pacer{background:rgba(255,107,53,0.15);color:#FF6B35}.ft-badge--trailblazer{background:rgba(220,20,60,0.15);color:#DC143C}.ft-badge--bronze{background:rgba(205,127,50,0.15);color:#CD7F32}.ft-badge--silver{background:rgba(168,169,173,0.15);color:#A8A9AD;color:#5b5c61}.ft-badge--gold{background:rgba(255,217,61,0.15);color:#FFD93D}.ft-badge--platinum{background:rgba(229,228,226,0.15);color:#E5E4E2;color:#9d9991}.ft-badge--obsidian{background:rgba(26,26,26,0.15);color:#1A1A1A;background:#1A1A1A;color:white}.ft-badge--diamond{background:rgba(185,242,255,0.15);color:#B9F2FF;background:linear-gradient(135deg, #B9F2FF, #ecfbff);color:#00c0ec}.ft-badge--run{background:rgba(255,107,53,0.15);color:#FF6B35}.ft-badge--trail{background:rgba(34,197,94,0.15);color:#22C55E}.ft-badge--bike{background:rgba(59,130,246,0.15);color:#3B82F6}.ft-badge--swim{background:rgba(6,182,212,0.15);color:#06B6D4}.ft-badge--walk{background:rgba(78,205,196,0.15);color:#4ECDC4}.ft-badge--strength{background:rgba(139,92,246,0.15);color:#8B5CF6}.ft-badge--yoga{background:rgba(236,72,153,0.15);color:#EC4899}.ft-badge--other{background:rgba(107,114,128,0.15);color:#6B7280}.ft-badge--sm{padding:1px 6px;font-size:10px}.ft-badge--sm svg,.ft-badge--sm .ft-icon{width:10px;height:10px}.ft-badge--lg{padding:4px 12px;font-size:14px}.ft-badge--lg svg,.ft-badge--lg .ft-icon{width:16px;height:16px}.ft-badge--clickable{cursor:pointer;transition:transform 0.2s ease, box-shadow 0.2s ease}.ft-badge--clickable:hover{transform:scale(1.05)}.ft-badge--clickable:active{transform:scale(0.98)}.ft-badge--dot{padding:0;width:8px;height:8px;border-radius:50%}.ft-badge--dot.ft-badge--success{background:#10B981}.ft-badge--dot.ft-badge--warning{background:#F59E0B}.ft-badge--dot.ft-badge--error{background:#EF4444}.ft-badge--dot.ft-badge--info{background:#3B82F6}.ft-badge--pulse{animation:pulse 2s ease-in-out infinite}.ft-badge-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;background:#EF4444;color:white;font-size:11px;font-weight:700;border-radius:9999px}.ft-badge-count--sm{min-width:16px;height:16px;font-size:10px;padding:0 4px}.ft-badge-count--primary{background:#FF6B35}.ft-card{background:#FFFFFF;border-radius:16px;box-shadow:0 1px 3px rgba(0,0,0,0.1);overflow:hidden}.ft-card__header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid #F3F4F6}.ft-card__header--compact{padding:12px}.ft-card__title{font-size:18px;font-weight:600;color:#1F2937;margin:0}.ft-card__subtitle{font-size:14px;color:#6B7280;margin-top:2px}.ft-card__actions{display:flex;align-items:center;gap:8px}.ft-card__body{padding:16px}.ft-card__body--compact{padding:12px}.ft-card__body--flush{padding:0}.ft-card__footer{padding:16px;border-top:1px solid #F3F4F6;background:#F9FAFB}.ft-card__footer--compact{padding:12px}.ft-card--clickable{cursor:pointer;transition:box-shadow 0.2s ease, transform 0.2s ease}.ft-card--clickable:hover{box-shadow:0 4px 12px rgba(0,0,0,0.15);transform:translateY(-2px)}.ft-card--clickable:active{transform:translateY(0)}.ft-card--flat{box-shadow:none;border:1px solid #E5E7EB}.ft-card--elevated{box-shadow:0 4px 16px rgba(0,0,0,0.12)}.ft-card--primary{border-top:3px solid #FF6B35}.ft-card--success{border-top:3px solid #10B981}.ft-card--warning{border-top:3px solid #F59E0B}.ft-card--error{border-top:3px solid #EF4444}.ft-card__image{width:100%;height:160px;object-fit:cover}.ft-card__image--tall{height:200px}.ft-card__image--short{height:120px}.ft-card--compact .ft-card__header,.ft-card--compact .ft-card__body,.ft-card--compact .ft-card__footer{padding:12px}.ft-card--compact .ft-card__title{font-size:16px}.ft-card--lg .ft-card__header,.ft-card--lg .ft-card__body,.ft-card--lg .ft-card__footer{padding:24px}.ft-card--lg .ft-card__title{font-size:20px}.ft-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 12px;border-radius:9999px;font-size:13px;font-weight:500;background:#F3F4F6;color:#374151;cursor:pointer;transition:all 0.2s ease;white-space:nowrap}.ft-chip:hover{background:#E5E7EB}.ft-chip.is-active{background:#FF6B35;color:white}.ft-chip.is-active:hover{background:#E55A2B}.ft-chip svg,.ft-chip .ft-icon{width:14px;height:14px}.ft-chip__remove{display:flex;align-items:center;justify-content:center;width:16px;height:16px;margin-left:2px;margin-right:-4px;border-radius:50%;opacity:0.6;transition:opacity 0.2s ease, background 0.2s ease}.ft-chip__remove:hover{opacity:1;background:rgba(0,0,0,0.1)}.ft-chip__remove svg{width:12px;height:12px}.ft-chip--outline{background:transparent;border:1px solid #E5E7EB}.ft-chip--outline:hover{background:#F9FAFB;border-color:#D1D5DB}.ft-chip--outline.is-active{background:#FFF5F2;border-color:#FF6B35;color:#FF6B35}.ft-chip--sm{padding:2px 8px;font-size:12px}.ft-chip--sm svg,.ft-chip--sm .ft-icon{width:12px;height:12px}.ft-chip--lg{padding:8px 16px;font-size:14px}.ft-chip--lg svg,.ft-chip--lg .ft-icon{width:16px;height:16px}.ft-chip--run.is-active{background:#FF6B35;color:white}.ft-chip--trail.is-active{background:#22C55E;color:white}.ft-chip--bike.is-active{background:#3B82F6;color:white}.ft-chip--swim.is-active{background:#06B6D4;color:white}.ft-chip--walk.is-active{background:#4ECDC4;color:white}.ft-chip--strength.is-active{background:#8B5CF6;color:white}.ft-chip--yoga.is-active{background:#EC4899;color:white}.ft-chip--other.is-active{background:#6B7280;color:white}.ft-chip-group{display:flex;flex-wrap:wrap;gap:8px}.ft-chip-group--scroll{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;-ms-overflow-style:none;scrollbar-width:none}.ft-chip-group--scroll::-webkit-scrollbar{display:none}.ft-avatar{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:#E5E7EB;color:#6B7280;font-weight:600;overflow:hidden;flex-shrink:0}.ft-avatar img{width:100%;height:100%;object-fit:cover}.ft-avatar__initials{font-size:0.4em;text-transform:uppercase}.ft-avatar--sm{width:32px;height:32px;font-size:32px}.ft-avatar--md{width:48px;height:48px;font-size:48px}.ft-avatar--lg{width:80px;height:80px;font-size:80px}.ft-avatar--xl{width:120px;height:120px;font-size:120px}.ft-avatar--rookie{border:3px solid #45B7A8}.ft-avatar--rookie.ft-avatar--lg{border-width:4px}.ft-avatar--rookie.ft-avatar--xl{border-width:5px}.ft-avatar--explorer{border:3px solid #4ECDC4}.ft-avatar--explorer.ft-avatar--lg{border-width:4px}.ft-avatar--explorer.ft-avatar--xl{border-width:5px}.ft-avatar--pacer{border:3px solid #FF6B35}.ft-avatar--pacer.ft-avatar--lg{border-width:4px}.ft-avatar--pacer.ft-avatar--xl{border-width:5px}.ft-avatar--trailblazer{border:3px solid #DC143C}.ft-avatar--trailblazer.ft-avatar--lg{border-width:4px}.ft-avatar--trailblazer.ft-avatar--xl{border-width:5px}.ft-avatar--bronze{border:3px solid #CD7F32}.ft-avatar--bronze.ft-avatar--lg{border-width:4px}.ft-avatar--bronze.ft-avatar--xl{border-width:5px}.ft-avatar--silver{border:3px solid #A8A9AD}.ft-avatar--silver.ft-avatar--lg{border-width:4px}.ft-avatar--silver.ft-avatar--xl{border-width:5px}.ft-avatar--gold{border:3px solid #FFD93D}.ft-avatar--gold.ft-avatar--lg{border-width:4px}.ft-avatar--gold.ft-avatar--xl{border-width:5px}.ft-avatar--platinum{border:3px solid #E5E4E2}.ft-avatar--platinum.ft-avatar--lg{border-width:4px}.ft-avatar--platinum.ft-avatar--xl{border-width:5px}.ft-avatar--obsidian{border:3px solid #1A1A1A}.ft-avatar--obsidian.ft-avatar--lg{border-width:4px}.ft-avatar--obsidian.ft-avatar--xl{border-width:5px}.ft-avatar--diamond{border:3px solid #B9F2FF}.ft-avatar--diamond.ft-avatar--lg{border-width:4px}.ft-avatar--diamond.ft-avatar--xl{border-width:5px}.ft-avatar--online{position:relative}.ft-avatar--online::after{content:'';position:absolute;bottom:2px;right:2px;width:12px;height:12px;background:#10B981;border:2px solid white;border-radius:50%}.ft-avatar--online.ft-avatar--sm::after{width:8px;height:8px;bottom:0;right:0}.ft-avatar--online.ft-avatar--lg::after{width:16px;height:16px;bottom:4px;right:4px}.ft-avatar--clickable{cursor:pointer;transition:transform 0.2s ease, box-shadow 0.2s ease}.ft-avatar--clickable:hover{transform:scale(1.05);box-shadow:0 4px 12px rgba(0,0,0,0.2)}.ft-avatar-group{display:flex}.ft-avatar-group .ft-avatar{border:2px solid white;margin-left:-8px}.ft-avatar-group .ft-avatar:first-child{margin-left:0}.ft-avatar-group:hover .ft-avatar{margin-left:-4px}.ft-avatar-group:hover .ft-avatar:first-child{margin-left:0}.ft-avatar-group--sm .ft-avatar{margin-left:-6px}.ft-avatar-group--sm .ft-avatar:first-child{margin-left:0}.ft-avatar-group__overflow{display:flex;align-items:center;justify-content:center;width:48px;height:48px;margin-left:-8px;border-radius:50%;background:#E5E7EB;border:2px solid white;font-size:12px;font-weight:600;color:#4B5563}.ft-avatar-wrapper{position:relative;display:inline-block}.ft-avatar-wrapper .ft-avatar-badge{position:absolute;bottom:0;right:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:#FF6B35;color:white;border-radius:50%;font-size:11px;font-weight:700;border:2px solid white}.ft-avatar--sm+.ft-avatar-wrapper .ft-avatar-badge{width:18px;height:18px;font-size:9px}.ft-avatar--lg+.ft-avatar-wrapper .ft-avatar-badge,.ft-avatar--xl+.ft-avatar-wrapper .ft-avatar-badge{width:28px;height:28px;font-size:12px;border-width:3px}.ft-avatar-wrapper .ft-avatar-badge--rookie{background:#45B7A8;color:white}.ft-avatar-wrapper .ft-avatar-badge--explorer{background:#4ECDC4;color:white}.ft-avatar-wrapper .ft-avatar-badge--pacer{background:#FF6B35;color:white}.ft-avatar-wrapper .ft-avatar-badge--trailblazer{background:#DC143C;color:white}.ft-avatar-wrapper .ft-avatar-badge--bronze{background:#CD7F32;color:white}.ft-avatar-wrapper .ft-avatar-badge--silver{background:#A8A9AD;color:#424347}.ft-avatar-wrapper .ft-avatar-badge--gold{background:#FFD93D;color:white}.ft-avatar-wrapper .ft-avatar-badge--platinum{background:#E5E4E2;color:#848077}.ft-avatar-wrapper .ft-avatar-badge--obsidian{background:#1A1A1A;color:white}.ft-avatar-wrapper .ft-avatar-badge--diamond{background:#B9F2FF;background:linear-gradient(135deg, #B9F2FF, #ecfbff);color:#00c0ec}.ft-toast-container{position:fixed;top:16px;right:16px;z-index:10000;display:flex;flex-direction:column;gap:8px;pointer-events:none}.ft-toast{display:flex;align-items:flex-start;gap:8px;padding:12px 16px;border-radius:10px;background:white;box-shadow:0 4px 20px rgba(0,0,0,0.15);font-size:14px;line-height:1.4;pointer-events:auto;opacity:0;transform:translateX(100%);transition:all 0.3s ease;max-width:400px}.ft-toast.is-visible{opacity:1;transform:translateX(0)}.ft-toast__icon{flex-shrink:0;width:20px;height:20px;margin-top:1px}.ft-toast__icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.ft-toast__message{flex:1;font-weight:500}.ft-toast__close{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px;margin:-4px -8px -4px 0;border:none;background:transparent;font-size:18px;line-height:1;cursor:pointer;opacity:0.5;transition:opacity 0.2s}.ft-toast__close:hover{opacity:1}.ft-toast--info{background:linear-gradient(135deg, #EFF6FF 0%, #DBEAFE 100%);color:#1E40AF;border:1px solid rgba(37,99,235,0.2)}.ft-toast--success{background:linear-gradient(135deg, #F0FDF4 0%, #DCFCE7 100%);color:#166534;border:1px solid rgba(22,163,74,0.2)}.ft-toast--warning{background:linear-gradient(135deg, #FFFBEB 0%, #FEF3C7 100%);color:#92400E;border:1px solid rgba(217,119,6,0.2)}.ft-toast--error{background:linear-gradient(135deg, #FEF2F2 0%, #FEE2E2 100%);color:#991B1B;border:1px solid rgba(220,38,38,0.2)}.ft-stat-card{display:flex;flex-direction:column;align-items:center;padding:16px;text-align:center;background:#FFFFFF;border-radius:16px}.ft-stat-card__icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;margin-bottom:8px;color:#9CA3AF}.ft-stat-card__icon svg{width:24px;height:24px}.ft-stat-card__value{font-size:28px;font-weight:700;color:#1F2937;line-height:1;font-variant-numeric:tabular-nums}.ft-stat-card__label{margin-top:4px;font-size:12px;color:#6B7280;text-transform:uppercase;letter-spacing:0.5px;font-weight:500}.ft-stat-card__change{display:flex;align-items:center;gap:2px;margin-top:4px;font-size:12px;font-weight:500}.ft-stat-card__change--up{color:#10B981}.ft-stat-card__change--down{color:#EF4444}.ft-stat-card__change svg{width:12px;height:12px}.ft-stat-card--highlight .ft-stat-card__value{color:#FF6B35}.ft-stat-card--highlight .ft-stat-card__icon{color:#FF6B35}.ft-stat-card--compact{padding:12px}.ft-stat-card--compact .ft-stat-card__icon{width:32px;height:32px;margin-bottom:4px}.ft-stat-card--compact .ft-stat-card__icon svg{width:20px;height:20px}.ft-stat-card--compact .ft-stat-card__value{font-size:24px}.ft-stat-card--horizontal{flex-direction:row;align-items:center;text-align:left;gap:12px}.ft-stat-card--horizontal .ft-stat-card__icon{margin-bottom:0}.ft-stat-card--horizontal .ft-stat-card__content{display:flex;flex-direction:column}.ft-stat-card--horizontal .ft-stat-card__label{order:-1;margin-top:0;margin-bottom:2px}.ft-stat-card--hero{padding:24px}.ft-stat-card--hero .ft-stat-card__icon{width:48px;height:48px;margin-bottom:12px}.ft-stat-card--hero .ft-stat-card__icon svg{width:32px;height:32px}.ft-stat-card--hero .ft-stat-card__value{font-size:48px}.ft-stat-card--hero .ft-stat-card__label{font-size:14px}.ft-stat-card--tint-primary{background:#FFF5F2}.ft-stat-card--tint-primary .ft-stat-card__icon{color:#FF6B35}.ft-stat-card--tint-teal{background:#E0F7F5}.ft-stat-card--tint-teal .ft-stat-card__icon{color:#4ECDC4}.ft-stat-card--tint-gold{background:#FFFBEB}.ft-stat-card--tint-gold .ft-stat-card__icon{color:#F4A83D}.ft-stat-card--tint-success{background:#D1FAE5}.ft-stat-card--tint-success .ft-stat-card__icon{color:#10B981}.ft-stat-card--rookie .ft-stat-card__value{color:#45B7A8}.ft-stat-card--rookie .ft-stat-card__icon{color:#45B7A8}.ft-stat-card--explorer .ft-stat-card__value{color:#4ECDC4}.ft-stat-card--explorer .ft-stat-card__icon{color:#4ECDC4}.ft-stat-card--pacer .ft-stat-card__value{color:#FF6B35}.ft-stat-card--pacer .ft-stat-card__icon{color:#FF6B35}.ft-stat-card--trailblazer .ft-stat-card__value{color:#DC143C}.ft-stat-card--trailblazer .ft-stat-card__icon{color:#DC143C}.ft-stat-card--bronze .ft-stat-card__value{color:#CD7F32}.ft-stat-card--bronze .ft-stat-card__icon{color:#CD7F32}.ft-stat-card--silver .ft-stat-card__value{color:#A8A9AD}.ft-stat-card--silver .ft-stat-card__icon{color:#A8A9AD}.ft-stat-card--gold .ft-stat-card__value{color:#FFD93D}.ft-stat-card--gold .ft-stat-card__icon{color:#FFD93D}.ft-stat-card--platinum .ft-stat-card__value{color:#E5E4E2}.ft-stat-card--platinum .ft-stat-card__icon{color:#E5E4E2}.ft-stat-card--obsidian .ft-stat-card__value{color:#1A1A1A}.ft-stat-card--obsidian .ft-stat-card__icon{color:#1A1A1A}.ft-stat-card--diamond .ft-stat-card__value{color:#B9F2FF}.ft-stat-card--diamond .ft-stat-card__icon{color:#B9F2FF}.ft-stat-grid{display:grid;gap:12px;grid-template-columns:repeat(2, 1fr)}@media (min-width: 1024px){.ft-stat-grid{grid-template-columns:repeat(4, 1fr)}}.ft-stat-grid--row{grid-template-columns:repeat(auto-fit, minmax(120px, 1fr))}.ft-stat-grid--3-col{grid-template-columns:repeat(3, 1fr)}@media (max-width: 639px){.ft-stat-grid--3-col{grid-template-columns:repeat(2, 1fr)}}.ft-xp-bar{height:8px;background:#E5E7EB;border-radius:9999px;overflow:hidden}.ft-xp-bar__fill{height:100%;border-radius:9999px;transition:width 0.5s ease-out}.ft-xp-bar__fill--rookie{background:#45B7A8}.ft-xp-bar__fill--explorer{background:#4ECDC4}.ft-xp-bar__fill--pacer{background:#FF6B35}.ft-xp-bar__fill--trailblazer{background:#DC143C}.ft-xp-bar__fill--bronze{background:#CD7F32}.ft-xp-bar__fill--silver{background:#A8A9AD}.ft-xp-bar__fill--gold{background:#FFD93D}.ft-xp-bar__fill--platinum{background:#E5E4E2;background:linear-gradient(90deg, #cdcbc7, #E5E4E2)}.ft-xp-bar__fill--obsidian{background:#1A1A1A;background:linear-gradient(90deg, #1A1A1A, #404040)}.ft-xp-bar__fill--diamond{background:#B9F2FF;background:linear-gradient(90deg, #B9F2FF, #ecfbff)}.ft-xp-bar--lg{height:12px}.ft-xp-bar--sm{height:4px}.ft-xp-bar--xs{height:2px}.ft-xp-bar--shimmer .ft-xp-bar__fill{position:relative;overflow:hidden}.ft-xp-bar--shimmer .ft-xp-bar__fill::after{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg, transparent, rgba(255,255,255,0.4), transparent);animation:shimmer 2s infinite}.ft-xp-bar--dark{background:rgba(255,255,255,0.2)}@keyframes shimmer{0%{left:-100%}100%{left:100%}}.ft-xp-progress__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.ft-xp-progress__tier{font-size:12px;font-weight:600;text-transform:capitalize}.ft-xp-progress__tier--rookie{color:#45B7A8}.ft-xp-progress__tier--explorer{color:#4ECDC4}.ft-xp-progress__tier--pacer{color:#FF6B35}.ft-xp-progress__tier--trailblazer{color:#DC143C}.ft-xp-progress__tier--bronze{color:#CD7F32}.ft-xp-progress__tier--silver{color:#A8A9AD}.ft-xp-progress__tier--gold{color:#FFD93D}.ft-xp-progress__tier--platinum{color:#E5E4E2}.ft-xp-progress__tier--obsidian{color:#1A1A1A}.ft-xp-progress__tier--diamond{color:#B9F2FF}.ft-xp-progress__numbers{font-size:12px;color:#6B7280}.ft-xp-progress__numbers strong{color:#1F2937}.ft-xp-progress__footer{display:flex;justify-content:space-between;margin-top:4px;font-size:11px;color:#9CA3AF}.ft-activity-row{display:grid;grid-template-columns:60px 1fr auto;gap:12px;padding:12px;border-bottom:1px solid #F3F4F6;transition:background 0.2s ease}.ft-activity-row:hover{background:#F9FAFB}.ft-activity-row:last-child{border-bottom:none}.ft-activity-row__date{text-align:center;padding-top:2px}.ft-activity-row__day{font-size:24px;font-weight:700;line-height:1;color:#1F2937}.ft-activity-row__weekday{font-size:12px;color:#6B7280;text-transform:uppercase;letter-spacing:0.5px}.ft-activity-row__content{display:flex;flex-direction:column;gap:4px;min-width:0}.ft-activity-row__title{font-weight:600;color:#1F2937;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ft-activity-row__title .ft-badge{margin-right:4px}.ft-activity-row__meta{display:flex;flex-wrap:wrap;gap:8px 12px;font-size:14px;color:#6B7280}.ft-activity-row__meta span{display:flex;align-items:center;gap:4px}.ft-activity-row__meta span svg{width:14px;height:14px;opacity:0.7}.ft-activity-row__actions{display:flex;align-items:center;gap:8px;opacity:0;transition:opacity 0.2s ease}.ft-activity-row:hover .ft-activity-row__actions{opacity:1}.ft-activity-row__xp{font-size:14px;font-weight:600;color:#FF6B35}.ft-activity-row--compact{grid-template-columns:1fr auto}.ft-activity-row--compact .ft-activity-row__date{display:none}.ft-activity-row--clickable{cursor:pointer}.ft-activity-row--clickable:hover{background:#FFF5F2}.ft-activity-row--today{background:#FFF5F2;border-left:3px solid #FF6B35}.ft-activity-row--run{border-left:3px solid #FF6B35}.ft-activity-row--run .ft-activity-row__day{color:#FF6B35}.ft-activity-row--trail{border-left:3px solid #22C55E}.ft-activity-row--trail .ft-activity-row__day{color:#22C55E}.ft-activity-row--bike{border-left:3px solid #3B82F6}.ft-activity-row--bike .ft-activity-row__day{color:#3B82F6}.ft-activity-row--swim{border-left:3px solid #06B6D4}.ft-activity-row--swim .ft-activity-row__day{color:#06B6D4}.ft-activity-row--walk{border-left:3px solid #4ECDC4}.ft-activity-row--walk .ft-activity-row__day{color:#4ECDC4}.ft-activity-row--strength{border-left:3px solid #8B5CF6}.ft-activity-row--strength .ft-activity-row__day{color:#8B5CF6}.ft-activity-row--yoga{border-left:3px solid #EC4899}.ft-activity-row--yoga .ft-activity-row__day{color:#EC4899}.ft-activity-row--other{border-left:3px solid #6B7280}.ft-activity-row--other .ft-activity-row__day{color:#6B7280}.ft-activity-list{background:#FFFFFF;border-radius:16px;overflow:hidden}.ft-activity-list__header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #F3F4F6}.ft-activity-list__title{font-size:16px;font-weight:600}.ft-activity-list__empty{padding:24px;text-align:center;color:#6B7280}.ft-streak{display:inline-flex;align-items:center;gap:4px}.ft-streak__icon{font-size:20px;line-height:1}.ft-streak__count{font-size:18px;font-weight:700;color:#FF6B35;font-variant-numeric:tabular-nums}.ft-streak__label{font-size:14px;color:#6B7280}.ft-streak--at-risk .ft-streak__icon{animation:pulse 1s ease-in-out infinite;color:#F59E0B}.ft-streak--at-risk .ft-streak__count{color:#F59E0B}.ft-streak--broken .ft-streak__icon{opacity:0.3;filter:grayscale(1)}.ft-streak--broken .ft-streak__count{color:#9CA3AF;text-decoration:line-through}.ft-streak--growing .ft-streak__icon{animation:bounce 0.5s ease-out}.ft-streak--growing .ft-streak__count{animation:countUp 0.5s ease-out}.ft-streak--compact{gap:2px}.ft-streak--compact .ft-streak__icon{font-size:16px}.ft-streak--compact .ft-streak__count{font-size:14px}.ft-streak--compact .ft-streak__label{display:none}.ft-streak--lg{gap:8px}.ft-streak--lg .ft-streak__icon{font-size:28px}.ft-streak--lg .ft-streak__count{font-size:24px}.ft-streak--lg .ft-streak__label{font-size:16px}.ft-streak--hero{flex-direction:column;gap:12px;text-align:center}.ft-streak--hero .ft-streak__icon{font-size:64px}.ft-streak--hero .ft-streak__count{font-size:48px}.ft-streak--hero .ft-streak__label{font-size:18px}.ft-streak-calendar{display:grid;grid-template-columns:repeat(7, 1fr);gap:4px}.ft-streak-calendar__day{display:flex;align-items:center;justify-content:center;aspect-ratio:1;border-radius:6px;font-size:11px;color:#6B7280;background:#F3F4F6}.ft-streak-calendar__day--active{background:#FF6B35;color:white}.ft-streak-calendar__day--today{border:2px solid #FF6B35;background:white}.ft-streak-calendar__day--today.ft-streak-calendar__day--active{border-color:transparent}.ft-streak-calendar__day--break{background:#FEE2E2;color:#EF4444}.ft-streak-calendar__day--future{background:transparent;color:#D1D5DB}.ft-streak-calendar__header{grid-column:1 / -1;display:flex;justify-content:space-between;margin-bottom:4px;font-size:10px;text-transform:uppercase;color:#9CA3AF}.ft-streak-milestone{display:flex;flex-direction:column;align-items:center;padding:24px;text-align:center;background:linear-gradient(135deg, #FFFBEB, #FFF5F2);border-radius:24px}.ft-streak-milestone__icon{font-size:48px;margin-bottom:12px;animation:bounce 0.5s ease-out}.ft-streak-milestone__count{font-size:64px;font-weight:700;color:#FF6B35;line-height:1}.ft-streak-milestone__label{font-size:14px;text-transform:uppercase;letter-spacing:1px;color:#6B7280;margin-top:4px}.ft-streak-milestone__message{margin-top:12px;font-size:18px;font-weight:600;color:#1F2937}.ft-streak-milestone__badge{margin-top:16px}.share-widget{background:linear-gradient(135deg, #1F2937 0%, #111827 100%);color:white}.share-widget .widget-title{color:white}.share-buttons{display:flex;gap:8px;margin-bottom:12px}.share-btn{flex:1;display:flex;align-items:center;justify-content:center;padding:12px;border-radius:10px;border:none;cursor:pointer;transition:all 0.2s ease}.share-btn:hover{transform:translateY(-2px)}.share-btn--strava{background:#FC4C02;color:white}.share-btn--twitter{background:#1DA1F2;color:white}.share-btn--facebook{background:#1877F2;color:white}.share-btn--copy{background:rgba(255,255,255,0.1);color:white}.share-btn--copy:hover{background:rgba(255,255,255,0.2)}.share-preview{padding:12px;background:rgba(255,255,255,0.05);border-radius:10px}.share-preview-card{display:flex;flex-direction:column;gap:4px}.share-preview-badge{font-size:12px;color:#FFD93D}.share-preview-text{font-size:14px;color:rgba(255,255,255,0.9)}.share-feedback{margin-top:12px;padding:8px 12px;background:rgba(78,205,196,0.2);color:#4ECDC4;border-radius:6px;font-size:13px;text-align:center;animation:slideIn 0.3s ease}.share-feedback.fade-out{animation:fadeOut 0.3s ease;opacity:0}@keyframes slideIn{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeOut{from{opacity:1}to{opacity:0}}.pr-history-list{display:flex;flex-direction:column;gap:var(--space-2)}.pr-history-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--color-bg);border-radius:var(--radius-md)}.pr-history-item--current{background:linear-gradient(135deg, rgba(255,217,61,0.15) 0%, rgba(255,217,61,0.05) 100%);border:1px solid rgba(255,217,61,0.3)}.pr-history-rank{position:relative;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.rank-number{font-family:var(--font-display);font-weight:700;color:var(--color-text-secondary)}.pr-crown{position:absolute;top:-8px;right:-4px;font-size:0.75rem}.pr-history-info{flex:1;min-width:0}.pr-history-time{display:block;font-family:var(--font-mono);font-weight:600;color:var(--color-text)}.pr-history-race{font-size:0.75rem;color:var(--color-text-muted)}.pr-history-badge{font-size:0.6875rem;font-weight:600;padding:var(--space-1) var(--space-2);background:var(--color-primary);color:white;border-radius:var(--radius-sm)}.widget-empty-state{display:flex;flex-direction:column;align-items:center;padding:var(--space-6) var(--space-4);text-align:center}.empty-state-illustration{position:relative;width:80px;height:80px;margin-bottom:var(--space-4)}.empty-state-content{margin-bottom:var(--space-4)}.empty-state-title{font-family:var(--font-display);font-size:1rem;font-weight:600;color:var(--color-text);margin:0 0 var(--space-2) 0;letter-spacing:-0.01em}.empty-state-description{font-size:0.8125rem;color:var(--color-text-secondary);margin:0;line-height:1.5;max-width:200px}.empty-state-cta{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-family:var(--font-body);font-size:0.8125rem;font-weight:600;color:white;background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);border:none;border-radius:var(--radius-full);text-decoration:none;cursor:pointer;transition:all var(--transition-normal);box-shadow:0 2px 8px rgba(255,107,53,0.3)}.empty-state-cta svg{transition:transform var(--transition-fast)}.empty-state-cta:hover{transform:translateY(-1px);box-shadow:0 4px 16px rgba(255,107,53,0.4)}.empty-state-cta:hover svg{transform:translateX(3px)}.empty-state-cta:active{transform:translateY(0)}.empty-state-cta--teal{background:linear-gradient(135deg, var(--color-teal) 0%, var(--color-teal-dark) 100%);box-shadow:0 2px 8px rgba(78,205,196,0.3)}.empty-state-cta--teal:hover{box-shadow:0 4px 16px rgba(78,205,196,0.4)}.empty-state-cta--teal svg{transition:transform var(--transition-fast)}.empty-state-cta--teal:hover svg{transform:scale(1.1)}.widget-empty-state--goals .empty-state-illustration{display:flex;align-items:center;justify-content:center}.widget-empty-state--goals .target-ring{position:absolute;border-radius:50%;border:2px solid transparent}.widget-empty-state--goals .target-ring--outer{width:80px;height:80px;border-color:rgba(255,107,53,0.15);animation:pulse-ring 3s ease-in-out infinite}.widget-empty-state--goals .target-ring--middle{width:56px;height:56px;border-color:rgba(255,107,53,0.25);animation:pulse-ring 3s ease-in-out infinite 0.5s}.widget-empty-state--goals .target-ring--inner{width:32px;height:32px;border-color:rgba(255,107,53,0.4);animation:pulse-ring 3s ease-in-out infinite 1s}.widget-empty-state--goals .target-center{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:linear-gradient(135deg, var(--color-primary-light) 0%, rgba(255,107,53,0.1) 100%);border-radius:50%;color:var(--color-primary)}.widget-empty-state--goals .target-center svg{animation:check-bounce 2s ease-in-out infinite}@keyframes pulse-ring{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.08);opacity:0.7}}@keyframes check-bounce{0%,100%{transform:scale(1)}50%{transform:scale(1.1)}}.widget-empty-state--friends .empty-state-illustration{display:flex;align-items:center;justify-content:center}.widget-empty-state--friends .runners-group{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%}.widget-empty-state--friends .runner-silhouette{position:absolute;display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--color-gray-100);border-radius:50%;border:2px solid white;box-shadow:0 2px 8px rgba(0,0,0,0.08)}.widget-empty-state--friends .runner-silhouette svg{width:18px;height:18px;color:var(--color-gray-400)}.widget-empty-state--friends .runner-silhouette--1{left:50%;top:50%;transform:translate(-50%, -50%);z-index:3;width:40px;height:40px;background:linear-gradient(135deg, var(--color-teal-light) 0%, rgba(78,205,196,0.2) 100%);border-color:var(--color-teal);animation:float-center 3s ease-in-out infinite}.widget-empty-state--friends .runner-silhouette--1 svg{width:20px;height:20px;color:var(--color-teal)}.widget-empty-state--friends .runner-silhouette--2{left:8px;top:50%;transform:translateY(-50%);z-index:2;animation:float-left 3s ease-in-out infinite 0.3s}.widget-empty-state--friends .runner-silhouette--3{right:8px;top:50%;transform:translateY(-50%);z-index:2;animation:float-right 3s ease-in-out infinite 0.6s}.widget-empty-state--friends .connection-lines{position:absolute;width:100%;height:100%;pointer-events:none}.widget-empty-state--friends .connection-dot{position:absolute;width:4px;height:4px;background:var(--color-teal);border-radius:50%;opacity:0}.widget-empty-state--friends .connection-dot--1{left:30%;top:50%;animation:dot-pulse 2s ease-in-out infinite}.widget-empty-state--friends .connection-dot--2{left:50%;top:35%;animation:dot-pulse 2s ease-in-out infinite 0.4s}.widget-empty-state--friends .connection-dot--3{right:30%;top:50%;animation:dot-pulse 2s ease-in-out infinite 0.8s}@keyframes float-center{0%,100%{transform:translate(-50%, -50%)}50%{transform:translate(-50%, calc(-50% - 3px))}}@keyframes float-left{0%,100%{transform:translateY(-50%)}50%{transform:translateY(calc(-50% + 2px))}}@keyframes float-right{0%,100%{transform:translateY(-50%)}50%{transform:translateY(calc(-50% - 2px))}}@keyframes dot-pulse{0%,100%{opacity:0;transform:scale(0.5)}50%{opacity:1;transform:scale(1)}}.sidebar-widget--strava{background:#FFFFFF;border-radius:16px;padding:16px;margin-top:12px}.sidebar-widget--strava .widget-title{font-size:14px;font-weight:600;color:#1F2937;margin-bottom:12px;text-transform:uppercase;letter-spacing:0.5px}.strava-status{display:flex;align-items:center;gap:8px;margin-bottom:12px}.strava-logo{width:24px;height:24px;color:#FC4C02;flex-shrink:0}.strava-logo--muted{color:#9CA3AF}.strava-info{display:flex;flex-direction:column;gap:2px}.strava-label{font-size:14px;font-weight:600;color:#1F2937}.strava-state{display:flex;align-items:center;gap:4px;font-size:12px}.strava-state--connected{color:#10B981}.strava-state--connected svg{width:12px;height:12px}.strava-state--disconnected{color:#6B7280}.strava-details{margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,0.08)}.strava-details .strava-athlete{font-size:14px;font-weight:500;color:#1F2937;margin:0 0 4px}.strava-details .strava-meta,.strava-details .strava-sync-time{font-size:12px;color:#6B7280;margin:0}.strava-details .strava-sync-time{margin-top:2px}.strava-actions{display:flex;gap:8px;margin-bottom:8px}.strava-actions form{flex:1}.strava-actions .ft-btn{width:100%}.strava-actions .strava-disconnect{flex:0 0 auto;width:auto;color:#6B7280}.strava-actions .strava-disconnect:hover{color:#EF4444}.strava-syncing{display:flex;align-items:center;gap:8px;padding:8px;background:rgba(252,76,2,0.1);border-radius:6px;font-size:12px;color:#FC4C02}.strava-syncing .sync-spinner{width:14px;height:14px;border:2px solid rgba(252,76,2,0.3);border-top-color:#FC4C02;border-radius:50%;animation:spin 1s linear infinite}.strava-error{display:flex;align-items:flex-start;gap:4px;padding:8px;background:rgba(239,68,68,0.1);border-radius:6px;font-size:12px;color:#EF4444}.strava-error svg{flex-shrink:0;margin-top:1px}.strava-reauth-banner{display:flex;align-items:center;gap:8px;padding:8px 12px;margin-bottom:12px;background:rgba(252,76,2,0.1);border:1px solid rgba(252,76,2,0.25);border-radius:6px}.strava-reauth-banner>.fa-triangle-exclamation{color:#FC4C02;font-size:14px;flex-shrink:0}.strava-reauth-banner .strava-reauth-text{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.strava-reauth-banner .strava-reauth-title{font-size:13px;font-weight:600;color:#1F2937}.strava-reauth-banner .strava-reauth-detail{font-size:12px;color:#6B7280}.strava-reauth-banner .btn-strava-reauth{flex-shrink:0;background:#FC4C02;color:#fff;border:none;font-weight:600;font-size:12px}.strava-reauth-banner .btn-strava-reauth:hover{background:#d44002;color:#fff}.ft-btn--strava{display:inline-flex;align-items:center;justify-content:center;gap:4px;background:#FC4C02;color:white;border:none;font-weight:600}.ft-btn--strava:hover{background:#d44002;color:white}.ft-btn--strava svg{width:16px;height:16px}.widget-note{font-size:12px;color:#6B7280;margin:8px 0 0;text-align:center}@keyframes spin{to{transform:rotate(360deg)}}.streak-widget,.widget.streak-widget{text-align:center;background:linear-gradient(135deg, #1F2937 0%, #111827 100%) !important;color:white;padding:var(--space-5);border-radius:var(--radius-lg)}.streak-challenge-title{font-family:var(--font-display);font-size:1rem;font-weight:700;color:white;margin:0 0 var(--space-3) 0;text-align:center;text-transform:none !important;letter-spacing:-0.01em}.streak-flames{font-size:2rem;margin-bottom:var(--space-2);animation:pulse-flame 2s ease-in-out infinite}@keyframes pulse-flame{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:0.9}}.streak-count{margin-bottom:var(--space-3)}.streak-number{font-family:var(--font-display);font-size:3.5rem;font-weight:800;line-height:1;background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-gold) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.streak-label{display:block;font-size:0.875rem;font-weight:600;letter-spacing:0.1em;color:rgba(255,255,255,0.6);margin-top:var(--space-1)}.streak-meta{display:flex;justify-content:space-between;font-size:0.75rem;color:rgba(255,255,255,0.5);margin-bottom:var(--space-4);padding-top:var(--space-3);border-top:1px solid rgba(255,255,255,0.1)}.streak-status{display:flex;align-items:center;justify-content:center;gap:var(--space-2);font-size:0.875rem;font-weight:500;color:rgba(255,255,255,0.7);margin-top:var(--space-3)}.streak-status.logged{color:#10B981}.streak-status.logged svg{color:#10B981}.streak-status a{color:var(--color-primary);text-decoration:none}.streak-status a:hover{text-decoration:underline}.streak-link{color:var(--color-primary);text-decoration:none;font-weight:500}.streak-link:hover{text-decoration:underline}.streak-footer-link{display:flex;align-items:center;justify-content:space-between;margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid rgba(255,255,255,0.1);text-decoration:none;transition:opacity 0.2s}.streak-footer-link:hover{opacity:0.8}.participant-avatars{display:flex;align-items:center}.participant-avatars img{width:24px;height:24px;border-radius:50%;border:2px solid #1F2937;margin-left:-6px;object-fit:cover}.participant-avatars img:first-child{margin-left:0}.participant-avatars .more-count{display:flex;align-items:center;justify-content:center;height:24px;padding:0 8px;background:rgba(255,255,255,0.15);border-radius:12px;margin-left:-4px;font-size:0.625rem;font-weight:600;color:rgba(255,255,255,0.7)}.view-challenge-text{font-size:0.75rem;font-weight:500;color:rgba(255,255,255,0.6)}.profile-completion-widget .widget-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.profile-completion-widget .completion-percentage{font-size:14px;font-weight:700;color:#FF6B35}.profile-completion-widget .completion-progress{margin-bottom:16px}.profile-completion-widget .progress-bar{height:6px;background:#E5E7EB;border-radius:3px;overflow:hidden}.profile-completion-widget .progress-fill{height:100%;background:#FF6B35;border-radius:3px;transition:width 0.3s ease}.profile-completion-widget .completion-checklist{list-style:none;padding:0;margin:0}.profile-completion-widget .checklist-item{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid #E5E7EB}.profile-completion-widget .checklist-item:last-child{border-bottom:none}.profile-completion-widget .checklist-item.completed .checklist-icon{color:#10B981}.profile-completion-widget .checklist-item.completed .checklist-label{color:#4B5563;text-decoration:line-through}.profile-completion-widget .checklist-icon{flex-shrink:0;color:#9CA3AF}.profile-completion-widget .checklist-label{flex:1;font-size:13px;color:#1F2937}.profile-completion-widget .checklist-action{font-size:12px;font-weight:600;color:#FF6B35;text-decoration:none}.profile-completion-widget .checklist-action:hover{text-decoration:underline}.ft-input,.ft-select,.ft-textarea{width:100%;height:48px;padding:0 12px;border:1px solid #E5E7EB;border-radius:10px;font-family:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;font-size:16px;color:#1F2937;background:#FFFFFF;transition:border-color 0.2s ease, box-shadow 0.2s ease}.ft-input::placeholder,.ft-select::placeholder,.ft-textarea::placeholder{color:#9CA3AF}.ft-input:focus,.ft-select:focus,.ft-textarea:focus{outline:none;border-color:#FF6B35;box-shadow:0 0 0 3px rgba(255,107,53,0.2)}.ft-input:disabled,.ft-select:disabled,.ft-textarea:disabled,.ft-input.is-disabled,.is-disabled.ft-select,.is-disabled.ft-textarea{background:#F3F4F6;color:#9CA3AF;cursor:not-allowed}.ft-input:read-only,.ft-select:read-only,.ft-textarea:read-only{background:#F9FAFB}.ft-input--error,.ft-input.is-error,.is-error.ft-select,.is-error.ft-textarea{border-color:#EF4444}.ft-input--error:focus,.ft-input.is-error:focus,.is-error.ft-select:focus,.is-error.ft-textarea:focus{box-shadow:0 0 0 3px rgba(239,68,68,0.2)}.ft-input--success,.ft-input.is-success,.is-success.ft-select,.is-success.ft-textarea{border-color:#10B981}.ft-input--success:focus,.ft-input.is-success:focus,.is-success.ft-select:focus,.is-success.ft-textarea:focus{box-shadow:0 0 0 3px rgba(16,185,129,0.2)}.ft-input--sm{height:36px;font-size:14px;padding:0 8px}.ft-input--lg{height:56px;font-size:18px;padding:0 16px}.ft-input--with-icon-left{padding-left:44px}.ft-input--with-icon-right{padding-right:44px}.ft-textarea{height:auto;min-height:100px;padding:12px;resize:vertical;line-height:1.5}.ft-textarea--no-resize{resize:none}.ft-textarea--auto-grow{overflow:hidden;resize:none}.ft-input-wrapper{position:relative;display:block}.ft-input-wrapper__icon{position:absolute;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:44px;height:100%;color:#9CA3AF;pointer-events:none}.ft-input-wrapper__icon svg{width:20px;height:20px}.ft-input-wrapper__icon--left{left:0}.ft-input-wrapper__icon--right{right:0}.ft-input-wrapper__icon--clickable{pointer-events:auto;cursor:pointer}.ft-input-wrapper__icon--clickable:hover{color:#1F2937}.ft-input-wrapper__addon{position:absolute;top:50%;transform:translateY(-50%);padding:0 12px;font-size:14px;color:#6B7280}.ft-input-wrapper__addon--left{left:0}.ft-input-wrapper__addon--right{right:0}.ft-number-input{display:flex;align-items:center}.ft-number-input .ft-input,.ft-number-input .ft-select,.ft-number-input .ft-textarea{text-align:center;border-radius:0;-moz-appearance:textfield}.ft-number-input .ft-input::-webkit-outer-spin-button,.ft-number-input .ft-select::-webkit-outer-spin-button,.ft-number-input .ft-textarea::-webkit-outer-spin-button,.ft-number-input .ft-input::-webkit-inner-spin-button,.ft-number-input .ft-select::-webkit-inner-spin-button,.ft-number-input .ft-textarea::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.ft-number-input__btn{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border:1px solid #E5E7EB;background:#F9FAFB;color:#1F2937;cursor:pointer;transition:background 0.2s ease}.ft-number-input__btn:hover{background:#F3F4F6}.ft-number-input__btn:active{background:#E5E7EB}.ft-number-input__btn--decrement{border-radius:10px 0 0 10px;border-right:none}.ft-number-input__btn--increment{border-radius:0 10px 10px 0;border-left:none}.ft-number-input__btn svg{width:16px;height:16px}.ft-search-input{position:relative}.ft-search-input .ft-input,.ft-search-input .ft-select,.ft-search-input .ft-textarea{padding-left:44px;padding-right:44px;border-radius:9999px}.ft-search-input__icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#9CA3AF}.ft-search-input__icon svg{width:20px;height:20px}.ft-search-input__clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;color:#9CA3AF;cursor:pointer;opacity:0;transition:opacity 0.2s ease, background 0.2s ease}.ft-search-input__clear:hover{background:#F3F4F6;color:#1F2937}.ft-search-input__clear svg{width:16px;height:16px}.ft-search-input.has-value .ft-search-input__clear{opacity:1}.ft-form-group{margin-bottom:12px}.ft-form-group:last-child{margin-bottom:0}.ft-form-group__label{display:block;margin-bottom:4px;font-size:14px;font-weight:500;color:#1F2937}.ft-form-group__label .required{color:#EF4444;margin-left:2px}.ft-form-group__hint{margin-top:4px;font-size:13px;color:#6B7280}.ft-form-group__error{margin-top:4px;font-size:13px;color:#EF4444;display:flex;align-items:center;gap:4px}.ft-form-group__error svg{width:14px;height:14px}.ft-form-group__counter{margin-top:4px;font-size:12px;color:#9CA3AF;text-align:right}.ft-form-group__counter--over{color:#EF4444}.ft-form-group--inline{display:flex;align-items:center;gap:12px}.ft-form-group--inline .ft-form-group__label{margin-bottom:0;flex-shrink:0;width:120px}.ft-form-group--error .ft-form-group__label{color:#EF4444}.ft-select{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='%236B7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px;cursor:pointer}.ft-select:disabled{cursor:not-allowed}.ft-select[multiple]{height:auto;min-height:100px;padding:8px;background-image:none}.ft-select[multiple] option{padding:4px 8px;border-radius:6px}.ft-select[multiple] option:checked{background:#FFF5F2;color:#FF6B35}.ft-checkbox,.ft-radio{display:flex;align-items:flex-start;gap:8px;cursor:pointer}.ft-checkbox__input,.ft-radio__input{flex-shrink:0;width:20px;height:20px;margin-top:2px;border:2px solid #E5E7EB;background:#FFFFFF;cursor:pointer;transition:all 0.2s ease}.ft-checkbox__input:checked,.ft-radio__input:checked{border-color:#FF6B35;background:#FF6B35}.ft-checkbox__input:focus,.ft-radio__input:focus{outline:none;box-shadow:0 0 0 3px rgba(255,107,53,0.2)}.ft-checkbox__input:disabled,.ft-radio__input:disabled{opacity:0.5;cursor:not-allowed}.ft-checkbox__label,.ft-radio__label{font-size:14px;color:#1F2937;line-height:1.4}.ft-checkbox__description,.ft-radio__description{font-size:13px;color:#6B7280;margin-top:2px}.ft-checkbox__input{border-radius:6px}.ft-checkbox__input:checked{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center}.ft-radio__input{border-radius:50%}.ft-radio__input:checked{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10'%3E%3Ccircle cx='5' cy='5' r='5' fill='white'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center}.ft-checkbox-group,.ft-radio-group{display:flex;flex-direction:column;gap:8px}.ft-checkbox-group--horizontal,.ft-radio-group--horizontal{flex-direction:row;flex-wrap:wrap;gap:12px}.ft-slider{width:100%;height:8px;appearance:none;background:#E5E7EB;border-radius:9999px;cursor:pointer}.ft-slider::-webkit-slider-thumb{appearance:none;width:20px;height:20px;background:#FF6B35;border-radius:50%;cursor:grab;transition:transform 0.2s ease, box-shadow 0.2s ease}.ft-slider::-webkit-slider-thumb:hover{transform:scale(1.1);box-shadow:0 0 0 4px rgba(255,107,53,0.2)}.ft-slider::-webkit-slider-thumb:active{cursor:grabbing;transform:scale(1.05)}.ft-slider::-moz-range-thumb{width:20px;height:20px;background:#FF6B35;border:none;border-radius:50%;cursor:grab}.ft-slider::-moz-range-track{background:#E5E7EB;border-radius:9999px;height:8px}.ft-slider:focus{outline:none}.ft-slider:focus::-webkit-slider-thumb{box-shadow:0 0 0 4px rgba(255,107,53,0.2)}.ft-slider:disabled{opacity:0.5;cursor:not-allowed}.ft-slider:disabled::-webkit-slider-thumb{cursor:not-allowed}.ft-slider-wrapper__header{display:flex;justify-content:space-between;margin-bottom:4px}.ft-slider-wrapper__label{font-size:14px;color:#1F2937}.ft-slider-wrapper__value{font-size:14px;font-weight:600;color:#FF6B35}.ft-slider-wrapper__footer{display:flex;justify-content:space-between;margin-top:4px;font-size:12px;color:#9CA3AF}.ft-toggle{display:flex;align-items:center;gap:8px;cursor:pointer}.ft-toggle__input{position:relative;width:48px;height:26px;background:#D1D5DB;border-radius:9999px;cursor:pointer;transition:background 0.2s ease}.ft-toggle__input::after{content:'';position:absolute;top:3px;left:3px;width:20px;height:20px;background:white;border-radius:50%;box-shadow:0 1px 3px rgba(0,0,0,0.2);transition:transform 0.2s ease}.ft-toggle__input:checked{background:#FF6B35}.ft-toggle__input:checked::after{transform:translateX(22px)}.ft-toggle__input:focus{outline:none;box-shadow:0 0 0 3px rgba(255,107,53,0.2)}.ft-toggle__input:disabled{opacity:0.5;cursor:not-allowed}.ft-toggle__label{font-size:14px;color:#1F2937}.ft-modal{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:300;opacity:0;visibility:hidden;transition:opacity 0.2s ease, visibility 0.2s ease}.ft-modal.is-open{opacity:1;visibility:visible}.ft-modal.is-open .ft-modal__container{transform:translateY(0)}.ft-modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,0.5);backdrop-filter:blur(4px);z-index:-1}.ft-modal__container{position:relative;width:100%;max-width:560px;max-height:90vh;margin:12px;background:#FFFFFF;border-radius:24px;box-shadow:0 20px 40px rgba(0,0,0,0.2);overflow:hidden;transform:translateY(20px);transition:transform 0.2s ease;display:flex;flex-direction:column}.ft-modal__header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid #F3F4F6;flex-shrink:0}.ft-modal__title{font-size:20px;font-weight:600;color:#1F2937;margin:0}.ft-modal__subtitle{font-size:14px;color:#6B7280;margin-top:2px}.ft-modal__close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:10px;background:transparent;color:#6B7280;cursor:pointer;transition:background 0.2s ease, color 0.2s ease}.ft-modal__close:hover{background:#F3F4F6;color:#1F2937}.ft-modal__close svg{width:20px;height:20px}.ft-modal__body{padding:16px;overflow-y:auto;flex:1}.ft-modal__body::-webkit-scrollbar{width:6px}.ft-modal__body::-webkit-scrollbar-track{background:transparent}.ft-modal__body::-webkit-scrollbar-thumb{background:#D1D5DB;border-radius:3px}.ft-modal__body--flush{padding:0}.ft-modal__body--compact{padding:12px}.ft-modal__footer{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:16px;border-top:1px solid #F3F4F6;background:#F9FAFB;flex-shrink:0}.ft-modal__footer--spread{justify-content:space-between}.ft-modal__footer--center{justify-content:center}.ft-modal__footer--stack{flex-direction:column}.ft-modal__footer--stack .ft-btn{width:100%}.ft-modal--sm .ft-modal__container{max-width:400px}.ft-modal--lg .ft-modal__container{max-width:720px}.ft-modal--xl .ft-modal__container{max-width:960px}.ft-modal--full .ft-modal__container{max-width:100%;max-height:100vh;margin:0;border-radius:0}.ft-modal--top{align-items:flex-start;padding-top:48px}.ft-modal--bottom{align-items:flex-end}.ft-modal--bottom .ft-modal__container{margin-bottom:0;border-radius:24px 24px 0 0;transform:translateY(100%)}.ft-modal--bottom.is-open .ft-modal__container{transform:translateY(0)}@media (max-width: 639px){.ft-modal .ft-modal__container{margin:0;max-height:100vh;border-radius:0}.ft-modal--mobile-sheet{align-items:flex-end}.ft-modal--mobile-sheet .ft-modal__container{border-radius:24px 24px 0 0;max-height:90vh}}body.modal-open{overflow:hidden}.ft-modal-confirm{text-align:center;padding:24px 16px}.ft-modal-confirm__icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;margin:0 auto 16px;border-radius:50%}.ft-modal-confirm__icon svg{width:32px;height:32px}.ft-modal-confirm__icon--warning{background:#FEF3C7;color:#F59E0B}.ft-modal-confirm__icon--error{background:#FEE2E2;color:#EF4444}.ft-modal-confirm__icon--success{background:#D1FAE5;color:#10B981}.ft-modal-confirm__icon--info{background:#DBEAFE;color:#3B82F6}.ft-modal-confirm__title{font-size:20px;font-weight:600;color:#1F2937;margin-bottom:8px}.ft-modal-confirm__message{font-size:14px;color:#6B7280;line-height:1.5}.ft-modal-confirm__actions{display:flex;justify-content:center;gap:8px;margin-top:24px}.ft-modal-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px;text-align:center}.ft-modal-loading__spinner{width:48px;height:48px;border:3px solid #E5E7EB;border-top-color:#FF6B35;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.ft-modal-loading__text{font-size:14px;color:#6B7280}.ft-modal-tabs{display:flex;border-bottom:1px solid #F3F4F6;padding:0 16px;overflow-x:auto;flex-shrink:0;-ms-overflow-style:none;scrollbar-width:none}.ft-modal-tabs::-webkit-scrollbar{display:none}.ft-modal-tabs__tab{display:flex;align-items:center;gap:4px;padding:12px 16px;font-size:14px;font-weight:500;color:#6B7280;border:none;background:transparent;border-bottom:2px solid transparent;cursor:pointer;white-space:nowrap;transition:all 0.2s ease}.ft-modal-tabs__tab:hover{color:#1F2937}.ft-modal-tabs__tab.is-active{color:#FF6B35;border-bottom-color:#FF6B35}.ft-modal-tabs__tab svg{width:16px;height:16px}@media (max-width: 639px){.ft-modal-tabs{padding:0 12px}.ft-modal-tabs__tab{padding:8px 12px}.ft-modal-tabs__tab span{display:none}.ft-modal-tabs__tab svg{width:20px;height:20px}}.ft-modal-panel{display:none}.ft-modal-panel.is-active{display:block}.ft-modal-steps{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;border-bottom:1px solid #F3F4F6}.ft-modal-steps__step{display:flex;align-items:center;gap:8px}.ft-modal-steps__step-number{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;font-size:12px;font-weight:600;background:#E5E7EB;color:#6B7280;transition:all 0.2s ease}.ft-modal-steps__step-label{font-size:14px;color:#6B7280;transition:color 0.2s ease}@media (max-width: 639px){.ft-modal-steps__step-label{display:none}}.ft-modal-steps__step.is-active .ft-modal-steps__step-number{background:#FF6B35;color:white}.ft-modal-steps__step.is-active .ft-modal-steps__step-label{color:#1F2937;font-weight:500}.ft-modal-steps__step.is-completed .ft-modal-steps__step-number{background:#10B981;color:white}.ft-modal-steps__step.is-completed .ft-modal-steps__step-number::before{content:'✓'}.ft-modal-steps__step.is-completed .ft-modal-steps__step-label{color:#10B981}.ft-modal-steps__connector{width:32px;height:2px;background:#E5E7EB;transition:background 0.2s ease}.ft-modal-steps__connector.is-active{background:#FF6B35}@media (max-width: 639px){.ft-modal-steps__connector{width:16px}}.ft-modal-section{margin-bottom:24px}.ft-modal-section:last-child{margin-bottom:0}.ft-modal-section__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.ft-modal-section__title{font-size:16px;font-weight:600;color:#1F2937}.ft-modal-section__description{font-size:14px;color:#6B7280;margin-bottom:12px}.ft-modal-section__divider{height:1px;background:#F3F4F6;margin:24px 0}.ft-modal-form-grid{display:grid;gap:12px}.ft-modal-form-grid--2-col{grid-template-columns:repeat(2, 1fr)}@media (max-width: 639px){.ft-modal-form-grid--2-col{grid-template-columns:1fr}}.ft-modal-form-grid--3-col{grid-template-columns:repeat(3, 1fr)}@media (max-width: 639px){.ft-modal-form-grid--3-col{grid-template-columns:1fr}}.ft-modal-form-full{grid-column:1 / -1}.ft-modal-image-upload{display:flex;align-items:center;gap:16px}.ft-modal-image-upload__preview{flex-shrink:0}.ft-modal-image-upload__content{flex:1}.ft-modal-image-upload__title{font-size:14px;font-weight:500;color:#1F2937;margin-bottom:4px}.ft-modal-image-upload__hint{font-size:13px;color:#6B7280;margin-bottom:8px}.ft-modal-image-upload__actions{display:flex;gap:8px}.ft-modal-image-upload__input{display:none}.ft-modal-setting{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid #F3F4F6}.ft-modal-setting:last-child{border-bottom:none}.ft-modal-setting__content{flex:1;padding-right:12px}.ft-modal-setting__title{font-size:14px;font-weight:500;color:#1F2937}.ft-modal-setting__description{font-size:13px;color:#6B7280;margin-top:2px}.ft-modal-setting__action{flex-shrink:0}:root{--tier-rookie: #2AB673;--tier-explorer: #00B4D8;--tier-pacer: #FF6B35;--tier-trailblazer: #DC143C;--tier-bronze: #CD7F32;--tier-silver: #A8A9AD;--tier-gold: #F2B300;--tier-platinum: #E5E4E2;--tier-obsidian: #434343;--tier-diamond: #7DD3FC}.race-modal-overlay,.goal-modal-overlay,.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.5);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;opacity:0;visibility:hidden;transition:opacity 0.3s, visibility 0.3s}.race-modal-overlay.active,.goal-modal-overlay.active,.modal-overlay.active{opacity:1;visibility:visible}.race-modal,.goal-modal,.review-modal{background:#FFFFFF;border-radius:24px;width:100%;max-width:540px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 60px rgba(0,0,0,0.2);transform:scale(0.95) translateY(20px);transition:transform 0.3s}.active .race-modal,.active .goal-modal,.active .review-modal{transform:scale(1) translateY(0)}.modal-header{padding:24px;border-bottom:1px solid #E5E7EB;position:relative}.modal-header .modal-header-bg{position:absolute;inset:0;background:linear-gradient(135deg, #FF6B35, #e83e00);opacity:0.1}.modal-header .modal-header-content{position:relative;display:flex;align-items:flex-start;gap:12px}.modal-header .modal-icon{width:48px;height:48px;background:rgba(255,107,53,0.1);border-radius:16px;display:flex;align-items:center;justify-content:center;color:#FF6B35;flex-shrink:0}.modal-header .modal-titles{flex:1}.modal-header .modal-title{font-size:24px;font-weight:700;color:#1F2937;margin:0 0 4px 0}.modal-header .modal-subtitle{font-size:14px;color:#6B7280;margin:0}.modal-close{position:absolute;top:16px;right:16px;width:32px;height:32px;border:none;background:transparent;color:#9CA3AF;cursor:pointer;border-radius:10px;display:flex;align-items:center;justify-content:center;transition:color 0.2s, background 0.2s}.modal-close:hover{color:#1F2937;background:#F3F4F6}.form-progress{display:flex;align-items:center;justify-content:center;padding:16px 24px;border-bottom:1px solid #E5E7EB;background:#F3F4F6}.progress-step{display:flex;align-items:center;gap:8px}.progress-step .step-number{width:28px;height:28px;border-radius:9999px;background:#E5E7EB;color:#9CA3AF;font-size:14px;font-weight:600;display:flex;align-items:center;justify-content:center;transition:background 0.2s, color 0.2s}.progress-step .step-label{font-size:14px;color:#9CA3AF;transition:color 0.2s}@media (max-width: 480px){.progress-step .step-label{display:none}}.progress-step.active .step-number{background:#FF6B35;color:#FFFFFF}.progress-step.active .step-label{color:#1F2937}.progress-step.completed .step-number{background:#10B981;color:#FFFFFF}.progress-connector{width:40px;height:2px;background:#E5E7EB;margin:0 8px}@media (max-width: 480px){.progress-connector{width:24px}}.modal-body{padding:24px;overflow-y:auto;flex:1}.form-section{display:none}.form-section.active{display:block}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.section-header .section-title{font-size:18px;font-weight:600;color:#1F2937;margin:0}.section-header .section-badge{font-size:12px;font-weight:600;padding:4px 8px;border-radius:9999px;background:rgba(255,107,53,0.1);color:#FF6B35}.section-header .section-badge.optional{background:#F3F4F6;color:#9CA3AF}.form-group{margin-bottom:16px}.form-group:last-child{margin-bottom:0}.form-label{display:block;font-size:14px;font-weight:500;color:#1F2937;margin-bottom:8px}.required-star{color:#EF4444}.input-wrapper{position:relative}.input-wrapper .input-icon{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:#9CA3AF;pointer-events:none}.form-input,.form-select,.form-textarea{width:100%;padding:12px;border:1px solid #E5E7EB;border-radius:10px;font-size:16px;color:#1F2937;background:#FFFFFF;transition:border-color 0.2s, box-shadow 0.2s}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:#FF6B35;box-shadow:0 0 0 3px rgba(255,107,53,0.1)}.form-input::placeholder,.form-select::placeholder,.form-textarea::placeholder{color:#9CA3AF}.form-input.compact,.compact.form-select,.compact.form-textarea{padding:8px 12px}.form-textarea{resize:vertical;min-height:100px}.form-row{display:grid;grid-template-columns:2fr 1fr;gap:12px}.select-wrapper{position:relative}.select-wrapper .select-arrow{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:#9CA3AF;pointer-events:none}.form-select{appearance:none;padding-right:32px;cursor:pointer}.field-error{display:block;font-size:12px;color:#EF4444;margin-top:4px}.distance-presets{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px}.distance-presets .preset-label{font-size:14px;color:#9CA3AF}.preset-btn,.preset-chip{padding:4px 12px;border:1px solid #E5E7EB;border-radius:9999px;background:#FFFFFF;font-size:14px;font-weight:500;color:#6B7280;cursor:pointer;transition:all 0.2s}.preset-btn:hover,.preset-chip:hover{border-color:#FF6B35;color:#FF6B35}.preset-btn.active,.preset-chip.active{background:#FF6B35;border-color:#FF6B35;color:#FFFFFF}.time-input-group{display:flex;align-items:center;gap:4px}.time-segment{display:flex;flex-direction:column;align-items:center;gap:4px}.time-segment .time-input{width:60px;padding:12px;text-align:center;font-size:24px;font-weight:700;font-variant-numeric:tabular-nums;border:1px solid #E5E7EB;border-radius:10px}.time-segment .time-input:focus{border-color:#FF6B35;outline:none}.time-segment .time-label{font-size:12px;color:#9CA3AF}.time-separator{font-size:24px;font-weight:700;color:#9CA3AF;margin-top:-16px}.placement-grid{display:grid;grid-template-columns:repeat(4, 1fr);gap:12px}@media (max-width: 560px){.placement-grid{grid-template-columns:repeat(2, 1fr)}}.star-rating{display:flex;gap:4px}.star-rating .star-btn{padding:0;border:none;background:none;cursor:pointer;color:#E5E7EB;transition:color 0.2s, transform 0.2s}.star-rating .star-btn:hover{transform:scale(1.1)}.star-rating .star-btn.active,.star-rating .star-btn:hover{color:#FF6B35}.goal-type-selector{display:flex;flex-direction:column;gap:8px}.goal-type-option{display:flex;align-items:center;padding:12px;border:2px solid #E5E7EB;border-radius:16px;cursor:pointer;transition:border-color 0.2s, background 0.2s}.goal-type-option input[type="radio"]{display:none}.goal-type-option .option-content{display:flex;align-items:center;gap:12px;flex:1}.goal-type-option .option-icon{font-size:24px}.goal-type-option .option-text .option-label{display:block;font-weight:600;color:#1F2937}.goal-type-option .option-text .option-desc{display:block;font-size:14px;color:#6B7280}.goal-type-option:hover{border-color:#FF6B35}.goal-type-option.selected{border-color:#FF6B35;background:rgba(255,107,53,0.05)}.goal-input-section{margin-top:16px;padding:16px;background:#F3F4F6;border-radius:16px}.time-presets{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.pace-calculator{display:flex;align-items:center;gap:8px;margin-top:12px;padding:12px;background:#FFFFFF;border-radius:10px}.pace-calculator .calculator-label{font-size:14px;color:#6B7280}.pace-calculator .pace-result{font-size:18px;font-weight:700;color:#FF6B35;font-variant-numeric:tabular-nums}.pace-calculator .pace-unit{font-size:14px;color:#9CA3AF}.effort-slider-container .effort-slider{width:100%;margin-bottom:12px}.effort-slider-container .effort-labels{display:flex;justify-content:space-between}.effort-slider-container .effort-label{display:flex;flex-direction:column;align-items:center;gap:4px;opacity:0.5;transition:opacity 0.2s}.effort-slider-container .effort-label.active{opacity:1}.effort-slider-container .effort-label .effort-emoji{font-size:24px}.effort-slider-container .effort-label .effort-text{font-size:12px;color:#6B7280}.goal-tags{display:flex;flex-wrap:wrap;gap:8px}.goal-tag{display:flex;align-items:center;gap:4px;padding:8px 12px;border:1px solid #E5E7EB;border-radius:9999px;cursor:pointer;transition:all 0.2s}.goal-tag input[type="checkbox"]{display:none}.goal-tag .tag-icon{font-size:16px}.goal-tag .tag-label{font-size:14px;color:#6B7280}.goal-tag:hover{border-color:#FF6B35}.goal-tag.selected{background:rgba(255,107,53,0.1);border-color:#FF6B35}.goal-tag.selected .tag-label{color:#FF6B35}.modal-footer{padding:16px 24px;border-top:1px solid #E5E7EB;display:flex;justify-content:space-between;align-items:center;background:#F3F4F6}.footer-nav,.footer-actions{display:flex;gap:8px}.footer-stats .claimed-count{display:flex;align-items:center;gap:4px;font-size:14px;color:#6B7280}.footer-stats .claimed-count svg{color:#10B981}.results-list{display:flex;flex-direction:column;gap:12px}.result-card{border:1px solid #E5E7EB;border-radius:16px;padding:16px;position:relative;transition:all 0.3s}.result-card.claimed{border-color:#10B981;background:rgba(16,185,129,0.05)}.result-card.claimed .claimed-badge{display:flex}.result-card.claimed .result-actions{display:none}.result-card.dismissed{opacity:0;transform:translateX(-100%);pointer-events:none}.result-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.result-info .result-name{font-size:16px;font-weight:600;color:#1F2937;margin:0 0 4px 0}.result-info .result-meta{font-size:14px;color:#6B7280}.result-info .result-meta span{margin-right:4px}.result-stats{display:grid;grid-template-columns:repeat(4, 1fr);gap:12px;margin-bottom:16px}.result-stats .stat{text-align:center}.result-stats .stat .stat-value{display:block;font-size:18px;font-weight:700;color:#1F2937}.result-stats .stat .stat-label{display:block;font-size:12px;color:#9CA3AF}.result-actions{display:flex;gap:8px}.btn-claim{flex:1;display:flex;align-items:center;justify-content:center;gap:4px;padding:8px 12px;background:#FF6B35;color:#FFFFFF;border:none;border-radius:10px;font-weight:500;cursor:pointer;transition:background 0.2s}.btn-claim:hover{background:#ff4602}.btn-dismiss{display:flex;align-items:center;justify-content:center;gap:4px;padding:8px 12px;background:transparent;color:#6B7280;border:1px solid #E5E7EB;border-radius:10px;cursor:pointer;transition:all 0.2s}.btn-dismiss:hover{border-color:#EF4444;color:#EF4444}.claimed-badge{display:none;position:absolute;inset:0;background:rgba(255,255,255,0.9);align-items:center;justify-content:center;gap:8px;font-weight:600;color:#10B981;border-radius:16px}.mob-plus-section{margin-top:24px;padding:16px;background:linear-gradient(135deg, rgba(255,107,53,0.05), rgba(255,107,53,0.1));border-radius:16px;border:1px solid rgba(255,107,53,0.2)}.mob-plus-section .mob-plus-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.mob-plus-section .mob-plus-badge{padding:4px 8px;background:#FF6B35;color:#FFFFFF;font-size:12px;font-weight:700;border-radius:6px}.mob-plus-section .mob-plus-title{font-size:16px;font-weight:600;color:#1F2937;margin:0}.mob-plus-section .mob-plus-description{font-size:14px;color:#6B7280;margin:0 0 12px 0}.mob-plus-section .mob-plus-description .searches-remaining{display:block;color:#FF6B35;font-weight:500}.search-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;background:#FFFFFF;border:1px solid #FF6B35;color:#FF6B35;border-radius:10px;font-weight:500;cursor:pointer;transition:all 0.2s}.search-btn:hover:not(.disabled){background:#FF6B35;color:#FFFFFF}.search-btn.disabled{opacity:0.5;cursor:not-allowed}.confetti-canvas{position:fixed;inset:0;pointer-events:none;z-index:1001}.race-context .race-badge{display:inline-block;padding:4px 8px;background:rgba(255,107,53,0.2);color:#FF6B35;font-size:12px;font-weight:600;border-radius:9999px;margin-bottom:8px}.race-context .race-name{font-size:24px;font-weight:700;color:#1F2937;margin:0 0 8px 0}.race-context .race-details{font-size:14px;color:#6B7280}.race-context .race-details span{margin-right:4px}.delete-confirmation{position:absolute;inset:0;background:rgba(255,255,255,0.95);display:flex;align-items:center;justify-content:center;z-index:10}.delete-confirmation .confirm-card{text-align:center;padding:24px}.delete-confirmation .confirm-card h3{font-size:18px;color:#1F2937;margin:0 0 8px 0}.delete-confirmation .confirm-card p{font-size:14px;color:#6B7280;margin:0 0 16px 0}.delete-confirmation .confirm-actions{display:flex;gap:8px;justify-content:center}.btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:8px 16px;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all 0.2s ease;white-space:nowrap;text-decoration:none;border:none}.btn:disabled{opacity:0.5;cursor:not-allowed}.btn-primary{background:#FF6B35;color:#FFFFFF}.btn-primary:hover:not(:disabled){background:#ff4602}.btn-outline{background:transparent;color:#6B7280;border:1px solid #E5E7EB}.btn-outline:hover:not(:disabled){border-color:#6B7280;color:#1F2937}.btn-danger{background:#EF4444;color:#FFFFFF;border:none}.btn-danger:hover:not(:disabled){background:#eb1515}.form-hint{font-size:12px;color:#9CA3AF;margin-top:8px}.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%) translateY(100px);padding:12px 16px;background:#1F2937;color:#FFFFFF;border-radius:10px;font-size:14px;font-weight:500;z-index:2000;opacity:0;transition:transform 0.3s ease, opacity 0.3s ease}.toast.show{transform:translateX(-50%) translateY(0);opacity:1}.toast--success{background:#10B981}.toast--error{background:#EF4444}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes fadeInUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeOut{from{opacity:1}to{opacity:0}}@keyframes pulse{0%,100%{opacity:1}50%{opacity:0.5}}@keyframes pulseScale{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes bounce{0%,100%{transform:translateY(0)}25%{transform:translateY(-10px)}50%{transform:translateY(-5px)}75%{transform:translateY(-2px)}}@keyframes bounceIn{0%{opacity:0;transform:scale(0.3)}50%{transform:scale(1.05)}70%{transform:scale(0.9)}100%{opacity:1;transform:scale(1)}}@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}@keyframes shake{0%,100%{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-5px)}20%,40%,60%,80%{transform:translateX(5px)}}@keyframes countUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes confetti{0%{transform:translateY(0) rotate(0deg);opacity:1}100%{transform:translateY(100vh) rotate(720deg);opacity:0}}@keyframes confettiFall{0%{transform:translateY(0) rotate(0deg);opacity:1}100%{transform:translateY(100vh) rotate(720deg);opacity:0}}@keyframes slideOut{to{opacity:0;transform:translateX(-30px)}}@keyframes slideOutReverse{to{opacity:0;transform:translateX(30px)}}@keyframes slideInReverse{from{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInRight{from{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes slideInLeft{from{transform:translateX(-100%);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes scaleUp{from{transform:scale(0.95);opacity:0}to{transform:scale(1);opacity:1}}@keyframes ring{0%,100%{transform:rotate(0)}10%,30%{transform:rotate(15deg)}20%,40%{transform:rotate(-15deg)}50%{transform:rotate(0)}}@keyframes glowPulse{0%,100%{box-shadow:0 0 0 0 rgba(255,107,53,0.4)}50%{box-shadow:0 0 0 10px rgba(255,107,53,0)}}@keyframes floatUp{0%{opacity:1;transform:translateY(0) scale(1)}100%{opacity:0;transform:translateY(-50px) scale(1.5)}}@keyframes slideIn{from{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}.animate-fade-in{animation:fadeIn 0.3s ease-out}.animate-fade-in-up{animation:fadeInUp 0.4s ease-out}.animate-fade-in-down{animation:fadeInDown 0.4s ease-out}.animate-fade-out{animation:fadeOut 0.3s ease-out forwards}.animate-pulse{animation:pulse 1s ease-in-out infinite}.animate-pulse-scale{animation:pulseScale 2s ease-in-out infinite}.animate-bounce{animation:bounce 0.5s ease-out}.animate-bounce-in{animation:bounceIn 0.6s ease-out}.animate-spin{animation:spin 1s linear infinite}.animate-shake{animation:shake 0.5s ease-out}.animate-count-up{animation:countUp 0.5s ease-out}.animate-slide-in-right{animation:slideInRight 0.3s ease-out}.animate-slide-in-left{animation:slideInLeft 0.3s ease-out}.animate-scale-up{animation:scaleUp 0.3s ease-out}.animate-ring{animation:ring 1s ease}.animate-glow{animation:glowPulse 2s ease-in-out infinite}.animate-in{animation:slideIn 0.4s ease forwards}.animate-delay-1{animation-delay:0.1s}.animate-delay-2{animation-delay:0.2s}.animate-delay-3{animation-delay:0.3s}.animate-delay-4{animation-delay:0.4s}.animate-delay-5{animation-delay:0.5s}.animate-delay-6{animation-delay:0.6s}.animate-delay-7{animation-delay:0.7s}.animate-delay-8{animation-delay:0.8s}.animate-delay-9{animation-delay:0.9s}.animate-delay-10{animation-delay:1s}.animate-delay-500{animation-delay:0.5s}.animate-delay-1000{animation-delay:1s}.animate-delay-1500{animation-delay:1.5s}.animate-delay-2000{animation-delay:2s}.animate-fast{animation-duration:0.15s}.animate-normal{animation-duration:0.3s}.animate-slow{animation-duration:0.5s}.animate-slower{animation-duration:1s}.animate-fill-forwards{animation-fill-mode:forwards}.animate-fill-backwards{animation-fill-mode:backwards}.animate-fill-both{animation-fill-mode:both}.animate-infinite{animation-iteration-count:infinite}.animate-once{animation-iteration-count:1}.animate-twice{animation-iteration-count:2}.transition-none{transition:none}.transition-all{transition:all 0.2s ease}.transition-colors{transition:color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease}.transition-opacity{transition:opacity 0.2s ease}.transition-transform{transition:transform 0.2s ease}.transition-shadow{transition:box-shadow 0.2s ease}.transition-fast{transition-duration:0.1s}.transition-normal{transition-duration:0.2s}.transition-slow{transition-duration:0.3s}@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}}.mt-xs{margin-top:4px !important}.mb-xs{margin-bottom:4px !important}.ml-xs{margin-left:4px !important}.mr-xs{margin-right:4px !important}.mx-xs{margin-left:4px !important;margin-right:4px !important}.my-xs{margin-top:4px !important;margin-bottom:4px !important}.m-xs{margin:4px !important}.pt-xs{padding-top:4px !important}.pb-xs{padding-bottom:4px !important}.pl-xs{padding-left:4px !important}.pr-xs{padding-right:4px !important}.px-xs{padding-left:4px !important;padding-right:4px !important}.py-xs{padding-top:4px !important;padding-bottom:4px !important}.p-xs{padding:4px !important}.gap-xs{gap:4px !important}.mt-sm{margin-top:8px !important}.mb-sm{margin-bottom:8px !important}.ml-sm{margin-left:8px !important}.mr-sm{margin-right:8px !important}.mx-sm{margin-left:8px !important;margin-right:8px !important}.my-sm{margin-top:8px !important;margin-bottom:8px !important}.m-sm{margin:8px !important}.pt-sm{padding-top:8px !important}.pb-sm{padding-bottom:8px !important}.pl-sm{padding-left:8px !important}.pr-sm{padding-right:8px !important}.px-sm{padding-left:8px !important;padding-right:8px !important}.py-sm{padding-top:8px !important;padding-bottom:8px !important}.p-sm{padding:8px !important}.gap-sm{gap:8px !important}.mt-md{margin-top:12px !important}.mb-md{margin-bottom:12px !important}.ml-md{margin-left:12px !important}.mr-md{margin-right:12px !important}.mx-md{margin-left:12px !important;margin-right:12px !important}.my-md{margin-top:12px !important;margin-bottom:12px !important}.m-md{margin:12px !important}.pt-md{padding-top:12px !important}.pb-md{padding-bottom:12px !important}.pl-md{padding-left:12px !important}.pr-md{padding-right:12px !important}.px-md{padding-left:12px !important;padding-right:12px !important}.py-md{padding-top:12px !important;padding-bottom:12px !important}.p-md{padding:12px !important}.gap-md{gap:12px !important}.mt-lg{margin-top:16px !important}.mb-lg{margin-bottom:16px !important}.ml-lg{margin-left:16px !important}.mr-lg{margin-right:16px !important}.mx-lg{margin-left:16px !important;margin-right:16px !important}.my-lg{margin-top:16px !important;margin-bottom:16px !important}.m-lg{margin:16px !important}.pt-lg{padding-top:16px !important}.pb-lg{padding-bottom:16px !important}.pl-lg{padding-left:16px !important}.pr-lg{padding-right:16px !important}.px-lg{padding-left:16px !important;padding-right:16px !important}.py-lg{padding-top:16px !important;padding-bottom:16px !important}.p-lg{padding:16px !important}.gap-lg{gap:16px !important}.mt-xl{margin-top:24px !important}.mb-xl{margin-bottom:24px !important}.ml-xl{margin-left:24px !important}.mr-xl{margin-right:24px !important}.mx-xl{margin-left:24px !important;margin-right:24px !important}.my-xl{margin-top:24px !important;margin-bottom:24px !important}.m-xl{margin:24px !important}.pt-xl{padding-top:24px !important}.pb-xl{padding-bottom:24px !important}.pl-xl{padding-left:24px !important}.pr-xl{padding-right:24px !important}.px-xl{padding-left:24px !important;padding-right:24px !important}.py-xl{padding-top:24px !important;padding-bottom:24px !important}.p-xl{padding:24px !important}.gap-xl{gap:24px !important}.mt-xxl{margin-top:48px !important}.mb-xxl{margin-bottom:48px !important}.ml-xxl{margin-left:48px !important}.mr-xxl{margin-right:48px !important}.mx-xxl{margin-left:48px !important;margin-right:48px !important}.my-xxl{margin-top:48px !important;margin-bottom:48px !important}.m-xxl{margin:48px !important}.pt-xxl{padding-top:48px !important}.pb-xxl{padding-bottom:48px !important}.pl-xxl{padding-left:48px !important}.pr-xxl{padding-right:48px !important}.px-xxl{padding-left:48px !important;padding-right:48px !important}.py-xxl{padding-top:48px !important;padding-bottom:48px !important}.p-xxl{padding:48px !important}.gap-xxl{gap:48px !important}.mx-auto{margin-left:auto !important;margin-right:auto !important}.ml-auto{margin-left:auto !important}.mr-auto{margin-right:auto !important}.m-0{margin:0 !important}.p-0{padding:0 !important}.mt-0{margin-top:0 !important}.mb-0{margin-bottom:0 !important}.d-none{display:none !important}.d-block{display:block !important}.d-inline{display:inline !important}.d-inline-block{display:inline-block !important}.d-flex{display:flex !important}.d-inline-flex{display:inline-flex !important}.d-grid{display:grid !important}.visible{visibility:visible !important}.invisible{visibility:hidden !important}.data-section.visible,.xp-section.visible,.device-section.visible,.social-section.visible{opacity:1 !important;transform:translateY(0) !important}.opacity-0{opacity:0 !important}.opacity-50{opacity:0.5 !important}.opacity-100{opacity:1 !important}.flex-row{flex-direction:row !important}.flex-column{flex-direction:column !important}.flex-row-reverse{flex-direction:row-reverse !important}.flex-column-reverse{flex-direction:column-reverse !important}.flex-wrap{flex-wrap:wrap !important}.flex-nowrap{flex-wrap:nowrap !important}.items-start{align-items:flex-start !important}.items-center{align-items:center !important}.items-end{align-items:flex-end !important}.items-stretch{align-items:stretch !important}.items-baseline{align-items:baseline !important}.justify-start{justify-content:flex-start !important}.justify-center{justify-content:center !important}.justify-end{justify-content:flex-end !important}.justify-between{justify-content:space-between !important}.justify-around{justify-content:space-around !important}.self-start{align-self:flex-start !important}.self-center{align-self:center !important}.self-end{align-self:flex-end !important}.self-stretch{align-self:stretch !important}.flex-1{flex:1 1 0% !important}.flex-auto{flex:1 1 auto !important}.flex-none{flex:none !important}.flex-grow{flex-grow:1 !important}.flex-shrink-0{flex-shrink:0 !important}.text-left{text-align:left !important}.text-center{text-align:center !important}.text-right{text-align:right !important}.text-uppercase{text-transform:uppercase !important}.text-lowercase{text-transform:lowercase !important}.text-capitalize{text-transform:capitalize !important}.text-normal-case{text-transform:none !important}.text-underline{text-decoration:underline !important}.text-line-through{text-decoration:line-through !important}.text-no-underline{text-decoration:none !important}.text-truncate{overflow:hidden !important;text-overflow:ellipsis !important;white-space:nowrap !important}.text-break{word-break:break-word !important;overflow-wrap:break-word !important}.whitespace-normal{white-space:normal !important}.whitespace-nowrap{white-space:nowrap !important}.whitespace-pre{white-space:pre !important}.whitespace-pre-wrap{white-space:pre-wrap !important}.text-primary{color:#FF6B35 !important}.text-secondary{color:#6B7280 !important}.text-muted{color:#9CA3AF !important}.text-success{color:#10B981 !important}.text-warning{color:#F59E0B !important}.text-error{color:#EF4444 !important}.text-info{color:#3B82F6 !important}.text-white{color:white !important}.text-inherit{color:inherit !important}.bg-primary{background-color:#FF6B35 !important}.bg-primary-light{background-color:#FFF5F2 !important}.bg-surface{background-color:#FFFFFF !important}.bg-gray-50{background-color:#F9FAFB !important}.bg-gray-100{background-color:#F3F4F6 !important}.bg-success-light{background-color:#D1FAE5 !important}.bg-warning-light{background-color:#FEF3C7 !important}.bg-error-light{background-color:#FEE2E2 !important}.bg-transparent{background-color:transparent !important}.w-full{width:100% !important}.w-auto{width:auto !important}.w-50{width:50% !important}.min-w-0{min-width:0 !important}.max-w-full{max-width:100% !important}.h-full{height:100% !important}.h-auto{height:auto !important}.h-screen{height:100vh !important}.min-h-0{min-height:0 !important}.min-h-screen{min-height:100vh !important}.relative{position:relative !important}.absolute{position:absolute !important}.fixed{position:fixed !important}.sticky{position:sticky !important}.static{position:static !important}.inset-0{inset:0 !important}.top-0{top:0 !important}.right-0{right:0 !important}.bottom-0{bottom:0 !important}.left-0{left:0 !important}.border{border:1px solid #E5E7EB !important}.border-0{border:0 !important}.border-t{border-top:1px solid #E5E7EB !important}.border-b{border-bottom:1px solid #E5E7EB !important}.border-l{border-left:1px solid #E5E7EB !important}.border-r{border-right:1px solid #E5E7EB !important}.rounded{border-radius:10px !important}.rounded-sm{border-radius:6px !important}.rounded-lg{border-radius:16px !important}.rounded-xl{border-radius:24px !important}.rounded-full{border-radius:9999px !important}.rounded-0{border-radius:0 !important}.shadow-none{box-shadow:none !important}.shadow-sm{box-shadow:0 1px 2px rgba(0,0,0,0.05) !important}.shadow{box-shadow:0 1px 3px rgba(0,0,0,0.1) !important}.shadow-md{box-shadow:0 4px 6px rgba(0,0,0,0.1) !important}.shadow-lg{box-shadow:0 10px 15px rgba(0,0,0,0.1) !important}.shadow-xl{box-shadow:0 20px 25px rgba(0,0,0,0.1) !important}.overflow-auto{overflow:auto !important}.overflow-hidden{overflow:hidden !important}.overflow-visible{overflow:visible !important}.overflow-scroll{overflow:scroll !important}.overflow-x-auto{overflow-x:auto !important}.overflow-y-auto{overflow-y:auto !important}.overflow-x-hidden{overflow-x:hidden !important}.overflow-y-hidden{overflow-y:hidden !important}.cursor-default{cursor:default !important}.cursor-pointer{cursor:pointer !important}.cursor-not-allowed{cursor:not-allowed !important}.cursor-grab{cursor:grab !important}.cursor-grabbing{cursor:grabbing !important}.pointer-events-none{pointer-events:none !important}.pointer-events-auto{pointer-events:auto !important}.select-none{user-select:none !important}.select-text{user-select:text !important}.select-all{user-select:all !important}@media (max-width: 639px){.hide-mobile{display:none !important}}@media (min-width: 640px) and (max-width: 1023px){.hide-tablet{display:none !important}}@media (min-width: 1024px){.hide-desktop{display:none !important}}.show-mobile{display:none !important}@media (max-width: 639px){.show-mobile{display:block !important}}.show-tablet{display:none !important}@media (min-width: 640px) and (max-width: 1023px){.show-tablet{display:block !important}}.show-desktop{display:none !important}@media (min-width: 1024px){.show-desktop{display:block !important}}.sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border:0 !important}.user-avatar-wrapper{position:relative;flex-shrink:0;display:inline-block}.user-avatar{border-radius:9999px;border:none;position:relative;z-index:1;display:block;object-fit:cover}.user-avatar-link{display:inline-block;text-decoration:none}.user-avatar-wrapper.avatar-sm{width:32px;height:32px}.user-avatar-wrapper.avatar-sm .user-avatar{width:32px;height:32px}.user-avatar-wrapper.avatar-sm.tier-border .user-avatar{width:115%;height:115%;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);clip-path:circle(43% at center)}.user-avatar-wrapper.avatar-sm .avatar-level-badge{min-width:16px;height:16px;font-size:0.625rem}.user-avatar-wrapper.avatar-widget{width:44px;height:44px}.user-avatar-wrapper.avatar-widget .user-avatar{width:44px;height:44px}.user-avatar-wrapper.avatar-widget.tier-border .user-avatar{width:115%;height:115%;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);clip-path:circle(43% at center)}.user-avatar-wrapper.avatar-widget .avatar-level-badge{min-width:18px;height:18px;font-size:0.65rem}.user-avatar-wrapper.avatar-md{width:48px;height:48px}.user-avatar-wrapper.avatar-md .user-avatar{width:48px;height:48px}.user-avatar-wrapper.avatar-md.tier-border .user-avatar{width:115%;height:115%;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);clip-path:circle(43% at center)}.user-avatar-wrapper.avatar-md .avatar-level-badge{min-width:20px;height:20px;font-size:0.6875rem}.user-avatar-wrapper.avatar-lg{width:80px;height:80px}.user-avatar-wrapper.avatar-lg .user-avatar{width:80px;height:80px}.user-avatar-wrapper.avatar-lg.tier-border .user-avatar{width:115%;height:115%;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);clip-path:circle(43% at center)}.user-avatar-wrapper.avatar-lg .avatar-level-badge{min-width:28px;height:28px;font-size:0.75rem}.user-avatar-wrapper.avatar-xl{width:120px;height:120px}.user-avatar-wrapper.avatar-xl .user-avatar{width:120px;height:120px}.user-avatar-wrapper.avatar-xl.tier-border .user-avatar{width:115%;height:115%;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);clip-path:circle(43% at center)}.user-avatar-wrapper.avatar-xl .avatar-level-badge{min-width:36px;height:36px;font-size:0.875rem}.user-avatar-wrapper.tier-border{position:relative}.user-avatar-wrapper.tier-border::after{content:'';position:absolute;inset:-12%;width:124%;height:124%;background-size:contain;background-repeat:no-repeat;background-position:center;pointer-events:none;z-index:0}.user-avatar-wrapper.tier-border--rookie::after{background-image:url(/assets/fitness_tracker/tier-borders/racemob-medal-border-metal-novice-static-bf6c5fe649e38e247fb8f3cccfbda4c84f8f17897632aef9bf444195232faa62.svg)}.user-avatar-wrapper.tier-border--explorer::after{background-image:url(/assets/fitness_tracker/tier-borders/racemob-medal-border-metal-expert-static-de310dcca5a180b468ed156c25743770aa8c67802e1e6b47e68b8fd086694ff4.svg)}.user-avatar-wrapper.tier-border--pacer::after{background-image:url(/assets/fitness_tracker/tier-borders/racemob-medal-border-metal-pro-static-04763feb4978321f2c9422978caffd8717c92eaf721c30bcc336dd38ff64ef40.svg)}.user-avatar-wrapper.tier-border--trailblazer::after{background-image:url(/assets/fitness_tracker/tier-borders/racemob-medal-border-metal-crimson-static-475d8e970ae9a34d4aadc8f06dc7ef6bd0ae364f8e73fbdddb355d34863c623f.svg)}.user-avatar-wrapper.tier-border--bronze::after{background-image:url(/assets/fitness_tracker/tier-borders/racemob-medal-border-metal-bronze-static-fdb869f64b2c184043a54b3ba960dec86cbb0d0049168ed20c3ae6dbb5f7dd48.svg)}.user-avatar-wrapper.tier-border--silver::after{background-image:url(/assets/fitness_tracker/tier-borders/racemob-medal-border-metal-silver-static-a1716cc6f710b7d2ec466612127a58bab1f5f4fdb3772865cbb9442a7d365ecc.svg)}.user-avatar-wrapper.tier-border--gold::after{background-image:url(/assets/fitness_tracker/tier-borders/racemob-medal-border-metal-gold-static-debf32bd9b8c62fff7ca1397159d316d3c982aac7d4a9f76e97a8e8e8e1c18d6.svg)}.user-avatar-wrapper.tier-border--platinum::after{background-image:url(/assets/fitness_tracker/tier-borders/racemob-medal-border-metal-platinum-static-f94aebb57608be8f62e4a9a70c8ff1ab88ca1c74b754a0d0c4ed52ea76147477.svg)}.user-avatar-wrapper.tier-border--obsidian::after{background-image:url(/assets/fitness_tracker/tier-borders/racemob-medal-border-metal-obsidian-static-0de16a46adb9bc42024a60b8cd8d901473aab3938b3005137441f10106f25127.svg)}.user-avatar-wrapper.tier-border--diamond::after{background-image:url(/assets/fitness_tracker/tier-borders/racemob-medal-border-metal-diamond-static-6399ccf0193ceb7a862d1ec13d4d57cd3dd601119da65a170f162600634327da.svg)}.user-avatar-wrapper.tier-border--rookie::after{background-color:transparent}.user-avatar-wrapper.tier-border--explorer::after{background-color:transparent}.user-avatar-wrapper.tier-border--pacer::after{background-color:transparent}.user-avatar-wrapper.tier-border--trailblazer::after{background-color:transparent}.user-avatar-wrapper.tier-border--bronze::after{background-color:transparent}.user-avatar-wrapper.tier-border--silver::after{background-color:transparent}.user-avatar-wrapper.tier-border--gold::after{background-color:transparent}.user-avatar-wrapper.tier-border--platinum::after{background-color:transparent}.user-avatar-wrapper.tier-border--obsidian::after{background-color:transparent}.user-avatar-wrapper.tier-border--diamond::after{background-color:transparent}.avatar-level-badge{position:absolute;bottom:-2px;right:-2px;padding:0 4px;background:linear-gradient(135deg, #FFD93D 0%, #E5B800 100%);color:#1a1a1a;font-family:"Clash Display", -apple-system, BlinkMacSystemFont, sans-serif;font-weight:700;display:flex;align-items:center;justify-content:center;border-radius:9999px;border:2px solid #1F2937;box-shadow:0 2px 6px rgba(0,0,0,0.3);z-index:2}.avatar-level-badge--rookie{background:linear-gradient(135deg, #2AB673 0%, #0B5D3B 100%);color:white}.avatar-level-badge--explorer{background:linear-gradient(135deg, #00B4D8 0%, #0077B6 100%);color:white}.avatar-level-badge--pacer{background:linear-gradient(135deg, #FF8C42 0%, #C75000 100%);color:white}.avatar-level-badge--trailblazer{background:linear-gradient(135deg, #E63946 0%, #9D0208 100%);color:white}.avatar-level-badge--bronze{background:linear-gradient(135deg, #CD7F32 0%, #8b4513 100%);color:white}.avatar-level-badge--silver{background:linear-gradient(135deg, silver 0%, gray 100%);color:#1a1a1a}.avatar-level-badge--gold{background:linear-gradient(135deg, #F2B300 0%, #B86C00 100%);color:#1a1a1a}.avatar-level-badge--platinum{background:linear-gradient(135deg, #E5E4E2 0%, #A8A8A8 100%);color:#1a1a1a}.avatar-level-badge--obsidian{background:linear-gradient(135deg, #434343 0%, #1A1A1A 100%);color:white}.avatar-level-badge--diamond{background:linear-gradient(135deg, #B9F2FF 0%, #7DD3FC 100%);color:#1a1a1a}.profile-hero{position:relative;background:linear-gradient(135deg, #1F2937 0%, #111827 100%);padding:40px 0 32px;overflow:hidden}.profile-hero-bg{position:absolute;inset:0;background:radial-gradient(ellipse at 20% 50%, rgba(255,107,53,0.15) 0%, transparent 50%),radial-gradient(ellipse at 80% 80%, rgba(78,205,196,0.1) 0%, transparent 40%);pointer-events:none}.profile-hero-container{position:relative;width:100%;max-width:1400px;margin:0 auto;padding:0 16px;display:flex;flex-wrap:wrap;align-items:center;gap:24px}@media (min-width: 640px){.profile-hero-container{padding:0 24px}}.profile-main{display:flex;align-items:center;gap:20px;flex-shrink:0}.hero-avatar-edit{position:relative;display:inline-block;padding:0;border:none;background:none;cursor:pointer;-webkit-appearance:none;appearance:none}.hero-avatar-edit__overlay{position:absolute;bottom:2px;left:2px;width:26px;height:26px;border-radius:50%;background:rgba(0,0,0,0.7);color:white;display:flex;align-items:center;justify-content:center;font-size:11px;z-index:3;opacity:0;transition:opacity 0.15s ease;pointer-events:none;border:2px solid #1F2937}.hero-avatar-edit:hover .hero-avatar-edit__overlay,.hero-avatar-edit:focus-visible .hero-avatar-edit__overlay{opacity:1}.profile-avatar-wrapper{position:relative;flex-shrink:0;width:80px;height:80px}.profile-avatar{width:80px;height:80px;border-radius:9999px;border:none;position:relative;z-index:1}.tier-border{position:relative}.tier-border::after{content:'';position:absolute;inset:-8%;width:116%;height:116%;background-size:contain;background-repeat:no-repeat;background-position:center;pointer-events:none;z-index:0}.tier-border--rookie::after{background:linear-gradient(135deg, #45B7A8 0%, #3A9A8C 100%);border-radius:50%;inset:-4px;width:calc(100% + 8px);height:calc(100% + 8px)}.tier-border--explorer::after{background:linear-gradient(135deg, #4ECDC4 0%, #3DBDB5 100%);border-radius:50%;inset:-4px;width:calc(100% + 8px);height:calc(100% + 8px)}.tier-border--pacer::after{background:linear-gradient(135deg, #FF6B35 0%, #E5552A 100%);border-radius:50%;inset:-4px;width:calc(100% + 8px);height:calc(100% + 8px)}.tier-border--trailblazer::after{background:linear-gradient(135deg, crimson 0%, #B01030 100%);border-radius:50%;inset:-4px;width:calc(100% + 8px);height:calc(100% + 8px)}.tier-border--bronze::after{background:linear-gradient(135deg, #CD7F32 0%, #A66628 100%);border-radius:50%;inset:-4px;width:calc(100% + 8px);height:calc(100% + 8px)}.tier-border--silver::after{background:linear-gradient(135deg, #A8A9AD 0%, #8E8F93 100%);border-radius:50%;inset:-4px;width:calc(100% + 8px);height:calc(100% + 8px)}.tier-border--gold::after{background:linear-gradient(135deg, #FFD93D 0%, #E5B800 100%);border-radius:50%;inset:-4px;width:calc(100% + 8px);height:calc(100% + 8px)}.tier-border--platinum::after{background:linear-gradient(135deg, #E5E4E2 0%, #C9C8C6 100%);border-radius:50%;inset:-4px;width:calc(100% + 8px);height:calc(100% + 8px)}.tier-border--obsidian::after{background:linear-gradient(135deg, #3A3A3A 0%, #1A1A1A 100%);border-radius:50%;inset:-4px;width:calc(100% + 8px);height:calc(100% + 8px)}.tier-border--diamond::after{background:linear-gradient(135deg, #B9F2FF 0%, #8ED8E8 100%);border-radius:50%;inset:-4px;width:calc(100% + 8px);height:calc(100% + 8px)}.tier-border>img,.tier-border>.avatar,.tier-border>.profile-avatar{position:relative;z-index:1}.tier-border--sm::after{inset:-10%;width:120%;height:120%}.tier-border--lg::after{inset:-6%;width:112%;height:112%}.profile-level-badge{position:absolute;bottom:-2px;right:-2px;min-width:28px;height:28px;padding:0 4px;background:linear-gradient(135deg, #FFD93D 0%, #E5B800 100%);color:#1a1a1a;font-family:"Clash Display", -apple-system, BlinkMacSystemFont, sans-serif;font-weight:700;font-size:0.75rem;display:flex;align-items:center;justify-content:center;border-radius:9999px;border:2px solid #1F2937;box-shadow:0 2px 6px rgba(0,0,0,0.3);z-index:2}.profile-level-badge--rookie{background:linear-gradient(135deg, #45B7A8 0%, #3A9A8C 100%)}.profile-level-badge--explorer{background:linear-gradient(135deg, #4ECDC4 0%, #3DBDB5 100%)}.profile-level-badge--pacer{background:linear-gradient(135deg, #FF6B35 0%, #E5552A 100%)}.profile-level-badge--trailblazer{background:linear-gradient(135deg, crimson 0%, #B01030 100%);color:white}.profile-level-badge--bronze{background:linear-gradient(135deg, #CD7F32 0%, #A66628 100%)}.profile-level-badge--silver{background:linear-gradient(135deg, #A8A9AD 0%, #8E8F93 100%)}.profile-level-badge--gold{background:linear-gradient(135deg, #FFD93D 0%, #E5B800 100%)}.profile-level-badge--platinum{background:linear-gradient(135deg, #E5E4E2 0%, #C9C8C6 100%)}.profile-level-badge--obsidian{background:linear-gradient(135deg, #3A3A3A 0%, #1A1A1A 100%);color:white}.profile-level-badge--diamond{background:linear-gradient(135deg, #B9F2FF 0%, #8ED8E8 100%)}.profile-info{color:white;flex:1;min-width:0}.profile-name{font-family:"Clash Display", -apple-system, BlinkMacSystemFont, sans-serif;font-size:1.5rem;font-weight:700;margin-bottom:0;line-height:1.2}.profile-handle{color:rgba(255,255,255,0.6);font-size:0.875rem;margin-bottom:8px}.profile-location{display:flex;align-items:center;gap:8px;color:rgba(255,255,255,0.5);font-size:0.875rem}.profile-xp-inline{display:flex;flex-direction:column;gap:4px;width:100%;max-width:400px}.profile-xp-inline .xp-header{display:flex;justify-content:flex-start;align-items:baseline;gap:12px}.profile-xp-inline .xp-tier{font-family:"Clash Display", -apple-system, BlinkMacSystemFont, sans-serif;font-weight:600;font-size:0.75rem;text-transform:uppercase;letter-spacing:0.05em}.profile-xp-inline .xp-numbers{font-family:"Space Mono", "SF Mono", monospace;font-size:0.6875rem;color:rgba(255,255,255,0.5);margin-left:auto}.profile-xp-inline .xp-bar{height:6px;background:rgba(255,255,255,0.1);border-radius:9999px;overflow:hidden}.profile-xp-inline .xp-fill{height:100%;border-radius:9999px;transition:width 0.6s cubic-bezier(0.4, 0, 0.2, 1)}.xp-fill--gold{background:linear-gradient(90deg, #FFD93D 0%, #E5E4E2 100%)}.xp-fill--platinum{background:linear-gradient(90deg, #E5E4E2 0%, #1A1A1A 100%)}.xp-fill--bronze{background:linear-gradient(90deg, #CD7F32 0%, #A8A9AD 100%)}.xp-fill--silver{background:linear-gradient(90deg, #A8A9AD 0%, #FFD93D 100%)}.xp-fill--trailblazer{background:linear-gradient(90deg, crimson 0%, #CD7F32 100%)}.xp-fill--pacer{background:linear-gradient(90deg, #FF6B35 0%, crimson 100%)}.xp-fill--explorer{background:linear-gradient(90deg, #4ECDC4 0%, #FF6B35 100%)}.xp-fill--rookie{background:linear-gradient(90deg, #45B7A8 0%, #4ECDC4 100%)}.profile-stats{display:flex;gap:32px;margin-left:auto;margin-right:32px}.stat-item{text-align:center}.stat-value{display:block;font-family:"Clash Display", -apple-system, BlinkMacSystemFont, sans-serif;font-size:1.5rem;font-weight:700;color:white}.stat-label{display:block;font-size:0.75rem;color:rgba(255,255,255,0.5);text-transform:uppercase;letter-spacing:0.05em;margin-top:4px}.stat-highlight .stat-value{color:#FF6B35}.flame-icon{font-size:1.25rem;animation:pulse-flame 2s ease-in-out infinite}@keyframes pulse-flame{0%,100%{transform:scale(1)}50%{transform:scale(1.1)}}.profile-hero.compact{padding:24px 0}.profile-hero.compact .profile-avatar{width:64px;height:64px}.profile-hero.compact .profile-level-badge{width:28px;height:28px;font-size:0.75rem}.profile-hero.compact .profile-name{font-size:1.25rem}.profile-hero.compact .profile-handle{font-size:0.875rem;margin-bottom:0}.profile-hero.compact .profile-stats{gap:24px}.profile-hero.compact .stat-value{font-size:1.25rem}@media (max-width: 1023px){.profile-hero.compact .profile-hero-container{flex-direction:column;align-items:flex-start;gap:16px}.profile-hero.compact .profile-stats{margin-left:0;margin-right:0}}.profile-nav{background:white;border-bottom:1px solid #E5E7EB;position:sticky;top:56px;z-index:90}.profile-nav-container{width:100%;max-width:1400px;margin:0 auto;padding:0 16px;display:flex;gap:4px;overflow-x:auto;-ms-overflow-style:none;scrollbar-width:none}@media (min-width: 640px){.profile-nav-container{padding:0 24px}}.profile-nav-container::-webkit-scrollbar{display:none}.profile-nav-tab{display:flex;align-items:center;gap:8px;padding:16px 20px;color:#6B7280;font-size:0.9375rem;font-weight:500;border-bottom:3px solid transparent;transition:all 150ms ease-out;white-space:nowrap;text-decoration:none}.profile-nav-tab:hover{color:#1F2937;background:#F3F4F6}.profile-nav-tab.active{color:#FF6B35;border-bottom-color:#FF6B35}.profile-nav-tab svg{opacity:0.7;flex-shrink:0}.profile-nav-tab.active svg{opacity:1}.profile-nav-tab.coming-soon{opacity:0.6;cursor:default;pointer-events:none}.profile-nav-tab.coming-soon .coming-soon-badge{font-size:10px;background:#E5E7EB;color:#4B5563;padding:2px 6px;border-radius:4px;margin-left:4px;text-transform:uppercase;font-weight:600}@media (max-width: 768px){.profile-nav-tab{padding:12px 16px;font-size:0}.profile-nav-tab svg{width:20px;height:20px}.profile-nav-tab.coming-soon .coming-soon-badge{display:none}}.profile-hero{position:relative;background:linear-gradient(135deg, #1F2937 0%, #111827 100%);padding:var(--space-10) 0 var(--space-8);overflow:hidden}.profile-hero.compact{padding:var(--space-6) 0}.profile-hero-bg{position:absolute;inset:0;background:radial-gradient(ellipse at 20% 50%, rgba(255,107,53,0.15) 0%, transparent 50%),radial-gradient(ellipse at 80% 80%, rgba(78,205,196,0.1) 0%, transparent 40%);pointer-events:none}.dashboard{background:var(--color-bg);padding:var(--space-8) 0;min-height:60vh}.dashboard .dashboard-container{width:100%;max-width:var(--container-max-width);margin:0 auto;padding:0 var(--container-padding);display:grid;grid-template-columns:1fr;gap:var(--space-6)}@media (min-width: 1024px){.dashboard .dashboard-container{grid-template-columns:1fr var(--sidebar-width);gap:var(--space-8)}}.dashboard .dashboard-main{grid-column:1;display:flex;flex-direction:column;gap:var(--space-6)}.dashboard .quick-actions-bar{display:flex;gap:var(--space-3);padding:var(--space-4);background:var(--color-white);border-radius:var(--radius-lg);border:1px solid var(--color-border);margin-bottom:var(--space-6);flex-wrap:wrap}@media (max-width: 639px){.dashboard .quick-actions-bar{flex-direction:column}.dashboard .quick-actions-bar .btn{width:100%;min-width:auto}}.dashboard .quick-actions-bar .btn{flex:1 1 auto}.dashboard .action-zone{background:var(--color-white);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-md)}.dashboard .action-zone-content{text-align:center;padding:var(--space-4) 0}.dashboard .action-zone-content h2{font-family:var(--font-display);font-size:1.5rem;font-weight:700;color:var(--color-text);margin-bottom:var(--space-2)}.dashboard .action-zone-content p{color:var(--color-text-secondary);font-size:1rem;margin-bottom:var(--space-6)}.dashboard .action-zone-logged .az-header{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-5)}.dashboard .az-check{width:32px;height:32px;background:linear-gradient(135deg, #10B981 0%, #0c8a60 100%);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;color:var(--color-white)}.dashboard .az-title{font-family:var(--font-display);font-size:1.125rem;font-weight:600;color:var(--color-text)}.dashboard .action-content{text-align:center;padding:var(--space-4) 0}.dashboard .action-title{font-family:var(--font-display);font-size:1.5rem;font-weight:700;color:var(--color-text);margin-bottom:var(--space-2)}.dashboard .action-subtitle{color:var(--color-text-secondary);font-size:1rem;margin-bottom:var(--space-6)}.dashboard .action-buttons{display:flex;gap:var(--space-3);justify-content:center;align-items:center;flex-wrap:wrap}.dashboard .action-buttons .helper-text{color:var(--color-text-muted);font-size:0.875rem}.dashboard .today-summary{display:flex;gap:var(--space-8);justify-content:center;padding:var(--space-4);background:var(--color-border-light);border-radius:var(--radius-md);margin-bottom:var(--space-4)}.dashboard .summary-stat{text-align:center}.dashboard .summary-stat .stat-value{display:block;font-family:var(--font-mono);font-size:1.75rem;font-weight:700;color:var(--color-text)}.dashboard .summary-stat .stat-label{display:block;font-size:0.75rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:0.05em}.dashboard .recent-activities{grid-column:1}.dashboard .activity-list{display:flex;flex-direction:column;gap:var(--space-4)}.dashboard .community-feed{grid-column:1}.dashboard .feed-filters{display:flex;gap:var(--space-2);margin-bottom:var(--space-5)}.dashboard .filter-btn{padding:var(--space-2) var(--space-4);font-size:0.875rem;font-weight:500;color:var(--color-text-secondary);background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-full);transition:all var(--transition-fast);cursor:pointer}.dashboard .filter-btn:hover{background:var(--color-border-light);color:var(--color-text)}.dashboard .filter-btn.active{background:var(--color-primary);color:var(--color-white);border-color:var(--color-primary)}.dashboard .feed-list{display:flex;flex-direction:column;gap:var(--space-5)}.dashboard .load-more{display:flex;align-items:center;justify-content:center;padding:var(--space-4);margin-top:var(--space-5);background:transparent;border:2px dashed var(--color-border);border-radius:var(--radius-lg);color:var(--color-text-secondary);font-weight:500;transition:all var(--transition-normal);cursor:pointer}.dashboard .load-more:hover{border-color:var(--color-primary);color:var(--color-primary);background:rgba(255,107,53,0.05)}.dashboard .dashboard-sidebar{grid-column:2;display:flex;flex-direction:column;gap:var(--space-5)}@media (min-width: 1024px){.dashboard .dashboard-sidebar{position:sticky;top:32px;align-self:start;max-height:calc(100vh - 140px);overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}.dashboard .dashboard-sidebar::-webkit-scrollbar{display:none}}.dashboard .training-plan-widget{background:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden}.dashboard .tpw-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border-light);flex-wrap:wrap;gap:var(--space-3)}.dashboard .tpw-plan-info{display:flex;align-items:center;gap:var(--space-3)}.dashboard .tpw-plan-icon{width:40px;height:40px;background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:var(--color-white)}.dashboard .tpw-plan-title{font-family:var(--font-display);font-size:1.125rem;font-weight:700;color:var(--color-text);margin:0}.dashboard .tpw-plan-meta{font-size:0.8125rem;color:var(--color-text-muted)}.dashboard .tpw-view-toggle{display:flex;background:var(--color-border-light);border-radius:var(--radius-md);padding:3px}.dashboard .tpw-toggle-btn{padding:var(--space-2) var(--space-4);font-family:var(--font-body);font-size:0.8125rem;font-weight:500;color:var(--color-text-secondary);border-radius:calc(var(--radius-md) - 2px);transition:all var(--transition-fast);cursor:pointer;border:none;background:transparent}.dashboard .tpw-toggle-btn:hover{color:var(--color-text)}.dashboard .tpw-toggle-btn.active{background:var(--color-white);color:var(--color-text);box-shadow:var(--shadow-sm)}.dashboard .tpw-view{display:none;padding:var(--space-5)}.dashboard .tpw-view.active{display:block;animation:fadeIn 0.2s ease-out}.dashboard .tpw-today-card{border:2px solid var(--color-primary);border-radius:var(--radius-lg);padding:var(--space-4);background:linear-gradient(135deg, var(--color-primary-light) 0%, transparent 100%)}.dashboard .tpw-no-plan{text-align:center;padding:var(--space-6) var(--space-4)}.dashboard .tpw-no-plan-content{max-width:360px;margin:0 auto}.dashboard .streak-widget{text-align:center}.dashboard .streak-widget .streak-challenge-title{font-size:0.8125rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:0.05em;margin-bottom:var(--space-4)}.dashboard .streak-widget .streak-flames{font-size:3rem;margin-bottom:var(--space-2);display:block;animation:flameFlicker 2s ease-in-out infinite}.dashboard .streak-widget .streak-count{margin-bottom:var(--space-2)}.dashboard .streak-widget .streak-number{font-family:var(--font-display);font-size:2.5rem;font-weight:700;background:linear-gradient(180deg, #fff 0%, #FF6B35 60%, #E55A2B 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-0.02em;display:inline-block}.dashboard .streak-widget .streak-label{font-size:0.875rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:0.05em}.dashboard .streak-widget .streak-status{display:inline-block;padding:var(--space-2) var(--space-4);background:rgba(16,185,129,0.1);color:#10B981;border-radius:var(--radius-full);font-size:0.75rem;font-weight:600;margin-top:var(--space-3)}.dashboard .streak-widget .streak-status.logged{background:rgba(16,185,129,0.15)}.dashboard .streak-widget .participant-avatars{display:flex;justify-content:center;margin:var(--space-4) 0}.dashboard .streak-widget .participant-avatars .avatar{width:32px;height:32px;border-radius:50%;border:2px solid var(--color-white);margin-left:-8px}.dashboard .streak-widget .participant-avatars .avatar:first-child{margin-left:0}.dashboard .streak-widget .participant-avatars .more-count{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--color-border-light);border:2px solid var(--color-white);margin-left:-8px;font-size:0.625rem;font-weight:600;color:var(--color-text-secondary)}.dashboard .streak-widget .streak-footer-link{display:flex;align-items:center;justify-content:center;gap:var(--space-2);margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border);font-size:0.875rem;color:var(--color-primary);font-weight:500;text-decoration:none}.dashboard .streak-widget .streak-footer-link:hover{text-decoration:underline}.dashboard .badges-widget .badges-grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:var(--space-3);margin-bottom:var(--space-4)}.dashboard .badges-widget .badge-item{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-1);background:var(--color-border-light);border-radius:var(--radius-md);padding:var(--space-2);transition:all var(--transition-normal)}.dashboard .badges-widget .badge-item.earned{background:linear-gradient(135deg, rgba(255,217,61,0.15) 0%, rgba(244,168,61,0.1) 100%);cursor:pointer}.dashboard .badges-widget .badge-item.earned:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}.dashboard .badges-widget .badge-item.earned .badge-icon-wrapper{color:#F4A83D}.dashboard .badges-widget .badge-item.locked{opacity:0.5;cursor:default}.dashboard .badges-widget .badge-item.locked .badge-icon-wrapper{color:var(--color-text-muted)}.dashboard .badges-widget .badge-icon-wrapper{width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:1.25rem}.dashboard .badges-widget .badge-name{font-size:0.6875rem;font-weight:500;color:var(--color-text-secondary);text-align:center;line-height:1.2}.dashboard .badges-widget .view-all-badges{display:block;text-align:center;font-size:0.875rem;color:var(--color-primary);font-weight:500;text-decoration:none}.dashboard .badges-widget .view-all-badges:hover{text-decoration:underline}.dashboard .badges-widget.badges-coming-soon .empty-state{text-align:center;padding:12px 0}.dashboard .badges-widget.badges-coming-soon .placeholder-badges{display:flex;justify-content:center;gap:12px;margin-bottom:8px}.dashboard .badges-widget.badges-coming-soon .placeholder-badge{font-size:2rem;opacity:0.4}.dashboard .badges-widget.badges-coming-soon .empty-text{font-size:0.8125rem;color:#6B7280;margin-bottom:4px}.dashboard .badges-widget.badges-coming-soon .coming-soon-label{display:inline-block;font-size:0.6875rem;font-weight:600;text-transform:uppercase;color:#6B7280;background:#F3F4F6;padding:2px 8px;border-radius:4px}.dashboard .strava-widget .strava-status{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4)}.dashboard .strava-widget .strava-logo{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--color-strava);border-radius:var(--radius-md);color:var(--color-white);font-weight:700;font-size:1.25rem}.dashboard .strava-widget .strava-info{flex:1}.dashboard .strava-widget .strava-label{font-size:0.75rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:0.05em}.dashboard .strava-widget .strava-sync{font-size:0.875rem;color:var(--color-text-muted);margin-top:2px}.dashboard .strava-widget.connected .strava-sync{color:#10B981;font-weight:500}.dashboard .strava-widget .btn-full{margin-top:var(--space-4)}@media (max-width: 1023px){.dashboard .dashboard-sidebar{grid-column:1;display:grid;grid-template-columns:repeat(2, 1fr);gap:var(--space-4)}.dashboard .strava-widget{grid-column:1 / -1}}@media (max-width: 640px){.dashboard{padding:var(--space-6) 0}.dashboard .dashboard-sidebar{grid-template-columns:1fr}.dashboard .badges-widget .badges-grid{grid-template-columns:repeat(4, 1fr)}}@keyframes fadeIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes flameFlicker{0%,100%{transform:scale(1) rotate(-2deg);opacity:1}50%{transform:scale(1.05) rotate(2deg);opacity:0.95}}.community-page{padding:16px 12px}@media (min-width: 768px){.community-page{padding:24px 16px}}.community-container{max-width:1400px;margin:0 auto;padding:0;display:grid;grid-template-columns:1fr;gap:24px}@media (min-width: 1024px){.community-container{grid-template-columns:1fr 320px;grid-template-rows:auto 1fr}}.community-container--wide{max-width:1400px;grid-template-columns:1fr}@media (min-width: 1024px){.community-container--wide{grid-template-columns:1fr}}.community-tabs{display:flex;gap:4px;padding:8px;background:#FFFFFF;border-radius:16px}@media (min-width: 768px){.community-tabs{grid-column:1 / -1}}.community-tab{display:flex;align-items:center;gap:8px;padding:10px 16px;border-radius:10px;font-weight:500;font-size:0.9375rem;color:#6B7280;text-decoration:none;transition:all 0.2s ease}.community-tab:hover{color:#1F2937;background:#F3F4F6}.community-tab--active,.community-tab.community-tab--active{color:white;background:#FF6B35}.community-tab--active .tab-icon,.community-tab--active svg,.community-tab.community-tab--active .tab-icon,.community-tab.community-tab--active svg{color:white}.community-tab--active .tab-count,.community-tab.community-tab--active .tab-count{background:rgba(255,255,255,0.2);color:white}.community-tab .tab-icon,.community-tab svg{width:16px;height:16px;color:currentColor;flex-shrink:0}.community-tab .tab-count{font-size:0.75rem;padding:2px 8px;background:#F3F4F6;border-radius:9999px;font-weight:600}.community-main{min-width:0}.about-content{display:flex;flex-direction:column;gap:16px}.about-section{background:#FFFFFF;border-radius:16px;overflow:hidden;padding:16px;box-shadow:0 1px 3px rgba(0,0,0,0.08)}.about-section--running{background:linear-gradient(135deg, rgba(255,107,53,0.05) 0%, transparent 50%)}.about-section--member{background:transparent;text-align:center}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.section-label{font-size:0.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:0.08em;color:#9CA3AF}.section-edit{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;border-radius:9999px;cursor:pointer;transition:all 0.15s ease;color:#9CA3AF}.section-edit:hover{background:#F3F4F6;color:#FF6B35}.section-edit .edit-icon{width:14px;height:14px;color:currentColor}.section-edit svg{width:14px;height:14px;color:currentColor}.bio-text{font-size:16px;line-height:1.7;color:#1F2937}.bio-text--empty{color:#9CA3AF;font-style:italic}.running-stats{display:flex;flex-direction:column;gap:12px}.running-stats--empty{color:#9CA3AF;font-style:italic;text-align:center;padding:16px}.running-stat{display:flex;flex-direction:column;gap:4px}.running-stat__label{font-size:14px;font-weight:500;color:#6B7280}.running-stat__value{font-size:16px;color:#1F2937}.running-stat--tags .identity-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.identity-tag{display:inline-flex;padding:4px 8px;background:rgba(255,107,53,0.1);color:#FF6B35;font-size:14px;font-weight:500;border-radius:9999px}.member-since{display:flex;flex-direction:column;gap:4px;padding:16px}.member-since .member-label{font-size:14px;color:#9CA3AF}.member-since .member-value{font-size:18px;font-weight:600;color:#1F2937}.community-sidebar{display:flex;flex-direction:column;gap:16px}.widget{background:#FFFFFF;border-radius:16px;padding:16px;box-shadow:0 1px 3px rgba(0,0,0,0.08)}.sidebar-widget{background:#FFFFFF;border-radius:16px;padding:16px}.sidebar-widget--strava .strava-status{display:flex;align-items:center;gap:8px;margin-bottom:12px}.sidebar-widget--strava .strava-logo{width:24px;height:24px;color:#FC4C02}.sidebar-widget--strava .strava-state{font-size:14px;margin-left:auto}.sidebar-widget--strava .strava-state--connected{color:#10B981}.sidebar-widget--strava .strava-state--disconnected{color:#9CA3AF}.sidebar-widget--strava .widget-note{font-size:14px;color:#9CA3AF;margin-top:8px}.widget{background:#FFFFFF;border-radius:16px;padding:16px;box-shadow:0 1px 3px rgba(0,0,0,0.08)}.widget .widget-title{font-family:"Clash Display", -apple-system, BlinkMacSystemFont, sans-serif;font-size:0.9375rem;font-weight:600;color:#1F2937;letter-spacing:-0.01em;margin:0 0 12px 0}.widget-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.widget-header .widget-title{margin:0}.widget-edit{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:9999px;background:transparent;border:none;color:#9CA3AF;cursor:pointer;transition:all 0.15s ease}.widget-edit:hover{background:#F3F4F6;color:#FF6B35}.widget-edit svg{width:14px;height:14px}.widget-empty-state{text-align:center;padding:12px 0}.widget-empty-state .empty-text{font-size:0.8125rem;color:#9CA3AF;margin:0 0 12px 0}.find-me-widget .social-links{display:flex;flex-direction:column;gap:8px}.social-links{display:flex;flex-direction:column;gap:8px}.social-link{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:9999px;background:#F9FAFB;border:1px solid #E5E7EB;text-decoration:none;color:#1F2937;font-size:0.8125rem;font-weight:500;transition:all 0.15s ease}.social-link svg{width:16px;height:16px;flex-shrink:0;opacity:0.8}.social-link span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.social-link:hover{border-color:#1F2937;background:#1F2937;color:white}.social-link:hover svg{opacity:1}.social-link--strava:hover{background:#FC4C02;border-color:#FC4C02}.social-link--instagram:hover{background:linear-gradient(135deg, #833AB4, #E1306C, #F77737);border-color:transparent}.social-link--twitter:hover{background:#000000;border-color:#000000}.social-link--website:hover{background:#4ECDC4;border-color:#4ECDC4}.upcoming-races-widget{background:linear-gradient(135deg, rgba(78,205,196,0.1) 0%, rgba(78,205,196,0.05) 100%);border:1px solid rgba(78,205,196,0.2)}.upcoming-race-item{display:flex;align-items:center;gap:12px;padding:12px;background:#FFFFFF;border-radius:10px}.upcoming-race-item+.upcoming-race-item{margin-top:12px}.upcoming-race-date{display:flex;flex-direction:column;align-items:center;justify-content:center;width:44px;min-width:44px;padding:8px;background:#4ECDC4;border-radius:6px;flex-shrink:0}.upcoming-race-month{font-size:0.625rem;font-weight:600;text-transform:uppercase;color:white;line-height:1}.upcoming-race-day{font-family:"Clash Display", -apple-system, BlinkMacSystemFont, sans-serif;font-size:1rem;font-weight:700;color:white;line-height:1}.upcoming-race-info{flex:1;min-width:0}.upcoming-race-name{font-weight:600;font-size:0.875rem;color:#1F2937;display:block}.upcoming-race-meta{font-size:0.75rem;color:#6B7280;display:block}.similar-runners-list{display:flex;flex-direction:column;gap:12px}.similar-runner{display:flex;align-items:center;gap:12px}.similar-runner .user-avatar-wrapper{flex-shrink:0;width:44px;height:44px}.similar-runner .user-avatar-wrapper.avatar-sm{width:44px;height:44px}.similar-runner .user-avatar{width:100%;height:100%;object-fit:cover}.similar-runner .btn{flex-shrink:0}.similar-runner-avatar{width:44px;height:44px;border-radius:9999px;object-fit:cover;flex-shrink:0}.similar-runner-info{flex:1;min-width:0}.similar-runner-name{font-weight:600;font-size:0.9375rem;color:#1F2937;display:block}.similar-runner-reason{font-size:0.75rem;color:#9CA3AF;display:block}.shared-teams-list{display:flex;flex-direction:column;gap:12px}.shared-team{display:flex;align-items:center;gap:12px;padding:12px;background:#F3F4F6;border-radius:10px;text-decoration:none;color:inherit;transition:all 0.15s ease}.shared-team:hover{background:#E5E7EB}.shared-team-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:white;border-radius:10px;overflow:hidden;flex-shrink:0}.shared-team-icon .team-logo-img{width:100%;height:100%;object-fit:cover}.shared-team-icon .team-icon-placeholder{font-size:1.25rem;line-height:1}.shared-team-info{flex:1;min-width:0}.shared-team-name{font-family:"Clash Display", -apple-system, BlinkMacSystemFont, sans-serif;font-size:0.9375rem;font-weight:600;color:#1F2937;display:block}.shared-team-members{font-size:0.75rem;color:#9CA3AF;display:block}.widget .btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;font-family:"Instrument Sans", -apple-system, BlinkMacSystemFont, sans-serif;font-weight:600;text-decoration:none;border-radius:10px;cursor:pointer;transition:all 0.15s ease;border:none;box-sizing:border-box;max-width:100%}.widget .btn-primary{background:#FF6B35;color:white;padding:6px 12px;font-size:0.75rem}.widget .btn-primary:hover{background:#ff4d0c}.widget .btn-ghost{background:transparent;color:#1F2937;border:1px solid #D1D5DB;padding:8px 12px;font-size:0.8125rem}.widget .btn-ghost:hover{background:#F9FAFB;border-color:#9CA3AF}.widget .btn-small{padding:6px 12px;font-size:0.75rem}.widget .btn-full{width:100%;margin-top:12px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;font-family:"Instrument Sans", -apple-system, BlinkMacSystemFont, sans-serif;font-weight:600;text-decoration:none;border-radius:10px;cursor:pointer;transition:all 0.15s ease;border:none}.btn-primary{background:#FF6B35;color:white;padding:8px 12px;font-size:0.8125rem}.btn-primary:hover{background:#ff4d0c}.btn-ghost{background:transparent;color:#6B7280;border:none;padding:8px 12px;font-size:0.8125rem}.btn-ghost:hover{background:#F9FAFB;color:#1F2937}.btn-secondary{background:#F3F4F6;color:#374151;padding:8px 12px;font-size:0.8125rem;border:1px solid #E5E7EB}.btn-secondary:hover{background:#E5E7EB}.btn-outline{background:transparent;color:#FF6B35;border:2px solid #FF6B35;padding:8px 12px;font-size:0.8125rem}.btn-outline:hover{background:rgba(255,107,53,0.1)}.btn-small{padding:4px 12px;font-size:0.75rem}.btn-full{width:100%}.mt-3{margin-top:12px}.widget-stats{display:flex;flex-direction:column;gap:8px}.widget-stat{display:flex;justify-content:space-between;align-items:center}.widget-stat__label{color:#6B7280}.widget-stat__value{font-weight:600}.widget-connections{display:flex;gap:16px;margin-bottom:12px}.connection-stat{display:flex;flex-direction:column;align-items:center;flex:1}.connection-stat .connection-count{font-size:24px;font-weight:700;color:#1F2937}.connection-stat .connection-label{font-size:14px;color:#6B7280}.widget-link{display:block;text-align:center;color:#FF6B35;font-weight:500;text-decoration:none}.widget-link:hover{text-decoration:underline}.profile-form .photo-upload{display:flex;gap:12px;align-items:center}.profile-form .photo-preview{width:80px;height:80px;border-radius:50%;overflow:hidden}.profile-form .photo-preview__image{width:100%;height:100%;object-fit:cover}.profile-form .photo-hint{font-size:14px;color:#9CA3AF;margin-top:4px}.profile-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.profile-form .identity-tags-selector{display:flex;flex-wrap:wrap;gap:8px}.profile-form .tag-checkbox{display:inline-flex;align-items:center;padding:4px 8px;border:1px solid #E5E7EB;border-radius:9999px;cursor:pointer;transition:all 0.2s ease}.profile-form .tag-checkbox:hover{border-color:#FF6B35}.profile-form .tag-checkbox.is-selected,.profile-form .tag-checkbox:has(input:checked){background:#FF6B35;border-color:#FF6B35}.profile-form .tag-checkbox.is-selected .tag-label,.profile-form .tag-checkbox:has(input:checked) .tag-label{color:white}.profile-form .tag-checkbox input[type="checkbox"]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}.profile-form .tag-checkbox .tag-label{font-size:14px;font-weight:500}.profile-form .radio-group{display:flex;gap:12px}.profile-form .radio-group--vertical{flex-direction:column;gap:8px}.profile-form .radio-group--vertical .radio-option{padding:8px;border:1px solid #E5E7EB;border-radius:10px;transition:all 0.2s ease}.profile-form .radio-group--vertical .radio-option:has(:checked){border-color:#FF6B35;background:rgba(255,107,53,0.05)}.profile-form .radio-group--vertical .radio-desc{display:block;font-size:14px;color:#6B7280}.profile-form .radio-option{display:flex;align-items:flex-start;gap:8px;cursor:pointer}.profile-form .toggle-group{display:flex;flex-direction:column;gap:8px}.profile-form .toggle-option{display:flex;align-items:center;gap:8px;cursor:pointer}.about-section--bio{border-top:3px solid #FF6B35}.bio-lead{font-family:"Clash Display", -apple-system, BlinkMacSystemFont, sans-serif;font-size:1.125rem;font-weight:500;line-height:1.5;color:#1F2937;margin-bottom:8px}.bio-content{font-family:"Instrument Sans", -apple-system, BlinkMacSystemFont, sans-serif;font-size:0.9375rem;line-height:1.75;color:#6B7280}.bio-content p{margin:0}.bio-content p+p{margin-top:8px}.pace-display{display:flex;align-items:baseline;gap:8px}.pace-value{font-family:"Clash Display", -apple-system, BlinkMacSystemFont, sans-serif;font-size:2rem;font-weight:700;color:#FF6B35;line-height:1;letter-spacing:-0.02em}.pace-unit{font-family:"Instrument Sans", -apple-system, BlinkMacSystemFont, sans-serif;font-size:0.875rem;font-weight:500;color:#9CA3AF}.pace-note{font-family:"Instrument Sans", -apple-system, BlinkMacSystemFont, sans-serif;font-size:0.75rem;color:#9CA3AF;margin-top:8px}.goal-content{display:flex;align-items:center;gap:12px}.goal-icon{width:48px;height:48px;border-radius:10px;background:#FFF5F2;display:flex;align-items:center;justify-content:center;flex-shrink:0}.goal-icon svg{width:24px;height:24px;color:#FF6B35}.goal-text{flex:1}.goal-title{font-family:"Clash Display", -apple-system, BlinkMacSystemFont, sans-serif;font-size:1.125rem;font-weight:600;color:#1F2937;margin:0 0 4px 0}.goal-subtitle{font-family:"Instrument Sans", -apple-system, BlinkMacSystemFont, sans-serif;font-size:0.8125rem;color:#9CA3AF;margin:0}.identity-list{display:flex;flex-wrap:wrap;gap:8px}.identity-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;background:#F9FAFB;border-radius:9999px;font-family:"Instrument Sans", -apple-system, BlinkMacSystemFont, sans-serif;font-size:0.8125rem;font-weight:500;color:#1F2937;transition:all 0.15s ease-out}.identity-chip:hover{background:#FFF5F2;color:#FF6B35}.identity-chip .chip-icon{font-size:0.875rem;line-height:1}.preferences-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 639px){.preferences-grid{grid-template-columns:1fr;gap:12px}}.preference-group h4{font-family:"Instrument Sans", -apple-system, BlinkMacSystemFont, sans-serif;font-size:0.6875rem;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:#9CA3AF;margin:0 0 8px 0}.preference-tags{display:flex;flex-wrap:wrap;gap:8px}.preference-tag{display:inline-flex;align-items:center;padding:8px 12px;background:#F9FAFB;border:1px solid #F3F4F6;border-radius:10px;font-family:"Instrument Sans", -apple-system, BlinkMacSystemFont, sans-serif;font-size:0.8125rem;font-weight:500;color:#1F2937;transition:all 0.15s ease-out}.preference-tag:hover{border-color:#FF6B35;background:#FFF5F2}.preference-tag--distance{font-family:"Clash Display", -apple-system, BlinkMacSystemFont, sans-serif;font-weight:600}@media (max-width: 639px){.community-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch}.community-tabs::-webkit-scrollbar{display:none}.community-tab{white-space:nowrap}.section-header{padding:8px 12px}.section-content{padding:12px}.profile-form .form-row{grid-template-columns:1fr}}.similar-runners-widget{background:#FFFFFF;border-radius:16px;padding:16px;box-shadow:0 1px 3px rgba(0,0,0,0.1)}.similar-runners-list{display:flex;flex-direction:column;gap:12px}.similar-runner{display:flex;align-items:center;gap:12px}.similar-runner-avatar{width:44px;height:44px;border-radius:9999px;object-fit:cover}.similar-runner-info{flex:1;min-width:0}.similar-runner-name{font-weight:600;font-size:0.9375rem;color:#1F2937;display:block}.similar-runner-reason{font-size:0.75rem;color:#9CA3AF}.shared-teams-widget{background:#FFFFFF;border-radius:16px;padding:16px;box-shadow:0 1px 3px rgba(0,0,0,0.1)}.shared-teams-list{display:flex;flex-direction:column;gap:12px}.shared-team{display:flex;align-items:center;gap:12px;padding:12px;background:#F3F4F6;border-radius:10px}.shared-team-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;font-size:1.25rem;background:white;border-radius:10px}.shared-team-icon .team-logo-img{width:100%;height:100%;object-fit:cover;border-radius:10px}.shared-team-info{flex:1}.shared-team-name{font-family:"Clash Display", -apple-system, BlinkMacSystemFont, sans-serif;font-size:0.9375rem;font-weight:600;color:#1F2937}.shared-team-members{font-size:0.75rem;color:#9CA3AF}.next-race-widget .widget-title{margin-bottom:12px}.next-race-card{display:flex;gap:12px;padding:12px;background:#FFFFFF;border-radius:10px;margin-bottom:12px}.next-race-date{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:60px;padding:8px;background:#FFFFFF;border-radius:6px;border:1px solid #E5E7EB;text-align:center}.next-race-month{font-size:11px;font-weight:600;text-transform:uppercase;color:#6B7280;letter-spacing:0.5px}.next-race-day{font-size:24px;font-weight:700;color:#1F2937;line-height:1;margin:2px 0}.next-race-year{font-size:11px;font-weight:500;color:#9CA3AF}.next-race-info{display:flex;flex-direction:column;justify-content:center;gap:4px;flex:1}.next-race-name{font-size:14px;font-weight:600;color:#1F2937;line-height:1.3}.next-race-status{font-size:12px;color:#10B981;font-weight:500}.btn-full{width:100%;display:flex;align-items:center;justify-content:center;gap:4px}.btn-full svg{flex-shrink:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;font-family:"Clash Display", -apple-system, BlinkMacSystemFont, sans-serif;font-size:0.9375rem;font-weight:600;border-radius:10px;transition:all 0.2s ease;white-space:nowrap;cursor:pointer;border:none}.btn-primary{background:linear-gradient(135deg, #FF6B35 0%, #ff4d0c 100%);color:white;box-shadow:0 2px 8px rgba(255,107,53,0.3)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 16px rgba(255,107,53,0.4)}.btn-secondary{background:white;color:#FF6B35;border:2px solid #FF6B35}.btn-secondary:hover{background:rgba(255,107,53,0.05)}.btn-ghost{background:transparent;color:#6B7280;border:1px solid #E5E7EB}.btn-ghost:hover{background:#F3F4F6;color:#1F2937}.btn-small{padding:8px 12px;font-size:0.8125rem}.btn-full{width:100%}.following-layout{display:grid;grid-template-columns:1fr;gap:16px;grid-column:1 / -1;min-width:0;max-width:100%}@media (min-width: 1024px){.following-layout{grid-template-columns:1fr 320px}}.following-main{display:flex;flex-direction:column;gap:16px;min-width:0}.following-sidebar{display:flex;flex-direction:column;gap:20px}.section-tabs{display:flex;gap:4px;padding:8px;background:#FFFFFF;border-radius:16px;box-shadow:0 1px 3px rgba(0,0,0,0.08)}.section-tab{display:flex;align-items:center;gap:8px;padding:12px 20px;border-radius:10px;font-weight:500;font-size:0.9375rem;color:#6B7280;text-decoration:none;transition:all 0.2s ease;cursor:pointer;border:none;background:transparent}.section-tab .tab-icon,.section-tab svg{width:14px;height:14px;flex-shrink:0;opacity:0.8}.section-tab:hover{color:#1F2937;background:#F9FAFB}.section-tab--active{color:white;background:#FF6B35}.section-tab .tab-count{font-size:0.75rem;padding:2px 8px;background:rgba(255,255,255,0.2);border-radius:9999px;font-weight:600}.section-tab:not(.section-tab--active) .tab-count{background:#F3F4F6;color:#6B7280}.search-section{background:#FFFFFF;border-radius:16px;padding:12px;box-shadow:0 1px 3px rgba(0,0,0,0.08)}.search-form{display:flex;gap:12px;align-items:center}.search-input-wrapper{flex:1;position:relative;min-width:0}.search-input-wrapper .search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#9CA3AF;pointer-events:none}.search-input{width:100%;padding:12px 12px;padding-left:44px;font-size:1rem;background:white;border:1px solid #E5E7EB;border-radius:16px;transition:all 0.2s ease;box-sizing:border-box}.search-input:focus{outline:none;border-color:#FF6B35;box-shadow:0 0 0 3px rgba(255,107,53,0.2)}.search-input::placeholder{color:#9CA3AF}.connections-grid{display:flex;flex-direction:column;gap:12px;background:#FFFFFF;border-radius:16px;padding:16px;box-shadow:0 1px 3px rgba(0,0,0,0.08);min-width:0;overflow:hidden}.person-card{display:grid;grid-template-columns:auto 1fr auto;gap:20px;padding:20px;background:white;border-radius:16px;box-shadow:0 4px 6px rgba(0,0,0,0.05),0 1px 3px rgba(0,0,0,0.1);transition:all 0.2s ease}.person-card:hover{transform:translateY(-2px);box-shadow:0 10px 25px rgba(0,0,0,0.1),0 4px 10px rgba(0,0,0,0.05)}.person-avatar-section{position:relative;flex-shrink:0}.person-avatar{width:72px;height:72px;border-radius:9999px;border:3px solid #F3F4F6;object-fit:cover;background:#E5E7EB}.tier-ring--rookie{border-color:#45B7A8}.tier-ring--explorer{border-color:#4ECDC4}.tier-ring--pacer{border-color:#FF6B35}.tier-ring--trailblazer{border-color:#DC143C}.tier-ring--bronze{border-color:#CD7F32}.tier-ring--silver{border-color:#A8A9AD}.tier-ring--gold{border-color:#FFD93D}.tier-ring--platinum{border-color:#E5E4E2}.tier-ring--obsidian{border-color:#1A1A1A}.tier-ring--diamond{border-color:#B9F2FF}.level-badge{position:absolute;bottom:-4px;right:-4px;width:28px;height:28px;background:linear-gradient(135deg, #FFD93D 0%, #f0c100 100%);color:#1a1a1a;font-family:"Clash Display", -apple-system, BlinkMacSystemFont, sans-serif;font-weight:700;font-size:0.75rem;display:flex;align-items:center;justify-content:center;border-radius:9999px;border:2px solid white}.level-badge--rookie{background:linear-gradient(135deg, #45B7A8 0%, #307f75 100%);color:white}.level-badge--explorer{background:linear-gradient(135deg, #4ECDC4 0%, #2da199 100%);color:white}.level-badge--pacer{background:linear-gradient(135deg, #FF6B35 0%, #e83e00 100%);color:white}.level-badge--trailblazer{background:linear-gradient(135deg, crimson 0%, #960e29 100%);color:white}.level-badge--bronze{background:linear-gradient(135deg, #CD7F32 0%, #905923 100%);color:white}.level-badge--silver{background:linear-gradient(135deg, #A8A9AD 0%, #818288 100%);color:#1a1a1a}.level-badge--gold{background:linear-gradient(135deg, #FFD93D 0%, #f0c100 100%);color:#1a1a1a}.level-badge--platinum{background:linear-gradient(135deg, #E5E4E2 0%, #c1beba 100%);color:#1a1a1a}.level-badge--obsidian{background:linear-gradient(135deg, #1A1A1A 0%, black 100%);color:white}.level-badge--diamond{background:linear-gradient(135deg, #B9F2FF 0%, #6de4ff 100%);color:white}.person-info{min-width:0}.person-header{display:flex;align-items:center;gap:8px;margin-bottom:4px;flex-wrap:wrap}.person-name-link{text-decoration:none;color:inherit}.person-name-link:hover .person-name{color:#FF6B35}.person-name{font-family:"Clash Display", -apple-system, BlinkMacSystemFont, sans-serif;font-size:1.125rem;font-weight:600;color:#1F2937;margin:0}.person-handle{font-size:0.875rem;color:#9CA3AF}.person-bio{font-size:0.875rem;color:#6B7280;margin-bottom:12px;line-height:1.4}.person-stats{display:flex;gap:16px;margin-bottom:8px;flex-wrap:wrap}.person-stat{font-size:0.8125rem;color:#6B7280}.person-stat strong{color:#1F2937;font-weight:600}.person-location{display:flex;align-items:center;gap:4px;font-size:0.8125rem;color:#9CA3AF;margin-bottom:4px}.person-location .icon{flex-shrink:0;width:14px;height:14px}.person-badge{display:inline-flex;padding:2px 8px;font-size:0.75rem;font-weight:500;color:#6B7280;background:#F3F4F6;border-radius:6px;margin-top:4px}.person-badge--mutual{color:#FF6B35;background:rgba(255,107,53,0.1)}.person-actions{display:flex;flex-direction:column;gap:8px;align-self:center}.follower-actions{display:flex;flex-direction:column;gap:8px;align-self:center}.btn-follow-back{background:#FF6B35;color:white;border:none;padding:8px 16px;border-radius:10px;font-size:0.8125rem;font-weight:600;cursor:pointer;transition:all 0.2s ease}.btn-follow-back:hover{background:#ff4d0c;transform:translateY(-1px)}.btn-remove{font-size:0.75rem;color:#9CA3AF;background:transparent;border:none;cursor:pointer;padding:8px;transition:color 0.2s ease}.btn-remove:hover{color:#DC2626}@media (max-width: 639px){.person-card{grid-template-columns:auto 1fr;gap:12px}.person-actions,.follower-actions{grid-column:1 / -1;flex-direction:row;justify-content:flex-end;margin-top:12px;padding-top:12px;border-top:1px solid #F3F4F6}.person-avatar{width:56px;height:56px}.level-badge{width:24px;height:24px;font-size:0.6875rem}.person-name{font-size:1rem}.person-stats{flex-direction:column;gap:4px}}.empty-state{grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px;text-align:center}.empty-icon{width:64px;height:64px;color:#9CA3AF;margin-bottom:12px}.empty-title{font-size:18px;font-weight:600;color:#1F2937;margin:0 0 4px}.empty-text{font-size:16px;color:#6B7280;margin:0 0 16px;max-width:300px}.loading-state{grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px}.loading-spinner{width:40px;height:40px;border:3px solid #E5E7EB;border-top-color:#FF6B35;border-radius:50%;animation:spin 0.8s linear infinite;margin-bottom:12px}@keyframes spin{to{transform:rotate(360deg)}}.pagination{display:flex;justify-content:center;gap:4px;padding:16px 0}.pagination a,.pagination span{display:flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 8px;border-radius:10px;font-weight:500;text-decoration:none;transition:all 0.2s ease}.pagination a{color:#6B7280;background:#FFFFFF}.pagination a:hover{color:#1F2937;background:#F3F4F6}.pagination .current{color:white;background:#FF6B35}.pagination .disabled{color:#9CA3AF;pointer-events:none}.pagination .gap{color:#9CA3AF}@media (max-width: 639px){.section-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch}.section-tabs::-webkit-scrollbar{display:none}.section-tab{white-space:nowrap;padding:12px 12px}.search-section{padding:12px}}.suggested-users-list{display:flex;flex-direction:column;gap:8px}.suggested-user-card{display:flex;align-items:center;gap:8px;padding:8px;background:#F9FAFB;border-radius:10px;transition:background 0.2s ease;min-width:0}.suggested-user-card:hover{background:#F3F4F6}.suggested-user-avatar-wrapper{position:relative;flex-shrink:0;width:40px;height:40px}.suggested-user-avatar{display:block;width:40px;height:40px;border-radius:9999px;object-fit:cover;border:2px solid #F3F4F6;background:#E5E7EB}.suggested-user-avatar--placeholder{display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1rem;color:#6B7280}.suggested-user-avatar--rookie{border-color:#45B7A8}.suggested-user-avatar--explorer{border-color:#4ECDC4}.suggested-user-avatar--pacer{border-color:#FF6B35}.suggested-user-avatar--trailblazer{border-color:#DC143C}.suggested-user-avatar--bronze{border-color:#CD7F32}.suggested-user-avatar--silver{border-color:#A8A9AD}.suggested-user-avatar--gold{border-color:#FFD93D}.suggested-user-avatar--platinum{border-color:#E5E4E2}.suggested-user-avatar--obsidian{border-color:#1A1A1A}.suggested-user-avatar--diamond{border-color:#B9F2FF}.suggested-user-level{position:absolute;bottom:-2px;right:-2px;width:18px;height:18px;display:flex;align-items:center;justify-content:center;font-family:"Clash Display", -apple-system, BlinkMacSystemFont, sans-serif;font-size:0.625rem;font-weight:700;color:#1a1a1a;background:linear-gradient(135deg, #FFD93D 0%, #f0c100 100%);border:1.5px solid white;border-radius:50%}.suggested-user-level--rookie{background:linear-gradient(135deg, #45B7A8 0%, #307f75 100%);color:white}.suggested-user-level--explorer{background:linear-gradient(135deg, #4ECDC4 0%, #2da199 100%);color:white}.suggested-user-level--pacer{background:linear-gradient(135deg, #FF6B35 0%, #e83e00 100%);color:white}.suggested-user-level--trailblazer{background:linear-gradient(135deg, crimson 0%, #960e29 100%);color:white}.suggested-user-level--bronze{background:linear-gradient(135deg, #CD7F32 0%, #905923 100%);color:white}.suggested-user-level--silver{background:linear-gradient(135deg, #A8A9AD 0%, #818288 100%);color:#1a1a1a}.suggested-user-level--gold{background:linear-gradient(135deg, #FFD93D 0%, #f0c100 100%);color:#1a1a1a}.suggested-user-level--platinum{background:linear-gradient(135deg, #E5E4E2 0%, #c1beba 100%);color:#1a1a1a}.suggested-user-level--obsidian{background:linear-gradient(135deg, #1A1A1A 0%, black 100%);color:white}.suggested-user-level--diamond{background:linear-gradient(135deg, #B9F2FF 0%, #6de4ff 100%);color:white}.suggested-user-info{flex:1;min-width:0;max-width:calc(100% - 110px);display:flex;flex-direction:column;gap:2px;overflow:hidden}.suggested-user-name-link{text-decoration:none;color:inherit}.suggested-user-name-link:hover .suggested-user-name{color:#FF6B35}.suggested-user-name{font-weight:600;font-size:0.875rem;color:#1F2937;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.suggested-user-location{display:flex;align-items:center;gap:4px;font-size:0.75rem;color:#9CA3AF;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.suggested-user-location .icon{flex-shrink:0;width:12px;height:12px}.suggested-user-reason{font-size:0.75rem;color:#9CA3AF;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.suggested-user-follow-btn{flex-shrink:0;height:28px !important;padding:0 12px !important;font-size:12px !important;min-width:auto}.shared-teams-list{display:flex;flex-direction:column;gap:8px}.shared-team{display:flex;align-items:center;gap:8px;padding:8px;background:#F9FAFB;border-radius:10px;text-decoration:none;color:inherit;transition:background 0.2s ease}.shared-team:hover{background:#F3F4F6;text-decoration:none}.shared-team-icon{width:40px;height:40px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:#F3F4F6;border-radius:10px;overflow:hidden}.shared-team-icon .team-logo-img{width:100%;height:100%;object-fit:cover}.shared-team-icon .team-icon-placeholder{font-size:1.25rem}.shared-team-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.shared-team-name{font-weight:600;font-size:0.875rem;color:#1F2937;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shared-team-members{font-size:0.75rem;color:#9CA3AF}.invite-widget{position:relative;overflow:hidden;background:linear-gradient(135deg, #FFF9F7 0%, #FFF5F2 50%, #FEF1EC 100%);border-radius:16px;padding:16px;box-shadow:0 1px 3px rgba(0,0,0,0.08),0 0 0 1px rgba(255,107,53,0.06)}.invite-widget__bg{position:absolute;inset:0;pointer-events:none;overflow:hidden}.invite-widget__glow{position:absolute;top:-50%;right:-30%;width:200px;height:200px;background:radial-gradient(circle, rgba(255,107,53,0.08) 0%, transparent 70%);border-radius:50%;animation:pulse-glow 4s ease-in-out infinite}.invite-widget__pattern{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0.6}.invite-widget__header{position:relative;display:flex;align-items:flex-start;gap:12px;margin-bottom:16px}.invite-widget__icon-wrap{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:linear-gradient(135deg, #FF6B35 0%, #ff4d0c 100%);border-radius:12px;box-shadow:0 4px 12px rgba(255,107,53,0.3),inset 0 1px 0 rgba(255,255,255,0.2)}.invite-widget__icon{width:22px;height:22px;color:white}.invite-widget__title-group{flex:1;min-width:0}.invite-widget__title{font-family:"Clash Display", -apple-system, BlinkMacSystemFont, sans-serif;font-size:1rem;font-weight:700;color:#1F2937;letter-spacing:-0.02em;margin:0 0 2px 0;line-height:1.2}.invite-widget__subtitle{font-size:0.8125rem;color:#6B7280;margin:0;line-height:1.4}.invite-widget__actions{position:relative;display:grid;grid-template-columns:repeat(4, 1fr);gap:10px}.invite-widget__footer{position:relative;margin-top:12px;padding-top:8px;border-top:1px solid rgba(255,107,53,0.08)}.invite-widget__tagline{display:block;font-size:0.6875rem;font-weight:500;color:#9CA3AF;text-align:center;letter-spacing:0.02em}@keyframes pulse-glow{0%,100%{transform:scale(1);opacity:0.6}50%{transform:scale(1.1);opacity:0.8}}.invite-btn{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 4px;background:white;border:1px solid #E5E7EB;border-radius:10px;cursor:pointer;text-decoration:none;transition:all 0.25s cubic-bezier(0.4, 0, 0.2, 1)}.invite-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,0.12);text-decoration:none}.invite-btn:active{transform:translateY(0)}.invite-btn__icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;transition:all 0.25s ease}.invite-btn__icon svg{width:18px;height:18px}.invite-btn__label{font-family:"Instrument Sans", -apple-system, BlinkMacSystemFont, sans-serif;font-size:0.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:0.04em;transition:color 0.25s ease}.invite-btn--facebook .invite-btn__icon{background:rgba(24,119,242,0.1);color:#1877F2}.invite-btn--facebook .invite-btn__label{color:#1877F2}.invite-btn--facebook:hover{border-color:#1877F2;background:rgba(24,119,242,0.03)}.invite-btn--facebook:hover .invite-btn__icon{background:#1877F2;color:white;transform:scale(1.08)}.invite-btn--x .invite-btn__icon{background:rgba(15,20,25,0.08);color:#0F1419}.invite-btn--x .invite-btn__label{color:#0F1419}.invite-btn--x:hover{border-color:#0F1419;background:rgba(15,20,25,0.02)}.invite-btn--x:hover .invite-btn__icon{background:#0F1419;color:white;transform:scale(1.08)}.invite-btn--email .invite-btn__icon{background:rgba(234,67,53,0.1);color:#EA4335}.invite-btn--email .invite-btn__label{color:#EA4335}.invite-btn--email:hover{border-color:#EA4335;background:rgba(234,67,53,0.03)}.invite-btn--email:hover .invite-btn__icon{background:#EA4335;color:white;transform:scale(1.08)}.invite-btn--copy .invite-btn__icon{background:rgba(20,184,166,0.1);color:#14B8A6}.invite-btn--copy .invite-btn__label{color:#14B8A6}.invite-btn--copy:hover{border-color:#14B8A6;background:rgba(20,184,166,0.03)}.invite-btn--copy:hover .invite-btn__icon{background:#14B8A6;color:white;transform:scale(1.08)}.invite-btn--copy.invite-btn--copied{border-color:#10B981;background:rgba(16,185,129,0.05)}.invite-btn--copy.invite-btn--copied .invite-btn__icon{background:#10B981;color:white;animation:pop-in 0.3s ease-out}.invite-btn--copy.invite-btn--copied .invite-btn__label{color:#10B981}.invite-btn__icon--success svg{stroke-linecap:round;stroke-linejoin:round}@keyframes pop-in{0%{transform:scale(0.8)}50%{transform:scale(1.15)}100%{transform:scale(1)}}@media (max-width: 639px){.invite-widget{padding:12px}.invite-widget__header{gap:8px;margin-bottom:12px}.invite-widget__icon-wrap{width:38px;height:38px;border-radius:10px}.invite-widget__icon{width:18px;height:18px}.invite-widget__title{font-size:0.9375rem}.invite-widget__subtitle{font-size:0.75rem}.invite-widget__actions{gap:8px}.invite-btn{padding:8px 2px}.invite-btn__icon{width:32px;height:32px}.invite-btn__icon svg{width:16px;height:16px}.invite-btn__label{font-size:0.625rem}}.find-runners-header{background:#FFFFFF;border-radius:16px;padding:16px;box-shadow:0 1px 3px rgba(0,0,0,0.08);text-align:center}.find-runners-title{font-family:"Clash Display", -apple-system, BlinkMacSystemFont, sans-serif;font-size:1.5rem;font-weight:700;color:#1F2937;margin:0 0 4px;letter-spacing:-0.02em}.find-runners-subtitle{font-size:1rem;color:#6B7280;margin:0}.find-filters{display:grid;grid-template-columns:repeat(4, 1fr);gap:12px;background:#FFFFFF;border-radius:16px;padding:12px;box-shadow:0 1px 3px rgba(0,0,0,0.08)}@media (max-width: 639px){.find-filters{grid-template-columns:repeat(2, 1fr);gap:8px}}.filter-group{display:flex;flex-direction:column;gap:4px}.filter-label{font-size:0.75rem;font-weight:600;color:#6B7280;text-transform:uppercase;letter-spacing:0.03em}.filter-select{width:100%;padding:10px 32px 10px 12px;font-size:0.875rem;font-family:"Instrument Sans", -apple-system, BlinkMacSystemFont, sans-serif;color:#1F2937;background:#F9FAFB;border:1px solid #E5E7EB;border-radius:10px;cursor:pointer;transition:all 0.2s ease;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.filter-select:hover{border-color:#FF6B35}.filter-select:focus{outline:none;border-color:#FF6B35;box-shadow:0 0 0 3px rgba(255,107,53,0.2)}.suggested-runners-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(280px, 1fr));gap:16px;background:#FFFFFF;border-radius:16px;padding:16px;box-shadow:0 1px 3px rgba(0,0,0,0.08);min-width:0}@media (max-width: 639px){.suggested-runners-grid{grid-template-columns:1fr;padding:12px}}.suggested-runner-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px;background:#F9FAFB;border-radius:16px;text-align:center;transition:all 0.2s ease}.suggested-runner-card:hover{background:#F3F4F6;transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,0.08)}.suggested-runner-avatar-wrapper{position:relative;flex-shrink:0;width:80px;height:80px}.suggested-runner-avatar{display:block;width:80px;height:80px;border-radius:9999px;object-fit:cover;border:3px solid #F3F4F6;background:#E5E7EB}.suggested-runner-level{position:absolute;bottom:-4px;right:-4px;width:26px;height:26px;display:flex;align-items:center;justify-content:center;font-family:"Clash Display", -apple-system, BlinkMacSystemFont, sans-serif;font-size:0.6875rem;font-weight:700;color:#1a1a1a;background:linear-gradient(135deg, #FFD93D 0%, #f0c100 100%);border:2px solid white;border-radius:50%}.suggested-runner-level.tier-level--rookie{background:linear-gradient(135deg, #45B7A8 0%, #307f75 100%);color:white}.suggested-runner-level.tier-level--explorer{background:linear-gradient(135deg, #4ECDC4 0%, #2da199 100%);color:white}.suggested-runner-level.tier-level--pacer{background:linear-gradient(135deg, #FF6B35 0%, #e83e00 100%);color:white}.suggested-runner-level.tier-level--trailblazer{background:linear-gradient(135deg, crimson 0%, #960e29 100%);color:white}.suggested-runner-level.tier-level--bronze{background:linear-gradient(135deg, #CD7F32 0%, #905923 100%);color:white}.suggested-runner-level.tier-level--silver{background:linear-gradient(135deg, #A8A9AD 0%, #818288 100%);color:#1a1a1a}.suggested-runner-level.tier-level--gold{background:linear-gradient(135deg, #FFD93D 0%, #f0c100 100%);color:#1a1a1a}.suggested-runner-level.tier-level--platinum{background:linear-gradient(135deg, #E5E4E2 0%, #c1beba 100%);color:#1a1a1a}.suggested-runner-level.tier-level--obsidian{background:linear-gradient(135deg, #1A1A1A 0%, black 100%);color:white}.suggested-runner-level.tier-level--diamond{background:linear-gradient(135deg, #B9F2FF 0%, #6de4ff 100%);color:white}.suggested-runner-info{display:flex;flex-direction:column;align-items:center;gap:2px}.suggested-runner-name-link{text-decoration:none;color:inherit}.suggested-runner-name-link:hover .suggested-runner-name{color:#FF6B35}.suggested-runner-name{font-family:"Clash Display", -apple-system, BlinkMacSystemFont, sans-serif;font-size:1.0625rem;font-weight:600;color:#1F2937;margin:0;transition:color 0.2s ease}.suggested-runner-handle{font-size:0.8125rem;color:#9CA3AF}.suggested-runner-bio{font-size:0.8125rem;color:#6B7280;line-height:1.4;margin:4px 0;max-width:220px}.suggested-runner-stats{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin:4px 0}.runner-stat{font-size:0.75rem;color:#6B7280;display:flex;align-items:center;gap:4px}.runner-stat strong{color:#1F2937;font-weight:600}.runner-stat .stat-icon{width:12px;height:12px;flex-shrink:0}.suggested-runner-reason{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;font-size:0.75rem;font-weight:500;color:#FF6B35;background:rgba(255,107,53,0.1);border-radius:9999px;margin:4px 0}.suggested-runner-reason .reason-icon{width:14px;height:14px;flex-shrink:0}.suggested-runner-actions{margin-top:8px;width:100%;display:flex;justify-content:center}.suggested-runner-actions .btn{min-width:100px}.connection-badge{display:inline-flex;padding:2px 8px;font-size:0.6875rem;font-weight:600;color:#6B7280;background:#F3F4F6;border-radius:6px}.connection-badge--mutual{color:#FF6B35;background:rgba(255,107,53,0.1)}.races-page{width:100%;max-width:var(--container-max-width);margin:0 auto;padding:var(--space-6) var(--container-padding)}@media (min-width: 768px){.races-page{padding:var(--space-8) var(--container-padding)}}.races-container{display:grid;grid-template-columns:1fr;gap:var(--space-6)}@media (min-width: 1024px){.races-container{grid-template-columns:1fr var(--sidebar-width)}}.races-main{display:flex;flex-direction:column;gap:var(--space-6);min-width:0}.races-sidebar{display:flex;flex-direction:column;gap:var(--space-5);min-width:0;overflow:hidden}@media (min-width: 640px) and (max-width: 1023px){.races-sidebar{display:grid;grid-template-columns:repeat(2, 1fr);gap:var(--space-4)}}.races-tabs{display:flex;gap:var(--space-2);background:var(--color-white);padding:var(--space-2);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.races-tab{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);border-radius:var(--radius-md);font-weight:500;color:var(--color-text-secondary);text-decoration:none;transition:all var(--transition-normal)}.races-tab:hover{background:var(--color-bg);color:var(--color-text)}.races-tab.active{background:var(--color-primary);color:white}.races-tab .tab-count{font-size:0.75rem;padding:2px 8px;border-radius:var(--radius-full);background:rgba(255,255,255,0.2);font-weight:600}.races-tab:not(.active) .tab-count{background:var(--color-border-light);color:var(--color-text-secondary)}.stats-overview{display:grid;grid-template-columns:repeat(4, 1fr);gap:var(--space-4)}.stat-card{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-5);background:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.stat-card--pr{background:linear-gradient(135deg, #FFFBEB 0%, #FEF3C7 100%);border:1px solid #FDE68A}.stat-icon{font-size:1.5rem}.stat-content{display:flex;flex-direction:column}.stat-number{font-family:var(--font-display);font-size:1.5rem;font-weight:700;color:var(--color-text)}.stat-card--pr .stat-number{color:#92400E}.stat-label{font-size:0.75rem;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:0.05em}.race-stats-bar{position:relative;display:grid;grid-template-columns:repeat(4, 1fr);gap:16px;padding:20px 24px;background:linear-gradient(135deg, #0a0a0f 0%, #0f0f15 50%, #0a0a0f 100%);border:1px solid rgba(255,255,255,0.08);border-radius:16px;overflow:hidden;box-shadow:0 2px 12px rgba(0,0,0,0.3),0 0 0 1px rgba(255,255,255,0.03) inset}.stats-bar-glow{position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(ellipse at 25% 50%, rgba(255,107,53,0.08) 0%, transparent 50%),radial-gradient(ellipse at 75% 50%, rgba(78,205,196,0.06) 0%, transparent 50%);pointer-events:none;z-index:0}.race-stats-bar .stat-card--dark{position:relative;z-index:1;display:flex;align-items:center;gap:14px;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.06);border-radius:12px;padding:16px 18px;box-shadow:none;transition:all 0.25s cubic-bezier(0.4, 0, 0.2, 1)}.race-stats-bar .stat-card--dark:hover{background:rgba(255,255,255,0.06);border-color:rgba(255,255,255,0.1);transform:translateY(-2px)}.race-stats-bar .stat-card--dark .stat-number{color:white;font-size:1.375rem}.race-stats-bar .stat-card--dark .stat-label{color:rgba(255,255,255,0.5);font-size:0.6875rem}.race-stats-bar .stat-card--dark .stat-icon--svg{color:rgba(255,255,255,0.6)}.race-stats-bar .stat-card--pr-gold{position:relative;z-index:1;display:flex;align-items:center;gap:14px;background:linear-gradient(135deg, #FFD93D 0%, #F4A83D 100%);border:none;border-radius:12px;padding:16px 18px;box-shadow:0 4px 16px rgba(255,215,61,0.25);overflow:hidden}.race-stats-bar .stat-card--pr-gold .stat-number{color:#78350f;font-size:1.375rem}.race-stats-bar .stat-card--pr-gold .stat-label{color:#92400e;font-size:0.6875rem}.race-stats-bar .stat-card--pr-gold .stat-icon--svg{color:#92400e}@media (max-width: 1024px){.race-stats-bar{grid-template-columns:repeat(2, 1fr);gap:12px;padding:16px 20px}}@media (max-width: 480px){.race-stats-bar{grid-template-columns:1fr 1fr;gap:10px;padding:14px 16px}.race-stats-bar .stat-card--dark,.race-stats-bar .stat-card--pr-gold{padding:12px 14px}.race-stats-bar .stat-card--dark .stat-number,.race-stats-bar .stat-card--pr-gold .stat-number{font-size:1.125rem}}.race-console{position:relative;background:linear-gradient(180deg, #0a0a0f 0%, #0f0f18 40%, #12121f 100%);border:1px solid rgba(255,255,255,0.08);border-radius:20px;overflow:hidden;box-shadow:0 4px 24px rgba(0,0,0,0.4),0 0 0 1px rgba(255,255,255,0.03) inset}.console-glow{position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(ellipse at 20% 10%, rgba(255,107,53,0.12) 0%, transparent 40%),radial-gradient(ellipse at 80% 20%, rgba(78,205,196,0.08) 0%, transparent 35%),radial-gradient(ellipse at 50% 90%, rgba(138,43,226,0.06) 0%, transparent 40%);pointer-events:none;z-index:0}.console-grid-overlay{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,0.015) 1px, transparent 1px),linear-gradient(90deg, rgba(255,255,255,0.015) 1px, transparent 1px);background-size:24px 24px;pointer-events:none;z-index:1;opacity:0.6}.console-divider{position:relative;z-index:2;height:1px;margin:0 28px;background:linear-gradient(90deg, transparent 0%, rgba(255,255,255,0.1) 20%, rgba(255,107,53,0.2) 50%, rgba(255,255,255,0.1) 80%, transparent 100%)}.console-command-bar{position:relative;z-index:2;display:flex;flex-direction:column;gap:16px;padding:24px 28px 20px}@media (min-width: 768px){.console-command-bar{flex-direction:row;align-items:center;justify-content:space-between}}.race-search-container{position:relative;flex:1;max-width:320px}.race-search-input{width:100%;padding:12px 16px 12px 44px;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);border-radius:10px;font-family:inherit;font-size:0.9375rem;color:white;transition:all 0.25s cubic-bezier(0.4, 0, 0.2, 1)}.race-search-input::placeholder{color:rgba(255,255,255,0.35)}.race-search-input:focus{outline:none;background:rgba(255,255,255,0.06);border-color:rgba(255,107,53,0.4);box-shadow:0 0 0 3px rgba(255,107,53,0.1),0 4px 20px rgba(0,0,0,0.3)}.race-search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:rgba(255,255,255,0.35);pointer-events:none;transition:color 0.2s}.race-search-input:focus+.race-search-icon{color:rgba(255,107,53,0.8)}.distance-filters{display:flex;align-items:center;gap:6px;padding:4px;background:rgba(0,0,0,0.3);border-radius:12px;border:1px solid rgba(255,255,255,0.05)}.distance-filter-btn{position:relative;display:flex;align-items:center;gap:6px;padding:10px 16px;background:transparent;border:none;border-radius:8px;font-family:inherit;font-size:0.8125rem;font-weight:600;letter-spacing:0.02em;color:rgba(255,255,255,0.5);cursor:pointer;transition:all 0.2s cubic-bezier(0.4, 0, 0.2, 1);white-space:nowrap}.distance-filter-btn:hover:not(.active){color:rgba(255,255,255,0.8);background:rgba(255,255,255,0.05)}.distance-filter-btn.active{background:linear-gradient(135deg, #FF6B35 0%, #e85a28 100%);color:white;box-shadow:0 2px 8px rgba(255,107,53,0.3),inset 0 1px 0 rgba(255,255,255,0.15)}.filter-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;font-size:0.6875rem;font-weight:700;border-radius:10px;background:rgba(255,255,255,0.1);color:rgba(255,255,255,0.6)}.distance-filter-btn.active .filter-count{background:rgba(255,255,255,0.2);color:white}.active-filter-display{display:none;align-items:center;gap:8px;padding:8px 12px;background:rgba(255,107,53,0.1);border:1px solid rgba(255,107,53,0.2);border-radius:8px;font-size:0.8125rem;color:rgba(255,255,255,0.8)}.active-filter-display.visible{display:flex}.clear-filter-btn{display:flex;align-items:center;justify-content:center;width:20px;height:20px;background:rgba(255,255,255,0.1);border:none;border-radius:50%;color:rgba(255,255,255,0.6);cursor:pointer;transition:all 0.15s}.clear-filter-btn:hover{background:rgba(255,107,53,0.3);color:white}.console-chart{position:relative;z-index:2;padding:20px 28px 28px}.chart-header{display:flex;align-items:baseline;gap:12px;margin-bottom:16px}.chart-title{font-family:var(--font-display);font-size:1rem;font-weight:600;color:white;letter-spacing:-0.01em}.chart-subtitle{font-size:0.8125rem;color:rgba(255,255,255,0.4)}.console-chart .chart-container{height:260px;background:rgba(0,0,0,0.2);border-radius:12px;padding:16px;border:1px solid rgba(255,255,255,0.04)}@media (max-width: 1024px){.console-stats{grid-template-columns:repeat(2, 1fr);gap:12px;padding:20px 24px}}@media (max-width: 767px){.race-console{border-radius:16px}.console-stats{grid-template-columns:repeat(2, 1fr);gap:10px;padding:16px 20px}.console-stats .stat-card--dark,.console-stats .stat-card--pr-gold{padding:14px 16px}.console-divider{margin:0 20px}.console-command-bar{padding:16px 20px}.race-search-container{max-width:none}.distance-filters{flex-wrap:wrap;justify-content:center}.distance-filter-btn{padding:8px 12px;font-size:0.75rem}.console-chart{padding:16px 20px 20px}.console-chart .chart-container{height:220px;padding:12px}}@media (max-width: 480px){.console-stats{grid-template-columns:1fr 1fr;gap:8px;padding:14px 16px}.console-stats .stat-card--dark,.console-stats .stat-card--pr-gold{padding:12px 14px}.stat-number{font-size:1.25rem}.stat-label{font-size:0.6875rem}.console-divider{margin:0 16px}.console-command-bar{padding:14px 16px;gap:12px}.console-chart{padding:14px 16px 16px}}.chart-section{background:var(--color-white);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-sm)}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-5)}.section-title{font-family:var(--font-display);font-size:1.125rem;font-weight:600}.chart-filters{display:flex;gap:var(--space-2)}.filter-btn{padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:0.75rem;font-weight:500;color:var(--color-text-secondary);background:var(--color-bg);border:none;cursor:pointer;transition:all var(--transition-fast)}.filter-btn:hover{background:var(--color-border)}.filter-btn.active{background:var(--color-primary);color:white}.chart-container{height:280px}.chart-pagination{display:flex;align-items:center;justify-content:center;gap:var(--space-4);margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border-light)}.chart-nav{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-full);background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast)}.chart-nav:hover:not(:disabled){background:var(--color-border);color:var(--color-text)}.chart-nav:disabled{opacity:0.4;cursor:not-allowed}.chart-pagination-info{font-size:0.8125rem;color:var(--color-text-muted)}.suggested-alert{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-5);background:linear-gradient(135deg, #FEF3C7 0%, #FDE68A 100%);border:1px solid #F59E0B;border-radius:var(--radius-lg)}.alert-icon{font-size:1.5rem}.alert-content{flex:1}.alert-content strong{display:block;color:#92400E;margin-bottom:var(--space-1)}.alert-content p{font-size:0.875rem;color:#A16207;margin:0}.race-list-section{background:var(--color-white);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-sm)}.section-actions{display:flex;gap:var(--space-3)}.race-list{display:flex;flex-direction:column}.race-row{display:flex;align-items:flex-start;gap:var(--space-4);padding:var(--space-4) 0;border-bottom:1px solid var(--color-border-light)}.race-row:last-child{border-bottom:none}.race-date{display:flex;flex-direction:column;align-items:center;min-width:50px;padding:var(--space-2);background:var(--color-bg);border-radius:var(--radius-md);text-align:center}.date-month{font-size:0.625rem;font-weight:600;text-transform:uppercase;color:var(--color-text-secondary)}.date-day{font-family:var(--font-display);font-size:1.25rem;font-weight:700;line-height:1;color:var(--color-text)}.date-year{font-size:0.625rem;color:var(--color-text-muted)}.race-info{flex:1;min-width:0}.race-name-row{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-1)}.race-name{font-weight:600;color:var(--color-text);text-decoration:none}.race-name:hover{color:var(--color-primary)}.pr-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:linear-gradient(135deg, #FFD93D 0%, #F4A83D 100%);border-radius:var(--radius-full);font-size:0.625rem;font-weight:700;color:#1A1A1A;text-transform:uppercase}.race-meta{display:flex;align-items:center;gap:var(--space-3);font-size:0.875rem}.race-location{color:var(--color-text-secondary)}.distance-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--radius-sm);font-size:0.75rem;font-weight:500}.distance-badge--5k{background:rgba(16,185,129,0.1);color:#059669}.distance-badge--10k{background:rgba(59,130,246,0.1);color:#2563EB}.distance-badge--half{background:rgba(139,92,246,0.1);color:#7C3AED}.distance-badge--marathon{background:rgba(236,72,153,0.1);color:#DB2777}.distance-badge--ultra{background:rgba(245,158,11,0.1);color:#D97706}.distance-badge--other{background:var(--color-bg);color:var(--color-text-secondary)}.goal-indicator{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;background:linear-gradient(135deg, rgba(255,107,53,0.08) 0%, rgba(255,107,53,0.04) 100%);border:1px solid rgba(255,107,53,0.15);border-radius:var(--radius-full);font-size:0.7rem;margin-left:var(--space-2)}.goal-indicator .goal-effort-icon{font-size:0.8rem}.goal-indicator .goal-effort-label{font-weight:600;color:var(--color-primary);text-transform:uppercase;letter-spacing:0.03em}.goal-indicator .goal-divider{color:rgba(255,107,53,0.3)}.goal-indicator .goal-time{font-family:var(--font-mono);font-weight:500;color:var(--color-text)}.goal-indicator.clickable{cursor:pointer;transition:all 0.2s ease}.goal-indicator.clickable:hover{background:linear-gradient(135deg, rgba(255,107,53,0.15) 0%, rgba(255,107,53,0.08) 100%);border-color:rgba(255,107,53,0.3);transform:translateY(-1px)}.race-result{display:flex;flex-direction:column;align-items:flex-end;min-width:80px}.result-time{font-family:var(--font-mono);font-size:1rem;font-weight:600;color:var(--color-text)}.result-pace{font-size:0.75rem;color:var(--color-text-secondary)}.race-actions{display:flex;gap:var(--space-2)}.btn-icon-small{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-md);background:var(--color-bg);color:var(--color-text-secondary);border:none;cursor:pointer;transition:all var(--transition-fast)}.btn-icon-small:hover{background:var(--color-primary-light);color:var(--color-primary)}.pagination{display:flex;align-items:center;justify-content:center;gap:var(--space-4);margin-top:var(--space-6);padding-top:var(--space-6);border-top:1px solid var(--color-border-light)}.pagination-btn{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-size:0.875rem;font-weight:500;color:var(--color-text-secondary);background:var(--color-white);border:1px solid var(--color-border);cursor:pointer;transition:all var(--transition-fast)}.pagination-btn:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.pagination-btn:disabled{opacity:0.5;cursor:not-allowed}.pagination-info{font-size:0.875rem;color:var(--color-text-secondary)}.featured-race{background:linear-gradient(135deg, rgba(78,205,196,0.1) 0%, rgba(78,205,196,0.05) 100%);border:2px solid rgba(78,205,196,0.3);border-radius:var(--radius-xl);padding:var(--space-6)}.featured-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-5)}.featured-label{display:flex;align-items:center;gap:var(--space-2);font-size:0.875rem;font-weight:600;color:var(--color-teal-dark)}.featured-countdown{text-align:right}.countdown-number{font-family:var(--font-display);font-size:2.5rem;font-weight:700;color:var(--color-teal-dark);line-height:1}.countdown-label{font-size:0.75rem;color:var(--color-text-secondary);text-transform:uppercase}.featured-content{display:flex;gap:var(--space-6);align-items:flex-start}.featured-info{flex:1}.featured-name{font-family:var(--font-display);font-size:1.5rem;font-weight:700;margin-bottom:var(--space-2)}.featured-location{display:flex;align-items:center;gap:var(--space-2);color:var(--color-text-secondary);margin-bottom:var(--space-4)}.featured-meta{display:flex;gap:var(--space-4);font-size:0.875rem}.featured-race--energized{position:relative;display:block;text-decoration:none;color:inherit;background:linear-gradient(135deg, #fff 0%, #f8fffe 50%, rgba(78,205,196,0.08) 100%);border:1px solid rgba(78,205,196,0.2);border-radius:var(--radius-xl);padding:var(--space-6);overflow:hidden;cursor:pointer;transition:all 0.3s ease}.featured-race--energized:hover{transform:translateY(-2px);box-shadow:0 12px 40px rgba(78,205,196,0.15),0 4px 12px rgba(0,0,0,0.05);border-color:rgba(78,205,196,0.4)}.featured-motion-stripe{position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg, var(--color-teal) 0%, var(--color-teal-dark) 50%, var(--color-teal) 100%);background-size:200% 100%;animation:stripe-shimmer 3s ease-in-out infinite}@keyframes stripe-shimmer{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}.featured-countdown-glow{position:absolute;top:50%;right:10%;width:200px;height:200px;background:radial-gradient(circle, rgba(78,205,196,0.15) 0%, transparent 70%);transform:translateY(-50%);pointer-events:none}.featured-layout{position:relative;display:flex;gap:var(--space-6);align-items:stretch;z-index:1}.featured-info-section{flex:1;display:flex;flex-direction:column;gap:var(--space-3)}.featured-top-row{display:flex;align-items:center;gap:var(--space-3)}.featured-logo{width:44px;height:44px;border-radius:var(--radius-md);overflow:hidden;background:var(--color-bg);border:1px solid var(--color-border-light);flex-shrink:0}.featured-logo img{width:100%;height:100%;object-fit:contain}.featured-logo-fallback{display:none;width:100%;height:100%;align-items:center;justify-content:center;color:var(--color-teal);background:rgba(78,205,196,0.1)}.featured-race--energized .featured-label{font-size:0.75rem;font-weight:600;color:var(--color-teal-dark);text-transform:uppercase;letter-spacing:0.05em}.featured-race--energized .featured-name{font-family:var(--font-display);font-size:1.375rem;font-weight:700;color:var(--color-text);margin:0;line-height:1.2}.featured-meta-row{display:flex;flex-wrap:wrap;gap:var(--space-4);align-items:center}.featured-meta-item{display:flex;align-items:center;gap:var(--space-1);font-size:0.8125rem;color:var(--color-text-secondary)}.featured-meta-item svg{color:var(--color-text-muted);flex-shrink:0}.featured-weather{color:var(--color-teal-dark);font-weight:500}.featured-weather svg{color:#f59e0b}.featured-distance-row{display:flex;align-items:center;gap:var(--space-2)}.featured-distance-badge{display:inline-flex;padding:var(--space-1) var(--space-3);background:linear-gradient(135deg, var(--color-teal) 0%, var(--color-teal-dark) 100%);color:white;font-size:0.75rem;font-weight:600;border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:0.03em}.featured-distance-detail{font-size:0.75rem;color:var(--color-text-muted)}.featured-goal-section{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-1)}.featured-goal-badge{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:linear-gradient(135deg, rgba(255,107,53,0.1) 0%, rgba(255,107,53,0.05) 100%);border:1px solid rgba(255,107,53,0.2);border-radius:var(--radius-md);font-size:0.8125rem}.goal-effort-icon{font-size:1rem}.goal-effort-label{font-weight:700;color:var(--color-primary);text-transform:uppercase;letter-spacing:0.03em}.goal-divider{color:var(--color-text-muted)}.goal-time{font-family:var(--font-mono);font-weight:600;color:var(--color-text)}.featured-goal-edit{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:transparent;color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:all 0.2s ease}.featured-goal-edit:hover{background:var(--color-bg);color:var(--color-primary)}.featured-social{display:flex;align-items:center;gap:var(--space-2);margin-top:auto;padding-top:var(--space-2)}.featured-avatars{display:flex}.featured-avatars img{width:24px;height:24px;border-radius:50%;border:2px solid white;margin-left:-8px;background:var(--color-bg)}.featured-avatars img:first-child{margin-left:0}.featured-social-text{font-size:0.75rem;color:var(--color-text-secondary)}.featured-social-arrow{color:var(--color-text-muted);transition:transform 0.2s ease}.featured-race--energized:hover .featured-social-arrow{transform:translateX(2px);color:var(--color-teal)}.featured-countdown-section{display:flex;align-items:center;justify-content:center;flex-shrink:0}.featured-countdown-box{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100px;height:100px;background:linear-gradient(135deg, rgba(78,205,196,0.12) 0%, rgba(78,205,196,0.06) 100%);border:2px solid rgba(78,205,196,0.3);border-radius:var(--radius-lg)}.featured-countdown-box .countdown-number{font-family:var(--font-display);font-size:2.25rem;font-weight:800;color:var(--color-teal-dark);line-height:1;animation:countdown-pulse 2s ease-in-out infinite}.featured-countdown-box .countdown-unit{font-size:0.625rem;font-weight:700;color:var(--color-teal-dark);text-transform:uppercase;letter-spacing:0.1em;margin-top:2px}.featured-countdown-box .countdown-label{font-size:0.625rem;color:var(--color-text-muted);text-transform:lowercase;margin-top:4px}@keyframes countdown-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.02)}}@media (max-width: 640px){.featured-layout{flex-direction:column;gap:var(--space-4)}.featured-countdown-section{order:-1;justify-content:flex-start}.featured-countdown-box{width:80px;height:80px}.featured-countdown-box .countdown-number{font-size:1.75rem}}.featured-race--horizontal{position:relative;display:block;text-decoration:none;color:inherit;background:radial-gradient(ellipse at 100% 0%, rgba(78,205,196,0.12) 0%, transparent 50%),radial-gradient(ellipse at 0% 100%, rgba(255,107,53,0.06) 0%, transparent 40%),linear-gradient(135deg, #fff 0%, #f8fffe 60%, rgba(78,205,196,0.06) 100%);border:1px solid rgba(78,205,196,0.25);border-radius:var(--radius-xl);padding:var(--space-5) var(--space-6);overflow:hidden;cursor:pointer;transition:all 0.4s cubic-bezier(0.23, 1, 0.32, 1);box-shadow:0 2px 8px rgba(78,205,196,0.08),0 1px 3px rgba(0,0,0,0.04)}.featured-race--horizontal::before{content:'';position:absolute;top:-50%;right:-10%;width:200px;height:200px;background:radial-gradient(circle, rgba(78,205,196,0.15) 0%, transparent 70%);opacity:0.6;transition:opacity 0.4s ease, transform 0.4s ease;pointer-events:none;z-index:0}.featured-race--horizontal:hover{transform:translateY(-3px);border-color:rgba(78,205,196,0.45);box-shadow:0 20px 50px rgba(78,205,196,0.2),0 8px 20px rgba(0,0,0,0.06),inset 0 1px 0 rgba(255,255,255,0.8)}.featured-race--horizontal:hover::before{opacity:1;transform:scale(1.2)}.featured-race--horizontal .featured-motion-stripe{position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg, transparent 0%, var(--color-teal) 20%, var(--color-teal-dark) 50%, var(--color-teal) 80%, transparent 100%);background-size:200% 100%;animation:stripe-race 4s ease-in-out infinite;animation-delay:1s}@keyframes stripe-race{0%,15%{background-position:100% 50%;opacity:0.6}50%{background-position:0% 50%;opacity:1}85%,100%{background-position:-100% 50%;opacity:0.6}}.featured-3col{position:relative;z-index:1;display:grid;grid-template-columns:auto 1fr auto;gap:var(--space-5);align-items:center}.featured-logo-zone{display:flex;align-items:center;justify-content:center}.featured-logo-zone .featured-logo{position:relative;width:72px;height:72px;border-radius:var(--radius-lg);overflow:hidden;background:white;border:2px solid rgba(78,205,196,0.2);flex-shrink:0;box-shadow:0 4px 12px rgba(0,0,0,0.06),0 1px 3px rgba(0,0,0,0.04);transition:all 0.3s ease}.featured-race--horizontal:hover .featured-logo-zone .featured-logo{border-color:rgba(78,205,196,0.4);box-shadow:0 6px 16px rgba(78,205,196,0.15),0 2px 4px rgba(0,0,0,0.05);transform:scale(1.02)}.featured-logo-zone .featured-logo img{width:100%;height:100%;object-fit:contain;padding:4px}.featured-logo-zone .featured-logo-fallback{display:none;width:100%;height:100%;align-items:center;justify-content:center;color:var(--color-teal);background:linear-gradient(135deg, rgba(78,205,196,0.15) 0%, rgba(78,205,196,0.05) 100%)}.featured-info-zone{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.featured-row-1 .featured-name{font-family:var(--font-display);font-size:1.125rem;font-weight:700;color:var(--color-text);margin:0;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.featured-row-2{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.featured-row-2 .featured-meta-item{display:inline-flex;align-items:center;gap:4px;font-size:0.8125rem;color:var(--color-text-secondary)}.featured-row-2 .featured-meta-item svg{color:var(--color-text-muted);flex-shrink:0}.featured-row-2 .featured-weather{color:var(--color-teal-dark);font-weight:500}.featured-row-2 .featured-weather svg{color:#f59e0b}.featured-row-2 .featured-distance-badge{display:inline-flex;padding:2px var(--space-2);background:linear-gradient(135deg, var(--color-teal) 0%, var(--color-teal-dark) 100%);color:white;font-size:0.6875rem;font-weight:600;border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:0.03em}.featured-weather-pill{display:inline-flex;align-items:center;gap:4px;padding:2px 8px 2px 6px;background:linear-gradient(135deg, rgba(59,130,246,0.12) 0%, rgba(59,130,246,0.06) 100%);border:1px solid rgba(59,130,246,0.2);border-radius:var(--radius-full);font-size:0.7rem;font-weight:500;color:#2563eb;cursor:help;transition:all 0.2s ease}.featured-weather-pill:hover{background:linear-gradient(135deg, rgba(59,130,246,0.18) 0%, rgba(59,130,246,0.1) 100%);border-color:rgba(59,130,246,0.35)}.featured-weather-pill .weather-emoji{font-size:0.85rem;line-height:1}.featured-weather-pill .weather-temp{font-weight:600}.featured-row-3{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-1)}.featured-goal-inline{display:inline-flex;align-items:center;gap:var(--space-2);padding:6px var(--space-3);background:linear-gradient(135deg, rgba(255,107,53,0.1) 0%, rgba(255,107,53,0.04) 100%);border:1px solid rgba(255,107,53,0.2);border-radius:var(--radius-full);font-size:0.75rem;transition:all 0.25s ease}.featured-goal-inline.clickable{cursor:pointer}.featured-goal-inline.clickable:hover{background:linear-gradient(135deg, rgba(255,107,53,0.18) 0%, rgba(255,107,53,0.08) 100%);border-color:rgba(255,107,53,0.35);transform:translateY(-1px);box-shadow:0 2px 8px rgba(255,107,53,0.15)}.featured-goal-inline.clickable:active{transform:translateY(0);box-shadow:none}.featured-race--horizontal:hover .featured-goal-inline:not(.clickable){background:linear-gradient(135deg, rgba(255,107,53,0.14) 0%, rgba(255,107,53,0.06) 100%);border-color:rgba(255,107,53,0.3)}.featured-goal-inline .goal-effort-icon{font-size:0.9375rem;animation:flame-flicker 1.5s ease-in-out infinite}@keyframes flame-flicker{0%,100%{transform:scale(1)}25%{transform:scale(1.05) rotate(-2deg)}75%{transform:scale(0.98) rotate(2deg)}}.featured-goal-inline .goal-effort-label{font-weight:700;color:var(--color-primary);text-transform:uppercase;letter-spacing:0.04em;font-size:0.6875rem}.featured-goal-inline .goal-divider{color:rgba(255,107,53,0.3);font-weight:300}.featured-goal-inline .goal-time{font-family:var(--font-mono);font-weight:600;color:var(--color-text);letter-spacing:-0.02em}.featured-goal-inline .featured-goal-edit{display:flex;align-items:center;justify-content:center;width:18px;height:18px;margin-left:2px;border:none;background:rgba(255,107,53,0.08);color:var(--color-primary);cursor:pointer;border-radius:var(--radius-full);transition:all 0.2s ease;opacity:0.7}.featured-goal-inline .featured-goal-edit:hover{background:rgba(255,107,53,0.2);opacity:1;transform:scale(1.1)}.featured-going-stat{display:inline-flex;align-items:center;gap:6px;font-size:0.8rem;font-weight:600;color:var(--color-teal)}.featured-going-stat svg{opacity:0.8}.featured-countdown-zone{display:flex;align-items:center;justify-content:center;position:relative}.featured-countdown-zone::before{content:'';position:absolute;width:120px;height:120px;background:radial-gradient(circle, rgba(78,205,196,0.2) 0%, transparent 70%);border-radius:50%;opacity:0.6;animation:countdown-glow 3s ease-in-out infinite;pointer-events:none}@keyframes countdown-glow{0%,100%{transform:scale(0.9);opacity:0.4}50%{transform:scale(1.1);opacity:0.7}}.featured-countdown-compact{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:80px;padding:var(--space-4) var(--space-5);background:linear-gradient(145deg, rgba(78,205,196,0.15) 0%, rgba(78,205,196,0.08) 50%, rgba(78,205,196,0.12) 100%);border:2px solid rgba(78,205,196,0.35);border-radius:var(--radius-xl);box-shadow:0 4px 20px rgba(78,205,196,0.15),inset 0 1px 0 rgba(255,255,255,0.5),inset 0 -1px 0 rgba(78,205,196,0.1);transition:all 0.3s ease}.featured-race--horizontal:hover .featured-countdown-compact{border-color:rgba(78,205,196,0.5);box-shadow:0 8px 30px rgba(78,205,196,0.25),inset 0 1px 0 rgba(255,255,255,0.6),inset 0 -1px 0 rgba(78,205,196,0.15);transform:scale(1.03)}.featured-countdown-compact .countdown-number{font-family:var(--font-display);font-size:2rem;font-weight:800;color:var(--color-teal-dark);line-height:1;text-shadow:0 2px 4px rgba(78,205,196,0.2);animation:heartbeat 2s ease-in-out infinite}@keyframes heartbeat{0%,100%{transform:scale(1)}14%{transform:scale(1.05)}28%{transform:scale(1)}42%{transform:scale(1.03)}56%{transform:scale(1)}}.featured-countdown-compact .countdown-unit{font-size:0.6875rem;font-weight:700;color:var(--color-teal-dark);text-transform:uppercase;letter-spacing:0.12em;margin-top:4px;opacity:0.8}.featured-race--warming{background:radial-gradient(ellipse at 100% 0%, rgba(251,191,36,0.12) 0%, transparent 50%),radial-gradient(ellipse at 0% 100%, rgba(255,107,53,0.08) 0%, transparent 40%),linear-gradient(135deg, #fff 0%, #fffdf8 60%, rgba(251,191,36,0.06) 100%);border-color:rgba(251,191,36,0.25)}.featured-race--warming::before{background:radial-gradient(circle, rgba(251,191,36,0.15) 0%, transparent 70%)}.featured-race--warming:hover{border-color:rgba(251,191,36,0.45);box-shadow:0 20px 50px rgba(251,191,36,0.2),0 8px 20px rgba(0,0,0,0.06),inset 0 1px 0 rgba(255,255,255,0.8)}.featured-race--warming .featured-motion-stripe{background:linear-gradient(90deg, transparent 0%, #fbbf24 20%, #f59e0b 50%, #fbbf24 80%, transparent 100%);background-size:200% 100%}.featured-race--warming .featured-countdown-zone::before{background:radial-gradient(circle, rgba(251,191,36,0.25) 0%, transparent 70%)}.featured-race--warming .featured-countdown-compact{background:linear-gradient(145deg, rgba(251,191,36,0.18) 0%, rgba(251,191,36,0.1) 50%, rgba(251,191,36,0.15) 100%);border-color:rgba(251,191,36,0.4);box-shadow:0 4px 20px rgba(251,191,36,0.2),inset 0 1px 0 rgba(255,255,255,0.5),inset 0 -1px 0 rgba(251,191,36,0.1)}.featured-race--warming .featured-countdown-compact .countdown-number,.featured-race--warming .featured-countdown-compact .countdown-unit{color:#b45309}.featured-race--warming .featured-logo-zone .featured-logo{border-color:rgba(251,191,36,0.25)}.featured-race--warming:hover .featured-logo-zone .featured-logo{border-color:rgba(251,191,36,0.45);box-shadow:0 6px 16px rgba(251,191,36,0.2)}.featured-race--hot{background:radial-gradient(ellipse at 100% 0%, rgba(255,107,53,0.15) 0%, transparent 50%),radial-gradient(ellipse at 0% 100%, rgba(239,68,68,0.08) 0%, transparent 40%),linear-gradient(135deg, #fff 0%, #fff8f5 60%, rgba(255,107,53,0.08) 100%);border-color:rgba(255,107,53,0.3)}.featured-race--hot::before{background:radial-gradient(circle, rgba(255,107,53,0.18) 0%, transparent 70%)}.featured-race--hot:hover{border-color:rgba(255,107,53,0.5);box-shadow:0 20px 50px rgba(255,107,53,0.22),0 8px 20px rgba(0,0,0,0.06),inset 0 1px 0 rgba(255,255,255,0.8)}.featured-race--hot .featured-motion-stripe{background:linear-gradient(90deg, transparent 0%, #ff6b35 20%, #ea580c 50%, #ff6b35 80%, transparent 100%);background-size:200% 100%}.featured-race--hot .featured-countdown-zone::before{background:radial-gradient(circle, rgba(255,107,53,0.28) 0%, transparent 70%)}.featured-race--hot .featured-countdown-compact{background:linear-gradient(145deg, rgba(255,107,53,0.2) 0%, rgba(255,107,53,0.12) 50%, rgba(255,107,53,0.18) 100%);border-color:rgba(255,107,53,0.45);box-shadow:0 4px 20px rgba(255,107,53,0.25),inset 0 1px 0 rgba(255,255,255,0.5),inset 0 -1px 0 rgba(255,107,53,0.1)}.featured-race--hot .featured-countdown-compact .countdown-number,.featured-race--hot .featured-countdown-compact .countdown-unit{color:#c2410c}.featured-race--hot .featured-logo-zone .featured-logo{border-color:rgba(255,107,53,0.3)}.featured-race--hot:hover .featured-logo-zone .featured-logo{border-color:rgba(255,107,53,0.5);box-shadow:0 6px 16px rgba(255,107,53,0.25)}.featured-race--gotime{background:radial-gradient(ellipse at 100% 0%, rgba(239,68,68,0.18) 0%, transparent 50%),radial-gradient(ellipse at 0% 100%, rgba(220,38,38,0.1) 0%, transparent 40%),linear-gradient(135deg, #fff 0%, #fef2f2 60%, rgba(239,68,68,0.1) 100%);border-color:rgba(239,68,68,0.35)}.featured-race--gotime::before{background:radial-gradient(circle, rgba(239,68,68,0.2) 0%, transparent 70%);animation:gotime-pulse 1.5s ease-in-out infinite}@keyframes gotime-pulse{0%,100%{transform:scale(0.95);opacity:0.5}50%{transform:scale(1.15);opacity:0.8}}.featured-race--gotime:hover{border-color:rgba(239,68,68,0.55);box-shadow:0 20px 50px rgba(239,68,68,0.25),0 8px 20px rgba(0,0,0,0.06),inset 0 1px 0 rgba(255,255,255,0.8)}.featured-race--gotime .featured-motion-stripe{height:5px;background:linear-gradient(90deg, transparent 0%, #ef4444 15%, #dc2626 35%, #b91c1c 50%, #dc2626 65%, #ef4444 85%, transparent 100%);background-size:200% 100%;animation:stripe-race 2.5s ease-in-out infinite}.featured-race--gotime .featured-countdown-zone::before{background:radial-gradient(circle, rgba(239,68,68,0.35) 0%, transparent 70%);animation:gotime-glow 1.2s ease-in-out infinite}@keyframes gotime-glow{0%,100%{transform:scale(0.9);opacity:0.6}50%{transform:scale(1.2);opacity:0.9}}.featured-race--gotime .featured-countdown-compact{background:linear-gradient(145deg, rgba(239,68,68,0.22) 0%, rgba(239,68,68,0.14) 50%, rgba(239,68,68,0.2) 100%);border-color:rgba(239,68,68,0.5);box-shadow:0 4px 24px rgba(239,68,68,0.3),inset 0 1px 0 rgba(255,255,255,0.5),inset 0 -1px 0 rgba(239,68,68,0.15)}.featured-race--gotime .featured-countdown-compact .countdown-number{color:#b91c1c;animation:heartbeat-fast 1s ease-in-out infinite}@keyframes heartbeat-fast{0%,100%{transform:scale(1)}15%{transform:scale(1.08)}30%{transform:scale(1)}45%{transform:scale(1.05)}60%{transform:scale(1)}}.featured-race--gotime .featured-countdown-compact .countdown-unit{color:#dc2626}.featured-race--gotime .featured-logo-zone .featured-logo{border-color:rgba(239,68,68,0.35)}.featured-race--gotime:hover .featured-logo-zone .featured-logo{border-color:rgba(239,68,68,0.55);box-shadow:0 6px 16px rgba(239,68,68,0.3)}.featured-race--gotime .countdown-unit::after{content:' 🔥';animation:flame-flicker 0.8s ease-in-out infinite}@media (max-width: 640px){.featured-race--horizontal{padding:var(--space-4)}.featured-3col{grid-template-columns:1fr;gap:var(--space-4);text-align:center}.featured-logo-zone{order:1}.featured-logo-zone .featured-logo{width:56px;height:56px}.featured-info-zone{order:2;align-items:center}.featured-countdown-zone{order:0}.featured-countdown-zone::before{width:100px;height:100px}.featured-row-1 .featured-name{white-space:normal;text-align:center;font-size:1rem}.featured-row-2{justify-content:center;flex-wrap:wrap}.featured-row-3{flex-direction:column;gap:var(--space-2)}.featured-countdown-compact{flex-direction:row;gap:var(--space-3);padding:var(--space-3) var(--space-5);min-width:auto}.featured-countdown-compact .countdown-number{font-size:1.75rem}.featured-countdown-compact .countdown-unit{margin-top:0;font-size:0.75rem}}@media (min-width: 641px) and (max-width: 900px){.featured-race--horizontal{padding:var(--space-4) var(--space-5)}.featured-3col{grid-template-columns:auto 1fr auto;gap:var(--space-4)}.featured-logo-zone .featured-logo{width:64px;height:64px}.featured-countdown-compact{min-width:70px;padding:var(--space-3) var(--space-4)}.featured-countdown-compact .countdown-number{font-size:1.75rem}.featured-countdown-zone::before{width:100px;height:100px}}.featured-meta span{display:flex;align-items:center;gap:var(--space-2)}.featured-distance{padding:var(--space-1) var(--space-3);background:rgba(78,205,196,0.15);border-radius:var(--radius-sm);color:var(--color-teal-dark);font-weight:600}.featured-actions{display:flex;flex-direction:column;gap:var(--space-3)}.race-row--upcoming .race-date{background:linear-gradient(135deg, var(--color-teal) 0%, var(--color-teal-dark) 100%)}.race-row--upcoming .date-month,.race-row--upcoming .date-day,.race-row--upcoming .date-year{color:white}.race-countdown .countdown-days{font-family:var(--font-mono);font-size:1rem;font-weight:600;color:var(--color-teal-dark)}.race-countdown .countdown-text{font-size:0.75rem;color:var(--color-text-secondary)}.race-countdown{display:flex;flex-direction:column;align-items:flex-end;min-width:80px}.countdown-days{font-family:var(--font-mono);font-size:1rem;font-weight:600;color:var(--color-teal-dark)}.countdown-text{font-size:0.75rem;color:var(--color-text-secondary)}.race-row--suggested{border-left:3px solid #8B5CF6}.race-row--suggested .race-date{background:linear-gradient(135deg, #8B5CF6 0%, #6D28D9 100%)}.suggested-badge{font-size:0.65rem;font-weight:600;text-transform:uppercase;letter-spacing:0.05em;color:#7C3AED;background:rgba(139,92,246,0.15);padding:2px 8px;border-radius:4px;white-space:nowrap;margin-left:8px}.race-name-row{display:flex;align-items:center;flex-wrap:wrap;gap:4px}.friends-section{background:var(--color-white);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-sm)}.friend-race-row{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4) 0;border-bottom:1px solid var(--color-border-light)}.friend-race-row:last-child{border-bottom:none}.friend-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover}.friend-info{flex:1}.friend-name{font-weight:600;color:var(--color-primary)}.friend-race{font-size:0.875rem;color:var(--color-text-secondary)}.empty-state{text-align:center;padding:var(--space-12)}.empty-icon{font-size:3rem;margin-bottom:var(--space-4)}.empty-title{font-family:var(--font-display);font-size:1.25rem;font-weight:600;margin-bottom:var(--space-2)}.empty-description{color:var(--color-text-secondary);margin-bottom:var(--space-6)}.pr-records-widget{background:var(--color-white);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-sm);overflow:hidden}.pr-records-list{display:flex;flex-direction:column;gap:var(--space-3)}.pr-record{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background:linear-gradient(135deg, #FFFBEB 0%, #FEF3C7 100%);border:1px solid #FDE68A;border-radius:var(--radius-md)}.pr-record-icon{font-size:1.25rem}.pr-record-info{flex:1}.pr-record-distance{font-size:0.75rem;font-weight:600;text-transform:uppercase;letter-spacing:0.05em;color:var(--color-text-secondary)}.pr-record-time{font-family:var(--font-mono);font-size:1.125rem;font-weight:700;color:#92400E}.pr-record-date{font-size:0.75rem;color:var(--color-text-muted)}.friends-racing-widget{background:var(--color-white);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-sm);overflow:hidden}.friends-racing-list{display:flex;flex-direction:column;gap:var(--space-3)}.friend-race-item{display:flex;align-items:center;gap:var(--space-3);text-decoration:none;color:inherit;padding:var(--space-2);margin:calc(var(--space-2) * -1);border-radius:var(--radius-md);transition:background-color 0.15s ease}.friend-race-item:hover{background-color:var(--color-bg);text-decoration:none}.friend-race-avatar{width:40px;height:40px;border-radius:var(--radius-full)}.friend-race-info{flex:1;min-width:0}.friend-race-name{font-weight:600;font-size:0.875rem;color:var(--color-text)}.friend-race-event{font-size:0.8125rem;color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.friend-race-date{font-size:0.75rem;color:var(--color-teal-dark);font-weight:500}.suggested-races-widget{background:linear-gradient(135deg, rgba(78,205,196,0.1) 0%, rgba(78,205,196,0.05) 100%);border:1px solid rgba(78,205,196,0.2);border-radius:var(--radius-lg);padding:var(--space-5);overflow:hidden}.suggested-races-widget a{text-decoration:none}.suggested-races-widget a:hover{text-decoration:none}.suggested-races-widget .widget-link{color:var(--color-teal);margin-top:var(--space-3)}.suggested-races-widget .widget-link:hover{color:var(--color-teal-dark)}.suggested-races-list{display:flex;flex-direction:column;gap:var(--space-3)}.suggested-race{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--color-white);border-radius:var(--radius-md)}.suggested-race-date{display:flex;flex-direction:column;align-items:center;padding:var(--space-2);background:var(--color-teal);color:white;border-radius:var(--radius-sm);min-width:44px}.suggested-race-month{font-size:0.625rem;font-weight:600;text-transform:uppercase}.suggested-race-day{font-family:var(--font-display);font-size:1rem;font-weight:700;line-height:1}.suggested-race-info{flex:1;min-width:0}.suggested-race-name{font-weight:600;font-size:0.875rem;color:var(--color-text);margin-bottom:2px;text-decoration:none}.suggested-race-name a{color:inherit;text-decoration:none}.suggested-race-name a:hover{color:var(--color-teal-dark)}.suggested-race-meta{font-size:0.75rem;color:var(--color-text-secondary)}.suggested-race-meta a{color:inherit;text-decoration:none}.suggested-race-meta a:hover{color:var(--color-teal-dark)}.suggested-race a{text-decoration:none;color:inherit}.suggested-race a:hover{text-decoration:none}a.suggested-race{text-decoration:none;color:inherit;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--color-white);border-radius:var(--radius-md);transition:all var(--transition-fast)}a.suggested-race:hover{text-decoration:none;background:var(--color-gray-50);transform:translateX(2px)}.race-goals-widget{background:var(--color-white);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-sm);overflow:hidden}.race-goal{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);background:var(--color-bg);border-radius:var(--radius-md)}.race-goal+.race-goal{margin-top:var(--space-3)}.race-goal-header{display:flex;justify-content:space-between;align-items:center}.race-goal-label{font-weight:600;font-size:0.875rem;color:var(--color-text)}.race-goal-target{font-family:var(--font-mono);font-size:0.875rem;font-weight:600;color:var(--color-primary)}.race-goal-progress{height:6px;background:var(--color-border);border-radius:var(--radius-full);overflow:hidden}.race-goal-bar{height:100%;background:linear-gradient(90deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);border-radius:var(--radius-full)}.race-goal-stats{display:flex;justify-content:space-between;font-size:0.75rem;color:var(--color-text-muted)}@media (max-width: 768px){.stats-overview{grid-template-columns:repeat(2, 1fr)}.race-row{flex-wrap:wrap}.race-result{align-items:flex-start;margin-left:66px}.featured-content{flex-direction:column}.featured-actions{flex-direction:row;width:100%}}@media (max-width: 480px){.races-tabs{flex-direction:column}.stats-overview{grid-template-columns:1fr}.chart-filters{display:none}}.stats-overview--dark{position:relative;background:linear-gradient(180deg, #0F0F0F 0%, #1a1a2e 100%);border-radius:var(--radius-xl);padding:var(--space-6);overflow:hidden;border:1px solid rgba(255,255,255,0.08)}.stats-overview--dark .stats-glow{position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(ellipse at 20% 50%, rgba(255,107,53,0.12) 0%, transparent 50%),radial-gradient(ellipse at 80% 50%, rgba(78,205,196,0.08) 0%, transparent 50%);pointer-events:none;z-index:0}.stats-overview--dark .stat-card{position:relative;z-index:1}.stat-card--dark{background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.1);box-shadow:none}.stat-card--dark .stat-number{color:white}.stat-card--dark .stat-label{color:rgba(255,255,255,0.6)}.stat-card--dark .stat-icon--svg{color:rgba(255,255,255,0.7)}.stat-card--pr-gold{position:relative;background:linear-gradient(135deg, #FFD93D 0%, #F4A83D 100%);border:none;box-shadow:0 4px 20px rgba(255,215,61,0.3);overflow:hidden}.stat-card--pr-gold .stat-shimmer{position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle, rgba(255,255,255,0.4) 0%, transparent 70%);animation:shimmer 3s ease-in-out infinite;pointer-events:none}@keyframes shimmer{0%,100%{transform:translate(-20%, -20%);opacity:0.3}50%{transform:translate(20%, 20%);opacity:0.6}}.stat-card--pr-gold .stat-number{color:#1A1A1A}.stat-card--pr-gold .stat-label{color:rgba(26,26,26,0.7)}.stat-card--pr-gold .stat-icon--trophy{color:#92400E}.stat-icon--svg{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:var(--radius-md);background:rgba(255,255,255,0.05)}.stat-card--pr-gold .stat-icon--svg{background:rgba(255,255,255,0.3)}.chart-section--dark{position:relative;background:linear-gradient(180deg, #0F0F0F 0%, #1a1a2e 100%);border:1px solid rgba(255,255,255,0.08);overflow:hidden}.chart-section--dark .chart-section-glow{position:absolute;top:0;left:0;right:0;height:150px;background:radial-gradient(ellipse at 50% 0%, rgba(255,107,53,0.1) 0%, transparent 70%);pointer-events:none}.chart-section--dark .section-title{color:white}.chart-section--dark .filter-btn{background:rgba(255,255,255,0.05);color:rgba(255,255,255,0.6);border:1px solid rgba(255,255,255,0.1)}.chart-section--dark .filter-btn:hover:not(.active){background:rgba(255,255,255,0.1);color:white}.chart-section--dark .filter-btn.active{background:var(--color-primary);color:white;border-color:var(--color-primary)}.chart-section--dark .chart-pagination{border-top-color:rgba(255,255,255,0.1)}.chart-section--dark .chart-pagination-info{color:rgba(255,255,255,0.5)}.chart-section--dark .chart-nav{background:rgba(255,255,255,0.05);border-color:rgba(255,255,255,0.1);color:rgba(255,255,255,0.6)}.chart-section--dark .chart-nav:hover:not(:disabled){background:rgba(255,255,255,0.1);color:white}.race-row{transition:all 0.2s ease;border-radius:var(--radius-md);margin:0 calc(var(--space-2) * -1);padding-left:var(--space-2);padding-right:var(--space-2)}.race-row:hover{transform:translateX(4px);background:rgba(255,107,53,0.03);box-shadow:0 4px 12px rgba(0,0,0,0.05),inset 0 0 0 1px rgba(255,107,53,0.1)}.pr-badge{animation:badge-glow 2s ease-in-out infinite}@keyframes badge-glow{0%,100%{box-shadow:0 0 8px rgba(255,215,0,0.4)}50%{box-shadow:0 0 16px rgba(255,215,0,0.7)}}.result-time{font-size:1.125rem;font-weight:700;letter-spacing:-0.02em}.countdown-days{font-size:1.125rem;font-weight:700;letter-spacing:-0.02em}.pr-records-widget--dark{position:relative;background:linear-gradient(180deg, #0F0F0F 0%, #1a1a2e 100%);border:1px solid rgba(255,255,255,0.08);overflow:hidden}.pr-records-widget--dark .widget-glow{position:absolute;top:0;left:0;right:0;height:100%;background:radial-gradient(ellipse at 50% 0%, rgba(255,215,61,0.08) 0%, transparent 60%);pointer-events:none}.pr-records-widget--dark .widget-title{position:relative;z-index:1;display:flex;align-items:center;gap:var(--space-2);color:white}.pr-records-widget--dark .widget-title .title-icon{color:#FFD93D}.pr-records-widget--dark .pr-records-list{position:relative;z-index:1}.pr-record--gold{background:rgba(255,215,61,0.08);border:1px solid rgba(255,215,61,0.2)}.pr-record--gold .pr-record-icon{color:#FFD93D;display:flex;align-items:center;justify-content:center}.pr-record--gold .pr-record-distance{color:rgba(255,255,255,0.6)}.pr-record--gold .pr-record-time{color:#FFD93D}.pr-record--gold .pr-record-date{color:rgba(255,255,255,0.4)}.race-goals-widget .race-goal-bar{box-shadow:0 0 8px rgba(255,107,53,0.3)}.friend-race-avatar{border:2px solid var(--color-primary);padding:2px;background:white}.alert-icon--svg{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:var(--radius-md);background:rgba(245,158,11,0.2);color:#92400E}.flame-icon--svg{display:inline-flex;align-items:center;justify-content:center;color:#FF6B35;animation:flame-pulse 1.5s ease-in-out infinite}@keyframes flame-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.1)}}.prompt-tag .tag-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px}.prompt-tag .tag-icon svg{color:inherit}.stat-card--teal{position:relative;background:linear-gradient(135deg, rgba(78,205,196,0.15) 0%, rgba(78,205,196,0.08) 100%);border:1px solid rgba(78,205,196,0.3);box-shadow:0 4px 20px rgba(78,205,196,0.15);overflow:hidden}.stat-card--teal .stat-shimmer{position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle, rgba(78,205,196,0.3) 0%, transparent 70%);animation:shimmer-teal 3s ease-in-out infinite;pointer-events:none}@keyframes shimmer-teal{0%,100%{transform:translate(-20%, -20%);opacity:0.3}50%{transform:translate(20%, 20%);opacity:0.5}}.stat-card--teal .stat-number{color:#4ECDC4}.stat-card--teal .stat-label{color:rgba(255,255,255,0.7)}.stat-card--teal .stat-icon--svg{color:#4ECDC4;background:rgba(78,205,196,0.15)}.featured-race--dark{position:relative;background:linear-gradient(180deg, #0F0F0F 0%, #1a1a2e 100%);border:1px solid rgba(78,205,196,0.2);overflow:hidden}.featured-race--dark .featured-glow{position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(ellipse at 20% 20%, rgba(78,205,196,0.15) 0%, transparent 50%),radial-gradient(ellipse at 80% 80%, rgba(78,205,196,0.08) 0%, transparent 50%);pointer-events:none;z-index:0}.featured-race--dark .featured-header,.featured-race--dark .featured-content{position:relative;z-index:1}.featured-race--dark .featured-label{color:#4ECDC4}.featured-race--dark .featured-name{color:white}.featured-race--dark .featured-location{color:rgba(255,255,255,0.6)}.featured-race--dark .featured-meta{color:rgba(255,255,255,0.5)}.featured-race--dark .featured-distance{background:rgba(78,205,196,0.2);color:#4ECDC4}.featured-race--dark .countdown-number{color:#4ECDC4}.featured-race--dark .countdown-label{color:rgba(255,255,255,0.5)}.featured-race--dark .btn-primary{background:linear-gradient(135deg, #4ECDC4 0%, #26A69A 100%);border:none;color:#0F0F0F;font-weight:600}.featured-race--dark .btn-primary:hover{background:linear-gradient(135deg, #5FD5CD 0%, #2EB5A9 100%);transform:translateY(-1px)}.featured-race--dark .btn-secondary{background:transparent;border:1px solid rgba(255,255,255,0.3);color:white}.featured-race--dark .btn-secondary:hover{background:rgba(255,255,255,0.1);border-color:rgba(255,255,255,0.5)}.featured-race--dark .featured-actions{display:flex;gap:var(--space-3)}.featured-race--dark .featured-actions .btn{padding:var(--space-3) var(--space-5)}.featured-countdown--pulse .countdown-number{animation:countdown-pulse 2s ease-in-out infinite}@keyframes countdown-pulse{0%,100%{transform:scale(1);text-shadow:0 0 10px rgba(78,205,196,0.3)}50%{transform:scale(1.02);text-shadow:0 0 20px rgba(78,205,196,0.5)}}.btn-primary--teal{background:linear-gradient(135deg, #4ECDC4 0%, #26A69A 100%);border:none;box-shadow:0 4px 12px rgba(78,205,196,0.3)}.btn-primary--teal:hover{background:linear-gradient(135deg, #5FD5CD 0%, #2EB5A9 100%);box-shadow:0 6px 16px rgba(78,205,196,0.4);transform:translateY(-1px)}.btn-secondary--dark{background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.2);color:white}.btn-secondary--dark:hover{background:rgba(255,255,255,0.1);border-color:rgba(255,255,255,0.3)}.race-list-section--dark{position:relative;background:linear-gradient(180deg, #0F0F0F 0%, #1a1a2e 100%);border:1px solid rgba(255,255,255,0.08);overflow:hidden}.race-list-section--dark .race-list-glow{position:absolute;top:0;left:0;right:0;height:100px;background:radial-gradient(ellipse at 50% 0%, rgba(78,205,196,0.08) 0%, transparent 70%);pointer-events:none}.race-list-section--dark .section-header,.race-list-section--dark .race-list{position:relative;z-index:1}.race-list-section--dark .section-title{color:white}.race-list-section--dark .race-row{border-bottom-color:rgba(255,255,255,0.08)}.race-list-section--dark .race-name{color:white}.race-list-section--dark .race-name:hover{color:#4ECDC4}.race-list-section--dark .race-location{color:rgba(255,255,255,0.5)}.race-list-section--dark .race-row:hover{background:rgba(78,205,196,0.05);box-shadow:0 4px 12px rgba(0,0,0,0.2),inset 0 0 0 1px rgba(78,205,196,0.15)}.friends-section--dark{position:relative;background:linear-gradient(180deg, #0F0F0F 0%, #1a1a2e 100%);border:1px solid rgba(255,255,255,0.08);overflow:hidden}.friends-section--dark .friends-glow{position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(ellipse at 30% 30%, rgba(255,107,53,0.08) 0%, transparent 50%),radial-gradient(ellipse at 70% 70%, rgba(78,205,196,0.06) 0%, transparent 50%);pointer-events:none;z-index:0}.friends-section--dark .section-header,.friends-section--dark .race-list{position:relative;z-index:1}.friends-section--dark .section-title{color:white}.friend-race-row--dark{border-bottom-color:rgba(255,255,255,0.08)}.friend-race-row--dark .friend-avatar-wrapper{position:relative}.friend-race-row--dark .friend-avatar{border:2px solid #4ECDC4;padding:2px;background:rgba(78,205,196,0.1)}.friend-race-row--dark .friend-name{color:#4ECDC4}.friend-race-row--dark .friend-race{color:rgba(255,255,255,0.6)}.race-countdown--teal .countdown-days{color:#4ECDC4}.activity-stats-widget--dark{position:relative;background:linear-gradient(180deg, #0F0F0F 0%, #1a1a2e 100%);border:1px solid rgba(255,255,255,0.08);overflow:hidden}.activity-stats-widget--dark .widget-glow{position:absolute;top:0;left:0;right:0;height:100%;background:radial-gradient(ellipse at 50% 0%, rgba(255,107,53,0.08) 0%, transparent 60%);pointer-events:none}.activity-stats-widget--dark .widget-title{position:relative;z-index:1;display:flex;align-items:center;gap:var(--space-2);color:white}.activity-stats-widget--dark .widget-title svg{color:#FF6B35}.activity-stats-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2, 1fr);gap:var(--space-3);margin-bottom:var(--space-4)}.activity-stat{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);padding:var(--space-3);background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.06);border-radius:var(--radius-md);text-align:center}.activity-stat-icon{color:rgba(255,255,255,0.5)}.activity-stat-value{font-family:var(--font-mono);font-size:1.125rem;font-weight:700;color:white}.activity-stat-label{font-size:0.75rem;color:rgba(255,255,255,0.5);text-transform:uppercase;letter-spacing:0.05em}.activity-stat--highlight{background:rgba(255,107,53,0.1);border-color:rgba(255,107,53,0.2)}.activity-stat--highlight .activity-stat-icon{color:#FF6B35}.activity-stat--highlight .activity-stat-value{color:#FF6B35}.activity-stats-widget--dark .widget-link{position:relative;z-index:1;color:#FF6B35;font-size:0.875rem;text-decoration:none;font-weight:500}.activity-stats-widget--dark .widget-link:hover{text-decoration:underline}.suggested-races-widget--dark{position:relative;background:linear-gradient(180deg, #0F0F0F 0%, #1a1a2e 100%);border:1px solid rgba(78,205,196,0.15);overflow:hidden}.suggested-races-widget--dark .widget-glow--teal{position:absolute;top:0;left:0;right:0;height:100%;background:radial-gradient(ellipse at 50% 0%, rgba(78,205,196,0.1) 0%, transparent 60%);pointer-events:none}.suggested-races-widget--dark .widget-title{position:relative;z-index:1;display:flex;align-items:center;gap:var(--space-2);color:white}.suggested-races-widget--dark .widget-title svg{color:#4ECDC4}.suggested-races-widget--dark .suggested-races-list{position:relative;z-index:1}.suggested-race--dark{background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.06);transition:all 0.2s ease}.suggested-race--dark:hover{background:rgba(78,205,196,0.08);border-color:rgba(78,205,196,0.2);transform:translateX(4px)}.suggested-race--dark .suggested-race-name{color:white}.suggested-race--dark .suggested-race-meta{color:rgba(255,255,255,0.5)}.widget-link--teal{position:relative;z-index:1;color:#4ECDC4;font-size:0.875rem;text-decoration:none;font-weight:500;display:inline-block;margin-top:var(--space-3)}.widget-link--teal:hover{text-decoration:underline}@media (max-width: 768px){.stats-overview--dark{padding:var(--space-4)}.stat-icon--svg{width:40px;height:40px}.stat-icon--svg svg{width:20px;height:20px}.activity-stats-grid{gap:var(--space-2)}.activity-stat{padding:var(--space-2)}.activity-stat-value{font-size:1rem}}.profile-modal-overlay{position:fixed;inset:0;background:rgba(17,24,39,0.85);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;padding:24px;z-index:1000;opacity:0;visibility:hidden;transition:all var(--transition-slow)}.profile-modal-overlay.active,.profile-modal-overlay.is-open{opacity:1;visibility:visible}.profile-modal{background:white;border-radius:var(--radius-xl);width:100%;max-width:640px;max-height:calc(100vh - 48px);display:flex;flex-direction:column;box-shadow:var(--shadow-xl),0 0 80px var(--color-teal-glow);transform:scale(0.95) translateY(20px);transition:transform var(--transition-slow);overflow:hidden}.profile-modal-overlay.active .profile-modal,.profile-modal-overlay.is-open .profile-modal{transform:scale(1) translateY(0)}.modal-header{padding:24px 28px;border-bottom:1px solid var(--color-gray-200);display:flex;justify-content:space-between;align-items:flex-start}.header-content{flex:1}.modal-title{font-family:var(--font-display);font-size:1.5rem;font-weight:600;color:var(--color-gray-800);margin:0 0 4px}.modal-subtitle{font-size:0.9rem;color:var(--color-gray-500);margin:0}.modal-close{width:40px;height:40px;background:var(--color-gray-100);border:none;border-radius:var(--radius-md);color:var(--color-gray-500);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);flex-shrink:0;margin-left:16px}.modal-close:hover{background:var(--color-gray-200);color:var(--color-gray-700);transform:rotate(90deg)}.modal-tabs{display:flex;border-bottom:1px solid var(--color-gray-200);padding:0 28px;background:var(--color-gray-50)}.tab-btn{display:flex;align-items:center;gap:8px;padding:16px 20px;font-family:var(--font-body);font-size:0.9rem;font-weight:600;color:var(--color-gray-500);background:transparent;border:none;border-bottom:3px solid transparent;margin-bottom:-1px;cursor:pointer;transition:all var(--transition-fast)}.tab-btn:hover{color:var(--color-gray-700)}.tab-btn.active{color:var(--color-teal-dark);border-bottom-color:var(--color-teal-dark)}.tab-btn svg{opacity:0.7}.tab-btn.active svg{opacity:1}.modal-body{flex:1;overflow-y:auto;padding:0}.tab-content{display:none}.tab-content.active{display:block}.form-section{padding:24px 28px;border-bottom:1px solid var(--color-gray-200)}.form-section:last-child{border-bottom:none}.section-title{font-family:var(--font-display);font-size:1rem;font-weight:600;color:var(--color-gray-800);margin:0 0 16px}.photo-section{display:flex;justify-content:center}.photo-upload{display:flex;flex-direction:column;align-items:center;gap:16px}.photo-preview{position:relative;width:120px;height:120px;border-radius:50%;overflow:hidden;cursor:pointer;background:var(--color-gray-200)}.photo-preview img{width:100%;height:100%;object-fit:cover;font-size:0;color:transparent}.photo-preview img::before{content:'';position:absolute;inset:0;background:var(--color-gray-200)}.photo-preview img::after{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);width:40px;height:40px;background:var(--color-gray-400);border-radius:50%}.photo-overlay{position:absolute;inset:0;background:rgba(0,0,0,0.6);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;opacity:0;transition:opacity var(--transition-fast);color:white}.photo-overlay span{font-size:0.75rem;font-weight:600}.photo-preview:hover .photo-overlay{opacity:1}.photo-input{position:absolute;inset:0;opacity:0;cursor:pointer}.photo-actions{display:flex;gap:16px}.btn-link{padding:0;font-family:var(--font-body);font-size:0.85rem;font-weight:600;color:var(--color-teal-dark);background:transparent;border:none;cursor:pointer;transition:color var(--transition-fast)}.btn-link:hover{color:#0D9488}.btn-link.danger{color:var(--color-gray-400)}.btn-link.danger:hover{color:var(--color-error)}.form-group{margin-bottom:20px}.form-group:last-child{margin-bottom:0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-row .form-group{margin-bottom:0}.form-label{display:flex;align-items:center;justify-content:space-between;font-size:0.875rem;font-weight:600;color:var(--color-gray-700);margin-bottom:8px}.label-hint{font-weight:400;font-size:0.75rem;color:var(--color-gray-400)}.input-wrapper{position:relative}.input-prefix-wrapper{position:relative;display:flex;align-items:center}.input-prefix{position:absolute;left:16px;color:var(--color-gray-400);font-weight:600;z-index:1}.form-input,.form-textarea,.form-select{width:100%;padding:12px 16px;font-family:var(--font-body);font-size:0.95rem;color:var(--color-gray-800);background:var(--color-gray-50);border:2px solid var(--color-gray-200);border-radius:var(--radius-md);transition:all var(--transition-fast);outline:none}.form-input.with-prefix,.with-prefix.form-textarea,.with-prefix.form-select{padding-left:36px}.form-input::placeholder,.form-textarea::placeholder,.form-select::placeholder{color:var(--color-gray-400)}.form-input:focus,.form-textarea:focus,.form-select:focus{background:white;border-color:var(--color-teal-dark);box-shadow:0 0 0 4px var(--color-teal-glow)}.input-icon{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--color-gray-400);pointer-events:none}.select-wrapper{position:relative}.form-select{width:100%;padding:12px 40px 12px 16px;font-family:var(--font-body);font-size:0.95rem;color:var(--color-gray-800);background:var(--color-gray-50);border:2px solid var(--color-gray-200);border-radius:var(--radius-md);transition:all var(--transition-fast);outline:none;appearance:none;cursor:pointer}.form-select:focus{background:white;border-color:var(--color-teal-dark);box-shadow:0 0 0 4px var(--color-teal-glow)}.select-arrow{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--color-gray-400);pointer-events:none}.form-textarea{width:100%;padding:14px 16px;font-family:var(--font-body);font-size:0.95rem;line-height:1.6;color:var(--color-gray-800);background:var(--color-gray-50);border:2px solid var(--color-gray-200);border-radius:var(--radius-md);resize:vertical;min-height:100px;transition:all var(--transition-fast);outline:none}.form-textarea::placeholder{color:var(--color-gray-400)}.form-textarea:focus{background:white;border-color:var(--color-teal-dark);box-shadow:0 0 0 4px var(--color-teal-glow)}.char-count{display:block;text-align:right;font-family:var(--font-mono);font-size:0.75rem;color:var(--color-gray-400);margin-top:8px}.connected-accounts{display:flex;flex-direction:column;gap:12px}.account-row{display:flex;align-items:center;justify-content:space-between;padding:16px;background:var(--color-gray-50);border:1px solid var(--color-gray-200);border-radius:var(--radius-md)}.account-row.connected{background:var(--color-teal-light);border-color:var(--color-teal-dark)}.account-info{display:flex;align-items:center;gap:12px}.account-icon{width:40px;height:40px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:white}.account-icon.strava{background:#FC4C02}.account-icon.garmin{background:var(--color-gray-400)}.account-text{display:flex;flex-direction:column;gap:2px}.account-name{font-weight:600;font-size:0.9rem;color:var(--color-gray-800)}.account-status{font-size:0.8rem;color:var(--color-gray-500)}.btn-connect,.btn-disconnect{padding:8px 16px;font-family:var(--font-body);font-size:0.8rem;font-weight:600;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.btn-connect{background:var(--color-teal-dark);color:white;border:none}.btn-connect:hover{background:#0D9488}.btn-disconnect{background:transparent;color:var(--color-gray-500);border:1px solid var(--color-gray-300)}.btn-disconnect:hover{background:var(--color-error-light);color:var(--color-error);border-color:var(--color-error)}.section-hint{font-size:0.85rem;color:var(--color-gray-500);margin:-8px 0 16px;line-height:1.5}.identity-tags,.race-type-tags,.distance-tags{display:flex;flex-wrap:wrap;gap:10px}.identity-tag,.race-type-tag,.distance-tag{padding:10px 16px;font-family:var(--font-body);font-size:0.85rem;font-weight:500;color:var(--color-gray-600);background:var(--color-gray-50);border:2px solid var(--color-gray-200);border-radius:24px;cursor:pointer;transition:all var(--transition-fast)}.identity-tag:hover,.race-type-tag:hover,.distance-tag:hover{border-color:var(--color-teal-dark);background:var(--color-teal-light);color:var(--color-teal-dark)}.identity-tag.selected,.race-type-tag.selected,.distance-tag.selected{border-color:var(--color-teal-dark);background:var(--color-teal-dark);color:white}.pace-input-row{display:flex;align-items:center;gap:16px}.pace-input-group{display:flex;align-items:center;gap:4px}.pace-input{width:64px;text-align:center;font-family:var(--font-mono)}.pace-separator{font-family:var(--font-mono);font-size:1.2rem;font-weight:600;color:var(--color-gray-400)}.pace-unit{font-size:0.9rem;font-weight:500;color:var(--color-gray-500);margin-left:8px}.pace-hint{font-size:0.8rem;color:var(--color-gray-400)}.social-links-list{display:flex;flex-direction:column;gap:16px}.social-link-input .form-label{display:flex;align-items:center;gap:8px;justify-content:flex-start}.social-link-input .form-label svg{color:var(--color-gray-400)}.toggle-group{display:flex;flex-direction:column;gap:4px}.toggle-row{display:flex;align-items:center;justify-content:space-between;padding:16px;background:var(--color-gray-50);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast)}.toggle-row:hover{background:var(--color-gray-100)}.toggle-info{display:flex;flex-direction:column;gap:2px}.toggle-label{font-weight:600;font-size:0.9rem;color:var(--color-gray-800)}.toggle-hint{font-size:0.8rem;color:var(--color-gray-500)}.toggle-switch{position:relative}.toggle-switch input{position:absolute;opacity:0;pointer-events:none}.toggle-track{position:relative;display:block;width:48px;height:26px;background:var(--color-gray-300);border-radius:13px;transition:all var(--transition-fast)}.toggle-thumb{position:absolute;top:3px;left:3px;width:20px;height:20px;background:white;border-radius:50%;box-shadow:var(--shadow-sm);transition:all var(--transition-fast)}.toggle-switch input:checked+.toggle-track{background:var(--color-teal-dark)}.toggle-switch input:checked+.toggle-track .toggle-thumb{left:25px}.danger-zone{background:var(--color-error-light);border:1px solid var(--color-error);border-radius:var(--radius-md);margin:24px 28px;padding:20px !important}.danger-zone .section-title.danger{color:var(--color-error)}.danger-text{font-size:0.9rem;color:var(--color-gray-600);margin:0 0 16px}.btn-danger{padding:10px 20px;font-family:var(--font-body);font-size:0.9rem;font-weight:600;color:var(--color-error);background:transparent;border:2px solid var(--color-error);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.btn-danger:hover{background:var(--color-error);color:white}.modal-footer{padding:20px 28px;background:var(--color-gray-50);border-top:1px solid var(--color-gray-200);display:flex;justify-content:flex-end;gap:12px}.btn-secondary{padding:12px 24px;font-family:var(--font-body);font-size:0.95rem;font-weight:600;color:var(--color-gray-600);background:white;border:2px solid var(--color-gray-200);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.btn-secondary:hover{border-color:var(--color-gray-300);background:var(--color-gray-50)}.btn-primary{display:flex;align-items:center;gap:8px;padding:12px 28px;font-family:var(--font-body);font-size:0.95rem;font-weight:600;color:white;background:linear-gradient(135deg, var(--color-teal-dark) 0%, #0D9488 100%);border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);box-shadow:0 4px 12px var(--color-teal-glow)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px var(--color-teal-glow)}.btn-primary .btn-icon{opacity:0;width:0;transition:all var(--transition-fast)}.btn-primary.success{background:linear-gradient(135deg, var(--color-success) 0%, #059669 100%);box-shadow:0 4px 12px rgba(16,185,129,0.3)}.btn-primary.success .btn-icon{opacity:1;width:18px}@media (max-width: 640px){.profile-modal-overlay{padding:0;align-items:flex-end}.profile-modal{max-height:95vh;border-radius:var(--radius-xl) var(--radius-xl) 0 0;transform:translateY(100%)}.profile-modal-overlay.active .profile-modal{transform:translateY(0)}.modal-header{padding:20px}.modal-title{font-size:1.25rem}.modal-tabs{padding:0 20px;overflow-x:auto}.tab-btn{padding:14px 16px;white-space:nowrap}.form-section{padding:20px}.form-row{grid-template-columns:1fr}.identity-tags,.race-type-tags,.distance-tags{gap:8px}.identity-tag,.race-type-tag,.distance-tag{padding:8px 12px;font-size:0.8rem}.pace-input-row{flex-direction:column;align-items:flex-start;gap:8px}.pace-input{width:56px}.danger-zone{margin:20px}.modal-footer{padding:16px 20px}.btn-secondary,.btn-primary{flex:1;justify-content:center}}:root{--tier-rookie: #2AB673;--tier-explorer: #00B4D8;--tier-pacer: #FF6B35;--tier-trailblazer: #DC143C;--tier-bronze: #CD7F32;--tier-silver: #A8A9AD;--tier-gold: #F2B300;--tier-platinum: #E5E4E2;--tier-obsidian: #434343;--tier-diamond: #7DD3FC}:root{--rm-orange: #FF6B35;--rm-orange-dark: #E85A2A;--rm-orange-light: #FFF4ED;--rm-orange-glow: rgba(255, 107, 53, 0.3);--rm-gold: #FFD93D;--rm-gold-dark: #E6C235;--rm-success: #10B981;--rm-danger: #EF4444;--rm-danger-light: #FEE2E2;--rm-gray-50: #F9FAFB;--rm-gray-100: #F3F4F6;--rm-gray-200: #E5E7EB;--rm-gray-300: #D1D5DB;--rm-gray-400: #9CA3AF;--rm-gray-500: #6B7280;--rm-gray-600: #4B5563;--rm-gray-700: #374151;--rm-gray-800: #1F2937;--rm-gray-900: #111827;--rm-font-display: 'Clash Display', sans-serif;--rm-font-body: 'Instrument Sans', sans-serif;--rm-font-mono: 'Space Mono', monospace;--rm-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);--rm-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);--rm-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);--rm-shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);--rm-shadow-glow: 0 0 40px var(--rm-orange-glow);--rm-radius-sm: 6px;--rm-radius-md: 10px;--rm-radius-lg: 16px;--rm-radius-xl: 24px;--rm-transition-fast: 150ms ease;--rm-transition-base: 200ms ease;--rm-transition-slow: 300ms ease}.race-modal-overlay{position:fixed;inset:0;background:rgba(17,24,39,0.8);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:24px;z-index:1000;opacity:0;visibility:hidden;transition:all var(--rm-transition-slow)}.race-modal-overlay.active{opacity:1;visibility:visible}.race-modal-overlay.active .race-modal{transform:scale(1) translateY(0)}.race-modal{background:white;border-radius:var(--rm-radius-xl);width:100%;max-width:640px;max-height:calc(100vh - 48px);display:flex;flex-direction:column;box-shadow:var(--rm-shadow-xl),0 0 0 1px rgba(0,0,0,0.05);transform:scale(0.95) translateY(20px);transition:transform var(--rm-transition-slow);overflow:hidden}.race-modal *,.race-modal *::before,.race-modal *::after{box-sizing:border-box}.modal-header{background:linear-gradient(180deg, #0F0F0F 0%, #1a1a2e 100%);padding:24px 28px 20px;display:flex;align-items:flex-start;justify-content:space-between;position:relative;overflow:visible}.modal-header::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 20% 50%, rgba(255,107,53,0.15) 0%, transparent 50%),radial-gradient(ellipse at 80% 50%, rgba(78,205,196,0.1) 0%, transparent 50%);pointer-events:none}.modal-header::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg, transparent, rgba(255,107,53,0.5), rgba(78,205,196,0.3), transparent)}.modal-header-content{display:flex;align-items:center;gap:16px;position:relative;z-index:1}.modal-icon{width:56px;height:56px;background:linear-gradient(135deg, #FFD93D 0%, #F4A83D 100%);border-radius:var(--rm-radius-lg);display:flex;align-items:center;justify-content:center;color:#1a1a2e;flex-shrink:0;box-shadow:0 4px 20px rgba(255,217,61,0.3)}.modal-titles{color:white}.modal-title{font-family:var(--rm-font-display);font-size:1.5rem;font-weight:600;margin:0 0 4px;letter-spacing:-0.02em;color:white !important}.modal-subtitle{margin:0;font-size:0.9rem;opacity:0.9;color:rgba(255,255,255,0.85) !important}.modal-close{position:relative;z-index:1;width:36px;height:36px;background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.12);border-radius:var(--rm-radius-md);color:rgba(255,255,255,0.7);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--rm-transition-fast);flex-shrink:0}.modal-close:hover{background:rgba(255,255,255,0.15);color:white;border-color:rgba(255,255,255,0.2);transform:rotate(90deg)}.form-progress{display:flex;align-items:center;justify-content:center;padding:20px 28px;background:linear-gradient(180deg, #1a1a2e 0%, #252545 100%);border-bottom:1px solid rgba(255,255,255,0.08);position:relative}.form-progress::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 100%, rgba(255,107,53,0.08) 0%, transparent 70%);pointer-events:none}.progress-step{display:flex;align-items:center;gap:8px;opacity:0.4;transition:opacity var(--rm-transition-base);position:relative;z-index:1}.progress-step.active{opacity:1}.progress-step.active .step-number{background:linear-gradient(135deg, var(--rm-orange) 0%, var(--rm-orange-dark) 100%);border-color:var(--rm-orange);color:white;box-shadow:0 0 16px rgba(255,107,53,0.4)}.progress-step.active .step-label{color:white}.progress-step.completed{opacity:1}.progress-step.completed .step-number{background:var(--rm-success);border-color:var(--rm-success);color:white}.progress-step.completed .step-label{color:rgba(255,255,255,0.8)}.step-number{width:32px;height:32px;background:rgba(255,255,255,0.1);border:2px solid rgba(255,255,255,0.2);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--rm-font-mono);font-size:0.8rem;font-weight:700;color:rgba(255,255,255,0.5);transition:all var(--rm-transition-base)}.step-label{font-size:0.85rem;font-weight:500;color:rgba(255,255,255,0.6)}.progress-connector{width:40px;height:2px;background:rgba(255,255,255,0.15);margin:0 12px;border-radius:1px;position:relative;z-index:1}.modal-body{flex:1;overflow-y:auto;padding:0}.form-section{padding:24px 28px;border-bottom:1px solid var(--rm-gray-200);display:block}.form-section:last-child{border-bottom:none}.section-header{display:flex;align-items:center;gap:12px;margin-bottom:20px;padding-left:16px;position:relative}.section-header::before{content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:24px;background:linear-gradient(180deg, var(--rm-orange) 0%, var(--rm-orange-dark) 100%);border-radius:2px;box-shadow:0 2px 8px rgba(255,107,53,0.3)}.section-title{font-family:var(--rm-font-display);font-size:1.1rem;font-weight:600;color:var(--rm-gray-800);margin:0}.section-badge{font-size:0.7rem;font-weight:600;text-transform:uppercase;letter-spacing:0.05em;padding:4px 10px;background:linear-gradient(135deg, rgba(255,107,53,0.15) 0%, rgba(255,107,53,0.1) 100%);color:var(--rm-orange);border-radius:20px;border:1px solid rgba(255,107,53,0.2)}.section-badge.optional{background:var(--rm-gray-100);color:var(--rm-gray-500);border:1px solid var(--rm-gray-200)}.form-group{margin-bottom:20px}.form-group:last-child{margin-bottom:0}.race-modal .form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;width:100%;overflow:visible}.race-modal .form-row .form-group{margin-bottom:0;min-width:0}.race-modal .form-group.flex-1{flex:1}.race-modal .form-group.flex-2{flex:2}.form-label{display:flex;align-items:center;gap:6px;font-size:0.875rem;font-weight:600;color:var(--rm-gray-700);margin-bottom:8px}.label-icon{display:flex;color:var(--rm-gray-400)}.label-icon.trophy{color:var(--rm-gold)}.required-star{color:var(--rm-orange)}.input-wrapper{position:relative}.form-input,.form-textarea,.form-select{width:100%;box-sizing:border-box;padding:12px 16px;font-family:var(--rm-font-body);font-size:0.95rem;color:var(--rm-gray-800);background:var(--rm-gray-50);border:2px solid var(--rm-gray-200);border-radius:var(--rm-radius-md);transition:all var(--rm-transition-fast);outline:none}.form-input::placeholder,.form-textarea::placeholder,.form-select::placeholder{color:var(--rm-gray-400)}.form-input:focus,.form-textarea:focus,.form-select:focus{background:white;border-color:var(--rm-orange);box-shadow:0 0 0 4px var(--rm-orange-glow)}.form-input.error,.error.form-textarea,.error.form-select{border-color:var(--rm-danger);background:var(--rm-danger-light)}.form-input.compact,.compact.form-textarea,.compact.form-select{padding:10px 14px;font-size:0.9rem}.input-icon{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--rm-gray-400);pointer-events:none}.field-error{display:block;font-size:0.8rem;color:var(--rm-danger);margin-top:6px;opacity:0;transform:translateY(-4px);transition:all var(--rm-transition-fast)}.field-error.visible{opacity:1;transform:translateY(0)}.select-wrapper{position:relative}.form-select{width:100%;box-sizing:border-box;padding:12px 40px 12px 16px;font-family:var(--rm-font-body);font-size:0.95rem;color:var(--rm-gray-800);background:var(--rm-gray-50);border:2px solid var(--rm-gray-200);border-radius:var(--rm-radius-md);transition:all var(--rm-transition-fast);outline:none;appearance:none;cursor:pointer}.form-select:focus{background:white;border-color:var(--rm-orange);box-shadow:0 0 0 4px var(--rm-orange-glow)}.select-arrow{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--rm-gray-400);pointer-events:none}.distance-presets{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:16px}.preset-label{font-size:0.8rem;color:var(--rm-gray-500);margin-right:4px}.preset-btn{padding:8px 16px;font-family:var(--rm-font-mono);font-size:0.85rem;font-weight:700;border-radius:24px;cursor:pointer;transition:all var(--rm-transition-fast);border:2px solid}.preset-btn[data-distance="5"]{color:#059669;background:rgba(5,150,105,0.1);border-color:rgba(5,150,105,0.3)}.preset-btn[data-distance="5"]:hover{background:rgba(5,150,105,0.2);border-color:#059669;box-shadow:0 4px 12px rgba(5,150,105,0.2)}.preset-btn.selected[data-distance="5"]{background:linear-gradient(135deg, #059669 0%, #047857 100%);border-color:#059669;color:white;box-shadow:0 4px 16px rgba(5,150,105,0.4)}.preset-btn[data-distance="10"]{color:#2563EB;background:rgba(37,99,235,0.1);border-color:rgba(37,99,235,0.3)}.preset-btn[data-distance="10"]:hover{background:rgba(37,99,235,0.2);border-color:#2563EB;box-shadow:0 4px 12px rgba(37,99,235,0.2)}.preset-btn.selected[data-distance="10"]{background:linear-gradient(135deg, #2563EB 0%, #1D4ED8 100%);border-color:#2563EB;color:white;box-shadow:0 4px 16px rgba(37,99,235,0.4)}.preset-btn[data-distance="13.1"]{color:#7C3AED;background:rgba(124,58,237,0.1);border-color:rgba(124,58,237,0.3)}.preset-btn[data-distance="13.1"]:hover{background:rgba(124,58,237,0.2);border-color:#7C3AED;box-shadow:0 4px 12px rgba(124,58,237,0.2)}.preset-btn.selected[data-distance="13.1"]{background:linear-gradient(135deg, #7C3AED 0%, #6D28D9 100%);border-color:#7C3AED;color:white;box-shadow:0 4px 16px rgba(124,58,237,0.4)}.preset-btn[data-distance="26.2"]{color:#DB2777;background:rgba(219,39,119,0.1);border-color:rgba(219,39,119,0.3)}.preset-btn[data-distance="26.2"]:hover{background:rgba(219,39,119,0.2);border-color:#DB2777;box-shadow:0 4px 12px rgba(219,39,119,0.2)}.preset-btn.selected[data-distance="26.2"]{background:linear-gradient(135deg, #DB2777 0%, #BE185D 100%);border-color:#DB2777;color:white;box-shadow:0 4px 16px rgba(219,39,119,0.4)}.preset-btn[data-distance="50"]{color:var(--rm-orange);background:rgba(255,107,53,0.1);border-color:rgba(255,107,53,0.3)}.preset-btn[data-distance="50"]:hover{background:rgba(255,107,53,0.2);border-color:var(--rm-orange);box-shadow:0 4px 12px rgba(255,107,53,0.2)}.preset-btn.selected[data-distance="50"]{background:linear-gradient(135deg, var(--rm-orange) 0%, var(--rm-orange-dark) 100%);border-color:var(--rm-orange);color:white;box-shadow:0 4px 16px rgba(255,107,53,0.4)}.time-input-group{display:flex;align-items:center;gap:8px}.time-segment{display:flex;flex-direction:column;align-items:center}.time-input{width:80px;min-width:80px;box-sizing:border-box;padding:14px 8px;font-family:var(--rm-font-mono);font-size:1.4rem;font-weight:700;text-align:center;color:var(--rm-gray-800);background:var(--rm-gray-50);border:2px solid var(--rm-gray-200);border-radius:var(--rm-radius-md);transition:all var(--rm-transition-fast);outline:none;-moz-appearance:textfield}.time-input::-webkit-outer-spin-button,.time-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.time-input::placeholder{color:var(--rm-gray-300);font-weight:400}.time-input:focus{background:white;border-color:var(--rm-orange);box-shadow:0 0 0 4px var(--rm-orange-glow)}.time-label{font-size:0.7rem;font-weight:500;color:var(--rm-gray-400);text-transform:uppercase;letter-spacing:0.05em;margin-top:6px}.time-separator{font-family:var(--rm-font-mono);font-size:1.5rem;font-weight:700;color:var(--rm-gray-300);margin-bottom:20px}.placement-grid{display:grid;grid-template-columns:repeat(2, 1fr);gap:16px;margin-top:24px;padding:20px;background:linear-gradient(135deg, var(--rm-gray-50) 0%, white 100%);border:1px solid var(--rm-gray-200);border-radius:var(--rm-radius-lg)}@media (min-width: 480px){.placement-grid{grid-template-columns:repeat(4, 1fr)}}.star-rating-wrapper{margin-top:8px}.star-rating{display:flex;gap:4px}.star-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px 8px;background:var(--rm-gray-50);border:2px solid var(--rm-gray-200);border-radius:var(--rm-radius-md);cursor:pointer;transition:all var(--rm-transition-base)}.star-btn:hover{background:var(--rm-orange-light);border-color:var(--rm-orange)}.star-btn:hover .star-icon{fill:var(--rm-orange);transform:scale(1.1)}.star-btn.active{background:linear-gradient(135deg, #FFF9E6 0%, #FFFBF0 100%);border-color:var(--rm-gold)}.star-btn.active .star-icon{fill:var(--rm-gold);filter:drop-shadow(0 2px 4px rgba(255,217,61,0.4))}.star-btn.active .star-label{color:var(--rm-gold-dark)}.star-icon{width:32px;height:32px;fill:var(--rm-gray-300);stroke:none;transition:all var(--rm-transition-base)}.star-label{font-size:0.7rem;font-weight:600;color:var(--rm-gray-500);text-transform:uppercase;letter-spacing:0.03em}.prompt-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.prompt-tag{display:flex;align-items:center;gap:6px;padding:8px 14px;font-family:var(--rm-font-body);font-size:0.85rem;font-weight:500;color:var(--rm-gray-600);background:var(--rm-gray-50);border:1px solid var(--rm-gray-200);border-radius:20px;cursor:pointer;transition:all var(--rm-transition-fast)}.prompt-tag:hover{background:var(--rm-orange-light);border-color:var(--rm-orange);color:var(--rm-orange)}.prompt-tag:hover .tag-icon{color:var(--rm-orange)}.prompt-tag.selected{background:var(--rm-orange);border-color:var(--rm-orange);color:white}.prompt-tag.selected .tag-icon{color:white}.tag-icon{display:flex;align-items:center;justify-content:center;color:var(--rm-gray-400);transition:color var(--rm-transition-fast)}.tag-icon--trophy{color:var(--rm-gold)}.prompt-tag:hover .tag-icon--trophy{color:var(--rm-gold-dark)}.prompt-tag.selected .tag-icon--trophy{color:white}.textarea-wrapper{position:relative}.form-textarea{width:100%;padding:14px 16px;font-family:var(--rm-font-body);font-size:0.95rem;line-height:1.6;color:var(--rm-gray-800);background:var(--rm-gray-50);border:2px solid var(--rm-gray-200);border-radius:var(--rm-radius-md);resize:vertical;min-height:120px;transition:all var(--rm-transition-fast);outline:none}.form-textarea::placeholder{color:var(--rm-gray-400)}.form-textarea:focus{background:white;border-color:var(--rm-orange);box-shadow:0 0 0 4px var(--rm-orange-glow)}.char-count{position:absolute;bottom:12px;right:14px;font-family:var(--rm-font-mono);font-size:0.75rem;color:var(--rm-gray-400);background:white;padding:2px 6px;border-radius:4px}.char-count.over{color:var(--rm-danger)}.privacy-toggle{margin-top:20px;padding:16px;background:var(--rm-gray-50);border:1px solid var(--rm-gray-200);border-radius:var(--rm-radius-md)}.toggle-wrapper{display:flex;align-items:center;gap:14px;cursor:pointer}.toggle-wrapper input[type="checkbox"]{position:absolute;opacity:0;pointer-events:none}.toggle-wrapper input[type="checkbox"]:checked+.toggle-track{background:var(--rm-orange)}.toggle-wrapper input[type="checkbox"]:checked+.toggle-track .toggle-thumb{left:22px}.toggle-track{position:relative;width:44px;height:24px;background:var(--rm-gray-300);border-radius:12px;transition:all var(--rm-transition-fast);flex-shrink:0}.toggle-thumb{position:absolute;top:2px;left:2px;width:20px;height:20px;background:white;border-radius:50%;box-shadow:var(--rm-shadow-sm);transition:all var(--rm-transition-fast)}.toggle-content{display:flex;flex-direction:column;gap:2px}.toggle-label{font-size:0.9rem;font-weight:600;color:var(--rm-gray-700)}.toggle-hint{font-size:0.8rem;color:var(--rm-gray-500)}.modal-footer{padding:20px 28px;background:linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);border-top:1px solid var(--rm-gray-200);display:flex;align-items:center;justify-content:space-between;position:relative}.modal-footer::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg, transparent, rgba(255,255,255,0.8), transparent)}.footer-left{flex:1}.footer-actions{display:flex;gap:12px}.btn-delete{display:flex;align-items:center;gap:6px;padding:10px 16px;font-family:var(--rm-font-body);font-size:0.9rem;font-weight:600;color:var(--rm-danger);background:transparent;border:2px solid var(--rm-danger);border-radius:var(--rm-radius-md);cursor:pointer;transition:all var(--rm-transition-fast)}.btn-delete:hover{background:var(--rm-danger);color:white}.btn-secondary{padding:12px 24px;font-family:var(--rm-font-body);font-size:0.95rem;font-weight:600;color:var(--rm-gray-600);background:white;border:2px solid var(--rm-gray-200);border-radius:var(--rm-radius-md);cursor:pointer;transition:all var(--rm-transition-fast)}.btn-secondary:hover{border-color:var(--rm-gray-300);background:var(--rm-gray-50)}.btn-primary{display:flex;align-items:center;gap:8px;padding:12px 28px;font-family:var(--rm-font-body);font-size:0.95rem;font-weight:600;color:white;background:linear-gradient(135deg, var(--rm-orange) 0%, var(--rm-orange-dark) 100%);border:none;border-radius:var(--rm-radius-md);cursor:pointer;transition:all var(--rm-transition-fast);box-shadow:0 4px 12px var(--rm-orange-glow)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px var(--rm-orange-glow)}.btn-primary .btn-icon{opacity:0;width:0;transition:all var(--rm-transition-fast)}.btn-primary.success{background:linear-gradient(135deg, var(--rm-success) 0%, #059669 100%);box-shadow:0 4px 12px rgba(16,185,129,0.3)}.btn-primary.success .btn-icon{opacity:1;width:18px}@media (max-width: 640px){.race-modal-overlay{padding:0;align-items:flex-end}.race-modal{max-height:95vh;border-radius:var(--rm-radius-xl) var(--rm-radius-xl) 0 0;transform:translateY(100%)}.race-modal-overlay.active .race-modal{transform:translateY(0)}.modal-header{padding:20px 20px}.modal-icon{width:44px;height:44px}.modal-title{font-size:1.25rem}.form-progress{padding:16px 20px}.step-label{display:none}.progress-connector{width:24px;margin:0 8px}.form-section{padding:20px}.form-row{grid-template-columns:1fr}.time-input{width:70px;min-width:70px;padding:12px 6px;font-size:1.2rem}.placement-grid{grid-template-columns:repeat(2, 1fr);padding:16px;gap:12px}.star-rating{gap:2px}.star-btn{padding:12px 4px}.star-icon{width:24px;height:24px}.star-label{font-size:0.6rem}.prompt-tags{gap:6px}.prompt-tag{padding:6px 10px;font-size:0.8rem}.modal-footer{padding:16px 20px;flex-wrap:wrap;gap:12px}.footer-left{width:100%;order:2}.footer-actions{width:100%;order:1}.btn-secondary,.btn-primary{flex:1;justify-content:center}}.official-race-notice{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;background:linear-gradient(135deg, #FEF3C7 0%, #FDE68A 100%);border:1px solid #F59E0B;border-radius:var(--rm-radius-md);margin-bottom:20px;font-size:0.85rem;color:#92400E}.official-race-notice svg{flex-shrink:0;margin-top:2px;color:#D97706}.official-race-notice span{line-height:1.4}.field-readonly{background-color:var(--rm-gray-100) !important;color:var(--rm-gray-500) !important;cursor:not-allowed !important;border-color:var(--rm-gray-200) !important}.field-readonly:focus{outline:none !important;box-shadow:none !important;border-color:var(--rm-gray-200) !important}.form-select.field-readonly{background-color:var(--rm-gray-100);color:var(--rm-gray-500);cursor:not-allowed;opacity:0.7}.goal-race-modal-overlay{position:fixed;inset:0;background:rgba(17,24,39,0.8);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:24px;z-index:1000;opacity:0;visibility:hidden;transition:all 0.3s ease}.goal-race-modal-overlay.active{opacity:1;visibility:visible}.goal-race-modal{background:white;border-radius:24px;width:100%;max-width:560px;max-height:calc(100vh - 48px);display:flex;flex-direction:column;box-shadow:0 20px 25px -5px rgba(0,0,0,0.1),0 10px 10px -5px rgba(0,0,0,0.04),0 0 0 1px rgba(0,0,0,0.05);transform:scale(0.95) translateY(20px);transition:transform 0.3s ease}.goal-race-modal *,.goal-race-modal *::before,.goal-race-modal *::after{box-sizing:border-box}.goal-race-modal-overlay.active .goal-race-modal{transform:scale(1) translateY(0)}.grm-header{background:linear-gradient(180deg, #0F0F0F 0%, #1a1a2e 100%);padding:24px 28px 20px;display:flex;align-items:flex-start;justify-content:space-between;position:relative;overflow:visible}.grm-header::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 20% 50%, rgba(255,107,53,0.15) 0%, transparent 50%),radial-gradient(ellipse at 80% 50%, rgba(78,205,196,0.1) 0%, transparent 50%);pointer-events:none}.grm-header::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg, transparent, rgba(255,107,53,0.5), rgba(78,205,196,0.3), transparent)}.grm-header-content{display:flex;align-items:center;gap:16px;position:relative;z-index:1}.grm-icon{width:52px;height:52px;background:linear-gradient(135deg, #4ECDC4 0%, #3DB9B1 100%);border-radius:16px;display:flex;align-items:center;justify-content:center;color:white;flex-shrink:0;box-shadow:0 4px 20px rgba(78,205,196,0.3)}.grm-titles{color:white}.grm-title{font-family:var(--font-display, "Clash Display", sans-serif);font-size:1.4rem;font-weight:600;margin:0 0 4px;letter-spacing:-0.02em}.grm-subtitle{margin:0;font-size:0.875rem;color:rgba(255,255,255,0.7)}.grm-close{position:relative;z-index:1;width:36px;height:36px;background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.12);border-radius:10px;color:rgba(255,255,255,0.7);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all 0.15s ease;flex-shrink:0}.grm-close:hover{background:rgba(255,255,255,0.15);color:white;border-color:rgba(255,255,255,0.2);transform:rotate(90deg)}.grm-body{flex:1;overflow:visible;padding:24px 28px;position:relative;z-index:10}.grm-form-group{margin-bottom:20px;width:100%;max-width:100%;box-sizing:border-box}.grm-form-group.hidden{display:none}.grm-label{display:block;font-size:0.875rem;font-weight:600;color:var(--rm-gray-700, #374151);margin-bottom:8px}.grm-label .required{color:#FF6B35;margin-left:2px}.grm-input-with-button{display:flex;gap:10px;align-items:stretch;width:100%;max-width:100%}.grm-search-input{flex:1;min-width:0;box-sizing:border-box;padding:12px 16px;font-family:inherit;font-size:0.95rem;color:var(--rm-gray-800, #1F2937);background:var(--rm-gray-50, #F9FAFB);border:2px solid var(--rm-gray-200, #E5E7EB);border-radius:10px;transition:all 0.15s ease;outline:none}.grm-search-input::placeholder{color:var(--rm-gray-400, #9CA3AF)}.grm-search-input:focus{background:white;border-color:#FF6B35;box-shadow:0 0 0 4px rgba(255,107,53,0.3)}.grm-create-btn{padding:12px 20px;font-family:inherit;font-size:0.9rem;font-weight:600;color:var(--rm-gray-400, #9CA3AF);background:var(--rm-gray-100, #F3F4F6);border:2px solid var(--rm-gray-200, #E5E7EB);border-radius:10px;cursor:not-allowed;transition:all 0.15s ease;white-space:nowrap;display:flex;align-items:center;gap:6px;flex-shrink:0}.grm-create-btn:not(:disabled){color:white;background:linear-gradient(135deg, #FF6B35 0%, #E85A2A 100%);border-color:#FF6B35;cursor:pointer;box-shadow:0 2px 8px rgba(255,107,53,0.3)}.grm-create-btn:not(:disabled):hover{transform:translateX(2px);box-shadow:0 4px 12px rgba(255,107,53,0.3)}.grm-input{width:100%;max-width:100%;box-sizing:border-box;padding:12px 16px;font-family:inherit;font-size:0.95rem;color:var(--rm-gray-800, #1F2937);background:var(--rm-gray-50, #F9FAFB);border:2px solid var(--rm-gray-200, #E5E7EB);border-radius:10px;transition:all 0.15s ease;outline:none}.grm-input::placeholder{color:var(--rm-gray-400, #9CA3AF)}.grm-input:focus{background:white;border-color:#FF6B35;box-shadow:0 0 0 4px rgba(255,107,53,0.3)}.grm-select{width:100%;max-width:100%;box-sizing:border-box;padding:12px 16px;font-family:inherit;font-size:0.95rem;color:var(--rm-gray-800, #1F2937);background:var(--rm-gray-50, #F9FAFB);border:2px solid var(--rm-gray-200, #E5E7EB);border-radius:10px;transition:all 0.15s ease;outline:none;appearance:none;cursor:pointer;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='%239CA3AF' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:40px}.grm-select:focus{background-color:white;border-color:#FF6B35;box-shadow:0 0 0 4px rgba(255,107,53,0.3)}.grm-select--full{width:100%;max-width:none}.grm-distance-dropdown-row{display:none;width:100%}.grm-distance-dropdown-row.active{display:block}.grm-distance-row.hidden{display:none}.grm-autocomplete-container{position:relative;z-index:100}.grm-autocomplete-dropdown{position:absolute;top:calc(100% + 6px);left:0;right:0;background:white;border:1px solid var(--rm-gray-200, #E5E7EB);border-radius:16px;box-shadow:0 10px 15px -3px rgba(0,0,0,0.1),0 4px 6px -2px rgba(0,0,0,0.05);max-height:320px;overflow-y:auto;z-index:9999;display:none}.grm-autocomplete-dropdown.active{display:block;animation:grm-dropdown-slide 0.2s ease-out}@keyframes grm-dropdown-slide{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.grm-autocomplete-item{display:flex;align-items:center;gap:12px;padding:14px 16px;cursor:pointer;transition:all 0.15s ease;border-bottom:1px solid var(--rm-gray-100, #F3F4F6);border-left:4px solid #10B981;background:linear-gradient(90deg, #D1FAE5 0%, white 20%)}.grm-autocomplete-item:last-child{border-bottom:none}.grm-autocomplete-item:hover{background:linear-gradient(90deg, rgba(16,185,129,0.15) 0%, var(--rm-gray-50, #F9FAFB) 30%)}.grm-autocomplete-item.selected{background:linear-gradient(90deg, rgba(16,185,129,0.2) 0%, rgba(16,185,129,0.05) 50%)}.grm-race-indicator{width:10px;height:10px;background:#10B981;border-radius:50%;flex-shrink:0;box-shadow:0 0 8px rgba(16,185,129,0.4)}.grm-race-info{flex:1;min-width:0}.grm-race-name{font-weight:600;color:var(--rm-gray-800, #1F2937);font-size:0.95rem;margin-bottom:2px}.grm-race-meta{font-size:0.8rem;color:var(--rm-gray-500, #6B7280);display:flex;align-items:center;gap:8px}.grm-race-meta svg{width:12px;height:12px;color:var(--rm-gray-400, #9CA3AF)}.grm-race-name-row{display:flex;align-items:center;gap:8px;margin-bottom:2px}.grm-race-indicator--suggested{background:linear-gradient(135deg, #8B5CF6 0%, #3B82F6 100%);box-shadow:0 0 8px rgba(139,92,246,0.4)}.grm-autocomplete-item--suggested{border-left-color:#8B5CF6;background:linear-gradient(90deg, #EDE9FE 0%, white 20%)}.grm-autocomplete-item--suggested:hover{background:linear-gradient(90deg, rgba(139,92,246,0.15) 0%, var(--rm-gray-50, #F9FAFB) 30%)}.grm-race-type-badge{font-size:0.65rem;font-weight:600;text-transform:uppercase;letter-spacing:0.05em;color:#7C3AED;background:rgba(139,92,246,0.15);padding:2px 6px;border-radius:4px;white-space:nowrap}.grm-participants{color:#6B7280;font-size:0.75rem;margin-left:auto}.grm-preview-badge{font-size:0.7rem;font-weight:600;text-transform:uppercase;letter-spacing:0.05em;color:#7C3AED;background:rgba(139,92,246,0.15);padding:3px 8px;border-radius:4px;margin-left:8px;white-space:nowrap}.grm-additional-fields{display:none;margin-top:24px;padding-top:24px;border-top:1px solid var(--rm-gray-200, #E5E7EB);animation:grm-fields-reveal 0.3s ease-out;width:100%;max-width:100%}.grm-additional-fields.active{display:block}@keyframes grm-fields-reveal{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.grm-form-row-2col{display:grid;grid-template-columns:1fr 1fr;gap:16px;width:100%;max-width:100%}.grm-form-row-2col>*{min-width:0;max-width:100%}.grm-attending-section{display:none;margin-top:20px;border:2px solid var(--rm-gray-200, #E5E7EB);border-radius:16px;overflow:hidden;transition:all 0.2s ease}.grm-attending-section.active{display:block}.grm-attending-section.expanded{border-color:#FF6B35;background:#FFF4ED}.grm-attending-section .grm-checkbox-field{margin-top:0;border:none;border-radius:0;background:transparent}.grm-attending-section.expanded .grm-checkbox-field{background:transparent;border-bottom:1px solid rgba(255,107,53,0.2)}.grm-checkbox-field{display:flex;align-items:flex-start;gap:12px;padding:16px;background:var(--rm-gray-50, #F9FAFB);border:1px solid var(--rm-gray-200, #E5E7EB);border-radius:10px;cursor:pointer;transition:all 0.15s ease;margin-top:16px}.grm-checkbox-field:hover{background:#FFF4ED;border-color:#FF6B35}.grm-checkbox-field input{display:none}.grm-checkbox-box{width:22px;height:22px;background:white;border:2px solid var(--rm-gray-300, #D1D5DB);border-radius:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all 0.15s ease;margin-top:1px}.grm-checkbox-box svg{opacity:0;transform:scale(0.5);transition:all 0.15s ease;color:white}input:checked+.grm-checkbox-box{background:#FF6B35;border-color:#FF6B35}input:checked+.grm-checkbox-box svg{opacity:1;transform:scale(1)}.grm-checkbox-content{flex:1}.grm-checkbox-label{font-weight:600;color:var(--rm-gray-800, #1F2937);font-size:0.9rem}.grm-checkbox-hint{font-size:0.8rem;color:var(--rm-gray-500, #6B7280);margin-top:2px}.grm-distance-fields{display:none;padding:16px;background:rgba(255,107,53,0.05)}.grm-distance-fields.active{display:block;animation:slideDown 0.25s ease-out}@keyframes slideDown{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.grm-distance-header{display:flex;align-items:center;gap:8px;font-size:0.85rem;font-weight:600;color:var(--rm-gray-700, #374151);margin-bottom:12px}.grm-distance-header svg{color:#FF6B35}.grm-distance-row{display:grid;grid-template-columns:1fr 120px;gap:12px;max-width:100%}.grm-distance-row>*{min-width:0;max-width:100%}.grm-selected-preview{display:none}.grm-selected-preview.active{display:block;animation:previewSlideIn 0.3s ease-out}@keyframes previewSlideIn{from{opacity:0;transform:translateY(-10px) scale(0.98)}to{opacity:1;transform:translateY(0) scale(1)}}.grm-preview-card{background:linear-gradient(135deg, #0f0f0f 0%, #1a1a2e 100%);border-radius:16px;padding:20px;position:relative;overflow:hidden}.grm-preview-card::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 10% 20%, rgba(255,107,53,0.12) 0%, transparent 40%),radial-gradient(ellipse at 90% 80%, rgba(78,205,196,0.08) 0%, transparent 40%);pointer-events:none}.grm-preview-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;position:relative}.grm-preview-info{flex:1;min-width:0}.grm-preview-name{font-family:var(--font-display, "Clash Display", sans-serif);font-size:1.25rem;font-weight:600;color:white;margin-bottom:8px;line-height:1.2}.grm-preview-meta{display:flex;flex-wrap:wrap;gap:16px}.grm-preview-item{display:flex;align-items:center;gap:6px;font-size:0.85rem;color:rgba(255,255,255,0.7)}.grm-preview-item svg{color:rgba(255,255,255,0.5);flex-shrink:0}.grm-preview-countdown{text-align:center;padding:12px 16px;background:rgba(255,255,255,0.08);border-radius:10px;flex-shrink:0}.grm-countdown-num{font-family:var(--font-mono, "Space Mono", monospace);font-size:1.75rem;font-weight:700;color:#FF6B35;line-height:1}.grm-countdown-label{font-size:0.7rem;color:rgba(255,255,255,0.5);text-transform:uppercase;letter-spacing:0.05em;margin-top:4px}.grm-preview-footer{display:flex;align-items:center;justify-content:space-between;margin-top:16px;padding-top:16px;border-top:1px solid rgba(255,255,255,0.1);position:relative}.grm-preview-stats{display:flex;align-items:center;gap:20px}.grm-change-btn{display:flex;align-items:center;gap:6px;padding:8px 12px;background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.2);border-radius:6px;color:rgba(255,255,255,0.7);font-family:inherit;font-size:0.8rem;font-weight:500;cursor:pointer;transition:all 0.15s ease}.grm-change-btn:hover{background:rgba(255,255,255,0.15);border-color:rgba(255,255,255,0.3);color:white}.grm-footer{padding:20px 28px;background:linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);border-top:1px solid var(--rm-gray-200, #E5E7EB);position:relative;z-index:1}.grm-footer::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg, transparent, rgba(255,255,255,0.8), transparent)}.grm-footer-actions{display:flex;gap:12px}.grm-btn-cancel{flex:1;padding:12px 24px;font-family:inherit;font-size:0.95rem;font-weight:600;color:var(--rm-gray-600, #4B5563);background:white;border:2px solid var(--rm-gray-200, #E5E7EB);border-radius:10px;cursor:pointer;transition:all 0.15s ease}.grm-btn-cancel:hover{border-color:var(--rm-gray-300, #D1D5DB);background:var(--rm-gray-50, #F9FAFB)}.grm-btn-submit{flex:2;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 28px;font-family:inherit;font-size:0.95rem;font-weight:600;color:white;background:linear-gradient(135deg, #FF6B35 0%, #E85A2A 100%);border:none;border-radius:10px;cursor:pointer;transition:all 0.15s ease;box-shadow:0 4px 12px rgba(255,107,53,0.3)}.grm-btn-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px rgba(255,107,53,0.3)}.grm-btn-submit:disabled{background:var(--rm-gray-300, #D1D5DB);box-shadow:none;cursor:not-allowed;transform:none}@media (max-width: 640px){.goal-race-modal-overlay{padding:0;align-items:flex-end}.goal-race-modal{max-height:95vh;border-radius:24px 24px 0 0;transform:translateY(100%)}.goal-race-modal-overlay.active .goal-race-modal{transform:translateY(0)}.grm-header{padding:20px}.grm-icon{width:44px;height:44px}.grm-title{font-size:1.25rem}.grm-body{padding:20px}.grm-input-with-button{flex-direction:column}.grm-create-btn{width:100%;justify-content:center}.grm-form-row-2col{grid-template-columns:1fr}.grm-distance-row{grid-template-columns:1fr}.grm-footer{padding:16px 20px}.grm-footer-actions{flex-direction:column}.grm-btn-cancel,.grm-btn-submit{flex:none;width:100%}.grm-btn-submit{order:-1}}.review-modal-overlay{position:fixed;inset:0;background:rgba(17,24,39,0.8);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:24px;z-index:1000;opacity:0;visibility:hidden;transition:all 300ms ease}.review-modal-overlay.active{opacity:1;visibility:visible}.review-modal-overlay.active .review-modal{transform:scale(1) translateY(0)}.review-modal{background:white;border-radius:24px;width:100%;max-width:640px;max-height:calc(100vh - 48px);display:flex;flex-direction:column;box-shadow:0 20px 25px -5px rgba(0,0,0,0.1),0 10px 10px -5px rgba(0,0,0,0.04),0 0 0 1px rgba(0,0,0,0.05);transform:scale(0.95) translateY(20px);transition:transform 300ms ease;overflow:hidden}.review-modal-header{background:linear-gradient(180deg, #0F0F0F 0%, #1a1a2e 100%);padding:24px 28px 20px;display:flex;align-items:flex-start;justify-content:space-between;position:relative;overflow:visible}.review-modal-header::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 20% 50%, rgba(255,107,53,0.15) 0%, transparent 50%),radial-gradient(ellipse at 80% 50%, rgba(78,205,196,0.1) 0%, transparent 50%);pointer-events:none}.review-modal-header::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg, transparent, rgba(255,107,53,0.5), rgba(78,205,196,0.3), transparent)}.review-header-content{display:flex;align-items:center;gap:16px;position:relative;z-index:1}.review-header-icon{width:56px;height:56px;background:linear-gradient(135deg, #FFD93D 0%, #F4A83D 100%);border-radius:16px;display:flex;align-items:center;justify-content:center;color:#1a1a2e;flex-shrink:0;box-shadow:0 4px 20px rgba(255,217,61,0.3)}.review-header-titles{color:white}.review-modal-title{font-family:'Clash Display', sans-serif;font-size:1.5rem;font-weight:600;margin:0 0 4px;letter-spacing:-0.02em}.review-modal-subtitle{margin:0;font-size:0.9rem;opacity:0.9}.review-modal-close{position:relative;z-index:1;width:36px;height:36px;background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.12);border-radius:10px;color:rgba(255,255,255,0.7);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all 150ms ease;flex-shrink:0}.review-modal-close:hover{background:rgba(255,255,255,0.15);color:white;border-color:rgba(255,255,255,0.2);transform:rotate(90deg)}.review-results-count{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:linear-gradient(135deg, rgba(255,107,53,0.2) 0%, rgba(255,107,53,0.1) 100%);border:1px solid rgba(255,107,53,0.3);border-radius:20px;font-family:'Space Mono', monospace;font-size:0.75rem;font-weight:700;color:#FF6B35;margin-top:12px}.review-results-count svg{width:14px;height:14px}.review-modal-body{flex:1;overflow-y:auto;padding:0;background:white}.review-results-section{padding:24px 28px;border-bottom:1px solid #E5E7EB}.review-section-header{display:flex;align-items:center;gap:12px;margin-bottom:20px;padding-left:16px;position:relative}.review-section-header::before{content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:24px;background:linear-gradient(180deg, #FF6B35 0%, #E85A2A 100%);border-radius:2px;box-shadow:0 2px 8px rgba(255,107,53,0.3)}.review-section-title{font-family:'Clash Display', sans-serif;font-size:1.1rem;font-weight:600;color:#1F2937;margin:0}.review-section-badge{font-size:0.7rem;font-weight:600;text-transform:uppercase;letter-spacing:0.05em;padding:4px 10px;background:linear-gradient(135deg, rgba(255,107,53,0.15) 0%, rgba(255,107,53,0.1) 100%);color:#FF6B35;border-radius:20px;border:1px solid rgba(255,107,53,0.2)}.review-results-list{display:flex;flex-direction:column;gap:16px}.review-result-card{background:linear-gradient(135deg, #F9FAFB 0%, white 100%);border:1px solid #E5E7EB;border-radius:16px;padding:20px;position:relative;overflow:hidden;transition:all 200ms ease}.review-result-card:hover{border-color:#D1D5DB;box-shadow:0 4px 6px -1px rgba(0,0,0,0.1),0 2px 4px -1px rgba(0,0,0,0.06)}.review-result-card.claimed{background:linear-gradient(135deg, #ECFDF5 0%, #F0FDF4 100%);border-color:#10B981}.review-result-card.claimed .review-result-actions{display:none}.review-result-card.claimed .review-claimed-badge{display:flex}.review-result-card.dismissed{opacity:0.5;transform:scale(0.98)}.review-result-card::before{content:'';position:absolute;top:0;left:0;width:4px;height:100%;background:var(--badge-color, #FF6B35)}.review-result-card[data-distance="5k"]::before{--badge-color: #059669}.review-result-card[data-distance="10k"]::before{--badge-color: #2563EB}.review-result-card[data-distance="half"]::before{--badge-color: #7C3AED}.review-result-card[data-distance="marathon"]::before{--badge-color: #DB2777}.review-result-card[data-distance="ultra"]::before{--badge-color: #F59E0B}.review-result-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:12px}.review-result-info{flex:1}.review-result-name{font-family:'Clash Display', sans-serif;font-size:1.1rem;font-weight:600;color:#1F2937;margin:0 0 6px}.review-result-meta{display:flex;align-items:center;gap:12px;font-size:0.85rem;color:#6B7280}.review-result-meta span{display:flex;align-items:center;gap:4px}.review-result-meta svg{width:14px;height:14px;color:#9CA3AF}.review-distance-badge{padding:4px 10px;font-family:'Space Mono', monospace;font-size:0.75rem;font-weight:700;border-radius:20px;text-transform:uppercase}.review-distance-badge.dist-5k{background:rgba(5,150,105,0.1);color:#059669;border:1px solid rgba(5,150,105,0.3)}.review-distance-badge.dist-10k{background:rgba(37,99,235,0.1);color:#2563EB;border:1px solid rgba(37,99,235,0.3)}.review-distance-badge.dist-half{background:rgba(124,58,237,0.1);color:#7C3AED;border:1px solid rgba(124,58,237,0.3)}.review-distance-badge.dist-marathon{background:rgba(219,39,119,0.1);color:#DB2777;border:1px solid rgba(219,39,119,0.3)}.review-result-stats{display:flex;gap:20px;padding:12px 0;border-top:1px solid #E5E7EB;border-bottom:1px solid #E5E7EB;margin-bottom:16px}.review-stat{flex:1}.review-stat-value{font-family:'Space Mono', monospace;font-size:1.25rem;font-weight:700;color:#1F2937;display:block}.review-stat-label{font-size:0.7rem;color:#6B7280;text-transform:uppercase;letter-spacing:0.05em}.review-result-actions{display:flex;gap:10px}.review-btn-claim,.review-btn-dismiss{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;font-family:'Instrument Sans', sans-serif;font-size:0.9rem;font-weight:600;border-radius:10px;cursor:pointer;transition:all 150ms ease;border:2px solid transparent}.review-btn-claim{background:linear-gradient(135deg, #10B981 0%, #059669 100%);color:white;box-shadow:0 4px 12px rgba(16,185,129,0.3)}.review-btn-claim:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(16,185,129,0.4)}.review-btn-claim:disabled{background:#10B981;opacity:0.5;cursor:not-allowed;transform:none;box-shadow:none}.review-btn-dismiss{background:white;color:#6B7280;border-color:#E5E7EB}.review-btn-dismiss:hover{background:#FEE2E2;border-color:#EF4444;color:#EF4444}.review-btn-dismiss:disabled{opacity:0.3;cursor:not-allowed}.review-claimed-badge{display:none;align-items:center;justify-content:center;gap:8px;padding:12px;background:#ECFDF5;border:1px solid #10B981;border-radius:10px;color:#059669;font-weight:600}.review-find-more-section{padding:24px 28px}.review-find-more-card{padding:24px;background:linear-gradient(135deg, #F9FAFB 0%, white 100%);border:1px solid #E5E7EB;border-radius:16px}.review-find-more-header{display:flex;align-items:flex-start;gap:14px;margin-bottom:16px}.review-find-more-icon{width:48px;height:48px;background:linear-gradient(135deg, #EEF2FF 0%, #E0E7FF 100%);border:1px solid #C7D2FE;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#4F46E5;flex-shrink:0}.review-find-more-titles{flex:1}.review-find-more-title{font-family:'Clash Display', sans-serif;font-size:1.1rem;font-weight:600;color:#1F2937;margin:0 0 4px}.review-find-more-subtitle{font-size:0.85rem;color:#6B7280;margin:0}.review-search-limit{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:#FFFBEB;border:1px solid #FDE68A;border-radius:10px;margin-bottom:16px}.review-search-limit.exhausted{background:#FEF2F2;border-color:#FECACA}.review-search-limit.exhausted .review-search-limit-info{color:#991B1B}.review-search-limit.exhausted .review-search-limit-info svg{color:#DC2626}.review-search-limit.exhausted .review-get-more-link{color:#DC2626}.review-search-limit.exhausted .review-get-more-link:hover{color:#B91C1C}.review-search-limit-info{display:flex;align-items:center;gap:8px;font-size:0.85rem;color:#92400E}.review-search-limit-info svg{color:#D97706;flex-shrink:0}.review-search-limit-info strong{font-weight:600}.review-get-more-link{font-size:0.85rem;font-weight:600;color:#D97706;text-decoration:none;transition:color 150ms ease}.review-get-more-link:hover{color:#B45309;text-decoration:underline}.review-btn-search{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:14px 24px;font-family:'Instrument Sans', sans-serif;font-size:1rem;font-weight:600;color:white;background:linear-gradient(135deg, #4F46E5 0%, #4338CA 100%);border:none;border-radius:10px;cursor:pointer;transition:all 150ms ease;box-shadow:0 4px 12px rgba(79,70,229,0.3)}.review-btn-search:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(79,70,229,0.4)}.review-btn-search:disabled{background:#9CA3AF;box-shadow:none;cursor:not-allowed;transform:none}.review-modal-footer{padding:20px 28px;background:linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);border-top:1px solid #E5E7EB;position:relative}.review-modal-footer::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg, transparent, rgba(255,255,255,0.8), transparent)}.review-footer-stats{display:flex;align-items:center;justify-content:center;gap:32px}.review-footer-stat{text-align:center}.review-footer-stat-value{font-family:'Space Mono', monospace;font-size:1.5rem;font-weight:700;color:#1F2937;display:block}.review-footer-stat-value.claimed-count{color:#10B981}.review-footer-stat-label{font-size:0.75rem;color:#6B7280;text-transform:uppercase;letter-spacing:0.05em}.review-footer-divider{width:1px;height:40px;background:#D1D5DB}.review-confetti-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9999;overflow:hidden}.review-confetti{position:absolute;width:10px;height:10px;opacity:0}@keyframes confetti-fall{0%{opacity:1;transform:translateY(-100px) rotate(0deg)}100%{opacity:0;transform:translateY(100vh) rotate(720deg)}}@media (max-width: 640px){.review-modal-overlay{padding:0;align-items:flex-end}.review-modal{max-height:95vh;border-radius:24px 24px 0 0;transform:translateY(100%)}.review-modal-overlay.active .review-modal{transform:translateY(0)}.review-modal-header{padding:20px 20px}.review-header-icon{width:44px;height:44px}.review-modal-title{font-size:1.25rem}.review-results-section{padding:20px}.review-find-more-section{padding:20px}.review-result-stats{gap:12px}.review-stat-value{font-size:1.1rem}.review-result-actions{flex-direction:column}.review-modal-footer{padding:16px 20px}.review-footer-stats{gap:20px}}.goal-modal-overlay{position:fixed;inset:0;background:rgba(15,15,15,0.9);backdrop-filter:blur(16px);display:flex;align-items:center;justify-content:center;padding:24px;z-index:1000;opacity:0;visibility:hidden;pointer-events:none;transition:all var(--transition-slow, 300ms ease)}.goal-modal-overlay.active{opacity:1;visibility:visible;pointer-events:auto}.goal-modal{background:white;border-radius:var(--radius-xl, 24px);width:100%;max-width:680px;height:auto;min-height:600px;max-height:calc(100vh - 48px);display:flex;flex-direction:column;box-shadow:var(--shadow-xl, 0 20px 25px -5px rgba(0,0,0,0.1)),0 0 80px rgba(78,205,196,0.15),0 0 120px rgba(255,107,53,0.08);transform:scale(0.95) translateY(20px);transition:transform var(--transition-slow, 300ms ease);overflow:hidden}.goal-modal-overlay.active .goal-modal{transform:scale(1) translateY(0)}.goal-modal .goal-modal-form{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden}.goal-modal .modal-header{position:relative;padding:28px 28px 24px;background:linear-gradient(180deg, var(--rm-dark-bg, #0F0F0F) 0%, var(--rm-dark-surface, #1a1a2e) 100%);color:white;overflow:visible;border-bottom:none;flex-shrink:0}.goal-modal .modal-header::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(ellipse at 20% 0%, rgba(78,205,196,0.15) 0%, transparent 50%),radial-gradient(ellipse at 80% 100%, rgba(255,107,53,0.1) 0%, transparent 50%);pointer-events:none}.goal-modal .modal-header::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg, var(--rm-teal, #4ECDC4) 0%, var(--rm-teal-dark, #26A69A) 50%, var(--rm-orange, #FF6B35) 100%);opacity:0.8}.goal-modal .modal-header.modal-header--compact{padding:16px 20px 14px}.goal-modal .modal-header.modal-header--compact .race-name{font-size:2rem;margin-bottom:10px}.goal-modal .modal-header.modal-header--compact .race-meta-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:0.8rem;color:rgba(255,255,255,0.7)}.goal-modal .modal-header.modal-header--compact .race-meta-row .meta-location,.goal-modal .modal-header.modal-header--compact .race-meta-row .meta-date{color:rgba(255,255,255,0.7)}.goal-modal .modal-header.modal-header--compact .race-meta-row .separator{opacity:0.4}.goal-modal .modal-header.modal-header--compact .race-meta-row .race-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;margin-left:4px;background:rgba(78,205,196,0.15);border:1px solid rgba(78,205,196,0.3);border-radius:var(--radius-full, 9999px);font-family:var(--font-mono, "Space Mono", monospace);font-size:0.65rem;font-weight:700;color:var(--rm-teal, #4ECDC4);letter-spacing:0.02em}.goal-modal .modal-header.modal-header--compact .race-meta-row .race-badge svg{color:var(--rm-teal, #4ECDC4)}.goal-modal .modal-header.modal-header--compact .race-meta-row .distance-badge-pill{display:inline-flex;align-items:center;padding:3px 10px;background:rgba(255,107,53,0.2);border:1px solid rgba(255,107,53,0.4);border-radius:var(--radius-full, 9999px);font-family:var(--font-display, "Clash Display", sans-serif);font-size:0.7rem;font-weight:700;color:var(--rm-orange, #FF6B35);letter-spacing:0.02em;text-transform:uppercase}.goal-modal .modal-header.modal-header--compact .modal-close{width:32px;height:32px}.goal-modal .modal-header-bg{display:none}.goal-modal .modal-header-content{position:relative;z-index:1;width:100%}.goal-modal .race-context{flex:1}.goal-modal .race-badges{display:flex;align-items:center;gap:10px;margin-bottom:14px}.goal-modal .race-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;background:rgba(78,205,196,0.15);border:1px solid rgba(78,205,196,0.3);backdrop-filter:blur(10px);border-radius:var(--radius-full, 9999px);font-family:var(--font-mono, "Space Mono", monospace);font-size:0.75rem;font-weight:700;color:var(--rm-teal, #4ECDC4);margin-bottom:0;letter-spacing:0.03em}.goal-modal .race-badge svg{color:var(--rm-teal, #4ECDC4)}.goal-modal .distance-badge-pill{display:inline-flex;align-items:center;padding:8px 16px;background:rgba(255,107,53,0.2);border:1px solid rgba(255,107,53,0.4);backdrop-filter:blur(10px);border-radius:var(--radius-full, 9999px);font-family:var(--font-display, "Clash Display", sans-serif);font-size:0.875rem;font-weight:700;color:var(--rm-orange, #FF6B35);letter-spacing:0.02em;text-transform:uppercase}.goal-modal .race-name{font-family:var(--font-display, "Clash Display", sans-serif);font-size:1.5rem;font-weight:700;margin:0 0 10px;letter-spacing:-0.02em;color:white}.goal-modal .race-details{margin:0;font-size:0.875rem;color:rgba(255,255,255,0.7);display:flex;flex-wrap:wrap;gap:4px}.goal-modal .race-details .separator{opacity:0.4;margin:0 6px}.goal-modal .modal-close{position:absolute;top:0;right:0;width:40px;height:40px;background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.1);border-radius:var(--radius-md, 10px);color:rgba(255,255,255,0.7);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-base, 200ms ease);flex-shrink:0}.goal-modal .modal-close:hover{background:rgba(255,255,255,0.15);border-color:rgba(255,255,255,0.2);color:white;transform:rotate(90deg)}.goal-modal .modal-body{flex:1 1 auto;overflow-y:auto;padding:0;min-height:0;display:block !important;visibility:visible !important;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--rm-gray-300, #D1D5DB) var(--rm-gray-100, #F3F4F6)}.goal-modal .modal-body::-webkit-scrollbar{width:6px}.goal-modal .modal-body::-webkit-scrollbar-track{background:var(--rm-gray-100, #F3F4F6);border-radius:3px}.goal-modal .modal-body::-webkit-scrollbar-thumb{background:var(--rm-gray-300, #D1D5DB);border-radius:3px}.goal-modal .modal-body::-webkit-scrollbar-thumb:hover{background:var(--rm-gray-400, #9CA3AF)}.goal-modal .form-section{padding:24px 28px;border-bottom:1px solid var(--rm-gray-200, #E5E7EB);display:block;opacity:1;visibility:visible;transition:background-color var(--transition-base, 200ms ease)}.goal-modal .form-section:last-child{border-bottom:none}.goal-modal .form-section:hover{background-color:rgba(78,205,196,0.02)}.goal-modal .section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.goal-modal .section-title{font-family:var(--font-display, "Clash Display", sans-serif);font-size:1.05rem;font-weight:600;color:var(--rm-gray-800, #1F2937);margin:0}.goal-modal .section-hint{font-size:0.85rem;color:var(--rm-gray-500, #6B7280)}.goal-modal .goal-type-selector{display:grid;grid-template-columns:repeat(3, 1fr);gap:12px}.goal-modal .goal-type-option{position:relative;cursor:pointer}.goal-modal .goal-type-option input{position:absolute;opacity:0;pointer-events:none}.goal-modal .goal-type-option .option-content{padding:18px 16px;background:var(--rm-gray-50, #F9FAFB);border:2px solid var(--rm-gray-200, #E5E7EB);border-radius:var(--radius-lg, 16px);text-align:center;transition:all var(--transition-base, 200ms ease)}.goal-modal .goal-type-option:hover .option-content{border-color:var(--rm-teal, #4ECDC4);background:var(--rm-teal-light, #E0F7F5)}.goal-modal .goal-type-option.selected .option-content{border-color:var(--rm-teal, #4ECDC4);background:linear-gradient(135deg, var(--rm-teal-light, #E0F7F5) 0%, rgba(78,205,196,0.15) 100%);box-shadow:0 0 0 4px var(--rm-teal-glow, rgba(78,205,196,0.3))}.goal-modal .goal-type-option .option-icon{width:52px;height:52px;margin:0 auto 12px;background:white;border-radius:var(--radius-lg, 16px);display:flex;align-items:center;justify-content:center;color:var(--rm-gray-400, #9CA3AF);transition:all var(--transition-base, 200ms ease);box-shadow:var(--shadow-sm, 0 1px 2px rgba(0,0,0,0.05))}.goal-modal .goal-type-option:hover .option-icon{color:var(--rm-teal, #4ECDC4)}.goal-modal .goal-type-option.selected .option-icon{background:linear-gradient(135deg, var(--rm-teal, #4ECDC4) 0%, var(--rm-teal-dark, #26A69A) 100%);color:white;box-shadow:0 4px 12px var(--rm-teal-glow, rgba(78,205,196,0.3));transform:scale(1.05)}.goal-modal .goal-type-option .option-label{display:block;font-weight:600;font-size:0.9rem;color:var(--rm-gray-700, #374151);margin-bottom:4px}.goal-modal .goal-type-option.selected .option-label{color:var(--rm-teal-dark, #26A69A)}.goal-modal .goal-type-option .option-desc{display:block;font-size:0.75rem;color:var(--rm-gray-500, #6B7280)}.goal-modal .time-presets{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.goal-modal .preset-chip{padding:10px 18px;font-family:var(--font-mono, "Space Mono", monospace);font-size:0.8rem;font-weight:700;color:var(--rm-gray-600, #4B5563);background:var(--rm-gray-100, #F3F4F6);border:1px solid var(--rm-gray-200, #E5E7EB);border-radius:var(--radius-full, 9999px);cursor:pointer;transition:all var(--transition-base, 200ms ease)}.goal-modal .preset-chip:hover{background:var(--rm-teal-light, #E0F7F5);border-color:var(--rm-teal, #4ECDC4);color:var(--rm-teal-dark, #26A69A);transform:translateY(-1px)}.goal-modal .preset-chip.selected{background:linear-gradient(135deg, var(--rm-teal, #4ECDC4) 0%, var(--rm-teal-dark, #26A69A) 100%);border-color:var(--rm-teal, #4ECDC4);color:white;box-shadow:0 4px 12px var(--rm-teal-glow, rgba(78,205,196,0.3))}.goal-modal .time-input-group,.goal-modal .pace-input-group{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:24px}.goal-modal .time-segment,.goal-modal .pace-segment{display:flex;flex-direction:column;align-items:center}.goal-modal .time-input,.goal-modal .pace-input{width:80px;padding:16px 8px;font-family:var(--font-mono, "Space Mono", monospace);font-size:1.8rem;font-weight:700;text-align:center;color:var(--rm-gray-800, #1F2937);background:var(--rm-gray-50, #F9FAFB);border:2px solid var(--rm-gray-200, #E5E7EB);border-radius:var(--radius-lg, 16px);transition:all var(--transition-base, 200ms ease);outline:none}.goal-modal .time-input::placeholder,.goal-modal .pace-input::placeholder{color:var(--rm-gray-300, #D1D5DB);font-weight:400}.goal-modal .time-input:focus,.goal-modal .pace-input:focus{background:white;border-color:var(--rm-teal, #4ECDC4);box-shadow:0 0 0 4px var(--rm-teal-glow, rgba(78,205,196,0.3))}.goal-modal .time-label,.goal-modal .pace-label{font-size:0.7rem;font-weight:600;color:var(--rm-gray-400, #9CA3AF);text-transform:uppercase;letter-spacing:0.05em;margin-top:8px}.goal-modal .time-separator,.goal-modal .pace-separator{font-family:var(--font-mono, "Space Mono", monospace);font-size:2rem;font-weight:700;color:var(--rm-teal, #4ECDC4);margin-bottom:24px;opacity:0.5}.goal-modal .pace-unit-selector{margin-left:8px;margin-bottom:24px}.goal-modal .unit-select{padding:12px 16px;font-family:var(--font-body, "Instrument Sans", sans-serif);font-size:0.9rem;font-weight:600;color:var(--rm-gray-700, #374151);background:var(--rm-gray-100, #F3F4F6);border:2px solid var(--rm-gray-200, #E5E7EB);border-radius:var(--radius-md, 10px);cursor:pointer;outline:none;transition:all var(--transition-base, 200ms ease)}.goal-modal .unit-select:focus{border-color:var(--rm-teal, #4ECDC4)}.goal-modal .pace-calculator{background:linear-gradient(135deg, rgba(78,205,196,0.08) 0%, rgba(78,205,196,0.02) 100%);border:1px solid rgba(78,205,196,0.2);border-radius:var(--radius-lg, 16px);padding:20px;text-align:center}.goal-modal .pace-result{display:flex;align-items:center;justify-content:center;gap:12px}.goal-modal .pace-result .pace-label{font-size:0.85rem;color:var(--rm-gray-600, #4B5563);margin:0;text-transform:none;font-weight:500}.goal-modal .pace-result .pace-value{font-family:var(--font-mono, "Space Mono", monospace);font-size:1.5rem;font-weight:700;color:var(--rm-teal-dark, #26A69A)}.goal-modal .pace-result .pace-unit{font-size:0.85rem;color:var(--rm-gray-500, #6B7280)}.goal-modal .effort-slider-container{padding:8px 0}.goal-modal .effort-slider{-webkit-appearance:none;appearance:none;width:100%;height:8px;background:linear-gradient(90deg, #10B981 0%, #10B981 20%, #FBBF24 20%, #FBBF24 40%, #F97316 40%, #F97316 60%, #EF4444 60%, #EF4444 80%, #DC2626 80%, #DC2626 100%);border-radius:4px;outline:none;cursor:pointer}.goal-modal .effort-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:32px;height:32px;background:linear-gradient(180deg, #fff 0%, #f8f9fa 100%);border:3px solid var(--rm-teal, #4ECDC4);border-radius:50%;cursor:pointer;box-shadow:var(--shadow-md, 0 4px 6px -1px rgba(0,0,0,0.1)),0 0 0 4px rgba(78,205,196,0.15);transition:all var(--transition-fast, 150ms ease)}.goal-modal .effort-slider::-webkit-slider-thumb:hover{transform:scale(1.15);box-shadow:var(--shadow-lg, 0 10px 15px -3px rgba(0,0,0,0.1)),0 0 0 6px rgba(78,205,196,0.2);border-color:var(--rm-teal-dark, #26A69A)}.goal-modal .effort-slider::-webkit-slider-thumb:active{transform:scale(1.05);border-color:var(--rm-orange, #FF6B35);box-shadow:var(--shadow-md, 0 4px 6px -1px rgba(0,0,0,0.1)),0 0 0 6px rgba(255,107,53,0.2)}.goal-modal .effort-slider::-moz-range-thumb{width:32px;height:32px;background:linear-gradient(180deg, #fff 0%, #f8f9fa 100%);border:3px solid var(--rm-teal, #4ECDC4);border-radius:50%;cursor:pointer;box-shadow:var(--shadow-md, 0 4px 6px -1px rgba(0,0,0,0.1)),0 0 0 4px rgba(78,205,196,0.15)}.goal-modal .effort-slider::-moz-range-thumb:hover{transform:scale(1.15);border-color:var(--rm-teal-dark, #26A69A)}.goal-modal .effort-labels{display:flex;justify-content:space-between;margin-top:16px}.goal-modal .effort-label{display:flex;flex-direction:column;align-items:center;gap:4px;opacity:0.4;transition:all var(--transition-fast, 150ms ease)}.goal-modal .effort-label.active{opacity:1;transform:scale(1.1)}.goal-modal .effort-emoji{font-size:1.5rem}.goal-modal .effort-text{font-size:0.7rem;font-weight:600;color:var(--rm-gray-600, #4B5563);text-transform:uppercase;letter-spacing:0.03em}.goal-modal .goal-tags{display:flex;flex-wrap:wrap;gap:10px}.goal-modal .goal-tag{display:flex;align-items:center;gap:6px;padding:10px 16px;font-family:var(--font-body, "Instrument Sans", sans-serif);font-size:0.9rem;font-weight:500;color:var(--rm-gray-600, #4B5563);background:var(--rm-gray-50, #F9FAFB);border:2px solid var(--rm-gray-200, #E5E7EB);border-radius:24px;cursor:pointer;transition:all var(--transition-fast, 150ms ease)}.goal-modal .goal-tag input[type="checkbox"]{position:absolute;opacity:0;pointer-events:none}.goal-modal .goal-tag:hover{border-color:var(--rm-teal, #4ECDC4);background:var(--rm-teal-light, #E0F7F5);color:var(--rm-teal-dark, #26A69A);transform:translateY(-2px)}.goal-modal .goal-tag.selected{border-color:var(--rm-teal, #4ECDC4);background:linear-gradient(135deg, var(--rm-teal, #4ECDC4) 0%, var(--rm-teal-dark, #26A69A) 100%);color:white;box-shadow:0 4px 12px var(--rm-teal-glow, rgba(78,205,196,0.3))}.goal-modal .goal-tag .tag-icon{font-size:1.1rem}.goal-modal .custom-tag-input-wrapper{display:flex;align-items:center;gap:8px;margin-top:12px}.goal-modal .custom-tag-input{flex:1;padding:10px 14px;font-family:var(--font-body, "Instrument Sans", sans-serif);font-size:0.9rem;color:var(--rm-gray-800, #1F2937);background:var(--rm-gray-50, #F9FAFB);border:2px solid var(--rm-gray-200, #E5E7EB);border-radius:var(--radius-full, 9999px);outline:none;transition:all var(--transition-fast, 150ms ease)}.goal-modal .custom-tag-input::placeholder{color:var(--rm-gray-400, #9CA3AF)}.goal-modal .custom-tag-input:focus{background:white;border-color:var(--rm-teal, #4ECDC4);box-shadow:0 0 0 4px var(--rm-teal-glow, rgba(78,205,196,0.3))}.goal-modal .add-custom-tag-btn{display:flex;align-items:center;gap:6px;padding:10px 16px;font-family:var(--font-body, "Instrument Sans", sans-serif);font-size:0.85rem;font-weight:600;color:var(--rm-teal-dark, #26A69A);background:var(--rm-teal-light, #E0F7F5);border:2px solid transparent;border-radius:var(--radius-full, 9999px);cursor:pointer;transition:all var(--transition-fast, 150ms ease);white-space:nowrap}.goal-modal .add-custom-tag-btn:hover{background:var(--rm-teal, #4ECDC4);color:white}.goal-modal .add-custom-tag-btn:active{transform:scale(0.97)}.goal-modal .friends-section{margin-top:8px}.goal-modal .friends-list{display:flex;flex-direction:column;gap:8px}.goal-modal .friend-item{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--rm-gray-50, #F9FAFB);border:1px solid var(--rm-gray-200, #E5E7EB);border-radius:var(--radius-md, 10px);transition:all var(--transition-fast, 150ms ease)}.goal-modal .friend-item:hover{background:white;border-color:var(--rm-gray-300, #D1D5DB)}.goal-modal .friend-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;border:2px solid white;box-shadow:var(--shadow-sm, 0 1px 2px rgba(0,0,0,0.05))}.goal-modal .friend-info{flex:1;display:flex;flex-direction:column;gap:2px}.goal-modal .friend-name{font-weight:600;font-size:0.9rem;color:var(--rm-gray-800, #1F2937)}.goal-modal .notes-textarea{width:100%;padding:16px;font-family:var(--font-body, "Instrument Sans", sans-serif);font-size:0.95rem;line-height:1.6;color:var(--rm-gray-800, #1F2937);background:var(--rm-gray-50, #F9FAFB);border:2px solid var(--rm-gray-200, #E5E7EB);border-radius:var(--radius-md, 10px);resize:vertical;min-height:100px;transition:all var(--transition-fast, 150ms ease);outline:none}.goal-modal .notes-textarea::placeholder{color:var(--rm-gray-400, #9CA3AF)}.goal-modal .notes-textarea:focus{background:white;border-color:var(--rm-teal, #4ECDC4);box-shadow:0 0 0 4px var(--rm-teal-glow, rgba(78,205,196,0.3))}.goal-modal .modal-footer{padding:20px 28px;background:var(--rm-gray-50, #F9FAFB);border-top:1px solid var(--rm-gray-200, #E5E7EB);display:flex;align-items:center;justify-content:flex-end}.goal-modal .footer-actions{display:flex;gap:12px}.goal-modal .btn-secondary{padding:12px 24px;font-family:var(--font-body, "Instrument Sans", sans-serif);font-size:0.95rem;font-weight:600;color:var(--rm-gray-600, #4B5563);background:white;border:2px solid var(--rm-gray-200, #E5E7EB);border-radius:var(--radius-md, 10px);cursor:pointer;transition:all var(--transition-fast, 150ms ease)}.goal-modal .btn-secondary:hover{border-color:var(--rm-gray-300, #D1D5DB);background:var(--rm-gray-50, #F9FAFB)}.goal-modal .btn-primary{position:relative;display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 32px;font-family:var(--font-body, "Instrument Sans", sans-serif);font-size:0.95rem;font-weight:700;color:white;background:linear-gradient(135deg, var(--rm-orange, #FF6B35) 0%, var(--rm-orange-dark, #E85A2A) 100%);border:none;border-radius:var(--radius-md, 10px);cursor:pointer;transition:all var(--transition-base, 200ms ease);box-shadow:0 4px 12px var(--rm-orange-glow, rgba(255,107,53,0.3)),inset 0 1px 0 rgba(255,255,255,0.2);overflow:hidden}.goal-modal .btn-primary::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg, transparent 0%, rgba(255,255,255,0.2) 50%, transparent 100%);transition:left 0.5s ease}.goal-modal .btn-primary:hover::before{left:100%}.goal-modal .btn-primary:hover{transform:translateY(-3px);box-shadow:0 8px 24px var(--rm-orange-glow, rgba(255,107,53,0.3)),inset 0 1px 0 rgba(255,255,255,0.25)}.goal-modal .btn-primary:active{transform:translateY(-1px);box-shadow:0 4px 12px var(--rm-orange-glow, rgba(255,107,53,0.3))}@media (max-width: 640px){.goal-modal-overlay{padding:0;align-items:flex-end}.goal-modal{max-height:95vh;border-radius:var(--radius-xl, 24px) var(--radius-xl, 24px) 0 0;transform:translateY(100%)}.goal-modal-overlay.active .goal-modal{transform:translateY(0)}.goal-modal .modal-header{padding:20px}.goal-modal .race-name{font-size:1.25rem}.goal-modal .race-details{flex-direction:column;gap:2px}.goal-modal .race-details .separator{display:none}.goal-modal .goal-type-selector{grid-template-columns:1fr;gap:8px}.goal-modal .goal-type-option .option-content{display:flex;align-items:center;gap:12px;text-align:left;padding:14px}.goal-modal .goal-type-option .option-icon{margin:0;width:40px;height:40px}.goal-modal .form-section{padding:20px}.goal-modal .time-presets{justify-content:center}.goal-modal .time-input,.goal-modal .pace-input{width:65px;padding:14px 6px;font-size:1.4rem}.goal-modal .effort-labels{gap:4px}.goal-modal .effort-emoji{font-size:1.2rem}.goal-modal .effort-text{font-size:0.6rem}.goal-modal .goal-tags{gap:8px}.goal-modal .goal-tag{padding:8px 12px;font-size:0.85rem}.goal-modal .modal-footer{padding:16px 20px;flex-wrap:wrap;gap:12px}.goal-modal .footer-actions{width:100%}.goal-modal .btn-secondary,.goal-modal .btn-primary{flex:1;justify-content:center}}.race-hero{position:relative;background:linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%);padding:var(--space-6) 0 var(--space-10);overflow:hidden}.race-hero-bg{position:absolute;inset:0;background:radial-gradient(ellipse at 30% 20%, rgba(255,107,53,0.2) 0%, transparent 50%),radial-gradient(ellipse at 70% 80%, rgba(78,205,196,0.15) 0%, transparent 40%),radial-gradient(ellipse at 90% 10%, rgba(255,217,61,0.1) 0%, transparent 30%);pointer-events:none}.race-hero-container{position:relative;width:100%;max-width:var(--container-max-width);margin:0 auto;padding:0 var(--container-padding)}.back-link{display:inline-flex;align-items:center;gap:var(--space-2);color:rgba(255,255,255,0.7);font-size:0.875rem;margin-bottom:var(--space-6);transition:color var(--transition-fast)}.back-link:hover{color:white}.race-header{margin-bottom:var(--space-8)}.race-badge-wrapper{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4)}.pr-badge--large{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:linear-gradient(135deg, var(--color-gold) 0%, var(--color-gold-dark) 100%);color:#1a1a1a;font-size:0.8125rem;font-weight:700;border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:0.03em}.race-title{font-family:var(--font-display);font-size:clamp(2rem, 5vw, 3rem);font-weight:700;color:white;margin-bottom:var(--space-4);line-height:1.1}.race-meta-row{display:flex;flex-wrap:wrap;gap:var(--space-6)}.race-meta-item{display:flex;align-items:center;gap:var(--space-2);color:rgba(255,255,255,0.8);font-size:0.9375rem}.race-meta-item svg{opacity:0.6}.result-showcase{background:rgba(255,255,255,0.08);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,0.1);border-radius:var(--radius-xl);padding:var(--space-8);margin-bottom:var(--space-6)}.result-time-display{text-align:center;margin-bottom:var(--space-6)}.result-time-display .result-label{display:block;font-size:0.8125rem;color:rgba(255,255,255,0.6);text-transform:uppercase;letter-spacing:0.1em;margin-bottom:var(--space-2)}.result-time-display .result-time{font-family:var(--font-display);font-size:clamp(3.5rem, 10vw, 5rem);font-weight:700;color:white;letter-spacing:-0.02em;line-height:1;background:linear-gradient(135deg, white 0%, rgba(255,217,61,0.9) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.result-stats-row{display:flex;justify-content:center;align-items:center;gap:var(--space-8)}.result-stat{text-align:center}.result-stat-value{display:block;font-family:var(--font-display);font-size:1.5rem;font-weight:700;color:white}.result-stat-label{display:block;font-size:0.75rem;color:rgba(255,255,255,0.5);text-transform:uppercase;letter-spacing:0.05em}.result-stat-divider{width:1px;height:40px;background:rgba(255,255,255,0.2)}.race-hero-actions{display:flex;gap:var(--space-3)}.btn-white{background:white;color:var(--color-text);border:none}.btn-white:hover{background:var(--color-bg)}.btn-ghost-white{background:transparent;color:white;border:1px solid rgba(255,255,255,0.3)}.btn-ghost-white:hover{background:rgba(255,255,255,0.1);border-color:rgba(255,255,255,0.5)}.highfive-group{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.btn-highfive{display:inline-flex;align-items:center;gap:var(--space-2);transition:all 0.2s ease}.btn-highfive.active{background:var(--color-primary);color:white;border-color:var(--color-primary)}.btn-highfive .highfive-label{transition:opacity 0.2s ease}.btn-highfive .highfive-count{background:rgba(0,0,0,0.1);padding:2px 6px;border-radius:var(--radius-sm);font-size:0.75rem;font-weight:600;min-width:1.5em;text-align:center;transition:transform 0.2s ease}.btn-highfive .highfive-count:empty{display:none}.btn-highfive.active .highfive-count{background:rgba(255,255,255,0.2)}.highfive-avatars{display:flex;align-items:center;margin-left:calc(-1 * var(--space-1))}.highfive-avatar{width:28px;height:28px;border-radius:50%;border:2px solid white;object-fit:cover;margin-left:-8px;transition:transform 0.2s ease;box-shadow:0 1px 3px rgba(0,0,0,0.1)}.highfive-avatar:first-child{margin-left:0}.highfive-avatar:hover{transform:scale(1.1);z-index:10 !important}.highfive-more{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,0.2);border:2px solid white;font-size:0.65rem;font-weight:600;color:white;margin-left:-8px}.highfive-summary{font-size:0.8125rem;color:rgba(255,255,255,0.8);margin:var(--space-2) 0 0 0;line-height:1.4;width:100%}.highfive-summary strong{color:white;font-weight:600}.toast-message{box-shadow:0 4px 12px rgba(0,0,0,0.15)}@keyframes toastFadeIn{from{opacity:0;transform:translateX(-50%) translateY(10px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.comments-section{margin-top:var(--space-6)}.comments-container{padding:var(--space-4)}.comments-list{display:flex;flex-direction:column;gap:var(--space-4)}.comments-list:not(.comments-list--expanded) .comment-item:nth-child(n+4){display:none}.comments-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-8);text-align:center;color:var(--text-muted)}.comments-empty svg{margin-bottom:var(--space-3);color:var(--text-muted)}.comments-empty p{margin:0;font-size:0.875rem}.comment-item{background:var(--surface-secondary);border-radius:var(--radius-md);padding:var(--space-4);transition:all 0.3s ease}.comment-item--new{opacity:0;transform:translateY(-10px)}.comment-item--visible{opacity:1;transform:translateY(0)}.comment-item--removing{opacity:0;transform:translateX(-20px)}.comment-header{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-2)}.comment-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover}.comment-meta{flex:1;display:flex;flex-direction:column;gap:2px}.comment-author{font-weight:600;font-size:0.875rem;color:var(--text-primary);text-decoration:none}.comment-author:hover{color:var(--color-primary)}.comment-time{font-size:0.75rem;color:var(--text-muted)}.comment-delete-btn{background:none;border:none;padding:var(--space-2);cursor:pointer;color:var(--text-muted);opacity:0;transition:all 0.2s ease}.comment-item:hover .comment-delete-btn{opacity:1}.comment-delete-btn:hover{color:var(--color-error, #EF4444)}.comment-body{padding-left:calc(32px + var(--space-3))}.comment-body p{margin:0;font-size:0.875rem;line-height:1.5;color:var(--text-primary);white-space:pre-wrap;word-break:break-word}.view-all-comments{display:block;width:100%;padding:var(--space-3);margin-top:var(--space-3);background:none;border:none;color:var(--color-primary);font-size:0.875rem;font-weight:500;text-align:center;cursor:pointer;transition:color 0.2s ease}.view-all-comments:hover{color:var(--color-primary-dark, #0052CC)}.comment-form-container{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--border-color)}.comment-input-row{display:flex;align-items:flex-start;gap:var(--space-3)}.comment-input-wrapper{flex:1;position:relative;display:flex;align-items:center;background:var(--surface-secondary);border-radius:var(--radius-lg);border:1px solid var(--border-color);transition:border-color 0.2s ease}.comment-input-wrapper:focus-within{border-color:var(--color-primary)}.comment-input{flex:1;background:transparent;border:none;padding:var(--space-3) var(--space-4);font-size:0.875rem;line-height:1.5;color:var(--text-primary);resize:none;min-height:40px;max-height:120px}.comment-input::placeholder{color:var(--text-muted)}.comment-input:focus{outline:none}.comment-submit-btn{background:none;border:none;padding:var(--space-3);cursor:pointer;color:var(--color-primary);transition:all 0.2s ease}.comment-submit-btn:disabled{opacity:0.3;cursor:not-allowed}.comment-submit-btn:not(:disabled):hover{transform:scale(1.1)}.comment-login-prompt{text-align:center;padding:var(--space-4);color:var(--text-muted);font-size:0.875rem}.comment-login-prompt .link-primary{color:var(--color-primary);font-weight:600;text-decoration:none}.comment-login-prompt .link-primary:hover{text-decoration:underline}.comment-count{font-weight:400;color:var(--text-muted);margin-left:var(--space-2)}.race-detail-page{width:100%;max-width:var(--container-max-width);margin:0 auto;padding:var(--space-8) var(--container-padding)}.race-detail-container{display:grid;grid-template-columns:1fr;gap:var(--space-6)}@media (min-width: 1024px){.race-detail-container{grid-template-columns:1fr var(--sidebar-width)}}.race-detail-main{display:flex;flex-direction:column;gap:var(--space-6);min-width:0}.race-detail-sidebar{display:flex;flex-direction:column;gap:var(--space-5)}@media (min-width: 640px) and (max-width: 1023px){.race-detail-sidebar{display:grid;grid-template-columns:repeat(2, 1fr);gap:var(--space-4)}}.detail-card{background:var(--color-white);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-sm)}.detail-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-5)}.detail-card-title{display:flex;align-items:center;gap:var(--space-3);font-family:var(--font-display);font-size:1.125rem;font-weight:600;color:var(--color-text)}.detail-card-title svg{color:var(--color-primary)}.performance-grid{display:grid;grid-template-columns:repeat(2, 1fr);gap:var(--space-4)}@media (min-width: 768px){.performance-grid{grid-template-columns:repeat(4, 1fr)}}.performance-item{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--space-5);background:var(--color-bg);border-radius:var(--radius-lg);transition:all var(--transition-fast)}.performance-item:hover{background:var(--color-primary-light)}.performance-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:white;border-radius:var(--radius-full);color:var(--color-primary);margin-bottom:var(--space-3);box-shadow:var(--shadow-sm)}.performance-info{margin-bottom:var(--space-2)}.performance-value{display:block;font-family:var(--font-display);font-size:1.5rem;font-weight:700;color:var(--color-text)}.performance-label{display:block;font-size:0.75rem;color:var(--color-text-secondary)}.performance-context{font-size:0.8125rem;color:var(--color-text-muted)}.split-toggle{display:flex;gap:var(--space-1);background:var(--color-bg);padding:var(--space-1);border-radius:var(--radius-md)}.split-toggle-btn{padding:var(--space-2) var(--space-3);font-size:0.75rem;font-weight:500;color:var(--color-text-secondary);background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.split-toggle-btn.active{background:white;color:var(--color-text);box-shadow:var(--shadow-sm)}.splits-container{margin-top:var(--space-4)}.splits-chart{position:relative;padding-bottom:var(--space-8)}.split-bar-group{display:flex;align-items:flex-end;gap:4px;height:160px;padding-bottom:var(--space-4);border-bottom:2px solid var(--color-border-light)}.split-bar{flex:1;height:calc(var(--split-height, 80%) * 1);background:linear-gradient(180deg, var(--color-teal) 0%, var(--color-teal-dark) 100%);border-radius:var(--radius-sm) var(--radius-sm) 0 0;position:relative;cursor:pointer;transition:all var(--transition-fast)}.split-bar:hover{transform:scaleY(1.02);filter:brightness(1.1)}.split-bar:hover::after{content:attr(data-pace);position:absolute;bottom:100%;left:50%;transform:translateX(-50%);padding:var(--space-1) var(--space-2);background:var(--color-text);color:white;font-size:0.75rem;font-weight:600;border-radius:var(--radius-sm);white-space:nowrap;margin-bottom:var(--space-2)}.split-bar--fast{background:linear-gradient(180deg, var(--color-success) 0%, #059669 100%)}.split-bar--slow{background:linear-gradient(180deg, var(--color-primary) 0%, #dc4518 100%)}.split-bar--pr{background:linear-gradient(180deg, var(--color-gold) 0%, var(--color-gold-dark) 100%)}.split-marker{position:absolute;bottom:-24px;left:50%;transform:translateX(-50%);font-size:0.6875rem;color:var(--color-text-muted)}.split-baseline{position:absolute;bottom:var(--space-4);right:0}.baseline-label{font-size:0.75rem;color:var(--color-text-secondary);background:white;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm)}.splits-legend{display:flex;justify-content:center;gap:var(--space-6);margin-top:var(--space-4)}.legend-item{display:flex;align-items:center;gap:var(--space-2);font-size:0.75rem;color:var(--color-text-secondary)}.legend-dot{width:12px;height:12px;border-radius:var(--radius-sm)}.legend-item--fast .legend-dot{background:var(--color-success)}.legend-item--slow .legend-dot{background:var(--color-primary)}.course-map-container{border-radius:var(--radius-lg);overflow:hidden}.course-map-placeholder{position:relative;height:300px;background:var(--color-bg)}.course-map-placeholder img{width:100%;height:100%;object-fit:cover}.map-overlay{position:absolute;inset:0;pointer-events:none}.map-badge{position:absolute;padding:var(--space-2) var(--space-3);font-size:0.75rem;font-weight:600;border-radius:var(--radius-md)}.map-badge--start{top:var(--space-4);left:var(--space-4);background:var(--color-success);color:white}.map-badge--finish{bottom:var(--space-4);right:var(--space-4);background:var(--color-primary);color:white}.elevation-profile{padding:var(--space-4);background:var(--color-bg)}.elevation-label{display:block;font-size:0.75rem;color:var(--color-text-secondary);margin-bottom:var(--space-2)}.elevation-chart{height:60px}.elevation-chart svg{width:100%;height:100%}.elevation-stats{display:flex;justify-content:space-between;margin-top:var(--space-2);font-size:0.75rem;color:var(--color-text-muted)}.review-content{padding-top:var(--space-2)}.review-rating{display:flex;align-items:center;gap:var(--space-1);margin-bottom:var(--space-4)}.review-rating .star{font-size:1.5rem;color:var(--color-border)}.review-rating .star.filled{color:var(--color-gold)}.rating-label{margin-left:var(--space-3);font-size:0.875rem;color:var(--color-text-secondary);font-weight:500}.review-text{color:var(--color-text);line-height:1.7;margin-bottom:var(--space-4)}.review-tags{display:flex;flex-wrap:wrap;gap:var(--space-2)}.review-tag{padding:var(--space-2) var(--space-3);background:var(--color-primary-light);color:var(--color-primary);font-size:0.8125rem;font-weight:500;border-radius:var(--radius-full)}.photos-grid{display:grid;grid-template-columns:repeat(4, 1fr);gap:var(--space-3)}.photo-item{position:relative;aspect-ratio:1;border-radius:var(--radius-md);overflow:hidden;cursor:pointer}.photo-item img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-normal)}.photo-item:hover img{transform:scale(1.05)}.photo-item--featured{grid-column:span 2;grid-row:span 2}.photo-badge{position:absolute;bottom:var(--space-2);left:var(--space-2);padding:var(--space-1) var(--space-2);background:rgba(0,0,0,0.7);color:white;font-size:0.6875rem;font-weight:600;border-radius:var(--radius-sm)}.photo-item--add{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);background:var(--color-bg);border:2px dashed var(--color-border);color:var(--color-text-muted);font-size:0.75rem;transition:all var(--transition-fast)}.photo-item--add:hover{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-light)}.runner-card-widget{background:linear-gradient(135deg, var(--color-primary-light) 0%, white 100%)}.runner-card-header{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4)}.runner-avatar{width:56px;height:56px;border-radius:var(--radius-full);border:3px solid var(--color-primary)}.runner-info{flex:1}.runner-name{display:block;font-family:var(--font-display);font-weight:600;color:var(--color-text)}.runner-handle{font-size:0.8125rem;color:var(--color-text-secondary)}.runner-stats-mini{display:grid;grid-template-columns:repeat(3, 1fr);gap:var(--space-3);text-align:center}.runner-stat-mini{padding:var(--space-3);background:white;border-radius:var(--radius-md)}.runner-stat-mini .stat-value{display:block;font-family:var(--font-display);font-size:1.25rem;font-weight:700;color:var(--color-text)}.runner-stat-mini .stat-label{font-size:0.6875rem;color:var(--color-text-muted)}.friends-ran-list{display:flex;flex-direction:column;gap:var(--space-3)}.friend-ran-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--color-bg);border-radius:var(--radius-md)}.friend-avatar{width:40px;height:40px;border-radius:var(--radius-full)}.friend-info{flex:1;min-width:0}.friend-name{display:block;font-weight:600;font-size:0.875rem;color:var(--color-text)}.friend-time{font-family:var(--font-mono);font-size:0.8125rem;color:var(--color-text-secondary)}.friend-diff{font-family:var(--font-mono);font-size:0.75rem;font-weight:600;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm)}.friend-diff--faster{background:rgba(16,185,129,0.1);color:var(--color-success)}.friend-diff--slower{background:rgba(239,68,68,0.1);color:var(--color-error)}.pr-history-list{display:flex;flex-direction:column;gap:var(--space-2)}.pr-history-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--color-bg);border-radius:var(--radius-md)}.pr-history-item--current{background:linear-gradient(135deg, rgba(255,217,61,0.15) 0%, rgba(255,217,61,0.05) 100%);border:1px solid rgba(255,217,61,0.3)}.pr-history-rank{position:relative;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.rank-number{font-family:var(--font-display);font-weight:700;color:var(--color-text-secondary)}.pr-crown{position:absolute;top:-8px;right:-4px;font-size:0.75rem}.pr-history-info{flex:1;min-width:0}.pr-history-time{display:block;font-family:var(--font-mono);font-weight:600;color:var(--color-text)}.pr-history-race{font-size:0.75rem;color:var(--color-text-muted)}.pr-history-badge{font-size:0.6875rem;font-weight:600;padding:var(--space-1) var(--space-2);background:var(--color-primary);color:white;border-radius:var(--radius-sm)}.share-widget{background:linear-gradient(135deg, #1F2937 0%, #111827 100%);color:white}.share-widget .widget-title{color:white}.share-buttons{display:flex;gap:var(--space-2);margin-bottom:var(--space-4)}.share-btn{flex:1;display:flex;align-items:center;justify-content:center;padding:var(--space-3);border-radius:var(--radius-md);border:none;cursor:pointer;transition:all var(--transition-fast)}.share-btn:hover{transform:translateY(-2px)}.share-btn--strava{background:#FC4C02;color:white}.share-btn--twitter{background:#1DA1F2;color:white}.share-btn--facebook{background:#1877F2;color:white}.share-btn--copy{background:rgba(255,255,255,0.1);color:white}.share-btn--copy:hover{background:rgba(255,255,255,0.2)}.share-preview{padding:var(--space-3);background:rgba(255,255,255,0.05);border-radius:var(--radius-md)}.share-preview-card{display:flex;flex-direction:column;gap:var(--space-1)}.share-preview-badge{font-size:0.75rem;color:var(--color-gold)}.share-preview-text{font-size:0.875rem;color:rgba(255,255,255,0.9)}.next-race-widget{background:linear-gradient(135deg, rgba(78,205,196,0.1) 0%, rgba(78,205,196,0.05) 100%);border:1px solid rgba(78,205,196,0.2)}.next-race-card{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background:white;border-radius:var(--radius-md);margin-bottom:var(--space-4)}.next-race-date{display:flex;flex-direction:column;align-items:center;padding:var(--space-2);background:var(--color-teal);color:white;border-radius:var(--radius-sm);min-width:50px}.next-race-month{font-size:0.625rem;font-weight:600;text-transform:uppercase}.next-race-day{font-family:var(--font-display);font-size:1.25rem;font-weight:700;line-height:1}.next-race-year{font-size:0.625rem;opacity:0.8}.next-race-info{flex:1}.next-race-name{display:block;font-weight:600;font-size:0.875rem;color:var(--color-text)}.next-race-status{font-size:0.75rem;color:var(--color-success)}@media (max-width: 768px){.race-hero{padding:var(--space-4) 0 var(--space-8)}.result-showcase{padding:var(--space-6)}.result-stats-row{gap:var(--space-4)}.race-hero-actions{flex-direction:column}.photos-grid{grid-template-columns:repeat(2, 1fr)}.photo-item--featured{grid-column:span 2;grid-row:span 1;aspect-ratio:16/9}}@media (max-width: 480px){.result-stats-row{flex-wrap:wrap;justify-content:space-around}.result-stat-divider{display:none}.split-bar-group{height:120px}}.photo-upload-system{width:100%;display:flex;flex-direction:column}.upload-dropzone{border:2px dashed #d1d5db;border-radius:12px;padding:40px 20px;text-align:center;background:#f9fafb;transition:all 0.3s ease;cursor:pointer;margin-bottom:24px}.upload-dropzone.drag-over{border-color:#3b82f6;background:#eff6ff}.upload-dropzone:hover{border-color:#9ca3af;background:#f3f4f6}.upload-icon{font-size:48px;margin-bottom:16px;opacity:0.7}.upload-dropzone h4{margin:0 0 8px 0;color:#374151;font-size:18px;font-weight:600}.upload-dropzone p{margin:0 0 20px 0;color:#6b7280;font-size:14px}.upload-limits{margin-top:12px;font-size:12px;color:#9ca3af}.upload-select-btn{background:#3b82f6;color:white;border:none;padding:12px 24px;border-radius:8px;font-weight:600;cursor:pointer;transition:background 0.2s ease;font-size:14px}.upload-select-btn:hover{background:#2563eb}.photo-preview-grid{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.photo-preview-item{background:white;border:1px solid #e5e7eb;border-radius:12px;padding:16px;display:grid;grid-template-columns:120px 1fr auto;gap:16px;box-shadow:0 2px 4px rgba(0,0,0,0.05);position:relative;align-items:flex-start}.preview-image-container{position:relative;flex-shrink:0;width:120px;height:120px}.preview-image{width:100%;height:100%;object-fit:contain;border-radius:8px;border:1px solid #e5e7eb}.remove-photo-btn{position:absolute;top:-8px;right:-8px;width:24px;height:24px;border-radius:50%;background:#ef4444;color:white;border:2px solid white;font-size:16px;font-weight:bold;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all 0.2s ease;line-height:1;padding:0}.remove-photo-btn:hover{background:#dc2626;transform:scale(1.1)}.photo-metadata{flex:1;display:flex;flex-direction:column;gap:12px;min-width:0;width:100%}.photo-metadata .photo-caption,.photo-metadata .photo-category{width:100%;padding:10px 12px;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;transition:border-color 0.2s ease}.photo-metadata .photo-caption:focus,.photo-metadata .photo-category:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,0.1)}.photo-metadata .photo-caption::placeholder{color:#9ca3af}.photo-metadata .photo-category{cursor:pointer;background:white}.photo-info{display:flex;gap:12px;font-size:12px;color:#6b7280;margin-top:4px}.file-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-size{flex-shrink:0}.upload-status{display:flex;align-items:center;font-size:13px;color:#6b7280;font-weight:500;white-space:nowrap}.upload-status:not(:has(*)){display:none}.modern-review-modal-body .upload-status::before{content:''}.modern-review-modal-body .upload-status:not(.uploaded){display:none}.upload-actions{margin-top:16px;text-align:right}.modern-review-modal-footer .upload-actions{margin-top:0}.upload-photos-btn,.upload-submit-btn{background:#FF6B35;color:white;border:none;padding:12px 32px;border-radius:8px;font-weight:600;cursor:pointer;transition:background 0.2s ease;font-size:14px}.upload-photos-btn:hover,.upload-submit-btn:hover:not(:disabled){background:#E55A24}.upload-photos-btn:disabled,.upload-submit-btn:disabled{background:#d1d5db;cursor:not-allowed;opacity:0.6}.upload-cancel-btn{background:transparent;color:#6b7280;border:1px solid #d1d5db;padding:12px 32px;border-radius:8px;font-weight:600;cursor:pointer;transition:all 0.2s ease;font-size:14px}.upload-cancel-btn:hover{background:#f3f4f6;border-color:#9ca3af}.upload-progress{margin-top:16px}.progress-bar{width:100%;height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden;margin-bottom:8px}.progress-fill{height:100%;background:linear-gradient(90deg, #3b82f6 0%, #2563eb 100%);border-radius:4px;transition:width 0.3s ease;width:0%}.progress-text{font-size:14px;color:#6b7280;text-align:center}@media (max-width: 768px){.photo-preview-item{flex-direction:column}.preview-image-container{width:100%;height:200px}.upload-dropzone{padding:24px 16px}.upload-icon{font-size:36px}.upload-actions{flex-direction:column}.upload-photos-btn,.upload-submit-btn,.upload-cancel-btn{width:100%}}.photo-upload-system.compact .upload-dropzone{padding:24px 16px}.photo-upload-system.compact .upload-icon{font-size:32px}.photo-upload-system.compact .preview-image-container{width:80px;height:80px}.photo-upload-system.compact .photo-preview-item{padding:12px}.photo-modal,.photo-lightbox{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:9999;display:none !important;visibility:hidden !important;opacity:0 !important;pointer-events:none !important;align-items:center;justify-content:center;background:rgba(0,0,0,0.8)}.photo-modal.show,.photo-lightbox.show{display:flex !important;visibility:visible !important;opacity:1 !important;pointer-events:auto !important}.photo-modal-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.8)}.photo-modal-content{position:relative;background:white;border-radius:16px;max-width:90vw;max-height:90vh;width:900px;overflow:hidden;box-shadow:0 25px 50px rgba(0,0,0,0.25);z-index:10000;margin:auto;border:1px solid rgba(0,0,0,0.1)}.photo-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e2e8f0;background:white}.photo-modal-header h3{margin:0;font-size:20px;font-weight:600;color:#1f2937}.photo-modal-close{background:none;border:none;font-size:28px;cursor:pointer;color:#6b7280;padding:4px 8px;line-height:1;border-radius:4px;transition:all 0.2s ease}.photo-modal-close:hover{color:#374151;background:#f3f4f6}.photo-modal-tabs{padding:0;background:#ffffff;border-bottom:1px solid #e2e8f0}.photo-tab-buttons{display:flex;gap:0;overflow-x:auto;padding:0 24px}.photo-tab-buttons::-webkit-scrollbar{display:none}.photo-tab-button{background:none;border:none;padding:14px 20px;font-size:14px;font-weight:600;color:#4b5563;cursor:pointer;border-bottom:3px solid transparent;transition:all 0.2s ease;white-space:nowrap}.photo-tab-button:hover{color:#1f2937;background:rgba(0,0,0,0.02)}.photo-tab-button.active{color:var(--ft-primary, #FF6B35);border-bottom-color:var(--ft-primary, #FF6B35);font-weight:700}.photo-tab-count{opacity:0.7;font-weight:500}.photo-modal-body{padding:24px;max-height:60vh;overflow-y:auto;background:#f9fafb}#unifiedPhotoGrid{display:grid;grid-template-columns:repeat(auto-fill, minmax(180px, 1fr));gap:16px}.photo-grid-item{border-radius:12px;overflow:hidden;background:white;box-shadow:0 2px 8px rgba(0,0,0,0.08);cursor:pointer;transition:transform 0.2s ease, box-shadow 0.2s ease}.photo-grid-item:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,0.12)}.photo-grid-thumb{width:100%;height:160px;object-fit:cover;display:block}.photo-grid-caption{padding:12px;font-size:13px;color:#374151;background:white;border-top:1px solid #f3f4f6}.photo-lightbox{z-index:10000;background:rgba(0,0,0,0.95)}.lightbox-overlay{position:absolute;top:0;left:0;width:100%;height:100%}.lightbox-content{position:relative;display:flex;flex-direction:column;align-items:center;max-width:90vw;max-height:90vh;z-index:10001}.lightbox-image-container{display:flex;align-items:center;justify-content:center;max-height:75vh}.lightbox-image{max-width:90vw;max-height:75vh;object-fit:contain;border-radius:4px}.lightbox-nav{position:fixed;top:50%;transform:translateY(-50%);background:rgba(0,0,0,0.6);border:none;font-size:40px;width:50px;height:50px;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10002;border-radius:50%;color:white;transition:all 0.2s ease;line-height:1;padding:0}.lightbox-nav:hover{background:rgba(0,0,0,0.8);transform:translateY(-50%) scale(1.1)}.lightbox-nav-prev{left:20px}.lightbox-nav-next{right:20px}.lightbox-close{position:fixed;top:20px;right:20px;background:rgba(0,0,0,0.6);border:none;font-size:32px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:50%;z-index:10002;color:white;transition:all 0.2s ease;line-height:1;padding:0}.lightbox-close:hover{background:rgba(0,0,0,0.8);transform:scale(1.1)}.lightbox-info{position:relative;width:100%;max-width:90vw;background:rgba(0,0,0,0.85);color:white;padding:16px 24px;text-align:center;border-radius:0 0 8px 8px;margin-top:8px}.lightbox-caption{font-size:16px;margin-bottom:8px}.lightbox-meta{font-size:13px;opacity:0.8}.lightbox-meta span{margin:0 8px}.lightbox-actions{margin-top:16px}.lightbox-actions button{background:rgba(255,255,255,0.2);border:1px solid rgba(255,255,255,0.3);color:white;padding:8px 16px;border-radius:6px;margin:0 4px;cursor:pointer;font-size:13px;transition:all 0.2s ease}.lightbox-actions button:hover{background:rgba(255,255,255,0.3)}.lightbox-actions .lightbox-delete-btn:hover{background:rgba(239,68,68,0.8);border-color:transparent}.photo-data{display:none !important}.ft-modal.ft-modal--sm{z-index:100000 !important}.ft-modal.ft-modal--sm .ft-modal__backdrop{z-index:-1}body{padding-top:60px}@media (max-width: 768px){body{padding-top:55px}}
