:root{--ink:#101b17;--paper:#f3f6f1;--green:#153d2b;--lime:#cbf36c;--line:#e3eae1;--shadow:0 12px 36px #1737240c;--shadow-hover:0 24px 52px #17372420}
body{background:radial-gradient(ellipse at 78% -5%,#e4efd8 0,transparent 34%),var(--paper);letter-spacing:-.1px}
.sidebar{background:#ffffffed;backdrop-filter:blur(18px);box-shadow:8px 0 35px #18352208}
.logo{box-shadow:0 6px 18px #a6ca6540;transform:rotate(-4deg)}
.nav button{transition:background .2s,color .2s,transform .2s}
.nav button:hover{transform:translateX(3px)}
.nav button.active{box-shadow:inset 3px 0 var(--lime)}
.hero{border-radius:26px;background:linear-gradient(118deg,#153d2b,#20563b 58%,#34704b);box-shadow:0 22px 50px #153d2b24;isolation:isolate}
.hero:before{content:"";position:absolute;width:360px;height:360px;border-radius:50%;right:2%;bottom:-78%;background:radial-gradient(circle,#cbf36c28,transparent 68%);animation:heroGlow 8s ease-in-out infinite alternate;z-index:-1}
.hero:after{animation:orbit 30s linear infinite}
.card,.stat,.today,.checkinbox,.toc,.doc,.excard{box-shadow:var(--shadow);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.program:hover,.stat:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover)}
.program{border-radius:20px}
.programtop{height:132px;position:relative;overflow:hidden}
.programtop:after{content:"";position:absolute;width:160px;height:160px;border:1px solid #fff8;border-radius:50%;right:18%;bottom:-104px;box-shadow:0 0 0 18px #ffffff27,0 0 0 38px #ffffff1b}
.programtop .emoji{filter:drop-shadow(0 9px 11px #20382c30);z-index:1;transition:transform .28s}
.program:hover .programtop .emoji{transform:translateY(-4px) scale(1.08)}
.btn{transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}
.btn:hover{box-shadow:0 8px 20px #17372420}
.catalog{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.excard{min-width:0;position:relative;overflow:hidden;min-height:104px;padding:16px;border-radius:17px;gap:14px;cursor:pointer;animation:cardIn .42s both;animation-delay:calc(var(--card-index,0)*18ms)}
.excard:after{content:"";position:absolute;inset:auto -20px -48px auto;width:110px;height:110px;border-radius:50%;background:var(--ex-tint,#edf5e8);opacity:.48;transition:transform .3s}
.excard:hover,.excard:focus-visible{transform:translateY(-4px);box-shadow:var(--shadow-hover);border-color:#c9daba;outline:none}
.excard:hover:after{transform:scale(1.5)}
.excard .exercise-icon{width:52px;height:52px;display:grid;place-items:center;flex:0 0 52px;border-radius:16px;background:var(--ex-tint,#edf5e8);color:var(--ex-color,#325d3d);position:relative;z-index:1;transition:transform .24s}
.excard:hover .exercise-icon{transform:rotate(-5deg) scale(1.07)}
.exercise-icon svg{width:31px;height:31px;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill:none}
.excard>div{min-width:0;position:relative;z-index:1}
.excard strong{display:block;font-size:13px;line-height:1.35;letter-spacing:-.2px}
.excard small{font-size:10px}
.excard .learnhint{display:inline-block;color:#477449;font-weight:750;margin-top:5px}
.exercise-row-open:hover{background:#fafff6;transform:translateX(2px)}
.exnum{background:linear-gradient(145deg,#eff6e7,#e2eed8);box-shadow:inset 0 0 0 1px #dae7d2}
@keyframes cardIn{from{opacity:0;transform:translateY(9px)}
to{opacity:1;transform:translateY(0)}
}
@keyframes float{0%,100%{transform:translateY(0)}
50%{transform:translateY(-7px)}
}
@keyframes orbit{to{transform:rotate(360deg)}
}
@keyframes heroGlow{from{transform:scale(.9);opacity:.55}
to{transform:scale(1.08);opacity:1}
}
@media(max-width:1120px){.catalog{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:660px){.main{width:100vw;max-width:100vw;margin-left:0;margin-right:0}
.page{max-width:100%;overflow-x:clip}
.hero,.stats,.programs,.today,.titlebar{width:100%;max-width:100%}
.catalog{grid-template-columns:1fr;gap:10px}
.excard{min-height:92px;padding:14px}
.excard .exercise-icon{width:48px;height:48px;flex-basis:48px}
.hero{border-radius:21px;grid-template-columns:1fr}
.programtop{height:116px}
.top{justify-content:flex-end;min-width:0;margin:0;padding:0}
.crumb{display:none}
.topright{min-width:0;max-width:100%;gap:5px;overflow:visible}
.topright>span:not(.tag),.topright>.tag,.topright>.avatar{display:none}
.langtrigger{min-width:96px;padding:6px 7px}
.gender-setting{gap:1px;padding:2px}
.gender-option{padding:4px 5px;font-size:9px}
.stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.stat{min-width:0;padding:10px 7px;display:grid;gap:5px}
.stat>div:last-child{min-width:0}
.stat small{display:block;white-space:normal;line-height:1.2;font-size:9px}
.titlebar{align-items:flex-start;gap:9px;flex-wrap:wrap}
.titlebar>.btn{margin-left:auto}
.programfoot{gap:9px}
.programfoot .btn{white-space:nowrap}
}
@media(max-width:430px){.stats{gap:5px}
.stat{padding:9px 6px}
.stat small{font-size:8px}
.titlebar>.btn{padding:8px 10px;font-size:11px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
.exercise-titleline{display:flex;align-items:center;gap:8px}
.workouticon{width:27px;height:27px;display:inline-grid;place-items:center;flex:none;border-radius:8px;background:#f0f5eb;color:#3b6541}
.workouticon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
