:root{color:#edf2eb;font-synthesis:none;--bg:#101b19;--panel:#1c2a26;--panel2:#25362f;--text:#edf2eb;--muted:#a9b8ae;--line:#35463d;--lime:#d8fc72;--dark:#102018;--orange:#e5a96f;background:#101b19;font-family:system-ui,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);min-width:320px;margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--lime);outline-offset:2px}input,select{color:var(--text);background:var(--panel2);border:1px solid var(--line);border-radius:12px;width:100%;min-height:44px;padding:9px 12px}input::placeholder{color:#7f9589}select{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}label{color:var(--muted);gap:8px;font-size:14px;font-weight:600;display:grid}.check{color:var(--text);align-items:center;gap:10px;display:flex}.check input{width:18px;min-height:auto;accent-color:var(--lime)}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.055em}h1 span{color:var(--lime)}h2{letter-spacing:-.035em}.eyebrow{letter-spacing:.2em;color:var(--lime);text-transform:uppercase;font-size:11px;font-weight:800}.primary,.secondary,.danger{border:1px solid #0000;border-radius:13px;min-height:46px;padding:10px 18px;font-weight:800}.primary{background:var(--lime);color:var(--dark)}.primary:hover{background:#e5ff9f}.secondary{color:var(--text);border-color:var(--line);background:0 0}.secondary:hover{background:var(--panel2)}.danger{color:#ffe1dd;background:#54302d}.text-button,.mini{color:var(--lime);background:0 0;border:0;min-height:44px;padding:8px;font-weight:700}.app-shell{min-height:100vh;display:flex}.desktop-nav{border-right:1px solid var(--line);background:#14221e;flex-direction:column;flex:none;width:238px;height:100vh;padding:30px 22px;display:flex;position:sticky;top:0}.brand,.mobile-brand,.auth-brand{letter-spacing:-.08em;color:var(--lime);font-size:30px;font-weight:800}.brand span,.mobile-brand span,.auth-brand span{letter-spacing:.14em;color:var(--muted);vertical-align:middle;margin-left:7px;font-size:11px}.nav-caption{color:var(--muted);margin:4px 0 42px;font-size:12px}.desktop-nav nav{gap:9px;display:grid}.desktop-nav nav button{color:var(--muted);text-align:left;background:0 0;border:0;border-radius:13px;align-items:center;gap:14px;height:50px;padding:0 14px;font-weight:700;display:flex}.desktop-nav nav button span{text-align:center;width:25px;font-size:21px}.desktop-nav nav button.active{background:var(--lime);color:var(--dark)}.nav-foot{color:var(--muted);margin-top:auto;font-size:12px;line-height:2}.main-col{flex:1;min-width:0}.topbar{border-bottom:1px solid var(--line);justify-content:flex-end;align-items:center;height:72px;padding:0 32px;display:flex}.mobile-brand{display:none}.topbar-right{color:var(--muted);align-items:center;gap:8px;font-size:13px;display:flex}.sync-dot{background:var(--lime);border-radius:50%;width:8px;height:8px}.sync-dot.offline{background:var(--orange)}.top-refresh{color:var(--muted);background:0 0;border:0;width:44px;height:44px;font-size:24px}.content{max-width:1100px;margin:auto;padding:34px 42px 100px}.notice{color:#fff4d7;background:#514329;border-radius:12px;justify-content:space-between;align-items:center;max-width:1100px;margin:18px auto 0;padding:12px 18px;display:flex}.notice button{color:inherit;background:0 0;border:0;font-size:21px}.hero{background:linear-gradient(125deg,#244336 0%,#1b3028 52%,#192923 100%);border:1px solid #42614c;border-radius:28px;padding:31px 36px 32px;position:relative;overflow:hidden}.hero:after{content:"";pointer-events:none;border:1px solid #77995633;border-radius:50%;width:380px;height:380px;position:absolute;top:-140px;right:-100px;box-shadow:0 0 0 54px #7799560b,0 0 0 108px #77995608}.hero-meta{gap:8px;display:flex}.pill{color:#dff6d8;background:#e4f3da1c;border:1px solid #d2eebd55;border-radius:30px;align-items:center;padding:7px 12px;font-size:12px;font-weight:700;display:inline-flex}.pill.outline{color:#b8d0bd;background:0 0}.hero-main{justify-content:space-between;align-items:center;gap:24px;margin:42px 0 45px;display:flex}.hero h1{margin:12px 0;font-size:clamp(35px,5vw,64px);line-height:1.1}.hero p{color:#c3d6c7;margin:0;font-size:15px}.time-badge{text-align:center;width:106px;height:106px;color:var(--lime);background:#1a3024;border:1px solid #aacb87a8;border-radius:50%;flex:none;align-content:center;display:grid}.time-badge strong{font-size:40px;font-weight:800;line-height:1}.time-badge span{color:#c0d4b9;margin-top:3px;font-size:12px}.hero-bottom{z-index:1;align-items:center;gap:20px;display:flex;position:relative}.progress-text{white-space:nowrap;color:#c3d6c7;font-size:13px}.progress-text strong{color:var(--lime);font-size:25px}.progress-text strong span{color:#adc6b1;font-size:15px}.progress{background:#0d2017;border-radius:5px;flex:1;height:8px;overflow:hidden}.progress span{background:var(--lime);border-radius:5px;height:100%;transition:width .25s;display:block}.hero-action{min-width:150px}.done-tag{color:var(--lime);font-weight:800}.section-grid{grid-template-columns:1fr 1fr;gap:16px;margin:28px 0 48px;display:grid}.section-heading{justify-content:space-between;align-items:end;gap:12px;margin-bottom:15px;display:flex}.section-heading h2{margin:5px 0 0;font-size:24px}.status-card,.reason-card,.checkin-card{border:1px solid var(--line);background:var(--panel);border-radius:18px;min-height:115px;padding:20px}.status-card{color:var(--muted);align-items:center;display:flex}.reason-card h3{margin:8px 0;font-size:19px}.reason-card p{color:var(--muted);margin-bottom:5px;font-size:13px;line-height:1.6}.checkin-card{grid-template-columns:1fr 1fr;gap:14px;display:grid}.checkin-card>.check,.checkin-card>button{grid-column:1/-1}.exercise-section{scroll-margin-top:20px}.timer{font-variant-numeric:tabular-nums;color:var(--lime);font-size:18px;font-weight:800}.exercise-list{gap:14px;display:grid}.exercise-card{background:var(--panel);border:1px solid var(--line);border-radius:20px;gap:20px;padding:24px;display:flex}.exercise-number{color:#779183;min-width:35px;font-size:17px;font-weight:800}.exercise-body{flex:1;min-width:0}.exercise-top{justify-content:space-between;gap:14px;display:flex}.block-label{letter-spacing:.1em;color:var(--lime);font-size:11px;font-weight:800}.exercise-top h3{margin:5px 0 0;font-size:23px}.target{color:var(--lime);white-space:nowrap;font-size:14px;font-weight:800}.exercise-instruction{color:#c1cec3;margin:15px 0;font-size:13px;line-height:1.7}.exercise-detail{flex-wrap:wrap;gap:8px;display:flex}.exercise-detail span{color:#cbd8c8;border:1px solid var(--line);border-radius:30px;padding:5px 9px;font-size:11px}.stop-signal{color:#d8bba1;margin:13px 0 18px;font-size:12px}.set-grid{gap:8px;display:grid}.set-row{border-top:1px solid var(--line);align-items:center;gap:10px;padding-top:8px;font-size:13px;display:flex}.set-row>span:first-child{min-width:55px;font-weight:800}.set-row>span:nth-child(2){color:var(--muted);flex:1}.set-done>span:first-child:before{content:"✓ ";color:var(--lime)}.complete-btn{background:var(--lime);color:var(--dark);border:0;border-radius:10px;min-height:44px;padding:8px 13px;font-size:12px;font-weight:800}.finish-card,.next-card{border-radius:20px;justify-content:space-between;align-items:center;gap:22px;margin-top:24px;padding:28px;display:flex}.finish-card{background:#26382e;border:1px solid #486345}.finish-card h2,.next-card h2{margin:8px 0;font-size:24px}.finish-card p,.next-card p{color:var(--muted);margin:0;font-size:13px;line-height:1.6}.finish-actions{flex-wrap:wrap;justify-content:end;gap:8px;display:flex}.finish-actions select{width:150px}.next-card{background:var(--panel);border:1px solid var(--line)}.next-list{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.next-list span{color:var(--text);border:1px solid var(--line);border-radius:20px;padding:4px 9px;font-size:11px}.page-head{margin:22px 0 34px}.page-head h1{margin:10px 0;font-size:clamp(36px,5vw,57px)}.page-head p{color:var(--muted)}.panel{border:1px solid var(--line);background:var(--panel);border-radius:22px;margin:16px 0;padding:25px}.panel h2{margin-bottom:15px;font-size:24px}.panel h3{margin-top:28px}.subtle{color:var(--muted);font-size:13px}.day-list{gap:3px;display:grid}.day-row{border-top:1px solid var(--line);justify-content:space-between;gap:15px;padding:17px 0;display:flex}.day-row>div{gap:5px;display:grid}.day-row>div:last-child{text-align:right}.day-row small,.day-row span{color:var(--muted);font-size:12px}.schedule-form{grid-template-columns:1.2fr 1.3fr .6fr auto;align-items:end;gap:10px;display:grid}.slot-list{margin-top:22px}.slot-list>div{border-top:1px solid var(--line);justify-content:space-between;align-items:center;padding:9px 0;display:flex}.safety p,.panel>p{color:var(--muted);line-height:1.7}.history-tools{gap:10px;margin-bottom:16px;display:flex}.history-list{gap:13px;display:grid}.history-card{border:1px solid var(--line);background:var(--panel);border-radius:20px;padding:23px}.history-head{justify-content:space-between;align-items:start;display:flex}.history-head h2{margin:6px 0;font-size:22px}.history-status{color:var(--lime);border:1px solid #6f9069;border-radius:20px;padding:5px 9px;font-size:12px}.history-card>p{color:var(--muted);font-size:12px;line-height:1.6}.actual-row{border-top:1px solid var(--line);align-items:center;gap:10px;padding:6px 0;font-size:12px;display:flex}.actual-row span:nth-child(2){color:var(--muted);margin-left:auto}.empty{text-align:center;border:1px dashed var(--line);color:var(--muted);border-radius:18px;padding:45px}.stats-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.stat{background:var(--lime);color:var(--dark);border-radius:20px;padding:27px;display:grid}.stat strong{font-size:58px;font-weight:800;line-height:1}.stat span{margin-top:10px;font-size:13px;font-weight:700}.energy-list{gap:12px;display:grid}.energy-list>div{align-items:center;gap:12px;font-size:12px;display:flex}.energy-list>div>div{background:var(--panel2);border-radius:5px;flex:1;height:10px;overflow:hidden}.energy-list>div>div>span{background:var(--lime);height:100%;display:block}.energy-list b{text-align:right;width:32px}.field-grid{grid-template-columns:1fr 1fr;gap:15px;display:grid}.equipment-list{grid-template-columns:repeat(3,1fr);gap:12px;margin:16px 0 26px;display:grid}.settings-actions{flex-wrap:wrap;gap:9px;display:flex}.safety-note{color:var(--muted);margin:25px;font-size:12px;line-height:1.7}.feedback{z-index:50;color:#102018;background:#e3fa9b;border-radius:21px;width:min(410px,100vw - 28px);padding:22px;position:fixed;bottom:25px;right:25px;box-shadow:0 20px 60px #0008}.feedback .eyebrow{color:#426b32}.feedback p{margin:12px 0;font-size:15px;font-weight:700;line-height:1.7}.feedback-close{color:#102018;background:0 0;border:0;width:44px;height:44px;font-size:21px;position:absolute;top:8px;right:10px}.feedback-actions{gap:8px;display:flex}.feedback-actions button{color:#102018;background:0 0;border:1px solid #9ab577;border-radius:10px;min-height:44px;padding:8px 13px;font-weight:800}.modal-backdrop{z-index:80;background:#000a;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:var(--panel);border:1px solid var(--line);border-radius:22px;width:min(510px,100%);max-height:90vh;padding:28px;overflow:auto}.modal h2{margin:8px 0}.modal p{color:var(--muted);font-size:13px}.modal .check{margin:20px 0}.modal-actions{justify-content:flex-end;gap:10px;display:flex}.auth-shell{background:radial-gradient(circle at 80% 12%,#2e4935,#0000 35%),#101b19;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:25px;display:flex}.auth-brand{align-self:flex-start;position:absolute;top:28px;left:35px}.auth-card{background:var(--panel);border:1px solid var(--line);border-radius:25px;width:min(490px,100%);padding:35px}.auth-card h1{margin:12px 0;font-size:49px;line-height:1.15}.auth-card em{color:var(--lime);font-style:normal}.auth-card p{color:var(--muted);line-height:1.7}.auth-card form{gap:17px;margin-top:25px;display:grid}.auth-card .primary{width:100%;margin-top:5px}.auth-card .text-button{margin-top:17px}.auth-card .error{color:#ffb0a5}.auth-foot{color:var(--muted);margin-top:20px;font-size:12px}.boot{height:100vh;color:var(--lime);place-content:center;font-size:40px;font-weight:800;display:grid}.boot span{color:var(--muted);font-size:14px}.mobile-nav{display:none}[data-theme=light]{--bg:#f5f6ef;--panel:#fff;--panel2:#edf2e7;--text:#17271c;--muted:#5d7162;--line:#d5dfd1;--lime:#9bc333;--dark:#17271c;--orange:#a96b3e;color:var(--text);background:var(--bg)}[data-theme=light] body{background:var(--bg)}[data-theme=light] .desktop-nav{background:#eef4e9}[data-theme=light] .hero{color:#edf2eb}[data-theme=light] .hero .eyebrow,[data-theme=light] .hero .progress-text strong{color:#d8fc72}[data-theme=light] .hero-action,[data-theme=light] .complete-btn,[data-theme=light] .stat{background:#bce35b}[data-theme=light] select{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (width<=900px){.desktop-nav{width:190px}.content{padding:28px 22px 100px}.schedule-form{grid-template-columns:1fr 1fr}.schedule-form button{grid-column:1/-1}.section-grid{grid-template-columns:1fr}}@media (width<=700px){.desktop-nav{display:none}.mobile-brand{font-size:23px;display:block}.topbar{justify-content:space-between;height:61px;padding:0 16px}.content{padding:18px 14px 108px}.mobile-nav{height:calc(65px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);z-index:40;background:#14221ef5;border-top:1px solid #456044;grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.mobile-nav button{color:#adc1ad;background:0 0;border:0;place-content:center;gap:2px;min-height:54px;font-size:11px;display:grid}.mobile-nav button span{font-size:21px}.mobile-nav button.active{color:#d8fc72;font-weight:800}.hero{border-radius:21px;padding:21px}.hero-main{margin:31px 0}.hero h1{font-size:39px}.hero p{font-size:13px}.time-badge{width:74px;height:74px}.time-badge strong{font-size:28px}.time-badge span{font-size:9px}.hero-bottom{flex-wrap:wrap;gap:12px}.hero-bottom .progress{min-width:40%}.hero-action{width:100%}.section-grid{margin:20px 0 35px}.section-heading h2{font-size:22px}.exercise-card{gap:10px;padding:18px}.exercise-number{min-width:28px;font-size:13px}.exercise-top{display:block}.exercise-top h3{font-size:21px}.target{margin-top:8px;display:inline-block}.set-row{flex-wrap:wrap}.set-row>span:nth-child(2){text-align:right}.complete-btn,.set-row .mini{width:100%;margin-top:3px}.finish-card,.next-card{padding:22px;display:block}.finish-actions{justify-content:stretch;margin-top:16px}.finish-actions>*{flex:1}.finish-actions select{flex-basis:100%}.next-card>.text-button{margin-top:12px}.page-head{margin:16px 0 24px}.page-head h1{font-size:40px}.panel{padding:20px}.section-heading{align-items:start}.section-heading .subtle{text-align:right;max-width:140px}.history-tools{flex-wrap:wrap}.history-tools input,.history-tools button{flex:1}.actual-row{flex-wrap:wrap}.actual-row span:nth-child(2){margin-left:0}.actual-row button{margin-left:auto}.equipment-list{grid-template-columns:1fr 1fr}.settings-actions>*{width:100%}.feedback{bottom:calc(73px + env(safe-area-inset-bottom));right:14px}.checkin-card{grid-template-columns:1fr 1fr}.auth-brand{align-self:center;margin-bottom:24px;position:static}.auth-card{padding:25px}.auth-card h1{font-size:39px}}@media (width<=390px){.hero h1{font-size:34px}.pill{font-size:10px}.hero p{max-width:210px}.time-badge{width:69px;height:69px}.exercise-card{gap:5px;padding:14px}.checkin-card{grid-template-columns:1fr}.checkin-card>*{grid-column:1/-1}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.conflict-panel{border-color:#a97549}.conflict-row{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;padding:12px 0;display:flex}.conflict-row span{flex:1;min-width:180px;font-size:13px}.conflict-row button{font-size:12px}.skill-list{gap:14px;margin:16px 0;display:grid}.skill-list .check{font-size:13px}.next-card .next-reason{color:var(--lime);margin-top:12px;font-size:12px}.dose-settings{border-top:1px solid var(--line);margin:24px 0;padding-top:20px}.dose-settings summary{cursor:pointer;color:var(--lime);min-height:44px;font-weight:800}.dose-settings>label{margin:14px 0}.dose-settings .field-grid{margin:16px 0}
