.sports-panel{padding:8px 4px 24px}.sports-prescription{background:linear-gradient(135deg,var(--accent),var(--accent2));border-radius:var(--radius-lg);padding:var(--space-5);color:#fff;margin-bottom:var(--space-5)}.sports-prescription-header{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4)}.sports-prescription-icon{font-size:32px;width:52px;height:52px;background:rgba(255,255,255,.2);border-radius:50%;display:flex;align-items:center;justify-content:center}.sports-prescription-title{font-size:var(--text-lg);font-weight:var(--font-semibold)}.sports-prescription-desc{font-size:var(--text-sm);opacity:.9}.sports-daily-targets{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3)}.sports-target-item{background:rgba(255,255,255,.15);border-radius:var(--radius);padding:var(--space-3);text-align:center}.sports-target-label{display:block;font-size:var(--text-xs);opacity:.8;margin-bottom:4px}.sports-target-value{font-size:var(--text-lg);font-weight:var(--font-bold)}.sports-quote{background:var(--bg2);border-left:4px solid var(--accent);border-radius:0 var(--radius) var(--radius) 0;padding:var(--space-4);margin-bottom:var(--space-5)}.sports-quote-text{font-size:var(--text-base);font-style:italic;color:var(--ink);line-height:var(--leading-relaxed);margin-bottom:var(--space-3)}.sports-quote-source{font-size:var(--text-sm);color:var(--muted)}.sports-section{margin-bottom:var(--space-6)}.sports-section-title{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--ink);margin-bottom:var(--space-4);display:flex;align-items:center;gap:var(--space-2)}.sports-quick-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4);margin-bottom:var(--space-5)}.sports-quick-card{background:var(--bg2);border-radius:var(--radius);padding:var(--space-4);border:1px solid var(--rule);overflow:hidden}.sports-quick-card-header{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--ink);margin-bottom:var(--space-3);padding-bottom:var(--space-3);border-bottom:2px solid var(--cat-color,#E07A5F)}.sports-quick-card-items{display:flex;flex-direction:column;gap:var(--space-2)}.sports-quick-btn{background:transparent;border:1px solid var(--rule);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);font-size:var(--text-sm);color:var(--ink);cursor:pointer;transition:all var(--duration-150) var(--ease);text-align:left}.sports-quick-btn:hover{background:var(--cat-color,#E07A5F);border-color:var(--cat-color,#E07A5F);color:#fff}.sports-quick-btn:active{transform:scale(.97)}.sports-type-list{display:flex;flex-direction:column;gap:var(--space-5)}.sports-category-header{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--ink);margin-bottom:var(--space-3);padding-bottom:var(--space-3);border-bottom:2px solid var(--cat-color,#E07A5F)}.sports-category-desc{font-size:var(--text-xs);color:var(--muted);font-weight:var(--font-normal);margin-left:auto}.sports-type-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--bg2);border-radius:var(--radius);margin-bottom:var(--space-3)}.sports-type-icon{font-size:26px;flex-shrink:0}.sports-type-info{flex:1;min-width:0}.sports-type-name{display:block;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--ink)}.sports-type-tip{display:block;font-size:var(--text-xs);color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sports-type-checkin-btn{background:var(--accent);color:#fff;border:none;border-radius:var(--radius);padding:var(--space-2) var(--space-4);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;flex-shrink:0;transition:all var(--duration-150) var(--ease)}.sports-type-checkin-btn:hover{background:var(--accent-600);transform:scale(1.05)}.sports-type-checkin-btn:active{transform:scale(.97)}.sports-prescription-cards{display:grid;gap:var(--space-3)}.sports-prescription-card{background:var(--bg2);border-radius:var(--radius);padding:var(--space-3);border:1px solid var(--rule)}.sports-prescription-card-header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.sports-prescription-card-icon{font-size:20px}.sports-prescription-card-title{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--ink)}.sports-prescription-card-body{display:flex;flex-direction:column;gap:var(--space-1);margin-bottom:var(--space-2)}.sports-prescription-card-row{display:flex;justify-content:space-between;font-size:var(--text-xs);color:var(--ink2)}.sports-prescription-card-row span:first-child{color:var(--muted)}.sports-prescription-card-tip{font-size:var(--text-xs);color:var(--accent);font-style:italic;padding:var(--space-2);background:var(--accent-light);border-radius:var(--radius-sm);margin-bottom:var(--space-2)}.sports-prescription-card-ref{font-size:var(--text-xs);color:var(--muted)}.sports-meridian-list{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-2)}.sports-meridian-item{display:flex;flex-direction:column;align-items:center;padding:var(--space-2);background:var(--bg2);border-radius:var(--radius);border:1px solid var(--rule);text-align:center}.sports-meridian-item.highlight{border-color:var(--accent);background:var(--accent-light)}.sports-meridian-item.current{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.sports-meridian-icon{font-size:20px;margin-bottom:var(--space-1)}.sports-meridian-time{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--ink)}.sports-meridian-meridian{font-size:var(--text-xs);color:var(--accent)}.sports-meridian-action{font-size:var(--text-xs);color:var(--muted);margin-top:var(--space-1)}.sports-nutrition-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2)}.sports-nutrition-card{background:var(--bg2);border-radius:var(--radius);padding:var(--space-3);text-align:center;border:1px solid var(--rule)}.sports-nutrition-card-header{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--ink);margin-bottom:var(--space-1)}.sports-nutrition-card-time{font-size:var(--text-xs);color:var(--muted);margin-bottom:var(--space-2)}.sports-nutrition-card-detail{font-size:var(--text-xs);color:var(--ink2);text-align:left;margin-bottom:var(--space-2)}.sports-nutrition-card-detail strong{color:var(--ink)}.sports-nutrition-card-tip{font-size:var(--text-xs);color:var(--muted);font-style:italic}.sports-refs{display:flex;flex-direction:column;gap:var(--space-2)}.sports-ref-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--bg2);border-radius:var(--radius);border:1px solid var(--rule);text-decoration:none;transition:all var(--duration-150) var(--ease)}.sports-ref-item:hover{border-color:var(--accent);transform:translateX(4px)}.sports-ref-item > span:first-child{font-size:24px}.sports-ref-info{flex:1}.sports-ref-name{display:block;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--ink)}.sports-ref-desc{display:block;font-size:var(--text-xs);color:var(--muted)}.sports-ref-arrow{color:var(--accent);font-size:var(--text-lg)}.dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:var(--space-4);animation:fadeIn var(--duration-150) var(--ease)}.dialog{background:var(--bg);border-radius:var(--radius-lg);width:100%;max-width:360px;box-shadow:var(--shadow-lg);animation:slideUp var(--duration-200) var(--ease)}.dialog-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4);border-bottom:1px solid var(--rule);font-size:var(--text-lg);font-weight:var(--font-semibold)}.dialog-close{background:none;border:none;font-size:18px;color:var(--muted);cursor:pointer;padding:var(--space-1)}.dialog-body{padding:var(--space-4)}.dialog-tip{font-size:var(--text-sm);color:var(--muted);margin-bottom:var(--space-3);padding:var(--space-2);background:var(--bg2);border-radius:var(--radius-sm)}.dialog-input-group{display:flex;align-items:center;gap:var(--space-3)}.dialog-input-group label{font-size:var(--text-sm);color:var(--ink2);flex-shrink:0}.dialog-input-group input{flex:1;padding:var(--space-2) var(--space-3);border:2px solid var(--rule);border-radius:var(--radius);font-size:var(--text-base);text-align:center}.dialog-input-group input:focus{outline:none;border-color:var(--accent)}.dialog-footer{display:flex;gap:var(--space-2);padding:var(--space-4);border-top:1px solid var(--rule)}.dialog-btn{flex:1;padding:var(--space-3);border-radius:var(--radius);font-size:var(--text-base);font-weight:var(--font-medium);cursor:pointer;transition:all var(--duration-150) var(--ease)}.dialog-btn.cancel{background:var(--bg2);border:1px solid var(--rule);color:var(--ink)}.dialog-btn.confirm{background:var(--accent);border:none;color:#fff}.dialog-btn:active{transform:scale(.97)}.toast.show{animation:toastIn var(--duration-200) var(--ease)}@keyframes toastIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.sports-summary{display:flex;align-items:center;justify-content:center;gap:16px;background:var(--bg2);border-radius:var(--radius-lg);padding:16px 20px;margin-bottom:var(--space-4)}.sports-summary-item{display:flex;flex-direction:column;align-items:center;gap:4px}.sports-summary-val{font-size:20px;font-weight:800;color:var(--accent)}.sports-summary-label{font-size:11px;color:var(--muted)}.sports-summary-divider{width:1px;height:30px;background:var(--rule)}.sports-habits-list{display:flex;flex-direction:column;gap:8px;margin-bottom:var(--space-5)}.sports-habit-item{display:flex;align-items:center;gap:12px;background:var(--bg2);border-radius:var(--radius);padding:12px 14px;cursor:pointer;transition:all .2s ease;border:1px solid var(--rule)}.sports-habit-item:active{transform:scale(.98)}.sports-habit-item.done{opacity:.7}.sports-habit-icon{font-size:22px}.sports-habit-name{flex:1;font-size:13px;font-weight:600;color:var(--ink)}.sports-habit-check{font-size:11px;font-weight:700;padding:4px 12px;border-radius:12px;background:var(--accent-light);color:var(--accent);transition:all .2s}.sports-habit-item.done .sports-habit-check{background:var(--accent);color:#fff}@media (max-width:400px){.sports-quick-cards{grid-template-columns:1fr}.sports-meridian-list{grid-template-columns:1fr}.sports-nutrition-cards{grid-template-columns:1fr}}