@import"https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&family=Noto+Serif+SC:wght@400;600&display=swap";:root{--bg: #0D0C0A;--surface: #171613;--card: #1F1E19;--card-hover: #28261F;--border: rgba(255,255,255,.06);--border-light: rgba(255,255,255,.1);--accent: #D4A44C;--accent-glow: rgba(212,164,76,.2);--accent-dim: rgba(212,164,76,.1);--text: #F0EBE0;--text-secondary: #C8C2B8;--text-dim: #9A9488;--green: #6BBF6E;--green-dim: rgba(107,191,110,.12);--amber: #E8A849;--amber-dim: rgba(232,168,73,.12);--red: #D45C5C;--red-dim: rgba(212,92,92,.12);--blue: #5C9FD4;--blue-dim: rgba(92,159,212,.12);--radius: 16px;--radius-sm: 10px;--font-primary: "Outfit", -apple-system, "PingFang SC", "Microsoft YaHei", sans-serif;--font-serif: "Noto Serif SC", "Source Serif 4", Georgia, serif;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--gutter: 16px;--text-xs: 11px;--text-sm: 13px;--text-base: 14px;--text-lg: 16px;--text-xl: 20px;--text-2xl: 24px;--text-3xl: 28px}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-primary);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;overflow-x:hidden}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:9999;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-repeat:repeat}#root{max-width:430px;width:100%;margin:0 auto;position:relative}.app-shell{min-height:100vh;position:relative;max-width:430px;width:100%;margin:0 auto;background:radial-gradient(ellipse at 25% 10%,rgba(42,36,22,.35) 0%,transparent 50%),radial-gradient(ellipse at 75% 85%,rgba(30,24,18,.25) 0%,transparent 50%),var(--bg)}.page-content{padding:16px 22px 110px}.page-enter{animation:pageIn .35s ease forwards}@keyframes pageIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.header{display:flex;justify-content:space-between;align-items:flex-start;padding:20px 22px 0}.greeting-small{font-size:18px;font-weight:500;color:var(--text)}.greeting-name{font-size:24px;font-weight:600;color:var(--text-secondary);margin-top:2px;letter-spacing:-.01em}.greeting-sub{font-size:var(--text-sm);color:var(--text-dim);margin-top:4px}.avatar-ring{width:46px;height:46px;border-radius:50%;padding:2.5px;background:linear-gradient(135deg,var(--accent) 0%,#E87040 100%);flex-shrink:0;cursor:pointer;transition:transform .2s ease,box-shadow .3s ease}.avatar-ring:hover{transform:scale(1.05);box-shadow:0 0 20px var(--accent-glow)}.avatar-ring:active{transform:scale(.96)}.avatar{width:100%;height:100%;border-radius:50%;background:var(--card);display:flex;align-items:center;justify-content:center;font-size:17px;font-weight:600;color:var(--accent)}.stat-row{display:flex;gap:10px;margin:28px 0 24px;animation:fadeUp .5s ease .1s both}.stat-card{flex:1;padding:16px 12px;border-radius:var(--radius-sm);background:var(--card);border:1px solid var(--border);text-align:center}.stat-value{font-size:26px;font-weight:700;letter-spacing:-.02em;line-height:1.1}.stat-value-good{color:var(--green)}.stat-value-amber{color:var(--amber)}.stat-value-red{color:var(--red)}.stat-value-accent{color:var(--accent)}.stat-sub{font-size:var(--text-sm);font-weight:400;opacity:.5}.stat-label{font-size:var(--text-xs);color:var(--text-dim);margin-top:6px;font-weight:500}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:18px;transition:border-color .2s,background .2s}.card:hover{border-color:var(--border-light);background:var(--card-hover)}.card-clickable{cursor:pointer}.section-title{font-size:var(--text-lg);font-weight:600;color:var(--text);margin-bottom:14px;display:flex;justify-content:space-between;align-items:center}.section-link{font-size:var(--text-sm);color:var(--accent);font-weight:500;cursor:pointer;border:none;background:none;font-family:inherit}.page-title{font-size:var(--text-2xl);font-weight:700;color:var(--text);margin-bottom:24px;letter-spacing:-.02em}.badge-good{background:var(--green-dim);color:var(--green);font-size:var(--text-xs);padding:3px 10px;border-radius:20px;font-weight:500}.badge-warn{background:var(--amber-dim);color:var(--amber);font-size:var(--text-xs);padding:3px 10px;border-radius:20px;font-weight:500}.badge-danger{background:var(--red-dim);color:var(--red);font-size:var(--text-xs);padding:3px 10px;border-radius:20px;font-weight:500}.badge-info{background:var(--blue-dim);color:var(--blue);font-size:var(--text-xs);padding:3px 10px;border-radius:20px;font-weight:500}.alert-card{background:linear-gradient(135deg,#3c181480,#1e1a1666);border:1px solid rgba(212,92,92,.15);border-radius:var(--radius);padding:18px;display:flex;gap:14px;cursor:pointer;transition:border-color .2s}.alert-card:hover{border-color:#d45c5c40}.alert-icon{width:42px;height:42px;border-radius:12px;background:var(--red-dim);display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.athlete-row{display:flex;align-items:center;gap:14px;padding:16px 18px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:all .2s ease}.athlete-row:hover{border-color:var(--border-light);background:var(--card-hover)}.athlete-row-warn{border-left:3px solid var(--amber)}.athlete-row-danger{border-left:3px solid var(--red)}.athlete-avatar{width:40px;height:40px;border-radius:12px;background:var(--surface);display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:600;color:var(--accent);flex-shrink:0}.btn-primary{width:100%;padding:14px;border:none;border-radius:var(--radius-sm);background:linear-gradient(135deg,var(--accent) 0%,#C08830 100%);color:var(--bg);font-family:inherit;font-size:var(--text-base);font-weight:600;cursor:pointer;transition:all .2s}.btn-primary:hover{box-shadow:0 0 30px var(--accent-glow)}.btn-primary:active{transform:scale(.98)}.btn-ghost{padding:12px 18px;border:1px dashed var(--border-light);border-radius:var(--radius-sm);background:none;color:var(--text-secondary);font-family:inherit;font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:all .2s}.btn-ghost:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.btn-danger{width:100%;padding:15px;border:none;border-radius:var(--radius-sm);background:linear-gradient(135deg,var(--red) 0%,#B84040 100%);color:#f0ebe0;font-family:inherit;font-size:var(--text-base);font-weight:600;cursor:pointer;transition:all .2s}.btn-danger:hover{box-shadow:0 0 30px #d45c5c4d}.input{width:100%;padding:12px 14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-family:inherit;font-size:var(--text-base);outline:none;transition:border-color .2s}.input:focus{border-color:var(--accent)}.input::placeholder{color:var(--text-dim)}select.input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%238A8478' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px}textarea.input{min-height:120px;resize:vertical;line-height:1.6}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translate(-50%);max-width:430px;width:100%;display:flex;justify-content:space-around;padding:8px 8px max(8px,env(safe-area-inset-bottom));background:#0d0c0aeb;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--border);z-index:100}.nav-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 0;border:none;background:none;cursor:pointer;color:var(--text-dim);font-family:inherit;font-size:var(--text-xs);font-weight:500;transition:color .2s;position:relative}.nav-btn svg{width:22px;height:22px;stroke-width:1.5;transition:transform .2s}.nav-btn.active{color:var(--accent)}.nav-btn.active svg{transform:scale(1.08)}.nav-btn .nav-badge{position:absolute;top:4px;right:50%;transform:translate(14px);min-width:16px;height:16px;padding:0 5px;border-radius:9px;background:var(--red);color:#fff;font-size:10px;font-weight:600;display:flex;align-items:center;justify-content:center}.sheet-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:200;opacity:0;pointer-events:none;transition:opacity .3s ease}.sheet-overlay.open{opacity:1;pointer-events:auto}.sheet{position:fixed;bottom:0;left:50%;transform:translate(-50%) translateY(100%);max-width:430px;width:100%;background:var(--surface);border-radius:20px 20px 0 0;z-index:201;transition:transform .35s cubic-bezier(.32,.72,0,1);padding:0 24px env(safe-area-inset-bottom,20px);max-height:85vh;overflow-y:auto}.sheet.open{transform:translate(-50%) translateY(0)}.sheet-handle-area{display:flex;justify-content:center;padding:12px 0 8px;cursor:grab}.sheet-handle{width:36px;height:4px;border-radius:2px;background:#ffffff1f}.notify-item{display:flex;gap:14px;padding:18px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);transition:all .2s}.notify-item:hover{border-color:var(--border-light);background:var(--card-hover)}.notify-item-unread{border-left:3px solid var(--accent)}.notify-icon{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}@media(min-width:431px){body{display:flex;justify-content:center;align-items:flex-start;min-height:100vh;padding:20px 0;background:radial-gradient(ellipse at 30% 30%,rgba(30,26,18,.5) 0%,transparent 60%),#080706}.app-shell{border-radius:24px;border:1px solid rgba(255,255,255,.06);box-shadow:0 0 0 1px #0000004d,0 20px 80px #00000080;overflow:hidden}.bottom-nav{border-radius:0 0 24px 24px}}
