:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#07130d;--bg-soft:#0d1c13;--card:#ffffff13;--card-strong:#ffffff21;--text:#f3faf5;--muted:#9fb4a6;--line:#d6f4e024;--brand:#22c55e;--brand-rgb:34, 197, 94;--brand-2:#86efac;--brand-deep:#15803d;--sheet:#bbf7d0;--success:#34d399;--danger:#fb7185;--shadow:0 14px 38px #00000057;--radius-lg:16px;--radius-md:12px;--radius-sm:8px;--font-scale:1;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}:root[data-font=small]{--font-scale:.85}:root[data-font=medium]{--font-scale:1}:root[data-font=big]{--font-scale:1.15}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#effaf2;--bg-soft:#fff;--card:#ffffffe6;--card-strong:#fffffffa;--text:#0f2517;--muted:#64766a;--line:#0f251721;--brand-rgb:34, 197, 94;--shadow:0 14px 38px #15803d1f}*{box-sizing:border-box}html{background:var(--bg);min-height:100%;font-size:calc(16px * var(--font-scale));scrollbar-width:none;-ms-overflow-style:none;width:100%;overflow-x:hidden}html::-webkit-scrollbar{display:none}body::-webkit-scrollbar{display:none}body{background:linear-gradient(#86efac0b 1px, transparent 1px), linear-gradient(90deg, #86efac0b 1px, transparent 1px), radial-gradient(circle at top left, #22c55e2e, transparent 26rem), radial-gradient(circle at top right, #bbf7d01f, transparent 22rem), var(--bg);width:100%;min-width:320px;min-height:100vh;color:var(--text);background-size:28px 28px,28px 28px,auto,auto,auto;margin:0;overflow-x:hidden}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}a{color:inherit}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{appearance:textfield}.app-shell{width:100%;max-width:980px;min-height:100vh;margin:0 auto;position:relative;overflow-x:hidden}.topbar{z-index:100;padding:calc(env(safe-area-inset-top,0px) + .9rem) 1rem .8rem;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:color-mix(in srgb, var(--bg) 85%, transparent);border-bottom:1px solid var(--line);grid-template-columns:auto 1fr auto;align-items:center;gap:.8rem;width:100%;display:grid;position:sticky;top:0}.topbar h1,.login-card h1,h2,h3,h4{letter-spacing:-.035em;margin:0}.topbar h1{font-size:clamp(1.25rem,5vw,2rem)}.brand-mark,.avatar{border-radius:var(--radius-md);background:var(--card-strong);border:1px solid var(--line);flex-shrink:0;place-items:center;width:44px;height:44px;display:grid;overflow:hidden}.brand-mark img,.avatar img{object-fit:cover;width:100%;height:100%}.avatar.big{border-radius:var(--radius-md);width:52px;height:52px}.screen{box-sizing:border-box;width:100%;max-width:100%;padding:1rem;overflow-x:hidden}.screen.with-nav{padding-bottom:calc(7rem + env(safe-area-inset-bottom,0px))}.stack{gap:1rem;width:100%;display:grid}.login-screen{box-sizing:border-box;place-items:center;width:100%;min-height:100vh;padding:1.5rem;display:grid}.login-card{width:min(100%,430px);padding:1.2rem}.login-logo{border-radius:var(--radius-lg);background:linear-gradient(135deg, var(--brand), var(--brand-2));place-items:center;width:72px;height:72px;display:grid;overflow:hidden;box-shadow:0 4px 12px #22c55e33}.login-logo img{object-fit:contain;width:44px;height:44px}.theme-toggle-btn{border-radius:var(--radius-md);border:1px solid var(--line);background:var(--card-strong);width:44px;height:44px;color:var(--text);place-items:center;transition:all .2s;display:grid}.theme-toggle-btn:hover{background:color-mix(in srgb, var(--brand) 10%, var(--card-strong));border-color:var(--brand)}.glass-card,.hero-card,.day-card,.rank-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.glass-card{padding:1rem}.hero-card{background:linear-gradient(90deg, #bbf7d013 1px, transparent 1px), linear-gradient(0deg, #bbf7d013 1px, transparent 1px), linear-gradient(135deg, color-mix(in srgb, var(--brand) 18%, var(--card)), var(--card));background-size:22px 22px,22px 22px,auto;padding:1.2rem}.sheet-hero{border-left:5px solid var(--brand)}.global-hero{align-items:center;gap:1rem;display:flex}.global-hero>svg{width:42px;height:42px;color:var(--brand-2)}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin:0 0 .25rem;font-size:.72rem;font-weight:800}.muted{color:var(--muted);margin:.35rem 0 0;line-height:1.5}.notice{border-radius:var(--radius-md);background:color-mix(in srgb, var(--brand) 16%, transparent);border:1px solid color-mix(in srgb, var(--brand) 34%, transparent);color:var(--text);padding:.85rem 1rem}.notice.danger{background:color-mix(in srgb, var(--danger) 16%, transparent);border-color:color-mix(in srgb, var(--danger) 35%, transparent)}.notice.compact{margin-top:.8rem;font-size:.88rem}.form-stack{gap:.85rem;display:grid}.field{gap:.35rem;display:grid}.field span,.switch-row span{font-size:.86rem;font-weight:800}.field input,.field select,.field textarea,.quick-log input,.quick-log select,article select{border:1px solid var(--line);border-radius:var(--radius-md);background:color-mix(in srgb, var(--bg-soft) 86%, transparent);width:100%;min-height:46px;color:var(--text);outline:none;padding:0 .9rem}.field textarea{resize:vertical;min-height:88px;padding-top:.8rem}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--brand);box-shadow:0 0 0 4px color-mix(in srgb, var(--brand) 18%, transparent)}.input-bubble{text-align:center;border:1px solid var(--line);font-weight:800;transition:all .2s;background:var(--bg-soft)!important;border-radius:999px!important}.input-bubble:focus{border-color:var(--brand);transform:scale(1.05);background:var(--card-strong)!important}.paste-input{grid-template-columns:1fr auto;gap:.5rem;display:grid}.segmented{border-radius:var(--radius-lg);background:color-mix(in srgb, var(--bg-soft) 80%, transparent);border:1px solid var(--line);grid-template-columns:1fr 1fr;gap:.35rem;margin:1rem 0;padding:.3rem;display:grid}.segmented.ghost{margin-top:-.3rem}.segmented button,.chip{border-radius:var(--radius-sm);min-height:42px;color:var(--muted);background:0 0;border:0;font-weight:800}.segmented button.active,.chip.active{background:linear-gradient(135deg, var(--brand), var(--brand-2));color:#052e16}.primary-btn,.small-btn,.logout-btn{border-radius:var(--radius-md);border:0;justify-content:center;align-items:center;gap:.45rem;min-height:46px;font-weight:900;display:inline-flex}.primary-btn{background:linear-gradient(135deg, var(--brand), var(--brand-2));color:#052e16;width:100%}.small-btn{background:var(--card-strong);color:var(--text);border:1px solid var(--line);padding:0 .8rem}.danger-btn{color:var(--danger)}.logout-btn{background:color-mix(in srgb, var(--danger) 14%, transparent);color:var(--danger);border:1px solid color-mix(in srgb, var(--danger) 30%, transparent)}.fab-save{right:1.5rem;bottom:calc(6.5rem + env(safe-area-inset-bottom,0px));background:linear-gradient(135deg, var(--brand), var(--brand-2));color:#052e16;z-index:30;border:none;border-radius:999px;justify-content:center;align-items:center;width:60px;height:60px;transition:transform .2s cubic-bezier(.175,.885,.32,1.275);display:flex;position:fixed;box-shadow:0 8px 24px #0006}.fab-save:active{transform:scale(.9)rotate(-5deg)}.fab-save svg{width:28px;height:28px}.bubble-stack{right:1.5rem;bottom:calc(6.5rem + env(safe-area-inset-bottom,0px));z-index:1000;flex-direction:column;align-items:flex-end;gap:1rem;display:flex;position:fixed}.bubble-btn{width:60px;height:60px;box-shadow:var(--shadow);cursor:pointer;-webkit-tap-highlight-color:transparent;border:none;border-radius:50%;justify-content:center;align-items:center;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}.bubble-btn:active{transform:scale(.9)rotate(-5deg)}.bubble-btn svg{width:28px;height:28px}.save-toast{right:6rem;bottom:calc(2rem + env(safe-area-inset-bottom,0px));background:var(--brand);color:#052e16;z-index:1001;pointer-events:none;border-radius:999px;align-items:center;gap:.5rem;padding:.6rem 1rem;font-size:.75rem;font-weight:950;animation:.3s forwards slide-in-right;display:flex;position:fixed;box-shadow:0 4px 20px #0000004d}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.bottom-nav{left:50%;bottom:calc(.85rem + env(safe-area-inset-bottom,0px));background:color-mix(in srgb, var(--bg-soft) 88%, transparent);border:1px solid var(--line);border-radius:var(--radius-lg);width:min(100% - 1.5rem,560px);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);z-index:20;grid-template-columns:repeat(4,1fr);gap:.35rem;padding:.45rem;display:grid;position:fixed;transform:translate(-50%)}.nav-item{border-radius:var(--radius-md);min-height:56px;color:var(--muted);background:0 0;border:0;justify-items:center;gap:.2rem;font-size:.72rem;font-weight:800;display:grid}.nav-item.active{background:var(--card-strong);color:var(--brand-2)}.quick-log{gap:.7rem;display:grid}.days-feed{gap:1rem;width:100%;max-width:100%;display:grid;overflow-x:hidden}.day-card{border-radius:var(--radius-lg);box-sizing:border-box;width:100%;padding:1.2rem;position:relative;overflow:hidden}.day-card.today{border-color:var(--brand);border-left:6px solid var(--brand);background:linear-gradient(135deg, color-mix(in srgb, var(--brand) 5%, transparent), var(--card))}.loading-screen{background:var(--bg);z-index:2000;flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;display:flex;position:fixed;inset:0}.loading-logo-spin{width:80px;height:80px;animation:2s ease-in-out infinite logo-pulse}@keyframes logo-pulse{0%{opacity:.8;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}to{opacity:.8;transform:scale(1)}}.nav-arrows{justify-content:center;align-items:center;gap:1.5rem;margin:.5rem 0 1.5rem;display:flex}.arrow-btn{-webkit-backdrop-filter:blur(8px);color:var(--brand);opacity:.9;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;box-shadow:0 4px 12px #0000001a}.arrow-btn:disabled{opacity:.2;pointer-events:none}.arrow-btn:active{background:rgba(var(--brand-rgb), .2);transform:scale(.9)}.exercise-item-old{background:var(--bg-soft);border-radius:var(--radius-md);border:1px solid var(--line);flex-direction:column;gap:.8rem;padding:.9rem;display:flex}.avatar-btn{cursor:pointer;border-radius:var(--radius-md);background:0 0;border:none;padding:0;position:relative}.notif-dot{background:var(--danger);border:2px solid var(--bg);z-index:5;width:14px;height:14px;box-shadow:0 0 8px var(--danger);border-radius:50%;position:absolute;top:-4px;right:-4px}.day-head,.section-head,.goal-title-row,.exercise-row,.rank-card,.switch-row{justify-content:space-between;align-items:center;gap:.85rem;display:flex}.rank-card.self-highlight{background:#22c55e08;border:1px solid #22c55e4d;box-shadow:0 4px 20px #22c55e26}.stacked-mobile{align-items:flex-start}.success{color:var(--success)}.goal-block{border-radius:var(--radius-md);background:color-mix(in srgb, var(--bg-soft) 72%, transparent);border:1px solid var(--line);margin-top:.8rem;padding:.85rem}.pill{border-radius:var(--radius-sm);background:color-mix(in srgb, var(--brand) 25%, var(--bg-soft));color:var(--text);border:1px solid var(--line);align-items:center;gap:.25rem;padding:.35rem .55rem;font-size:.78rem;font-weight:900;display:inline-flex}.exercise-list,.mini-log-list{gap:.6rem;margin-top:.7rem;display:grid}.exercise-row{border-top:1px solid var(--line);padding:.7rem 0}.exercise-row:first-child{border-top:0}.exercise-row p{color:var(--muted);margin:.18rem 0 0;font-size:.85rem}.icon-link{border-radius:var(--radius-sm);background:var(--card-strong);width:38px;height:38px;color:var(--brand-2);place-items:center;text-decoration:none;display:grid}.mini-log-list span{color:var(--muted);font-size:.84rem}.profile-nav-grid{scrollbar-width:none;z-index:2;background:0 0;gap:2px;margin-bottom:-1px;padding:20px .5rem 0;display:flex;position:relative;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000);mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000)}.nav-square{background:var(--bg-soft);border:1px solid var(--line);min-width:70px;min-height:52px;color:var(--muted);cursor:pointer;white-space:nowrap;scroll-snap-align:start;border-bottom:none;border-radius:12px 12px 0 0;flex-direction:row;flex:none;align-items:center;gap:.5rem;padding:.8rem 1.2rem;font-size:.7rem;font-weight:800;transition:all .2s;display:flex}.nav-square.active{background:var(--card);border-color:var(--line);border-bottom:1px solid var(--card);color:var(--brand-2);z-index:3;margin-bottom:-1px;padding-bottom:1rem;transform:translateY(-5px)}.nav-square span{font-size:.7rem}.nav-square svg{width:16px;height:16px}.profile-page{align-items:start}.profile-section{border-left:4px solid color-mix(in srgb, var(--brand) 70%, transparent);border-top:none!important;border-top-left-radius:0!important}.stats-grid{grid-template-columns:repeat(3,1fr);gap:.7rem;display:grid}.stats-grid div{border-radius:var(--radius-md);background:color-mix(in srgb, var(--bg-soft) 72%, transparent);border:1px solid var(--line);padding:.8rem}.profile-nav-grid:after{content:"";flex:0 0 .5rem}.profile-nav-grid::-webkit-scrollbar{display:none}.stat-card{box-shadow:0 4px 15px #00000026;background:linear-gradient(145deg,#ffffff14,#ffffff08)!important;border:1px solid #ffffff1f!important}.tab-pill-box{background:var(--bg-soft);border-radius:var(--radius-full);border:1px solid var(--line);justify-content:center;padding:.25rem;display:flex}.tab-pill{color:var(--muted);border-radius:var(--radius-full);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;width:36px;height:36px;transition:all .2s;display:flex}.tab-pill.active{background:var(--brand);color:#fff}.border-gold .avatar{box-shadow:0 0 0 2px #fbbf24,0 0 12px #fbbf24b3}.border-silver .avatar{box-shadow:0 0 0 2px #94a3b8,0 0 10px #94a3b880}.border-bronze .avatar{box-shadow:0 0 0 2px #b45309,0 0 10px #b4530980}.border-green .avatar{box-shadow:0 0 0 2px #22c55e,0 0 8px #22c55e66}.custom-file-upload{background:var(--bg-soft);border:1px dashed var(--line);border-radius:var(--radius-md);cursor:pointer;color:var(--muted);text-align:center;justify-content:center;align-items:center;padding:.8rem 1.2rem;font-size:.9rem;transition:all .2s;display:flex}.custom-file-upload:hover{border-color:var(--brand);color:var(--text);background:#22c55e0d}.custom-file-upload input[type=file]{display:none}.avatar-container{display:inline-block;position:relative}.link-badge{background:var(--bg-soft);color:#fff;border:2px solid var(--bg);z-index:10;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;display:flex;position:absolute;bottom:0;right:0}.border-gold .link-badge{color:#78350f;background:#fbbf24}.border-silver .link-badge{color:#1e293b;background:#94a3b8}.border-bronze .link-badge{color:#fff;background:#b45309}.border-green .link-badge{color:#fff;background:#22c55e}.chart-box{border-radius:var(--radius-md);background:color-mix(in srgb, var(--bg-soft) 72%, transparent);border:1px solid var(--line);height:180px;margin-top:.4rem;padding:.8rem}.two-col-card{gap:1rem;display:grid}.weekday-row{flex-wrap:wrap;gap:.45rem;display:flex}.chip{border:1px solid var(--line);background:var(--card-strong);min-width:48px}.body-map{aspect-ratio:.72;border-radius:var(--radius-lg);background:linear-gradient(#86efac0f 1px, transparent 1px), linear-gradient(90deg, #86efac0f 1px, transparent 1px), color-mix(in srgb, var(--bg-soft) 72%, transparent);border:1px solid var(--line);background-size:18px 18px;width:min(330px,100%);margin:1rem auto 0;position:relative;overflow:visible}.body-map svg{width:100%;height:100%;color:var(--brand);fill:url(#bodyFill);stroke:color-mix(in srgb, var(--brand-2) 78%, var(--text));stroke-width:4px;stroke-linecap:round;stroke-linejoin:round;padding:1.1rem}.body-map .body-line{fill:none;stroke-width:2px;opacity:.7}.body-point{color:var(--text);background:0 0;border:0;justify-items:center;gap:.22rem;min-width:88px;padding:0;display:grid;position:absolute;transform:translate(-50%,-50%)}.body-dot{border:2px solid var(--bg);background:var(--brand-2);width:18px;height:18px;box-shadow:0 0 0 5px color-mix(in srgb, var(--brand-2) 22%, transparent);border-radius:999px}.body-point.active .body-dot{background:var(--brand);box-shadow:0 0 0 7px color-mix(in srgb, var(--brand) 28%, transparent)}.body-label{background:color-mix(in srgb, var(--bg) 74%, transparent);border:1px solid var(--line);border-radius:var(--radius-sm);padding:.15rem .35rem;font-size:.68rem;font-weight:900}.body-popup{background:var(--bg-soft);border:1px solid var(--brand);border-radius:var(--radius-md);width:140px;box-shadow:var(--shadow);z-index:10;pointer-events:none;padding:.8rem;position:absolute;top:50%;left:105%;transform:translateY(-50%)}.body-popup.on-left{left:auto;right:105%}.body-popup h4{color:var(--brand-2);margin-bottom:.3rem;font-size:.75rem}.body-popup p{margin:0;font-size:.85rem;font-weight:900}@keyframes pop-in{0%{opacity:0;transform:scale(.9)translateY(20px)}to{opacity:1;transform:scale(1)translateY(0)}}.search-result-item:hover{transform:translate(5px);background:rgba(var(--brand-rgb), .08)!important;border-color:rgba(var(--brand-rgb), .3)!important}.body-map-container{background-color:#0000!important;background-image:linear-gradient(#86efac0a 1px,#0000 1px),linear-gradient(90deg,#86efac0a 1px,#0000 1px)!important;background-position:0 0,0 0!important;background-repeat:repeat,repeat!important;background-size:20px 20px!important;background-attachment:scroll,scroll!important;background-origin:padding-box,padding-box!important;background-clip:border-box,border-box!important}.stat-card{transition:transform .2s,border-color .2s}.stat-card:hover{transform:translateY(-3px);border-color:var(--brand)!important}.note-badge{background:var(--sheet);color:#052e16;border-radius:4px;place-items:center;min-width:19px;height:19px;font-size:.7rem;font-weight:950;display:grid;position:absolute;top:-8px;right:16px;transform:rotate(-4deg)}.sticky-panel{align-self:stretch}.sticky-note-list{gap:.6rem;margin-top:.25rem;display:grid}.sticky-note{border-radius:var(--radius-sm);background:color-mix(in srgb, var(--sheet) 20%, var(--card));border:1px solid color-mix(in srgb, var(--sheet) 36%, transparent);padding:.8rem;transform:rotate(-.4deg)}.sticky-note p{color:var(--text);margin:.3rem 0 0;line-height:1.45}.goal-builder{border-radius:var(--radius-md);border:1px solid var(--line);background:color-mix(in srgb, var(--bg-soft) 64%, transparent);gap:.75rem;padding:.85rem;display:grid}.goal-exercise-row{border-radius:var(--radius-md);background:var(--card);border:1px solid var(--line);margin-bottom:1rem;padding:1rem}.goal-exercise-selectors{grid-template-columns:1fr 1.5fr;gap:.8rem;margin-bottom:.8rem;display:grid}.goal-exercise-selectors select{text-overflow:ellipsis;width:100%;overflow:hidden}.goal-exercise-inputs{gap:.5rem;display:flex}@media (width<=500px){.goal-exercise-selectors{grid-template-columns:1fr;gap:.5rem}}.rank-list{gap:.75rem;display:grid}.rank-card{padding:.85rem}.rank-number{border-radius:var(--radius-md);background:color-mix(in srgb, var(--brand) 25%, var(--bg-soft));width:42px;height:42px;color:var(--text);border:1px solid var(--line);place-items:center;font-weight:950;display:grid}.rank-main{flex:1;min-width:0}.rank-main h3{align-items:center;gap:.3rem;display:flex}.rank-main p{color:var(--muted);margin:.2rem 0 0;font-size:.85rem}.rank-meta{flex-wrap:wrap;gap:.45rem;margin-top:.4rem;display:flex}.rank-score{text-align:right}.switch-row{align-items:flex-start}.switch-row small{color:var(--muted);margin-top:.25rem;line-height:1.35;display:block}.switch-row input{width:22px;height:22px;accent-color:var(--brand)}.skeleton-stack{gap:1rem;display:grid}.skeleton-card{background:var(--bg-soft);border:1px solid var(--line);border-radius:24px;min-height:160px;padding:1.5rem;position:relative;overflow:hidden}.sk-line{background:var(--card-strong);border-radius:999px;width:90%;height:14px;margin-top:1rem;position:relative;overflow:hidden}.sk-line:after{content:"";background:linear-gradient(90deg,#0000,#ffffff0d,#0000);animation:1.8s infinite shimmer;position:absolute;inset:0;transform:translate(-100%)}.sk-line.header{width:45%;height:20px;margin-top:0}.sk-line.circle{border-radius:50%;width:32px;height:32px;margin-top:0}.sk-line.short{width:40%}@keyframes shimmer{to{transform:translate(100%)}}@media (width<=600px){.screen{padding:.5rem}.day-card{border-radius:var(--radius-md);padding:.8rem;margin-bottom:.8rem!important}.exercise-item-old{flex-wrap:wrap;gap:.6rem;padding:.7rem}.exercise-info{min-width:100%;margin-bottom:.1rem}.exercise-inputs{justify-content:flex-start;align-items:center;gap:.5rem;width:100%;display:flex}.input-bubble{min-width:60px;font-size:.9rem;min-height:38px!important;padding:0 .5rem!important}.topbar{padding:calc(env(safe-area-inset-top,0px) + .5rem) .75rem .5rem}.topbar h1{font-size:1.15rem}.nav-arrows{gap:1rem;margin:.2rem 0 1rem}.arrow-btn{width:40px;height:40px}.fab-save{width:60px;height:60px;bottom:6.5rem;right:1rem}.save-toast{right:5rem;bottom:calc(2rem + env(safe-area-inset-bottom,0px))}.days-feed{padding:0}.brand-mark{display:none}}@media (width>=720px){.screen{padding:1.3rem}.quick-log{grid-template-columns:1.4fr 1fr 1fr 1fr auto;align-items:end}.two-col-card{grid-template-columns:.9fr 1.1fr;align-items:center}.goal-exercise-row{grid-template-columns:1.2fr .4fr .4fr 1fr auto}.goal-exercise-row .goal-note,.goal-exercise-row .danger-btn{grid-column:auto}.stacked-mobile{align-items:center}}@media (width<=520px){.stats-grid{grid-template-columns:1fr}.section-head{flex-direction:column;align-items:flex-start}.rank-card{grid-template-columns:auto auto 1fr auto;grid-template-areas:"rank ava name score""meta meta meta meta";align-items:center;gap:.6rem .85rem;padding:.85rem;display:grid}.rank-number{grid-area:rank;width:38px;height:38px;font-size:.9rem}.avatar-container{grid-area:ava}.avatar.big{width:44px;height:44px}.rank-main{grid-area:name;min-width:0}.rank-main h3{white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;overflow:hidden}.rank-meta{border-radius:var(--radius-md);border:1px solid var(--line);background:#ffffff0a;grid-area:meta;justify-content:space-between;gap:.5rem;margin:0;padding:.5rem .8rem;display:flex}.rank-meta .pill{color:var(--brand-2);background:0 0;border:none;padding:0;font-size:.82rem;font-weight:800}.rank-score{text-align:right;grid-area:score;font-size:1.1rem;line-height:1}.rank-score small{opacity:.7;font-size:.65rem}}select:invalid,select option[value=""]{color:var(--muted)}select option{color:var(--text)}.modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:100;background:#000000b3;place-items:center;padding:1.5rem;display:grid;position:fixed;inset:0}.modal-content{border:1px solid var(--brand);width:min(100%,450px);max-height:80vh;overflow-y:auto}@keyframes edit-pulse{0%{box-shadow:0 0 #22c55e66}70%{box-shadow:0 0 0 10px #22c55e00}to{box-shadow:0 0 #22c55e00}}.edit-pulse{animation:2s infinite edit-pulse}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin{animation:3s linear infinite spin}@keyframes pulse-subtle{0%{opacity:.6}50%{opacity:1}to{opacity:.6}}.dotted-btn{border:2px dashed var(--line)!important;color:var(--brand)!important;background:0 0!important;transition:all .3s!important}.dotted-btn:hover{transform:translateY(-2px);border-color:var(--brand)!important;background:rgba(var(--brand-rgb), .05)!important}.pixel-text{letter-spacing:1px;text-transform:uppercase;font-family:Silkscreen,cursive;font-weight:700}.event-modal .pixel-text{text-shadow:2px 2px #0003}@keyframes pop{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.animate-pop{animation:.3s cubic-bezier(.34,1.56,.64,1) forwards pop}.event-modal{border:2px solid var(--brand)!important;box-shadow:0 0 30px #22c55e4d!important}.event-img-container{border-radius:var(--radius-lg);border:1px solid var(--line);background:var(--card-strong);overflow:hidden}.close-modal{cursor:pointer;transition:all .2s}.close-modal:hover{transform:rotate(90deg)scale(1.1)}.spreadsheet-container{border:1px solid var(--line);border-radius:24px;padding:0;animation:.4s ease-out slideUp;overflow:hidden}.spreadsheet-table{border-collapse:separate;border-spacing:0;table-layout:auto;width:100%;font-size:.85rem}.spreadsheet-th{text-align:left;border-bottom:2px solid var(--line);color:var(--muted);text-transform:uppercase;letter-spacing:1px;background:#ffffff08;padding:1.2rem 1rem;font-size:.7rem;font-weight:900}.spreadsheet-td{border-bottom:1px solid var(--line);padding:1.2rem 1rem}.spreadsheet-row{transition:background .3s}.spreadsheet-row.done{background:rgba(var(--brand-rgb), .08)}.spreadsheet-row.today{background:rgba(var(--brand-rgb), .03)}.day-cell{vertical-align:top;border-bottom:1px solid var(--line);border-right:1px solid var(--line);width:120px;padding:1.2rem 1rem}.day-label-main{font-size:1rem;font-weight:1000}.day-label-sub{opacity:.5;font-size:.65rem;font-weight:800}.sets-reps-pill{background:var(--card-strong);color:var(--muted);white-space:nowrap;border-radius:8px;padding:4px 10px;font-size:.75rem;font-weight:900}.sets-reps-pill.done{background:var(--brand);color:#052e16}.weight-time-cell{opacity:.8;white-space:nowrap;text-align:right;font-size:.8rem;font-weight:800}.exercise-name-cell{font-weight:700}.flex-center-gap{align-items:center;gap:.6rem;display:flex}@media (width<=768px){.spreadsheet-table{font-size:.75rem}.spreadsheet-th,.spreadsheet-td,.day-cell{padding:.8rem .6rem}.day-cell{width:90px}.day-label-main{font-size:.85rem}.day-label-sub{font-size:.6rem}}@media (width<=480px){.spreadsheet-table{font-size:.65rem}.spreadsheet-th,.spreadsheet-td,.day-cell{padding:.6rem .4rem}.day-cell{width:70px}.day-label-main{font-size:.75rem}.sets-reps-pill{padding:3px 6px;font-size:.65rem}.flex-center-gap{gap:.4rem}.flex-center-gap svg{width:14px;height:14px}}.strength-filters{gap:.8rem;margin-top:1.2rem;display:flex}.strength-filters>*{flex:1;min-width:0}@media (width<=600px){.strength-filters{flex-direction:column;gap:.6rem}.strength-filters>*{width:100%}}@keyframes slide-in-right{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes animate-pop{0%{opacity:0;transform:scale(.9)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.link-glow{animation:2s ease-in-out infinite link-pulse}@keyframes link-pulse{0%{box-shadow:0 0 0 0 rgba(var(--glow-rgb), .7)}70%{box-shadow:0 0 0 10px rgba(var(--glow-rgb), 0)}to{box-shadow:0 0 0 0 rgba(var(--glow-rgb), 0)}}.sanitize-input::placeholder{color:var(--muted);opacity:.35}@keyframes bounce-right{0%,to{transform:translateY(-50%)translate(0)}50%{transform:translateY(-50%)translate(5px)}}
