:root {
  --ink:#0d0f0c; --ink-2:#191c17; --paper:#efede4; --card:#faf8f0;
  --red:#df3b32; --red-dark:#98231d; --blue:#3486a8; --green:#6a9f4b;
  --line:#cbc6b7; --muted:#706e65; --white:#fff; --radius:18px;
  --shadow:0 12px 30px rgba(13,15,12,.12);
}
*{box-sizing:border-box}html{background:var(--ink)}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;min-height:100dvh;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button{cursor:pointer}.hidden{display:none!important}
.login-shell{display:grid;place-items:center;background:radial-gradient(circle at 20% 5%,#292d25 0,transparent 38%),var(--ink);padding:28px}.login-card{width:min(430px,100%);background:var(--card);border-top:7px solid var(--red);padding:34px 28px 30px;box-shadow:12px 12px 0 #000}.mark{display:grid;place-items:center;width:58px;height:58px;background:var(--ink);color:var(--card);border:4px solid var(--red);font:900 34px/1 Impact,sans-serif;margin-bottom:26px}.kicker{margin:0 0 7px;color:var(--red);font-size:10px;font-weight:900;letter-spacing:.18em}.kicker.hot{color:var(--red)}.kicker.blue{color:var(--blue)}.kicker.green{color:var(--green)}h1,h2{margin:0;font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;letter-spacing:.015em}h1{font-size:clamp(38px,12vw,64px);line-height:.94}h2{font-size:34px}.login-copy{color:var(--muted);margin:14px 0 30px}.login-form{display:grid;gap:16px}.form-error{margin:0;color:var(--red-dark);font-weight:800;font-size:13px}
label{display:block;color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}input,select{display:block;width:100%;min-height:52px;margin-top:7px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);padding:11px 13px;font-size:17px;box-shadow:none}input:focus,select:focus{outline:3px solid rgba(223,59,50,.18);border-color:var(--red)}
.primary-button,.secondary-button,.ghost-button{border:0;border-radius:12px;font-weight:900;letter-spacing:.04em}.primary-button{width:100%;min-height:56px;background:var(--red);color:#fff;text-transform:uppercase;box-shadow:0 5px 0 var(--red-dark);margin-top:8px}.primary-button:active{transform:translateY(3px);box-shadow:0 2px 0 var(--red-dark)}.primary-button:disabled{opacity:.55}.secondary-button{width:100%;min-height:50px;background:transparent;border:2px dashed var(--line);color:var(--ink);margin:6px 0 14px}.ghost-button{min-height:38px;background:#e9e5d9;color:var(--ink);padding:8px 12px;font-size:11px}.ghost-button:disabled{opacity:.45;cursor:default}
.app-header{position:sticky;top:0;z-index:10;display:flex;align-items:end;justify-content:space-between;background:var(--ink);color:#fff;padding:calc(18px + env(safe-area-inset-top)) 18px 18px;border-bottom:5px solid var(--red)}.app-header h1{font-size:34px}.logout{color:#aaa99f;text-decoration:none;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.1em;padding:10px}.app-main{width:min(760px,100%);margin:0 auto;padding:18px 14px calc(100px + env(safe-area-inset-bottom))}.screen{display:none}.screen.active{display:block}
.mode-switch{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:14px}.mode-button{min-height:70px;border:1px solid var(--line);border-radius:14px;background:#e4e0d4;color:var(--muted);font-weight:900;text-transform:uppercase;font-size:12px}.mode-button span{display:block;color:#999587;font:10px ui-monospace,monospace;margin-bottom:4px}.mode-button.active{background:var(--ink);color:#fff;border-color:var(--ink);box-shadow:0 5px 0 var(--red)}.mode-button.active span{color:#ef7169}
.mode-panel{display:none}.mode-panel.active{display:block}.workout-form{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}.workout-form>label,.workout-form>.field-pair,.workout-form>fieldset{margin-bottom:16px}.form-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.location-badge{background:var(--ink);color:#fff;border-radius:999px;padding:7px 11px;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}.activity-switch,.location-switch{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:0 0 18px}.activity,.location-choice,.edit-location-choice{min-height:48px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--muted);font-weight:900}.activity.active,.location-choice.active,.edit-location-choice.active{background:var(--ink);border-color:var(--ink);color:#fff}.location-switch{grid-template-columns:1fr 1fr;border:0;padding:0}.location-switch legend{grid-column:1/-1;color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;margin-bottom:7px}
.movement-groups{display:grid;gap:12px}.movement-card{border:1px solid var(--line);border-radius:14px;background:#f1eee5;padding:14px}.movement-card-head{display:grid;grid-template-columns:1fr 38px;gap:8px;align-items:end}.icon-button{border:0;border-radius:10px;background:#ddd8ca;color:var(--ink);width:38px;height:38px;font-size:24px;line-height:1}.icon-button:disabled{opacity:.25}.equipment-fields{grid-template-columns:1.7fr .7fr;margin-top:12px}.sets{display:grid;gap:7px;margin-top:14px}.set-row{display:grid;grid-template-columns:24px repeat(3,1fr) 32px;gap:5px;align-items:end;padding-top:7px;border-top:1px solid #d7d2c4}.set-row label{font-size:8px}.set-row input{min-height:44px;padding:8px;font-size:15px}.set-number{align-self:center;text-align:center;font:900 12px ui-monospace,monospace;color:var(--red)}.remove-set{width:32px;height:44px}.set-actions{display:flex;gap:7px;margin-top:10px}.set-actions .ghost-button{flex:1}
.bottom-nav{position:fixed;z-index:20;left:0;right:0;bottom:0;display:grid;grid-template-columns:1fr 1fr;background:rgba(13,15,12,.97);padding:8px 12px calc(8px + env(safe-area-inset-bottom));border-top:1px solid #3b3e37}.nav-button{min-height:58px;border:0;background:transparent;color:#777a72;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.nav-button span{display:block;font-size:22px;line-height:1.1}.nav-button.active{color:#fff}.nav-button.active span{color:var(--red)}
.history-head{display:flex;justify-content:space-between;align-items:end;margin:4px 2px 20px}.micro-stats{display:grid;grid-template-columns:auto auto;gap:1px 7px;align-items:baseline;text-align:right}.micro-stats b{font-size:16px}.micro-stats span{color:var(--muted);font-size:9px;text-transform:uppercase}.search-label{margin-bottom:16px}.history-list{display:grid;gap:14px}.history-day{background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden}.history-day>header{display:flex;justify-content:space-between;padding:13px 14px;background:var(--ink);color:#fff}.history-day time{font-size:12px;font-weight:900}.history-day header span{color:#8e9189;font-size:10px}.history-entry{display:grid;grid-template-columns:36px 1fr auto 14px;gap:10px;align-items:center;width:100%;border:0;border-top:1px solid #e2ded2;background:var(--card);padding:13px;text-align:left}.history-entry:first-of-type{border-top:0}.entry-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--ink);color:#fff}.entry-icon.sauna{background:var(--red)}.entry-icon.cardio{background:var(--blue)}.entry-icon.strength{background:var(--green)}.entry-body{min-width:0}.entry-body strong,.entry-body small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entry-body strong{font-size:14px;text-transform:capitalize}.entry-body small{color:var(--muted);font-size:11px;margin-top:3px}.entry-place{color:var(--muted);font-size:9px;font-weight:900;text-transform:uppercase}.chevron{font-size:24px;color:#aaa69a}.empty-history{text-align:center;color:var(--muted);padding:50px 20px}
.app-dialog{width:min(500px,calc(100% - 24px));max-height:calc(100dvh - 30px);border:0;border-top:6px solid var(--red);border-radius:16px;background:var(--card);padding:20px;box-shadow:0 25px 70px rgba(0,0,0,.45)}.app-dialog::backdrop{background:rgba(13,15,12,.78);backdrop-filter:blur(3px)}.dialog-head{display:flex;align-items:start;justify-content:space-between;margin-bottom:22px}.dialog-head .icon-button{margin-left:20px}.app-dialog label,.app-dialog .field-pair,.app-dialog fieldset{margin-bottom:15px}.audit-note{color:var(--muted);font-size:11px;line-height:1.5;border-left:3px solid var(--red);padding-left:10px}.toast{position:fixed;z-index:50;left:50%;bottom:calc(86px + env(safe-area-inset-bottom));transform:translate(-50%,20px);width:max-content;max-width:calc(100% - 30px);background:var(--ink);color:#fff;padding:13px 17px;border-radius:10px;font-size:12px;font-weight:800;opacity:0;pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}.toast.bad{background:var(--red-dark)}
@media(min-width:700px){.app-main{padding-top:28px}.workout-form{padding:28px}.app-header{padding-left:max(24px,calc((100vw - 760px)/2));padding-right:max(24px,calc((100vw - 760px)/2))}.bottom-nav{left:50%;right:auto;width:420px;transform:translateX(-50%);border:1px solid #3b3e37;border-bottom:0;border-radius:18px 18px 0 0}.set-row{grid-template-columns:30px repeat(3,1fr) 38px;gap:8px}}
@media(max-width:380px){.workout-form{padding:15px}.set-row{grid-template-columns:20px repeat(3,1fr) 28px}.set-row input{font-size:13px;padding:6px}.set-row label{letter-spacing:0}.remove-set{width:28px}.mode-button{font-size:10px}}
