:root{color-scheme:dark;--bg:#101c1b;--panel:#1b2927;--panel2:#233330;--ink:#f3f1e9;--muted:#a8b5ad;--accent:#c0dba9;--line:#33423c;--warn:#ecc5a5;font-family:'DM Sans',system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-size:15px}button,input,select{font:inherit}button{cursor:pointer;border:0;color:inherit;background:none;-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}button:disabled{opacity:.4;cursor:default}input,select{background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:12px;padding:14px;max-width:100%;width:100%}input[type=checkbox]{width:auto}a{color:var(--accent)}h1,h2,h3,p{margin:0}h1,h2,h3,.brand{font-family:Manrope,system-ui,sans-serif}h1{font-size:clamp(36px,6vw,56px);font-weight:500;letter-spacing:-2px;line-height:1.12}h2{font-size:23px;letter-spacing:-.7px;font-weight:600}h3{font-size:17px;font-weight:600;line-height:1.35}.muted{color:var(--muted);line-height:1.6}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:2px;font-weight:600;color:var(--muted)}.shell{max-width:1140px;margin:auto;padding:0 32px 116px}.top{display:flex;justify-content:space-between;align-items:center;padding:28px 0 35px}.brand{font-size:30px;font-weight:700;letter-spacing:-2px;display:flex;align-items:center;gap:12px}.brand img{width:34px;height:34px}.account{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--muted);border:1px solid var(--line);border-radius:30px;padding:8px 14px;min-height:44px}.circle{border:1px solid var(--line);border-radius:50%;width:44px;height:44px;display:inline-grid;place-items:center;font-size:20px}.intro{display:flex;justify-content:space-between;align-items:end;margin-bottom:28px;gap:22px}.intro p{max-width:290px;color:var(--muted);line-height:1.65}.hero{background:#bdd3aa;color:#13251e;border-radius:28px;overflow:hidden;display:grid;grid-template-columns:1fr 1fr;position:relative;min-height:330px}.hero-copy{padding:38px;z-index:1;display:flex;flex-direction:column;align-items:start;gap:18px}.hero .eyebrow,.hero .muted{color:#425443}.hero h2{font-size:36px;line-height:1.1;letter-spacing:-1.5px}.hero p{max-width:300px;line-height:1.6}.btn{background:var(--accent);color:#17271c;border-radius:99px;padding:14px 23px;min-height:48px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:12px}.btn.dark{background:#152820;color:#edf1e4}.btn.secondary{background:var(--panel2);color:var(--ink);border:1px solid var(--line)}.btn.wide{width:100%}.art{display:flex;justify-content:center;align-items:center;position:relative;overflow:hidden}.art svg{width:100%;height:100%;max-height:300px;overflow:visible}.hero .art:before{content:'';position:absolute;width:280px;height:280px;border:1px solid #8faa7d;border-radius:50%}.hero .art:after{content:'';position:absolute;width:360px;height:360px;border:1px solid #a5c091;border-radius:50%}.sectionhead{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:32px 0 18px}.linkbtn{color:var(--accent);font-size:13px;min-height:44px}.chips{display:flex;gap:9px;flex-wrap:wrap;margin:18px 0 24px}.chip{border:1px solid var(--line);border-radius:99px;padding:10px 15px;min-height:44px;font-size:13px;color:var(--muted)}.chip.active{background:var(--accent);color:#18291d;border-color:var(--accent)}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.card{background:var(--panel);border:1px solid #293b33;border-radius:22px;overflow:hidden;text-align:left;display:block;width:100%;transition:transform .2s}.card:hover{transform:translateY(-3px)}.cardart{height:160px;background:var(--color);position:relative}.cardart svg{height:155px}.cardbody{padding:19px}.cardbody p{font-size:13px;line-height:1.6;color:var(--muted);margin-top:7px}.metadata{display:flex;gap:12px;font-size:11px;color:var(--muted);margin-bottom:7px}.row{display:flex;align-items:center;gap:14px;border-bottom:1px solid var(--line);padding:14px 0}.row>div:nth-child(2){flex:1;min-width:0}.row p{color:var(--muted);font-size:13px;line-height:1.5;margin-top:4px}.smallart{width:72px;height:72px;border-radius:16px;flex-shrink:0;background:#abc4a3;color:#19271e}.smallart svg{width:100%;height:100%}.nav{position:fixed;bottom:0;left:0;right:0;background:#101c1bf2;backdrop-filter:blur(20px);border-top:1px solid var(--line);z-index:20;padding:9px 16px max(9px,env(safe-area-inset-bottom));display:flex;justify-content:center;gap:clamp(5px,4vw,70px)}.nav button{display:flex;flex-direction:column;align-items:center;gap:5px;min-width:64px;min-height:49px;color:var(--muted);font-size:10px}.nav button.active{color:var(--accent)}.nav svg{width:22px;height:22px}.notice{border:1px solid var(--line);border-radius:15px;padding:15px 17px;line-height:1.65;font-size:13px;color:var(--muted);margin:20px 0}.notice strong{color:var(--ink)}.back{display:flex;align-items:center;gap:10px;color:var(--muted);padding:10px 0;min-height:44px;margin-bottom:16px}.detailhero{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center}.detailhero .art{height:300px;border-radius:24px;background:var(--color)}.detailcopy h1{font-size:42px}.detailcopy p{margin:18px 0}.detailcopy .btn{margin-top:20px}.two{display:grid;grid-template-columns:1fr 1fr;gap:26px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:24px 0}.stat{border:1px solid var(--line);border-radius:18px;padding:24px 18px}.stat b{font-family:Manrope;font-size:36px;font-weight:500;display:block;margin-bottom:7px}.stat span{font-size:12px;color:var(--muted)}.week{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin:24px 0}.day{text-align:center;color:var(--muted);font-size:11px}.day div{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;margin:10px auto;background:var(--panel2);border:1px solid var(--line)}.day.done div{background:var(--accent);color:#16261b}.empty{padding:45px 20px;text-align:center;border:1px dashed var(--line);border-radius:22px;color:var(--muted);line-height:1.8}.empty h3{color:var(--ink);margin-bottom:10px}.empty .btn{margin-top:20px}dialog{color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:24px;padding:28px;max-width:520px;width:calc(100% - 32px);max-height:85dvh;overflow:auto}dialog::backdrop{background:#000a;backdrop-filter:blur(6px)}.dialoghead{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.form{display:flex;flex-direction:column;gap:16px}.form label{font-size:13px;line-height:1.5}.form input,.form select{margin-top:8px}.form .err{color:#ffc2ad;font-size:13px;line-height:1.5}.profilegrid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.profilebtn{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:22px 14px;display:flex;flex-direction:column;align-items:center;gap:12px}.avatar{width:52px;height:52px;background:var(--panel2);border-radius:50%;object-fit:cover;display:grid;place-items:center;font-size:23px}.editorgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.exercise-select{padding:12px;border:1px solid var(--line);border-radius:18px;text-align:left;position:relative}.exercise-select.chosen{border-color:var(--accent);background:var(--panel2)}.exercise-select .smallart{width:100%;height:100px;margin-bottom:10px}.exercise-select span{font-size:12px;line-height:1.4;display:block}.selectedcount{position:absolute;top:8px;right:8px;background:var(--accent);border-radius:50%;width:24px;height:24px;color:#18301d;text-align:center;font-weight:600;padding-top:3px}.tools{display:flex;gap:10px;align-items:center}.tools input{width:80px;text-align:center}.editor-footer{position:sticky;bottom:82px;background:var(--panel);padding:15px;border:1px solid var(--line);border-radius:16px;margin-top:20px;display:flex;justify-content:space-between;align-items:center}.player{max-width:700px;margin:auto;text-align:center;padding:20px 20px 40px}.playertop{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.player .art{height:240px;background:#c0d3ad;border-radius:30px;margin:20px 0}.player .art svg{max-height:230px}.player h1{font-size:30px;letter-spacing:-1px}.timer{font-family:Manrope;font-size:76px;font-weight:400;letter-spacing:-5px;line-height:1.3}.playcontrols{display:flex;justify-content:center;gap:18px;align-items:center;margin:10px 0 25px}.playcontrols .btn{min-width:130px}.progress{height:4px;background:var(--line);border-radius:3px;overflow:hidden;margin:18px 0}.progress>div{height:100%;background:var(--accent);transition:width .3s}.player p{line-height:1.65;color:var(--muted);font-size:14px}.nextup{border-top:1px solid var(--line);padding:20px 0;font-size:12px;color:var(--muted);margin-top:24px}.settingsrow{display:flex;justify-content:space-between;align-items:center;padding:18px 0;border-bottom:1px solid var(--line);gap:12px}.settingsrow p{font-size:12px;color:var(--muted);line-height:1.5;margin-top:5px}.settingsrow input{width:auto}.badge{border:1px solid var(--line);padding:5px 10px;border-radius:30px;color:var(--muted);font-size:11px}.search{margin:18px 0}.calendar-link{display:inline-flex;padding:12px 0;min-height:44px}.gate{max-width:900px;margin:3vh auto 0;display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:center;padding:30px 28px}.gate-art{height:400px;border-radius:180px 180px 30px 30px;background:#bfd5ad;overflow:hidden}.gate-art svg{height:100%}.gate h1{margin:20px 0}.gate p{margin:16px 0 28px;line-height:1.7;color:var(--muted)}.gate .brand{margin-bottom:30px}.greeting{font-size:13px;color:var(--muted);margin-bottom:13px}.info-section{padding:20px 0;border-bottom:1px solid var(--line)}.info-section p{line-height:1.75;color:var(--muted);font-size:14px;margin-top:10px}.list{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.list .badge{font-size:12px}#toast{position:fixed;bottom:94px;left:50%;transform:translateX(-50%);background:#e9eddf;color:#14241b;padding:13px 20px;border-radius:12px;z-index:100;max-width:90%;font-size:13px;display:none}.light{--bg:#f5f3ed;--panel:#fff;--panel2:#e7eade;--ink:#192b24;--muted:#66756a;--line:#d6ddcf}.light .nav{background:#f5f3edf5}button svg{pointer-events:none}.loading{text-align:center;padding:20px;color:var(--muted)}.error-banner{background:#452d26;border:1px solid #81523d;border-radius:14px;padding:15px;color:#ffd3b5;font-size:13px;line-height:1.6;margin:18px 0}
@media(max-width:700px){.shell{padding:0 19px 100px}.top{padding:19px 0 26px}.brand{font-size:27px}.account{max-width:150px;font-size:11px}.intro{display:block}.intro p{margin-top:14px;max-width:330px;font-size:14px}.hero{grid-template-columns:1fr 0.72fr;min-height:285px;border-radius:23px}.hero-copy{padding:26px 0 26px 24px;gap:15px}.hero h2{font-size:28px}.hero p{font-size:12px}.hero .art{margin-left:-18px}.hero .art svg{width:200px;max-width:none}.hero .art:before{width:200px;height:200px}.hero .art:after{width:260px;height:260px}.hero .btn{padding:12px 16px;font-size:12px}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.cardart{height:125px}.cardart svg{height:123px}.cardbody{padding:14px}.cardbody h3{font-size:15px}.cardbody p{font-size:11px}.metadata{font-size:10px;gap:6px}.sectionhead{margin-top:27px}h2{font-size:21px}.two{display:block}.detailhero{grid-template-columns:1fr;gap:24px}.detailhero .art{height:230px;grid-row:1}.detailcopy h1{font-size:34px}.detailcopy .btn{width:100%;margin-bottom:10px}.detailcopy p{margin:13px 0}.stats{gap:9px}.stat{padding:17px 11px}.stat b{font-size:28px}.stat span{font-size:10px}.day div{width:31px;height:31px}.week{gap:3px}.editorgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.tools{gap:2px}.tools input{width:64px;padding:10px}.tools .circle{width:33px;height:40px;border:0}.row{gap:10px}.row h3{font-size:14px}.smallart{width:55px;height:55px}.gate{display:block;padding:24px;max-width:420px;margin:0 auto}.gate-art{height:210px;border-radius:110px 110px 25px 25px;margin-bottom:28px}.gate .brand{margin-bottom:23px}.gate h1{font-size:40px}.player{padding:12px 18px 30px}.player .art{height:205px}.player h1{font-size:27px}.timer{font-size:67px}.notice{font-size:12px}.settingsrow{font-size:14px}.nav{gap:0;justify-content:space-around}.nav button{min-width:54px;font-size:9px}.editor-footer{bottom:76px}.gate p{font-size:14px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}} 

@media(max-width:380px){.nav button{min-width:44px;font-size:8px}.nav{padding-left:6px;padding-right:6px}.nav svg{width:20px;height:20px}}

input[type=radio]{width:auto;flex:0 0 auto}.form label:has(input[type=radio]){display:flex;align-items:center;gap:12px;min-height:44px}.form label:has(input[type=radio]) input{margin:0}

.timerhint{min-height:24px;color:var(--muted);font-size:14px;margin:-10px 0 2px}.timerhint.finishing{color:var(--accent);font-weight:700}.player #playerSound{margin:0 auto 10px;padding:8px 14px;min-height:44px}
