:root{color-scheme:dark;--bg: #0b0c0e;--surface: #16181c;--raised: #1f2228;--stroke: rgba(255, 255, 255, .08);--text: #f0f5f2;--text-2: #9ea8b3;--accent: #61e3b0;--warning: #ffb84d;--danger: #ff6b66;--heat-fresh: #4d525c;--heat-light: #5c9ef2;--heat-moderate: var(--warning);--heat-high: var(--danger);--body-base: #1b1f25;--body-rim: rgba(255, 255, 255, .1);--muscle: #262b33;--muscle-hi: #333a45;--muscle-line: rgba(255, 255, 255, .07);--group-line: rgba(255, 255, 255, .2);--glass: rgba(22, 24, 28, .94);--corner: 20px;--gutter: 16px;--font: ui-rounded, "SF Pro Rounded", "SF Pro Text", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--tabbar: calc(64px + env(safe-area-inset-bottom)) }*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;background:var(--bg);color:var(--text);font:16px/1.4 var(--font)}body{min-height:100dvh;overscroll-behavior-y:none}#root{max-width:560px;margin:0 auto;min-height:100dvh}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--accent)}:focus{outline:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sheet:focus-visible{outline:none}h1{font-size:30px;line-height:1.15;margin:0;font-weight:700}h2{font-size:18px;margin:0;font-weight:600}p{margin:0}.screen{padding:calc(env(safe-area-inset-top) + 12px) var(--gutter) calc(var(--tabbar) + 24px);display:flex;flex-direction:column;gap:16px}.screen.plain{padding-bottom:calc(env(safe-area-inset-bottom) + 24px)}.stack{display:flex;flex-direction:column;gap:12px}.row{display:flex;align-items:center;gap:10px}.spacer{flex:1}.caption{font-size:13px;font-weight:500;color:var(--text-2)}.eyebrow{font-size:13px;font-weight:500;color:var(--text-2);text-transform:uppercase;letter-spacing:.09em}.accent{color:var(--accent)}.warning{color:var(--warning)}.danger{color:var(--danger)}.number{font-size:30px;font-weight:700;font-variant-numeric:tabular-nums}.card{background:var(--surface);border:1px solid var(--stroke);border-radius:var(--corner);padding:16px;display:flex;flex-direction:column;gap:12px}.card.flush{padding:0;overflow:hidden}.card.highlight{background:#61e3b01a;border-color:#61e3b059}.btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:54px;border-radius:999px;border:0;font-weight:600;font-size:17px;transition:transform .12s,opacity .12s}.btn:active{transform:scale(.98)}.btn.primary{background:var(--accent);color:var(--bg)}.btn.primary:disabled{opacity:.35}.btn.secondary{background:var(--raised);border:1px solid var(--stroke);min-height:50px}.btn.danger{background:transparent;color:var(--danger);border:1px solid rgba(255,107,102,.4);min-height:50px}.link{background:none;border:0;padding:8px 0;min-height:36px;color:var(--accent);font-size:15px;font-weight:500;text-align:left}.pill{display:inline-flex;align-items:center;font-size:13px;font-weight:500;padding:4px 10px;border-radius:999px;background:color-mix(in srgb,currentColor 14%,transparent)}.pills{display:flex;flex-wrap:wrap;gap:6px}.field{width:100%;padding:14px;border-radius:14px;background:var(--surface);border:1px solid var(--stroke);font-size:17px;font-weight:600;outline:none}.field:focus{border-color:var(--accent)}textarea.field{font-weight:400;resize:vertical;min-height:84px}.code{letter-spacing:.4em;text-align:center;font-size:26px;font-variant-numeric:tabular-nums}.code::placeholder{letter-spacing:normal;font-size:17px}.segmented{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;background:var(--raised);border-radius:12px;padding:3px;gap:3px}.segmented button{border:0;background:transparent;padding:8px;border-radius:9px;font-weight:600;font-size:14px;color:var(--text-2)}.segmented button[aria-pressed=true]{background:var(--surface);color:var(--text);box-shadow:0 1px 4px #0006}.rating{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.rating button{min-height:52px;border-radius:14px;border:0;background:var(--raised);font-weight:600;font-size:18px}.toggle-row{display:flex;gap:14px;align-items:flex-start}.toggle-row .text{flex:1;display:flex;flex-direction:column;gap:4px}.switch{position:relative;flex:none;width:51px;height:31px;border-radius:999px;background:var(--raised);border:1px solid var(--stroke);transition:background .2s;padding:0}.switch:after{content:"";position:absolute;top:2px;left:2px;width:25px;height:25px;border-radius:50%;background:#fff;transition:transform .2s}.switch[aria-checked=true]{background:var(--accent)}.switch[aria-checked=true]:after{transform:translate(20px)}.list{display:flex;flex-direction:column}.list>*+*{border-top:1px solid var(--stroke)}.list-item{display:flex;align-items:center;gap:12px;padding:14px 0;background:none;border-left:0;border-right:0;border-bottom:0;text-align:left;width:100%}.list>.list-item:first-child{border-top:0}.tabbar{position:fixed;bottom:0;left:0;right:0;height:var(--tabbar);padding-bottom:env(safe-area-inset-bottom);background:#0b0c0eeb;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--stroke);display:flex;justify-content:center;z-index:10}.tabbar nav{display:grid;grid-template-columns:repeat(4,1fr);width:100%;max-width:560px}.tabbar button{background:none;border:0;color:var(--text-2);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:11px;font-weight:600}.tabbar button[aria-current=page]{color:var(--accent)}.tabbar svg{width:24px;height:24px}.sheet-backdrop{position:fixed;inset:0;background:#0000008c;z-index:20;display:flex;justify-content:center;align-items:flex-end;animation:fade .2s}.sheet{width:100%;max-width:560px;height:calc(100dvh - env(safe-area-inset-top) - 12px);background:var(--bg);border-radius:22px 22px 0 0;border:1px solid var(--stroke);display:flex;flex-direction:column;animation:rise .25s ease-out}.sheet header{display:flex;align-items:center;padding:14px var(--gutter) 6px;gap:8px}.sheet header h2{flex:1;text-align:center;font-size:17px}.sheet header .link{min-width:56px}.sheet .body{flex:1;overflow-y:auto;padding:8px var(--gutter) 16px;display:flex;flex-direction:column;gap:14px}.sheet footer{padding:12px var(--gutter) calc(env(safe-area-inset-bottom) + 12px);display:flex;gap:12px;border-top:1px solid var(--stroke)}@keyframes rise{0%{transform:translateY(40px);opacity:0}}@keyframes fade{0%{opacity:0}}.title-md{font-size:24px}.body-map{display:flex;flex-direction:column;gap:8px}.bm-bar{display:flex;align-items:center;gap:8px;min-height:44px}.card.flush .bm-bar,.card.flush .bm-summary{padding:0 16px}.bm-crumbs{flex:1;min-width:0;display:flex;align-items:center;gap:6px;font-size:15px;font-weight:600}.bm-crumb-back{min-height:44px;padding:0 4px 0 0;border:0;background:none;color:var(--accent);font-weight:600;font-size:15px}.bm-crumb-sep{color:var(--text-2)}.bm-crumb-here{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bm-side{width:152px;flex:none}.bm-side .segmented button{min-height:38px}.bm-stage{position:relative;overflow:hidden;border-radius:18px;touch-action:manipulation;user-select:none;-webkit-user-select:none;height:min(56dvh,480px);min-height:280px;background:radial-gradient(ellipse 60% 8% at 50% 96%,rgba(97,227,176,.07),transparent 70%),radial-gradient(circle at 50% 38%,#171a20 0%,var(--bg) 78%);border:1px solid var(--stroke)}.bm-stage:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;background-image:radial-gradient(rgba(255,255,255,.07) 1px,transparent 1.2px);background-size:16px 16px;mask-image:radial-gradient(circle at 50% 45%,#000 30%,transparent 80%);-webkit-mask-image:radial-gradient(circle at 50% 45%,#000 30%,transparent 80%)}.sheet .bm-stage{height:max(290px,calc(100dvh - 372px));max-height:620px}.card.flush .bm-stage{border-radius:0;border-left:0;border-right:0}.bm-camera{position:absolute;inset:0;transform-origin:0 0}.bm-camera svg{display:block;width:100%;height:100%;overflow:visible}.bm-outline{fill:var(--body-base);stroke:var(--body-rim);stroke-width:calc(1px / var(--z, 1));vector-effect:non-scaling-stroke}.bm-muscles .zone{stroke:var(--muscle-line);stroke-width:calc(.75px / var(--z, 1));vector-effect:non-scaling-stroke;stroke-linejoin:round;transition:fill .2s,opacity .25s;pointer-events:none}.bm-muscles .zone.dim{opacity:.28}.bm-muscles .zone.live{pointer-events:auto;cursor:pointer;stroke:#ffffff38}.bm-glow{opacity:.55;pointer-events:none}.zoomed .bm-glow{opacity:.4}.bm-group{fill:transparent;stroke:var(--group-line);stroke-width:calc(1px / var(--z, 1));vector-effect:non-scaling-stroke;stroke-linejoin:round}.bm-group.tappable{cursor:pointer;transition:fill .15s}.bm-group.tappable:active{fill:#ffffff0f}.bm-group.sel-whole,.bm-group.sel-some{stroke:var(--accent)}.bm-group.sel-some{stroke-dasharray:3 2}.bm-group.current{pointer-events:none;stroke:#61e3b059;stroke-width:calc(1.25px / var(--z, 1))}.bm-muscles .zone:focus-visible,.bm-group:focus-visible{outline:none;stroke:var(--text);stroke-width:calc(2.5px / var(--z, 1))}.bm-hint{position:absolute;left:12px;top:10px;text-align:center;font-size:13px;color:var(--text-2);pointer-events:none}.bm-panel{position:absolute;left:8px;right:8px;bottom:8px;padding:12px;display:flex;flex-direction:column;gap:10px;background:var(--glass);border:1px solid var(--stroke);border-radius:16px;box-shadow:0 -8px 30px #00000059;overflow:hidden;animation:panel-in .28s cubic-bezier(.22,1,.36,1)}@keyframes panel-in{0%{transform:translateY(16px);opacity:0}}.bm-info{min-height:58px;display:flex;flex-direction:column;gap:3px}.bm-info-title{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:8px}.bm-info-title strong{font-size:18px}.bm-anat{font-size:13px;color:var(--text-2)}.bm-does{font-size:15px;line-height:1.35;color:var(--text);display:flex;align-items:center;gap:8px}.bm-chips{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin:0 -12px;padding:0 12px;scroll-padding:12px;overscroll-behavior-x:contain}.bm-chips::-webkit-scrollbar{display:none}.bm-chip{flex:none;display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 14px;border-radius:999px;border:1px solid var(--stroke);background:var(--raised);font-size:14px;font-weight:600;transition:transform .12s,background .15s}.bm-chip:active{transform:scale(.96)}.bm-chip[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--bg)}.bm-chip.included{border-color:#61e3b080}.bm-chip.picked{border-color:#f0f5f28c}.bm-check{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;opacity:.85}.bm-done{min-height:48px}.dot{width:10px;height:10px;border-radius:50%;display:inline-block;flex:none;background:var(--muscle-hi)}.dot.light{background:var(--heat-light)}.dot.moderate{background:var(--heat-moderate)}.dot.high{background:var(--heat-high)}.bm-summary{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;min-height:44px;align-items:center}.bm-summary::-webkit-scrollbar{display:none}.bm-sel{flex:none;min-height:40px;padding:0 14px;border-radius:999px;border:1px solid rgba(97,227,176,.45);background:#61e3b01f;color:var(--accent);font-weight:600;font-size:14px}.bm-sel.current{background:var(--accent);color:var(--bg)}@media(prefers-reduced-motion:reduce){.bm-panel{animation:fade .15s}.bm-muscles .zone,.bm-chip{transition:none}}.legend{display:flex;gap:14px;flex-wrap:wrap;justify-content:center}.legend span{display:inline-flex;align-items:center;gap:6px}.legend i{width:10px;height:10px;border-radius:50%;display:inline-block}.checkin{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.checkin button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:84px;padding:10px 6px;border-radius:14px;border:1px solid;background:var(--raised);text-align:center}.checkin strong{font-size:16px}.checkin .caption{font-size:12px;line-height:1.25}.chips{display:flex;flex-wrap:wrap;gap:8px}.chips button,.chip-input input{min-height:40px;padding:0 14px;border-radius:999px;border:1px solid var(--stroke);background:var(--raised);font-weight:600;font-size:14px}.chips button[aria-pressed=true]{background:var(--accent);color:var(--bg);border-color:var(--accent)}.chip-input input{width:84px;outline:none}.chip-input input:focus{border-color:var(--accent)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.progress{height:4px;background:var(--raised);border-radius:2px;overflow:hidden}.progress div{height:100%;background:var(--accent);transition:width .3s}.toast{position:fixed;left:50%;transform:translate(-50%);bottom:calc(var(--tabbar) + 12px);background:var(--raised);border:1px solid var(--stroke);padding:10px 16px;border-radius:999px;font-size:14px;z-index:30;max-width:calc(100% - 32px)}.empty{text-align:center;padding:48px 12px;color:var(--text-2);display:flex;flex-direction:column;gap:8px;align-items:center}.policy h2{margin-top:8px}.policy p,.policy li{color:var(--text-2)}
