:root{--bg: #f2f2f7;--bg-elevated: #ffffff;--bg-translucent: rgba(255, 255, 255, .7);--bg-muted: rgba(120, 120, 128, .08);--bg-hover: rgba(120, 120, 128, .12);--bg-pressed: rgba(120, 120, 128, .18);--text-primary: #1c1c1e;--text-secondary: #3c3c43;--text-tertiary: #8e8e93;--separator: rgba(60, 60, 67, .12);--separator-strong: rgba(60, 60, 67, .22);--accent: #007aff;--accent-strong: #0066d6;--accent-soft: rgba(0, 122, 255, .1);--green: #34c759;--orange: #ff9500;--red: #ff3b30;--gray: #8e8e93;--radius-sm: 10px;--radius-md: 14px;--radius-lg: 20px;--radius-pill: 999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 1px 3px rgba(0, 0, 0, .04), 0 8px 24px rgba(0, 0, 0, .05);--shadow-lg: 0 4px 12px rgba(0, 0, 0, .06), 0 24px 48px rgba(0, 0, 0, .08);--motion-spring: cubic-bezier(.2, .8, .2, 1);--motion-standard: cubic-bezier(.28, .11, .32, 1);--glass-blur: 25px;--glass-saturate: 190%;--glass-border: rgba(255, 255, 255, .4);--font: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Helvetica Neue", system-ui, sans-serif}html[data-theme=dark]{--bg: #000000;--bg-elevated: #1c1c1e;--bg-translucent: rgba(28, 28, 30, .65);--bg-muted: rgba(120, 120, 128, .18);--bg-hover: rgba(120, 120, 128, .24);--bg-pressed: rgba(120, 120, 128, .3);--text-primary: #f5f5f7;--text-secondary: rgba(235, 235, 245, .72);--text-tertiary: rgba(235, 235, 245, .48);--separator: rgba(84, 84, 88, .48);--separator-strong: rgba(84, 84, 88, .72);--accent: #0a84ff;--accent-strong: #409cff;--accent-soft: rgba(10, 132, 255, .18);--green: #30d158;--orange: #ff9f0a;--red: #ff453a;--gray: #98989d;--glass-border: rgba(255, 255, 255, .08);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .28);--shadow-md: 0 1px 2px rgba(0, 0, 0, .32), 0 10px 30px rgba(0, 0, 0, .24);--shadow-lg: 0 8px 18px rgba(0, 0, 0, .34), 0 28px 56px rgba(0, 0, 0, .32)}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;min-height:100%;font-family:var(--font);color:var(--text-primary);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background-image:radial-gradient(at 0% 0%,color-mix(in srgb,var(--accent) 5%,transparent) 0px,transparent 50%),radial-gradient(at 100% 0%,color-mix(in srgb,var(--green) 5%,transparent) 0px,transparent 50%),radial-gradient(at 100% 100%,color-mix(in srgb,var(--orange) 5%,transparent) 0px,transparent 50%),radial-gradient(at 0% 100%,color-mix(in srgb,var(--red) 5%,transparent) 0px,transparent 50%);background-attachment:fixed}h1,h2,h3,h4{margin:0;font-weight:600;letter-spacing:-.01em}h1{font-size:28px;letter-spacing:-.02em}h2{font-size:22px}h3{font-size:17px}p{margin:0}button{display:inline-flex;align-items:center;justify-content:center;gap:7px;cursor:pointer;font-family:inherit;font-size:15px;font-weight:500;padding:10px 16px;border:1px solid transparent;background:var(--bg-elevated);color:var(--text-primary);border-radius:var(--radius-md);transition:transform .22s var(--motion-spring),background .22s var(--motion-standard),border-color .22s var(--motion-standard),box-shadow .22s var(--motion-standard),color .22s var(--motion-standard),opacity .22s var(--motion-standard);box-shadow:var(--shadow-sm)}button:hover{background:var(--bg-hover)}button:active{background:var(--bg-pressed);transform:scale(.96)}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--accent);color:#fff;box-shadow:0 4px 14px color-mix(in srgb,var(--accent) 30%,transparent)}button.primary:hover{background:var(--accent-strong);box-shadow:0 6px 20px color-mix(in srgb,var(--accent) 40%,transparent)}button.danger{background:transparent;color:var(--red);box-shadow:none;border-color:transparent}button.danger:hover{background:#ff3b301a}button.ghost{background:transparent;box-shadow:none;color:var(--accent);padding:6px 10px}button.ghost:hover{background:#007aff14}input,select,textarea{font-family:inherit;font-size:15px;padding:10px 12px;border:1px solid var(--separator);border-radius:var(--radius-md);background:var(--bg-translucent);-webkit-backdrop-filter:saturate(var(--glass-saturate)) blur(var(--glass-blur));backdrop-filter:saturate(var(--glass-saturate)) blur(var(--glass-blur));width:100%;color:var(--text-primary);transition:border-color .22s var(--motion-standard),box-shadow .22s var(--motion-standard),background .22s var(--motion-standard),transform .22s var(--motion-spring)}.symbol-icon{display:block;flex-shrink:0}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #007aff26;transform:translateY(-1px)}label{display:block;font-size:13px;font-weight:500;color:var(--text-secondary);margin-bottom:6px}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}.app-shell{min-height:100vh;display:flex;flex-direction:column;animation:page-enter .5s var(--motion-standard)}main.app-main{max-width:1040px;width:100%;margin:0 auto;padding:0 24px 64px}main.app-main.app-main--wide{max-width:1320px}.section{margin-top:28px}.page-panel{animation:panel-enter .38s var(--motion-standard)}.card{background:var(--bg-translucent);border-radius:var(--radius-lg);padding:20px;border:1px solid var(--glass-border);box-shadow:var(--shadow-md);-webkit-backdrop-filter:saturate(var(--glass-saturate)) blur(var(--glass-blur));backdrop-filter:saturate(var(--glass-saturate)) blur(var(--glass-blur));transition:transform .26s var(--motion-spring),box-shadow .26s var(--motion-standard),border-color .26s var(--motion-standard),background .26s var(--motion-standard)}.card:hover{transform:translateY(-1px);border-color:var(--separator-strong)}.card-tight{padding:16px}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.row-between{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.section-title{display:inline-flex;align-items:center;gap:8px}.refresh-button{min-width:92px}.stack{display:flex;flex-direction:column;gap:12px}.muted{color:var(--text-tertiary);font-size:14px}.muted-strong{color:var(--text-secondary);font-size:14px}.error{color:var(--red);font-size:14px}.success{color:var(--green);font-size:14px}.state-message{display:inline-flex;align-items:center;gap:7px;animation:state-pop .32s var(--motion-spring)}.state-message--error{color:var(--red)}.state-message--success{color:var(--green)}.loading-shell{min-height:100vh;display:grid;place-items:center}.auth-shell{width:min(440px,calc(100% - 40px));min-height:100vh;margin:0 auto;padding:56px 0;display:grid;align-content:center;gap:20px;position:relative;animation:page-enter .5s var(--motion-standard)}.auth-theme{position:fixed;top:18px;right:18px}.auth-hero{text-align:center;display:grid;justify-items:center;gap:8px}.app-header{background:var(--bg-translucent);border-bottom:1px solid var(--separator);-webkit-backdrop-filter:saturate(var(--glass-saturate)) blur(var(--glass-blur));backdrop-filter:saturate(var(--glass-saturate)) blur(var(--glass-blur))}.app-header__inner{max-width:1040px;margin:0 auto;padding:16px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px}.app-brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:17px;letter-spacing:-.01em}.brand-mark{width:30px;height:30px;border-radius:9px;background:linear-gradient(135deg,var(--accent),#5ac8fa 58%,#64d2ff);display:grid;place-items:center;color:#fff}.brand-mark--large{width:58px;height:58px;border-radius:18px}.app-header__user{display:flex;align-items:center;gap:10px;color:var(--text-secondary);font-size:14px}.theme-toggle{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:4px 10px 4px 4px;border-radius:var(--radius-pill);background:var(--bg-translucent);-webkit-backdrop-filter:saturate(var(--glass-saturate)) blur(var(--glass-blur));backdrop-filter:saturate(var(--glass-saturate)) blur(var(--glass-blur));color:var(--text-secondary);box-shadow:var(--shadow-sm);border:1px solid var(--glass-border)}.theme-toggle:hover{background:var(--bg-hover)}.theme-toggle:active .theme-toggle__thumb{transform:rotate(-12deg) scale(.92)}.theme-toggle__thumb{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--bg-elevated);color:var(--accent);box-shadow:var(--shadow-sm);transition:transform .28s var(--motion-spring),color .22s var(--motion-standard)}.theme-toggle__label{font-size:13px;font-weight:600}.pill-nav-wrap{position:sticky;top:12px;z-index:10;display:flex;justify-content:center;margin:16px auto 0}.pill-nav{display:inline-flex;align-items:center;gap:4px;padding:4px;border-radius:var(--radius-pill);background:var(--bg-translucent);border:1px solid var(--glass-border);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:saturate(var(--glass-saturate)) blur(var(--glass-blur));backdrop-filter:saturate(var(--glass-saturate)) blur(var(--glass-blur))}.pill-nav__item{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:var(--text-secondary);font-weight:500;font-size:14px;padding:8px 18px;border-radius:var(--radius-pill);box-shadow:none;display:inline-flex;align-items:center;gap:6px;transition:background .24s var(--motion-standard),color .24s var(--motion-standard),transform .24s var(--motion-spring),box-shadow .24s var(--motion-standard)}.pill-nav__item:hover{background:var(--bg-hover)}.pill-nav__item--active{background:var(--bg-elevated);color:var(--text-primary);box-shadow:0 1px 2px #0000000f,0 4px 12px #0000000d}.pill-nav__item:active .symbol-icon{transform:scale(.88)}.status-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--radius-pill);font-size:12px;font-weight:600;background:color-mix(in srgb,var(--badge-color) 10%,var(--bg-translucent));color:var(--badge-color);border:1px solid color-mix(in srgb,var(--badge-color) 20%,var(--glass-border));white-space:nowrap;-webkit-backdrop-filter:saturate(var(--glass-saturate)) blur(8px);backdrop-filter:saturate(var(--glass-saturate)) blur(8px);transition:transform .24s var(--motion-spring),background .24s var(--motion-standard)}.status-badge__dot{width:6px;height:6px;border-radius:999px;background:var(--badge-color)}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}@media (max-width: 720px){.stat-grid{grid-template-columns:1fr}}.stat-card{background:var(--bg-translucent);border-radius:var(--radius-lg);padding:18px 20px;border:1px solid var(--glass-border);box-shadow:var(--shadow-md);-webkit-backdrop-filter:saturate(var(--glass-saturate)) blur(var(--glass-blur));backdrop-filter:saturate(var(--glass-saturate)) blur(var(--glass-blur));display:flex;flex-direction:column;gap:12px;position:relative;overflow:hidden;animation:card-rise .42s var(--motion-standard) both;transition:transform .28s var(--motion-spring),box-shadow .28s var(--motion-standard),border-color .28s var(--motion-standard)}.stat-card:nth-child(2){animation-delay:.05s}.stat-card:nth-child(3){animation-delay:.1s}.stat-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent-color) 34%,var(--separator))}.stat-card__icon{width:36px;height:36px;border-radius:10px;background:color-mix(in srgb,var(--accent-color) 18%,transparent);color:var(--accent-color);display:grid;place-items:center;font-size:18px;font-weight:700;transition:transform .28s var(--motion-spring),background .24s var(--motion-standard)}.stat-card:hover .stat-card__icon{transform:scale(1.06)}.stat-card__value{font-size:36px;font-weight:700;letter-spacing:-.02em;line-height:1}.stat-card__label{font-size:13px;color:var(--text-tertiary);font-weight:500;letter-spacing:-.005em}.stat-card__bar{height:4px;background:var(--separator);border-radius:var(--radius-pill);overflow:hidden}.stat-card__bar-fill{height:100%;background:var(--accent-color);border-radius:var(--radius-pill);transition:width .6s var(--motion-standard)}.activity-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--separator);transition:background .24s var(--motion-standard),transform .24s var(--motion-spring)}.activity-row:hover{background:var(--bg-muted);transform:translate(2px)}.activity-row:last-child{border-bottom:none}.member-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}@media (max-width: 720px){.member-grid{grid-template-columns:1fr}}.member-card{background:var(--bg-translucent);border-radius:var(--radius-lg);padding:18px;box-shadow:var(--shadow-md);-webkit-backdrop-filter:saturate(var(--glass-saturate)) blur(var(--glass-blur));backdrop-filter:saturate(var(--glass-saturate)) blur(var(--glass-blur));display:flex;gap:14px;align-items:flex-start;cursor:pointer;border:1px solid var(--glass-border);text-align:left;width:100%;font-family:inherit;animation:card-rise .38s var(--motion-standard) both;transition:transform .28s var(--motion-spring),box-shadow .28s var(--motion-standard),border-color .28s var(--motion-standard),background .28s var(--motion-standard)}.member-card:nth-child(2n){animation-delay:.04s}.member-card:nth-child(3n){animation-delay:.08s}.member-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:color-mix(in srgb,var(--accent) 24%,var(--separator))}.member-card:active{transform:scale(.985)}.avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,#64d2ff,var(--accent));color:#fff;display:grid;place-items:center;font-weight:600;font-size:16px;flex-shrink:0;text-transform:uppercase;overflow:hidden;transition:transform .28s var(--motion-spring),filter .28s var(--motion-standard)}.avatar--image{background:var(--bg-elevated);object-fit:cover;display:block}.file-input{display:block;width:100%;font-size:14px;color:var(--text-secondary);padding:0;border:none;background:transparent}.file-input::file-selector-button,.file-input::-webkit-file-upload-button{background:var(--bg-elevated);border:1px solid var(--separator);border-radius:var(--radius-md);color:var(--text-primary);font-family:inherit;font-size:13px;font-weight:500;padding:6px 12px;margin-right:10px;cursor:pointer;transition:background .15s ease,border-color .15s ease}.file-input::file-selector-button:hover,.file-input::-webkit-file-upload-button:hover{background:color-mix(in srgb,var(--accent) 10%,var(--bg-elevated));border-color:color-mix(in srgb,var(--accent) 30%,var(--separator))}.profile-editor__row{display:flex;gap:16px;align-items:flex-start;margin-top:12px}.profile-editor__fields{flex:1;min-width:0;display:flex;flex-direction:column;gap:12px}.member-card:hover .avatar,.roster-row:hover .avatar{transform:scale(1.05)}.member-card__body{flex:1;min-width:0}.member-card__email{font-weight:600;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.member-card__meta{display:flex;gap:8px;align-items:center;margin-top:6px;flex-wrap:wrap}.member-card__last{font-size:13px;color:var(--text-tertiary);margin-top:8px}.detail-back{display:inline-flex;align-items:center;gap:4px;background:transparent;color:var(--accent);box-shadow:none;padding:6px 8px;margin-left:-8px;margin-bottom:8px}.detail-back:hover{background:#007aff14}.detail-header{display:flex;gap:16px;align-items:center;margin-bottom:12px}.detail-stats{display:grid;grid-template-columns:repeat(3,1fr) auto;gap:12px;margin:16px 0;align-items:stretch}@media (max-width: 720px){.detail-stats{grid-template-columns:1fr 1fr}}.kv-card{background:var(--bg-translucent);border-radius:var(--radius-md);padding:12px;border:1px solid var(--glass-border);-webkit-backdrop-filter:saturate(var(--glass-saturate)) blur(var(--glass-blur));backdrop-filter:saturate(var(--glass-saturate)) blur(var(--glass-blur));transition:transform .24s var(--motion-spring),border-color .24s var(--motion-standard),background .24s var(--motion-standard)}.kv-card:hover{transform:translateY(-1px);border-color:var(--separator-strong)}.kv-card__label{font-size:12px;color:var(--text-tertiary);font-weight:500}.kv-card__value{font-size:22px;font-weight:700;letter-spacing:-.01em;margin-top:2px}.advice-card{background:var(--bg-translucent);-webkit-backdrop-filter:saturate(var(--glass-saturate)) blur(var(--glass-blur));backdrop-filter:saturate(var(--glass-saturate)) blur(var(--glass-blur));border-color:color-mix(in srgb,var(--accent) 24%,var(--separator))}.timeline{position:relative;padding-left:18px}.timeline:before{content:"";position:absolute;left:5px;top:6px;bottom:6px;width:2px;background:var(--separator)}.timeline-item{position:relative;padding:10px 0;animation:panel-enter .35s var(--motion-standard) both}.timeline-item:nth-child(2n){animation-delay:.04s}.timeline-item:nth-child(3n){animation-delay:.08s}.timeline-item:before{content:"";position:absolute;left:-18px;top:16px;width:12px;height:12px;border-radius:50%;background:var(--bg-elevated);border:2px solid var(--accent)}.timeline-item__date{font-size:12px;color:var(--text-tertiary);font-weight:500}.timeline-item__body{margin-top:4px;font-size:14px;color:var(--text-secondary)}.roster-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--separator);transition:background .24s var(--motion-standard),transform .24s var(--motion-spring)}.roster-row:hover{background:var(--bg-muted);transform:translate(2px)}.roster-row:last-child{border-bottom:none}.empty-state{text-align:center;padding:32px 16px;color:var(--text-tertiary);font-size:14px;animation:panel-enter .38s var(--motion-standard)}.empty-state__icon{width:42px;height:42px;margin:0 auto 10px;border-radius:14px;display:grid;place-items:center;background:var(--bg-muted);color:var(--accent)}.skeleton-stack{display:grid;gap:10px}.skeleton-row,.skeleton-card{border-radius:var(--radius-md);background:linear-gradient(90deg,var(--bg-muted),var(--bg-hover),var(--bg-muted));background-size:220% 100%;animation:skeleton-sweep 1.25s var(--motion-standard) infinite}.skeleton-card{height:132px;border-radius:var(--radius-lg)}.skeleton-row{height:48px}.analytics-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:18px;align-items:stretch}.athlete-chart-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:18px;align-items:stretch}.chart-card{background:var(--bg-translucent);min-height:410px;padding:20px;border-radius:var(--radius-lg);border:1px solid var(--glass-border);box-shadow:var(--shadow-md);-webkit-backdrop-filter:saturate(var(--glass-saturate)) blur(var(--glass-blur));backdrop-filter:saturate(var(--glass-saturate)) blur(var(--glass-blur));transition:transform .26s var(--motion-spring),box-shadow .26s var(--motion-standard),border-color .26s var(--motion-standard),background .26s var(--motion-standard)}.chart-card:hover{transform:translateY(-1px);border-color:var(--separator-strong)}.chart-card--trajectory,.chart-card--biometrics{min-height:340px}.chart-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:10px}.chart-eyebrow{margin-bottom:5px;color:var(--text-tertiary);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.chart-chip{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;padding:6px 10px;border-radius:var(--radius-pill);background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 22%,var(--separator));color:var(--accent);font-size:12px;font-weight:700}.chart-chip--hot{background:color-mix(in srgb,var(--orange) 14%,transparent);border-color:color-mix(in srgb,var(--orange) 24%,var(--separator));color:var(--orange)}.chart-stage{width:100%;height:300px;min-height:0}.chart-stage--compact{height:240px}.chart-tooltip{display:grid;gap:4px;padding:10px 12px;border-radius:14px;border:1px solid var(--separator);background:var(--bg-translucent);box-shadow:var(--shadow-md);color:var(--text-primary);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.chart-tooltip strong{font-size:13px}.chart-tooltip span{color:var(--text-secondary);font-size:12px}.matrix-legend{display:flex;flex-wrap:wrap;gap:10px 14px;margin-top:8px;color:var(--text-tertiary);font-size:12px;font-weight:600}.matrix-legend span{display:inline-flex;align-items:center;gap:6px}.legend-dot{width:8px;height:8px;border-radius:50%}.legend-dot--safe{background:#30d158;color:#30d158}.legend-dot--danger{background:#ff453a;color:#ff453a}.legend-dot--warning{background:#ffd60a;color:#ffd60a}.legend-dot--anomaly{background:#64d2ff;color:#64d2ff}.biometric-legend{display:grid;gap:8px;margin-top:8px;color:var(--text-secondary);font-size:12px;font-weight:500}.biometric-legend span{display:flex;align-items:center;gap:10px}.biometric-legend i{width:8px;height:8px;border-radius:50%;flex-shrink:0}.spinner{display:inline-block;width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .75s linear infinite}@keyframes page-enter{0%{opacity:0}to{opacity:1}}@keyframes panel-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes card-rise{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes state-pop{0%{opacity:0;transform:translateY(4px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes skeleton-sweep{0%{background-position:110% 0}to{background-position:-110% 0}}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 860px){.analytics-grid,.athlete-chart-grid{grid-template-columns:1fr}}.athlete-detail-grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:24px;align-items:start}.athlete-detail-main{min-width:0}.athlete-detail-aside{position:sticky;top:96px}@media (max-width: 960px){.athlete-detail-grid{grid-template-columns:1fr}.athlete-detail-aside{position:static}}.holomap-float{pointer-events:auto}.holomap-float__stage{position:relative;width:100%;min-height:680px;aspect-ratio:3 / 5}.holomap-float__stage canvas{display:block;width:100%!important;height:100%!important;outline:none}.fatigue-marker-btn{width:28px;height:28px;border-radius:50%;border:4px solid var(--marker-color);padding:0;cursor:pointer;background:#fff;box-shadow:0 1px 4px #0003,inset 0 0 4px #0000001a;transition:transform .22s var(--motion-spring),box-shadow .22s ease;display:flex;align-items:center;justify-content:center}.fatigue-marker-btn:hover{transform:scale(1.15);box-shadow:0 2px 8px #00000040,inset 0 0 4px #0000001a;z-index:100}.fatigue-dialog{width:480px;background:var(--bg-translucent);-webkit-backdrop-filter:saturate(180%) blur(30px);backdrop-filter:saturate(180%) blur(30px);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:16px;position:absolute;bottom:40px;left:50%;transform:translate(-50%);animation:panel-enter .32s var(--motion-standard);z-index:1000}.fatigue-dialog__header{display:flex;align-items:center;justify-content:space-between;gap:16px}.fatigue-dialog__title{font-size:22px;font-weight:700;color:var(--text-primary);letter-spacing:-.02em}.fatigue-dialog__close{background:transparent;border:none;padding:6px;color:var(--text-tertiary);cursor:pointer;border-radius:50%;display:flex;transition:background .2s ease,color .2s ease}.fatigue-dialog__close:hover{background:var(--bg-muted);color:var(--text-primary)}.fatigue-dialog__textarea{font-size:18px;min-height:200px;line-height:1.6;resize:none;background:var(--bg-elevated);border:1px solid var(--separator);color:var(--text-primary);padding:16px;border-radius:var(--radius-md);transition:border-color .2s ease,box-shadow .2s ease}.fatigue-dialog__textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #007aff1a;outline:none}.success-btn{background:var(--green)!important;border-color:var(--green)!important;box-shadow:0 4px 14px color-mix(in srgb,var(--green) 30%,transparent)!important}.kudos-button{font-size:24px;aspect-ratio:1 / 1;padding:0;border-radius:16px;background:var(--bg-elevated);border:1px solid var(--separator);box-shadow:var(--shadow-sm);transition:all .22s var(--motion-spring);display:flex;align-items:center;justify-content:center}.kudos-button:disabled{opacity:.5;cursor:not-allowed}.kudos-button:hover:not(:disabled){background:var(--bg-hover);transform:translateY(-2px);box-shadow:var(--shadow-md)}.kudos-button:active:not(:disabled){transform:scale(.92)}.kudos-button.animating{animation:pop-bounce .45s var(--motion-spring)}@keyframes pop-bounce{0%{transform:scale(1)}30%{transform:scale(1.4)}50%{transform:scale(.9)}70%{transform:scale(1.1)}to{transform:scale(1)}}
