@font-face{font-family:Geist;src:url(/fonts/Geist-Regular.ttf) format("truetype");font-weight:400;font-display:swap}@font-face{font-family:Geist;src:url(/fonts/Geist-Medium.ttf) format("truetype");font-weight:500;font-display:swap}@font-face{font-family:Geist Mono;src:url(/fonts/GeistMono-Regular.ttf) format("truetype");font-weight:400;font-display:swap}@font-face{font-family:Geist Mono;src:url(/fonts/GeistMono-Medium.ttf) format("truetype");font-weight:500;font-display:swap}:root{color:#1e2a23;background:#f6f8f6;font-family:Geist,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--db-pond: #1d6b5a;--db-pond-dark: #124b40;--db-pond-wash: #edf3ee;--db-berry: #b9414b;--db-berry-soft: #f6dfe1;--db-bg: #f6f8f6;--db-surface: #ffffff;--db-wash: #edf3ee;--db-border: #e4ebe6;--db-ink: #1e2a23;--db-ink-2: #3a4a41;--db-muted: #6b7a72;--db-primary: var(--db-pond);--db-primary-fg: #ffffff;--db-success: #2a6a48;--db-info: #3672a6;--db-warning: #b07a1f;--db-danger: var(--db-berry);--db-radius-sm: 4px;--db-radius-md: 6px;--db-radius-lg: 8px;--db-space-1: 4px;--db-space-2: 8px;--db-space-3: 12px;--db-space-4: 16px;--db-space-5: 24px;--db-space-6: 32px;--db-shadow-1: 0 1px 2px rgba(30, 42, 35, .06);--db-shadow-2: 0 6px 20px rgba(30, 42, 35, .08);--db-font-sans: "Geist", Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--db-font-mono: "Geist Mono", ui-monospace, Menlo, monospace;--ink: var(--db-ink);--muted: var(--db-muted);--line: var(--db-border);--surface: var(--db-surface);--green: var(--db-pond);--green-dark: var(--db-pond-dark);--blue: var(--db-info);--coral: var(--db-danger);--wash: var(--db-wash)}*{box-sizing:border-box}html{background:var(--db-bg)}body{margin:0;min-width:320px;min-height:100vh;color:var(--ink);background:radial-gradient(circle at top,rgba(29,107,90,.06),transparent 30%),var(--db-bg)}button,input,select,textarea{font:inherit}button{cursor:pointer;transition:background-color .14s ease,border-color .14s ease,color .14s ease,box-shadow .14s ease,transform .14s ease}a{color:inherit}button:hover,button:focus-visible,input:focus,select:focus,textarea:focus{outline:none}.app-shell{display:grid;width:min(860px,100%);min-height:100vh;margin:0 auto;padding:var(--db-space-4);align-content:start;gap:var(--db-space-4)}.app-header{position:sticky;top:0;z-index:5;display:flex;gap:var(--db-space-4);align-items:start;justify-content:space-between;padding:10px 0 12px;background:#f6f8f6eb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.app-header-main{display:grid;gap:14px}.app-header-actions{display:grid;gap:var(--db-space-2);justify-items:end}.app-title-block{display:grid;gap:6px}.header-status{margin:0;color:var(--db-muted);font-family:var(--db-font-mono);font-size:.7rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase}.brand-lockup{display:inline-grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center}.brand-mark{width:22px;height:22px;flex:0 0 auto}.brand-copy{display:grid;gap:1px}.brand-copy strong,.brand-copy span{margin:0}.brand-copy span{color:var(--db-muted);font-family:var(--db-font-mono);font-size:.65rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase}.brand-copy strong{color:var(--db-ink);font-size:1rem;font-weight:500;letter-spacing:-.03em}.brand-lockup.compact .brand-copy{gap:0}.app-header h1{font-size:clamp(2.15rem,9vw,4.2rem)}.intro{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:stretch;padding:18px 0 12px}.eyebrow{margin:0 0 8px;color:var(--db-muted);font-family:var(--db-font-mono);font-size:.7rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase}h1,h2,h3,h4,p{overflow-wrap:anywhere}h1{max-width:740px;margin:0;color:var(--ink);font-size:clamp(2.2rem,10vw,4.8rem);font-weight:500;line-height:.96;letter-spacing:-.035em}.intro-copy{max-width:620px;margin:16px 0 0;color:var(--db-ink-2);font-size:1.04rem;line-height:1.55}.status-panel,.exercise-card{border:1px solid var(--line);border-radius:var(--db-radius-lg);background:var(--surface);box-shadow:var(--db-shadow-2)}.status-panel{display:grid;gap:12px;align-content:center;padding:18px}.auth-shell{display:grid;min-height:100vh;place-items:center}.auth-panel{display:grid;width:min(520px,100%);gap:18px;padding:24px;border:1px solid var(--line);border-radius:var(--db-radius-lg);background:var(--surface);box-shadow:var(--db-shadow-2)}.auth-panel h1{font-size:clamp(2rem,10vw,4rem)}.auth-panel .brand-mark{width:28px;height:28px}.auth-error{margin:0;color:var(--coral);font-weight:600}.status-panel span,.status-panel small{color:var(--muted)}.sync-state{width:max-content;max-width:100%;margin-top:7px;padding:6px 9px;border:1px solid transparent;border-radius:999px;color:var(--green-dark);background:var(--wash);font-family:var(--db-font-mono);font-size:.7rem;font-weight:500;letter-spacing:.04em;text-transform:uppercase}.sync-state.local,.sync-state.error{color:var(--coral);border-color:#ecc4c9;background:var(--db-berry-soft)}.sync-state.saving,.sync-state.checking{color:var(--blue);border-color:#cadbe9;background:#e3ecf3}.status-panel strong{color:var(--green-dark);font-size:1.8rem;font-weight:500;letter-spacing:-.03em}.status-kicker{display:grid;gap:5px}.status-grid{display:grid;gap:10px}.status-detail{display:grid;gap:4px;padding-top:10px;border-top:1px solid var(--line)}.status-detail span{font-family:var(--db-font-mono);font-size:.68rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase}.status-detail small{color:var(--db-ink-2);font-size:.92rem;font-weight:500;line-height:1.4}.controls{display:grid;gap:14px;margin:14px 0 22px}.menu-button{display:grid;flex:0 0 auto;gap:5px;width:48px;height:48px;place-content:center;border:1px solid var(--line);border-radius:var(--db-radius-md);background:var(--surface);box-shadow:var(--db-shadow-1)}.menu-button:hover,.menu-button:focus-visible,.drawer-close:hover,.drawer-close:focus-visible,.secondary-button:hover,.secondary-button:focus-visible,.tab:hover,.tab:focus-visible,.completed-item:hover,.completed-item:focus-visible{border-color:#cad7d0;box-shadow:0 0 0 3px #1d6b5a1a}.menu-button span{display:block;width:21px;height:2px;border-radius:8px;background:var(--ink)}.session-meter{display:grid;gap:12px;padding:16px;border:1px solid var(--line);border-radius:var(--db-radius-lg);background:linear-gradient(180deg,#fffffff5,#edf3eeeb);box-shadow:var(--db-shadow-1)}.session-meter-header{display:flex;gap:12px;align-items:start;justify-content:space-between}.session-meter-copy{display:grid;gap:4px}.session-meter-copy .eyebrow{margin:0}.session-meter-copy span{color:var(--db-muted);font-size:.92rem;line-height:1.4}.session-meter strong{color:var(--green-dark);font-family:var(--db-font-sans);font-size:1.5rem;font-weight:500;letter-spacing:-.03em}.session-meter-badge{flex:0 0 auto;min-width:58px;padding:10px 12px;border:1px solid rgba(29,107,90,.12);border-radius:999px;color:var(--green-dark);background:#ffffffd1;font-family:var(--db-font-mono);font-size:.84rem;font-weight:500;letter-spacing:.08em;text-align:center;text-transform:uppercase}.session-meter progress{width:100%;height:6px;overflow:hidden;border:0;border-radius:999px;background:var(--wash)}.session-meter progress::-webkit-progress-bar{background:var(--wash)}.session-meter progress::-webkit-progress-value{border-radius:999px;background:var(--green)}.session-meter progress::-moz-progress-bar{border-radius:999px;background:var(--green)}.tabs{display:grid;grid-template-columns:1fr 1fr;gap:var(--db-space-1);padding:4px;border:1px solid var(--line);border-radius:7px;background:var(--wash)}.tab,.complete-button,.reset-button,.secondary-button{min-height:48px;border-radius:var(--db-radius-md);border:1px solid transparent;font-size:.9rem;font-weight:500;letter-spacing:.01em}.tab{display:grid;gap:2px;place-items:center;padding:10px;color:var(--ink);background:transparent}.tab span{color:var(--green-dark);font-family:var(--db-font-mono);font-size:.66rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase}.tab.active{border-color:var(--line);background:var(--surface);box-shadow:var(--db-shadow-1)}.control-actions{display:grid;grid-template-columns:1fr;gap:8px}.complete-button{color:#fff;background:var(--green)}.complete-button:hover,.complete-button:focus-visible{background:var(--green-dark);box-shadow:0 0 0 3px #1d6b5a24}.reset-button{color:var(--coral);border-color:#ecc4c9;background:var(--surface)}.secondary-button{color:var(--ink);border-color:var(--line);background:var(--wash)}.secondary-button:disabled{cursor:not-allowed;opacity:.45}.sign-out-button{width:max-content;max-width:100%;margin-top:6px;padding:0;border:0;color:var(--muted);background:transparent;font-size:.85rem;font-weight:500;text-decoration:underline}.focus-stage{display:grid;min-height:0;padding-bottom:18px}.focus-card{animation:card-enter .22s ease-out;background:linear-gradient(180deg,#fffffffa,#f8faf8)}.focus-card .exercise-heading h2{margin:0;color:var(--ink);font-size:clamp(2rem,9vw,4rem);font-weight:500;line-height:.98;letter-spacing:-.03em}.primary-action{width:100%;margin-top:4px}.pending-nav{display:grid;grid-template-columns:1fr 1fr;gap:8px}.exercise-actions{display:grid;gap:10px}.exercise-helper{margin:0;color:var(--muted);font-size:.9rem;line-height:1.45}.finished-card{display:grid;gap:16px;align-content:center;min-height:64vh;padding:22px;border:1px solid var(--line);border-radius:var(--db-radius-lg);background:linear-gradient(180deg,#fffffffa,#edf3eee6);box-shadow:var(--db-shadow-2)}.finished-card h2{margin:0;color:var(--ink);font-size:clamp(2.2rem,11vw,4.8rem);font-weight:500;line-height:.96;letter-spacing:-.035em}.finished-card p{max-width:520px;margin:0;color:var(--muted);line-height:1.5}.drawer-backdrop{position:fixed;inset:0;z-index:10;display:grid;justify-items:end;background:#161f1b57}.drawer{display:grid;width:min(420px,100%);max-height:100vh;gap:14px;overflow-y:auto;padding:20px 18px 24px;border-left:1px solid var(--line);background:linear-gradient(180deg,#f8faf8fa,#edf3eefa);box-shadow:-18px 0 50px #26312b2e;animation:drawer-enter .18s ease-out}.drawer-header{display:flex;gap:12px;align-items:start;justify-content:space-between}.drawer-header h2,.drawer-section h3{margin:0;color:var(--ink);font-weight:500;letter-spacing:-.02em}.drawer-close{min-height:40px;padding:0 12px;border:1px solid var(--line);border-radius:var(--db-radius-md);color:var(--ink);background:var(--wash);font-weight:500}.drawer-section{display:grid;gap:12px;padding:14px;border:1px solid var(--line);border-radius:var(--db-radius-lg);background:#ffffffe0;box-shadow:var(--db-shadow-1)}.drawer-section h3{font-size:.98rem}.drawer-section .complete-button,.drawer-section .secondary-button,.drawer-section .reset-button{width:100%}.drawer-copy{margin:0;color:var(--muted);line-height:1.45}.completed-list{display:grid;gap:8px}.completed-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;min-height:48px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--db-radius-md);color:var(--ink);background:var(--wash);text-align:left}.completed-item-copy{display:grid;gap:3px}.completed-item-copy strong{color:var(--ink);font-size:.96rem;font-weight:500}.completed-item-copy small{color:var(--muted);font-size:.78rem;letter-spacing:normal;text-transform:none}.completed-item>small{color:var(--green-dark);font-family:var(--db-font-mono);font-weight:500;letter-spacing:.06em;text-transform:uppercase}.outline-groups{display:grid;gap:8px}.outline-group{display:flex;gap:10px;align-items:center;justify-content:space-between;min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--db-radius-md);background:var(--wash)}.outline-group strong{color:var(--ink);font-size:.94rem;font-weight:500}.outline-group span{color:var(--green-dark);font-family:var(--db-font-mono);font-size:.72rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase}.workout-summary{display:flex;flex-wrap:wrap;gap:10px 20px;align-items:end;justify-content:space-between;margin:0 0 16px;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.workout-summary h2{margin:0;font-size:clamp(1.7rem,7vw,3.2rem);font-weight:500;letter-spacing:-.02em}.workout-summary p{max-width:360px;margin:0;color:var(--muted);line-height:1.45}.exercise-list{display:grid;gap:28px;padding-bottom:36px}.muscle-group{display:grid;gap:12px}.muscle-group h3{margin:0;color:var(--ink);font-size:1.18rem;font-weight:500;letter-spacing:-.01em}.exercise-grid{display:grid;gap:12px}.exercise-card{display:grid;grid-template-columns:1fr;overflow:hidden}.exercise-graphic{display:grid;gap:10px;width:100%;min-height:240px;margin:0;padding:14px;background:linear-gradient(180deg,#f8faf8,#edf3eee6);border-bottom:1px solid var(--line)}.reference-header{display:grid;gap:5px}.reference-header strong{color:var(--ink);font-size:1rem;font-weight:500;line-height:1.2}.reference-header span,.reference-note,.reference-credit{margin:0;color:var(--muted);font-size:.78rem;line-height:1.35}.reference-images{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-items:stretch}.reference-images.count-1{grid-template-columns:1fr}.reference-image{display:grid;gap:5px;align-content:end;min-height:170px;padding:8px;border:1px solid var(--line);border-radius:var(--db-radius-md);background:#fff}.reference-image img{width:100%;height:150px;object-fit:contain}.reference-image span{color:var(--green-dark);font-family:var(--db-font-mono);font-size:.72rem;font-weight:500;letter-spacing:.04em;text-align:center;text-transform:uppercase}.reference-note{padding:8px 10px;border:1px solid #cadbe9;border-radius:999px;color:var(--blue);background:#e3ecf3;font-family:var(--db-font-mono);font-weight:500;letter-spacing:.03em}.reference-credit a{color:var(--green-dark);font-weight:500}.exercise-content{display:grid;gap:16px;padding:18px;background:linear-gradient(180deg,#fffffffa,#fcfdfc)}.exercise-heading{display:grid;gap:14px}.exercise-heading-copy{display:grid;gap:6px}.exercise-heading p{margin:0;color:var(--green-dark);font-family:var(--db-font-mono);font-size:.72rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase}.exercise-heading-copy small{color:var(--muted);font-size:.95rem;line-height:1.45}.exercise-heading h4{margin:0;color:var(--ink);font-size:1.3rem;line-height:1.15;letter-spacing:-.015em}.exercise-heading span{width:max-content;max-width:100%;padding:7px 10px;border:1px solid #cadbe9;border-radius:999px;color:var(--blue);background:#e3ecf3;font-family:var(--db-font-mono);font-size:.72rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase}.exercise-meta{display:grid;gap:8px;justify-items:start}.exercise-meta small{color:var(--muted);font-size:.88rem;line-height:1.35}.field{display:grid;gap:7px;color:var(--muted);font-family:var(--db-font-mono);font-size:.74rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:var(--db-radius-md);color:var(--ink);background:#fcfdfc;font-family:var(--db-font-sans);font-weight:500;outline:none}.field input,.field select{min-height:46px;padding:0 12px}.field textarea{min-height:88px;resize:vertical;padding:12px;line-height:1.4}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px #1d6b5a29}.admin-shell{gap:16px}.admin-panel,.admin-exercise{display:grid;gap:14px;padding:18px;border:1px solid var(--line);border-radius:var(--db-radius-lg);background:linear-gradient(180deg,#fffffffa,#f8faf8);box-shadow:var(--db-shadow-2)}.admin-actions,.admin-grid,.admin-exercises{display:grid;gap:10px}.editor-summary{display:grid;gap:14px}.editor-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.editor-stat{display:grid;gap:4px;padding:12px;border:1px solid var(--line);border-radius:var(--db-radius-md);background:var(--wash)}.editor-stat strong{color:var(--green-dark);font-size:1.15rem;font-weight:500;letter-spacing:-.02em}.editor-stat span{color:var(--muted);font-family:var(--db-font-mono);font-size:.68rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase}.admin-exercise-header{display:flex;gap:12px;align-items:start;justify-content:space-between}.admin-exercise-copy{display:grid;gap:6px}.admin-exercise-copy .eyebrow{margin:0}.admin-exercise-header strong{color:var(--ink);font-size:1.1rem;font-weight:500}.admin-exercise-meta{display:flex;flex-wrap:wrap;gap:8px}.admin-exercise-meta span{padding:6px 9px;border:1px solid var(--line);border-radius:999px;color:var(--green-dark);background:var(--wash);font-family:var(--db-font-mono);font-size:.68rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase}.media-review{display:grid;gap:10px;padding:12px;border:1px solid var(--line);border-radius:var(--db-radius-lg);background:linear-gradient(180deg,#fcfdfc,#edf3eeb3)}.media-review div:first-child{display:grid;gap:4px}.media-review strong{color:var(--ink)}.media-review span,.media-review a{color:var(--muted);font-size:.86rem;font-weight:500}.media-review img{width:100%;max-height:220px;object-fit:contain;border:1px solid var(--line);border-radius:var(--db-radius-md);background:#fff}.media-review select{width:100%;min-height:42px;border:1px solid var(--line);border-radius:var(--db-radius-md);color:var(--ink);background:#fff}@keyframes card-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes drawer-enter{0%{transform:translate(28px)}to{transform:translate(0)}}@media(min-width:720px){.app-shell{padding:26px}.app-header-main{grid-template-columns:minmax(220px,auto) minmax(0,1fr);align-items:start}.intro{grid-template-columns:minmax(0,1fr) 280px;gap:28px;padding-top:30px}.controls{grid-template-columns:minmax(320px,440px) minmax(260px,1fr);align-items:center}.control-actions{grid-template-columns:minmax(180px,240px) minmax(120px,160px);justify-content:end}.exercise-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.exercise-card{grid-template-columns:minmax(200px,42%) minmax(0,1fr)}.focus-card{min-height:70vh}.exercise-graphic{height:100%;min-height:320px;border-right:1px solid var(--line);border-bottom:0}.exercise-heading{grid-template-columns:minmax(0,1fr) auto;align-items:start}.exercise-meta{justify-items:end}.admin-actions{grid-template-columns:1fr 1fr}.admin-grid,.status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:719px){.app-header{gap:12px}.brand-copy span{display:none}.session-meter-header{align-items:center}.session-meter-badge{min-width:54px;padding-inline:10px}}@media(min-width:1080px){.exercise-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
