:root{color-scheme:dark;--bg:#121212;--surface:#1a1a1a;--surface-elevated:#242424;--text:#eeeeee;--muted:#a3a3a3;--primary:#d32f2f;--primary-soft:rgba(211,47,47,0.22);--accent:#ff6e40;--accent-text:#121212;--accent-soft:rgba(255,110,64,0.18);--border:#2e2e2e;--danger:#ef5350;--danger-soft:rgba(239,83,80,0.18);--success:#ff6e40;--success-soft:rgba(255,110,64,0.16);--radius:16px;--shadow:0 12px 36px rgba(0,0,0,0.5);--one-rm-series-0:#e53935;--one-rm-series-1:#ff6e40;--one-rm-series-2:#ffb74d;--one-rm-series-3:#e0e0e0;--one-rm-series-4:#ef9a9a;--one-rm-series-5:#80cbc4}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:radial-gradient(ellipse 120% 80% at 50% -20%,rgba(211,47,47,.18),transparent 55%),linear-gradient(180deg,#161616 0,var(--bg) 45%,#0e0e0e 100%);color:var(--text);font-family:Segoe UI,system-ui,-apple-system,sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit}.page{width:min(720px,100%);margin:0 auto;padding:1.25rem 1rem 2.5rem;flex-direction:column}.page,.page__header{display:flex;gap:1rem}.page__header{align-items:flex-start;justify-content:space-between;flex-wrap:wrap}.page__header>div:first-child,.page__heading{flex:1 1;min-width:0}.page__header--inline{align-items:flex-start;flex-wrap:nowrap;gap:.75rem}.page__header-side{flex-shrink:0;align-self:flex-start;margin-top:.1rem}.page__header-actions{display:flex;flex-shrink:0;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:.5rem;margin-top:.1rem}.page__title{margin:.25rem 0 0;font-size:clamp(1.75rem,5vw,2.25rem);letter-spacing:-.02em}.page__eyebrow{margin:0;color:var(--primary);font-size:.875rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.page__meta{margin:.35rem 0 0;font-size:.875rem}.page__meta,.page__meta--locked{color:var(--muted)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1rem}.card form,form.card{display:flex;flex-direction:column;gap:1rem}.card__title{margin:0 0 .75rem;font-size:1rem}.card__header-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-bottom:.75rem}.card__meta{color:var(--muted);font-size:.875rem}.field{display:flex;flex-direction:column;gap:.65rem}.field__label{font-size:.875rem;font-weight:600}.field__input{min-height:48px;padding:.75rem 1rem;border:1px solid var(--border);border-radius:12px;background:var(--surface-elevated);color:var(--text)}.field__input:focus{outline:2px solid var(--primary);outline-offset:1px;border-color:var(--primary)}.field__control{position:relative}.field__input--with-clear{padding-right:2.5rem}.field__clear{position:absolute;top:50%;right:.35rem;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:none;border-radius:8px;background:transparent;color:var(--muted);font-size:1.35rem;line-height:1;cursor:pointer}.field__clear:hover{color:var(--text);background:rgba(255,255,255,.06)}.field__input--large{min-height:56px;font-size:1.25rem;font-weight:600}.field__input--1rm-default{color:var(--muted)}.chip{min-height:48px;padding:.75rem 1rem;border:1px solid var(--border);border-radius:999px;background:var(--surface-elevated);color:var(--text);cursor:pointer}.chip--active{background:var(--primary-soft);border-color:var(--primary);color:#ffcdd2;font-weight:700}.lift-picker,.unit-toggle{display:grid;grid-gap:.5rem;gap:.5rem}.lift-picker{grid-template-columns:repeat(3,minmax(0,1fr))}.unit-toggle{grid-template-columns:repeat(2,minmax(0,1fr))}.chip-row{display:flex;flex-wrap:wrap;gap:.5rem}.lift-picker .chip,.unit-toggle .chip{width:100%;touch-action:manipulation}.card--readonly{background:#161616}.field-badge{display:inline-flex;align-items:center;padding:.2rem .55rem;border-radius:999px;font-size:.75rem;font-weight:700}.field-badge--locked{background:var(--surface-elevated);color:var(--muted);border:1px solid var(--border)}.chip--locked{opacity:.45;cursor:not-allowed}.chip--active.chip--locked{opacity:1;background:var(--primary-soft);border:2px solid var(--accent);color:#ffab91;font-weight:700;box-shadow:0 0 0 1px rgba(255,110,64,.25)}.lift-picker--locked{pointer-events:none}.card--lift{position:relative;z-index:2}.card--sets-edit{display:flex;flex-direction:column;gap:1rem}.card--sets-edit .sets-panel__header{margin-bottom:0}.card--sets-edit>.field__hint--section{margin:-.25rem 0 .25rem}.card--sets-edit .set-list,.card--sets-edit>.empty-state{margin-top:.15rem}.sets-panel--add{display:flex;flex-direction:column;gap:.75rem;margin-top:.5rem;padding-top:1.25rem;border-top:1px solid var(--border)}.sets-panel--add .card__title,.sets-panel--add .field__hint--section{margin:0}.set-card--editable{display:flex;flex-direction:column;gap:.75rem}.set-card__stats--preview{margin:0;color:var(--muted);font-size:.875rem}.field__hint{margin:0;color:var(--muted);font-size:.8125rem;line-height:1.45}.field__hint--under-control{margin:.15rem 0 0}.field__hint--section{margin:.35rem 0 .85rem}.field__hint--locked{margin:.15rem 0 .5rem;color:var(--muted);font-size:.8125rem;font-style:italic;line-height:1.45}.suggestion-list{list-style:none;margin:.5rem 0 0;padding:0;display:flex;flex-direction:column;gap:.5rem}.suggestion-list__item{width:100%;min-height:48px;padding:.75rem 1rem;border:1px solid var(--border);border-radius:12px;background:var(--surface-elevated);color:var(--text);display:flex;align-items:center;justify-content:space-between;gap:.75rem;cursor:pointer;text-align:left}.suggestion-list__item>span:first-child{flex:1 1;min-width:0;overflow-wrap:anywhere}.suggestion-list__meta{color:var(--muted);font-size:.75rem;flex-shrink:0}.set-form{display:flex;flex-direction:column;gap:.75rem}.set-form__row{display:flex;flex-wrap:nowrap;align-items:end;gap:.5rem}.set-form__weight{flex:0 1 6.5rem;min-width:4.75rem;max-width:7.5rem}.set-form__reps{flex:0 1 4.5rem;min-width:3.5rem;max-width:5rem}.set-form__units{flex:0 0 auto;display:inline-flex;gap:.35rem;align-items:center}.set-form__units.unit-toggle{display:inline-flex;grid-template-columns:none}.set-form__units .chip{width:auto;min-width:2.75rem;min-height:40px;padding:.4rem .65rem;font-size:.875rem}.set-form .field__input--large,.set-form__row .field__input--large{min-height:40px;padding:.45rem .65rem;font-size:1rem}.set-form__row--editable{margin-top:.25rem}.set-form__footer{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.set-form__footer .checkbox-row{min-height:0;flex:1 1;min-width:0}.set-form__add{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;min-width:3.25rem;height:2rem;font-size:.8125rem;line-height:1;border-radius:10px}.button.set-form__add,.set-form__add{min-height:2rem;padding:0 .75rem}.checkbox-row{min-height:48px;display:flex;align-items:center;gap:.75rem}.checkbox-row input{width:1.25rem;height:1.25rem}.button{min-height:48px;padding:.75rem 1rem;border-radius:12px;border:1px solid transparent;cursor:pointer;font-weight:600}.button--primary{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.button--primary:hover:not(:disabled){filter:brightness(1.05)}.button--ghost{background:transparent;border-color:var(--border);color:var(--text)}.button--ghost:hover:not(:disabled){border-color:var(--primary);color:#ffcdd2}.button--block{width:100%}.button:disabled{opacity:.5;cursor:not-allowed}.app-nav{border-bottom:1px solid var(--border);background:var(--surface)}.app-nav__bar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;grid-gap:.75rem;gap:.75rem;min-height:3.25rem;padding:.5rem 1rem}.app-nav__slot{display:flex;align-items:center;min-width:0}.app-nav__slot--end{justify-content:flex-end}.app-nav__brand{justify-self:center;font-weight:800;letter-spacing:.04em;color:var(--primary);text-decoration:none;font-size:1.05rem}.app-nav__desktop{display:none;flex-wrap:wrap;gap:.85rem;align-items:center;justify-content:flex-end}.app-nav__menu-toggle{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;padding:0;border:1px solid var(--border);border-radius:10px;background:var(--surface-elevated);color:var(--text);cursor:pointer}.app-nav__menu-toggle:hover{border-color:rgba(255,110,64,.45);color:var(--accent)}.app-nav__menu-icon{display:flex;flex-direction:column;justify-content:space-between;width:1.05rem;height:.75rem}.app-nav__menu-icon span{display:block;height:2px;border-radius:1px;background:currentColor;transition:transform .16s ease,opacity .16s ease;transform-origin:center}.app-nav--open .app-nav__menu-icon span:first-child{transform:translateY(5px) rotate(45deg)}.app-nav--open .app-nav__menu-icon span:nth-child(2){opacity:0}.app-nav--open .app-nav__menu-icon span:nth-child(3){transform:translateY(-5px) rotate(-45deg)}.app-nav__panel{display:flex;flex-direction:column;gap:.15rem;padding:.35rem .75rem .85rem;border-top:1px solid var(--border);background:linear-gradient(180deg,var(--surface-elevated) 0,var(--surface) 100%)}.app-nav__panel[hidden]{display:none}.app-nav__panel .app-nav__button,.app-nav__panel .app-nav__link{display:block;width:100%;padding:.85rem .75rem;text-align:left;border-radius:10px}.app-nav__panel .app-nav__button:hover,.app-nav__panel .app-nav__link:hover{background:rgba(255,110,64,.1)}.app-nav__link{color:var(--muted);text-decoration:none;font-size:.95rem}.app-nav__link:hover{color:var(--accent)}.app-nav__button{background:none;border:none;padding:0;cursor:pointer;font:inherit;color:inherit;text-align:inherit}@media (min-width:641px){.app-nav__menu-toggle{display:none}.app-nav__desktop{display:flex}.app-nav__panel{display:none}}.login-actions{display:flex;flex-direction:column;gap:.75rem;width:min(100%,22rem)}.sso-button{position:relative;display:flex;align-items:center;justify-content:center;width:100%;min-height:3.25rem;padding:.75rem 1rem .75rem 3.25rem;border:1px solid transparent;border-radius:8px;cursor:pointer;font:inherit;font-size:.95rem;font-weight:600;letter-spacing:-.01em;transition:filter .12s ease,transform .12s ease}.sso-button:hover:not(:disabled){filter:brightness(.97)}.sso-button:active:not(:disabled){transform:translateY(1px)}.sso-button__icon{position:absolute;left:1rem;display:inline-flex;align-items:center;justify-content:center;width:1.35rem;height:1.35rem}.sso-button__logo{width:1.35rem;height:1.35rem;display:block}.sso-button__label{text-align:center}.sso-button--google{background:#ffffff;color:#191919;border-color:#dadce0}.sso-button--kakao{background:#fee500;color:#191919;border-color:#fee500}.sso-button--apple{background:#000000;color:#ffffff;border-color:#000000}.sso-button--apple .sso-button__logo{color:#ffffff}.action-bar{display:flex;gap:.75rem;justify-content:flex-end}.history-list,.set-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.history-card,.set-card{border:1px solid var(--border);border-radius:14px;padding:.875rem 1rem;background:var(--surface-elevated)}.set-card__header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.history-card__title,.set-card__title{margin:0;font-weight:700;flex:1 1;min-width:0;overflow-wrap:anywhere}.history-card{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.history-card__content{flex:1 1;min-width:0}.history-card__sets{list-style:none;margin:.65rem 0 0;padding:0;display:flex;flex-direction:column;gap:.35rem}.history-card__set{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.history-card__set-stats{margin:0;color:var(--text);font-weight:600;font-size:.9375rem}.history-card__meta,.set-card__stats{margin:.35rem 0 0;color:var(--muted)}.history-card__actions{display:flex;gap:.5rem;flex-shrink:0}.set-card__estimate{margin:.75rem 0 0;display:flex;flex-direction:column;gap:.25rem}.set-card__estimate-label{color:var(--muted);font-size:.8125rem}.set-card__estimate-value{font-size:1.125rem;font-weight:700;color:var(--accent)}.badge{display:inline-flex;margin-top:.5rem;padding:.25rem .625rem;border-radius:999px;font-size:.75rem;font-weight:700}.badge--actual{background:var(--primary-soft);color:#ffcdd2;border:1px solid var(--primary)}.form-error{margin:0;padding:.75rem 1rem;border-radius:12px;background:var(--danger-soft);color:var(--danger);font-weight:600}.sets-panel{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--border)}.sets-panel__header{margin-bottom:.75rem}.status-message--success{margin:0 0 .75rem;padding:.75rem 1rem;border-radius:12px;background:var(--success-soft);color:var(--accent);border:1px solid rgba(255,110,64,.4);font-weight:600}.empty-state,.status-message{color:var(--muted)}.one-rm-chart{margin:0}.one-rm-chart__svg{width:100%;height:auto;display:block}.one-rm-chart__axis{stroke:var(--border);stroke-width:1}.one-rm-chart__grid{stroke:#333333;stroke-width:1;stroke-dasharray:3 4}.one-rm-chart__axis-label,.one-rm-chart__month-label,.one-rm-chart__tick{fill:var(--muted);font-size:10px}.one-rm-chart__month-label{font-size:11px;font-weight:600}.one-rm-chart__toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.5rem}.one-rm-chart__mode{font-size:.8125rem;font-weight:700;color:var(--text)}.one-rm-chart__hint{font-size:.75rem;color:var(--muted)}.one-rm-chart__clear{min-height:36px;padding:.35rem .75rem;font-size:.8125rem}.one-rm-chart__line{fill:none;stroke:var(--one-rm-series-0);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.one-rm-chart__point{fill:var(--one-rm-series-0);stroke:var(--bg);stroke-width:1.5}.one-rm-chart__point--selected{stroke:var(--text);stroke-width:2.5}.one-rm-chart__legend{display:flex;flex-wrap:wrap;gap:.65rem 1rem;list-style:none;margin:.75rem 0 0;padding:0}.one-rm-chart__legend-item{display:inline-flex;align-items:center;gap:.4rem;font-size:.8125rem;color:var(--muted)}.one-rm-chart__legend-swatch{width:.65rem;height:.65rem;border-radius:2px;flex-shrink:0}.one-rm-chart__crosshair{stroke:var(--accent);stroke-width:1.5;stroke-dasharray:4 3;opacity:.9}.one-rm-chart__weight-badge{fill:var(--accent)}.one-rm-chart__weight-badge-text{fill:var(--accent-text);font-size:11px;font-weight:700}.one-rm-chart__selection-meta{margin:.5rem 0 0;font-size:.875rem;font-weight:600}.one-rm-chart__caption{margin:.75rem 0 0;color:var(--muted);font-size:.8125rem}.one-rm-records{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.one-rm-records__item{display:grid;grid-template-columns:6.5rem 1fr;grid-gap:.35rem .75rem;gap:.35rem .75rem;padding:.65rem .75rem;border:1px solid var(--border);border-radius:12px;background:var(--surface-elevated)}.one-rm-records__date{font-weight:600}.one-rm-records__weight{font-weight:700;text-align:right;color:var(--accent)}.one-rm-records__meta{grid-column:1/-1;color:var(--muted);font-size:.875rem}.home{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:1.5rem;text-align:center}.home h1{margin:0;font-size:clamp(2.5rem,10vw,4rem);font-weight:800;letter-spacing:.04em;color:var(--primary);text-shadow:0 0 40px rgba(211,47,47,.35)}.home p{margin:0;color:var(--muted);max-width:28rem}.home__actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9em;color:var(--accent)}@media (max-width:768px){.set-form__row{flex-wrap:wrap}.set-form__weight{flex:1 1 6rem;max-width:none}.set-form__reps{flex:0 1 4.5rem}}@media (max-width:640px){.lift-picker,.unit-toggle:not(.set-form__units){grid-template-columns:1fr}.page__header:not(.page__header--inline){flex-direction:column;align-items:stretch}.page__header:not(.page__header--inline) .button{align-self:flex-start}.action-bar,.set-card__header{flex-direction:column}.set-card__header{align-items:stretch}.history-card{flex-direction:column}.history-card__actions{width:100%;justify-content:flex-end}}