:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b0e13;--bg-raise:#12161d;--bg-raise-2:#1a1f28;--line:#232a35;--line-strong:#313a48;--text:#e8ecf1;--text-dim:#9aa5b1;--text-faint:#67717e;--accent:#4ade80;--accent-soft:#4ade8024;--accent-ink:#052e16;--warn:#fbbf24;--warn-soft:#fbbf2424;--danger:#f87171;--danger-soft:#f8717124;--info:#60a5fa;--info-soft:#60a5fa24;--font:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--radius:12px;--radius-sm:8px}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;margin:0;font-size:14px;line-height:1.45}.app-shell{flex-direction:column;min-height:100%;display:flex}.topbar{border-bottom:1px solid var(--line);background:var(--bg-raise);align-items:baseline;gap:14px;padding:14px 22px;display:flex}.brand{letter-spacing:-.01em;font-size:17px;font-weight:700}.brand:before{content:"●";color:var(--accent);vertical-align:2px;margin-right:8px;font-size:12px}.tagline{color:var(--text-dim);font-size:13px}.layout{flex:1;grid-template-columns:62fr 38fr;align-items:start;gap:16px;min-width:1100px;padding:16px 22px 22px;display:grid}.stage-col,.side-col{flex-direction:column;gap:14px;min-width:0;display:flex}.camera-stage{aspect-ratio:16/9;border-radius:var(--radius);border:1px solid var(--line);background:#05070a;position:relative;overflow:hidden}.camera-stage video,.camera-stage canvas{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.camera-stage.mirrored video,.camera-stage.mirrored canvas{transform:scaleX(-1)}.angle-label{border:1px solid var(--accent);color:var(--accent);font-family:var(--mono);pointer-events:none;background:#05070abf;border-radius:999px;padding:2px 8px;font-size:13px;font-weight:600;position:absolute;transform:translate(10px,-50%)}.view-guidance{border:1px solid var(--line-strong);color:var(--text-dim);letter-spacing:.01em;pointer-events:none;white-space:nowrap;background:#05070ab3;border-radius:999px;padding:5px 14px;font-size:12.5px;position:absolute;top:12px;left:50%;transform:translate(-50%)}.form-cue{background:var(--warn);color:#451a03;pointer-events:none;white-space:nowrap;border-radius:999px;padding:8px 20px;font-size:17px;font-weight:700;animation:.18s ease-out cue-pop;position:absolute;bottom:22px;left:50%;transform:translate(-50%)}.camera-stage.is-resting .angle-label{display:none}.rest-palm-hint{border-radius:var(--radius-sm);background:var(--bg-raise);color:var(--text);pointer-events:none;align-items:center;gap:12px;padding:12px 16px;display:flex;position:absolute;inset:auto 16px 16px}.rest-palm-icon{font-size:28px}.rest-palm-copy{flex:1;min-width:0}.rest-palm-title{margin:0;font-size:15px;font-weight:600}.rest-palm-detail{color:var(--text-dim);margin:3px 0 0;font-size:12px}.rest-palm-hint progress{appearance:none;background:var(--line-strong);width:100%;height:5px;accent-color:var(--accent);border:0;border-radius:4px;margin-top:9px;display:block;overflow:hidden}.rest-palm-hint progress::-webkit-progress-bar{background:var(--line-strong)}.rest-palm-hint progress::-webkit-progress-value{background:var(--accent)}.rest-palm-hint progress::-moz-progress-bar{background:var(--accent)}@keyframes cue-pop{0%{opacity:0;transform:translate(-50%)scale(.85)}to{opacity:1;transform:translate(-50%)scale(1)}}.countdown-big{z-index:5;color:var(--accent);text-shadow:0 0 40px #4ade8066;pointer-events:none;font-variant-numeric:tabular-nums;background:#05070a59;place-items:center;font-size:120px;font-weight:800;display:grid;position:absolute;inset:0}.camera-fallback{color:var(--text-dim);background:radial-gradient(60% 60% at 50% 40%,#4ade800d,#0000),#05070a;flex-direction:column;justify-content:center;align-items:center;gap:10px;display:flex;position:absolute;inset:0}.fallback-title{color:var(--text);margin:0;font-size:15px;font-weight:600}.fallback-detail{color:var(--text-faint);text-align:center;max-width:60%;margin:0;font-size:12px}.fallback-controls{align-items:center;gap:8px;display:flex}.card{background:var(--bg-raise);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px}.card-header{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.card-header h2{text-transform:uppercase;letter-spacing:.09em;color:var(--text-faint);margin:0;font-size:12px;font-weight:600}.hint-line{color:var(--text-faint);margin:6px 0 0;font-size:12.5px}.phase-badge{letter-spacing:.02em;border:1px solid var(--line-strong);color:var(--text-dim);background:var(--bg-raise-2);border-radius:999px;padding:3px 10px;font-size:11.5px;font-weight:600}.phase-badge.phase-set{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.phase-badge.phase-countdown{color:var(--warn);border-color:var(--warn);background:var(--warn-soft)}.phase-badge.phase-rest{color:var(--info);border-color:var(--info);background:var(--info-soft)}.phase-badge.phase-awaiting_confirmation{color:var(--warn);border-color:var(--warn);background:var(--warn-soft);animation:1.2s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.55}}.session-main{justify-content:space-between;align-items:center;gap:12px;display:flex}.session-exercise{flex-direction:column;gap:2px;display:flex}.session-exercise-name{text-transform:capitalize;font-size:19px;font-weight:700}.session-set-count{color:var(--text-dim);font-size:13px}.rep-display{font-variant-numeric:tabular-nums;align-items:baseline;gap:6px;display:flex}.rep-big{color:var(--accent);font-size:52px;font-weight:800;line-height:1}.rest-display .rep-big{color:var(--info)}.rep-target{color:var(--text-faint);font-size:18px;font-weight:600}.flag-chips{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.flag-chip{background:var(--warn-soft);color:var(--warn);border:1px solid #fbbf2459;border-radius:999px;padding:2px 9px;font-size:12px}.session-actions{gap:8px;margin-top:12px;display:flex}.summary-stats{grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:10px;display:grid}.stat{background:var(--bg-raise-2);border-radius:var(--radius-sm);font-variant-numeric:tabular-nums;flex-direction:column;align-items:center;padding:10px 4px;display:flex}.stat-value{color:var(--accent);font-size:22px;font-weight:700}.stat-label{color:var(--text-faint);text-transform:uppercase;letter-spacing:.06em;font-size:11px}.recommendations{color:var(--text-dim);flex-direction:column;gap:4px;margin:0;padding-left:18px;font-size:13px;display:flex}.agent-badge{color:var(--accent);background:var(--accent-soft);border:1px solid #4ade8066;border-radius:999px;padding:3px 10px;font-size:11.5px;font-weight:600}.plan-blocks{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.plan-block{border-radius:var(--radius-sm);background:var(--bg-raise-2);border:1px solid #0000;justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.plan-block.current{border-color:var(--accent);background:var(--accent-soft)}.plan-block-exercise{text-transform:capitalize;font-weight:600}.plan-block-scheme{color:var(--text-dim);font-variant-numeric:tabular-nums}.plan-note{color:var(--text-dim);margin:8px 0 0;font-size:13px;font-style:italic}.plan-form{border-top:1px dashed var(--line-strong);flex-direction:column;gap:10px;margin-top:12px;padding-top:12px;display:flex}.plan-form-grid{grid-template-columns:1.4fr 1fr 1fr 1fr;gap:8px;display:grid}.plan-form label,.plan-form-note{color:var(--text-faint);text-transform:uppercase;letter-spacing:.05em;flex-direction:column;gap:4px;font-size:11.5px;display:flex}.plan-form input,.plan-form select{width:100%}.form-error{color:var(--danger);margin:0;font-size:12.5px}.log-count{color:var(--text-faint);font-variant-numeric:tabular-nums;font-size:12px}.log-entries{max-height:320px;font-family:var(--mono);flex-direction:column;gap:2px;margin:0;padding:0;font-size:12px;list-style:none;display:flex;overflow-y:auto}.log-entry{border-radius:6px;align-items:center;gap:8px;padding:5px 8px;display:flex}.log-entry:hover{background:var(--bg-raise-2)}.log-time{color:var(--text-faint);flex-shrink:0}.log-tool{color:var(--text);flex-shrink:0;font-weight:600}.log-input{color:var(--text-faint);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.log-right{flex-shrink:0;align-items:center;gap:6px;margin-left:auto;display:flex}.log-duration{color:var(--text-faint);font-size:11px}.log-source{border:1px solid var(--line-strong);color:var(--text-dim);border-radius:999px;padding:1px 6px;font-size:10px}.log-source-browser-api{color:var(--accent);border-color:#4ade8066}.log-status{border-radius:999px;padding:1px 7px;font-size:11px;font-weight:600}.log-status-ok,.log-status-created,.log-status-applied,.log-status-started{color:var(--accent);background:var(--accent-soft)}.log-status-error,.log-status-rejected{color:var(--danger);background:var(--danger-soft)}.log-status-pending{color:var(--warn);background:var(--warn-soft)}.log-status-timeout,.log-status-cancelled{color:var(--text-dim);background:var(--bg-raise-2)}.proposal-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:40;background:#05070a99;place-items:center;display:grid;position:fixed;inset:0}.proposal-card{background:var(--bg-raise);border:1px solid var(--accent);border-radius:var(--radius);flex-direction:column;gap:8px;width:min(440px,90vw);padding:22px 24px 18px;display:flex;box-shadow:0 0 60px #4ade8026}.proposal-kicker{text-transform:uppercase;letter-spacing:.1em;color:var(--accent);font-size:11.5px;font-weight:700}.proposal-title{margin:0;font-size:20px;line-height:1.25}.proposal-reason{color:var(--text-dim);margin:0;font-style:italic}.proposal-gestures{color:var(--text-dim);flex-direction:column;gap:3px;margin-top:6px;font-size:13.5px;display:flex}.proposal-progress{background:var(--accent);transform-origin:0;border-radius:2px;height:4px;margin-top:10px;animation-name:shrink;animation-timing-function:linear;animation-fill-mode:forwards}@keyframes shrink{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.proposal-buttons{gap:8px;margin-top:8px;display:flex}.proposal-buttons button{flex:1}.debug-panel{font-size:13px}.debug-live{font-family:var(--mono);color:var(--text-dim);font-size:11.5px}.debug-grid{grid-template-columns:1fr 1.4fr 1fr;gap:16px;display:grid}.debug-col h3{text-transform:uppercase;letter-spacing:.07em;color:var(--text-faint);margin:0 0 6px;font-size:11px;font-weight:600}.debug-col h3+.debug-row{margin-bottom:10px}.debug-tools{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.debug-tools code{font-family:var(--mono);font-size:12px}.readonly-tag{background:var(--info-soft);color:var(--info);border-radius:999px;margin-left:6px;padding:1px 6px;font-size:10px}.debug-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.debug-panel textarea{width:100%;font-family:var(--mono);resize:vertical;margin-top:6px;font-size:12px}.debug-result{border:1px solid var(--line);border-radius:var(--radius-sm);font-family:var(--mono);white-space:pre-wrap;background:#05070a;max-height:180px;margin:6px 0 0;padding:8px 10px;font-size:11.5px;overflow:auto}select,input,button,textarea{font:inherit;color:var(--text);background:var(--bg-raise-2);border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:7px 10px}:focus-visible{outline:2px solid var(--accent);outline-offset:1px}button{cursor:pointer;font-weight:600}button:hover{border-color:var(--accent)}button.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}button.primary:hover{filter:brightness(1.08)}button.ghost{color:var(--text-dim);background:0 0}
