:root,[data-theme=light]{--bg:#fff;--surface:#fff;--surface-elevated:#f2f2f4;--fill:#e8e8ed;--text:#1c1c1e;--text-secondary:#636366;--brand:#d9c7ff;--brand-strong:#7b5fcf;--brand-deep:#b79aff;--accent-soft:#ede4ff;--on-brand:#1a1028;--border:#d1d1d6;--separator:#c7c7cc;--nav-bg:#fffc;--nav-border:#d1d1d6;--nav-inactive:#636366;--nav-shadow:0 10px 24px #0000001a;--success:#1b8a3e;--success-raw:#30d158;--error:#c62828;--error-raw:#ff453a;--flat:#6c6c70;--warning:#e6a800;--hero-0:#f7f7f9;--hero-1:#fff;--card-shadow:0 8px 20px #0000000f;--card-border:#0000000a;--lime-card:#d9c7ff}[data-theme=dark]{--bg:#000;--surface:#161616;--surface-elevated:#222;--fill:#2e2e2e;--text:#fff;--text-secondary:#b0b0b0;--brand:#d4f34a;--brand-strong:#d4f34a;--brand-deep:#9bb52e;--accent-soft:#d9c7ff38;--on-brand:#111;--border:#2c2c2c;--separator:#2c2c2c;--nav-bg:#1c1c1c99;--nav-border:#ffffff1a;--nav-inactive:#ffffff8c;--nav-shadow:0 10px 24px #00000073;--success:#30d158;--success-raw:#30d158;--error:#ff453a;--error-raw:#ff453a;--flat:#aeaeb2;--warning:#e6a800;--hero-0:#120f18;--hero-1:#000;--card-shadow:none;--card-border:#2c2c2c;--lime-card:#d4f34a}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-family:Outfit,system-ui,sans-serif}button,input,select,textarea{font:inherit;color:inherit}a{color:inherit;text-decoration:none}.metric{letter-spacing:-1px;font-family:Space Grotesk,Outfit,sans-serif;font-weight:700;line-height:1}.app-backdrop{background:linear-gradient(180deg, var(--hero-0), var(--hero-1) 42%);min-height:100dvh}.access-gate{place-items:center;min-height:100dvh;padding:24px;display:grid}.access-gate-card{flex-direction:column;gap:14px;width:min(400px,100%);display:flex}.access-gate-brand{letter-spacing:3px;color:var(--brand-strong);font-family:Outfit,sans-serif;font-size:14px;font-weight:800}.access-gate-title{letter-spacing:-.5px;margin:0;font-size:28px;font-weight:800;line-height:1.15}.access-gate-copy{margin:0;font-size:14px;line-height:1.45}.access-gate-error{color:var(--error);font-size:13px;font-weight:600}.page{width:min(760px,100%);margin-inline:auto;padding:16px 20px 168px}.page-header{margin-block-end:20px}.page-eyebrow{letter-spacing:1.4px;text-transform:uppercase;color:var(--brand-strong);margin:0 0 8px;font-size:11px;font-weight:700}.page-title{letter-spacing:-.9px;margin:0;font-size:34px;font-weight:700;line-height:1.05}.page-subtitle{color:var(--text-secondary);margin:8px 0 0;font-size:16px;font-weight:500;line-height:1.4}.card{background:var(--surface);border:1px solid var(--card-border);box-shadow:var(--card-shadow);border-radius:32px;padding:24px}[data-theme=dark] .card{background:var(--surface)}.card-lime{background:var(--lime-card);color:var(--on-brand);box-shadow:0 12px 28px color-mix(in srgb, var(--brand) 22%, transparent);border-color:#0000}.card-muted{background:var(--accent-soft);border-color:#0000}.card-surface{background:var(--surface)}.stack{flex-direction:column;gap:12px;display:flex}.stack-lg{flex-direction:column;gap:16px;display:flex}.row{align-items:center;gap:10px;display:flex}.row-between{justify-content:space-between;align-items:center;gap:12px;display:flex}.btn{appearance:none;cursor:pointer;border:none;border-radius:18px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:56px;padding:14px 18px;font-weight:700;transition:transform .18s cubic-bezier(.33,1,.68,1),opacity .18s;display:inline-flex}.btn:active{transform:scale(.98)}.btn-primary{background:var(--brand);color:var(--on-brand)}.btn-ghost{border:1.4px solid var(--separator);background:0 0}.btn-tonal{background:var(--fill)}.btn-sm{border-radius:14px;width:auto;min-height:40px;padding:8px 14px;font-size:13px}.btn:disabled{opacity:.45;cursor:not-allowed}.field{flex-direction:column;gap:6px;display:flex}.field label{letter-spacing:.15px;color:var(--text-secondary);font-size:12px;font-weight:600}.field input,.field select,.field textarea{background:var(--fill);border:none;border-radius:18px;outline:none;padding:16px 18px}.field input:focus,.field select:focus,.field textarea:focus{box-shadow:0 0 0 2px color-mix(in srgb, var(--brand-strong) 45%, transparent)}.chip{background:color-mix(in srgb, var(--brand) 28%, transparent);min-height:28px;color:var(--brand-strong);border-radius:999px;justify-content:center;align-items:center;padding:7px 12px;font-size:12px;font-weight:600;display:inline-flex}.chip-solid{background:var(--brand);color:var(--on-brand)}.choice-chip{appearance:none;border:1.4px solid var(--separator);cursor:pointer;background:0 0;border-radius:999px;padding:10px 18px;font-weight:600}.choice-chip.active{background:var(--text);color:var(--bg);border-color:var(--text)}[data-theme=dark] .choice-chip.active{color:#111;background:#fff;border-color:#fff}.progress-chip{border-radius:999px;justify-content:center;align-items:center;width:28px;height:28px;font-size:.85rem;font-weight:800;display:inline-flex}.progress-chip.up{background:color-mix(in srgb, var(--success-raw) 18%, transparent);color:var(--success)}.progress-chip.flat{background:color-mix(in srgb, var(--flat) 18%, transparent);color:var(--flat)}.progress-chip.down{background:color-mix(in srgb, var(--error-raw) 18%, transparent);color:var(--error)}.badge{background:color-mix(in srgb, var(--brand) 28%, transparent);color:var(--brand-strong);border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700;display:inline-block}.section-title{letter-spacing:-.2px;margin:8px 0 12px;font-size:18px;font-weight:600}.app-shell{min-height:100dvh}.bottom-nav{inset-inline:0;z-index:40;pointer-events:none;padding:0 24px 14px;padding-bottom:calc(14px + env(safe-area-inset-bottom));justify-content:center;display:flex;position:fixed;bottom:0}.bottom-nav-inner{pointer-events:auto;background:var(--nav-bg);border:1px solid var(--nav-border);-webkit-backdrop-filter:blur(24px);width:min(420px,100%);height:64px;box-shadow:var(--nav-shadow);border-radius:40px;grid-template-columns:repeat(4,minmax(0,1fr));display:grid;overflow:hidden}.nav-link{width:100%;min-width:0;color:var(--nav-inactive);place-items:center;text-decoration:none;display:grid}.nav-bubble{box-sizing:border-box;border-radius:999px;flex-shrink:0;place-items:center;width:52px;min-width:52px;max-width:52px;height:40px;transition:background .18s,color .18s;display:grid}.nav-link.active .nav-bubble{background:var(--brand);color:var(--on-brand)}.nav-link:not(.active) .nav-bubble{color:var(--nav-inactive);background:0 0}.nav-link svg{fill:currentColor;flex-shrink:0;width:22px;height:22px}.muted{color:var(--text-secondary)}.bar{background:var(--fill);border-radius:999px;height:8px;overflow:hidden}.bar>span{background:var(--brand-strong);border-radius:inherit;height:100%;display:block}.rest-bar{left:50%;bottom:calc(86px + env(safe-area-inset-bottom));z-index:35;background:var(--brand);width:min(420px,100% - 40px);color:var(--on-brand);box-shadow:0 12px 28px color-mix(in srgb, var(--brand) 35%, transparent);border-radius:28px;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex;position:fixed;transform:translate(-50%)}.sheet-backdrop{z-index:50;background:#00000073;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--surface);width:min(760px,100%);padding:12px 24px calc(24px + env(safe-area-inset-bottom));border-radius:36px 36px 0 0;max-height:88dvh;overflow:auto}.sheet-handle{background:#80808059;border-radius:999px;width:40px;height:5px;margin:4px auto 16px}.logo{object-fit:contain;width:auto;height:34px}.progress-steps{background:var(--fill);border-radius:999px;height:6px;margin:16px 0 24px;overflow:hidden}.progress-steps>span{background:var(--brand-strong);height:100%;display:block}.empty{text-align:center;padding:40px 16px}.empty-icon{background:color-mix(in srgb, var(--brand) 22%, transparent);border-radius:999px;place-items:center;width:80px;height:80px;margin:0 auto 16px;font-size:34px;display:grid}.muscle-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.muscle-tile{border:1px solid var(--separator);background:var(--surface);text-align:left;cursor:pointer;border-radius:18px;padding:14px 12px}.muscle-tile.active{border-color:var(--brand-strong);box-shadow:inset 0 0 0 1px var(--brand-strong)}.signal-up{color:var(--success)}.signal-flat{color:var(--flat)}.signal-down{color:var(--error)}.tour-overlay{z-index:60;padding:0 20px calc(100px + env(safe-area-inset-bottom));background:#00000061;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}[data-theme=dark] .tour-overlay{background:#00000038}.tour-card{background:var(--surface-elevated);width:min(420px,100%);box-shadow:var(--nav-shadow);border-radius:32px;padding:20px}.segmented{background:var(--fill);border-radius:14px;grid-template-columns:1fr 1fr;gap:4px;padding:4px;display:grid}.segmented button{appearance:none;cursor:pointer;background:0 0;border:none;border-radius:10px;padding:10px;font-weight:600}.segmented button.active{background:var(--brand);color:var(--on-brand)}.link-row{border-bottom:1px solid var(--separator);cursor:pointer;text-align:left;background:0 0;border-top:none;border-left:none;border-right:none;border-radius:16px;align-items:center;gap:12px;width:100%;margin-inline:-4px;padding:16px 12px;display:flex}.link-row:last-child{border-bottom:none}.link-row .chevron{color:var(--text-secondary);flex-shrink:0;margin-inline-start:auto;padding-inline-end:4px;font-size:18px;line-height:1}.chevron{color:var(--text-secondary);flex-shrink:0;padding-inline-end:2px;font-size:18px;line-height:1}.freq-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.freq-row .freq-value{letter-spacing:-.5px;text-align:end;min-width:2ch;color:var(--brand-strong);font-family:Space Grotesk,Outfit,sans-serif;font-size:22px;font-weight:700;line-height:1}.chips-wrap{flex-wrap:wrap;gap:8px;display:flex}.muscle-map{padding:20px}.muscle-map-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.muscle-map-side-title{text-align:center;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:8px;font-size:12px;font-weight:700}.muscle-map-host{background:color-mix(in srgb, var(--fill) 55%, transparent);aspect-ratio:320/280;border-radius:20px;place-items:center;width:100%;max-width:100%;max-height:min(52vh,400px);padding:12px;display:grid;overflow:hidden}.muscle-map-host svg{max-height:100%;display:block;width:100%!important;height:100%!important}.muscle-map-host path[id]{vector-effect:non-scaling-stroke}.muscle-legend-chip.signal-up{background:color-mix(in srgb, var(--success-raw) 22%, transparent);border-color:color-mix(in srgb, var(--success-raw) 50%, transparent);color:var(--text)}.muscle-legend-chip.signal-flat{background:color-mix(in srgb, var(--flat) 22%, transparent);border-color:color-mix(in srgb, var(--flat) 45%, transparent)}.muscle-legend-chip.signal-down{background:color-mix(in srgb, var(--error-raw) 20%, transparent);border-color:color-mix(in srgb, var(--error-raw) 48%, transparent)}.muscle-legend-chip.active{outline:2px solid var(--brand-strong);outline-offset:1px}.muscle-legend{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.muscle-legend-chip{appearance:none;border:1px solid var(--separator);background:var(--surface);cursor:pointer;color:inherit;border-radius:999px;align-items:center;gap:8px;padding:8px 12px;font-size:12px;font-weight:600;display:inline-flex}.muscle-legend-chip.active{border-color:var(--brand-strong);background:color-mix(in srgb, var(--brand) 18%, transparent)}.muscle-legend-chip .dot{background:var(--flat);border-radius:999px;width:8px;height:8px}.muscle-legend-chip .dot.signal-up{background:var(--success-raw)}.muscle-legend-chip .dot.signal-down{background:var(--error-raw)}.muscle-legend-chip .dot.signal-flat{background:var(--flat)}.knowledge-chip-row{scrollbar-width:none;gap:8px;margin-bottom:16px;padding-bottom:4px;display:flex;overflow-x:auto}.icon-btn{appearance:none;background:color-mix(in srgb, var(--fill) 80%, transparent);cursor:pointer;width:40px;height:40px;color:var(--text);letter-spacing:1px;border:none;border-radius:999px;flex-shrink:0;place-items:center;font-weight:800;display:grid}.overflow-wrap{position:relative}.overflow-menu{z-index:30;background:var(--surface-elevated);border:1px solid var(--border);min-width:220px;box-shadow:var(--card-shadow);border-radius:18px;flex-direction:column;gap:4px;padding:8px;display:flex;position:absolute;top:calc(100% + 8px);right:0}.overflow-menu button{appearance:none;text-align:left;cursor:pointer;color:inherit;background:0 0;border:none;border-radius:12px;padding:12px 14px;font-weight:600}@media (hover:hover){.overflow-menu button:hover,.icon-btn:hover{background:color-mix(in srgb, var(--brand) 14%, transparent)}.btn:hover:not(:disabled){filter:brightness(1.05)}.btn-ghost:hover:not(:disabled),.btn-tonal:hover:not(:disabled){background:color-mix(in srgb, var(--brand) 14%, transparent)}.card.interactive:hover,.action-tile:hover,.set-tile:hover,.choice-chip:hover,.muscle-tile:hover,.muscle-legend-chip:hover,.link-row:hover{background:color-mix(in srgb, var(--brand) 12%, var(--surface-elevated))}.nav-link:hover .nav-bubble{background:color-mix(in srgb, var(--brand) 18%, transparent)}.nav-link.active:hover .nav-bubble{background:var(--brand)}.card.interactive:hover,.action-tile:hover{border-color:color-mix(in srgb, var(--brand-strong) 35%, var(--separator))}.set-tile.done:hover{background:color-mix(in srgb, var(--brand) 24%, transparent)}.muscle-region:hover{filter:brightness(1.1)}}.btn:active:not(:disabled),.action-tile:active,.set-tile:active,.choice-chip:active{transform:scale(.98)}.card.interactive,.action-tile,.set-tile,.choice-chip,.muscle-tile,.muscle-legend-chip,.link-row{transition:background .18s cubic-bezier(.33,1,.68,1),border-color .18s,transform .18s cubic-bezier(.33,1,.68,1),box-shadow .18s}.set-tile{background:var(--fill);border:1.2px solid var(--border);cursor:pointer;text-align:left;width:100%;color:inherit;border-radius:28px;align-items:center;gap:12px;padding:16px 20px;display:flex}[data-theme=dark] .set-tile{background:var(--surface-elevated)}.set-tile.done{background:color-mix(in srgb, var(--brand) 28%, transparent);border-color:color-mix(in srgb, var(--brand) 45%, transparent)}[data-theme=dark] .set-tile.done{background:color-mix(in srgb, var(--brand) 16%, transparent)}.set-tile.skipped{border-color:color-mix(in srgb, var(--error) 40%, transparent);background:#efeff2}[data-theme=dark] .set-tile.skipped{border-color:color-mix(in srgb, var(--error-raw) 45%, transparent);background:#2c2c2e}.set-check{border:1.5px solid color-mix(in srgb, var(--text) 35%, transparent);background:color-mix(in srgb, var(--text) 8%, transparent);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;border-radius:999px;flex-shrink:0;place-items:center;padding:0;font-size:16px;font-weight:800;display:grid}[data-theme=dark] .set-check{color:#ffffffbf;background:#ffffff14;border-color:#ffffff73}.set-tile.done .set-check{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}.set-tile.skipped .set-check{background:color-mix(in srgb, var(--error) 18%, transparent);border-color:color-mix(in srgb, var(--error) 55%, transparent);color:var(--error)}.set-tile.skipped .set-label{text-decoration:line-through}input[type=range]{appearance:none;width:100%;height:28px;accent-color:var(--brand-strong);background:0 0}input[type=range]::-webkit-slider-runnable-track{background:var(--fill);border-radius:999px;height:6px}input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--brand);border:2px solid var(--on-brand);width:22px;height:22px;box-shadow:0 2px 8px color-mix(in srgb, var(--brand) 40%, transparent);cursor:pointer;border-radius:999px;margin-top:-8px}input[type=range]::-moz-range-track{background:var(--fill);border-radius:999px;height:6px}input[type=range]::-moz-range-thumb{background:var(--brand);border:2px solid var(--on-brand);cursor:pointer;border-radius:999px;width:22px;height:22px}.prompt-box{background:var(--surface-elevated);border:1px solid var(--card-border);border-radius:18px;max-height:min(40dvh,280px);padding:14px 16px;overflow:auto}.prompt-box pre{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;line-height:1.45}.action-tile{border:1px solid var(--border);cursor:pointer;text-align:left;width:100%;color:inherit;background:0 0;border-radius:18px;align-items:flex-start;gap:14px;padding:18px 16px 18px 18px;display:flex}.action-tile .chevron{align-self:center;padding-inline-end:4px}.action-tile .action-icon{color:var(--brand-strong);text-align:center;width:28px;font-size:22px;line-height:1}.action-tile .action-body{flex:1}.action-tile .action-title{margin:0 0 4px;font-size:16px;font-weight:700}.action-tile .action-desc{color:var(--text-secondary);margin:0;font-size:14px;font-weight:500;line-height:1.35}.wheel-row{grid-template-columns:1fr 1fr 1fr;align-items:start;gap:8px;display:grid}.labeled-wheel{flex-direction:column;align-items:stretch;min-width:0;display:flex}.labeled-wheel-label{text-align:center;color:var(--text-secondary);margin-bottom:8px;font-size:13px;font-weight:600}.wheel{border:1.5px solid #0000;border-radius:18px;outline:none;transition:border-color .12s;position:relative;overflow:hidden}.wheel:focus{border-color:color-mix(in srgb, var(--brand) 70%, transparent)}.wheel-band{background:color-mix(in srgb, var(--brand) 28%, transparent);pointer-events:none;z-index:1;border-radius:18px;position:absolute;top:50%;left:4px;right:4px;transform:translateY(-50%)}[data-theme=dark] .wheel-band{background:color-mix(in srgb, var(--brand) 18%, transparent)}.wheel-scroller{z-index:2;overscroll-behavior:contain;scrollbar-width:none;-ms-overflow-style:none;height:100%;position:relative;overflow-y:auto}.wheel-scroller::-webkit-scrollbar{display:none}.wheel-item{color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;font-size:16px;font-weight:500;display:flex}.wheel-item.active{color:var(--text);font-weight:700}.snackbar{left:50%;bottom:calc(96px + env(safe-area-inset-bottom));z-index:80;color:#fff;background:#323232;border-radius:14px;max-width:min(420px,100% - 40px);padding:14px 18px;font-size:14px;font-weight:600;animation:.22s cubic-bezier(.33,1,.68,1) snack-in;position:fixed;transform:translate(-50%);box-shadow:0 8px 24px #00000040}@keyframes snack-in{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}.tour-spotlight-row{left:24px;right:24px;bottom:calc(14px + env(safe-area-inset-bottom));z-index:61;pointer-events:none;grid-template-columns:repeat(4,1fr);max-width:420px;height:64px;margin-inline:auto;display:grid;position:fixed}.tour-ring{border:3px solid var(--brand-strong);width:52px;height:40px;box-shadow:0 0 0 6px color-mix(in srgb, var(--brand-strong) 22%, transparent);opacity:0;border-radius:999px;margin:auto}.tour-ring.on{opacity:1}.tour-card{background:var(--surface-elevated);width:min(420px,100%);box-shadow:var(--nav-shadow);border:1px solid var(--card-border);border-radius:32px;padding:12px 16px 14px}.tour-icon{background:color-mix(in srgb, var(--brand) 35%, transparent);width:40px;height:40px;color:var(--on-brand);border-radius:18px;flex-shrink:0;place-items:center;font-size:20px;display:grid}[data-theme=dark] .tour-icon{background:color-mix(in srgb, var(--brand) 18%, transparent);color:var(--brand-strong)}.text-btn{appearance:none;color:var(--brand-strong);cursor:pointer;background:0 0;border:none;border-radius:10px;padding:8px 10px;font-size:14px;font-weight:700}.text-btn:hover{background:color-mix(in srgb, var(--brand) 14%, transparent)}
