@font-face{font-family:Lexend;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/lexend-vietnamese-300-normal-BkyiKD57.woff2) format("woff2"),url(/assets/lexend-vietnamese-300-normal-Bvq1pCw4.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Lexend;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/lexend-latin-ext-300-normal-DZKhWvmP.woff2) format("woff2"),url(/assets/lexend-latin-ext-300-normal-DJx7rAFT.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lexend;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/lexend-latin-300-normal-pH_8eE6B.woff2) format("woff2"),url(/assets/lexend-latin-300-normal-DghY_3bB.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lexend;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/lexend-vietnamese-400-normal-DoLa7jNB.woff2) format("woff2"),url(/assets/lexend-vietnamese-400-normal-mPlHoWg5.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Lexend;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/lexend-latin-ext-400-normal-D38JI5AK.woff2) format("woff2"),url(/assets/lexend-latin-ext-400-normal-D9P7pMo-.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lexend;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/lexend-latin-400-normal-CwRJVcUA.woff2) format("woff2"),url(/assets/lexend-latin-400-normal-CHypAkT3.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lexend;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/lexend-vietnamese-500-normal-Bos7Oy9U.woff2) format("woff2"),url(/assets/lexend-vietnamese-500-normal-EFAPmUTE.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Lexend;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/lexend-latin-ext-500-normal-Bo17xs96.woff2) format("woff2"),url(/assets/lexend-latin-ext-500-normal-DbCmXT_D.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lexend;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/lexend-latin-500-normal-Dl-X5nog.woff2) format("woff2"),url(/assets/lexend-latin-500-normal-D9x1QWTH.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lexend;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/lexend-vietnamese-600-normal-Cr1ePs6O.woff2) format("woff2"),url(/assets/lexend-vietnamese-600-normal-BxEVPgxw.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Lexend;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/lexend-latin-ext-600-normal-hDcqLAH9.woff2) format("woff2"),url(/assets/lexend-latin-ext-600-normal-BXtyp5LP.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lexend;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/lexend-latin-600-normal-DdvlkEkX.woff2) format("woff2"),url(/assets/lexend-latin-600-normal-DSBzZxpA.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lexend;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/lexend-vietnamese-700-normal-BrGlFDtO.woff2) format("woff2"),url(/assets/lexend-vietnamese-700-normal-NEp7hM5T.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Lexend;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/lexend-latin-ext-700-normal-CcWyeg4T.woff2) format("woff2"),url(/assets/lexend-latin-ext-700-normal-iR1cPiNX.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lexend;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/lexend-latin-700-normal-DqO8md6r.woff2) format("woff2"),url(/assets/lexend-latin-700-normal-DVyJlN8t.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lexend;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/lexend-vietnamese-800-normal-B27Hd6aN.woff2) format("woff2"),url(/assets/lexend-vietnamese-800-normal-DLOhWP8n.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Lexend;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/lexend-latin-ext-800-normal-B0JWHALI.woff2) format("woff2"),url(/assets/lexend-latin-ext-800-normal-r3QZLne4.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lexend;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/lexend-latin-800-normal-sVzxf3WX.woff2) format("woff2"),url(/assets/lexend-latin-800-normal-BcJVUnx_.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lexend;font-style:normal;font-display:swap;font-weight:900;src:url(/assets/lexend-vietnamese-900-normal-jw7XBYnI.woff2) format("woff2"),url(/assets/lexend-vietnamese-900-normal-BCPkMSLQ.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Lexend;font-style:normal;font-display:swap;font-weight:900;src:url(/assets/lexend-latin-ext-900-normal-BDSo7Clz.woff2) format("woff2"),url(/assets/lexend-latin-ext-900-normal-CeBoktxy.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lexend;font-style:normal;font-display:swap;font-weight:900;src:url(/assets/lexend-latin-900-normal-C7DW7_Om.woff2) format("woff2"),url(/assets/lexend-latin-900-normal-KiCaUBJ3.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:dark;font-family:Lexend,sans-serif;--bg: #0e1510;--bg-low: #09100b;--surface: #161d18;--surface-high: #242c26;--surface-highest: #2f3731;--surface-bright: #343b35;--text: #dde5dc;--muted: #aeb7ad;--gold: #e9c349;--sage: #b9ccb7;--tan: #e9c176;--ghost: rgba(67, 72, 67, .2);--shadow: 0 24px 60px rgba(0, 0, 0, .26);--radius: 24px}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:radial-gradient(circle at top right,rgba(233,195,73,.12),transparent 24rem),radial-gradient(circle at left center,rgba(185,204,183,.08),transparent 18rem),linear-gradient(180deg,#101812 0%,var(--bg) 45%,var(--bg-low) 100%);color:var(--text)}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer;border:0}button:disabled{cursor:not-allowed;opacity:.6}input,select{width:100%;border:0;border-radius:18px;background:var(--bg-low);color:var(--text);padding:.95rem 1rem}.app-shell{padding-bottom:6rem}.status-banner{display:flex;align-items:center;gap:.65rem;max-width:1220px;margin:0 auto;padding:.9rem 1rem;border-radius:18px;font-size:.9rem}.status-banner.is-warning{background:#e9c1761f;color:#f3d99d}.status-banner.is-error{background:#c6595929;color:#ffb5b5}.spin{animation:spin 1s linear infinite}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.2rem 1.5rem;background:#0e1510b3;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.wordmark{font-size:1.7rem;font-weight:900;letter-spacing:-.06em;color:var(--gold);font-style:italic}.desktop-nav{display:none;gap:1.5rem;text-transform:uppercase;letter-spacing:.12em;font-size:.78rem}.desktop-nav a{opacity:.66;padding-bottom:.25rem}.desktop-nav a.active{opacity:1;color:var(--gold);box-shadow:inset 0 -2px 0 var(--gold)}.topbar-badge{display:flex;align-items:center;gap:.5rem;color:var(--sage);background:#2f3731b3;padding:.65rem .9rem;border-radius:999px;font-size:.78rem}.topbar-actions{display:flex;align-items:center;gap:.75rem}.topbar-button{width:auto;background:#2f3731b3;color:var(--text)}.page-shell{max-width:1220px;margin:0 auto;padding:1rem 1rem 0}.auth-panel{max-width:42rem;margin:10vh auto 0;padding:1.5rem;background:#161d18eb;border-radius:28px;box-shadow:var(--shadow)}.auth-panel h1{margin:0 0 .75rem;font-size:clamp(2rem,5vw,3.5rem);line-height:.96;letter-spacing:-.05em}.auth-panel p{color:var(--muted);line-height:1.5}.auth-form,.auth-actions{display:grid;gap:.9rem;margin-top:1.25rem}.auth-message{margin-top:1rem}.route-stack{display:grid;gap:1.2rem}.hero,.panel,.exercise-card,.spotlight-card,.form-panel,.spotlight-panel{background:#161d18eb;border-radius:28px;box-shadow:var(--shadow)}.hero,.spotlight-panel,.form-panel,.panel,.exercise-card,.spotlight-card{padding:1.35rem}.hero{display:grid;gap:1.2rem;overflow:hidden;position:relative}.hero:before{content:"";position:absolute;inset:0 auto auto 60%;width:20rem;height:20rem;background:radial-gradient(circle,rgba(233,195,73,.12),transparent 65%);pointer-events:none}.hero h1{margin:0;font-size:clamp(2.7rem,7vw,5.75rem);line-height:.93;letter-spacing:-.06em;text-transform:uppercase}.hero h1 span{color:var(--gold)}.hero p,.exercise-subtitle,.log-detail,.spotlight-card p,.editorial-card p{color:var(--muted);line-height:1.5}.eyebrow,.metric-label{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.14em;font-size:.74rem;color:var(--sage)}.pulse-dot{width:.55rem;height:.55rem;border-radius:999px;background:var(--sage);box-shadow:0 0 12px #b9ccb7cc}.hero-metric-card{display:grid;gap:1rem;align-content:center;padding:1rem;border-radius:24px;background:linear-gradient(180deg,#2f3731f2,#161d18e6)}.hero-metric{display:flex;align-items:baseline;gap:.8rem}.hero-metric strong,.spotlight-card strong,.editorial-card strong{font-size:clamp(2.3rem,5vw,4.25rem);letter-spacing:-.06em}.hero-metric span{color:var(--gold)}.radial-meter{place-self:center;width:10rem;height:10rem;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at center,rgba(14,21,16,.95) 40%,transparent 41%),conic-gradient(var(--gold) 0 68%,rgba(52,59,53,.8) 68% 100%)}.radial-meter-inner{width:5.9rem;height:5.9rem;border-radius:50%;display:grid;place-items:center;background:var(--bg);color:var(--gold)}.kpi-grid,.exercise-grid,.two-column,.trend-grid,.weekly-grid{display:grid;gap:1.2rem}.spotlight-card{min-height:13rem}.accent-gold{background:linear-gradient(180deg,#242c26f2,#161d18eb)}.accent-sage{background:linear-gradient(180deg,#242c26f2,#101a15eb)}.exercise-card-header,.panel-heading,.week-row-header,.log-row,.edit-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.exercise-title,.panel h2,.log-title{font-size:1.15rem;font-weight:700;letter-spacing:-.03em}.exercise-count{text-align:right}.exercise-count strong{display:block;font-size:2.2rem;color:var(--gold);letter-spacing:-.05em}.exercise-count span,.panel-heading span,.log-meta,.week-row-header .metric-label{color:var(--muted);font-size:.82rem}.mini-bars{display:flex;align-items:end;gap:.45rem;min-height:4.5rem;margin:1.2rem 0}.mini-bars span{flex:1;border-radius:10px 10px 0 0}.progress-line{height:.45rem;border-radius:999px;background:#09100be6;overflow:hidden;margin-bottom:1rem}.progress-line span{display:block;height:100%;border-radius:inherit}.primary-button,.secondary-button,.text-link,.chip,.toggle-chip,.row-actions button,.reorder-buttons button{border-radius:18px}.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;padding:.95rem 1.15rem;width:100%}.primary-button{background:linear-gradient(135deg,var(--gold),#c7a244);color:#201800;font-weight:700}.secondary-button{background:var(--surface-highest);color:var(--sage);font-weight:600}.list-stack{display:grid;gap:.9rem}.panel-heading{margin-bottom:1rem}.log-row,.week-row,.edit-row{padding:1rem;background:#242c26b8;border-radius:22px}.log-icon{min-width:2.4rem;height:2.4rem;display:grid;place-items:center;background:#e9c3491f;border-radius:18px;font-weight:700}.insight-panel{background:linear-gradient(180deg,#242c26f2,#09100bfa)}.insight-copy{display:flex;gap:.8rem;color:var(--sage);margin-bottom:1rem}.text-link{display:inline-flex;align-items:center;gap:.5rem;color:var(--gold)}.form-panel,.spotlight-panel{display:grid;gap:.9rem;background:#242c26e0}.form-row,.stats-row,.row-actions,.chip-wrap,.reorder-buttons{display:flex;gap:.75rem}.form-row>*{flex:1}.stats-row>div{flex:1;background:#09100b99;padding:.9rem;border-radius:18px}.inline-field,.stack-field{display:grid;gap:.45rem;color:var(--muted);font-size:.82rem}.toggle-chip{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#09100be6;color:var(--sage)}.toggle-chip input{width:auto}.chip-wrap{flex-wrap:wrap}.chip{padding:.7rem .95rem;background:#09100bc7;color:var(--muted)}.chip.active{background:#3a4b3bf2;color:var(--text)}.week-row{display:grid;gap:.85rem}.reorder-buttons button,.row-actions button{display:grid;place-items:center;width:2.2rem;height:2.2rem;background:var(--surface-highest);color:var(--text)}.edit-row{align-items:center}.edit-row input{max-width:5rem}.edit-row-main{flex:1}.editorial-card{padding:1.1rem;background:#09100ba6;border-radius:20px}.error-panel{max-width:36rem;margin:8vh auto 0}.bar-chart{display:flex;align-items:end;gap:.8rem;min-height:18rem;padding-top:1rem}.bar-column{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:end;gap:.75rem;min-height:18rem}.bar{width:100%;min-height:1rem;border-radius:14px 14px 0 0;background:linear-gradient(180deg,var(--gold),rgba(233,195,73,.4))}.bar-column label{font-size:.72rem;color:var(--muted);text-transform:uppercase}.mobile-nav{position:fixed;inset:auto 0 0;z-index:25;display:grid;grid-template-columns:repeat(4,1fr);gap:.3rem;padding:.7rem .7rem calc(.7rem + env(safe-area-inset-bottom));background:#0e1510db;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.mobile-nav a{display:grid;justify-items:center;gap:.25rem;padding:.55rem .4rem;border-radius:18px;color:var(--muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.12em}.mobile-nav a.active{background:#2f3731f2;color:var(--gold)}@keyframes spin{to{transform:rotate(360deg)}}@media(min-width:768px){.page-shell{padding:1.5rem}.desktop-nav{display:flex}.auth-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.mobile-nav{display:none}.hero{grid-template-columns:minmax(0,1.3fr) minmax(22rem,.9fr);padding:2rem}.kpi-grid,.trend-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.exercise-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.two-column,.weekly-grid{grid-template-columns:minmax(0,1.4fr) minmax(18rem,.9fr)}}
