:root{--brand:#1f3163;--brand-dark:#132049;--brand-cyan:#00a5d9;--brand-green:#8dc63f;--bg:#f4f6fb;--surface:#fff;--text:#1c2028;--muted:#6b7280;--border:#e2e6ef;--ok:#4b9b1e;--warn:#d97706;--danger:#dc2626;--radius:12px;--shadow:0 1px 2px #1f31630f, 0 4px 12px #1f316314;color:var(--text);font-family:Poppins,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}*{box-sizing:border-box}html,body,#root{background:var(--bg);height:100%;margin:0}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}button{cursor:pointer;font:inherit;border:0;border-radius:8px;padding:10px 16px;transition:background .15s,opacity .15s}button:disabled{cursor:not-allowed;opacity:.6}.btn-primary{background:var(--brand);color:#fff}.btn-primary:hover:not(:disabled){background:var(--brand-dark)}.btn-ghost{color:var(--text);border:1px solid var(--border);background:0 0}.btn-ghost:hover:not(:disabled){background:#f3f4f6}.login-shell{background:linear-gradient(135deg,#fff 0%,#eaf4fb 100%);place-items:center;min-height:100%;padding:24px;display:grid}.login-card{background:var(--surface);border-radius:var(--radius);width:100%;max-width:380px;box-shadow:var(--shadow);flex-direction:column;gap:14px;padding:28px;display:flex}.login-brand{text-align:center;margin-bottom:8px}.login-brand h1{letter-spacing:-.01em;color:var(--brand);margin:8px 0 4px;font-size:26px;font-weight:700}.login-sub{color:var(--muted);margin:0;font-size:14px}.field{flex-direction:column;gap:6px;font-size:14px;display:flex}.field input{border:1px solid var(--border);font:inherit;background:#fff;border-radius:8px;padding:10px 12px}.field input:focus{outline:2px solid var(--brand);outline-offset:1px}.password-input-wrap{position:relative}.password-input-wrap input{width:100%;padding-right:44px}.password-toggle-btn{width:32px;height:32px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;padding:0;transition:color .12s,background .12s;display:inline-flex;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.password-toggle-btn:hover{color:var(--brand);background:#f3f4f6}.password-toggle-btn:focus-visible{outline:2px solid var(--brand);outline-offset:1px}.login-card button[type=submit]{background:var(--brand);color:#fff}.login-card button[type=submit]:hover:not(:disabled){background:var(--brand-dark)}.login-hint{color:var(--muted);text-align:center;margin:4px 0 0;font-size:13px}.link-button{font:inherit;color:var(--brand);cursor:pointer;background:0 0;border:none;width:auto;padding:0;text-decoration:underline}.link-button:disabled{opacity:.6;cursor:default}.error{color:var(--danger);background:#fee2e2;border-radius:8px;padding:8px 10px;font-size:13px}.app-shell{flex-direction:column;min-height:100%;display:flex}.app-header{background:var(--surface);border-bottom:1px solid var(--border);z-index:10;justify-content:space-between;align-items:center;padding:12px 24px;display:flex;position:sticky;top:0}.brand{color:var(--text);align-items:center;gap:10px;display:flex}.brand:hover{text-decoration:none}.brand-logo{object-fit:contain;height:32px}.brand-title{font-size:16px;font-weight:700}.header-right{align-items:center;gap:12px;display:flex}.header-link{color:var(--text);border-radius:6px;padding:6px 10px;font-size:14px}.header-link:hover{background:#f3f4f6;text-decoration:none}.header-user{color:var(--muted);font-size:14px}.app-body{flex:1;grid-template-columns:260px minmax(0,1fr);gap:24px;width:100%;max-width:1400px;margin:0 auto;padding:24px;display:grid}.app-main{min-width:0}@media (width<=900px){.app-body{grid-template-columns:1fr;gap:16px;padding:16px}html,body,#root,.app-shell{overflow-x:hidden}.app-sidebar{display:none}.app-body{min-width:0;max-width:100vw;padding:0;display:block}.app-main{padding:12px 12px calc(72px + env(safe-area-inset-bottom,0));box-sizing:border-box;min-width:0;max-width:100vw}.app-header{padding:8px 12px}.brand-logo{height:26px}.header-right{gap:4px}.page{padding:0}.page h2{font-size:18px}.page-head{flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:12px}.page-head h2{font-size:20px}.page-subtitle{font-size:13px}.app-shell>div>.notice{margin:8px 12px}.app-footer{display:none}.modal-backdrop{align-items:flex-end;padding:0}.modal-backdrop .modal{-webkit-overflow-scrolling:touch;padding-bottom:max(env(safe-area-inset-bottom,0px), 12px);overflow-y:auto;border-radius:16px 16px 0 0!important;width:100%!important;max-width:100%!important;max-height:92vh!important;box-shadow:0 -8px 32px #00000040!important}.modal-backdrop .modal .modal-actions{bottom:calc(0px - max(env(safe-area-inset-bottom,0px), 12px));margin-left:-24px;margin-right:-24px;margin-bottom:calc(0px - max(env(safe-area-inset-bottom,0px), 12px));padding:12px 24px calc(12px + max(env(safe-area-inset-bottom,0px), 0px));background:var(--surface);border-top:1px solid var(--border);z-index:2;position:sticky}}.bottom-tab-bar{display:none}@media (width<=900px){.bottom-tab-bar{background:var(--surface);border-top:1px solid var(--border);z-index:50;padding-bottom:env(safe-area-inset-bottom,0);grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 16px #0000000f}.bt-tab{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:center;gap:3px;min-height:56px;padding:8px 4px 6px;text-decoration:none;transition:color .12s;display:flex;position:relative}.bt-tab.active{color:var(--brand)}.bt-tab:hover{text-decoration:none}.bt-icon{color:inherit;justify-content:center;align-items:center;display:inline-flex}.bt-label{letter-spacing:.02em;font-size:10.5px;font-weight:600;line-height:1}.bt-badge-count{background:var(--danger);color:#fff;border:2px solid var(--surface);border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:10px;font-weight:700;line-height:1;display:inline-flex;position:absolute;top:3px;right:calc(50% - 22px)}.bt-badge-new{color:#fff;letter-spacing:.04em;text-transform:uppercase;border:1.5px solid var(--surface);background:linear-gradient(135deg,#dc2626,#f59e0b);border-radius:999px;padding:1px 5px;font-size:8px;font-weight:800;line-height:1.2;position:absolute;top:3px;right:calc(50% - 24px)}}.mobile-drawer-backdrop{z-index:200;background:#0f172a8c;align-items:flex-end;animation:.2s fade-in;display:flex;position:fixed;inset:0}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.mobile-drawer{background:var(--surface);border-radius:16px 16px 0 0;flex-direction:column;width:100%;max-height:90vh;animation:.25s cubic-bezier(.32,.72,0,1) slide-up;display:flex;overflow:hidden;box-shadow:0 -12px 40px #0000004d}.mobile-drawer-grip{background:#d1d5db;border-radius:999px;flex-shrink:0;width:40px;height:4px;margin:8px auto 4px}.mobile-drawer-user{border-bottom:1px solid #eef1f6;align-items:center;gap:12px;padding:12px 16px 14px;display:flex}.mobile-drawer-name{text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:700;overflow:hidden}.mobile-drawer-email{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.mobile-drawer-close{width:36px;height:36px;color:var(--text);cursor:pointer;background:#f3f4f6;border:0;border-radius:50%;flex-shrink:0;padding:0;font-size:22px;line-height:1}.mobile-drawer-close:hover{background:#e5e7eb}.mobile-drawer-body{padding:8px 8px calc(24px + env(safe-area-inset-bottom,0));flex:1;overflow-y:auto}.mobile-drawer-section{border-bottom:1px solid #f3f4f6;padding:6px 0}.mobile-drawer-section:last-of-type{border-bottom:0}.mobile-drawer-section-label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:8px 12px 4px;font-size:11px;font-weight:700}.mobile-drawer-item{width:100%;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:14px;min-height:48px;padding:12px;font-size:15px;font-weight:500;text-decoration:none;display:flex}.mobile-drawer-item:hover,.mobile-drawer-item:active{background:#eef1f7;text-decoration:none}.mobile-drawer-item.danger{color:var(--danger)}.mobile-drawer-item.danger:hover,.mobile-drawer-item.danger:active{background:#fee2e2}.md-item-emoji{text-align:center;flex-shrink:0;width:28px;font-size:20px}.mobile-drawer-footer{color:var(--muted);justify-content:center;gap:10px;padding:16px 8px 6px;font-size:12px;display:flex}.mobile-drawer-footer a{color:var(--muted);text-decoration:underline}.app-sidebar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);align-self:start;max-height:calc(100vh - 90px);padding:10px;position:sticky;top:74px;overflow-y:auto}.sidebar-nav{flex-direction:column;gap:2px;display:flex}.sidebar-link{color:var(--text);border-radius:10px;align-items:center;gap:14px;padding:10px 12px;font-size:15px;font-weight:500;line-height:1.2;text-decoration:none;transition:background .12s,color .12s;display:flex}.sidebar-link:hover{background:#eef1f7;text-decoration:none}.sidebar-link.active{color:var(--brand);background:#eaf0fb}.sidebar-link.active:hover{background:#dfeafb}.sidebar-icon{width:36px;height:36px;color:var(--brand);background:#f4f6fb;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.sidebar-link.active-parent:not(.active){color:var(--brand)}.sidebar-link.active-parent:not(.active) .sidebar-icon{color:var(--brand);background:#eaf0fb}.sidebar-link-group{align-items:stretch;display:flex;position:relative}.sidebar-link-group .sidebar-link{flex:1;min-width:0}.sidebar-caret{width:34px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;margin-left:2px;padding:0;transition:background .12s,color .12s;display:inline-flex}.sidebar-caret:hover{color:var(--text);background:#eef1f7}.sidebar-caret svg{transition:transform .2s;transform:rotate(-90deg)}.sidebar-caret.open svg{transform:rotate(0)}.sidebar-submenu{opacity:1;border-left:2px solid #eef1f7;flex-direction:column;gap:1px;max-height:1200px;margin:2px 0 4px 22px;padding-left:12px;transition:max-height .25s,opacity .2s,margin .25s,padding .25s;display:flex;overflow:hidden}.sidebar-submenu.collapsed{opacity:0;pointer-events:none;border-left-color:#0000;max-height:0;margin-top:0;margin-bottom:0}.sidebar-sublink{color:var(--muted);border-radius:8px;align-items:center;gap:10px;padding:7px 10px;font-size:13px;font-weight:500;text-decoration:none;transition:background .12s,color .12s;display:flex}.sidebar-sublink:hover{color:var(--text);background:#eef1f7;text-decoration:none}.sidebar-sublink.active{color:var(--brand);background:#eaf0fb;font-weight:600}.sidebar-sublink-dot{opacity:.55;background:currentColor;border-radius:50%;flex-shrink:0;width:5px;height:5px}.sidebar-sublink.active .sidebar-sublink-dot{opacity:1}@media (width<=900px){.sidebar-submenu{display:none}}.sidebar-badge-count{background:var(--danger);color:#fff;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;min-width:22px;height:22px;margin-left:auto;padding:0 7px;font-size:11px;font-weight:700;line-height:1;animation:.35s cubic-bezier(.34,1.56,.64,1) badge-count-pop;display:inline-flex;box-shadow:0 2px 6px #dc262659}@keyframes badge-count-pop{0%{opacity:0;transform:scale(.4)}60%{opacity:1;transform:scale(1.12)}to{opacity:1;transform:scale(1)}}@media (width<=900px){.sidebar-badge-count{min-width:18px;height:18px;margin-left:0;padding:0 5px;font-size:10px;position:absolute;top:2px;right:4px}}.sidebar-badge-new{letter-spacing:.06em;text-transform:uppercase;color:#fff;background:linear-gradient(135deg,#dc2626 0%,#f59e0b 100%);border-radius:999px;flex-shrink:0;margin-left:auto;padding:2px 8px;font-size:10px;font-weight:800;line-height:1.4;animation:1.6s cubic-bezier(.66,0,0,1) infinite badge-pulse;box-shadow:0 0 #dc2626b3}@keyframes badge-pulse{0%{transform:scale(1);box-shadow:0 0 #dc26268c,0 0 8px #f59e0b66}60%{transform:scale(1.08);box-shadow:0 0 0 8px #dc262600,0 0 12px #f59e0b99}to{transform:scale(1);box-shadow:0 0 #dc262600,0 0 8px #f59e0b66}}@media (prefers-reduced-motion:reduce){.sidebar-badge-new{animation:none}}@media (width<=900px){.sidebar-badge-new{margin-left:0;padding:1px 6px;font-size:9px;position:absolute;top:2px;right:4px}.sidebar-link{position:relative}}.sidebar-link.active .sidebar-icon{background:var(--brand);color:#fff}@media (width<=900px){.app-sidebar{max-height:none;padding:6px;position:static;overflow-y:visible}.sidebar-nav{flex-direction:row;gap:4px;overflow-x:auto}.sidebar-link{text-align:center;flex-direction:column;flex-shrink:0;gap:4px;min-width:88px;padding:8px 10px;font-size:12px}.sidebar-icon{width:32px;height:32px}.sidebar-icon svg{width:18px;height:18px}}.page h2{margin:0 0 16px;font-size:22px}.page-loading{text-align:center;color:var(--muted);padding:40px}.card-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;display:grid}.card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px}.card h3{color:var(--muted);text-transform:uppercase;letter-spacing:.02em;margin:0 0 8px;font-size:13px;font-weight:600}.card p{margin:8px 0 0}.muted{color:var(--muted);font-size:14px}.badge{border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-block}.badge-ok{color:var(--ok);background:#dcfce7}.badge-warn{color:var(--warn);background:#fef3c7}.kv-list{grid-template-columns:minmax(120px,max-content) 1fr;gap:8px 16px;margin:0 0 14px;display:grid}.kv-list dt{color:var(--muted);font-size:13px;font-weight:600}.kv-list dd{overflow-wrap:anywhere;margin:0;font-size:14px}.kv-list dd code{font-size:13px}@media (width<=520px){.kv-list{grid-template-columns:1fr;gap:2px 0}.kv-list dd{margin-bottom:8px}}.strava-connect-btn{background:0 0;border:0;border-radius:0;padding:0;line-height:0;display:inline-block}.strava-connect-btn img{width:auto;height:48px;display:block}.strava-connect-btn:hover:not(:disabled){opacity:.9}.strava-connect-btn:disabled{opacity:.6;cursor:not-allowed}.strava-powered-logo{display:block}.strava-view-link{color:#fc5200;white-space:nowrap;font-size:13px;font-weight:600;text-decoration:none}.strava-view-link:hover{text-decoration:underline}.strava-attribution{border-top:1px solid var(--border);justify-content:center;align-items:center;margin-top:24px;padding:20px 0 8px;display:flex}.app-footer{text-align:center;color:var(--muted);padding:16px 0 24px;font-size:12px}.app-footer a{color:var(--muted);text-decoration:underline}.app-footer a:hover{color:var(--text)}.card-wide{grid-column:1/-1}.notice{border-radius:8px;margin-bottom:16px;padding:10px 36px 10px 14px;font-size:14px;position:relative}.notice-ok{color:var(--ok);background:#dcfce7}.notice-warn{color:var(--warn);background:#fef3c7}.notice-err{color:var(--danger);background:#fee2e2}.notice-close{color:inherit;background:0 0;padding:0 8px;font-size:18px;line-height:1;position:absolute;top:6px;right:8px}.notice-close:hover{background:#0000000d}.activity-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.activity-row{border:1px solid var(--border);background:#fafafa;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;padding:12px;display:flex}.activity-main{flex:1;min-width:0}.activity-name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.activity-meta{color:var(--muted);gap:12px;margin-top:2px;font-size:13px;display:flex}.activity-stats{white-space:nowrap;gap:20px;font-size:13px;display:flex}.activity-stats>div{flex-direction:column;align-items:flex-end;display:flex}.activity-stats strong{font-size:14px}.stat-label{color:var(--muted);font-size:12px}@media (width<=640px){.activity-row{flex-direction:column;align-items:flex-start}.activity-stats{justify-content:space-between;align-self:stretch}.activity-stats>div{align-items:flex-start}}.admin-shell{grid-template-columns:200px 1fr;gap:24px;display:grid}.admin-nav{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;align-self:start;gap:4px;padding:12px;display:flex;position:sticky;top:74px}.admin-nav a{color:var(--text);border-radius:6px;padding:10px 12px;font-size:14px}.admin-nav a:hover{background:#f3f4f6;text-decoration:none}.admin-nav a.active{background:var(--brand);color:#fff}.admin-content{min-width:0}@media (width<=720px){.admin-shell{grid-template-columns:1fr}.admin-nav{flex-direction:row;position:static;overflow-x:auto}}.page-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.page-head h2{margin:0}.stat-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;display:grid}.stat-card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px}.stat-value{font-size:32px;font-weight:700;line-height:1}.stat-card .stat-label{color:var(--muted);margin-top:8px;font-size:13px}.stat-warn .stat-value{color:var(--danger)}.table-wrap{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:14px}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--border);vertical-align:middle;padding:10px 14px}.data-table th{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;background:#fafafa;font-size:12px;font-weight:600}.data-table tbody tr:hover{background:#fafafa}.data-table td.cell-correct{background:#16a34a14}.data-table td.cell-wrong{background:#dc262614}.event-registrations-table{min-width:900px}.event-registrations-table th,.event-registrations-table td{vertical-align:top;padding:8px 10px}.event-registrations-table th{z-index:1;position:sticky;top:0}.data-table select{border:1px solid var(--border);font:inherit;background:#fff;border-radius:6px;padding:4px 6px}.mono{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:13px}.row-disabled{opacity:.55}.row-suspicious{background:#fff7ed}.row-suspicious:hover{background:#ffedd5!important}.row-actions{white-space:nowrap;gap:6px;display:flex}.btn-sm{padding:5px 10px;font-size:13px}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){background:#b91c1c}.badge-err{color:var(--danger);background:#fee2e2}.toolbar{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:16px;display:flex}.filter-tabs{gap:6px;display:flex}.chip{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:999px;padding:6px 12px;font-size:13px}.chip:hover:not(:disabled){background:#f3f4f6}.chip-active{background:var(--brand);color:#fff;border-color:var(--brand)}.chip-active:hover:not(:disabled){background:var(--brand-dark)}.filter-user select{border:1px solid var(--border);font:inherit;background:#fff;border-radius:6px;padding:6px 10px}.modal-backdrop{z-index:100;background:#0f172a8c;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal{background:var(--surface);border-radius:var(--radius);flex-direction:column;gap:12px;width:100%;max-width:420px;padding:24px;display:flex;box-shadow:0 20px 40px #0003}.modal h3{margin:0;font-size:18px}.modal textarea{border:1px solid var(--border);font:inherit;resize:vertical;border-radius:8px;padding:10px 12px}.modal-actions{justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.team-editor{grid-template-columns:1fr 1fr;gap:16px;margin-top:12px;display:grid}@media (width<=640px){.team-editor{grid-template-columns:1fr}}.team-list,.team-detail{border:1px solid var(--border);background:#fafafa;border-radius:8px;min-height:220px;padding:10px}.team-list-head,.team-detail-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:8px;padding-bottom:6px;display:flex}.team-item{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:6px;gap:4px;margin-bottom:6px;padding:8px;display:grid}.team-item-active{border-color:var(--brand);box-shadow:0 0 0 2px #c8102e33}.team-item input{border:1px solid var(--border);width:100%;font:inherit;border-radius:4px;padding:4px 6px}.member-list{flex-direction:column;gap:4px;margin:0 0 10px;padding:0;list-style:none;display:flex}.member-list li{border:1px solid var(--border);background:#fff;border-radius:6px;justify-content:space-between;align-items:center;padding:6px 10px;font-size:14px;display:flex}.add-member{align-items:center;gap:8px;margin-top:8px;font-size:13px;display:flex}.add-member select{border:1px solid var(--border);font:inherit;background:#fff;border-radius:6px;flex:1;padding:6px 8px}.team-editor-horizontal{scroll-behavior:smooth;flex:1;align-items:flex-start;gap:12px;margin:0 -4px;padding:4px 4px 12px;display:flex;overflow:auto hidden}.team-editor-horizontal::-webkit-scrollbar{height:8px}.team-editor-horizontal::-webkit-scrollbar-track{background:0 0}.team-editor-horizontal::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:999px}.team-card-v2{border:1px solid var(--border);background:#fafbfd;border-radius:12px;flex-direction:column;flex:0 0 300px;max-height:calc(90vh - 220px);padding:12px;display:flex;overflow-y:auto}@media (width<=640px){.team-card-v2{flex:0 0 88vw}}.team-add-column-btn{min-height:120px;color:var(--brand);background:0 0;border:2px dashed #c9d1e0;border-radius:12px;flex:0 0 220px;justify-content:center;align-items:center;padding:16px;font-size:14px;font-weight:600;transition:background .15s,border-color .15s;display:flex}.team-add-column-btn:hover{border-color:var(--brand);background:#eef4fd;border-style:solid}.team-card-v2-head{align-items:center;gap:8px;margin-bottom:10px;display:flex}.team-card-v2-head input{border:1px solid var(--border);font:inherit;background:#fff;border-radius:6px;flex:1;padding:6px 10px;font-weight:600}.team-card-v2-head input:focus{outline:2px solid var(--brand-cyan);outline-offset:1px}.team-member-list-v2{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.team-member-item{background:#fff;border:1px solid #0000;border-radius:8px;align-items:flex-start;gap:10px;padding:6px 10px;display:flex}.team-member-item:hover{border-color:var(--border)}.team-add-member-btn{width:100%;color:var(--brand);text-align:left;background:0 0;border:1px dashed #c9d1e0;border-radius:8px;padding:10px 12px;font-size:13px;font-weight:500}.team-add-member-btn:hover:not(:disabled){border-color:var(--brand);background:#eef4fd;border-style:solid}.member-search-wrap{position:relative}.member-search-bar{border:1px solid var(--border);height:42px;color:var(--muted);background:#fff;border-radius:999px;align-items:center;gap:8px;padding:0 14px;transition:border-color .15s,box-shadow .15s;display:flex}.member-search-bar:focus-within{border-color:var(--brand-cyan);box-shadow:0 0 0 3px #00a5d926}.member-search-bar input{min-width:0;font:inherit;color:var(--text);background:0 0;border:0;outline:none;flex:1;padding:0;font-size:14px}.member-search-bar input::-webkit-search-cancel-button{display:none}.member-search-clear,.member-search-cancel{width:22px;height:22px;color:var(--muted);background:#0000000f;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:14px;line-height:1;display:inline-flex}.member-search-clear:hover,.member-search-cancel:hover{color:var(--text);background:#0000001f}.member-search-cancel{color:var(--muted);background:0 0;font-size:13px}.member-search-cancel:hover{color:var(--danger);background:#fee2e2}.member-search-dropdown{background:var(--surface);border:1px solid var(--border);z-index:250;border-radius:10px;max-height:320px;padding:4px;overflow-y:auto;box-shadow:0 12px 28px #0f172a33}.type-pace-list{border:1px solid var(--border);background:#fafbfd;border-radius:8px;flex-direction:column;gap:4px;padding:6px;display:flex}.type-pace-row{background:0 0;border-radius:6px;justify-content:space-between;align-items:center;gap:12px;padding:6px 8px;display:flex}.type-pace-row.enabled{background:#fff;border:1px solid #e2e8ef}.type-pace-row input[type=text]:disabled{color:#b0b6c1;cursor:not-allowed;background:#f4f6fb}.leaderboard-grid{grid-template-columns:1fr 1fr;gap:24px;display:grid}.leaderboard-grid section h3{margin:0 0 8px;font-size:16px}@media (width<=900px){.leaderboard-grid{grid-template-columns:1fr}}.row-highlight{background:#fef3c7!important}.page-head{align-items:flex-start}.page-head h2{letter-spacing:-.01em;color:var(--text);font-size:24px;font-weight:700}.page-subtitle{color:var(--muted);margin:2px 0 0;font-size:13px}.toolbar-modern{background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;padding:12px 14px;display:flex}.toolbar-modern .search-input{border:1px solid var(--border);min-width:220px;font:inherit;background:#fbfbfd;border-radius:8px;flex:1;padding:8px 12px;font-size:14px}.toolbar-modern .search-input:focus{outline:2px solid var(--brand-cyan);outline-offset:1px}.toolbar-modern select{border:1px solid var(--border);font:inherit;color:var(--text);background:#fff;border-radius:8px;padding:8px 10px;font-size:13px}.toolbar-modern .toolbar-label{color:var(--muted);font-size:12px;font-weight:500}.avatar{color:#fff;letter-spacing:.02em;text-transform:uppercase;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:14px;font-weight:600;display:inline-flex}.avatar-sm{width:28px;height:28px;font-size:11px}.avatar-lg{width:64px;height:64px;font-size:22px}.avatar-xl{width:96px;height:96px;font-size:32px}.avatar-img{object-fit:cover}.cropper-frame{justify-content:center;margin:4px 0;display:flex}.cropper-viewport{touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none;background:#111;border-radius:12px;flex-shrink:0;position:relative;overflow:hidden}.cropper-viewport:active{cursor:grabbing}.cropper-image{transform-origin:50%;pointer-events:none;max-width:none;max-height:none;position:absolute;top:50%;left:50%}.cropper-mask{pointer-events:none;background:radial-gradient(circle closest-side,#0000 0 calc(100% - 2px),#ffffffe6 calc(100% - 2px) 100%,#0000008c 100%);border-radius:12px;position:absolute;inset:0}.cropper-viewport:focus{outline:none}.cropper-viewport:focus-visible{box-shadow:0 0 0 3px #1f316359}.cropper-grid{pointer-events:none;mix-blend-mode:overlay;background:linear-gradient(90deg,#0000 calc(33.33% - .5px),#ffffff8c calc(33.33% - .5px) calc(33.33% + .5px),#0000 calc(33.33% + .5px) calc(66.66% - .5px),#ffffff8c calc(66.66% - .5px) calc(66.66% + .5px),#0000 calc(66.66% + .5px)),linear-gradient(#0000 calc(33.33% - .5px),#ffffff8c calc(33.33% - .5px) calc(33.33% + .5px),#0000 calc(33.33% + .5px) calc(66.66% - .5px),#ffffff8c calc(66.66% - .5px) calc(66.66% + .5px),#0000 calc(66.66% + .5px));border-radius:12px;position:absolute;inset:0}.cropper-zoom-badge{color:#fff;pointer-events:none;letter-spacing:.02em;font-variant-numeric:tabular-nums;background:#0000008c;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:600;position:absolute;top:8px;right:8px}.cropper-controls{align-items:center;gap:10px;margin-top:10px;display:flex}.cropper-zoom-btn{border:1px solid var(--border);background:var(--surface);width:32px;height:32px;color:var(--text);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:0;font-size:18px;font-weight:600;line-height:1;display:inline-flex}.cropper-zoom-btn:hover:not(:disabled){background:#eef1f7}.cropper-tools{justify-content:space-between;align-items:center;gap:14px;margin-top:12px;display:flex}.cropper-pad{touch-action:none;-webkit-user-select:none;user-select:none;grid-template-rows:repeat(3,34px);grid-template-columns:repeat(3,34px);grid-template-areas:".up.""left center right"".down.";gap:4px;display:grid}.cropper-pad-btn{border:1px solid var(--border);background:var(--surface);width:34px;height:34px;color:var(--text);cursor:pointer;touch-action:none;border-radius:8px;justify-content:center;align-items:center;padding:0;font-size:15px;font-weight:700;line-height:1;display:inline-flex}.cropper-pad-btn:hover{background:#eef1f7}.cropper-pad-btn:active{background:#dfe4ee;transform:scale(.96)}.cropper-pad-center{border:1px dashed var(--border);background:#00000008;border-radius:8px;width:34px;height:34px}.cropper-tool-buttons{flex-direction:column;align-items:stretch;gap:6px;min-width:88px;display:flex}.cropper-tool-buttons .icon-btn{border-color:var(--border)}.cropper-tool-buttons .icon-btn[aria-pressed=true]{color:var(--text);border-color:var(--border);background:#eef1f7}.avatar-user-cell{align-items:center;gap:10px;min-width:0;display:flex}.avatar-user-cell .name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.avatar-user-cell .email{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.data-table.data-table-modern{font-size:14px}.data-table.data-table-modern th{color:#4b5364;letter-spacing:.06em;background:#fafbfd;padding:12px 16px;font-size:11px;font-weight:600}.data-table.data-table-modern td{vertical-align:middle;border-bottom:1px solid #eef1f6;padding:14px 16px}.data-table.data-table-modern tbody tr{transition:background .12s}.data-table.data-table-modern tbody tr:hover{background:#f7f8fc}.data-table.data-table-modern tbody tr:last-child td{border-bottom:0}.data-table.data-table-modern .row-actions{justify-content:flex-end;gap:4px}.icon-btn{color:var(--muted);background:0 0;border:1px solid #0000;border-radius:6px;padding:6px 10px;font-size:12px;font-weight:500}.icon-btn:hover:not(:disabled){color:var(--text);background:#eef1f7}.icon-btn.icon-btn-danger{color:var(--danger)}.icon-btn.icon-btn-danger:hover:not(:disabled){background:#fee2e2}.icon-btn:disabled{color:#c9cdd6}.race-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px;display:grid}.race-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;flex-direction:column;gap:12px;padding:20px;transition:transform .15s,box-shadow .15s;display:flex;box-shadow:0 1px 2px #1f31630a}.race-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #1f31631a}.race-card-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.race-card-head .race-name{color:var(--text);font-size:17px;font-weight:700;line-height:1.25}.race-card-desc{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;line-height:1.4;display:-webkit-box;overflow:hidden}.race-card-meta{color:var(--muted);align-items:center;gap:8px;font-size:13px;display:flex}.race-card-stats{background:#f7f8fc;border-radius:10px;grid-template-columns:1fr 1fr;gap:8px;padding:10px;display:grid}.race-card-stat{flex-direction:column;align-items:flex-start;gap:2px;display:flex}.race-card-stat .stat-num{color:var(--brand);font-size:20px;font-weight:700;line-height:1}.race-card-stat .stat-name{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px}.race-card-actions{border-top:1px solid #eef1f6;flex-wrap:wrap;gap:6px;padding-top:8px;display:flex}.race-card-actions select{border:1px solid var(--border);font:inherit;background:#fff;border-radius:6px;padding:5px 8px;font-size:12px}.status-badge{text-transform:uppercase;letter-spacing:.04em;border:1px solid #0000;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:11px;font-weight:600;display:inline-flex}.status-badge:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.status-badge-active{color:var(--ok);background:#ecfdf5;border-color:#a7e5b3}.status-badge-draft{color:#6b7280;background:#f3f4f6;border-color:#d1d5db}.status-badge-ended{color:var(--brand);background:#eaf0fb;border-color:#c9d6ee}.empty-state{text-align:center;background:var(--surface);border-radius:var(--radius);border:1px dashed var(--border);color:var(--muted);padding:60px 20px}.empty-state h4{color:var(--text);margin:0 0 4px;font-size:16px}.empty-state p{margin:0;font-size:13px}.stat-card{border:1px solid var(--border);flex-direction:column;gap:4px;display:flex}.stat-card .stat-value{color:var(--brand)}.stat-card.stat-warn .stat-value{color:var(--danger)}.user-list{flex-direction:column;gap:8px;display:flex}.user-item{background:var(--surface);border:1px solid var(--border);border-radius:12px;align-items:center;gap:14px;padding:12px 16px;transition:box-shadow .15s,transform .15s;display:flex}.user-item:hover{box-shadow:0 4px 12px #1f31630f}.user-item.user-item-disabled{opacity:.6}.user-item.user-item-checked-in{background:#f0fdf4;border-color:#bbf7d0}.checkin-event-list{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;display:grid}.checkin-event-card{text-align:left;border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:12px;flex-direction:column;gap:4px;padding:14px 16px;font-family:inherit;transition:box-shadow .15s,transform 50ms;display:flex}.checkin-event-card:hover{box-shadow:0 4px 12px #1f316314}.checkin-event-card:active{transform:translateY(1px)}.checkin-event-card-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;display:flex}.checkin-event-name{font-size:15px}.checkin-event-meta{font-size:12px}.race-progress-chart{border:1px solid var(--border);background:#fff;border-radius:12px;margin-bottom:16px;padding:16px}.race-progress-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;display:flex}.race-progress-legend{flex-wrap:wrap;gap:6px 10px;margin-bottom:8px;display:flex}.race-progress-legend-item{border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-family:inherit;font-size:12px;transition:opacity .15s;display:inline-flex}.race-progress-legend-item:hover{background:#f7f8fc}.race-progress-legend-hidden{opacity:.35;text-decoration:line-through}.race-progress-legend-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px;display:inline-block}.race-progress-plot{width:100%;position:relative}.race-progress-plot svg{width:100%;height:auto;display:block}.race-progress-tooltip{color:#fff;pointer-events:none;background:#111827f0;border-radius:8px;min-width:160px;max-width:260px;padding:8px 10px;font-size:12px;position:absolute;top:8px;transform:translate(-50%);box-shadow:0 6px 16px #0003}.race-progress-tooltip-title{margin-bottom:4px;font-size:12px;font-weight:600}.race-progress-tooltip-row{align-items:center;gap:6px;font-size:12px;line-height:1.4;display:flex}.race-progress-tooltip-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.user-item .user-info{flex-direction:column;flex:220px;gap:2px;min-width:0;display:flex}.user-item .user-info .name{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:8px;font-weight:600;display:flex;overflow:hidden}.user-code-chip{color:var(--brand);letter-spacing:.02em;background:#eef1f7;border-radius:999px;padding:1px 8px;font-size:11px;font-weight:600;display:inline-flex}.athlete-nickname{color:var(--muted);margin-left:4px;font-style:italic;font-weight:500}.user-item .user-info .email{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.user-item .user-role-select{border:1px solid var(--border);font:inherit;cursor:pointer;background:#fff;border-radius:8px;padding:5px 8px;font-size:12px}.user-item .user-badges{flex-wrap:wrap;align-items:center;gap:6px;display:flex}@media (width<=720px){.user-item{flex-wrap:wrap}.user-item .user-info{flex:100%}}.action-menu{display:inline-block;position:relative}.action-menu-trigger{width:32px;height:32px;color:var(--muted);background:0 0;border-radius:8px;justify-content:center;align-items:center;padding:0;display:inline-flex}.action-menu-trigger:hover:not(:disabled){color:var(--text);background:#eef1f7}.action-menu-dropdown{background:var(--surface);border:1px solid var(--border);z-index:40;border-radius:10px;flex-direction:column;min-width:180px;padding:4px;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 10px 24px #0f172a24}.action-menu-item{color:var(--text);text-align:left;background:0 0;border-radius:6px;padding:8px 12px;font-size:13px;font-weight:500}.action-menu-item:hover:not(:disabled){background:#f3f4f6}.action-menu-item.danger{color:var(--danger)}.action-menu-item.danger:hover:not(:disabled){background:#fee2e2}.action-menu-item:disabled{color:#c9cdd6;cursor:not-allowed}.activity-list-modern{flex-direction:column;gap:8px;display:flex}.activity-item-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;grid-template-columns:auto 1fr auto auto auto;align-items:center;gap:14px;padding:14px 16px;transition:box-shadow .15s;display:grid}.activity-item-card:hover{box-shadow:0 4px 12px #1f31630f}.activity-item-card.suspicious{background:#fff7ed;border-color:#fed7aa}.activity-item-main{flex-direction:column;gap:3px;min-width:0;display:flex}.activity-item-main .a-name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.activity-item-main .a-sub{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;display:flex}.activity-item-main .a-sub .dot:before{content:"·";color:#d1d5db;margin:0 4px}.activity-item-stats{white-space:nowrap;align-items:center;gap:18px;font-size:13px;display:flex}.activity-item-stats .a-stat{flex-direction:column;align-items:flex-end;line-height:1.15;display:flex}.activity-item-stats .a-stat strong{color:var(--text);font-size:14px;font-weight:700}.activity-item-stats .a-stat .a-stat-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-top:1px;font-size:10px}@media (width<=900px){.activity-item-card{grid-template-rows:auto auto;grid-template-columns:auto 1fr auto;row-gap:10px}.activity-item-stats{grid-column:1/-1;justify-content:space-between}}.log-list{flex-direction:column;gap:8px;display:flex}.log-item{background:var(--surface);border:1px solid var(--border);border-radius:12px;align-items:flex-start;gap:14px;padding:14px 16px;transition:box-shadow .15s;display:flex}.log-item:hover{box-shadow:0 4px 12px #1f31630f}.log-item.log-item-error{background:#fef2f2;border-color:#fca5a5}.log-item-body{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.log-item-line1{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.log-item-line1 .actor-name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.log-item-line1 .actor-role{color:var(--muted);text-transform:lowercase;letter-spacing:.02em;background:#eef1f7;border-radius:4px;padding:1px 6px;font-size:11px}.log-item-line2{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;display:flex}.log-item-line2 .action-name{color:var(--text);font-weight:500}.log-item-line2 .dot:before{content:"·";color:#d1d5db;margin:0 6px}.log-item-line3{color:var(--danger);margin-top:2px;font-size:12px}.log-item-details{margin-top:6px}.log-item-details summary{cursor:pointer;color:var(--muted);font-size:12px;font-weight:500}.log-item-details summary:hover{color:var(--text)}.log-item-details pre{overflow-wrap:anywhere;white-space:pre-wrap;background:#f7f8fc;border-radius:8px;max-height:260px;margin:6px 0 0;padding:10px;font-size:11px;overflow-y:auto}.log-item-status{flex-shrink:0}.avatar-system{background:linear-gradient(135deg, var(--brand), var(--brand-cyan))!important}.achievements-section{margin-bottom:20px}.achievement-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;display:grid}.achievement-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;align-items:flex-start;gap:14px;padding:14px 16px;transition:transform .15s,box-shadow .15s;display:flex;position:relative;overflow:hidden;box-shadow:0 1px 2px #1f31630a}.achievement-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px #1f31631a}.achievement-won{background:linear-gradient(135deg,#fffbeb 0%,#fff 50%,#fff5d1 100%);border-color:#f5c33b;box-shadow:inset 0 0 0 1px #f5c33b,0 6px 16px #d58e1524}.achievement-mine{background:linear-gradient(135deg,#ecfdf5 0%,#fff 50%,#d1fadf 100%);border-color:#4b9b1e;box-shadow:inset 0 0 0 1px #4b9b1e,0 6px 16px #4b9b1e29}.achievement-medal{filter:drop-shadow(0 4px 8px #00000024);flex-shrink:0;font-size:34px;line-height:1}.achievement-body{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.achievement-name{color:var(--text);font-size:15px;font-weight:700;line-height:1.25}.achievement-desc{color:var(--muted);font-size:12px;line-height:1.5}.achievement-meta{color:var(--muted);flex-wrap:wrap;gap:10px;margin-top:2px;font-size:12px;display:flex}.achievement-goal{color:var(--brand);background:#eef1f7;border-radius:999px;padding:2px 8px;font-weight:600}.achievement-reward strong{color:var(--brand-cyan);font-weight:700}.achievement-reward-coin strong{color:#b46a06;background:linear-gradient(135deg,#fff5d1,#fef3c7);border:1px solid #f5c33b;border-radius:999px;align-items:center;gap:5px;padding:2px 10px 2px 6px;display:inline-flex}.profile-stat-coin .profile-stat-value{color:#b46a06;letter-spacing:-.01em;font-weight:700}.profile-stat-coin-value{align-items:center;gap:6px;display:inline-flex}.profile-stat-coin .profile-stat-label{color:#b46a06;font-weight:600}.tdt-coin-icon.animated .coin-body{transform-origin:50%;will-change:filter;animation:3s cubic-bezier(.45,0,.55,1) infinite coin-glow}@keyframes coin-glow{0%,to{filter:drop-shadow(0 0 1px #f5c33b59)}25%{filter:drop-shadow(0 0 3px #f5c33b8c)drop-shadow(0 0 8px #f5c33b33)}50%{filter:drop-shadow(0 0 6px #f5c33be6)drop-shadow(0 0 14px #f5c33b73)drop-shadow(0 0 22px #f5c33b33)}75%{filter:drop-shadow(0 0 3px #f5c33b8c)drop-shadow(0 0 8px #f5c33b33)}}.tdt-coin-icon.animated .coin-shine-sweep{will-change:transform;animation:4.5s cubic-bezier(.6,0,.4,1) infinite coin-shine-sweep}@keyframes coin-shine-sweep{0%{transform:translate(-55px)}55%{transform:translate(55px)}to{transform:translate(55px)}}.tdt-coin-icon .coin-sparkle{opacity:0;will-change:transform, opacity;transform:scale(.3)}.tdt-coin-icon.animated .coin-sparkle{animation-name:coin-sparkle-twinkle;animation-timing-function:cubic-bezier(.45,0,.55,1);animation-iteration-count:infinite;animation-fill-mode:both}@keyframes coin-sparkle-twinkle{0%{opacity:0;transform:scale(.3)rotate(0)}15%{opacity:.3;transform:scale(.55)rotate(20deg)}35%{opacity:.8;transform:scale(.9)rotate(45deg)}50%{opacity:1;transform:scale(1.05)rotate(60deg)}65%{opacity:.8;transform:scale(.9)rotate(75deg)}85%{opacity:.3;transform:scale(.55)rotate(100deg)}to{opacity:0;transform:scale(.3)rotate(120deg)}}@media (prefers-reduced-motion:reduce){.tdt-coin-icon.animated .coin-body,.tdt-coin-icon.animated .coin-shine-sweep,.tdt-coin-icon.animated .coin-sparkle{animation:none}}.coin-balance-pill{background:linear-gradient(135deg,#fff5d1 0%,#fef3c7 50%,#fef9c3 100%);border:1px solid #f5c33b;border-radius:999px;align-self:flex-start;align-items:center;gap:8px;margin-top:10px;padding:6px 14px 6px 8px;display:inline-flex;box-shadow:0 2px 8px #b46a0626,inset 0 1px #ffffffb3}.coin-balance-pill-button{cursor:pointer;font:inherit;color:inherit;transition:transform .12s,box-shadow .12s}.coin-balance-pill-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #b46a0640,inset 0 1px #ffffffb3}.coin-balance-pill-button:active{transform:translateY(0)}.coin-history-stat{text-align:center;background:#f7f8fc;border-radius:8px;padding:10px 12px}.coin-history-stat-label{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:11px;font-weight:500}.coin-history-stat-value{margin-top:2px;font-size:18px;font-weight:700}.coin-history-list{max-height:55vh;margin:0;padding:0;list-style:none;overflow-y:auto}.coin-history-item{border-bottom:1px solid #eef1f6;align-items:flex-start;gap:12px;padding:10px 4px;display:flex}.coin-history-item:last-child{border-bottom:none}.coin-history-amount{text-align:right;min-width:64px;padding-top:2px;font-size:15px;font-weight:700}.coin-history-body{flex:1;min-width:0}.coin-history-desc{font-size:14px;font-weight:500}.coin-balance-num{color:#7a4a0a;letter-spacing:-.02em;font-size:18px;font-weight:800;line-height:1}.coin-balance-label{text-transform:uppercase;letter-spacing:.08em;color:#b46a06;border-left:1px solid #b46a0659;padding-left:4px;font-size:11px;font-weight:700}.coin-balance-amount,.coin-amount{align-items:baseline;gap:0;display:inline-flex}.coin-balance-dollar{color:#b46a06;font-size:16px;font-weight:800;line-height:1}.coin-dollar{color:#b46a06;font-weight:800}@media (width<=900px){.coin-balance-pill{align-self:center;padding:6px 14px 6px 8px}.coin-balance-num{font-size:17px}}.achievement-winner-line{border-top:1px dashed #f5c33b;flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;padding-top:8px;font-size:13px;display:flex}.achievement-winner-line strong{color:#b46a06;font-weight:700}.achievement-mine-chip{background:var(--ok);color:#fff;letter-spacing:.04em;text-transform:uppercase;border-radius:999px;margin-left:auto;padding:1px 8px;font-size:10px;font-weight:700}.achievement-open{border-top:1px dashed var(--border);color:var(--muted);margin-top:6px;padding-top:8px;font-size:12px;font-style:italic}.achievement-row{border:1px solid var(--border);background:#fafbfd;border-radius:10px;flex-direction:column;gap:10px;padding:12px;display:flex}.achievement-winner-strip{color:#7a4a0a;background:linear-gradient(135deg,#fffbeb 0%,#fff5d1 100%);border:1px solid #f5c33b;border-radius:8px;padding:8px 10px;font-size:12px}.achievement-winner-strip strong{color:#b46a06}.admin-race-nav{background:var(--surface);border:1px solid var(--border);z-index:8;box-shadow:var(--shadow);border-radius:10px;flex-wrap:wrap;gap:6px;margin-bottom:20px;padding:10px 12px;display:flex;position:sticky;top:74px}.admin-race-nav a,.admin-race-nav button{color:var(--text);background:#f3f4f6;border-radius:999px;padding:5px 12px;font-size:13px;font-weight:500;text-decoration:none;transition:background .12s}.admin-race-nav a:hover,.admin-race-nav button:hover{background:var(--brand);color:#fff;text-decoration:none}.admin-race-section{margin-bottom:32px;scroll-margin-top:140px}.admin-race-section h3{margin:0 0 12px;font-size:17px}@media (width<=768px){.admin-race-nav{flex-wrap:nowrap;padding:8px;position:static;overflow-x:auto}.admin-race-nav a{white-space:nowrap;flex-shrink:0}}.progress-section{margin-top:20px}.progress-section-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:10px;display:flex}.progress-section-head h3{margin:0;font-size:16px}.progress-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px;display:grid}.progress-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:10px;padding:14px 16px;display:flex;box-shadow:0 1px 2px #1f31630a}.progress-card-achievement{background:linear-gradient(135deg,#fffbeb 0%,#fff 60%);border-color:#f5c33b}.progress-card-penalty{background:linear-gradient(135deg,#fef2f2 0%,#fff 60%);border-color:#fca5a5}.progress-card-head{align-items:flex-start;gap:12px;display:flex}.progress-card-emoji{flex-shrink:0;font-size:26px;line-height:1}.progress-card-name{color:var(--text);font-size:14px;font-weight:700;line-height:1.3}.progress-card-target{color:var(--muted);margin-top:2px;font-size:12px;line-height:1.4}.progress-card-target strong{color:var(--text)}.progress-contenders{flex-direction:column;gap:5px;margin:0;padding:0;list-style:none;display:flex}.progress-row{border-radius:6px;grid-template-rows:auto auto;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:2px 8px;padding:5px 6px;display:grid}.progress-row:hover{background:#00000008}.progress-rank{color:var(--muted);text-align:center;grid-row:1/span 2;align-self:center;font-size:12px;font-weight:700}.progress-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;font-weight:600;text-decoration:none;overflow:hidden}.progress-name:hover{color:var(--brand);text-decoration:none}.progress-bar{background:#eef1f7;border-radius:999px;grid-column:2;height:6px;position:relative;overflow:hidden}.progress-bar-fill{background:linear-gradient(90deg,#f5c33b,#d68e15);border-radius:999px;height:100%;transition:width .3s}.progress-bar-fill-danger{background:linear-gradient(90deg,#fca5a5,#dc2626)}.progress-bar-fill-safe{background:linear-gradient(90deg,#86efac,#16a34a)}.progress-scroll{max-height:360px;padding-right:4px;overflow-y:auto}.progress-scroll::-webkit-scrollbar{width:6px}.progress-scroll::-webkit-scrollbar-track{background:0 0}.progress-scroll::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:999px}.progress-scroll::-webkit-scrollbar-thumb:hover{background:#9ca3af}.progress-safe .progress-rank{color:var(--ok);font-size:14px}.progress-value{color:var(--muted);text-align:right;grid-column:2;font-size:11px}.progress-leader .progress-rank{color:#d68e15}.progress-me{border:1px solid #c9d6ee;background:#eef4fd!important}.progress-danger .progress-rank{color:var(--danger)}.data-table tr.row-clickable{cursor:pointer;transition:background .12s}.data-table tr.row-clickable:hover{background:#eef4fd!important}.data-table tr.row-clickable:active{background:#dfeafb!important}.data-table tr.row-disqualified{color:var(--muted);background:#fef2f2!important}.data-table tr.row-disqualified:hover{background:#fee2e2!important}.data-table tr.row-disqualified strong{color:var(--muted)}.disqualified-chip{color:var(--danger);letter-spacing:.04em;text-transform:uppercase;vertical-align:middle;background:#fee2e2;border-radius:999px;margin-left:8px;padding:1px 8px;font-size:10px;font-weight:700;display:inline-block}.team-penalty-chip{color:var(--danger);letter-spacing:.02em;vertical-align:middle;background:#fee2e2;border-radius:999px;margin-left:6px;padding:1px 7px;font-size:10px;font-weight:700;display:inline-block}.captain-cta{border-radius:var(--radius);background:linear-gradient(135deg,#fffbeb 0%,#fff 60%,#fff5d1 100%);border:1px solid #f5c33b;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;padding:14px 18px;display:flex;box-shadow:0 4px 14px #d58e151f}.stage-row{border:1px solid var(--border);background:#fafbfd;border-radius:10px;flex-direction:column;gap:10px;padding:12px;display:flex}.stage-row-head{align-items:center;gap:8px;display:flex}.stage-name-input{border:1px solid var(--border);font:inherit;background:#fff;border-radius:6px;flex:1;padding:6px 10px;font-weight:600}.stage-name-input:focus{outline:2px solid var(--brand-cyan);outline-offset:1px}.stage-row-fields{grid-template-columns:1fr 1fr 1fr;gap:10px;display:grid}.stage-row-fields label{flex-direction:column;gap:4px;font-size:12px;display:flex}.stage-row-fields input{border:1px solid var(--border);font:inherit;background:#fff;border-radius:6px;padding:6px 10px}.stage-row-fields input:focus{outline:2px solid var(--brand-cyan);outline-offset:1px}.stage-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:600}@media (width<=640px){.stage-row-fields{grid-template-columns:1fr}}.goal-member-row{background:var(--surface);border:1px solid var(--border);border-radius:10px;align-items:center;gap:12px;padding:10px 14px;display:flex}.goal-member-name{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;font-size:14px;font-weight:600;display:flex;overflow:hidden}.goal-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:16px;padding:18px 20px}.goal-section-head{margin-bottom:12px}.goal-chart{flex-direction:column;gap:10px;display:flex}.goal-chart-stats{background:#f7f8fc;border-radius:10px;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;padding:10px 12px;display:grid}.goal-stat{flex-direction:column;gap:2px;min-width:0;display:flex}.goal-stat-value{color:var(--brand);letter-spacing:-.01em;font-size:18px;font-weight:700;line-height:1.1}.goal-stat-label{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:500;overflow:hidden}.goal-stat.gap-good .goal-stat-value{color:var(--ok)}.goal-stat.gap-bad .goal-stat-value{color:var(--danger)}@media (width<=720px){.goal-chart-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.goal-chart-body{width:100%;position:relative}.goal-chart-svg{width:100%;height:100%;display:block}.goal-chart-tooltip{color:#fff;white-space:nowrap;z-index:5;pointer-events:none;background:#1c2028;border-radius:8px;flex-direction:column;gap:2px;padding:8px 12px;font-size:12px;line-height:1.3;display:flex;position:absolute;bottom:calc(100% + 6px);transform:translate(-50%);box-shadow:0 8px 20px #00000040}.goal-chart-axis{color:var(--muted);gap:3px;padding:6px 2px 0;font-size:11px;display:flex}.goal-chart-axis .axis-tick{text-align:center;white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.goal-chart-legend{color:var(--muted);flex-wrap:wrap;align-items:center;gap:16px;font-size:12px;display:flex}.legend-item{align-items:center;gap:6px;display:inline-flex}.legend-swatch{border-radius:2px;width:20px;height:3px;display:inline-block}.legend-target{background:repeating-linear-gradient(90deg,#1f3163 0 6px,#0000 6px 10px)}.legend-actual{background:#00a5d9;height:4px}.legend-today{background:repeating-linear-gradient(90deg,#d97706 0 3px,#0000 3px 6px);width:3px;height:6px}.goal-stage-list{flex-wrap:wrap;gap:8px;display:flex}.goal-stage-chip{background:#eef1f7;border-radius:999px;align-items:center;gap:8px;padding:6px 12px;font-size:12px;display:inline-flex}.goal-stage-name{color:var(--brand);font-weight:600}.goal-stage-range{color:var(--muted);font-size:11px}.goal-stage-target{color:var(--brand-cyan);font-weight:700}.coach-card{background:linear-gradient(135deg,#f4f2ff 0%,#eaf4fb 100%);border:1px solid #dcd6f7;border-radius:12px;margin:0 12px 12px;transition:box-shadow .15s;overflow:hidden}.coach-card.expanded{box-shadow:0 6px 20px #6366f11f}.coach-card-head{cursor:pointer;text-align:left;width:100%;font:inherit;background:0 0;border:0;align-items:center;gap:12px;padding:12px 14px;display:flex}.coach-avatar{color:#fff;background:linear-gradient(135deg,#6366f1 0%,#00a5d9 100%);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:18px;display:inline-flex;box-shadow:0 2px 6px #6366f159}.coach-head-body{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.coach-head-title{color:#4338ca;flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;font-weight:700;display:flex}.coach-head-chip{color:#4338ca;letter-spacing:.02em;text-transform:none;background:#6366f11f;border-radius:999px;padding:1px 8px;font-size:10.5px;font-weight:600}.coach-head-chip-next{color:#075985;background:#00a5d926}.coach-head-summary{color:var(--text);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;line-height:1.4;display:-webkit-box;overflow:hidden}.coach-card.expanded .coach-head-summary{-webkit-line-clamp:unset;display:block}.coach-caret{color:#4338ca;flex-shrink:0;transition:transform .2s}.coach-caret.open{transform:rotate(180deg)}.coach-card-body{border-top:1px solid #6366f126;flex-direction:column;gap:10px;margin-top:4px;padding:12px 14px 14px 60px;display:flex}.coach-section-label{color:#4338ca;margin-bottom:4px;font-size:12px;font-weight:700}.coach-section p{color:var(--text);margin:0;font-size:13.5px;line-height:1.55}.coach-insight-list{margin:0;padding-left:18px;font-size:13.5px;line-height:1.55}.coach-insight-list li{margin-bottom:4px}.coach-insight-list li::marker{color:#6366f1}.coach-footer{color:var(--muted);border-top:1px dashed #6366f133;margin-top:4px;padding-top:8px;font-size:11px;font-style:italic}@media (width<=640px){.coach-card{margin:0 10px 10px}.coach-card-body{padding-left:14px}}.coach-card-empty{border-style:dashed}.coach-empty-inner{align-items:center;gap:12px;padding:12px 14px;display:flex}.coach-empty-body{flex:1;min-width:0}.coach-empty-title{color:#4338ca;margin-bottom:2px;font-size:13px;font-weight:700}.coach-empty-sub{color:var(--muted);font-size:12.5px;line-height:1.45}.coach-empty-error{color:var(--danger);margin-top:6px;font-size:12px}.coach-empty-btn{color:#fff;background:linear-gradient(135deg,#6366f1 0%,#00a5d9 100%);border-radius:999px;flex-shrink:0;padding:8px 14px;font-size:13px;font-weight:600}.coach-empty-btn:hover:not(:disabled){filter:brightness(1.05)}@media (width<=640px){.coach-empty-inner{flex-wrap:wrap}.coach-empty-btn{width:100%;margin-top:4px}}.captain-badge{color:#fff;letter-spacing:.02em;background:linear-gradient(135deg,#f5c33b 0%,#d68e15 55%,#b46a06 100%);border:1px solid #fffc;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:800;line-height:1;display:inline-flex;box-shadow:0 0 0 2px #fff9,0 2px 6px #b46a0659}.captain-badge-inline{width:18px;height:18px;font-size:10px}.captain-badge-lg{width:30px;height:30px;font-size:15px;box-shadow:0 0 0 3px #ffffffbf,0 4px 14px #b46a0673}@keyframes captain-shimmer{0%{background-position:-180% 0}to{background-position:280% 0}}.captain-name{background:linear-gradient(100deg,#b46a06 0%,#f5c33b 35%,#ffe28a 50%,#f5c33b 65%,#b46a06 100%) 0 0/240% 100%;color:#0000;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;align-items:center;gap:6px;font-weight:700;animation:5.5s ease-in-out infinite captain-shimmer;display:inline-flex}.captain-name-link:hover .captain-name{filter:brightness(1.1)}.team-member-captain{position:relative;box-shadow:inset 0 0 0 1px #f5c33b;background:linear-gradient(135deg,#fffbeb 0%,#fff 60%)!important;border-color:#f5c33b!important}.icon-btn.icon-btn-captain-on{color:#d68e15;background:#fffbeb}.icon-btn.icon-btn-captain-on:hover:not(:disabled){color:#b46a06;background:#fff3c4}.data-table tr.row-captain{background:linear-gradient(90deg,#fffbeb 0%,#0000 60%)}.data-table tr.row-captain:hover{background:#fff3c4!important}.data-table tr.row-captain.row-highlight{background:linear-gradient(90deg,#fff3c4 0%,#fef3c7 100%)!important}.search-item.search-item-captain{background:linear-gradient(90deg,#fffbeb 0%,#0000 100%);border-left:3px solid #f5c33b;padding-left:8px}.search-item.search-item-captain:hover{background:linear-gradient(90deg,#fff3c4 0%,#fffbeb 100%)}.profile-header-captain{background:linear-gradient(135deg,#fffbeb 0%,#fff 40% 60%,#fff5d1 100%);border-color:#f5c33b;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #f5c33b,0 8px 24px #d58e1526}.profile-header-captain:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(#f5c33b2e 0%,#0000 60%);width:60%;height:180%;position:absolute;top:-40%;right:-20%}.profile-header-captain>*{z-index:1;position:relative}.captain-corner-ribbon{pointer-events:none;z-index:3;width:170px;height:170px;position:absolute;top:0;right:0;overflow:hidden}.captain-corner-ribbon-inner{color:#fff;letter-spacing:.14em;text-transform:uppercase;text-align:center;text-shadow:0 1px 2px #00000040;background:linear-gradient(135deg,#b46a06 0%,#d68e15 45%,#f5c33b 100%);justify-content:center;align-items:center;gap:6px;width:240px;padding:8px 0;font-size:12px;font-weight:800;display:flex;position:absolute;top:34px;right:-52px;transform:rotate(45deg);box-shadow:0 4px 12px #b46a0673,inset 0 -1px #00000026,inset 0 1px #ffffff4d}.captain-corner-ribbon-inner:before,.captain-corner-ribbon-inner:after{content:"";z-index:-1;border:5px solid #7a4a0a;position:absolute;top:100%}.captain-corner-ribbon-inner:before{border-color:#7a4a0a #7a4a0a #0000 #0000;left:0}.captain-corner-ribbon-inner:after{border-color:#7a4a0a #0000 #0000 #7a4a0a;right:0}.captain-corner-ribbon-star{filter:drop-shadow(0 0 3px #fffc);font-size:11px}@media (width<=900px){.captain-corner-ribbon{pointer-events:auto;justify-content:center;width:auto;height:auto;margin:0 auto 2px;display:flex;position:static;overflow:visible}.captain-corner-ribbon-inner{letter-spacing:.12em;border-radius:999px;align-items:center;width:auto;padding:5px 16px;font-size:11px;display:inline-flex;position:static;transform:none;box-shadow:0 3px 10px #b46a0659}.captain-corner-ribbon-inner:before,.captain-corner-ribbon-inner:after{display:none}.profile-header-captain:before{width:90%;height:160%;top:-30%;left:50%;right:auto;transform:translate(-50%)}.profile-header-captain .captain-badge-lg{width:26px;height:26px;font-size:13px}.profile-header-captain .captain-name{text-align:center;word-break:break-word;max-width:100%;display:inline-flex}}.avatar-captain-wrap{background:linear-gradient(135deg,#f5c33b 0%,#d68e15 100%);border-radius:50%;padding:4px;position:relative;box-shadow:0 4px 14px #b46a0659}.avatar-captain-wrap:after{content:"";filter:blur(6px);z-index:-1;background:conic-gradient(#f5c33b66,#fff0,#f5c33b66);border-radius:50%;animation:8s linear infinite captain-rotate;position:absolute;inset:-4px}@keyframes captain-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.avatar-captain-wrap .avatar{border:2px solid #fff}.knowledge-page{padding-bottom:24px}.knowledge-hero{border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);background:linear-gradient(135deg,#eaf4fb 0%,#fff 60%);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px;padding:24px 28px;display:flex}.knowledge-eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--brand-cyan);font-size:11px;font-weight:700}.knowledge-hero-badge{background:var(--brand);color:#fff;letter-spacing:.05em;text-transform:uppercase;border-radius:14px;flex-direction:column;align-items:center;padding:14px 22px;font-size:12px;font-weight:600;display:flex;box-shadow:0 8px 20px #1f31633d}.knowledge-count{letter-spacing:-.03em;font-size:32px;font-weight:800;line-height:1}.knowledge-toolbar{flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:20px;display:flex}.knowledge-search{border:1px solid var(--border);min-width:220px;font:inherit;background:#fff;border-radius:999px;flex:1;padding:10px 16px;font-size:14px}.knowledge-search:focus{outline:2px solid var(--brand-cyan);outline-offset:1px}.knowledge-filter-tabs{flex-wrap:wrap;gap:6px;display:flex}.knowledge-featured{color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:16px;grid-template-columns:minmax(260px,40%) 1fr;gap:0;margin-bottom:22px;text-decoration:none;transition:transform .2s,box-shadow .2s;display:grid;position:relative;overflow:hidden;box-shadow:0 12px 32px #1f316329}.knowledge-featured:hover{text-decoration:none;transform:translateY(-2px);box-shadow:0 18px 40px #1f316338}.knowledge-featured-cover{aspect-ratio:auto;height:100%;min-height:200px}.knowledge-featured-body{flex-direction:column;justify-content:center;gap:6px;min-width:0;padding:22px 26px;display:flex;position:relative}.knowledge-featured-eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--brand);background:#eaf0fb;border-radius:999px;align-self:flex-start;margin-bottom:4px;padding:4px 10px;font-size:11px;font-weight:700;display:inline-block}.knowledge-featured-title{color:var(--text);margin:4px 0 6px;font-size:22px;font-weight:700;line-height:1.25}.knowledge-featured-excerpt{color:var(--muted);margin:0 0 8px;font-size:14px;line-height:1.5}.knowledge-featured-meta{color:var(--muted);gap:6px;font-size:12px;display:flex}@media (width<=720px){.knowledge-featured{grid-template-columns:1fr}.knowledge-featured-cover{aspect-ratio:16/9;min-height:180px}}.knowledge-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.knowledge-card{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:14px;flex-direction:column;text-decoration:none;transition:transform .15s,box-shadow .15s;display:flex;overflow:hidden;box-shadow:0 1px 2px #1f31630a}.knowledge-card:hover{text-decoration:none;transform:translateY(-3px);box-shadow:0 12px 28px #1f316324}.article-cover{aspect-ratio:16/9;justify-content:center;align-items:center;width:100%;display:flex;position:relative;overflow:hidden}.article-cover:not(.article-cover-photo):before{content:"";pointer-events:none;background:radial-gradient(at 70% 30%,#fff3,#0000 60%);position:absolute;inset:0}.article-cover-img{object-fit:cover;width:100%;height:100%;display:block}.article-cover-emoji{filter:drop-shadow(0 6px 14px #0000002e);z-index:1;font-size:56px;line-height:1;position:relative}.article-cover-brand{z-index:2;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#fffffff2;border-radius:999px;align-items:center;gap:6px;padding:5px 10px;display:inline-flex;position:absolute;bottom:10px;right:10px;box-shadow:0 3px 10px #00000040}.article-cover-brand:after{content:"PGBank TDT";color:var(--brand);letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:800}.article-cover-brand img{object-fit:contain;width:auto;height:18px;display:block}.article-cover-photo:after{content:"";pointer-events:none;z-index:1;background:linear-gradient(#0000 40%,#00000059 100%);position:absolute;inset:0}.knowledge-card-cover{aspect-ratio:16/9}.knowledge-card-body{flex-direction:column;flex:1;gap:8px;padding:16px 18px 18px;display:flex}.knowledge-card-cat{text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:700}.knowledge-card-title{color:var(--text);margin:0;font-size:16px;font-weight:700;line-height:1.3}.knowledge-card-excerpt{color:var(--muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:13px;line-height:1.5;display:-webkit-box;overflow:hidden}.knowledge-card-meta{color:var(--muted);gap:6px;margin-top:auto;padding-top:4px;font-size:12px;display:flex}.article-page{max-width:780px;margin:0 auto}.article-breadcrumbs{color:var(--muted);align-items:center;gap:8px;margin-bottom:12px;font-size:13px;display:flex}.article-breadcrumbs a{color:var(--muted);text-decoration:none}.article-breadcrumbs a:hover{color:var(--brand);text-decoration:underline}.article-hero{background:var(--surface);border:1px solid var(--border);border-radius:18px;grid-template-columns:minmax(280px,45%) 1fr;gap:0;margin-bottom:28px;display:grid;overflow:hidden;box-shadow:0 16px 40px #1f31632e}.article-hero-cover{aspect-ratio:auto;height:100%;min-height:240px}.article-hero-body{flex-direction:column;justify-content:center;gap:6px;min-width:0;padding:28px 32px;display:flex}.article-hero-cat{letter-spacing:.14em;text-transform:uppercase;color:var(--brand);background:#eaf0fb;border-radius:999px;align-self:flex-start;margin-bottom:6px;padding:4px 12px;font-size:11px;font-weight:700;display:inline-block}.article-hero-title{letter-spacing:-.01em;color:var(--text);margin:0 0 8px;font-size:28px;font-weight:800;line-height:1.15}.article-hero-excerpt{color:var(--muted);margin:0 0 10px;font-size:15px;line-height:1.5}.article-hero-meta{color:var(--muted);gap:6px;font-size:12px;display:flex}@media (width<=720px){.article-hero{grid-template-columns:1fr}.article-hero-cover{aspect-ratio:16/9;min-height:220px}.article-hero-body{padding:20px 22px}.article-hero-title{font-size:22px}}.article-body{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:28px;padding:28px 34px}.article-section{margin-bottom:24px}.article-section:last-child{margin-bottom:0}.article-heading{color:var(--text);letter-spacing:-.01em;margin:20px 0 12px;scroll-margin-top:90px;font-size:20px;font-weight:700}.article-section:first-child .article-heading{margin-top:0}.article-paragraph{color:var(--text);margin:0 0 12px;font-size:15px;line-height:1.7}.article-list{color:var(--text);margin:0 0 12px;padding-left:22px;font-size:15px;line-height:1.7}.article-list li{margin-bottom:6px}.article-list li::marker{color:var(--brand-cyan);font-weight:700}.article-callout{border-radius:10px;align-items:flex-start;gap:12px;margin:16px 0;padding:14px 18px;font-size:14px;line-height:1.6;display:flex}.article-callout.callout-tip{border-left:4px solid var(--brand-cyan);color:#075985;background:#ecfeff}.article-callout.callout-warn{border-left:4px solid var(--warn);color:#92400e;background:#fef3c7}.article-callout.callout-note{border-left:4px solid var(--muted);color:#374151;background:#f3f4f6}.callout-icon{flex-shrink:0;font-size:20px;line-height:1.4}.article-table-wrap{border:1px solid var(--border);background:#fff;border-radius:10px;margin:14px 0;overflow-x:auto}.article-table{border-collapse:collapse;width:100%;font-size:13px}.article-table th{color:var(--brand);text-transform:uppercase;letter-spacing:.05em;text-align:left;border-bottom:1px solid var(--border);background:#f7f8fc;padding:10px 12px;font-size:11px;font-weight:700}.article-table td{vertical-align:top;border-bottom:1px solid #eef1f6;padding:10px 12px}.article-table tbody tr:last-child td{border-bottom:0}.article-table tbody tr:hover{background:#fafbfd}.article-sources{border-top:1px solid #eef1f6;margin-top:30px;padding-top:20px}.article-sources h3{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin:0 0 10px;font-size:14px}.article-sources ul{color:var(--muted);margin:0;padding-left:22px;font-size:13px;line-height:1.7}.article-sources a{color:var(--brand)}.article-related{margin-top:12px}.article-related h3{margin:0 0 14px;font-size:18px}.friend-list{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:14px;display:grid}.friend-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:12px;padding:16px;transition:box-shadow .15s,transform .15s;display:flex;box-shadow:0 1px 2px #1f31630a}.friend-card:hover{transform:translateY(-1px);box-shadow:0 6px 20px #1f316317}.friend-card-head{color:var(--text);align-items:center;gap:12px;text-decoration:none;display:flex}.friend-card-head:hover{text-decoration:none}.friend-card-head-info{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.friend-card-name{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:8px;font-size:15px;font-weight:700;display:flex;overflow:hidden}.friend-card-sub{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.friend-relation-badge{letter-spacing:.04em;text-transform:uppercase;border-radius:999px;align-self:flex-start;margin-top:4px;padding:2px 8px;font-size:10px;font-weight:600;display:inline-block}.friend-badge-mutual{color:var(--ok);background:#dcfce7}.friend-badge-following{color:var(--brand);background:#eaf0fb}.friend-badge-follower{color:var(--brand-cyan);background:#e0f2fe}.friend-card-stats{background:#f7f8fc;border-radius:10px;grid-template-columns:repeat(3,1fr);gap:8px;padding:10px;display:grid}.friend-stat{text-align:center;flex-direction:column;align-items:center;gap:2px;min-width:0;display:flex}.friend-stat-value{color:var(--brand);letter-spacing:-.01em;font-size:18px;font-weight:700;line-height:1.1}.friend-stat-label{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:10px;font-weight:500}.friend-teams{flex-wrap:wrap;gap:6px;min-height:24px;display:flex}.team-tag{color:var(--brand);background:#eef1f7;border:1px solid #0000;border-radius:8px;flex-direction:column;max-width:100%;padding:4px 10px;font-size:12px;line-height:1.15;text-decoration:none;transition:background .12s;display:inline-flex}.team-tag:hover{background:#dfeafb;text-decoration:none}.team-tag-team{text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.team-tag-race{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:500;overflow:hidden}.team-tag-active{color:var(--ok);background:#ecfdf5}.team-tag-active .team-tag-race{color:#4b9b1e}.team-tag-active:hover{background:#d1fadf}.friend-card-actions{border-top:1px solid #eef1f6;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;padding-top:10px;display:flex}.rank-summary-grid{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;display:grid}@media (width<=640px){.rank-summary-grid{grid-template-columns:1fr}}@media (width<=900px){.rank-summary-card{padding:14px 16px}.rank-summary-rank{font-size:36px}.rank-summary-hash{font-size:20px}.leaderboard-grid{gap:14px}.data-table{font-size:12.5px}.data-table th{padding:8px;font-size:10.5px}.data-table td{padding:8px}}@media (width<=480px){.data-table.data-table-modern th,.data-table.data-table-modern td{padding:10px 8px}}.rank-summary-card{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);flex-direction:column;gap:8px;padding:20px 22px;display:flex;position:relative;overflow:hidden}.rank-summary-card:before{content:"";height:4px;position:absolute;top:0;left:0;right:0}.rank-summary-team:before{background:linear-gradient(90deg, var(--brand) 0%, var(--brand-cyan) 100%)}.rank-summary-me:before{background:linear-gradient(90deg, var(--brand-cyan) 0%, var(--brand-green) 100%)}.rank-summary-label{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-top:4px;font-size:11px;font-weight:600}.rank-summary-rank{color:var(--brand);letter-spacing:-.02em;align-items:baseline;gap:6px;font-size:44px;font-weight:800;line-height:1;display:flex}.rank-summary-me .rank-summary-rank{color:var(--brand-cyan)}.rank-summary-hash{color:inherit;opacity:.6;font-size:24px;font-weight:700}.rank-summary-sub{color:var(--muted);letter-spacing:0;margin-left:4px;font-size:13px;font-weight:500}.rank-summary-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:600;overflow:hidden}.rank-summary-stats{color:var(--muted);flex-wrap:wrap;gap:16px;margin-top:2px;font-size:13px;display:flex}.rank-summary-stats strong{color:var(--text);font-weight:700}.rank-summary-empty{color:var(--muted);padding:12px 0;font-size:14px}.activity-chart{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:16px;padding:18px 20px}.activity-chart-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.activity-chart-stats{background:#f7f8fc;border-radius:10px;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px;padding:10px 12px;display:grid}.chart-stat{flex-direction:column;gap:2px;min-width:0;display:flex}.chart-stat-value{color:var(--brand);letter-spacing:-.01em;font-size:18px;font-weight:700;line-height:1.1}.chart-stat-label{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:500;overflow:hidden}@media (width<=640px){.activity-chart-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.activity-chart-plot{height:160px;padding:0 2px;position:relative}.activity-chart-bars{align-items:flex-end;gap:3px;height:100%;display:flex;position:relative}.chart-bar{cursor:pointer;background:0 0;border:0;border-radius:0;flex:1;align-items:flex-end;min-width:0;height:100%;padding:0;display:flex}.chart-bar-fill{background:#dfeafb;border-radius:3px 3px 0 0;width:100%;min-height:2px;transition:background .15s,transform .15s}.chart-bar.has-data .chart-bar-fill{background:linear-gradient(180deg, var(--brand-cyan) 0%, var(--brand) 100%)}.chart-bar:hover .chart-bar-fill,.chart-bar.active .chart-bar-fill{filter:brightness(1.1);transform-origin:bottom;transform:scaleY(1.02)}.chart-tooltip{color:#fff;white-space:nowrap;z-index:5;pointer-events:none;background:#1c2028;border-radius:8px;flex-direction:column;gap:2px;padding:8px 12px;font-size:12px;line-height:1.3;display:flex;position:absolute;bottom:calc(100% + 8px);transform:translate(-50%);box-shadow:0 8px 20px #00000040}.chart-tooltip:after{content:"";background:#1c2028;width:8px;height:8px;position:absolute;bottom:-4px;left:50%;transform:translate(-50%)rotate(45deg)}.chart-tooltip .muted{color:#ffffffb3;font-size:11px}.activity-chart-axis{color:var(--muted);gap:3px;padding:6px 2px 0;font-size:11px;display:flex}.activity-chart-axis .axis-tick{text-align:center;white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.profile-header{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:20px;margin-bottom:20px;padding:20px;display:flex}.profile-header-info{flex:1;min-width:0}.comments-block{border-top:1px solid #eef1f6;margin-top:12px;padding-top:12px}.comments-list{flex-direction:column;gap:8px;margin:0 0 8px;padding:0;list-style:none;display:flex}.comment-item{align-items:flex-start;gap:8px;display:flex}.comment-body{background:#f7f8fc;border-radius:10px;flex:1;min-width:0;padding:8px 12px}.comment-head{align-items:center;gap:8px;margin-bottom:2px;display:flex}.comment-author{color:var(--text);font-size:13px}.comment-time{color:var(--muted);flex:1;font-size:11px}.comment-delete{color:var(--muted);background:0 0;border-radius:4px;padding:0 6px;font-size:16px;line-height:1}.comment-delete:hover{color:var(--danger);background:#fee2e2}.comment-text{color:var(--text);white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px}.comment-mention{color:var(--brand);font-weight:700;text-decoration:none}.comment-mention:hover{text-decoration:underline}.comment-thread{margin:0;padding:0;list-style:none}.comment-item-reply{padding-left:32px}.comment-reply-btn{color:var(--muted);background:0 0;border-radius:4px;align-self:flex-start;margin-top:4px;padding:2px 6px;font-size:11px;font-weight:600}.comment-reply-btn:hover{color:var(--brand);background:#eef1f7}.comment-reply-composer{margin-top:4px;padding-left:32px}.comment-form-compact input{padding:6px 10px;font-size:12px}.comment-form-compact .btn-sm{padding:4px 10px;font-size:12px}.comment-form{align-items:center;gap:8px;display:flex}.comment-form input{border:1px solid var(--border);font:inherit;background:#fff;border-radius:20px;flex:1;padding:8px 12px;font-size:13px}.comment-form input:focus{outline:2px solid var(--brand-cyan);outline-offset:1px}.post-feed{flex-direction:column;gap:16px;display:flex}.prize-post{border-color:var(--brand-cyan)}.prize-post-banner{border-bottom:1px solid var(--brand-cyan);background:linear-gradient(135deg,#e8f7fd 0%,#c9ecf8 100%);align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.prize-post-emoji{flex-shrink:0;font-size:30px;line-height:1}.prize-post-banner-text{min-width:0}.prize-post-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:#0b6d8c;font-size:11px;font-weight:700}.prize-post-title{color:var(--brand);overflow-wrap:anywhere;margin:2px 0 0;font-size:16px;font-weight:700}.prize-post-window{color:#0b6d8c;margin-top:2px;font-size:12px}.prize-post-body{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.prize-post-winner{align-items:center;gap:12px;min-width:0;display:flex}.prize-post-congrats{color:var(--brand-green);font-size:12px;font-weight:600}.prize-post-winner-name{font-size:16px;font-weight:700}.prize-post-winner-meta{font-size:12px}.prize-post-stats{align-items:center;gap:16px;display:flex}.prize-post-km{color:var(--muted);font-size:13px}.prize-post-km strong{color:var(--brand);font-size:22px}.prize-post-reward{color:#0b6d8c;align-items:center;gap:6px;font-size:18px;font-weight:800;display:inline-flex}.prize-post-note{overflow-wrap:anywhere;margin:0;padding:0 16px 12px;font-size:13px}.prize-post-foot{padding:0 16px 12px;font-size:12px}@media (width<=600px){.prize-post-banner,.prize-post-body{padding:12px}.prize-post-title{font-size:15px}.prize-post-km strong{font-size:18px}}.lucky-post{border-color:#f0c000}.lucky-post-banner{background:linear-gradient(135deg,#fff8e1 0%,#ffe9a8 100%);border-bottom:1px solid #f0c000;align-items:center;gap:12px;padding:14px 16px;display:flex}.lucky-post-emoji{flex-shrink:0;font-size:30px;line-height:1}.lucky-post-banner-text{flex:1;min-width:0}.lucky-post-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:#8a6d00;font-size:11px;font-weight:700}.lucky-post-title{color:var(--brand);overflow-wrap:anywhere;margin:2px 0 0;font-size:16px;font-weight:700}.lucky-post-number{background:var(--brand);color:#fff;letter-spacing:.06em;border-radius:10px;flex-shrink:0;padding:6px 12px;font-size:18px;font-weight:800}.lucky-post-body{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.lucky-post-winner{align-items:center;gap:12px;min-width:0;display:flex}.lucky-post-winner-name{font-size:15px;font-weight:700}.lucky-post-winner-meta{font-size:12px}.lucky-post-reward{color:#8a6d00;align-items:center;gap:6px;font-size:20px;font-weight:800;display:inline-flex}.lucky-post-note{color:var(--text);overflow-wrap:anywhere;margin:0;padding:0 16px 12px;font-size:13px}.lucky-post-foot{padding:0 16px 12px;font-size:12px}@media (width<=600px){.lucky-post-banner{gap:8px;padding:12px}.lucky-post-title{font-size:15px}.lucky-post-number{padding:4px 9px;font-size:15px}.lucky-post-body{padding:12px}}.feed-more-btn{width:100%;padding:12px;font-size:14px;font-weight:600}.post-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;overflow:hidden;box-shadow:0 1px 2px #1f31630a}.post-card.post-suspicious{border-color:#fecaca}.post-suspicion-reason{color:#7c2d12;background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;align-items:flex-start;gap:6px;margin:8px 14px 0;padding:8px 10px;font-size:12.5px;line-height:1.45;display:flex}.post-suspicion-reason strong{white-space:nowrap;font-weight:600}.post-suspicion-reason.rule-only{color:#713f12;background:#fefce8;border-color:#fde68a}.post-suspicion-reason.under-report{color:#991b1b;background:#fef2f2;border-color:#fecaca}.post-suspicion-reason.under-review{color:#9a3412;background:#fff7ed;border-color:#fed7aa}.post-suspicion-reason.verified-valid{color:#065f46;background:#ecfdf5;border-color:#a7f3d0}.post-card.post-bonus{background:linear-gradient(#fffbeb,#fff);border-color:#f59e0b;box-shadow:0 2px 6px #f59e0b1f}.post-type-chip.post-type-chip-bonus{color:#fff;background:linear-gradient(135deg,#f59e0b,#d97706);border-color:#0000;font-weight:600}.post-stats-bonus{background:#f59e0b0f;align-items:center;border-top-color:#fcd34d!important;grid-template-columns:auto 1fr!important;gap:16px!important}.post-head{justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;display:flex}.post-head-author{color:var(--text);flex:1;align-items:center;gap:10px;min-width:0;display:flex}.post-head-author:hover{text-decoration:none}.post-head-author:hover .post-author-name{color:var(--brand)}.post-author-name{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.post-author-meta{color:var(--muted);font-size:12px}.post-title{flex-wrap:wrap;align-items:center;gap:8px;padding:4px 14px 12px;display:flex}.post-time-meta{color:var(--muted);margin-top:-6px;padding:0 14px 10px;font-size:12px}.post-type-chip{color:var(--brand);text-transform:uppercase;letter-spacing:.04em;background:#eef1f7;border-radius:999px;padding:2px 10px;font-size:11px;font-weight:600}.post-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:15px;font-weight:600;overflow:hidden}.post-hero{aspect-ratio:16/9;color:#fff;background-color:#1f3163;background-position:50%;background-size:cover;position:relative;overflow:hidden}.post-hero-scrim{pointer-events:none;background:linear-gradient(#0000 0%,#00000026 50%,#000000a6 100%);position:absolute;inset:0}.post-hero-stats{z-index:1;justify-content:space-between;align-items:flex-end;gap:12px;padding:18px 24px;display:flex;position:absolute;bottom:0;left:0;right:0}.hero-stat{flex-direction:column;gap:4px;min-width:0;display:flex}.hero-stat-value{letter-spacing:-.02em;text-shadow:0 2px 8px #00000059;color:#fff;white-space:nowrap;font-size:22px;font-weight:700;line-height:1}.hero-stat-label{letter-spacing:.04em;text-transform:uppercase;color:#ffffffd9;white-space:nowrap;font-size:10px;font-weight:500}.hero-stat-unit{letter-spacing:.02em;opacity:.9;margin-left:2px;font-size:.55em;font-weight:500}@media (width<=540px){.hero-stat-value{font-size:16px}.hero-stat-label{letter-spacing:.02em;font-size:9px}.post-hero-stats{gap:6px;padding:12px}}@media (width<=900px){.profile-header{text-align:center;border-radius:12px;flex-direction:column;align-items:center;gap:14px;margin-bottom:14px;padding:22px 16px 18px}.profile-header .avatar-lg{width:96px;height:96px;font-size:34px}.profile-header-info{flex-direction:column;align-items:center;gap:6px;width:100%;min-width:0;display:flex}.profile-header-info h2{letter-spacing:-.01em;font-size:22px;line-height:1.15;justify-content:center!important}.profile-header-info h2>span[class=user-code-chip]{margin-left:0!important}.profile-header-info .muted{text-align:center;font-size:13px;margin-top:2px!important}.profile-header .profile-summary-stats{border-top:1px solid #eef1f6;border-bottom:1px solid #eef1f6;gap:12px;width:100%;padding:10px 0;justify-content:space-around!important;margin-top:8px!important}.profile-header .profile-stat{text-align:center;flex:1;min-width:0;align-items:center!important}.profile-header .profile-stat-value{font-size:20px}.profile-header .profile-stat-label{font-size:10.5px}.profile-header .profile-header-info>div:last-child{width:100%;justify-content:center!important;margin-top:4px!important}.profile-header .profile-header-info>div:last-child>button{flex:1;max-width:260px;min-height:40px;font-weight:600}.profile-header .avatar-captain-wrap{padding:5px}.post-card{border-radius:10px}.post-head{gap:8px;padding:10px 12px}.post-title{padding:4px 12px 10px}.post-actions{padding:8px 12px}.post-name{font-size:14px}.comments-block{padding:8px 12px 10px!important}.friend-list{grid-template-columns:1fr;gap:10px}.friend-card{padding:14px}.knowledge-grid{grid-template-columns:1fr;gap:12px}.knowledge-hero{padding:16px 18px}.knowledge-hero-badge{padding:10px 16px}.knowledge-count{font-size:26px}.article-body{padding:20px 18px}.article-heading{font-size:18px}.article-paragraph{font-size:14.5px}.rank-card{padding:12px 10px}.race-card-actions{gap:4px}.race-card-actions button{padding:5px 8px;font-size:11.5px}.rank-item{padding:10px 8px}button,.btn-primary,.btn-ghost{min-height:40px}.btn-sm,.icon-btn{min-height:auto}}.post-actions{border-top:1px solid #eef1f6;align-items:center;gap:10px;padding:10px 14px;display:flex}.post-card .comments-block{border-top:0;margin-top:0;padding:0 14px 12px}.user-picker-search{flex:260px;min-width:240px;max-width:380px;position:relative}.user-picker-input-wrap{align-items:center;display:flex;position:relative}.user-picker-input{border:1px solid var(--border);background:#fff;border-radius:8px;outline:none;width:100%;padding:7px 32px 7px 12px;font-size:13px;transition:border-color .15s,box-shadow .15s}.user-picker-input:focus{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb, var(--brand) 15%, transparent)}.user-picker-selected{background:color-mix(in srgb, var(--brand) 8%, #fff);pointer-events:auto;cursor:text;border-radius:6px;align-items:center;gap:6px;min-width:0;max-width:calc(100% - 40px);padding:2px 6px;display:flex;position:absolute;top:50%;left:8px;transform:translateY(-50%)}.user-picker-selected-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:13px;font-weight:500;overflow:hidden}.user-picker-code{background:var(--brand);color:#fff;border-radius:999px;flex-shrink:0;padding:1px 5px;font-size:11px;font-weight:500}.user-picker-clear{width:22px;height:22px;color:var(--text);cursor:pointer;background:#00000014;border:0;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:16px;line-height:1;display:inline-flex;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.user-picker-clear:hover{background:#00000029}.user-picker-menu{z-index:40;border:1px solid var(--border);background:#fff;border-radius:10px;max-height:320px;padding:4px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 8px 22px #0000001f}.user-picker-empty{color:var(--muted);text-align:center;padding:14px 12px;font-size:13px}.user-picker-item{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;width:100%;padding:8px 10px;display:flex}.user-picker-item.active{background:color-mix(in srgb, var(--brand) 10%, #fff)}.user-picker-item.picked{background:color-mix(in srgb, var(--brand) 6%, #fff)}.user-picker-item-body{flex:1;min-width:0}.user-picker-item-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;min-width:0;font-size:13px;font-weight:500;display:flex;overflow:hidden}.user-picker-check{color:var(--brand);font-weight:700}.user-picker-item-sub{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:11px;overflow:hidden}.multi-user-picker{max-width:none}.multi-user-chips{flex-wrap:wrap;gap:6px;padding:4px 0 6px;display:flex}.multi-user-chip{background:color-mix(in srgb, var(--brand) 10%, #fff);border:1px solid color-mix(in srgb, var(--brand) 25%, transparent);border-radius:999px;align-items:center;gap:6px;min-width:0;max-width:260px;padding:3px 4px 3px 3px;font-size:12px;display:inline-flex}.multi-user-chip-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;max-width:140px;font-weight:500;overflow:hidden}.multi-user-chip-code{background:var(--brand);color:#fff;border-radius:999px;flex-shrink:0;padding:0 5px;font-size:10px;font-weight:500}.multi-user-chip-remove{width:18px;height:18px;color:var(--text);cursor:pointer;background:#0000001a;border:0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:14px;line-height:1;display:inline-flex}.multi-user-chip-remove:hover{background:#0003}.analytics-overview{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:16px;display:grid}.analytics-stat{border:1px solid var(--border);text-align:center;background:#fff;border-radius:12px;padding:14px 16px}.analytics-stat-active{box-shadow:0 0 0 2px color-mix(in srgb, var(--brand) 20%, transparent);background:color-mix(in srgb, var(--brand) 10%, #fff)!important;border-color:var(--brand)!important}.analytics-stat-value{color:var(--brand);letter-spacing:-.02em;font-size:24px;font-weight:700;line-height:1.1}.analytics-stat-label{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;margin-top:4px;font-size:12px}.analytics-table th,.analytics-table td{font-size:13px}.analytics-bar-wrap{background:#f2f3f5;border-radius:999px;min-width:90px;height:20px;position:relative;overflow:hidden}.analytics-bar{background:linear-gradient(90deg, var(--brand), color-mix(in srgb, var(--brand) 60%, #fff));border-radius:999px;transition:width .3s ease-out;position:absolute;inset:0 auto 0 0}.analytics-bar-label{z-index:1;text-align:center;color:#fff;mix-blend-mode:difference;font-size:11px;font-weight:600;line-height:20px;display:block;position:relative}.athlete-profile-page{min-width:0;overflow-x:clip}.athlete-profile-page .profile-name-h2{word-break:break-word;flex-wrap:wrap;align-items:center;gap:10px;min-width:0;margin:0;display:flex}.athlete-profile-page .profile-meta-line{margin-top:4px;font-size:14px}.athlete-profile-page .profile-stats-row{margin-top:10px}.athlete-profile-page .profile-actions-row{flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;display:flex}.athlete-profile-page .section-heading{margin:20px 0 12px;font-size:17px}.athlete-profile-page .athlete-races-card{margin-bottom:16px}.athlete-profile-page .profile-header-info,.athlete-profile-page .post-author-name,.athlete-profile-page .post-author-meta,.athlete-profile-page .my-race-item-name,.athlete-profile-page .athlete-nickname{overflow-wrap:anywhere;word-break:break-word;min-width:0}@media (width<=640px){.athlete-profile-page{max-width:100%;padding:0!important}.athlete-profile-page .section-heading{margin:14px 0 8px;font-size:16px}.athlete-profile-page .profile-header{border-radius:12px;gap:10px;margin-bottom:12px;padding:18px 14px 14px;overflow:hidden}.athlete-profile-page .profile-header .avatar-lg{width:80px;height:80px;font-size:30px}.athlete-profile-page .profile-name-h2{text-align:center;justify-content:center;gap:8px;font-size:20px;line-height:1.2}.athlete-profile-page .profile-meta-line{text-align:center;font-size:13px;line-height:1.35}.athlete-profile-page .profile-header .coin-balance-pill{margin-top:8px;padding:4px 12px 4px 6px}.athlete-profile-page .profile-header .coin-balance-num{font-size:15px}.athlete-profile-page .profile-stats-row{gap:6px;margin-top:10px;padding:8px 0}.athlete-profile-page .profile-header .profile-stat-value{font-size:18px}.athlete-profile-page .profile-header .profile-stat-label{font-size:10px}.athlete-profile-page .profile-actions-row{justify-content:center;margin-top:10px}.athlete-profile-page .profile-actions-row>button{flex:1;max-width:240px;min-height:38px;font-weight:600}.athlete-profile-page .activity-chart{border-radius:12px;margin-bottom:12px;padding:12px 12px 14px}.athlete-profile-page .activity-chart-head{gap:8px;margin-bottom:10px}.athlete-profile-page .activity-chart-stats{gap:8px;margin-bottom:12px;padding:8px 10px}.athlete-profile-page .activity-chart-plot{height:130px}.athlete-profile-page .card,.athlete-profile-page .goal-section{border-radius:12px;margin-bottom:12px;padding:12px}.athlete-profile-page .my-race-item{padding:10px}.athlete-profile-page .my-race-item-name{font-size:13px}.athlete-profile-page .post-feed{gap:12px}.athlete-profile-page .profile-actions-row .status-badge{font-size:11px}.athlete-profile-page .strava-attribution{margin:12px 12px 20px}}@media (width<=380px){.athlete-profile-page .profile-name-h2{font-size:18px}.athlete-profile-page .profile-header .avatar-lg{width:72px;height:72px;font-size:26px}.athlete-profile-page .activity-chart{padding:10px 10px 12px}.athlete-profile-page .activity-chart-plot{height:110px}}.my-races-list{flex-direction:column;gap:8px;display:flex}.my-race-item{border:1px solid var(--border);color:inherit;background:#fff;border-radius:10px;padding:10px 12px;text-decoration:none;transition:border-color .15s,background .15s;display:block}.my-race-item:hover{border-color:var(--brand);background:color-mix(in srgb, var(--brand) 4%, #fff)}.my-race-item-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.my-race-item-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:14px;overflow:hidden}.reaction-bar{border-top:1px solid #eef1f6;flex-direction:column;gap:0;padding:6px 14px 4px;display:flex}.reaction-summary{color:var(--muted);cursor:pointer;background:0 0;border:0;align-self:flex-start;align-items:center;gap:6px;padding:4px 2px;font-size:13px;display:inline-flex}.reaction-summary:hover .reaction-summary-count{text-decoration:underline}.reaction-summary-emojis{align-items:center;display:inline-flex}.reaction-summary-emoji{filter:drop-shadow(0 1px 1px #00000014);margin-right:-3px;font-size:15px;line-height:1}.reaction-summary-emoji:last-child{margin-right:0}.reaction-summary-count{margin-left:4px}.reaction-actions{align-self:flex-start;display:inline-flex;position:relative}.reaction-btn{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:6px;padding:8px 14px;font-size:14px;font-weight:600;transition:background .15s;display:inline-flex}.reaction-btn:hover:not(:disabled){background:#f2f3f5}.reaction-btn:disabled{opacity:.5;cursor:not-allowed}.reaction-btn.reacted{font-weight:700}.reaction-btn-emoji{font-size:18px;line-height:1}.reaction-picker{z-index:20;background:#fff;border:1px solid #0000000d;border-radius:999px;align-items:center;gap:2px;padding:6px 8px;animation:.16s ease-out both reaction-pop-in;display:inline-flex;position:absolute;bottom:calc(100% + 6px);left:0;box-shadow:0 6px 22px #0000002e}@keyframes reaction-pop-in{0%{opacity:0;transform:translateY(6px)scale(.9)}to{opacity:1;transform:translateY(0)scale(1)}}.reaction-picker-item{cursor:pointer;background:0 0;border:0;padding:4px;transition:transform .12s ease-out}.reaction-picker-item:hover{transform:translateY(-4px)scale(1.35)}.reaction-picker-item.picked{transform:translateY(-2px)scale(1.2)}.reaction-picker-emoji{font-size:28px;line-height:1;display:block}.reaction-tabs{border-bottom:1px solid var(--border);scrollbar-width:none;gap:6px;padding:8px 12px;display:flex;overflow-x:auto}.reaction-tabs::-webkit-scrollbar{display:none}.reaction-tab{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;flex-shrink:0;padding:6px 10px;font-size:13px;font-weight:500}.reaction-tab:hover{background:#f2f3f5}.reaction-tab.active{background:color-mix(in srgb, var(--brand) 12%, transparent);color:var(--brand);font-weight:600}.reaction-user-row{align-items:center;gap:12px;padding:8px 14px;display:flex}.reaction-user-avatar{width:36px;height:36px;color:var(--brand);background:#e5e9f0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:flex;position:relative;overflow:visible}.reaction-user-avatar img{object-fit:cover;border-radius:50%;width:100%;height:100%}.reaction-user-badge{background:#fff;border-radius:50%;padding:1px 2px;font-size:14px;line-height:1;position:absolute;bottom:-4px;right:-4px;box-shadow:0 1px 3px #00000026}.reaction-user-name{color:var(--text);font-size:14px;font-weight:500}@media (width<=540px){.reaction-btn{padding:8px 10px;font-size:13px}.reaction-picker-emoji{font-size:24px}}.post-hero-owner-tools{z-index:2;gap:6px;display:flex;position:absolute;top:10px;right:10px}.hero-tool-btn{color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0000008c;border:1px solid #fff3;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:500}.hero-tool-btn:hover:not(:disabled){background:#000000bf}.hero-tool-btn:disabled{opacity:.5;cursor:not-allowed}.post-stats-plain{border-top:1px solid #eef1f6;grid-template-columns:repeat(4,1fr);gap:8px;padding:16px;display:grid}.plain-stat{text-align:center;flex-direction:column;align-items:center;gap:4px;min-width:0;display:flex}.plain-stat-value{color:var(--brand);letter-spacing:-.01em;white-space:nowrap;font-size:18px;font-weight:700;line-height:1}.plain-stat-label{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;font-size:10px;font-weight:500}.plain-stat-unit{color:var(--muted);margin-left:2px;font-size:.6em;font-weight:500}@media (width<=540px){.post-stats-plain{gap:4px;padding:14px 10px}.plain-stat-value{font-size:15px}.plain-stat-label{letter-spacing:.02em;font-size:9px}}.dashboard-top{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:stretch;gap:16px;margin-bottom:16px;display:grid}.dashboard-main{grid-template-columns:minmax(0,1fr) 320px;align-items:flex-start;gap:20px;display:grid}.dashboard-feed{min-width:0}.dashboard-rank{align-self:flex-start;max-height:calc(100vh - 90px);position:sticky;top:74px;overflow-y:auto}@media (width<=900px){.dashboard-main{grid-template-columns:1fr}.dashboard-rank{max-height:none;position:static;overflow:visible}}.rank-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:14px 12px}.rank-card-head{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:10px;padding:0 4px;display:flex}.rank-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.rank-item{border-radius:8px;align-items:center;gap:10px;padding:8px;transition:background .12s;display:flex}.rank-item:hover{background:#f7f8fc}.rank-item-me{background:#eaf0fb;border:1px solid #c9d6ee}.rank-item-me:hover{background:#dfeafb}.rank-item-captain{background:linear-gradient(90deg,#fffbeb 0%,#0000 90%)}.rank-item-captain.rank-item-me{background:linear-gradient(90deg,#fff3c4 0%,#eaf0fb 100%)}.rank-position{min-width:26px;height:26px;color:var(--muted);background:#f3f4f6;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:inline-flex}.rank-position.rank-gold{color:#fff;background:linear-gradient(135deg,#ffe08a 0%,#d68e15 100%);box-shadow:0 2px 6px #b46a0659}.rank-position.rank-silver{color:#fff;background:linear-gradient(135deg,#e5e7eb 0%,#9ca3af 100%);box-shadow:0 2px 6px #6b728059}.rank-position.rank-bronze{color:#fff;background:linear-gradient(135deg,#d59968 0%,#92400e 100%);box-shadow:0 2px 6px #92400e59}.rank-user{min-width:0;color:var(--text);flex:1;align-items:center;gap:8px;text-decoration:none;display:flex}.rank-user:hover{text-decoration:none}.rank-user-body{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.rank-user-name{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;font-size:13px;font-weight:600;display:flex;overflow:hidden}.rank-user-name-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rank-user-team{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.rank-km{flex-direction:column;flex-shrink:0;align-items:flex-end;line-height:1.1;display:flex}.rank-km strong{color:var(--text);font-size:13px;font-weight:700}.rank-km span{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:10px}.rank-item-more{text-align:center;padding:8px;font-size:12px}.rank-item-more a{color:var(--brand);font-weight:500}.recent-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.recent-item{border-radius:8px;gap:10px;padding:8px;transition:background .12s;display:flex}.recent-item:hover{background:#f7f8fc}.recent-avatar{flex-shrink:0;text-decoration:none}.recent-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.recent-line-1{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.recent-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13px;font-weight:600;text-decoration:none;overflow:hidden}.recent-name:hover{color:var(--brand);text-decoration:none}.recent-time{color:var(--muted);flex-shrink:0;font-size:11px}.recent-line-2{min-width:0}.recent-activity-name{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;display:block;overflow:hidden}.recent-line-3{align-items:center;gap:8px;font-size:12px;display:flex}.recent-stat{color:var(--text)}.recent-stat strong{color:var(--brand-cyan);font-weight:700}.recent-type{color:var(--brand);letter-spacing:.02em;background:#eef1f7;border-radius:999px;padding:1px 8px;font-size:10px;font-weight:600}.rank-card-more-btn{text-align:center;color:var(--brand);background:#eaf0fb;border-radius:8px;margin-top:10px;padding:8px 10px;font-size:12px;font-weight:600;text-decoration:none;transition:background .12s;display:block}.rank-card-more-btn:hover{background:#dfeafb;text-decoration:none}.dashboard-side{flex-direction:column;gap:16px;display:flex}.dashboard-side .card{margin:0}@media (width<=720px){.dashboard-top{grid-template-columns:1fr;gap:10px;margin-bottom:10px}}@media (width<=900px){.profile-summary-card{border-radius:12px;gap:12px;padding:14px}.profile-summary-name{font-size:17px}.profile-summary-sub{font-size:12px}.profile-summary-stats{gap:18px;margin-top:10px}.profile-stat-value{font-size:18px}.profile-stat-label{font-size:10px}.card{border-radius:12px;padding:14px}.dashboard-feed h3{font-size:15px}}.profile-summary-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);align-items:center;gap:20px;padding:20px 22px;display:flex}.profile-summary-body{flex:1;min-width:0}.profile-summary-name{letter-spacing:-.01em;color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:20px;font-weight:700;line-height:1.2;overflow:hidden}.profile-summary-sub{color:var(--muted);margin-top:4px;font-size:13px}.profile-summary-stats{gap:28px;margin-top:14px;display:flex}.profile-stat{flex-direction:column;gap:2px;display:flex}.profile-stat-value{color:var(--brand);letter-spacing:-.01em;font-size:22px;font-weight:700;line-height:1}.profile-stat-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:500}.profile-stat.profile-stat-clickable{cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;padding:0;transition:opacity .15s}.profile-stat.profile-stat-clickable:hover{opacity:.7}@media (width<=540px){.profile-summary-card{text-align:center;flex-direction:column;align-items:center}.profile-summary-stats{justify-content:center}}.notif-bell{display:inline-block;position:relative}.notif-bell-btn{width:36px;height:36px;color:var(--text);background:0 0;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.notif-bell-btn:hover{background:#f3f4f6}.notif-badge{background:var(--danger);color:#fff;border:2px solid var(--surface);border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:10px;font-weight:700;line-height:1;display:inline-flex;position:absolute;top:2px;right:2px}.notif-dropdown{background:var(--surface);border:1px solid var(--border);z-index:50;border-radius:12px;width:360px;max-width:calc(100vw - 24px);position:absolute;top:calc(100% + 8px);right:-8px;overflow:hidden;box-shadow:0 12px 28px #0f172a26}.notif-head{border-bottom:1px solid #eef1f6;justify-content:space-between;align-items:center;padding:12px 14px;font-size:14px;display:flex}.notif-mark-all{color:var(--brand);background:0 0;border-radius:6px;padding:4px 8px;font-size:12px;font-weight:500}.notif-mark-all:hover{background:#eef1f7}.notif-empty{text-align:center;color:var(--muted);padding:28px 16px;font-size:13px}.notif-list{max-height:420px;margin:0;padding:4px;list-style:none;overflow-y:auto}.notif-item{text-align:left;width:100%;color:var(--text);font:inherit;background:0 0;border-radius:8px;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.notif-item:hover{background:#f7f8fc}.notif-item.unread{background:#eef4fd}.notif-item.unread:hover{background:#dfeafb}.notif-item-body{flex:1;min-width:0}.notif-item-title{font-size:13px;font-weight:600;line-height:1.3}.notif-item-body-text{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:2px;font-size:12px;display:-webkit-box;overflow:hidden}.notif-item-time{color:var(--muted);margin-top:4px;font-size:11px}.notif-dot{background:var(--brand-cyan);border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:6px}.notif-dot-rank-change{background:var(--warn)}.notif-dot-new-activity{background:var(--brand-green)}.notif-dot-follow{background:var(--brand)}.notif-dot-mention{background:#8b5cf6}.notif-dot-goal-assigned{background:linear-gradient(135deg,#f5c33b 0%,#d68e15 100%)}.notif-dot-activity-reported{background:var(--danger)}.notif-dot-achievement-won{background:linear-gradient(135deg,#f5c33b 0%,#b46a06 100%)}.notif-dot-coach-feedback{background:linear-gradient(135deg,#6366f1 0%,#00a5d9 100%)}.notif-dot-penalty-applied{background:linear-gradient(135deg,#dc2626 0%,#7c2d12 100%)}.notifications-page{max-width:720px;margin:0 auto}.notifications-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:8px;padding:4px 4px 12px;display:flex}.notifications-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.notif-page-item{width:100%;color:var(--text);text-align:left;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:flex-start;gap:14px;padding:14px 12px;transition:background .12s;display:flex;position:relative}.notif-page-item:hover{background:#f3f4f6}.notif-page-item.unread{background:#eef4fd}.notif-page-item.unread:hover{background:#dfeafb}.notif-page-dot{background:var(--brand-cyan);border-radius:50%;flex-shrink:0;width:10px;height:10px;margin-top:8px}.notif-page-body{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.notif-page-title{font-size:14.5px;font-weight:600;line-height:1.35}.notif-page-text{color:var(--muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:13px;line-height:1.45;display:-webkit-box;overflow:hidden}.notif-page-time{color:var(--muted);margin-top:2px;font-size:12px}.notif-page-unread-marker{background:var(--brand);border-radius:50%;flex-shrink:0;width:10px;height:10px;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.mention-dropdown{background:var(--surface);border:1px solid var(--border);z-index:25;border-radius:10px;max-height:280px;padding:4px;position:absolute;bottom:calc(100% + 6px);left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #0f172a24}.mention-item{width:100%;color:var(--text);text-align:left;font:inherit;background:0 0;border-radius:6px;align-items:center;gap:10px;padding:6px 8px;display:flex}.mention-item:hover,.mention-item.active{background:#f3f4f6}.mention-name{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.mention-sub{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.toast-container{z-index:100;pointer-events:none;flex-direction:column-reverse;gap:10px;max-width:calc(100vw - 40px);display:flex;position:fixed;bottom:20px;right:20px}.toast{pointer-events:auto;background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--brand-cyan);border-radius:12px;align-items:flex-start;gap:4px;width:360px;max-width:100%;padding:10px 8px 10px 14px;transition:opacity .3s,transform .3s;animation:.28s cubic-bezier(.22,1,.36,1) toast-in;display:flex;box-shadow:0 12px 28px #0f172a2e}.toast.toast-leaving{opacity:0;transform:translate(24px)}.toast-comment{border-left-color:var(--brand-cyan)}.toast-rank-change{border-left-color:var(--warn)}.toast-new-activity{border-left-color:var(--brand-green)}.toast-follow{border-left-color:var(--brand)}.toast-body{min-width:0;color:var(--text);text-align:left;font:inherit;cursor:pointer;background:0 0;flex:1;align-items:flex-start;gap:10px;padding:0;display:flex}.toast-body:hover{background:0 0}.toast-dot{background:var(--brand-cyan);border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:6px}.toast-dot-rank-change{background:var(--warn)}.toast-dot-new-activity{background:var(--brand-green)}.toast-dot-follow{background:var(--brand)}.toast-dot-mention{background:#8b5cf6}.toast-mention{border-left-color:#8b5cf6}.toast-dot-goal-assigned{background:linear-gradient(135deg,#f5c33b 0%,#d68e15 100%)}.toast-goal-assigned{border-left-color:#d68e15}.toast-dot-activity-reported{background:var(--danger)}.toast-activity-reported{border-left-color:var(--danger)}.toast-dot-achievement-won{background:linear-gradient(135deg,#f5c33b 0%,#b46a06 100%)}.toast-achievement-won{border-left-color:#d68e15}.toast-dot-coach-feedback{background:linear-gradient(135deg,#6366f1 0%,#00a5d9 100%)}.toast-coach-feedback{border-left-color:#6366f1}.toast-dot-penalty-applied{background:linear-gradient(135deg,#dc2626 0%,#7c2d12 100%)}.toast-penalty-applied{border-left-color:#dc2626}.toast-dot-activity-ai-valid{background:linear-gradient(135deg,#22c55e 0%,#059669 100%)}.toast.toast-activity-ai-valid{background:linear-gradient(135deg,#f0fdf4 0%,#fff 60%);border-width:2px;border-left-color:#16a34a;animation:1.6s ease-in-out infinite aiValidPulse;box-shadow:0 6px 24px #16a34a40}.toast.toast-activity-ai-valid .toast-title{color:#166534;-webkit-line-clamp:2;font-size:15px}.toast.toast-activity-ai-valid .toast-text{color:#14532d;-webkit-line-clamp:3;font-size:13px}@keyframes aiValidPulse{0%,to{box-shadow:0 6px 24px #16a34a40}50%{box-shadow:0 8px 28px #16a34a80}}.toast-dot-activity-ai-invalid{background:linear-gradient(135deg,#f97316 0%,#dc2626 100%)}.toast.toast-activity-ai-invalid{background:linear-gradient(135deg,#fef2f2 0%,#fff 60%);border-width:2px;border-left-color:#dc2626;box-shadow:0 6px 24px #dc262633}.toast.toast-activity-ai-invalid .toast-title{color:#991b1b;-webkit-line-clamp:2;font-size:15px}.toast.toast-activity-ai-invalid .toast-text{color:#7f1d1d;-webkit-line-clamp:5;font-size:13px}.toast-dot-activity-ai-suspected{background:linear-gradient(135deg,#fbbf24 0%,#f97316 100%)}.toast.toast-activity-ai-suspected{background:linear-gradient(135deg,#fff7ed 0%,#fff 60%);border-width:2px;border-left-color:#f97316;box-shadow:0 6px 24px #f9731633}.toast.toast-activity-ai-suspected .toast-title{color:#9a3412;-webkit-line-clamp:2;font-size:15px}.toast.toast-activity-ai-suspected .toast-text{color:#7c2d12;-webkit-line-clamp:7;font-size:13px}.toast-content{flex-direction:column;gap:2px;min-width:0;display:flex}.toast-title{text-overflow:ellipsis;-webkit-line-clamp:1;-webkit-box-orient:vertical;font-size:13px;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.toast-text{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;display:-webkit-box;overflow:hidden}.toast-close{color:var(--muted);background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;padding:0;font-size:16px;display:inline-flex}.toast-close:hover{color:var(--text);background:#f3f4f6}@keyframes toast-in{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@media (width<=540px){.toast-container{bottom:10px;left:10px;right:10px}.toast{width:100%}}.search-bar{border:1px solid var(--border);max-width:440px;height:38px;color:var(--muted);background:#f4f6fb;border-radius:999px;flex:1;align-items:center;gap:8px;margin:0 24px;padding:0 14px;transition:border-color .15s,background .15s;display:flex;position:relative}.search-bar:focus-within{border-color:var(--brand-cyan);background:#fff}.search-bar input{min-width:0;font:inherit;color:var(--text);background:0 0;border:0;outline:none;flex:1;padding:0;font-size:14px}.search-bar input::-webkit-search-cancel-button{display:none}.search-clear{width:20px;height:20px;color:var(--muted);background:#00000014;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:14px;line-height:1;display:inline-flex}.search-clear:hover{color:var(--text);background:#00000026}.search-dropdown{background:var(--surface);border:1px solid var(--border);z-index:30;border-radius:12px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:hidden;box-shadow:0 12px 28px #0f172a26}.search-dropdown ul{max-height:420px;margin:0;padding:4px;list-style:none;overflow-y:auto}.search-empty{color:var(--muted);text-align:center;padding:20px 14px;font-size:13px}.search-item{width:100%;color:var(--text);text-align:left;font:inherit;background:0 0;border-radius:8px;align-items:center;gap:10px;padding:8px 10px;display:flex}.search-item:hover,.search-item.active{background:#f3f4f6}.search-item-name{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex;overflow:hidden}.search-item-chip{color:var(--brand);letter-spacing:.02em;background:#eef1f7;border-radius:999px;padding:1px 6px;font-size:10px;font-weight:600}.search-item-sub{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}@media (width<=720px){.search-bar{display:none}}.mobile-search-toggle{width:36px;height:36px;color:var(--text);background:0 0;border-radius:50%;justify-content:center;align-items:center;padding:0;display:none}.mobile-search-toggle:hover{background:#f3f4f6}@media (width<=720px){.mobile-search-toggle{display:inline-flex}}.mobile-search-overlay{background:var(--surface);z-index:200;flex-direction:column;display:flex;position:fixed;inset:0}.mobile-search-head{border-bottom:1px solid var(--border);background:var(--surface);align-items:center;gap:8px;padding:10px 12px;display:flex}.mobile-search-back{width:36px;height:36px;color:var(--text);background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.mobile-search-back:hover{background:#f3f4f6}.mobile-search-input-wrap{border:1px solid var(--border);min-width:0;height:40px;color:var(--muted);background:#f4f6fb;border-radius:999px;flex:1;align-items:center;gap:8px;padding:0 14px;display:flex}.mobile-search-input-wrap:focus-within{border-color:var(--brand-cyan);background:#fff}.mobile-search-input-wrap input{min-width:0;font:inherit;color:var(--text);background:0 0;border:0;outline:none;flex:1;padding:0;font-size:14px}.mobile-search-input-wrap input::-webkit-search-cancel-button{display:none}.mobile-search-results{flex:1;padding:8px 8px 20px;overflow-y:auto}.mobile-search-results ul{margin:0;padding:0;list-style:none}.mobile-search-results .search-empty{text-align:center;color:var(--muted);padding:40px 20px;font-size:13px}.user-menu{display:inline-block;position:relative}.user-menu-trigger{color:var(--text);font:inherit;background:0 0;border:1px solid #0000;border-radius:999px;align-items:center;gap:8px;padding:4px 10px 4px 4px;font-size:13px;display:inline-flex}.user-menu-trigger:hover{border-color:var(--border);background:#f3f4f6}.user-menu-name{text-overflow:ellipsis;white-space:nowrap;max-width:180px;font-weight:500;overflow:hidden}.user-menu-dropdown{background:var(--surface);border:1px solid var(--border);z-index:50;border-radius:12px;flex-direction:column;min-width:240px;padding:6px;display:flex;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 12px 28px #0f172a26}.user-menu-item{width:100%;color:var(--text);text-align:left;font:inherit;background:0 0;border-radius:8px;padding:10px 12px;font-size:13px;text-decoration:none;display:block}.user-menu-item:hover{background:#f3f4f6;text-decoration:none}.user-menu-btn.danger{color:var(--danger)}.user-menu-btn.danger:hover{background:#fee2e2}.user-menu-email{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:12px;overflow:hidden}.user-menu-divider{background:#eef1f6;height:1px;margin:4px 0}.user-menu-strava-header{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);justify-content:space-between;align-items:center;padding:6px 12px 2px;font-size:11px;font-weight:600;display:flex}.user-menu-strava-sub{color:var(--muted);padding:0 12px 6px;font-size:12px}.user-menu-item:disabled{opacity:.5;cursor:not-allowed}@media (width<=640px){.user-menu-name{display:none}}.challenge-level-chips{flex-wrap:wrap;gap:6px;margin:8px 0 4px;display:flex}.challenge-level-chip{color:var(--brand-dark);white-space:nowrap;background:#00a5d91f;border:1px solid #00a5d94d;border-radius:999px;align-items:center;padding:2px 10px;font-size:12px;font-weight:600;display:inline-flex}.challenge-level-row{border:1px solid var(--border);background:#f9fafb;border-radius:8px;grid-template-columns:90px 1fr 1fr 32px;align-items:center;gap:6px;padding:8px;display:grid}.challenge-level-row input{border:1px solid var(--border);font:inherit;border-radius:6px;min-width:0;padding:6px 8px;font-size:13px}.challenge-progress-summary{flex-wrap:wrap;gap:20px;margin-top:12px;display:flex}.challenge-bar{background:#eef1f6;border-radius:999px;height:18px;position:relative;overflow:hidden}.challenge-bar-lg{height:26px;margin-top:10px}.challenge-bar-fill{background:linear-gradient(90deg, var(--brand-cyan), var(--brand));border-radius:999px;transition:width .3s;position:absolute;top:0;bottom:0;left:0}.challenge-bar-fill.done{background:linear-gradient(90deg, var(--brand-green), var(--ok))}.challenge-bar-label{text-align:center;color:var(--text);white-space:nowrap;text-shadow:0 0 3px #ffffffd9;font-size:11px;font-weight:600;line-height:18px;display:block;position:relative}.challenge-bar-lg .challenge-bar-label{font-size:13px;line-height:26px}.challenge-tabs{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.challenge-tab{border:1px solid var(--border);background:var(--surface);font:inherit;color:var(--text);cursor:pointer;border-radius:999px;padding:6px 14px;font-size:13px;font-weight:600}.challenge-tab.active{background:var(--brand);border-color:var(--brand);color:#fff}.challenge-tab.active .muted{color:#ffffffbf}.challenge-detail-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.challenge-level-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-top:12px;display:grid}.challenge-level-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);text-align:center;padding:14px}.challenge-level-card-km{color:var(--brand);font-size:26px;font-weight:700;line-height:1.1}.challenge-level-card-name{margin-top:2px;font-size:13px;font-weight:600}.challenge-my-level-name{color:var(--brand);font-size:20px;font-weight:700}@media (width<=640px){.challenge-level-row{grid-template-columns:80px 1fr 32px}.challenge-level-row input:nth-child(3){grid-column:1/-1}.challenge-progress-summary{gap:14px}}.cheat-block{border-top:1px solid var(--border);margin-top:18px;padding-top:14px}.cheat-block-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.cheat-cluster{border:1px solid var(--border);background:var(--surface-2,#fafafa);border-radius:10px;margin-top:10px;padding:10px 12px}.cheat-cluster-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;font-size:13px;display:flex}.cheat-overlap{margin:6px 0 2px;font-size:12px;line-height:1.5}.cheat-reason{color:var(--danger);margin:6px 0 0;font-size:13px}.cheat-row{border-top:1px dashed var(--border);align-items:flex-start;gap:10px;padding:8px 0;display:flex}.cheat-row-main{flex:1;min-width:0;font-size:13px}.cheat-row-side{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}@media (width<=640px){.cheat-row{flex-wrap:wrap}.cheat-row-side{justify-content:flex-start;width:100%}}.kv-list{grid-template-columns:max-content 1fr;gap:6px 16px;margin:0 0 14px;font-size:14px;display:grid}.kv-list dt{color:var(--muted,#6b7280)}.kv-list dd{overflow-wrap:anywhere;min-width:0;margin:0}@media (width<=560px){.kv-list{grid-template-columns:1fr;gap:2px}.kv-list dd{margin-bottom:8px}}.instant-search-list{z-index:30;background:var(--surface,#fff);border:1px solid var(--border);border-radius:10px;max-height:320px;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 2px);left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #0000001f}.instant-search-list li{margin:0}.instant-search-list button{text-align:left;width:100%;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:7px 8px;display:flex}.instant-search-list button:hover,.instant-search-list button:focus-visible{background:var(--surface-2,#f3f4f6)}.referee-report{margin-bottom:12px}.referee-report-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.referee-report-reason{color:#713f12;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;margin-top:8px;padding:8px 10px;font-size:13px}.referee-report-actions{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;padding-top:10px;display:flex}.decision-history{margin:6px 0 0;padding:0;list-style:none}.decision-history li{border-top:1px dashed var(--border);padding:7px 0;font-size:13px}.decision-history li:first-child{border-top:0}.decision-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.decision-role{color:#3730a3;background:#eef2ff;border-radius:999px;padding:1px 7px;font-size:11px}.decision-time{font-size:12px}.decision-note{color:var(--muted,#6b7280);margin-top:3px;padding-left:2px}.decision-history.compact li{padding:5px 0;font-size:12px}.referee-chip{border:1px solid var(--border);background:var(--surface,#fff);border-radius:999px;align-items:center;gap:6px;padding:3px 4px 3px 3px;font-size:13px;display:inline-flex}.referee-chip button{color:var(--danger);cursor:pointer;background:0 0;border:0;padding:0 4px;font-size:15px;line-height:1}.activity-report-history{border-top:1px dashed var(--border);margin:8px 14px 0;padding-top:8px;font-size:13px}.activity-report-item{border:1px solid var(--border);background:var(--surface-2,#fafafa);border-radius:8px;margin-top:8px;padding:8px 10px}.lazy-section-head{text-align:left;cursor:pointer;width:100%;font:inherit;color:inherit;background:0 0;border:0;justify-content:space-between;align-items:center;gap:10px;padding:0;display:flex}.lazy-section-head h3{margin:0}.lazy-section-toggle{color:var(--brand);white-space:nowrap;flex-shrink:0;font-size:13px}.lazy-section-head:hover .lazy-section-toggle{text-decoration:underline}.admin-race-nav button{cursor:pointer;border:0}.it-report-row{margin-bottom:14px}.it-report-label{margin-bottom:4px;font-size:13px;font-weight:600}.it-report-track{background:var(--surface-2,#f3f4f6);border-radius:6px;height:28px;overflow:hidden}.it-report-fill{color:#fff;white-space:nowrap;border-radius:6px;justify-content:flex-end;align-items:center;min-width:70px;height:100%;padding-right:8px;font-size:12px;font-weight:700;transition:width .4s;display:flex}.it-report-detail{margin-top:4px}.it-report-list{color:var(--muted,#6b7280);margin:0;padding-left:20px;font-size:12px}.it-report-verdict{border-top:1px solid var(--border);flex-direction:column;gap:4px;margin-top:12px;padding-top:10px;font-size:13px;display:flex}.whatif-summary{border:1px solid var(--border);background:var(--surface-2,#fafafa);border-radius:10px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;padding:10px 12px;display:grid}.whatif-summary>div{flex-direction:column;gap:2px;display:flex}.whatif-summary span{text-transform:uppercase;letter-spacing:.03em;font-size:11px}.whatif-summary strong{font-size:16px}.sub-form{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;display:grid}.sub-form label{flex-direction:column;gap:4px;display:flex}.sub-form label>span{font-size:13px;font-weight:600}.sub-confirm{color:#713f12;background:#fffbeb;border:1px solid #fde68a;border-radius:10px;margin-top:10px;padding:10px 12px}.sub-history{margin:0;padding:0;list-style:none}.sub-history li{border-top:1px dashed var(--border);justify-content:space-between;align-items:flex-start;gap:10px;padding:8px 0;font-size:13px;display:flex}.sub-history li:first-child{border-top:0}.news-post-card{border:1px solid var(--border);border-left:4px solid var(--brand);background:var(--surface,#fff);box-shadow:var(--shadow);color:inherit;border-radius:12px;padding:16px 18px;text-decoration:none;transition:box-shadow .15s,transform .15s;display:block}.news-post-card:hover{text-decoration:none;transform:translateY(-1px);box-shadow:0 6px 18px #0000001a}.news-post-kicker{text-transform:uppercase;letter-spacing:.05em;color:var(--brand);font-size:11px;font-weight:700}.news-post-title{margin:6px 0;font-size:17px;line-height:1.35}.news-post-excerpt{color:var(--muted,#6b7280);margin:0;font-size:14px;line-height:1.6}.news-post-stats{color:var(--muted,#6b7280);flex-wrap:wrap;gap:14px;margin-top:10px;font-size:12px;display:flex}.news-post-more{color:var(--brand);margin-top:10px;font-size:13px;font-weight:600;display:inline-block}.news-post-head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.news-post-delete{border:1px solid var(--border);background:var(--surface,#fff);color:var(--danger);cursor:pointer;border-radius:999px;flex-shrink:0;padding:2px 10px;font-size:12px}.news-post-delete:hover:not(:disabled){background:#fef2f2;border-color:#fecaca}.news-post-chart{background:var(--surface-2,#f7f8fc);border-radius:10px;margin:12px 0 0;padding:10px 12px}.news-post-chart figcaption{margin-bottom:8px;font-size:12px;font-weight:700}.news-post-bar-row{grid-template-columns:minmax(70px,28%) 1fr auto;align-items:center;gap:8px;margin-bottom:5px;font-size:12px;display:grid}.news-post-bar-label{text-overflow:ellipsis;white-space:nowrap;color:var(--text);overflow:hidden}.news-post-bar-track{background:#0000000f;border-radius:999px;height:10px;overflow:hidden}.news-post-bar-fill{border-radius:999px;height:100%;transition:width .4s;display:block}.news-post-bar-value{font-variant-numeric:tabular-nums;color:var(--muted,#6b7280);white-space:nowrap}.tw-row{border:1px solid var(--border);background:var(--surface-2,#fafafa);border-radius:10px;margin-bottom:8px;padding:8px 10px}.tw-days{flex-wrap:wrap;align-items:center;gap:4px;margin-top:6px;display:flex}.tw-day{border:1px solid var(--border);background:var(--surface,#fff);min-width:34px;color:var(--muted,#6b7280);cursor:pointer;border-radius:6px;padding:3px 6px;font-size:12px}.tw-day.on{background:var(--brand);border-color:var(--brand);color:#fff;font-weight:600}.dept-avg-summary{border:1px solid var(--border);background:var(--surface-2,#fafafa);border-radius:10px;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;padding:10px 12px;display:grid}.dept-avg-summary>div{flex-direction:column;gap:2px;display:flex}.dept-avg-summary span{text-transform:uppercase;letter-spacing:.03em;font-size:11px}.dept-avg-summary strong{font-size:16px}.dept-avg-track{background:#0000000f;border-radius:999px;height:10px;overflow:hidden}.dept-avg-fill{border-radius:999px;height:100%;transition:width .4s;display:block}.avatar-wrap{line-height:0;display:inline-block;position:relative}.avatar-roses{color:#fff;white-space:nowrap;box-shadow:0 0 0 2px var(--surface,#fff);background:#be123c;border-radius:999px;padding:0 5px;font-size:10px;font-weight:700;line-height:15px;position:absolute;bottom:-3px;right:-6px}.avatar-wrap.avatar-sm .avatar-roses{padding:0 4px;font-size:9px;line-height:13px;right:-5px}.rose-count{color:#be123c}.rose-post{box-shadow:var(--shadow);background:linear-gradient(135deg,#fff1f2 0%,#fff 55%);border:1px solid #fecdd3;border-left:4px solid #e11d48;border-radius:12px;padding:14px 16px}.rose-post-head{align-items:flex-start;gap:10px;display:flex}.rose-post-kicker{text-transform:uppercase;letter-spacing:.05em;color:#be123c;font-size:11px;font-weight:700}.rose-post-message{color:#881337;background:#fff5f6;border-left:3px solid #fda4af;border-radius:0 8px 8px 0;margin:10px 0 0;padding:8px 12px;font-size:14px;font-style:italic}.rose-post-actions{margin-top:10px}.rose-stats{border:1px solid var(--border);background:var(--surface-2,#fafafa);border-radius:10px;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px;margin-bottom:8px;padding:10px 12px;display:grid}.rose-stats>div{flex-direction:column;gap:2px;display:flex}.rose-stats span{text-transform:uppercase;letter-spacing:.03em;font-size:11px}.rose-stats strong{font-size:17px}.rose-give-form{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;display:grid}.rose-give-form label{flex-direction:column;gap:4px;display:flex}.rose-label{font-size:13px;font-weight:600}.rose-list{margin:0;padding:0;list-style:none}.rose-list li{border-top:1px dashed var(--border);justify-content:space-between;align-items:center;gap:10px;padding:8px 0;font-size:13px;display:flex}.rose-list li:first-child{border-top:0}
