/* Blue/cyan branding with the compact v21 layout. */
:root{--ink:#071631;--muted:#72859b;--blue:#1688ff;--cyan:#22d7c3;--line:#eef4fa;--pale:#eef7ff;--good:#12a985;--shadow:0 8px 30px #3456750a}
html,body{background:#edf4fc}body{font-family:"PingFang SC","Microsoft YaHei",system-ui,sans-serif;background:#edf4fc;letter-spacing:.1px}
.phone-shell,body[data-screen="mine"] .phone-shell{background:#f8fbff;box-shadow:0 12px 64px #34567512}
#app{padding:10px 20px 102px}.screen>h1,.page-heading h1{font-size:27px;font-weight:650;line-height:1.3;letter-spacing:-.6px}.screen>p.lead{font-size:15px;line-height:1.65;color:var(--muted);margin:10px 0 24px}h2{font-size:21px;font-weight:650;letter-spacing:-.3px}h3{font-size:17px;font-weight:650}p{color:var(--muted);line-height:1.65}
.app-header{padding:22px 20px 10px;background:none}.brand{gap:9px}.brand img{width:40px;height:40px;border-radius:11px}.brand b{font-size:20px;letter-spacing:-.3px}.brand small{font-size:10px;letter-spacing:1px;color:#72859b}.header-pill{background:#fff;border:0;box-shadow:none;color:#72859b;font-size:12px;min-height:38px;padding:9px 13px}
.card{background:white;border:1px solid #eef4fa;border-radius:22px;box-shadow:none}.soft-card,.summary-strip,.nutrition-preview,.challenge{background:#edf8ff;border:0;box-shadow:none;border-radius:22px}
.primary{background:#1688ff;color:white;border:1px solid #1688ff;box-shadow:none!important;border-radius:16px;font-size:16px;font-weight:600;min-height:52px;line-height:1.45;padding:13px 18px}.primary:hover{background:#087aeb}.primary:disabled{opacity:.45}.secondary{background:#fff;color:#1688db;border:1px solid #eef4fa;box-shadow:none;border-radius:16px;font-size:15px;font-weight:600;min-height:48px;line-height:1.4}.link,.text-button,.section-head>button{color:#1688db;font-size:14px}.text-button{font-weight:500;line-height:1.5;min-height:44px}.section-head{gap:8px;align-items:center}.section-head>button{white-space:nowrap}.eyebrow{color:#72859b;font-size:12px;letter-spacing:.7px;font-weight:500}
.home-intro{padding:24px 0 22px}.home-intro h1{font-size:28px;letter-spacing:-.8px;line-height:1.4;margin:8px 0}.home-intro p{margin:0;font-size:14px}.daily-training{padding:22px 20px 6px}.daily-training .section-head{margin:0}.daily-training h2{font-size:21px}.daily-meta{display:flex;gap:13px;margin:12px 0 21px;font-size:12px;color:#72859b}.daily-meta span+span::before{content:'·';padding-right:13px;color:#72859b}
body[data-screen="home"] [data-action="startWorkout"]{font-size:19px;font-weight:600;min-height:56px;margin:0 0 12px;display:flex;align-items:center;justify-content:center;gap:25px;letter-spacing:.5px}.home-agenda .agenda-item{display:flex;align-items:center;gap:14px;width:100%;padding:15px 0;margin:0;min-height:76px;background:none;border:0;border-bottom:1px solid #eef4fa;text-align:left;border-radius:0}.home-agenda .agenda-item:last-child{border-bottom:0}.agenda-item>div{flex:1}.agenda-item b{font-size:16px;font-weight:600}.agenda-item small{display:block;font-size:13px;color:#72859b;margin-top:6px}.agenda-item em{font-style:normal;font-size:21px;color:#72859b}.entry-number{display:grid;place-items:center;flex:none;width:30px;height:30px;border-radius:10px;background:#eef7ff;color:#72859b;font-size:12px;font-weight:550}
.home-section{margin:28px 0 14px}.home-week{padding:14px 8px}.week-strip{gap:3px;margin:0}.week-strip .day{padding:12px 2px;min-height:86px;border-radius:15px;background:none;gap:10px;border:1px solid transparent}.week-strip .day b{font-size:13px;font-weight:550}.week-strip .day span{font-size:10px;color:#72859b}.week-strip .day.active{background:#edf8ff;border:1px solid #cde9fa}.week-strip .day.active b{color:#1688db}.week-dot{display:block!important;width:5px;height:5px;border-radius:50%;background:#eef4fa;margin:0 auto!important;min-height:5px;font-size:0!important}.week-dot.planned{background:#22b7ce}.nutrition-preview{margin-top:24px;width:100%;padding:22px 18px;background:#f6f9fc;text-align:left}.nutrition-preview b{font-size:17px}.nutrition-preview small{font-size:12px;color:#72859b}.nutrition-preview>span{font-size:28px}.nutrition-preview em{color:#72859b}
.home-week .week-strip{grid-template-columns:repeat(7,minmax(0,1fr));overflow:visible}.week-strip .day .week-dot{width:5px;height:5px;margin:12px auto!important;background:#eef4fa}.week-strip .day .week-dot.planned{background:#22b7ce}.home-agenda .agenda-item>.entry-number{background:#eef7ff;color:#72859b;width:30px;height:30px;font-size:12px;font-weight:550}
.bottom-nav{height:78px;background:#fffffff2;border-top:1px solid #eef4fa;box-shadow:none;padding:10px 12px calc(8px + env(safe-area-inset-bottom))}.bottom-nav button{gap:6px;color:#72859b}.bottom-nav button.on{color:#1688ff}.bottom-nav button b{font-size:12px;font-weight:500}.bottom-nav svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.bottom-nav button>span{height:23px;line-height:23px}
.page-heading{gap:4px;margin:16px 0 12px}.page-back{color:#345675}.page-back svg{width:21px;height:21px;stroke-width:1.8}.page-back:hover{background:#eef4fa}.page-back:focus-visible,button:focus-visible{outline:2px solid #1688ff;outline-offset:3px}
.tabbar,.community-tabs{background:#eef4fa;padding:4px;border-radius:15px;gap:4px}.tabbar button{background:none;font-size:15px;font-weight:500;border-radius:11px;flex:1;padding:12px 10px}.tabbar button.on,.community-tabs button.on{background:#fff;box-shadow:0 2px 5px #34567508;color:#173652}.community-tabs button{color:#72859b;font-size:14px;font-weight:500}.community-tabs{margin-top:24px!important;margin-bottom:26px!important}.community-tabs~.page-heading h1{font-size:25px}
.catalog-grid{gap:12px;margin-top:20px}.catalog-action{padding:0 0 17px;overflow:hidden;text-align:left}.catalog-picture{border-radius:0;height:118px;overflow:hidden}.catalog-action> b{display:block;font-size:16px;margin:15px 13px 6px;font-weight:600}.catalog-action>small{display:block;margin:0 13px;font-size:12px;color:#72859b}.catalog-picture img{width:100%;height:100%;object-fit:cover}.catalog-picture>span{background:#ffffffe6;color:#345675;font-size:13px;width:29px;height:29px}.library-player{padding:10px;overflow:hidden;margin-top:22px}.library-player video{width:100%;border-radius:14px;display:block}.library-actions{display:grid;gap:12px;margin:24px 0}.library-import{font-size:14px}.library-import summary{font-size:15px}.demo-credit{font-size:10px;line-height:1.5;color:#72859b}.demo-credit a{color:inherit}
.option,.chip{background:#fff;border-color:#eef4fa;color:#72859b;box-shadow:none}.option.on{background:#edf8ff;border-color:#1688ff;color:#345675}.chip.on{background:#1688ff;color:#fff}.option small{font-size:12px;color:#72859b}.angle,.metric,.field,.summary-tags span{background:#f6f9fc;color:#72859b}.project-card{border-radius:22px;box-shadow:none}.project-card.selected{border-color:#1688ff}.selected-mark{background:#1688ff;box-shadow:none}.project-card>span{font-size:13px}.form-section{padding:20px}.form-section p{font-size:15px}.session{background:#fff;border-color:#eef4fa}.session .ico{background:#eef4fa;color:#72859b}.session small{font-size:13px}.session-list .session b{font-size:16px}
.editor-list{display:grid;gap:14px}.editor-entry{padding:18px}.editor-entry-head{display:flex;gap:10px;align-items:center}.editor-entry-head>div{flex:1;min-width:0}.editor-entry-head h3{margin:0 0 4px;font-size:17px}.editor-entry-head small{font-size:11px;color:#72859b}.icon-button{background:#f6f9fc;border:0;border-radius:50%;width:36px;height:36px;font-size:21px;color:#72859b}.prescription-inputs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:20px 0 4px}.prescription-inputs label{font-size:12px;color:#72859b}.prescription-inputs input{width:100%;margin-top:9px;border:1px solid #eef4fa;background:#f6f9fc;border-radius:12px;min-height:48px;padding:10px 8px;color:#345675;font-size:18px;font-weight:550;appearance:textfield}.prescription-inputs input:focus{outline:2px solid #1688ff;border-color:transparent}.editor-order{display:flex;justify-content:flex-end;gap:10px;margin-top:14px}.editor-order button{background:none;border:0;min-height:36px;color:#72859b;font-size:12px;padding:6px 12px}.editor-order button:disabled{color:#cddce9}.add-plan-action{margin:20px 0}.plan-scope{padding:20px}.plan-scope h3{margin:0 0 16px}.plan-scope label{display:flex;gap:10px;align-items:center;min-height:42px;font-size:14px;color:#345675}.plan-scope input{accent-color:#1688ff;width:18px;height:18px}.plan-scope small{display:block;font-size:12px;color:#72859b;line-height:1.6;margin-top:12px}.editor-footer{margin:24px 0 8px}
.picker-list{display:grid;gap:10px}.picker-action{display:flex;gap:15px;width:100%;padding:12px;text-align:left;align-items:center}.picker-action img{width:76px;height:64px;border-radius:12px;object-fit:cover}.picker-action>div{flex:1}.picker-action b{display:block;font-size:15px;font-weight:600}.picker-action small{display:block;font-size:11px;color:#72859b;margin-top:7px}.picker-action>span{font-size:22px;color:#72859b;padding-right:8px}.practice-preview{padding:12px;margin:22px 0 16px}.practice-preview video{width:100%;height:210px;object-fit:contain;border-radius:15px;background:#f6f9fc}.practice-preview p{font-size:14px;margin:16px 6px 5px}.practice-settings{padding:20px;margin-bottom:22px}.practice-settings h3{margin:0}.mode-note{font-size:13px;margin:18px 0 0;color:#72859b}.continue-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.post-card{padding:20px}.post-top small,.post-actions{color:#72859b}.post-top .avatar{background:#eef4fa;color:#345675}.post-card>p{font-size:15px;line-height:1.8;color:#345675}.post-actions{font-size:13px}.circle-category{min-height:190px;padding:18px 15px;gap:12px}.circle-category b{font-size:17px}.circle-category p{font-size:13px;color:#72859b}.circle-enter{font-size:12px;color:#72859b}.circle-parents .chip{font-size:14px}.challenge,.community-quick button{background:#eef9ff;color:#345675}.report-hero{background:#eef9ff;padding:25px}.report-box,.rep-result,.issue{border-radius:18px}.report-box{padding:18px}.report-box b{font-size:22px}.report-box small{font-size:13px}.report-box .small-value{font-size:15px}.exercise-reports .form-section{margin-top:12px}.exercise-angle{font-size:13px}.score-ring{background:conic-gradient(var(--quality-color,var(--blue)) calc(var(--score)*1%),#eef4fa 0)}.scoring-rules p{font-size:14px}.report-actions{gap:16px}
.mine-profile{padding:32px 0 35px}.mine-profile .mine-avatar{background:#e6f5ff;border:5px solid #fff}.mine-profile h1{font-size:24px}.mine-profile p{font-size:13px}.mine-check{background:#fff;color:#72859b}.mine-summary{padding:22px 17px;min-height:156px}.mine-summary>span{font-size:16px}.mine-record-stats b{font-size:25px}.mine-menu{padding:7px 18px}.mine-menu button{min-height:67px}.mine-menu b{font-size:16px;font-weight:500}.mine-menu button+button{border-color:#f6f9fc}
.training-focus:not(.camera-live) .camera-wrap,.training-focus:not(.camera-live) .session-bottom{background:#f8fbff}.training-focus:not(.camera-live) .session-top{color:#345675}.training-focus:not(.camera-live) .session-icon{background:#eef4fa;color:#345675;border:0}.training-focus:not(.camera-live) #setProgress{color:#72859b}.training-focus:not(.camera-live) .session-skip{color:#72859b}.prepare-content>video{background:#eef4fa}.prepare-cue{color:#72859b!important;font-size:15px!important}.capture-choice{color:#72859b;font-size:14px!important}.capture-choice input{accent-color:#1688ff}.session-top h2{font-weight:600}.session-top .session-icon{border-width:0}.session-controls .primary{background:#1688ff;color:#fff}.camera-help{color:#cddce9}
.follow-focus #app{padding:calc(14px + env(safe-area-inset-top)) 20px calc(14px + env(safe-area-inset-bottom))}.follow-title h1{font-size:25px}.follow-focus .page-heading{margin:0}.follow-focus .primary{min-height:50px}.guided-caption{margin:0;font-size:14px;color:#72859b}.guided-note{font-size:12px;margin:0;color:#72859b;text-align:center}.guided-rest{text-align:center;padding:7px}.guided-rest b{display:block;font-size:27px;color:#345675}.guided-rest span{display:block;font-size:12px;color:#72859b;margin-top:4px}
.date-picker{border-color:#eef4fa}.date-picker>span{color:#72859b}.date-picker>b{color:#345675;font-size:19px}.date-picker i{color:#72859b}.date-picker:focus-within{outline-color:#72859b}.highlight-tile .button-row{gap:10px}.highlight-tile-body .secondary{border-color:#eef4fa;color:#72859b;background:#f6f9fc}.highlight-tile-body small{color:#72859b}.partner-preferences input,.partner-preferences select{background:#f6f9fc;border-color:#eef4fa;color:#345675}.modal{box-shadow:0 24px 100px #34567526}.modal::backdrop{background:#34567544;backdrop-filter:blur(5px)}.modal-close{background:#eef4fa;color:#72859b}.toast{background:#345675;color:white}
@media(max-width:360px){#app{padding-left:16px;padding-right:16px}.daily-training{padding:18px 16px 5px}.daily-meta{gap:8px;font-size:11px}.daily-meta span+span::before{padding-right:8px}.community-tabs button{font-size:13px}.prescription-inputs{gap:8px}}
@media(min-width:700px){.phone-shell{border-radius:30px}.bottom-nav{border-radius:0 0 30px 30px}.training-focus .phone-shell,.follow-focus .phone-shell{border-radius:0}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.exercise-angle span{color:#72859b}.exercise-reports details summary{font-size:16px}.exercise-reports details p{font-size:14px}.daily-meta{color:#72859b}.agenda-item>div{gap:0}.home-agenda .agenda-item small{margin-top:6px}

.mine-avatar svg{width:33px;height:33px;fill:none;stroke:#72859b;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}

.primary,.session-controls .primary{background:linear-gradient(100deg,#1688ff,#22d7c3);border:0}.primary:hover{background:linear-gradient(100deg,#087aeb,#17bfaf)}
.training-focus .countdown-overlay:has(.rest-effort){padding:82px 20px 112px;gap:8px;justify-content:center}
.training-focus .countdown-overlay:has(.rest-effort)>b{font-size:44px;text-shadow:none}
.training-focus .countdown-overlay:has(.rest-effort)>span{margin:0;font-size:14px}
.training-focus .countdown-overlay:has(.rest-effort) .camera-help{min-height:30px;font-size:13px;padding:5px;margin:0}
.rest-compact{padding:12px;text-align:left}.rest-compact>small{font-size:12px;color:#b7cce0}.rest-compact .coach-pair{display:flex;justify-content:center;align-items:center;gap:14px;margin:8px 0 0;padding:9px;line-height:1.3}.rest-compact .coach-pair b{font-size:17px}.coach-pair>span{font-size:16px;margin:0;font-weight:400}
.rest-effort{width:100%;max-width:350px;text-align:left}.effort-label{display:flex;justify-content:space-between;align-items:center;font-size:13px;margin:2px 0 6px;color:#e7f1fa}.effort-label small{color:#a3b8cb;font-size:11px}.effort-options{display:flex;gap:8px}.training-focus .effort-options button{flex:1;border:1px solid #ffffff35;background:#ffffff0d;color:#e9f2fc;border-radius:10px;font-size:14px;min-height:38px;margin:0;padding:6px}.training-focus .effort-options button.on{background:#e6f7ff;color:#12679e;border-color:#42c9df}.rest-effort>small{display:block;color:#a8e6f2;font-size:12px;min-height:0;margin-top:4px}.rest-effort>small:empty{display:none}.rest-effort details{color:#b7cce0;font-size:12px;margin:5px 0 0}.rest-effort details summary{min-height:22px}.rest-effort textarea{width:100%;background:#fffffff2;color:#173652;border:0;border-radius:10px;font-size:14px;padding:9px;margin-top:7px;max-height:60px;resize:none}.rest-effort:has(details[open]){max-height:160px;overflow:auto;flex-shrink:1;overscroll-behavior:contain}
.coach-report h3{margin-bottom:10px}.coach-report p{font-size:15px;margin:8px 0}.coach-report>small{display:block;font-size:12px;margin-top:14px}.coach-report details{margin-top:14px;font-size:14px}.coach-report-row{padding:12px 0;border-bottom:1px solid #dce8f6}.coach-report-row small{display:block;font-size:12px;line-height:1.7;color:#637391}
@media(max-height:700px){.training-focus .countdown-overlay:has(.rest-effort){padding:76px 16px 120px;gap:5px}.training-focus .countdown-overlay:has(.rest-effort)>b{font-size:35px}.rest-compact{padding:9px}.rest-compact .coach-pair{padding:7px;margin-top:5px}.training-focus .countdown-overlay:has(.rest-effort) .primary{min-height:44px;font-size:15px;padding:9px}.rest-effort:has(details[open]){max-height:130px}}
