:root{--paper:#f4f2ec;--paper-deep:#e8e4da;--ink:#0a0a0a;--ink-soft:#3d3d3d;--line:#0a0a0a;--accent:#c45c2a;--accent-hover:#a84c22;--danger:#8f2f2f;--success:#1f5c40;--input:#faf9f6;--font-brand:"Anton", "Arial Black", sans-serif;--font-display:"Barlow Condensed", "Arial Narrow", sans-serif;--font-body:"Barlow", "Segoe UI", sans-serif;--space:2.5rem;--motion:.15s ease}*{box-sizing:border-box}html,body,#root{min-height:100%}body{font-family:var(--font-body);color:var(--ink);background-color:#fff;background-image:radial-gradient(circle at 8% 12%, #0000000a, transparent 28%), radial-gradient(circle at 92% 80%, #00000009, transparent 32%), linear-gradient(180deg, #fff 0%, var(--paper) 55%, #efebe3 100%);-webkit-font-smoothing:antialiased;margin:0;line-height:1.45}button,input,select,textarea{font:inherit;color:inherit}.app-shell{z-index:1;width:min(1180px,100% - 2.5rem);margin:0 auto;padding:2rem 0 4rem;position:relative}.scene-stickers{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.sticker{aspect-ratio:1;object-fit:contain;opacity:.55;filter:contrast(1.08);border-radius:50%;width:clamp(88px,12vw,148px);height:auto;position:absolute}.sticker-dumbbell-a{width:clamp(100px,13vw,156px);top:8%;left:1.5%;transform:rotate(-14deg)}.sticker-barbell{opacity:.5;width:clamp(110px,14vw,168px);top:3%;right:2%;transform:rotate(11deg)}.sticker-plates{width:clamp(96px,12vw,140px);bottom:8%;right:6%;transform:rotate(-18deg)}.sticker-squatrack{opacity:.48;width:clamp(100px,13vw,150px);top:38%;right:1%;transform:rotate(7deg)}.sticker-bands{opacity:.5;width:clamp(92px,12vw,138px);bottom:16%;left:2%;transform:rotate(-8deg)}.sticker-kettle{opacity:.46;width:clamp(90px,11vw,132px);top:52%;left:5%;transform:rotate(16deg)}.sticker-dumbbell-b{opacity:.28;width:clamp(84px,10vw,120px);top:24%;left:36%;transform:rotate(-6deg)}.site-header{z-index:2;border-bottom:3px solid var(--ink);grid-template-columns:1fr auto;align-items:end;gap:1.25rem 2rem;margin-bottom:2.5rem;padding-bottom:1.25rem;display:grid;position:relative}.brand-lockup{align-items:center;gap:.85rem;display:flex}.brand-mark{border:2px solid var(--ink);flex-shrink:0;width:52px;height:52px;box-shadow:3px 3px #0003}.brand-name{font-family:var(--font-brand);letter-spacing:.02em;text-transform:uppercase;color:var(--ink);margin:0;font-size:clamp(3.4rem,10vw,5.8rem);font-weight:400;line-height:.85}.brand-name-log{color:var(--accent)}.brand-tagline{font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);margin:.45rem 0 0;font-size:.95rem;font-weight:600}.header-tools{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:1rem 1.5rem;padding-bottom:.35rem;display:flex}.site-nav{flex-wrap:wrap;gap:.15rem 1.35rem;display:flex}.nav-link{font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);transition:color var(--motion), border-color var(--motion);border-bottom:2px solid #0000;padding:.1rem 0;font-size:1.15rem;font-weight:600;text-decoration:none}.nav-link:hover{color:var(--ink)}.nav-link.active{color:var(--ink);border-bottom-color:var(--accent)}.auth-bar{align-items:center;gap:.75rem;display:flex}.auth-bar-email{text-overflow:ellipsis;white-space:nowrap;max-width:10rem;color:var(--ink-soft);font-size:.85rem;font-weight:500;overflow:hidden}.auth-bar-status{font-size:.85rem}.auth-gate{max-width:28rem;margin:3rem 0 0}.auth-gate-title{font-family:var(--font-display);text-transform:uppercase;letter-spacing:-.02em;margin:0 0 .75rem;font-size:clamp(2.8rem,8vw,4rem);font-weight:800;line-height:.95}.auth-gate-copy{color:var(--ink-soft);max-width:24rem;margin:0 0 1.75rem;font-size:1.05rem}.auth-gate-pending{margin-top:3rem}.auth-gate-loading{max-width:28rem;color:var(--ink-soft);margin:0;font-size:1.05rem;line-height:1.45}.page-content{z-index:2;box-shadow:none;background:0 0;border:none;border-radius:0;padding:0;position:relative}.page,.analytics-page{display:block}.page h1,.auth-gate-title{font-family:var(--font-display)}.page h1{letter-spacing:-.02em;text-transform:uppercase;margin:0;font-size:clamp(2.6rem,7vw,4.2rem);font-weight:800;line-height:.92}.page-lead,.section-sub{max-width:36rem;color:var(--ink-soft);margin:.85rem 0 0;font-size:1.02rem;font-weight:400}.page>.page-lead,.analytics-page>.page-lead{margin-bottom:var(--space)}.content-section{margin-top:var(--space);padding-top:var(--space);border-top:1px solid var(--ink)}.content-section:first-of-type{margin-top:0}.section-heading{margin-bottom:1.25rem}.section-heading h2,.section-heading h3,.add-exercise-form h2,.sets-header h2,.sets-header h3,.detail-panel h2,.nl-log-preview h3{font-family:var(--font-display);letter-spacing:-.01em;text-transform:uppercase;margin:0;font-size:clamp(1.6rem,3.5vw,2.1rem);font-weight:700;line-height:1}.section-heading-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem 1.5rem;margin-bottom:1.25rem;display:flex}.field-inline{min-width:12rem}.workout-form,.log-workout-layout,.nl-log-section form{gap:1.15rem;display:grid}.form-grid{gap:.9rem;display:grid}.form-grid.two-col,.set-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.field{gap:.35rem;display:grid}.field span{font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);font-size:.95rem;font-weight:600}.field input,.field select,.nl-log-textarea,.set-input{border:none;border-bottom:1.5px solid var(--ink);width:100%;color:var(--ink);background:0 0;border-radius:0;padding:.55rem .1rem}.field input:focus,.field select:focus,.nl-log-textarea:focus,.set-input:focus{border-bottom-color:var(--accent);background:#0c1a2e08;outline:none}.nl-log-textarea{resize:vertical;border:1.5px solid var(--ink);background:var(--input);min-height:7rem;padding:.75rem}.nl-log-textarea:focus{border-color:var(--accent);background:var(--input)}.field-span-2{grid-column:1/-1}.checkbox-field{align-content:center}.checkbox-field input[type=checkbox]{justify-self:start;width:auto}.add-exercise-form{margin-top:var(--space);padding-top:var(--space);border-top:1px solid var(--ink);gap:.9rem;display:grid}.add-exercise-form h3{font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:1.05rem;font-weight:700}.library-subform{gap:.9rem;display:grid}.library-subform+.library-subform{border-top:1px dashed var(--ink);padding-top:1rem}.exercise-blocks{gap:0;display:grid}.exercise-block{border-bottom:1px solid var(--ink);background:0 0;border-radius:0;gap:.85rem;padding:1.15rem 0;display:grid}.exercise-block:first-child{border-top:1px solid var(--ink)}.block-exercise-row{flex-wrap:wrap;align-items:flex-end;gap:.75rem;display:flex}.block-exercise-row .field:first-child{flex:200px}.sets-block{gap:.5rem;display:grid}.sets-header{justify-content:space-between;align-items:center;display:flex}.sets-table-wrap{overflow-x:auto}.sets-table{border-collapse:collapse;width:100%;margin-top:.35rem}.sets-table th,.sets-table td{text-align:left;vertical-align:middle;border-bottom:1px solid #0c1a2e33;padding:.65rem .4rem}.sets-table th{font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);border-bottom-color:var(--ink);font-size:.9rem;font-weight:600}.set-num{color:var(--ink-soft);text-align:center;width:1.5rem}.set-input{width:5rem;padding:.35rem .15rem}.btn-sm{padding:.25rem .55rem;font-size:.85rem}.set-row{border:none;border-bottom:1px solid var(--ink);background:0 0;border-radius:0;margin:0;padding:.85rem 0}.set-row legend{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.04em;padding:0;font-weight:700}.field-action{align-content:end}.btn{border:1.5px solid var(--ink);cursor:pointer;font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;transition:background var(--motion), color var(--motion), border-color var(--motion);background:0 0;border-radius:0;padding:.55rem 1.1rem;font-size:1rem;font-weight:700}.btn:active:not(:disabled){transform:translateY(1px)}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.btn:disabled{opacity:.4;cursor:not-allowed}.btn.primary{background:var(--ink);color:var(--paper);border-color:var(--ink);justify-self:start;min-width:9rem}.btn.primary:hover:not(:disabled){background:var(--accent);border-color:var(--accent);color:#fff}.btn.ghost{color:var(--ink);background:0 0}.btn.ghost:hover:not(:disabled){background:var(--ink);color:var(--paper)}.btn.danger{border-color:var(--danger);color:var(--danger);background:0 0}.btn.danger:hover:not(:disabled){background:var(--danger);color:var(--paper)}.btn.compact{min-width:0;padding:.35rem .7rem;font-size:.9rem}.status{border-left:3px solid;border-radius:0;margin:0;padding:.65rem 0 .65rem .75rem;font-size:.95rem}.status.error{color:var(--danger);background:0 0}.status.success{color:var(--success);background:0 0}.status.muted,.muted{color:var(--ink-soft)}.empty-state{padding:1.5rem 0}.history-layout{gap:0;display:grid}.workout-list{border-top:2px solid var(--ink);margin:0;padding:0;list-style:none}.workout-list-item{border-bottom:1px solid var(--ink);grid-template-columns:1fr auto;align-items:stretch;gap:.75rem;display:grid}.workout-summary{text-align:left;cursor:pointer;transition:background var(--motion);background:0 0;border:none;border-radius:0;grid-template-columns:7.5rem 1fr;align-items:baseline;gap:1rem;padding:1rem .15rem;display:grid}.workout-summary:hover,.workout-summary.selected{background:#0c1a2e0a}.workout-summary.selected .summary-date{color:var(--accent)}.summary-date{font-family:var(--font-display);letter-spacing:.02em;text-transform:uppercase;font-size:1.35rem;font-weight:700}.summary-meta{color:var(--ink-soft);font-size:1rem}.detail-panel{margin-top:var(--space);padding-top:var(--space);border-top:2px solid var(--ink)}.analytics-controls{margin-bottom:var(--space);padding-bottom:var(--space);border-bottom:1px solid var(--ink);grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.chart-wrap{width:100%;min-height:240px;margin-top:.5rem}.chart-caption{margin:0;font-size:.95rem}.pr-list{border-top:2px solid var(--ink);gap:0;display:grid}.pr-row{border-bottom:1px solid var(--ink);grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);align-items:start;gap:1rem 2rem;padding:1.15rem 0;display:grid}.pr-row-group{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin:0;font-size:.85rem;font-weight:600}.pr-row-title{font-family:var(--font-display);text-transform:uppercase;letter-spacing:-.01em;margin:.15rem 0 0;font-size:1.55rem;font-weight:700;line-height:1}.pr-row-stats{grid-template-columns:1fr 1fr;gap:.75rem 1.5rem;display:grid}.pr-stat-label{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);font-size:.8rem;font-weight:600;display:block}.pr-stat-value{font-family:var(--font-display);margin:.2rem 0 0;font-size:1.45rem;font-weight:700;line-height:1}.pr-stat-date{color:var(--ink-soft);margin:.25rem 0 0;font-size:.85rem}.suggestion-list{border-top:2px solid var(--ink);gap:0;display:grid}.suggestion-row{border-bottom:1px solid var(--ink);padding:1.15rem 0}.suggestion-row-top{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem 1.25rem;margin-bottom:.4rem;display:flex}.suggestion-row-top h3{font-family:var(--font-display);text-transform:uppercase;margin:0;font-size:1.45rem;font-weight:700;line-height:1}.suggestion-tag{font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;color:var(--accent);font-size:.95rem;font-weight:700}.suggestion-message{max-width:42rem;margin:0;font-size:1rem}.suggestion-target{margin:.45rem 0 0;font-size:1rem}.suggestion-meta{margin:.35rem 0 0;font-size:.88rem}.plateau-suggestions{color:var(--ink-soft);margin:.55rem 0 0;padding-left:1.15rem}.plateau-suggestions li+li{margin-top:.2rem}.nl-log-preview{border-top:1px solid var(--ink);margin-top:1.25rem;padding-top:1.25rem}.nl-log-warnings,.nl-log-block-list{margin:0 0 .75rem;padding-left:1.15rem}.nl-log-block-list li+li,.nl-log-warnings li+li{margin-top:.3rem}.nl-log-meta,.training-summary-meta{color:var(--ink-soft);margin:0 0 .75rem;font-size:.82rem}.summary-body{max-width:40rem;margin-top:.25rem}.training-summary-text{margin:0 0 1rem;font-size:1.05rem;line-height:1.55}.training-summary-highlights{margin:0 0 1rem;padding-left:1.15rem}.training-summary-highlights li+li{margin-top:.3rem}.overload-panel,.plateau-panel,.chart-block,.nl-log-panel,.training-summary-panel{margin-top:var(--space);padding-top:var(--space);border-top:1px solid var(--ink)}.paper-card{border:2.5px solid var(--ink);background:#fff;padding:clamp(1.15rem,3vw,1.75rem);box-shadow:7px 7px #000000d9}.paper-card-flat{transform:none;box-shadow:5px 5px #000000bf}.paper-card-tilt-a{transform:rotate(-.8deg)}.paper-card-tilt-b{transform:rotate(1.6deg)}.paper-card-tilt-c{transform:rotate(-1.4deg)}.exhibition-page{position:relative}.exhibition-intro,.exhibition-stage{z-index:1;position:relative}.exhibition-kicker{font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:0 0 .35rem;font-size:.95rem;font-weight:700}.exhibition-stage{grid-template-columns:minmax(0,1.7fr) minmax(180px,.55fr);align-items:start;gap:1.25rem 1.5rem;margin-top:1.5rem;display:grid}.side-note{color:#f5f5f5;background:#0a0a0a;border-color:#0a0a0a;padding:1rem 1.1rem;box-shadow:6px 6px #c45c2a8c}.side-note-label{font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin:0 0 .45rem;font-size:.9rem;font-weight:700}.side-note-body{color:#f5f5f5e0;margin:0;font-size:.95rem;line-height:1.45}.log-desk,.history-desk{margin-top:0}.embed-section{gap:.85rem;display:grid}.embed-lead{margin:0 0 .5rem}.panel-stack{gap:1.25rem;display:grid}.analytics-controls-single{border-bottom:none;grid-template-columns:minmax(0,16rem);margin-bottom:0;padding-bottom:0}.suggestion-cards{border-top:none;gap:.85rem;display:grid}.suggestion-cards .suggestion-row{border:2px solid var(--ink);background:var(--input);border-bottom:2px solid var(--ink);padding:1rem 1.05rem;transform:rotate(-.6deg);box-shadow:3px 3px #0c1a2e14}.suggestion-cards .suggestion-row:nth-child(2n){transform:rotate(.55deg)}.suggestion-cards .suggestion-row:nth-child(3n){transform:rotate(-.25deg)}.pr-cards{border-top:none;gap:.85rem;display:grid}.pr-cards .pr-row{border:2px solid var(--ink);background:var(--input);border-bottom:2px solid var(--ink);padding:1rem 1.1rem;transform:rotate(.45deg);box-shadow:3px 3px #0c1a2e14}.pr-cards .pr-row:nth-child(2n){transform:rotate(-.5deg)}.board-howto{font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:.45rem .7rem;margin:1.15rem 0 0;font-size:1rem;font-weight:600;display:flex}.board-howto-mark{border:1.5px solid var(--ink);background:var(--accent);color:#fff;justify-content:center;align-items:center;min-width:1.6rem;height:1.6rem;margin-right:.15rem;padding:0 .25rem;font-size:.85rem;display:inline-flex}.analytics-board{border:3px solid var(--ink);background-color:#f7f5f0;background-image:repeating-linear-gradient(-18deg,#0000,#0000 11px,#0a0a0a08 11px 12px),linear-gradient(#0a0a0a0a 1px,#0000 1px),linear-gradient(90deg,#0a0a0a0a 1px,#0000 1px),radial-gradient(circle at 16% 20%,#0000000d,#0000 32%),radial-gradient(circle at 84% 72%,#0000000b,#0000 34%),linear-gradient(145deg,#fff 0%,#f4f0e8 50%,#ebe6db 100%);background-size:auto,28px 28px,28px 28px,auto,auto,auto;min-height:640px;margin-top:1.75rem;position:relative;overflow:hidden}.analytics-board:before{content:"";pointer-events:none;z-index:0;border:1.5px dashed #0a0a0a1f;position:absolute;inset:12% 8%;transform:rotate(-1.2deg)}.analytics-board:after{content:"FIT · LOAD · REPEAT";z-index:0;font-family:var(--font-brand);letter-spacing:.08em;color:#0a0a0a;opacity:.05;white-space:nowrap;pointer-events:none;font-size:clamp(2.2rem,6vw,4.2rem);position:absolute;top:48%;left:50%;transform:translate(-50%,-50%)rotate(-9deg)}.board-deco{pointer-events:none;z-index:0;position:absolute}.board-deco-stamp{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--ink);opacity:.04;font-size:5rem;font-weight:800;top:44%;left:42%;transform:rotate(-8deg)}.board-tile{z-index:1;border:2.5px solid var(--ink);color:#efebe3;text-align:left;cursor:pointer;isolation:isolate;background-color:#1a1a1a;flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:.35rem;min-height:150px;padding:1.1rem 1.15rem;transition:transform .18s,box-shadow .18s;display:flex;position:absolute;overflow:hidden;box-shadow:6px 6px #0a0a0a}.board-tile-photo{object-fit:cover;object-position:center;z-index:0;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.board-tile-shade{z-index:1;pointer-events:none;background:linear-gradient(165deg,#ffffff6b 0%,#ffffff8c 45%,#ffffffad 100%);position:absolute;inset:0}.board-tile-kicker,.board-tile-title,.board-tile-open{z-index:2;position:relative}.board-tile:hover,.board-tile:focus-visible{z-index:3;outline:none;box-shadow:9px 9px #0a0a0a}.board-tile:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.board-tile-kicker{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-size:.85rem;font-weight:600}.board-tile-title{font-family:var(--font-display);letter-spacing:-.01em;text-transform:uppercase;color:#f0ece4;text-shadow:0 1px 2px #0006;font-size:clamp(1.45rem,3vw,1.9rem);font-weight:800;line-height:.95}.board-tile-open{font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;color:#ddd8ce;text-shadow:0 1px 2px #00000059;opacity:.95;margin-top:.45rem;font-size:.95rem;font-weight:700}.board-tile-overload{width:min(300px,42%);top:7%;left:4%;transform:rotate(-2.4deg)}.board-tile-overload:hover{transform:rotate(-1.2deg)translateY(-3px)}.board-tile-plateau{width:min(250px,36%);top:10%;right:5%;transform:rotate(2.1deg)}.board-tile-plateau:hover{transform:rotate(1deg)translateY(-3px)}.board-tile-history{width:min(300px,42%);top:38%;left:50%;transform:translate(-50%)rotate(1.2deg)}.board-tile-history:hover{transform:translate(-50%)rotate(.3deg)translateY(-3px)}.board-tile-volume{width:min(260px,38%);bottom:9%;left:6%;transform:rotate(-1.6deg)}.board-tile-volume .board-tile-kicker{color:var(--accent)}.board-tile-volume:hover{transform:rotate(-.6deg)translateY(-3px)}.board-tile-prs{width:min(290px,40%);min-height:170px;bottom:12%;right:8%;transform:rotate(2.6deg)}.board-tile-prs:hover{transform:rotate(1.4deg)translateY(-3px)}.analytics-overlay{z-index:40;background:#0c1a2e73;place-items:center;padding:1.25rem;display:grid;position:fixed;inset:0}.analytics-panel{background:#fff;width:min(860px,100%);max-height:min(88vh,900px);overflow:auto;transform:rotate(-.4deg)}.analytics-panel-header{border-bottom:2px solid var(--ink);z-index:1;background:#fff;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1rem;margin-bottom:1.25rem;padding-bottom:.85rem;display:flex;position:sticky;top:0}.analytics-panel-header h2{font-family:var(--font-display);text-transform:uppercase;letter-spacing:-.015em;margin:0;font-size:clamp(1.8rem,4vw,2.4rem);font-weight:800;line-height:.95}.analytics-panel-body .content-section,.analytics-panel-body .embed-section{border-top:none;margin-top:0;padding-top:0}.analytics-panel-body .analytics-controls{margin-bottom:1rem;padding-bottom:1rem}@media (width<=760px){.site-header{grid-template-columns:1fr}.header-tools{justify-content:flex-start}.analytics-controls,.form-grid.two-col,.set-grid,.pr-row,.pr-row-stats,.workout-summary{grid-template-columns:1fr}.workout-summary{gap:.25rem}.analytics-board{gap:1rem;min-height:0;padding:1rem;display:grid;overflow:visible}.board-deco{display:none}.board-tile{min-height:120px;position:relative;transform:rotate(-.8deg);width:100%!important;inset:auto!important}.board-tile:nth-child(2n){transform:rotate(.8deg)}.board-tile:hover,.board-tile-overload:hover,.board-tile-plateau:hover,.board-tile-history:hover,.board-tile-volume:hover,.board-tile-prs:hover{transform:translateY(-2px)}.exhibition-stage{grid-template-columns:1fr}.side-note{order:-1;max-width:20rem}.paper-card-tilt-a,.paper-card-tilt-b,.paper-card-tilt-c,.log-desk,.analytics-panel{transform:none}.board-tile-history{transform:none!important}.board-tile-history:hover{transform:translateY(-2px)!important}.sticker-dumbbell-b,.sticker-kettle{display:none}.suggestion-cards .suggestion-row,.pr-cards .pr-row{transform:none}}
