@font-face{font-family:Manrope;src:url(/assets/manrope-DIRNzeTG.ttf)format("truetype");font-weight:200 800;font-display:swap}@font-face{font-family:Barlow Condensed;src:url(/assets/barlow-condensed-B7YG4rBL.ttf)format("truetype");font-weight:600;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/assets/ibm-plex-mono-Bl6ckbVJ.ttf)format("truetype");font-weight:500;font-display:swap}:root{--dm-paper:#f6f5f0;--dm-white:#fff;--dm-ink:#161c19;--dm-muted:#58675d;--dm-line:#d9ddd3;--dm-citron:#d9f36f;--dm-citronHover:#c8e65b;--dm-stage:#111a17;--dm-panel:#24332b;--dm-inverseMuted:#aec0b2;--dm-darkLine:#3a4c40;--dm-warning:#ffcf89;--dm-danger:#ffd1c8;--dm-dangerText:#7b351f;--dm-success:#e6f1da;--dm-space-4:4px;--dm-space-8:8px;--dm-space-12:12px;--dm-space-16:16px;--dm-space-24:24px;--dm-space-32:32px;--dm-space-48:48px;--dm-space-64:64px;--dm-radius-8:8px;--dm-radius-16:16px;--dm-radius-24:24px;--dm-radius-999:999px;--dm-display:600 112px/104px "Barlow Condensed", Manrope, sans-serif;--dm-hero:600 80px/80px "Barlow Condensed", Manrope, sans-serif;--dm-heading:600 56px/58px "Barlow Condensed", Manrope, sans-serif;--dm-title:600 24px/32px Manrope, sans-serif;--dm-body:400 16px/25px Manrope, sans-serif;--dm-strong:600 16px/24px Manrope, sans-serif;--dm-small:500 13px/20px Manrope, sans-serif;--dm-label:500 12px/18px "IBM Plex Mono", monospace;--dm-metric:600 128px/128px "Barlow Condensed", Manrope, sans-serif;--dm-cue:600 64px/64px "Barlow Condensed", Manrope, sans-serif;--planning-background:var(--dm-paper);--planning-surface:var(--dm-white);--planning-text:var(--dm-ink);--graphite-background:var(--dm-stage);--graphite-surface:var(--dm-panel);--citron-accent:var(--dm-citron);--text:var(--dm-muted);--text-h:var(--dm-ink);--bg:var(--dm-paper);--border:var(--dm-line);--code-bg:var(--dm-white);--accent:var(--dm-citron);--sans:Manrope, sans-serif;--heading:"Barlow Condensed", Manrope, sans-serif;--mono:"IBM Plex Mono", monospace}*{box-sizing:border-box}body{background:var(--planning-background);color:var(--planning-text);font:var(--dm-body);font-synthesis:none;margin:0}#root{min-height:100svh}h1,h2,h3,p{margin:0}h1{font:var(--dm-hero)}h2{font:var(--dm-heading)}h3{font:var(--dm-title)}p+p{margin-top:var(--dm-space-16)}button,input,select,textarea{font:var(--dm-strong);color:inherit}button{color:var(--dm-ink);min-height:52px;padding:var(--dm-space-12) var(--dm-space-24);border:1px solid var(--dm-line);border-radius:var(--dm-radius-999);background:var(--dm-white);cursor:pointer}button:hover{background:var(--dm-success)}button:disabled{opacity:.55;cursor:default}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--dm-ink);outline-offset:4px}.primary-action,.dm-primary{background:var(--dm-citron);border-color:var(--dm-citron);color:var(--dm-ink)}.dm-primary:hover{background:var(--dm-citronHover)}.dm-dark{background:var(--dm-ink);color:var(--dm-white);border-color:var(--dm-ink)}.dm-ghost{background:var(--dm-paper);border-color:#0000}.dm-danger{background:var(--dm-danger);color:var(--dm-dangerText)}.app-shell{text-align:left;max-width:1440px;min-height:100svh;margin:auto;padding:24px 32px}.app-shell header{justify-content:space-between;align-items:center;gap:24px;min-height:64px;display:flex}.brand{font:600 30px/32px var(--heading);white-space:nowrap;align-items:center;gap:12px;display:flex}.brand img{width:36px;height:36px}.planning-nav{flex-wrap:wrap;gap:8px;display:flex}.planning-nav a{min-height:52px;padding:var(--dm-space-12) var(--dm-space-24);border-radius:var(--dm-radius-999);font:var(--dm-strong);color:var(--dm-ink);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.planning-nav a:hover{background:var(--dm-success)}.planning-nav a:focus-visible{outline:3px solid var(--dm-ink);outline-offset:4px}.planning-nav a[aria-current]{background:var(--dm-white);border-color:var(--dm-line)}.app-shell header code{font:var(--dm-label)}.backend-badge{font:var(--dm-small)}.backend-offline,.backend-error{color:var(--dm-dangerText)}.planning-content{min-height:752px;padding:48px 32px}.planning-footer{font:var(--dm-label);color:var(--dm-muted);justify-content:space-between;gap:16px;margin-top:24px;display:flex}.editorial-grid{grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:32px;display:grid}.context-grid{grid-template-columns:minmax(0,536fr) minmax(0,792fr);gap:48px;display:grid}.dm-panel{background:var(--dm-white);border-radius:var(--dm-radius-24);min-width:0;padding:32px}.dm-panel.dark{background:var(--dm-ink);color:var(--dm-white)}.dm-panel.dark p{color:var(--dm-inverseMuted)}.dm-panel.success{background:var(--dm-success)}.dm-panel.citron{background:var(--dm-citron)}.dm-label{font:var(--dm-label);color:var(--dm-muted);margin-bottom:24px}.dark .dm-label{color:var(--dm-inverseMuted)}.section-header{margin-bottom:32px}.section-header h2{margin-bottom:24px}.section-header p{color:var(--dm-muted)}.dm-actions{flex-wrap:wrap;gap:16px;margin-top:32px;display:flex}.dm-field{border:1px solid var(--dm-line);border-radius:var(--dm-radius-16);background:var(--dm-white);gap:8px;margin-bottom:16px;padding:16px 24px;display:grid}.dm-field span{font:var(--dm-small);color:var(--dm-muted)}.dm-field textarea{resize:vertical;width:100%;min-height:104px;font:var(--dm-body);background:0 0;border:0}.dm-field select{background:0 0;border:0;width:100%;padding:8px}.dm-field input{width:100%;min-width:0}.source-chips{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.source-chip,.coach-badge{border:1px solid var(--dm-line);font:var(--dm-small);overflow-wrap:anywhere;border-radius:999px;align-items:center;gap:4px;max-width:100%;padding:4px 12px;display:inline-flex}.coach-badge{background:var(--dm-success);border:0}.coach-badge.experimental{background:var(--dm-warning)}.fact-list,.plan-list{gap:12px;display:grid}.fact-card{border:1px solid var(--dm-line);background:var(--dm-white);border-radius:16px;padding:24px}.fact-card[data-status=confirmed]{background:var(--dm-success)}.fact-card blockquote{font:var(--dm-small);color:var(--dm-muted);margin:12px 0}.fact-card .dm-actions{margin-top:12px}.document-card{border:1px solid var(--dm-line);overflow-wrap:anywhere;border-radius:24px;margin-top:16px;padding:24px}.document-card h3{margin-bottom:12px}.persona-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.persona-card{background:var(--dm-white);border-radius:24px;flex-direction:column;gap:16px;min-height:452px;padding:32px;display:flex}.persona-card h2{font:var(--dm-hero)}.persona-card .dm-actions{margin-top:auto}.plan-intro{grid-template-columns:minmax(0,1fr) 390px;gap:32px;margin-bottom:32px;display:grid}.time-budget{background:var(--dm-citron);border-radius:24px;align-items:center;gap:16px;padding:32px;display:flex}.time-budget strong{font:var(--dm-metric)}.exercise-row{background:var(--dm-white);border:1px solid var(--dm-line);border-radius:16px;grid-template-columns:48px minmax(0,1fr) 160px 240px;align-items:center;gap:24px;min-height:84px;padding:24px;display:grid}.exercise-row .source-chips{grid-column:2/-1}.exercise-row small{color:var(--dm-muted)}.exercise-row .dm-actions{grid-column:2/-1;margin:0}.plan-day{margin-top:32px}.plan-day h3{margin-bottom:16px}.routine-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:32px;display:grid}.ai-summary{margin-top:24px}.ai-summary ul{line-height:1.8}.dm-sheet{background:var(--dm-paper);border:0;border-radius:24px;width:min(96vw,1160px);max-height:90svh;padding:32px;overflow:auto}.dm-sheet::backdrop{background:var(--dm-stage);opacity:.7}.illustration{width:780px;max-width:100%;height:auto}.detail-stage{background:var(--dm-stage);color:var(--dm-white);border-radius:24px;padding:32px;overflow:hidden}.detail-stage h2{margin-top:24px}.dm-status{background:var(--dm-success);border-radius:16px;margin:24px 0;padding:24px}.dm-status.error{background:var(--dm-danger);color:var(--dm-dangerText)}.experience{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;margin-top:48px;display:grid}.experience main:empty{display:none}.camera-column{min-width:0}.camera-preview{aspect-ratio:16/9;background:var(--dm-panel);border-radius:24px;position:relative;overflow:hidden}.camera-preview video{object-fit:contain;width:100%;height:100%;transform:scaleX(-1)}.camera-preview canvas{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.frame-guide{border:1px dashed var(--dm-darkLine);pointer-events:none;border-radius:16px;position:absolute;inset:4% 8%}.gesture-hud{font:var(--dm-small);border:1px solid var(--dm-line);border-radius:16px;margin-top:16px;padding:16px}.gesture-target{justify-content:center;align-items:center;gap:12px;width:100%;min-height:52px;margin:12px 0;display:flex}.gesture-target.focused,.gesture-target.selected{border:3px solid var(--dm-ink);background:var(--dm-success)}.gesture-target.pinch-candidate,.gesture-target.confirm-candidate{outline:4px solid var(--dm-citron)}.gesture-cursor{border:3px solid var(--dm-white);background:var(--dm-ink);z-index:10000;pointer-events:none;opacity:0;will-change:transform;border-radius:999px;width:28px;height:28px;margin:-14px;position:fixed;top:0;left:0}.gesture-cursor[data-pinching=true]{background:var(--dm-citron)}progress{width:100%;height:12px;accent-color:var(--dm-citron);margin:12px 0;display:block}.gesture-example{text-align:center;padding:16px;font-size:64px}.step-success{background:var(--dm-success)}.fake-controls{background:var(--dm-warning);color:var(--dm-ink);padding:16px}.fake-controls button{margin:4px}.camera-error{background:var(--dm-danger);color:var(--dm-dangerText);border-radius:24px;margin-top:16px;padding:24px}.privacy-notice{font:var(--dm-small);color:var(--dm-muted);margin:24px 0}.instruction{font:var(--dm-title);margin:16px 0}table{border-collapse:collapse;width:100%;margin:16px 0}th,td{text-align:left;border-bottom:1px solid var(--dm-line);padding:12px}.settings-grid,.menu-backend,.progress-totals,.results-actions{grid-template-columns:1fr 1fr;gap:16px;display:grid}.progress-totals dd{font:var(--dm-heading);margin:12px 0}.plan-days{line-height:1.8}.error-bar{background:var(--dm-line);border-radius:8px;height:12px;overflow:hidden}.error-bar span{background:var(--dm-warning);height:100%;display:block}.rep-counter{font:var(--dm-metric);color:var(--dm-citron)}.feedback-card{background:var(--dm-panel);color:var(--dm-white);border-radius:16px;padding:24px}.feedback-card.correction{border:1px solid var(--dm-warning)}.workout-feedback-banner{font:var(--dm-cue);color:var(--dm-white);overflow-wrap:break-word;min-height:128px;margin:24px 0;line-height:1}.feedback-warning,.feedback-error,.feedback-hint{color:var(--dm-warning)}.workout-shell{background:var(--dm-stage);color:var(--dm-white);max-width:none;min-height:100svh}.workout-shell header{max-width:1376px;margin:auto}.workout-shell .privacy-notice{color:var(--dm-inverseMuted)}.workout-shell .experience{grid-template-columns:minmax(0,864fr) minmax(0,440fr);gap:48px;max-width:1376px;margin:48px auto 0}.workout-shell .camera-preview{aspect-ratio:864/592;min-height:490px}.workout-shell main{min-width:0}.coach-shell .tracking-status{background:var(--dm-success);color:var(--dm-ink);font:var(--dm-small);border-radius:999px;margin:24px 0;padding:8px 16px}.coach-shell .rep-counter{margin:24px 0}.distance-cue{font:var(--dm-cue);white-space:pre-line;overflow-wrap:break-word;max-width:100%;min-height:128px;margin:24px 0}.distance-cue[data-correction=true]{color:var(--dm-warning)}.coach-shell .secondary{color:var(--dm-inverseMuted);font:var(--dm-small);margin:16px 0}.coach-shell .dm-label{color:var(--dm-inverseMuted)}.workout-shell .brand img{filter:invert()}.countdown{text-align:center}.manual-clock{font:var(--dm-metric);color:var(--dm-citron)}@media (width<=834px){.app-shell{padding:24px 32px}.planning-content{padding:32px 0}.planning-nav{gap:4px}.planning-nav a{padding:8px 12px}.editorial-grid,.context-grid,.plan-intro,.persona-list,.routine-list{grid-template-columns:minmax(0,1fr)}.time-budget strong{font:var(--dm-hero)}.exercise-row{grid-template-columns:32px minmax(0,1fr);gap:12px}.exercise-row>*{grid-column:2}.exercise-row>span:first-child{grid-area:1/1}.exercise-row .source-chips,.exercise-row .dm-actions{grid-column:1/-1}.workout-shell .experience,.experience{grid-template-columns:minmax(0,1fr);gap:24px}.workout-shell .camera-preview{aspect-ratio:350/180;min-height:0}.workout-shell .experience{margin-top:24px}.workout-shell .camera-column{grid-row:1}.workout-shell .distance-cue{min-height:108px;font-size:48px;line-height:53.76px}.workout-shell .rep-counter{font:600 72px/80.64px var(--heading)}.dm-sheet{width:100%;max-height:94svh;margin:auto auto 0;padding:20px}.planning-footer{flex-wrap:wrap}}@media (width<=390px){.app-shell{padding:20px}.brand{font:600 20px/24px var(--heading)}.brand img{width:24px;height:24px}.app-shell header{flex-wrap:wrap;gap:8px}.planning-nav{justify-content:space-between;width:100%}.planning-nav a{font:var(--dm-small);padding:8px}.planning-content{padding:32px 0}.dm-panel{padding:20px}.section-header h2{font-size:48px;line-height:54px}.context-grid{gap:24px}.context-grid>.dark h1{font-size:56px;line-height:58px}.dm-actions{gap:12px}.dm-actions button{flex:1;min-width:0}.settings-grid,.results-actions{grid-template-columns:1fr}.planning-footer{font-size:10px}.workout-feedback-banner{font-size:48px;line-height:54px}.persona-card{min-height:350px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.cue-measure{visibility:hidden;pointer-events:none;display:block;position:absolute;inset:0 0 auto}.camera-setup,.camera-error{color:var(--planning-text);background:var(--planning-surface);margin-top:var(--dm-space-24)}.persona-card:first-child{background:var(--dm-citron)}.persona-card:first-child button{background:var(--dm-ink);color:var(--dm-white)}button.source-chip{min-height:32px}.exercise-row .dm-actions{flex-wrap:wrap;gap:12px;display:flex}.exercise-row .dm-actions .gesture-target{flex:1;width:auto;margin:0}.camera-column:has(.camera-error) .camera-preview{display:none}.coach-badge{color:var(--dm-ink)}.guided-preview{background:var(--dm-panel);border-radius:24px;padding:24px;overflow:hidden}.guided-preview img{width:100%;height:auto;display:block}@media (width<=834px){.coach-shell .tracking-status{margin:12px 0;padding:4px 12px}.coach-shell .rep-counter{margin:8px 0}.workout-shell .distance-cue{margin:12px 0}.coach-shell .secondary{margin:8px 0}.coach-shell .dm-actions{gap:8px;margin-top:12px}.coach-shell .dm-actions button{padding:8px 12px}.guided-preview{padding:12px}.guided-preview img{object-fit:contain;max-height:180px}}.workout-shell .brand{font:var(--dm-title)}@media (width<=390px){.workout-shell .brand{font:600 15px/16.8px Manrope,sans-serif}.workout-shell .brand img{width:24px;height:24px}}.fact-card .gesture-target{flex:1;width:auto;margin:0}
