/* LifeHub / Midnight Atelier. Native CSS; no runtime UI dependencies. */
:root{color-scheme:dark;--bg:#101113;--ink:#eeece7;--muted:#a4a39e;--line:#303135;--green:#d7bc89;--lime:#d7bc89;--white:#1a1b1e;--orange:#d8a98b;--surface:#202125}
body{background:radial-gradient(ellipse at 90% 0,#29251d55,transparent 48%),var(--bg);font-size:14px}
h1{font-weight:500;letter-spacing:-1.5px}button,a,input,select,textarea{transition:background .18s,border-color .18s,color .18s}a{color:var(--green)}
button:focus-visible,a:focus-visible{outline-color:var(--green)}
.sidebar{background:#161719;border-color:var(--line)}.brand{font-size:29px;letter-spacing:-1.5px}.brand span,.logo span{color:var(--green)}
nav{gap:7px}nav button{color:#a5a5a4;padding:15px 14px;border:1px solid transparent}nav button:hover{background:#222326;color:var(--ink)}nav button.active{background:#d7bc8914;border-color:#d7bc893d;color:#e5cca3;box-shadow:inset 3px 0 #d7bc89}
.sidebar-foot{line-height:1.7}.status-dot{background:#9dc9ad;box-shadow:0 0 0 4px #9dc9ad10}.avatar{background:#d7bc891a;color:#dfc79e;border:1px solid #d7bc8938}
.topbar{height:80px}.eyebrow{letter-spacing:2.2px;font-size:9px}.page-title{margin-bottom:30px}.page-title h1{font-size:36px}.page-title p{line-height:1.7}
.primary,.chip{background:var(--green);color:#201c15;border:1px solid #e2cca5;font-weight:600;box-shadow:0 3px 12px #0002}.primary:hover,.chip:hover{background:#e8d2aa}
.secondary{background:#242529;border:1px solid #393a3e;color:var(--ink)}.secondary:hover{background:#303136}.text-button{color:var(--green)}.icon-button{color:var(--muted)}
.hero{background:linear-gradient(115deg,#323026,#222320 65%,#1f2423);border:1px solid #514a38;border-radius:16px;padding:32px;min-height:215px}.hero h2{font-weight:500;font-size:31px;color:#f3e8d3}.hero p{color:#bfb7a5}.hero .eyebrow{color:#d7bc89}.hero-art{color:#d7bc89;border-color:#d7bc894d;box-shadow:0 0 0 18px #d7bc8905,0 0 0 19px #d7bc8926}
.stat,.panel,.plan,.exercise-group,.login-card{background:linear-gradient(145deg,#1d1e21,#191a1d);border-color:var(--line);box-shadow:0 8px 30px #0000000d}
.stat{position:relative;padding:24px;border-radius:12px}.stat:before{content:'';position:absolute;left:24px;top:0;width:28px;height:2px;background:var(--green);opacity:.65}.stat strong{font-size:32px;font-variant-numeric:tabular-nums;color:#f0e9dc}.stat small{color:#b2b0aa}.stat em{font-size:11px}.panel{padding:24px}.panel-head h2{font-weight:500}
.badge,.exercise-prescription{background:#d7bc8912;color:#e0c89f;border:1px solid #d7bc892b}.row,td{border-color:#2c2d31}.check{background:#242529;border-color:#51524f}.check.checked{background:var(--green);border-color:var(--green);color:#211d16}.day-dot{background:#292b2d;color:#a4a39e}.day-dot.hit{background:#d7bc8926;color:#e6cda2}
.note{background:#28251f;border:1px solid #443c2d}.note p{color:#c1b8a8}.chart{color:#d7bc89}.income{color:#9dceb4}.expense{color:#e3ad91}.message{background:#30281e;color:#e1c5a3;border:1px solid #5a4430}
label{color:#c1beb6}input,textarea,select{background:#141518;color:var(--ink);border-color:#3a3b40;border-radius:8px}input:focus,textarea:focus,select:focus{outline-color:#d7bc8977;border-color:var(--green)}input::placeholder,textarea::placeholder{color:#85858a}
dialog{background:#1b1c20;border-color:#454347;box-shadow:0 24px 100px #0008}dialog::backdrop{background:#070809bb;backdrop-filter:blur(6px)}#form-error,#login-error{color:#f6ac9c}#toast{background:#e4d4b6;color:#241f17;border:1px solid #f2e2c3}
.login-shell{max-width:1160px}.login-brand h1{font-weight:450;line-height:1.15}.logo{color:#f1eee7}.orbit{border-color:#d7bc8955;color:#d7bc89;box-shadow:0 0 0 17px #d7bc8905,0 0 0 18px #d7bc8922;background:radial-gradient(circle,#d7bc8914,transparent 70%)}.login-card{padding:40px;border-radius:18px}.login-card h2{font-size:25px;font-weight:500;line-height:1.4}
.session-tabs{gap:10px}.session-tab{background:#1a1b1e;border-color:#343539;position:relative;padding:18px 15px}.session-tab:hover{background:#242529;border-color:#6e6047}.session-tab.selected{background:#d7bc8917;color:#f0d4a4;border-color:#b79b68}.session-tab.selected small{color:#d7bc89}.session-tab strong{font-weight:550}.session-heading{padding-bottom:20px;border-bottom:1px solid var(--line)}.session-heading h2{font-size:32px;font-weight:500}.exercise-group{border-radius:14px;padding:25px;gap:20px}.exercise-order{color:#c1a879;font-size:16px;padding-top:9px;font-variant-numeric:tabular-nums}.exercise-detail h3{font-weight:500;font-size:20px;line-height:1.4}.exercise-vietnamese{line-height:1.6}.exercise-cue{color:#c1bfb8;font-size:13px}.variant-note{color:#d3b98e;line-height:1.8}.video-link{background:#28251f;border-color:#524735;color:#e1c69a}.video-link:hover{background:#393125}.video-link small{color:#c0b49e}.gym-glossary{background:#1c1d20;border-color:var(--line)}
.exercise-visual{grid-column:1/-1;display:grid;grid-template-columns:210px 1fr;align-items:center;gap:24px;margin:20px 0 0;padding:18px;border:1px solid #37383b;border-radius:11px;background:#141518}.motion-stage{position:relative;aspect-ratio:1;width:100%;border-radius:8px;background:#272a2e;overflow:hidden}.motion-stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0}.motion-stage img:first-child{opacity:1}.exercise-visual.playing .motion-stage img{animation:exercise-poses 2.8s step-end infinite}.exercise-visual.playing .motion-stage img:nth-child(2){animation-delay:.7s}.exercise-visual.playing .motion-stage img:nth-child(3){animation-delay:1.4s}.motion-stage img:nth-child(2){z-index:1}.motion-stage img:nth-child(3){z-index:2}
.exercise-visual.playing .motion-stage img:nth-child(1){animation:pose-first 2.8s step-end infinite}.exercise-visual.playing .motion-stage img:nth-child(2){animation:pose-middle 2.8s step-end infinite}.exercise-visual.playing .motion-stage img:nth-child(3){animation:pose-last 2.8s step-end infinite}
@keyframes pose-first{0%{opacity:1}25%,100%{opacity:0}}@keyframes pose-middle{0%{opacity:0}25%{opacity:1}50%{opacity:0}75%{opacity:1}100%{opacity:0}}@keyframes pose-last{0%{opacity:0}50%{opacity:1}75%,100%{opacity:0}}
.motion-info .eyebrow{color:var(--green);margin-bottom:12px}.motion-info p{font-size:12px;color:var(--muted);margin-bottom:16px;max-width:400px}.motion-controls{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.motion-toggle{padding:9px 13px;font-size:12px}.motion-credit{font-size:10px;color:var(--muted);line-height:1.8}.motion-credit a{color:#c9b48e}.motion-unavailable{grid-column:1/-1;color:var(--muted);font-size:12px;margin:14px 0 0}.motion-error{padding:18px;font-size:12px;color:var(--muted)}
@media(min-width:1101px){#content{padding-top:38px}.page-title h1{font-size:39px}}
@media(max-width:1100px){.exercise-visual{grid-template-columns:170px 1fr;gap:18px}}
@media(max-width:760px){.sidebar{background:#161719f5;backdrop-filter:blur(16px);height:73px}.sidebar nav button{padding:6px 10px}.sidebar nav button.active{box-shadow:none}.page-title h1{font-size:28px}.hero{padding:24px;min-height:180px}.hero h2{font-size:24px}.hero-art{box-shadow:none}.stat{padding:18px}.stat:before{left:18px}.stat strong{font-size:26px}.panel{padding:18px}.login-card{padding:26px}.exercise-group{padding:18px 12px;gap:9px}.exercise-detail h3{font-size:18px}.exercise-visual{grid-template-columns:1fr;padding:14px;gap:16px}.motion-stage{max-width:260px;justify-self:center}.motion-info p{max-width:none}.session-tab{padding:14px 12px}.topbar{height:65px}.session-heading h2{font-size:27px}main{padding-bottom:80px}}
@media(prefers-reduced-motion:reduce){button,a,input,textarea,select{transition:none}}

/* Editorial typography: serif display headings, calm and legible UI text. */
body{font-family:"Segoe UI Variable Text","Segoe UI",Arial,sans-serif;font-size:14px;line-height:1.65;font-weight:400;text-rendering:optimizeLegibility}
.page-title h1,.login-brand h1,.hero h2,.session-heading h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.65px;text-wrap:balance}
.page-title h1{font-size:45px;line-height:1.25;margin-bottom:12px}.page-title p{font-size:14px;max-width:620px;line-height:1.8}
.hero h2{font-size:36px;line-height:1.25;max-width:460px}.hero p{font-size:13px;line-height:1.9}.hero-art small{font-family:"Segoe UI",sans-serif;font-size:8px;letter-spacing:1.4px}
.login-brand h1{font-size:53px;line-height:1.2;letter-spacing:-1px}.login-brand>p{font-size:12px;line-height:1.9;letter-spacing:.4px}.login-card h2{font-size:24px;letter-spacing:-.4px}.login-card>p{line-height:1.8}
.session-heading h2{font-size:35px;line-height:1.25}.session-heading p{font-size:13px}.exercise-detail h3{font-size:19px;letter-spacing:-.2px;line-height:1.5}.exercise-vietnamese{font-size:13px}.exercise-cue{font-size:13px;line-height:1.9}
.eyebrow{font-size:9px;letter-spacing:1.6px;font-weight:600;line-height:1.8}.brand{font-family:"Segoe UI",sans-serif;font-weight:600;letter-spacing:-1.4px}.sidebar>.eyebrow{letter-spacing:1.4px}nav button{gap:10px}nav button span{font-size:12px;line-height:1.65;white-space:normal}
.panel-head h2{font-size:17px;line-height:1.5;letter-spacing:-.2px}.stat small{font-size:11px;line-height:1.6;min-height:35px}.stat strong{letter-spacing:-.8px;font-weight:450}.stat em{font-size:11px;line-height:1.6}.topbar{letter-spacing:.8px}.text-button{line-height:1.6}.motion-info p{line-height:1.85}.motion-credit{line-height:1.85}footer{font-size:11px;letter-spacing:.15px}
@media(min-width:1101px){.page-title h1{font-size:47px}}
@media(max-width:760px){.page-title h1{font-size:33px;letter-spacing:-.5px}.page-title p{font-size:12px;line-height:1.85}.hero h2{font-size:28px;max-width:75%}.hero p{font-size:12px}.login-brand h1{font-size:38px}.login-card h2{font-size:22px}.session-heading h2{font-size:29px}.exercise-detail h3{font-size:17px}.sidebar nav button{padding:5px 7px;min-width:0}.sidebar nav button span{font-size:9px}.stat small{font-size:10px;min-height:32px}.stat strong{font-size:25px}.hero-art small{display:none}}
