@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(./barlow-condensed-latin-600-normal-DepVgxBB.woff2)format("woff2"),url(./barlow-condensed-latin-600-normal-BFJEwTuo.woff)format("woff")}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:800;src:url(./barlow-condensed-latin-800-normal-BKzMuPgK.woff2)format("woff2"),url(./barlow-condensed-latin-800-normal-e9GbPXiK.woff)format("woff")}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b0c0a;--surface:#161814;--surface-2:#20231d;--surface-3:#2c3027;--border:#31362b;--text:#f3f5ee;--text-2:#c5cabb;--text-3:#8c9283;--accent:#d4ff3a;--accent-ink:#0b0c0a;--accent-soft:#d4ff3a21;--protein:#2fbf8a;--carbs:#e0a100;--fat:#9085e9;--good:#d4ff3a;--warn:#ffb020;--danger:#ff6b5e;--grid:#262a22;--bar:#9aa0a6;--win:#d4ff3a;--loss:#ff6b5e;--status-good:#3ccf7a;--status-warn:#f2b630;--status-bad:#ff5f57;--status-low:#6aa3ff;--radius:18px;--radius-sm:12px;--tabbar-h:64px;--safe-bottom:env(safe-area-inset-bottom,0px);--safe-top:env(safe-area-inset-top,0px);--font-display:"Barlow Condensed", "Arial Narrow", system-ui, sans-serif;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.45}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f2f3ee;--surface:#fff;--surface-2:#eef0e8;--surface-3:#e0e3d8;--border:#d9dccf;--text:#12140f;--text-2:#4c5045;--text-3:#73786b;--accent:#4a6b00;--accent-ink:#fff;--accent-soft:#4a6b001f;--protein:#148a60;--carbs:#b07400;--fat:#6250d6;--good:#4a6b00;--danger:#c93c3b;--grid:#e6e8df;--bar:#8a9096;--win:#4a6b00;--loss:#c93c3b;--status-good:#1f8f4f;--status-warn:#a86f00;--status-bad:#c93c3b;--status-low:#2a6fc9}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f2f3ee;--surface:#fff;--surface-2:#eef0e8;--surface-3:#e0e3d8;--border:#d9dccf;--text:#12140f;--text-2:#4c5045;--text-3:#73786b;--accent:#4a6b00;--accent-ink:#fff;--accent-soft:#4a6b001f;--protein:#148a60;--carbs:#b07400;--fat:#6250d6;--good:#4a6b00;--danger:#c93c3b;--grid:#e6e8df;--bar:#8a9096;--win:#4a6b00;--loss:#c93c3b;--status-good:#1f8f4f;--status-warn:#a86f00;--status-bad:#c93c3b;--status-low:#2a6fc9}.display{font-family:var(--font-display);letter-spacing:.01em;font-variant-numeric:tabular-nums;font-weight:800}*,:before,:after{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);overscroll-behavior-y:none;margin:0}body{min-height:100dvh}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3,p{margin:0}a{color:var(--accent)}.app{max-width:560px;padding:calc(var(--safe-top) + 12px) 16px calc(var(--tabbar-h) + var(--safe-bottom) + 24px);margin:0 auto}.page-head{justify-content:space-between;align-items:center;gap:12px;min-height:48px;margin-bottom:12px;display:flex}.page-head h1{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.01em;font-size:2.1rem;font-weight:800;line-height:1.05}.page-head .sub{color:var(--text-3);overflow-wrap:anywhere;font-size:.9rem}.back{color:var(--accent);cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:8px 0;font-weight:600;display:inline-flex}.card{background:var(--surface);border-radius:var(--radius);overflow-wrap:anywhere;margin-bottom:12px;padding:16px}.card h2,.section-title{margin-bottom:10px;font-size:1rem;font-weight:700}.section-title{color:var(--text-2);text-transform:uppercase;letter-spacing:.06em;margin:20px 4px 8px;font-size:.8rem}.card-head{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:10px;display:flex}.card-head h2{margin:0}.row{align-items:center;gap:10px;display:flex}.row.between{justify-content:space-between}.row.wrap{flex-wrap:wrap}.grow{flex:1;min-width:0}.grid-2{grid-template-columns:1fr 1fr;gap:10px;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.muted{color:var(--text-3)}.small{font-size:.85rem}.tiny{font-size:.75rem}.strong{font-weight:700}.num{font-variant-numeric:tabular-nums}.ellipsis{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.center{text-align:center}.stack>*+*{margin-top:10px}.empty{color:var(--text-3);text-align:center;padding:20px 8px;font-size:.9rem}.stat{background:var(--surface-2);border-radius:var(--radius-sm);padding:10px 12px}.stat .label{color:var(--text-3);font-size:.75rem}.stat .value{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:800}.stat .value small{color:var(--text-3);margin-left:2px;font-size:.8rem;font-weight:500}.btn{background:var(--surface-2);min-height:44px;color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;border:0;border-radius:12px;justify-content:center;align-items:center;gap:6px;padding:0 16px;font-weight:600;text-decoration:none;transition:transform 80ms,background .15s;display:inline-flex}.btn:active{transform:scale(.97)}.btn,.chip{overflow-wrap:normal}.btn:disabled{opacity:.45;pointer-events:none}.btn.primary{background:var(--accent);color:var(--accent-ink)}.btn.danger{color:var(--danger);background:0 0}.btn.ghost{color:var(--accent);background:0 0}.btn.block{width:100%}.btn.sm{border-radius:10px;min-height:34px;padding:0 12px;font-size:.85rem}.icon-btn{background:var(--surface-2);width:40px;height:40px;color:var(--text);cursor:pointer;border:0;border-radius:12px;place-items:center;display:inline-grid}.icon-btn.plain{background:0 0}.chips{scrollbar-width:none;gap:6px;padding-bottom:2px;display:flex;overflow-x:auto}.chip{border:1px solid var(--border);color:var(--text-2);cursor:pointer;background:0 0;border-radius:999px;flex:none;padding:6px 12px;font-size:.85rem;font-weight:600}.chip[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.segmented{background:var(--surface-2);border-radius:12px;gap:3px;padding:3px;display:flex}.segmented button{min-height:36px;color:var(--text-2);cursor:pointer;background:0 0;border:0;border-radius:9px;flex:1;font-size:.85rem;font-weight:600}.segmented button[aria-pressed=true]{background:var(--surface);color:var(--text);box-shadow:0 1px 3px #0003}.field{flex-direction:column;gap:4px;display:flex}.field>span{color:var(--text-3);font-size:.8rem;font-weight:600}.input,select.input,textarea.input{border:1px solid var(--border);background:var(--surface-2);width:100%;min-height:44px;color:var(--text);border-radius:12px;padding:10px 12px;font-size:16px}.input:focus{outline:2px solid var(--accent);outline-offset:-1px}.switch{justify-content:space-between;align-items:center;gap:12px;min-height:44px;display:flex}.switch input{width:22px;height:22px;accent-color:var(--accent)}.list{margin:0;padding:0;list-style:none}.list>li{border-top:1px solid var(--grid)}.list>li:first-child{border-top:0}.list-item{text-align:left;width:100%;min-height:52px;color:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:12px;padding:8px 0;text-decoration:none;display:flex}.list-item .meta{color:var(--text-3);font-size:.8rem}.badge{background:var(--accent-soft);color:var(--text);border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:.72rem;font-weight:700;display:inline-flex}.badge.pr{background:#e0a10033}.avatar{background:var(--surface-2);width:40px;height:40px;color:var(--text-2);border-radius:12px;flex:none;place-items:center;display:grid}.bar{background:var(--surface-3);border-radius:999px;height:8px;overflow:hidden}.bar>span{background:var(--accent);border-radius:999px;height:100%;transition:width .4s;display:block}.macro+.macro{margin-top:10px}.macro .row{margin-bottom:4px;font-size:.85rem}.dot{border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.week{text-align:center;grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.week .day{color:var(--text-3);font-size:.7rem}.week .pip{background:var(--surface-2);border-radius:10px;place-items:center;width:30px;height:30px;margin:4px auto 0;display:grid}.week .pip.on{background:var(--accent);color:var(--accent-ink)}.week .pip.sport{background:var(--protein);color:#fff}.week .pip.today{outline:2px solid var(--text-3);outline-offset:1px}.tabbar{z-index:20;padding-bottom:var(--safe-bottom);background:color-mix(in srgb, var(--surface) 88%, transparent);-webkit-backdrop-filter:saturate(1.6)blur(16px);border-top:1px solid var(--border);position:fixed;bottom:0;left:0;right:0}.tabbar nav{max-width:560px;height:var(--tabbar-h);grid-template-columns:repeat(5,1fr);margin:0 auto;display:grid}.tabbar a{color:var(--text-3);flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:.68rem;font-weight:600;text-decoration:none;display:flex}.tabbar a.active{color:var(--accent)}dialog.sheet{background:var(--surface);width:100%;max-width:560px;max-height:92dvh;color:var(--text);border:0;border-radius:20px 20px 0 0;margin:auto auto 0;padding:0;overflow:hidden}dialog.sheet[open]{flex-direction:column;animation:.22s ease-out sheet-in;display:flex}dialog.sheet::backdrop{background:#00000080}@keyframes sheet-in{0%{opacity:.4;transform:translateY(40px)}}.sheet-head{justify-content:space-between;align-items:center;padding:14px 16px 8px;display:flex}.sheet-head h2{font-size:1.1rem}.sheet-body{padding:4px 16px calc(var(--safe-bottom) + 20px);-webkit-overflow-scrolling:touch;overflow-y:auto}.ring-wrap{flex:none;width:132px;height:132px;position:relative}.ring-wrap .ring-label{text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.ring-label .big{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:2.1rem;font-weight:800;line-height:1.1}.chart{touch-action:pan-y;-webkit-user-select:none;user-select:none;width:100%;display:block}.chart text{fill:var(--text-3);font-variant-numeric:tabular-nums;font-size:11px}.chart .gridline{stroke:var(--grid);stroke-width:1px}.chart-tip{color:var(--text-2);font-variant-numeric:tabular-nums;min-height:1.3em;font-size:.8rem}.chart-tip strong{color:var(--text)}.toast{left:50%;top:calc(var(--safe-top) + 12px);z-index:50;background:var(--surface-3);color:var(--text);border-radius:12px;padding:10px 16px;font-size:.9rem;font-weight:600;animation:.2s ease-out sheet-in;position:fixed;transform:translate(-50%);box-shadow:0 8px 30px #00000059}.scanner video{border-radius:var(--radius-sm);aspect-ratio:4/3;object-fit:cover;background:#000;width:100%}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.tier-badge{color:var(--text);border:3px solid;border-radius:50%;flex:none;place-items:center;display:grid}details.card summary{cursor:pointer}.focus{padding-bottom:8px}.focus-head{align-items:center;gap:10px;margin-bottom:10px;display:flex}.story{gap:4px;margin-bottom:14px;display:flex}.story .seg{background:var(--surface-3);cursor:pointer;border:0;border-radius:99px;flex:1;height:6px;padding:0;overflow:hidden}.story .seg span{background:var(--text-2);border-radius:99px;height:100%;transition:width .3s;display:block}.story .seg.on{outline:2px solid var(--accent);outline-offset:1px}.story .seg.on span{background:var(--accent)}.focus-title h1{text-transform:uppercase;overflow-wrap:anywhere;font-size:2.3rem;line-height:1}.focus-title{margin-bottom:12px}.duel{border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;margin-bottom:10px;padding:12px 14px;transition:border-color .2s,background .2s;display:grid}.duel .side{flex-direction:column;min-width:0;display:flex}.duel .side.right{text-align:right;align-items:flex-end}.duel .ghost-val{color:var(--text-3);white-space:nowrap;font-size:1.6rem}.duel .today-val{white-space:nowrap;font-size:1.6rem}.duel .vs{color:var(--text-3);text-align:center;width:36px;font-size:1.6rem}.duel .duel-note{color:var(--text-2);grid-column:1/-1}.duel.win{border-color:var(--win);background:color-mix(in srgb, var(--win) 9%, var(--surface))}.duel.win .vs,.duel.win .today-val{color:var(--win)}.duel.loss .vs{color:var(--loss)}.target-chip{border:1px dashed var(--border);width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border-radius:12px;align-items:center;gap:6px;margin-bottom:10px;padding:8px 12px;font-size:.82rem;display:flex}.focus-panel{background:var(--surface);border-radius:var(--radius);margin-bottom:10px;padding:14px 12px}.big-weight{text-align:center;margin-bottom:8px}.big-value{color:var(--text);cursor:text;background:0 0;border:0;padding:0;font-size:4.2rem;line-height:1}.big-value small{color:var(--text-3);margin-left:4px;font-size:1.2rem}.big-value.live{color:var(--accent)}.big-input{border:0;border-bottom:3px solid var(--accent);text-align:center;background:0 0;width:180px;margin:0 auto;font-size:3.6rem;line-height:1.1}.big-input:focus{outline:none}.barbell{width:100%;margin:2px 0 8px;display:block}.barbell rect{transition:x .2s}.barbell-hint{fill:var(--text-3);font-size:12px}.plate-rack{grid-template-columns:repeat(7,1fr);align-items:end;gap:4px;display:grid}.plate-btn{background:var(--surface-2);color:var(--text);cursor:pointer;border:0;border-radius:10px;flex-direction:column;align-items:center;gap:4px;padding:6px 0;display:flex}.plate-btn:active{transform:translateY(-3px)}.plate-btn .disc{background:var(--plate);border-radius:4px;width:12px;box-shadow:inset 0 0 0 1px #00000040}.plate-btn .num{font-family:var(--font-display);font-size:.95rem;font-weight:800}.chip.mini{padding:2px 8px;font-size:.72rem}.stack-col{flex-direction:column;flex:none;gap:3px;width:92px;display:flex}.stack-block{background:var(--surface-3);height:26px;color:var(--text-3);font-family:var(--font-display);cursor:pointer;border:0;border-radius:6px;font-size:.95rem;font-weight:800;position:relative}.stack-block.on{background:color-mix(in srgb, var(--text-2) 45%, var(--surface-3));color:var(--text)}.stack-block.pin{background:var(--accent);color:var(--accent-ink)}.stack-block.pin:after{content:"";background:var(--text);border-radius:3px;width:18px;height:6px;position:absolute;top:50%;right:-10px;transform:translateY(-50%)}.stack-arrow{color:var(--text-3);cursor:pointer;background:0 0;border:0;height:22px}.db-rack{scroll-snap-type:x proximity;scrollbar-width:none;gap:6px;padding:8px 2px 6px;display:flex;overflow-x:auto}.db{background:var(--surface-2);min-width:56px;height:66px;color:var(--text-3);scroll-snap-align:center;cursor:pointer;border:0;border-radius:12px;flex-direction:column;flex:none;justify-content:flex-end;align-items:center;gap:4px;display:flex}.db svg rect{fill:currentColor}.db .num{font-family:var(--font-display);color:var(--text);font-size:.95rem;font-weight:800}.db[aria-pressed=true]{background:var(--accent);color:var(--accent-ink)}.db[aria-pressed=true] .num{color:var(--accent-ink)}.ruler-wrap{margin-top:6px;position:relative}.ruler{scroll-snap-type:x mandatory;scrollbar-width:none;padding:0 calc(50% - 28px);display:flex;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#0000,#000 25% 75%,#0000);mask-image:linear-gradient(90deg,#0000,#000 25% 75%,#0000)}.ruler::-webkit-scrollbar{display:none}.db-rack::-webkit-scrollbar{display:none}.ruler .tick{width:56px;height:64px;color:var(--text-3);scroll-snap-align:center;cursor:pointer;background:0 0;border:0;flex:none;position:relative}.ruler .tick span{font-size:1.6rem;transition:font-size .15s,color .15s}.ruler .tick.on span{color:var(--text);font-size:2.8rem}.ruler .tick.ghost:after{content:"";border:1.5px solid var(--text-3);border-radius:50%;width:6px;height:6px;margin-left:-3px;position:absolute;bottom:2px;left:50%}.ruler-marker{border:2px solid var(--accent);pointer-events:none;border-radius:14px;width:60px;height:64px;margin-left:-30px;position:absolute;top:0;left:50%}.ruler-label{text-align:center;margin-top:4px}.trail{scrollbar-width:none;gap:6px;padding:2px 0 8px;display:flex;overflow-x:auto}.set-chip{border:1px solid var(--border);background:var(--surface);color:var(--text-2);cursor:pointer;border-radius:12px;flex-direction:column;flex:none;align-items:flex-start;gap:0;min-height:48px;padding:6px 12px;display:flex}.set-chip .display{white-space:nowrap;color:var(--text);font-size:1.15rem}.set-chip.done{background:var(--surface-2)}.set-chip.done .tiny:after{content:" ✓";color:var(--text-2)}.set-chip.done.win{border-color:var(--win)}.set-chip.done.win .tiny:after{content:" ▲";color:var(--win)}.set-chip.done.loss .tiny:after{content:" ▼";color:var(--loss)}.set-chip.done.tie .tiny:after{content:" ="}.set-chip.current{outline:2px solid var(--accent);outline-offset:1px}.set-chip.add{border-style:dashed;justify-content:center;align-items:center}.btn.complete{border-radius:18px;min-height:62px;margin-top:4px;font-size:1.35rem}.btn.danger-solid{background:var(--danger);color:#fff}.rest-overlay{z-index:40;padding:calc(var(--safe-top) + 20px) 20px calc(var(--safe-bottom) + 20px);background:var(--bg);flex-direction:column;justify-content:center;align-items:center;gap:16px;animation:.2s ease-out sheet-in;display:flex;position:fixed;inset:0}.rest-ring{width:220px;height:220px;position:relative}.rest-center{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.rest-time{font-size:4rem;line-height:1}.rest-overlay.finished .rest-time{color:var(--accent)}.duel-result{background:var(--surface-2);text-align:center;border-radius:999px;padding:8px 16px}.duel-result .display{text-transform:uppercase;font-size:1.4rem}.duel-result.win{background:var(--win);color:var(--accent-ink)}.pr-burst{background:var(--accent);color:var(--accent-ink);border-radius:999px;padding:10px 18px;font-size:1.5rem;animation:.6s cubic-bezier(.2,1.6,.4,1) pr-pop}@keyframes pr-pop{0%{opacity:0;transform:scale(.4)}}.feel{flex-direction:column;align-items:center;gap:6px;display:flex}.scoreboard{text-align:center;background:var(--surface);border-radius:var(--radius);grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px;padding:12px;display:grid}.scoreboard>div{flex-direction:column;display:flex}.scoreboard .display{font-size:2.2rem;line-height:1}.scoreboard>div:first-child .display{color:var(--win)}.scoreboard p{grid-column:1/-1}.ampel{background:var(--surface-3);border-radius:14px;flex-direction:column;flex:none;gap:5px;padding:7px;display:flex}.ampel span{background:var(--surface-2);border-radius:50%;width:16px;height:16px}.advice{background:var(--surface-2);border-radius:12px;align-items:flex-start;gap:8px;margin-top:10px;padding:10px 12px;font-size:.85rem;display:flex}.readiness-row{border-top:1px solid var(--grid);align-items:flex-start;gap:10px;margin-top:10px;padding-top:10px;display:flex}.readiness-row .dot{flex:none;margin-top:6px}.checkin-scale .segmented{margin-top:6px}.supp-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;display:grid}.supp{border:1px solid var(--border);background:var(--surface-2);min-height:52px;color:var(--text);text-align:left;cursor:pointer;border-radius:12px;align-items:center;gap:8px;padding:8px;font-size:.95rem;display:flex}.supp[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft)}.supp-check{border:2px solid var(--border);border-radius:8px;flex:none;place-items:center;width:22px;height:22px;display:grid}.supp[aria-pressed=true] .supp-check{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.supp-streak{color:var(--status-warn);align-items:center;gap:2px;font-size:.8rem;font-weight:700;display:inline-flex}.goal{padding:10px 0}.goal .icon-btn{width:32px;height:32px}.goal .bar{margin-top:6px}.plateau{background:var(--surface-2);border-left:3px solid var(--status-warn);border-radius:12px;margin-top:8px;padding:10px 12px}.plateau summary{cursor:pointer;align-items:flex-start;gap:8px;list-style:none;display:flex}.plateau summary::-webkit-details-marker{display:none}.plateau summary svg{color:var(--status-warn);flex:none;margin-top:2px}.plateau[open] summary{margin-bottom:8px}.plateau-alt{gap:4px;margin:4px 0 0;padding-left:18px;display:grid}.gap-box{background:var(--surface-2);border-radius:12px;margin-top:12px;padding:10px 12px}.muscle-map{width:100%;max-width:360px;margin:0 auto;display:block}.muscle-map .map-label{fill:var(--text-3);font-size:11px;font-weight:600}.map-legend{color:var(--text-2);flex-wrap:wrap;justify-content:center;gap:4px 12px;font-size:.75rem;display:flex}.map-legend span{align-items:center;gap:5px;display:inline-flex}.map-legend i{border-radius:4px;width:12px;height:12px;display:inline-block}.card-preview{border-radius:var(--radius);width:100%;display:block;box-shadow:0 10px 40px #00000059}
