@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";:root{--color-bg:#fefce8;--color-surface:#ffffffb3;--color-surface-hover:#ffffffe6;--color-text:#1e293b;--color-text-muted:#475569;--color-text-dim:#64748b;--color-primary:#16a34a;--color-primary-glow:#16a34a66;--color-accent:#facc15;--color-accent-glow:#facc154d;--color-violet:#8b5cf6;--color-amber:#f59e0b;--color-danger:#ef4444;--color-border:#00000014;--color-border-strong:#00000026;--font-sans:"Inter", sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--color-bg);color:var(--color-text);min-height:100vh;line-height:1.6;overflow-x:hidden}::selection{background-color:var(--color-primary);color:#020617}.glass-panel{background:var(--color-surface);-webkit-backdrop-filter:blur(12px);border:1px solid var(--color-border);border-radius:16px;box-shadow:0 10px 40px #0000000d}.eofy-portal{--color-surface:#1e293b;--color-surface-hover:#263449;--color-text:#e2e8f0;--color-text-muted:#94a3b8;--color-text-dim:#64748b;--color-border:#334155;--color-border-strong:#475569;--color-primary:#3b82f6;--color-primary-glow:#3b82f659;--eofy-panel:#1e293b;--eofy-panel-soft:#172033;--eofy-panel-deep:#111827;--eofy-input:#0f172a;--eofy-input-border:#334155;--eofy-muted-bg:#94a3b81a;color:var(--color-text)}.eofy-portal h1,.eofy-portal h2,.eofy-portal h3,.eofy-portal h4,.eofy-portal h5,.eofy-portal h6,.eofy-portal summary,.eofy-portal label{color:var(--color-text)}.eofy-portal strong{color:inherit}.eofy-portal small,.eofy-portal p{color:var(--color-text-muted)}.eofy-portal label:has(input[type=checkbox]){background:#0f172a3d;border-radius:8px;min-height:2.35rem;padding:.45rem .6rem}.eofy-portal input[type=checkbox]{accent-color:#3b82f6}.eofy-portal .glass-panel{background:var(--eofy-panel);border-color:var(--color-border);color:var(--color-text);box-shadow:0 14px 32px #0f172a2e}.eofy-portal .form-input{background:var(--eofy-input);border-color:var(--eofy-input-border);color:var(--color-text)}.eofy-portal .form-input:focus{background:#111827;border-color:#60a5fa;box-shadow:0 0 0 3px #60a5fa33}.eofy-portal .btn-secondary{color:var(--color-text);border-color:var(--color-border-strong);box-shadow:none;background:#1e293b}.eofy-portal .btn-secondary:hover{background:#263449;border-color:#60a5fa}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--color-bg)}::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-dim)}.movement-app{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){.movement-app{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){.movement-app{font-size:16px}}@media (prefers-color-scheme:dark){.movement-app{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}.movement-app{margin:0}.movement-app h1,.movement-app h2{font-family:var(--heading);color:var(--text-h);font-weight:500}.movement-app h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){.movement-app h1{margin:20px 0;font-size:36px}}.movement-app h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){.movement-app h2{font-size:20px}}.movement-app p{margin:0}.movement-app code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}.movement-app code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.movement-app{--bg-app:#0d131a;--bg-card:#151e28;--bg-card-hover:#1e293b;--border-color:#263545;--border-accent:#0f766e;--text-main:#f1f5f9;--text-muted:#94a3b8;--accent-teal:#14b8a6;--accent-cyan:#06b6d4;--accent-emerald:#10b981;--accent-amber:#f59e0b;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif}.movement-app *{box-sizing:border-box}.movement-app{background-color:var(--bg-app);min-width:320px;min-height:100vh;color:var(--text-main);margin:0}.movement-app button,.movement-app input,.movement-app select{font:inherit}.movement-app button{border:1px solid var(--border-color);background:var(--bg-card);min-height:38px;color:var(--text-main);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:8px;transition:all .15s;display:inline-flex}.movement-app button:hover:not(:disabled){background:var(--bg-card-hover);border-color:var(--accent-teal)}.movement-app button:disabled{opacity:.5;cursor:not-allowed}.app-header{border-bottom:1px solid var(--border-color);background:#111823;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:14px 24px;display:flex}.app-header .movement-app h1{background:linear-gradient(135deg,#38bdf8,#14b8a6);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin:0;font-size:1.25rem;font-weight:700}.app-header .movement-app p{color:var(--text-muted);margin:2px 0 0;font-size:.8rem}.header-controls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.header-controls label{color:var(--text-muted);align-items:center;gap:6px;font-size:.85rem;display:flex}.header-controls .movement-app select{border:1px solid var(--border-color);color:var(--text-main);background:#1a2432;border-radius:6px;padding:4px 8px}.header-controls input[type=file]{color:var(--text-muted);font-size:.85rem}.header-controls input[type=file]::file-selector-button{color:#38bdf8;cursor:pointer;background:linear-gradient(135deg,#38bdf81f,#14b8a61f);border:1px solid #38bdf866;border-radius:6px;padding:4px 10px;font-weight:500;transition:all .2s}.header-controls input[type=file]::file-selector-button:hover{color:#14b8a6;background:linear-gradient(135deg,#38bdf838,#14b8a638);border-color:#14b8a699}.client-id-input{border:1px solid var(--border-color);color:var(--text-main);background:#1a2432;border-radius:6px;max-width:120px;padding:4px 8px;font-size:.85rem}.client-views-status{align-items:center;gap:6px;display:flex}.view-status-badge{cursor:default;-webkit-user-select:none;user-select:none;border-radius:4px;padding:2px 6px;font-size:.75rem;font-weight:600;transition:all .2s}.view-status-badge.has-view{color:#34d399;cursor:pointer;background:#10b98126;border:1px solid #10b981}.view-status-badge.has-view:hover{background:#10b9814d;transform:translateY(-1px)}.view-status-badge.no-view{color:var(--text-muted);background:#ffffff0d;border:1px solid #ffffff26}.clear-history-btn{color:#f87171;cursor:pointer;background:#ef44441a;border:1px solid #ef44444d;border-radius:6px;padding:4px 8px;font-size:.8rem;transition:all .2s}.clear-history-btn:hover{background:#ef444440;border-color:#ef444480}.myofascial-toggle-label{-webkit-user-select:none;user-select:none;cursor:pointer}.myofascial-toggle-label .movement-app input{cursor:pointer;margin-right:4px}.app-shell{flex-direction:column;gap:16px;max-width:1720px;margin:0 auto;padding:16px 24px;display:flex}.main-stage-grid{grid-template-columns:1fr 340px;gap:16px;width:100%;display:grid}.capture-stage{border:1px solid var(--border-color);background:#090d12;border-radius:12px;width:100%;min-height:720px;position:relative;overflow:hidden;box-shadow:0 4px 20px #0006}.source-video,.overlay-canvas{object-fit:contain;width:100%;height:100%;position:absolute;inset:0}.source-video{z-index:1}.overlay-canvas{z-index:2;pointer-events:none}.stage-top-controls{z-index:4;justify-content:space-between;align-items:center;display:flex;position:absolute;top:12px;left:12px;right:12px}.speed-selector{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border-color);background:#0f172ad9;border-radius:20px;padding:2px;display:flex}.speed-btn{color:var(--text-muted);background:0 0;border:none;border-radius:16px;min-height:26px;padding:4px 10px;font-size:.75rem;font-weight:600}.speed-btn.active{background:var(--accent-teal);color:#0f172a}.mode-badge{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border-color);color:var(--accent-cyan);background:#0f172ad9;border-radius:16px;padding:4px 12px;font-size:.75rem;font-weight:600}.stage-left-column{flex-direction:column;gap:12px;width:100%;min-width:0;display:flex}.upload-controls{z-index:3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border-color);background:#0f172ad9;border-radius:10px;flex-direction:column;gap:8px;padding:10px 14px;display:flex;position:relative}.playback-controls,.frame-controls{justify-content:center;align-items:center;gap:12px;display:flex}.playback-controls input[type=range]{accent-color:var(--accent-teal);flex:1}.frame-controls output{color:var(--accent-teal);font-family:monospace;font-size:.85rem}.live-measurement-panel{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;flex-direction:column;gap:12px;padding:16px;display:flex}.live-measurement-panel .panel-header{flex-direction:column;gap:4px;display:flex}.live-indicator{color:var(--accent-emerald);letter-spacing:.5px;font-size:.7rem;font-weight:700}.active-phase-badge{color:var(--accent-cyan);margin:0;font-size:1.1rem;font-weight:700}.measurement-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.measurement-item{justify-content:space-between;align-items:center;font-size:.88rem;display:flex}.measurement-item .label{color:var(--text-muted)}.measurement-item .dots{text-overflow:clip;white-space:nowrap;color:#334155;flex:1;margin:0 8px;overflow:hidden}.measurement-item .value{color:var(--accent-teal);font-family:monospace;font-size:.95rem;font-weight:700}.panel-footer{border-top:1px solid var(--border-color);color:var(--text-muted);padding-top:8px;font-size:.75rem}.gait-timeline-container{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;flex-direction:column;gap:12px;padding:16px;display:flex}.gait-timeline-header{justify-content:space-between;align-items:center;display:flex}.gait-timeline-header h3{margin:0;font-size:1rem;font-weight:700}.gait-timeline-header .subtitle{color:var(--text-muted);font-size:.75rem}.side-selector{gap:6px;display:flex}.side-btn{border-radius:14px;min-height:28px;padding:2px 10px;font-size:.75rem}.side-btn.active{background:var(--accent-teal);color:#0f172a;border-color:var(--accent-teal)}.stride-selector-bar{border:1px solid var(--border-color);background:#0f172a;border-radius:8px;align-items:center;gap:12px;padding:8px 12px;display:flex}.bar-label{color:var(--accent-cyan);white-space:nowrap;font-size:.78rem;font-weight:600}.stride-pills{align-items:center;gap:8px;padding-bottom:2px;display:flex;overflow-x:auto}.stride-pill{border-color:var(--border-color);white-space:nowrap;background:#1e293b;border-radius:13px;min-height:26px;padding:2px 10px;font-family:monospace;font-size:.73rem}.stride-pill.active{background:var(--accent-teal);color:#0f172a;border-color:var(--accent-teal);font-weight:700}.timeline-track-area{padding-bottom:44px;position:relative}.timeline-track-rail{border:1px solid var(--border-color);background:#0f172a;border-radius:8px;height:52px;display:flex;position:relative;overflow:hidden}.phase-block{cursor:pointer;-webkit-user-select:none;user-select:none;background:#1e293bb3;border-right:1px solid #ffffff1a;flex-direction:column;justify-content:center;align-items:center;padding:2px;transition:background .15s;display:flex;position:absolute;top:0;bottom:0}.phase-block:hover{background:#0f766e4d}.phase-block.active{border:1px solid var(--accent-teal);background:#14b8a659}.phase-block.looping{border:1px solid var(--accent-amber);background:#f59e0b59}.phase-name{color:var(--text-main);text-align:center;text-overflow:ellipsis;white-space:nowrap;max-width:95%;font-size:.68rem;font-weight:700;overflow:hidden}.estimated-badge{color:#f87171;background:#ef444433;border-radius:4px;margin-top:2px;padding:1px 4px;font-size:.55rem}.loop-phase-btn{min-height:18px;color:var(--text-muted);background:#0006;border:none;border-radius:4px;margin-top:3px;padding:1px 4px;font-size:.65rem}.loop-phase-btn:hover{color:#fff}.timeline-playhead{z-index:10;pointer-events:none;background:#38bdf8;width:2px;transition:left 50ms linear;position:absolute;top:0;bottom:0}.playhead-cap{background:#38bdf8;border-radius:50%;width:10px;height:10px;position:absolute;top:-4px;left:-4px}.timeline-labels-row{height:38px;position:absolute;bottom:0;left:0;right:0}.boundary-node{cursor:pointer;flex-direction:column;align-items:center;display:flex;position:absolute;transform:translate(-50%)}.boundary-node.alternate-node{bottom:0}.node-dot{background:var(--accent-cyan);border-radius:50%;width:4px;height:4px}.node-pct{color:var(--accent-cyan);font-size:.68rem;font-weight:700}.node-time{color:var(--text-muted);font-family:monospace;font-size:.65rem}.phase-thumbnails-section{border:1px solid var(--border-color);background:#0f172a;border-radius:8px;flex-direction:column;gap:8px;padding:12px;display:flex}.thumbnails-heading{color:var(--accent-cyan);margin:0;font-size:.8rem;font-weight:600}.thumbnails-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px;display:grid}.thumbnail-card{border:1px solid var(--border-color);cursor:pointer;background:#151e28;border-radius:8px;flex-direction:column;align-items:center;gap:4px;padding:6px;transition:all .15s;display:flex}.thumbnail-card:hover{border-color:var(--accent-teal);background:#1e293b;transform:translateY(-2px)}.thumbnail-card.active{border-color:var(--accent-teal);box-shadow:0 0 8px #14b8a666}.thumbnail-card .card-header{width:100%;color:var(--text-muted);justify-content:space-between;align-items:center;font-size:.65rem;font-weight:700;display:flex}.thumbnail-card .card-idx{background:var(--accent-teal);color:#0f172a;border-radius:50%;justify-content:center;align-items:center;width:14px;height:14px;font-size:.6rem;display:flex}.thumbnail-card .card-time{color:var(--accent-cyan);font-family:monospace}.phase-thumbnail-canvas{background:#090d12;border:1px solid #1e293b;border-radius:6px;width:100px;height:100px}.thumbnail-card .card-footer-title{color:var(--text-main);text-align:center;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.65rem;font-weight:700;overflow:hidden}.gait-timeline-footer{border-top:1px solid var(--border-color);justify-content:space-between;align-items:center;padding-top:10px;font-size:.8rem;display:flex}.looping-badge{color:var(--accent-amber);align-items:center;gap:6px;font-weight:600;display:flex}.clear-loop-btn{min-height:22px;padding:1px 8px;font-size:.7rem}.ai-summary-panel{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;flex-direction:column;gap:12px;padding:16px;display:flex}.ai-summary-header{justify-content:space-between;align-items:center;display:flex}.ai-summary-header .badge{color:var(--accent-emerald);align-items:center;gap:6px;font-size:.95rem;font-weight:700;display:flex}.prompt-note{color:var(--text-muted);font-size:.75rem}.finding-list{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.finding-item{border:1px solid var(--border-color);cursor:pointer;background:#0f172a;border-radius:8px;align-items:flex-start;gap:12px;padding:12px;transition:all .15s;display:flex}.finding-item:hover{border-color:var(--accent-teal);background:#1e293b;transform:translateY(-1px)}.finding-item .content{flex:1}.finding-item .title{color:var(--text-main);margin:0 0 4px;font-size:.88rem}.finding-item .observation{color:var(--text-muted);margin:0;font-size:.78rem;line-height:1.35}.jump-action{color:var(--accent-cyan);align-items:center;gap:4px;font-size:.72rem;font-weight:600;display:flex}.clinical-details-drawer{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;overflow:hidden}.drawer-header{cursor:pointer;-webkit-user-select:none;user-select:none;background:#111823;justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.summary-title{align-items:center;gap:8px;font-weight:700;display:flex}.summary-indicator{color:var(--text-muted);align-items:center;gap:6px;font-size:.8rem;display:flex}.drawer-content{border-top:1px solid var(--border-color);flex-direction:column;gap:16px;padding:16px;display:flex}.params-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;display:grid}.param-card{border:1px solid var(--border-color);background:#0f172a;border-radius:8px;flex-direction:column;gap:4px;padding:10px;display:flex}.param-label{color:var(--text-muted);font-size:.75rem}.param-value{color:var(--accent-teal);font-family:monospace;font-size:.95rem;font-weight:700}.param-conf{color:var(--accent-emerald);font-size:.65rem}.rom-graphs-area h4{margin:0 0 12px;font-size:.9rem}.charts-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px;display:grid}.metric-chart-card{border:1px solid var(--border-color);background:#0f172a;border-radius:10px;flex-direction:column;gap:8px;margin:0;padding:12px;display:flex}.chart-header{justify-content:space-between;align-items:center;display:flex}.chart-title{color:var(--text-main);font-size:.82rem;font-weight:600}.chart-range-badge{color:var(--accent-teal);background:#14b8a626;border-radius:4px;padding:2px 6px;font-family:monospace;font-size:.72rem}.metric-svg{background:#090d12;border-radius:6px;width:100%;height:auto;display:block}.text-emerald{color:var(--accent-emerald)}.clinical-gait-report{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;flex-direction:column;gap:24px;margin-top:16px;padding:24px;display:flex}.report-main-header{border-bottom:1px solid var(--border-color);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-bottom:16px;display:flex}.header-title-group .movement-app h2{color:var(--text-main);margin:0;font-size:1.35rem}.header-title-group .subtitle{color:var(--text-muted);margin:4px 0 0;font-size:.8rem}.report-top-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.audience-tabs{border:1px solid var(--border-color);background:#0f172a;border-radius:8px;padding:3px;display:flex}.tab-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:6px;padding:6px 12px;font-size:.8rem;font-weight:600;display:flex}.tab-btn.active{background:var(--accent-teal);color:#0f172a}.export-btn-group{gap:8px;display:flex}.export-action-btn{border:1px solid var(--border-color);color:var(--text-main);cursor:pointer;background:#1e293b;border-radius:6px;align-items:center;gap:6px;padding:6px 12px;font-size:.78rem;font-weight:600;display:flex}.export-action-btn:hover{border-color:var(--accent-teal);background:#334155}.report-section{flex-direction:column;gap:12px;display:flex}.section-title{color:var(--text-main);margin:0 0 4px;font-size:1.05rem;font-weight:700}.overview-grid{grid-template-columns:280px 1fr;gap:16px;display:grid}.overview-meta-card{border:1px solid var(--border-color);background:#0f172a;border-radius:8px;padding:14px}.overview-meta-card h4{margin:0 0 10px;font-size:.85rem}.overview-meta-card ul{flex-direction:column;gap:6px;margin:0 0 12px;padding:0;font-size:.78rem;list-style:none;display:flex}.overview-meta-card ul li{justify-content:space-between;display:flex}.status-cards-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.status-card{border:1px solid var(--border-color);background:#0f172a;border-radius:8px;flex-direction:column;gap:4px;padding:14px;display:flex}.status-card .card-label{color:var(--text-muted);font-size:.72rem}.status-card .card-value{color:var(--accent-teal);font-size:1.1rem;font-weight:700}.status-card .card-detail{color:var(--text-muted);font-size:.68rem}.client-cards-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;display:grid}.client-card{border:1px solid var(--border-color);background:#0f172a;border-radius:8px;padding:14px}.client-card h4{margin:0 0 10px;font-size:.88rem}.client-card ul{flex-direction:column;gap:8px;margin:0;padding:0;font-size:.8rem;list-style:none;display:flex}.client-card ul li{align-items:flex-start;gap:8px;display:flex}.next-steps-banner{color:#a7f3d0;background:#10b9811a;border:1px solid #10b9814d;border-radius:8px;align-items:center;gap:12px;padding:12px 16px;font-size:.82rem;display:flex}.findings-list{flex-direction:column;gap:12px;display:flex}.finding-item-card{border:1px solid var(--border-color);background:#0f172a;border-radius:8px;flex-direction:column;gap:8px;padding:14px;display:flex}.finding-header{justify-content:space-between;align-items:center;display:flex}.finding-header h4{color:var(--text-main);margin:0;font-size:.9rem}.finding-meta-badges{gap:6px;display:flex}.badge{border:1px solid var(--border-color);background:#1e293b;border-radius:4px;padding:2px 6px;font-size:.68rem}.badge.confidence-badge.high{color:#6ee7b7;background:#10b98133}.finding-observation{color:#cbd5e1;margin:0;font-size:.82rem}.finding-evidence{color:var(--text-muted);font-size:.76rem}.evidence-pill{background:#1e293b;border-radius:4px;margin-left:6px;padding:2px 6px;font-family:monospace}.jump-replay-btn{border:1px solid var(--accent-teal);color:var(--accent-teal);cursor:pointer;background:0 0;border-radius:4px;align-self:flex-start;padding:4px 8px;font-size:.72rem}.phase-accordion{flex-direction:column;gap:8px;display:flex}.phase-accordion-card{border:1px solid var(--border-color);background:#0f172a;border-radius:8px;overflow:hidden}.phase-accordion-header{cursor:pointer;background:#1e293b66;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.phase-accordion-header:hover{background:#1e293bcc}.phase-accordion-body{border-top:1px solid var(--border-color);flex-direction:column;gap:10px;padding:16px;font-size:.82rem;display:flex}.phase-metrics-row{gap:12px;display:flex}.metric-chip{background:#1e293b;border-radius:6px;gap:6px;padding:4px 10px;font-size:.76rem;display:flex}.clinical-data-table{border-collapse:collapse;border:1px solid var(--border-color);background:#0f172a;border-radius:8px;width:100%;font-size:.8rem;overflow:hidden}.clinical-data-table th,.clinical-data-table td{text-align:left;border-bottom:1px solid var(--border-color);padding:10px 12px}.clinical-data-table th{color:var(--text-muted);background:#1e293b;font-weight:600}.status-pill{border-radius:10px;padding:2px 8px;font-size:.7rem;font-weight:600}.status-pill.measured{color:#6ee7b7;background:#10b98133}.status-pill.unavailable{color:#fcd34d;background:#f59e0b33}.synthesis-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;display:grid}.synth-box{border:1px solid var(--border-color);background:#0f172a;border-radius:8px;padding:14px}.synth-box h4{margin:0 0 10px;font-size:.85rem}.synth-box ul{flex-direction:column;gap:6px;margin:0;padding:0;font-size:.78rem;list-style:none;display:flex}.clinician-notes-editor{border:1px solid var(--border-color);background:#0f172a;border-radius:8px;flex-direction:column;gap:8px;padding:14px;display:flex}.clinician-notes-editor textarea{border:1px solid var(--border-color);width:100%;color:var(--text-main);background:#1e293b;border-radius:6px;padding:8px;font-family:inherit}.approval-checkbox-row{align-items:center;gap:8px;font-size:.8rem;display:flex}.profile-rec-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.profile-column,.recommendations-column{border:1px solid var(--border-color);background:#0f172a;border-radius:8px;padding:16px}.profile-dims-list{flex-direction:column;gap:8px;margin-top:12px;display:flex}.dim-row{background:#1e293b;border-radius:6px;justify-content:space-between;align-items:center;padding:8px 12px;font-size:.78rem;display:flex}.rec-list{flex-direction:column;gap:8px;margin:12px 0 0;padding:0;font-size:.8rem;list-style:none;display:flex}.rec-item{background:#1e293b;border-radius:6px;align-items:center;gap:8px;padding:8px 12px;display:flex}.report-traceability-footer{border-top:1px solid var(--border-color);flex-direction:column;gap:12px;padding-top:16px;display:flex}.toggle-traceability-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;align-self:flex-start;align-items:center;gap:8px;font-size:.8rem;display:flex}.traceability-drawer{border:1px solid var(--border-color);background:#0f172a;border-radius:8px;padding:14px;font-size:.76rem}.traceability-drawer ul{flex-direction:column;gap:6px;margin:8px 0 0;padding:0;list-style:none;display:flex}@media (width<=1200px){.main-stage-grid{grid-template-columns:1fr}.capture-stage{min-height:560px}}@media print{.app-header,.main-stage-grid,.gait-timeline-container,.ai-summary-panel,.report-top-actions,.audience-tabs,.export-btn-group,.export-action-btn,header.app-header,.movement-app button,.movement-app select,.movement-app input,footer{display:none!important}.movement-app,.app-container,.app-shell,.report-container,.clinical-details-drawer{color:#0f172a!important;box-shadow:none!important;background:#fff!important;border:none!important;width:100%!important;max-width:100%!important;margin:0!important;padding:0!important;font-size:11pt!important}.app-shell{flex-direction:column!important;display:flex!important}.report-container{order:1!important}.clinical-details-drawer{order:2!important;display:block!important}details.clinical-details-drawer:not([open])>:not(summary){display:block!important}.clinical-details-drawer summary{display:none!important}.clinical-details-drawer .drawer-content{padding:0!important;display:block!important}.report-section{page-break-inside:avoid;border-bottom:1px solid #cbd5e1!important;margin-bottom:24px!important;padding-bottom:16px!important}.param-card,.status-card,.overview-card,.kinematic-chart-card,.comp-card,.finding-item-card,.synth-box,.overview-meta-card{page-break-inside:avoid;color:#0f172a!important;box-shadow:none!important;background:#f8fafc!important;border:1px solid #cbd5e1!important}.params-grid,.charts-grid,.kinematics-grid,.comparison-cards-grid,.synthesis-grid{page-break-inside:avoid;grid-template-columns:repeat(2,1fr)!important;gap:16px!important;display:grid!important}.movement-app h1,.movement-app h2,h3,h4,h5,h6,strong{color:#0f172a!important}.movement-app code{color:#0f172a!important;background:#f1f5f9!important}}.report-views-filter-bar{border:1px solid var(--border-color);background:#111823;border-radius:8px;align-items:center;gap:16px;margin-bottom:20px;padding:10px 16px;display:flex}.report-views-filter-bar .filter-title{color:var(--text-main);font-size:.85rem;font-weight:600}.perspective-checkbox-label{color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;font-size:.85rem;transition:color .2s;display:flex}.perspective-checkbox-label:hover{color:var(--text-main)}.perspective-checkbox{cursor:pointer}.view-perspective-badge{text-transform:uppercase;border-radius:4px;margin-left:8px;padding:2px 6px;font-size:.7rem;font-weight:700}.view-perspective-badge.side{color:#38bdf8;background:#38bdf826;border:1px solid #38bdf84d}.view-perspective-badge.front{color:#14b8a6;background:#14b8a626;border:1px solid #14b8a64d}.view-perspective-badge.back{color:#f59e0b;background:#f59e0b26;border:1px solid #f59e0b4d}.app-container{flex-direction:column;min-height:100vh;display:flex;position:relative}body{background-color:var(--color-bg)}nav{z-index:10000;box-sizing:border-box;background:#fffdf0;border-bottom:1px solid #94a3b83d;justify-content:space-between;align-items:center;min-height:76px;padding:.75rem 2rem;transition:all .3s;display:flex;position:fixed;top:0;left:0;right:0;box-shadow:0 6px 22px #0f172a14}nav.scrolled{background:#fffdf0;border-bottom:1px solid #94a3b852;box-shadow:0 8px 28px #0f172a1f}main{padding-top:96px}.logo{flex:none;align-items:center;display:flex}.navbar-logo{object-fit:contain;width:72px;height:72px;transition:height .3s}nav.scrolled .navbar-logo{width:56px;height:56px}.nav-links{align-items:center;gap:2rem;display:flex}.nav-links a{color:var(--color-text-muted);font-size:.95rem;font-weight:600;text-decoration:none;transition:color .2s}.nav-links a:hover{color:var(--color-primary)}.nav-link-button{color:var(--color-text-muted);cursor:pointer;font-size:.95rem;font-weight:600;font-family:var(--font-sans);background:0 0;border:none;padding:0;transition:color .2s}.nav-link-button:hover,.nav-link-button.active{color:var(--color-primary)}.btn-primary{background:linear-gradient(135deg, var(--color-primary) 0%, #22c55e 100%);color:#fff;cursor:pointer;box-shadow:0 4px 14px var(--color-primary-glow);border:none;border-radius:9999px;padding:.75rem 1.75rem;font-size:1rem;font-weight:700;text-decoration:none;transition:all .3s;display:inline-block}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #16a34a66}.btn-secondary{color:var(--color-text);border:1px solid var(--color-border);cursor:pointer;background:0 0;border-radius:9999px;padding:.75rem 1.75rem;font-size:1rem;font-weight:600;transition:all .3s;box-shadow:0 2px 4px #0000000d}.btn-secondary:hover{background:#fff3;border-color:#00000026}section{max-width:1200px;margin:0 auto;padding:6rem 2rem;scroll-margin-top:118px}.section-header{text-align:center;margin-bottom:4rem}.section-header h2{color:var(--color-text);margin-bottom:1rem;font-size:2.5rem;font-weight:800}.section-header p{color:var(--color-text-muted);max-width:600px;margin:0 auto;font-size:1.2rem}.hero-wrapper{border-bottom:1px solid var(--color-border);background:linear-gradient(135deg,#fefce8 0%,#fef9c3 50%,#ecfccb 100%);width:100%;position:relative;overflow:hidden}.hero-wrapper:before{content:"";z-index:0;background:0 0;position:absolute;inset:0}.hero{z-index:1;text-align:center;max-width:1000px;margin:0 auto;padding:8rem 2rem;position:relative}.badge{color:var(--color-primary);letter-spacing:.05em;text-transform:uppercase;background:#2dd4bf1a;border:1px solid #2dd4bf33;border-radius:9999px;align-items:center;gap:.5rem;margin-bottom:2rem;padding:.5rem 1rem;font-size:.85rem;font-weight:700;display:inline-flex}.badge-pulse{background-color:var(--color-primary);border-radius:50%;width:8px;height:8px;animation:2s infinite pulse}@keyframes pulse{0%{box-shadow:0 0 #2dd4bfb3}70%{box-shadow:0 0 0 10px #2dd4bf00}to{box-shadow:0 0 #2dd4bf00}}.hero h1{letter-spacing:-.03em;color:var(--color-text);margin-bottom:1.5rem;font-size:clamp(3rem,8vw,4.5rem);font-weight:800;line-height:1.1}.text-gradient{background:linear-gradient(90deg,#16a34a,#facc15);-webkit-text-fill-color:transparent;-webkit-background-clip:text}.hero p{color:var(--color-text-muted);max-width:700px;margin:0 auto 3rem;font-size:1.25rem}.eofy-profile-section{padding-top:5rem}.eofy-profile-section.eofy-portal{background:linear-gradient(160deg,#0f172a 0%,#172033 58%,#111827 100%);border:1px solid #94a3b838;border-radius:24px;margin-top:5rem;margin-bottom:2rem;box-shadow:0 22px 48px #0f172a2e}.eofy-profile-intro{grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);align-items:end;gap:2rem;margin-bottom:2rem;display:grid}.eofy-profile-intro .badge{margin-bottom:1rem}.eofy-profile-intro h2{color:var(--color-text);max-width:720px;font-size:clamp(2rem,5vw,3rem);line-height:1.12}.eofy-portal .eofy-profile-intro h2{color:var(--color-text)}.eofy-profile-intro p{color:var(--color-text-muted);font-size:1.05rem}.eofy-profile-card{gap:1.5rem;padding:2rem;display:grid}.eofy-profile-form-stepper{margin-bottom:1.5rem}.eofy-stepper{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.75rem;display:grid}.eofy-stepper button{border:1px solid var(--color-border);color:var(--color-text-muted);font:inherit;cursor:pointer;background:#ffffff94;border-radius:8px;padding:.85rem;font-weight:700;transition:all .2s}.eofy-stepper button.active,.eofy-stepper button:hover{color:var(--color-primary);background:#16a34a1a;border-color:#16a34a4d}.eofy-step-content{align-content:center;gap:1.5rem;min-height:300px;padding:1rem 0;display:grid}.eofy-step-content h3{color:var(--color-text);font-size:clamp(1.5rem,3vw,2rem);line-height:1.2}.eofy-step-content p{color:var(--color-text-muted);max-width:680px}.eofy-step-content svg{color:var(--color-primary)}.trust-step{grid-template-columns:auto minmax(0,1fr);align-items:start}.trust-step ul{grid-column:1/-1;grid-template-columns:repeat(3,1fr);gap:.75rem;list-style:none;display:grid}.trust-step li,.eofy-soft-cta{color:var(--color-text-muted);border:1px solid var(--color-border);background:#ffffff80;border-radius:8px;align-items:flex-start;gap:.6rem;padding:.85rem;display:flex}.eofy-portal .trust-step li,.eofy-portal .eofy-soft-cta{border-color:var(--color-border);background:#0f172a57}.trust-step li svg,.eofy-soft-cta svg{flex:none}.eyebrow{text-transform:uppercase;letter-spacing:.05em;font-size:.78rem;font-weight:800;color:var(--color-primary)!important}.eofy-field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;max-width:760px;display:grid}.profile-output{grid-template-columns:auto minmax(0,1fr);align-items:start}.profile-output .eofy-soft-cta,.profile-output .eofy-email-row{grid-column:1/-1}.eofy-email-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;display:grid}.eofy-profile-controls{border-top:1px solid var(--color-border);grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;padding-top:1.25rem;display:grid}.eofy-profile-controls span{color:var(--color-text-muted);font-weight:700}.eofy-profile-controls button{justify-content:center;align-items:center;gap:.4rem;display:inline-flex}.eofy-profile-controls button:last-child{justify-self:end}.eofy-profile-controls button:disabled{opacity:.45;cursor:not-allowed;transform:none}.eofy-inner-controls{margin-top:1rem}.about-layout{grid-template-columns:minmax(0,.95fr) minmax(320px,1.05fr);align-items:center;gap:3rem;display:grid}.about-copy h3{color:var(--color-text);margin-bottom:1rem;font-size:clamp(1.75rem,4vw,2.5rem);line-height:1.12}.about-copy>p:not(.eyebrow){color:var(--color-text-muted);margin-bottom:1.5rem;font-size:1.05rem}.about-visual{border:1px solid var(--color-border);background:#ffffff7a;border-radius:8px;overflow:hidden;box-shadow:0 18px 40px #0f172a1f}.about-visual img{width:100%;height:auto;display:block}.credential-grid{gap:.75rem;display:grid}.credential-grid>div{border:1px solid var(--color-border);background:#ffffff75;border-radius:8px;grid-template-columns:auto minmax(0,1fr);gap:.2rem .75rem;padding:.95rem;display:grid}.credential-grid svg{color:var(--color-primary);grid-row:span 2;margin-top:.15rem}.credential-grid strong{color:var(--color-text)}.credential-grid span{color:var(--color-text-muted);font-size:.9rem}.credential-badges{grid-template-columns:repeat(7,minmax(112px,1fr));align-items:stretch;gap:.65rem;margin:-2.3rem 0 2.2rem;display:grid}.credential-badges figure{border:1px solid var(--color-border);background:#ffffff80;border-radius:8px;margin:0;padding:.45rem}.credential-badges img{object-fit:contain;object-position:center;background:#fff;border-radius:6px;width:100%;height:104px;display:block}.credential-badges figcaption{color:var(--color-text-muted);text-align:center;margin-top:.45rem;font-size:.68rem;font-weight:700;line-height:1.2}.service-offer-layout{grid-template-columns:minmax(260px,.78fr) minmax(0,1.22fr);align-items:stretch;gap:1rem;display:grid}.service-lead{border-radius:8px;flex-direction:column;justify-content:center;padding:1.5rem;display:flex}.service-lead h3{color:var(--color-text);margin-bottom:.9rem;font-size:clamp(1.35rem,3vw,1.8rem);line-height:1.18}.service-lead p:not(.eyebrow){color:var(--color-text-muted)}.service-menu{gap:.85rem;margin:0;display:grid}.service-row{border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:1rem;padding:1.15rem;display:grid}.service-row-icon{width:48px;height:48px;color:var(--color-primary);background:#16a34a1a;border:1px solid #16a34a2e;border-radius:8px;place-items:center;display:grid}.service-row h3{color:var(--color-text);margin-bottom:.35rem;font-size:1.2rem}.service-row p{color:var(--color-text-muted);font-size:.98rem}.blog-layout{gap:1.25rem;display:grid}.blog-feature,.blog-preview{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1.25rem;padding:2rem;display:grid}.blog-feature svg,.blog-preview svg{color:var(--color-primary)}.blog-feature h3,.blog-preview h3{color:var(--color-text);margin-bottom:.25rem;font-size:1.35rem}.blog-feature p,.blog-preview p{color:var(--color-text-muted)}.blog-preview button{white-space:nowrap;align-items:center;gap:.4rem;display:inline-flex}.blog-status{color:var(--color-primary);white-space:nowrap;place-self:center end;font-size:.9rem;font-weight:800}.blog-draft-details{color:var(--color-text-muted);margin-top:.85rem}.blog-draft-details summary{color:var(--color-primary);cursor:pointer;font-weight:800}.blog-draft-details p{margin-top:.6rem;font-size:.95rem}.blog-topic-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;display:grid}.blog-topic-grid>div{border:1px solid var(--color-border);background:#ffffff73;border-radius:8px;padding:1rem}.blog-topic-grid span{color:var(--color-primary);font-size:.78rem;font-weight:800}.blog-topic-grid strong{color:var(--color-text);margin:.35rem 0;display:block}.blog-topic-grid p{color:var(--color-text-muted);font-size:.9rem}.auth-page{background:linear-gradient(160deg, var(--color-bg) 0%, #fef9c3 50%, #ecfccb 100%);justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.auth-card{width:100%;max-width:420px;padding:2.5rem;position:relative}.auth-back-btn{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;align-items:center;gap:.5rem;font-size:.9rem;font-weight:500;transition:color .2s;display:flex;position:absolute;top:1.25rem;left:1.25rem}.auth-back-btn:hover{color:var(--color-primary)}.auth-header{text-align:center;margin-bottom:2rem;padding-top:1.5rem}.auth-logo{width:auto;height:48px;margin-bottom:1.25rem}.auth-header h2{color:var(--color-text);margin-bottom:.5rem;font-size:1.75rem;font-weight:700}.auth-header p{color:var(--color-text-muted);font-size:.95rem;line-height:1.5}.auth-form{flex-direction:column;gap:1.25rem;display:flex}.auth-input-wrap{position:relative}.auth-input-icon{color:var(--color-text-muted);pointer-events:none;z-index:10;position:absolute;top:50%;left:1rem;transform:translateY(-50%)}.auth-input{z-index:1;position:relative;color:var(--color-text)!important;background:#ffffffe6!important;border:1px solid #0000001f!important;padding-left:2.75rem!important}.auth-input-password{padding-right:2.75rem!important}.auth-input:focus{background:#fff!important}.auth-password-toggle{color:var(--color-text-muted);cursor:pointer;z-index:10;background:0 0;border:none;align-items:center;padding:.25rem;transition:color .2s;display:flex;position:absolute;top:50%;right:.75rem;transform:translateY(-50%)}.auth-password-toggle:hover{color:var(--color-primary)}.auth-label-row{justify-content:space-between;align-items:center;display:flex}.auth-forgot-link{font-size:.85rem}.auth-link-btn{color:var(--color-primary);cursor:pointer;font-weight:600;font-size:inherit;text-underline-offset:2px;background:0 0;border:none;padding:0;text-decoration:underline}.auth-link-btn:hover{color:#15803d}.auth-submit-btn{width:100%;margin-top:.5rem}.auth-success{text-align:left;align-items:flex-start;gap:.5rem;display:flex}.auth-success svg{flex-shrink:0;margin-top:2px}.auth-footer{flex-direction:column;gap:.75rem;margin-top:1.75rem;display:flex}.auth-switch{text-align:center;color:var(--color-text-muted);font-size:.9rem}.auth-help-panel{flex-direction:column;gap:1.25rem;display:flex}.auth-help-item{background:#16a34a0f;border:1px solid #16a34a26;border-radius:12px;gap:1rem;padding:1rem;display:flex}.auth-help-item svg{color:var(--color-primary);flex-shrink:0;margin-top:2px}.auth-help-item strong{color:var(--color-text);margin-bottom:.25rem;font-size:.95rem;display:block}.auth-help-item p{color:var(--color-text-muted);margin:0;font-size:.875rem;line-height:1.5}.contact-direct{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;max-width:900px;margin:-1.5rem auto 2rem;display:grid}.contact-direct-card{color:var(--color-text);border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.15rem .75rem;padding:1rem;text-decoration:none;display:grid}.contact-direct-card svg{color:var(--color-primary);grid-row:span 2}.contact-direct-card span{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.8rem;font-weight:800}.contact-direct-card strong{color:var(--color-text);overflow-wrap:anywhere;font-size:.95rem}.contact-direct-card:hover{border-color:#16a34a57;transform:translateY(-2px)}.contact-form{flex-direction:column;gap:1.5rem;max-width:600px;margin:0 auto;padding:3rem;display:flex}.form-group{flex-direction:column;gap:.5rem;display:flex}.form-group label{color:var(--color-text);font-size:.9rem;font-weight:600}.form-input{color:var(--color-text);font-family:var(--font-sans);background:#ffffffb3;border:1px solid #0000001f;border-radius:8px;padding:1rem;font-size:1rem;transition:all .3s}.form-input::placeholder{color:var(--color-text-muted);opacity:.6}.form-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-glow);background:#fff;outline:none}textarea.form-input{resize:vertical;min-height:120px}.form-status{text-align:center;border-radius:8px;padding:1rem;font-weight:500}.form-status.success{color:var(--color-primary);background:#2dd4bf1a;border:1px solid #2dd4bf33}.form-status.error{color:#f87171;background:#ef44441a;border:1px solid #ef444433}footer{text-align:center;border-top:1px solid var(--color-border);color:var(--color-text-muted);background:var(--color-bg);margin-top:auto;padding:3rem 2rem;font-size:.9rem}@media (width<=768px){nav{flex-direction:column;gap:.75rem;min-height:0;padding:.75rem 1rem}.navbar-logo{width:56px;height:56px;margin:0}nav.scrolled .navbar-logo{width:44px;height:44px}.nav-links{flex-wrap:wrap;justify-content:center;gap:1rem}main{padding-top:156px}.eofy-profile-intro,.about-layout,.service-offer-layout,.service-menu,.blog-topic-grid,.contact-direct,.trust-step,.profile-output,.blog-feature,.blog-preview{grid-template-columns:1fr}.credential-badges{grid-template-columns:repeat(7,112px);margin-top:-1.8rem;padding-bottom:.35rem;overflow-x:auto}.eofy-stepper,.trust-step ul,.eofy-field-grid,.eofy-email-row{grid-template-columns:1fr}.eofy-profile-card{padding:1.25rem}.eofy-profile-controls{grid-template-columns:1fr}.eofy-profile-controls button:last-child{justify-self:stretch}}.floating-butterfly{pointer-events:none;z-index:100;opacity:.9;filter:drop-shadow(0 10px 20px #00000026)saturate(1.3);-webkit-user-select:none;user-select:none;position:absolute}.floating-butterfly img{width:100%;height:auto}.butterfly-1{width:140px;top:13%;left:2%}.butterfly-2{width:95px;top:8%;right:3%;transform:rotate(-15deg)}.butterfly-3{width:120px;top:26%;left:4%;transform:rotate(15deg)}.butterfly-4{width:90px;top:32%;right:3%;transform:scaleX(-1)rotate(-10deg)}.butterfly-5{width:110px;top:45%;left:3%;transform:scaleX(-1)rotate(20deg)}.butterfly-6{width:100px;top:58%;right:4%;transform:rotate(-15deg)}.butterfly-7{width:115px;top:75%;left:4%;transform:rotate(10deg)}.butterfly-8{width:85px;top:85%;right:4%;transform:scaleX(-1)rotate(-20deg)}
