:root{--color-parchment:#f5f2ed;--color-terracotta:#9c4a34;--color-sage:#8a9a5b;--color-cream:#ede6d9;--color-saffron:#d4af37;--color-ink:#2d2926;--color-navy:#0a0f1e;--app-bg:var(--color-parchment);--app-bg-texture:radial-gradient(#e8dfd2cc 1px, transparent 1px);--app-bg-texture-size:24px 24px;--panel-bg:#ffffff7a;--panel-bg-strong:#ffffffb8;--panel-bg-soft:var(--color-cream);--panel-border:#9c4a3429;--text-main:var(--color-ink);--text-muted:#2d2926ad;--accent:var(--color-terracotta);--accent-soft:#9c4a341f;--accent-dark:#743421;--accent-strong:#743421;--status-good:var(--color-sage);--button-primary-bg:var(--accent);--button-primary-text:var(--app-bg);--button-secondary-bg:var(--panel-bg-strong);--button-secondary-text:var(--text-main);--side-right-bg:var(--accent-soft);--side-right-text:var(--accent-strong);--side-left-bg:#8a9a5b29;--side-left-text:var(--status-good);--camera-bg:var(--panel-bg-soft);--camera-border:var(--panel-border);--leaf:var(--status-good);--sky:#647c94;--gold:var(--color-saffron);--panel-blur:blur(5px);--shadow:0 18px 46px #2d292614;--font-display:Georgia, "Times New Roman", serif;--font-body:Georgia, "Times New Roman", serif;--font-label:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--bg:var(--app-bg);--surface:var(--panel-bg);--surface-strong:var(--panel-bg-strong);--surface-soft:var(--panel-bg-soft);--ink:var(--text-main);--muted:var(--text-muted);--line:var(--panel-border);--texture:var(--app-bg-texture);--texture-size:var(--app-bg-texture-size)}html[data-theme=night]{--app-bg:var(--color-navy);--app-bg-texture:radial-gradient(circle at 20% 10%, #d4af3717, transparent 28%), radial-gradient(circle at 82% 18%, #9c4a3429, transparent 26%);--app-bg-texture-size:auto;--panel-bg:#f5f2ed13;--panel-bg-strong:#f5f2ed1c;--panel-bg-soft:#ede6d917;--panel-border:#d4af3738;--text-main:#f5f2ed;--text-muted:#f5f2edb8;--accent:var(--color-saffron);--accent-soft:#d4af3724;--accent-dark:#f1d76d;--accent-strong:#f1d76d;--status-good:#aab879;--button-primary-bg:var(--accent);--button-primary-text:var(--color-navy);--button-secondary-bg:var(--panel-bg-strong);--button-secondary-text:var(--text-main);--side-right-bg:var(--accent-soft);--side-right-text:var(--accent);--side-left-bg:#8a9a5b21;--side-left-text:var(--status-good);--camera-bg:var(--panel-bg-soft);--camera-border:var(--panel-border);--leaf:var(--status-good);--sky:#8ba2bd;--gold:var(--color-saffron);--shadow:0 22px 54px #0000005c}html[data-theme=sunrise]{--app-bg:#f8efe4;--app-bg-texture:radial-gradient(circle at 20% 0%, #d4af3733, transparent 28%), radial-gradient(#e8dfd2b8 1px, transparent 1px);--app-bg-texture-size:auto, 24px 24px;--panel-bg:#fff9ef8a;--panel-bg-strong:#fff9efc7;--panel-bg-soft:#f3e4d0;--panel-border:#9c4a342e;--text-main:var(--color-ink);--text-muted:#2d2926b3;--accent:#b65b35;--accent-soft:#b45b3521;--accent-dark:#874026;--accent-strong:#874026;--status-good:var(--color-sage);--button-primary-bg:var(--accent);--button-primary-text:#fff8ef;--button-secondary-bg:var(--panel-bg-strong);--button-secondary-text:var(--text-main);--side-right-bg:var(--accent-soft);--side-right-text:var(--accent-strong);--side-left-bg:#8a9a5b29;--side-left-text:var(--status-good);--camera-bg:var(--panel-bg-soft);--camera-border:var(--panel-border);--leaf:var(--status-good);--sky:#6f869c;--gold:var(--color-saffron);--shadow:0 18px 46px #2d292617}*{box-sizing:border-box}html{background:var(--bg);color:var(--ink);font-family:var(--font-body)}body{background-color:var(--bg);background-image:var(--texture);background-size:var(--texture-size);min-height:100vh;margin:0}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;transition:background .18s,color .18s}.page{max-width:1180px;margin:0 auto;padding:18px 18px 56px}.nav{grid-template-columns:minmax(0,auto) minmax(0,1fr) minmax(0,auto);align-items:center;gap:14px;min-height:44px;margin-bottom:18px;display:grid}.brand{font-family:var(--font-display);align-items:center;gap:10px;font-size:1.05rem;font-style:normal;font-weight:700;display:inline-flex}.brand-mark{filter:drop-shadow(0 2px 3px #2d292629);flex:none;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex;transform:translateY(-1.5px)}html[data-theme=night] .brand-mark{filter:drop-shadow(0 2px 5px #d4af3738)}.brand-logo{width:100%;height:100%;display:block}.nav-links{flex-wrap:wrap;grid-column:3;justify-content:flex-end;gap:8px;display:flex}.nav-accessory{grid-column:2;justify-content:center;align-items:center;min-width:0;display:flex}.nav-link{color:var(--muted);font-family:var(--font-label);letter-spacing:.16em;text-transform:uppercase;border:1px solid #0000;border-radius:999px;padding:9px 12px;font-size:.72rem;font-weight:800}.nav-link:hover{background:var(--surface);border-color:var(--line);color:var(--ink)}.nav-link.active{background:var(--accent-soft);border-color:var(--panel-border);color:var(--accent-strong)}html[data-theme=night] .nav-link.active{color:var(--accent)}.theme-toggle{border:1px solid var(--line);color:var(--muted);font-family:var(--font-label);letter-spacing:.18em;text-transform:uppercase;background:0 0;border-radius:999px;min-height:36px;padding:0 13px;font-size:.68rem;font-weight:900}.theme-toggle:hover{background:var(--surface);color:var(--ink)}.mobile-bottom-nav,.mobile-app-header{display:none}.hero{grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:28px;min-height:calc(100vh - 150px);padding:20px 0 46px;display:grid}.hero-copy{align-self:center;max-width:680px}.eyebrow{color:var(--accent-dark);font-family:var(--font-label);letter-spacing:.38em;text-transform:uppercase;margin:0 0 12px;font-size:.66rem;font-weight:800}h1,h2,h3,p{margin-top:0}h1{font-family:var(--font-display);letter-spacing:0;margin-bottom:20px;font-size:clamp(2.65rem,9vw,5.3rem);font-weight:600;line-height:.95}h2{font-family:var(--font-display);letter-spacing:0;font-size:clamp(1.65rem,4vw,2.45rem);font-weight:600;line-height:1.05}.dashboard-grid>.panel h2,.sequence-card h2{margin-bottom:12px;font-size:clamp(1.2rem,2.4vw,1.65rem);line-height:1.12}h3{font-family:var(--font-display);letter-spacing:0;font-size:1.2rem;font-weight:650}.lead{color:var(--muted);max-width:620px;font-size:clamp(1.04rem,2vw,1.22rem);line-height:1.65}.button-row{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.logo-lab-page{gap:24px;max-width:1120px;margin:0 auto;padding:32px 20px 56px;display:grid}.logo-lab-intro h1{margin:0;font-size:clamp(2rem,4vw,3.5rem);line-height:1}.logo-lab-intro h2{margin:0;font-size:clamp(1.45rem,3vw,2.2rem);line-height:1}.logo-lab-section{gap:18px;display:grid}.logo-lab-panel{border:1px solid var(--line);border-radius:18px;gap:22px;padding:28px;display:grid}.logo-lab-panel.dark{background:var(--color-navy);color:var(--color-parchment)}.logo-lab-panel.light{background:var(--color-cream);color:var(--color-ink)}.logo-lab-panel-header p{font-family:var(--font-label);letter-spacing:.34em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:800}.logo-lab-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:18px;display:grid}.logo-lab-sample{text-align:center;place-items:center;gap:12px;min-height:280px;display:grid}.logo-lab-sample p{font-family:var(--font-label);letter-spacing:.2em;text-transform:uppercase;margin:0 0 4px;font-size:.72rem;font-weight:800}.logo-lab-sample span{color:currentColor;opacity:.72;font-size:.95rem}.logo-lab-wordmark{font-family:var(--font-display);border-top:1px solid;justify-self:start;align-items:center;gap:10px;padding-top:18px;font-size:1.05rem;font-style:italic;font-weight:700;display:inline-flex}.logo-lab-header-logo{filter:drop-shadow(0 2px 5px #d4af3738);width:34px;height:34px}.logo-lab-live-row,.logo-lab-size-row{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;display:grid}.logo-lab-live-logo,.logo-lab-logo{display:inline-flex}.logo-lab-live-logo svg,.logo-lab-logo svg,.logo-lab-experiment-main svg,.logo-lab-lockup svg{width:100%;height:100%;display:block}.logo-lab-workbench{grid-template-columns:minmax(260px,.38fr) minmax(0,1fr);align-items:start;gap:18px;display:grid}.logo-lab-controls{gap:14px;display:grid}.logo-lab-control{gap:7px;display:grid}.logo-lab-control>span{color:var(--muted);font-family:var(--font-label);letter-spacing:.16em;text-transform:uppercase;font-size:.68rem;font-weight:900}.logo-lab-control input,.logo-lab-control select{background:var(--surface-strong);border:1px solid var(--line);color:var(--ink);border-radius:999px;width:100%;min-height:42px;padding:0 14px}.logo-lab-export-row{grid-template-columns:1fr;gap:8px;display:grid}.logo-lab-preview-panel{gap:14px;display:grid}.logo-lab-canvas,.logo-lab-lockup-panel{border:1px solid var(--line);border-radius:18px;place-items:center;min-height:360px;padding:24px;display:grid;overflow:hidden}.logo-lab-canvas.dark,.logo-lab-lockup-panel.dark,.logo-lab-sample.dark{background:var(--color-navy);color:var(--color-parchment)}.logo-lab-canvas.light,.logo-lab-lockup-panel.light,.logo-lab-sample.light{background:var(--color-parchment);color:var(--color-ink)}.logo-lab-canvas.transparent,.logo-lab-lockup-panel.transparent,.logo-lab-sample.transparent{background:linear-gradient(45deg, #8a9a5b1f 25%, transparent 25%), linear-gradient(-45deg, #8a9a5b1f 25%, transparent 25%), linear-gradient(45deg, transparent 75%, #8a9a5b1f 75%), linear-gradient(-45deg, transparent 75%, #8a9a5b1f 75%), var(--surface);background-position:0 0,0 10px,10px -10px,-10px 0;background-size:20px 20px}.logo-lab-canvas.icon,.logo-lab-lockup-panel.icon,.logo-lab-sample.icon{color:var(--color-parchment);background:#050817}.logo-lab-experiment-main{width:min(100%,640px);height:min(340px,58vw);display:block}.logo-lab-lockup{width:min(100%,720px);height:min(220px,34vw);display:block}.logo-lab-note{color:var(--muted);margin-bottom:0}.button,.icon-button{border:1px solid var(--line);font-family:var(--font-label);letter-spacing:.14em;text-transform:uppercase;border-radius:999px;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:0 18px;font-size:.75rem;font-weight:800;transition:background .16s,border-color .16s,color .16s,transform .16s;display:inline-flex}.button:hover,.icon-button:hover{transform:translateY(-1px)}.button.primary{background:var(--button-primary-bg);border-color:var(--button-primary-bg);color:var(--button-primary-text)}.button.secondary{background:var(--button-secondary-bg);color:var(--button-secondary-text)}.button.ghost{color:var(--muted);background:0 0}.hero-visual{border:1px solid var(--line);box-shadow:var(--shadow);background-color:#0000;background-image:linear-gradient(#f5f2edc2,#ede6d94d),url("data:image/svg+xml,%3Csvg width='900' height='1200' viewBox='0 0 900 1200' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='900' height='1200' fill='%23e7d8bd'/%3E%3Ccircle cx='460' cy='250' r='120' fill='%23d59b38'/%3E%3Cpath d='M130 930c175-195 320-266 458-213 87 34 143 110 186 217' fill='none' stroke='%2353745c' stroke-width='34' stroke-linecap='round'/%3E%3Cpath d='M182 742c136-82 248-97 337-43 68 41 117 112 148 214' fill='none' stroke='%23c96d3b' stroke-width='28' stroke-linecap='round'/%3E%3Cpath d='M238 546c82 112 172 168 270 168 99 0 179-57 241-171' fill='none' stroke='%235f7896' stroke-width='24' stroke-linecap='round'/%3E%3C/svg%3E");background-position:50%;background-repeat:repeat,repeat;background-size:cover;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;border-radius:8px;align-self:stretch;min-height:440px;overflow:hidden}.section-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:18px;display:grid}.card{background:var(--surface);border:1px solid var(--line);-webkit-backdrop-filter:var(--panel-blur);backdrop-filter:var(--panel-blur);box-shadow:var(--shadow);border-radius:8px;padding:20px}.card p{color:var(--muted);line-height:1.55}.practice-layout{grid-template-columns:minmax(0,1.25fr) minmax(380px,.75fr);align-items:start;gap:20px;display:grid}.practice-main,.practice-side,.practice-camera-column,.practice-control-column,.dashboard-grid{gap:18px;min-width:0;display:grid}.practice-header{margin-bottom:14px}.practice-header h1{margin-bottom:8px;font-size:clamp(1.65rem,4vw,2.4rem);line-height:1.05}.practice-header p:last-child{max-width:760px;margin-bottom:0;font-size:.96rem}.counter-page{max-width:1180px;padding-top:18px}.practice-screen{gap:14px;display:grid}.practice-selection{gap:16px;display:grid}.panel.practice-selection-intro{background:linear-gradient(135deg, #9c4a3421, #ede6d933), var(--surface);box-shadow:inset 0 0 0 1px #9c4a340d, var(--shadow);border-color:#9c4a3457;gap:4px;padding:14px 16px;display:grid}html[data-theme=night] .panel.practice-selection-intro{background:linear-gradient(135deg, #d4af3714, #9c4a3414), var(--surface);box-shadow:inset 0 0 0 1px #d4af370a, var(--shadow);border-color:#d4af374d}.practice-selection-intro p{color:var(--ink);font-family:var(--font-display);margin:0;font-size:clamp(1rem,2.5vw,1.28rem);font-weight:650;line-height:1.18}.practice-selection-intro p+p{color:var(--muted);font-size:clamp(.9rem,2vw,1.05rem);font-weight:500}.home-screen-prompt{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 16px;display:grid}.home-screen-prompt-header{color:var(--accent);font-family:var(--font-label);letter-spacing:.16em;text-transform:uppercase;margin:0 0 8px;font-size:.72rem;font-weight:900;line-height:1.25}.home-screen-prompt p{color:var(--muted);margin:0;font-size:.88rem;line-height:1.34}.home-screen-prompt p+p{margin-top:5px}.home-screen-prompt .button{white-space:nowrap;min-height:34px;padding:0 16px}.practice-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.practice-card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);color:var(--ink);cursor:pointer;text-align:left;border-radius:8px;flex-direction:column;gap:6px;min-height:154px;padding:14px;display:flex}.practice-card:hover,.practice-card:focus-visible{border-color:var(--accent)}.practice-card>span{font-family:var(--font-display);font-size:1.05rem;font-weight:700;line-height:1.1}.practice-card p{color:var(--muted);min-height:3.5em;margin:0;font-size:.86rem;line-height:1.32}.practice-card .tag{padding:5px 8px;font-size:.68rem}.practice-card .tag-row{margin-top:auto}.practice-back-button{color:var(--muted);cursor:pointer;font-family:var(--font-label);letter-spacing:.16em;text-transform:uppercase;background:0 0;border:0;justify-self:start;padding:0;font-size:.72rem;font-weight:900}.practice-back-button:hover{color:var(--accent-strong)}.practice-streak{background:var(--panel-bg-strong);border:1px solid var(--panel-border);color:var(--text-main);font-family:var(--font-label);letter-spacing:.04em;border-radius:999px;justify-self:center;align-items:center;gap:4px;padding:7px 11px;font-size:.82rem;font-weight:900;line-height:1;display:inline-flex}.practice-streak strong{font:inherit}.practice-grid{grid-template-columns:minmax(0,2fr) minmax(320px,1fr);grid-template-areas:"camera counter""camera audio""camera controls";align-items:stretch;gap:16px;display:grid}.practice-screen.audio-unsupported .practice-grid{grid-template-areas:"camera counter""camera controls"}.practice-glance{text-align:center;grid-area:counter;grid-template-columns:minmax(0,1fr);justify-content:center;align-items:center;gap:16px;min-height:0;display:grid}.practice-controls-card{grid-area:controls;grid-template-columns:repeat(2,minmax(0,1fr));align-content:center;gap:10px;display:grid}.practice-controls-card .button{min-height:38px;padding:0 14px;font-size:.72rem}.practice-controls-card .button:only-child{grid-column:1/-1}.practice-setup-instructions{color:var(--muted);grid-column:1/-1;gap:4px;display:grid}.practice-setup-instructions strong{color:var(--ink);font-family:var(--font-label);letter-spacing:.14em;text-transform:uppercase;font-size:.68rem;font-weight:900;line-height:1.2}.practice-setup-instructions p{margin:0;font-size:.9rem;line-height:1.35}.practice-controls-card .setup-start-button{grid-column:1/-1}.camera-error-message{background:var(--accent-soft);border:1px solid var(--panel-border);color:var(--muted);text-align:left;border-radius:8px;grid-column:1/-1;gap:4px;padding:10px 12px;display:grid}.camera-error-message strong{color:var(--accent-strong);font-family:var(--font-label);letter-spacing:.1em;text-transform:uppercase;font-size:.68rem;font-weight:900;line-height:1.2}.camera-error-message p{margin:0;font-size:.84rem;line-height:1.35}.guided-audio-card{grid-area:audio;gap:8px;padding:12px;display:grid}.guided-audio-settings,.guided-audio-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.audio-toggle-pill{background:var(--button-secondary-bg);border:1px solid var(--line);color:var(--muted);font-family:var(--font-label);letter-spacing:.1em;text-transform:uppercase;border-radius:999px;justify-content:space-between;align-items:center;gap:8px;min-height:32px;padding:0 10px;font-size:.64rem;font-weight:900;display:inline-flex}.audio-toggle-pill strong{background:var(--surface-soft);border:1px solid var(--line);color:var(--muted);font:inherit;letter-spacing:.08em;border-radius:999px;padding:4px 7px;line-height:1}.audio-toggle-pill.active{background:var(--accent-soft);border-color:var(--panel-border);color:var(--accent-strong)}.audio-toggle-pill.active strong{background:var(--button-primary-bg);color:var(--button-primary-text);border-color:#0000}.guided-audio-actions .button{min-height:32px;padding:0 12px;font-size:.68rem}.guided-audio-countdown{color:#5f703c;font-family:var(--font-label);letter-spacing:.14em;text-align:center;text-transform:uppercase;background:#8a9a5b29;border:1px solid #8a9a5b57;border-radius:999px;justify-content:center;justify-self:stretch;align-items:center;padding:8px 12px;font-size:.72rem;font-weight:900;display:flex}html[data-theme=night] .guided-audio-countdown{color:var(--status-good);background:#8a9a5b24;border-color:#aab8795c}.round-block{gap:8px;display:grid}.side-block{gap:10px;display:grid}.mango-progress{color:var(--text-muted);flex-wrap:wrap;justify-content:center;align-items:center;gap:5px 7px;max-width:100%;margin:14px auto 8px;line-height:1;display:flex}.mango-progress.compact{background:var(--panel-bg-soft);border:1px solid var(--panel-border);color:var(--text-main);font-family:var(--font-label);letter-spacing:.08em;border-radius:999px;gap:7px;margin-top:14px;padding:8px 12px;font-size:.86rem;font-weight:900;display:inline-flex}.mango-marker{opacity:.95;font-size:clamp(.92rem,2.5vw,1.1rem);display:inline-flex}.mango-marker.empty{color:var(--text-muted);opacity:.42;font-size:clamp(.78rem,2.2vw,.95rem)}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.practice-glance .round-count{font-family:var(--font-display);font-size:clamp(4.5rem,8vw,7.25rem);font-weight:650}.practice-glance .side-callout{font-size:clamp(2.4rem,6vw,4.8rem)}.practice-status-line{color:var(--leaf);font-family:var(--font-display);max-width:28rem;margin:0 auto;font-size:clamp(1rem,2.6vw,1.22rem);font-style:italic;font-weight:650;line-height:1.28}.practice-core-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:4px;display:grid}.practice-core-controls .button{min-height:34px;padding:0 14px;font-size:.72rem}.practice-collapsible{background:var(--surface);border:1px solid var(--line);-webkit-backdrop-filter:var(--panel-blur);backdrop-filter:var(--panel-blur);box-shadow:var(--shadow);border-radius:8px;padding:14px 16px}.practice-collapsible summary{cursor:pointer;font-family:var(--font-label);letter-spacing:.24em;text-transform:uppercase;font-size:.72rem;font-weight:900}.practice-settings-grid,.testing-controls{gap:14px;margin-top:14px;display:grid}.practice-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.more-settings-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.more-card-header{color:var(--accent);font-family:var(--font-label);letter-spacing:.26em;text-transform:uppercase;margin:0 0 14px;font-size:.78rem;font-weight:900;line-height:1.25}.dashboard-grid .panel a{color:var(--accent-strong);text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--accent) 64%, transparent);text-decoration-color:color-mix(in srgb, var(--accent) 64%, transparent);text-underline-offset:.16em;font-weight:700}.dashboard-grid .panel a:hover{color:var(--accent)}.instruction-list{gap:14px;display:grid}.instruction-list h3{font-family:var(--font-label);letter-spacing:.14em;text-transform:uppercase;margin-bottom:6px;font-size:.74rem;font-weight:900;line-height:1.2}.instruction-list p{margin-bottom:0}.instruction-list p+p{margin-top:8px}.dev-version{color:var(--muted);font-family:var(--font-label);letter-spacing:.1em;text-transform:uppercase;margin:12px 0 0;font-size:.68rem;font-weight:800}.dev-diagnostic{color:var(--muted);font-family:var(--font-label);letter-spacing:.08em;text-transform:uppercase;gap:5px;margin-top:10px;font-size:.64rem;font-weight:800;display:grid}.dev-diagnostic p{margin:0}.testing-controls{grid-template-columns:repeat(3,minmax(0,1fr))}.panel{background:var(--surface);border:1px solid var(--line);-webkit-backdrop-filter:var(--panel-blur);backdrop-filter:var(--panel-blur);box-shadow:var(--shadow);border-radius:8px;min-width:0;padding:18px}.counter-hero{text-align:center;grid-template-columns:1fr;align-items:center;gap:12px;min-height:250px;display:grid}.round-count{font-size:clamp(4.6rem,10vw,7.2rem);font-family:var(--font-display);letter-spacing:0;font-weight:650;line-height:.9}.round-label{color:var(--muted);font-family:var(--font-label);letter-spacing:.28em;text-transform:uppercase;margin-bottom:6px;font-size:.7rem;font-weight:800}.side-callout{font-family:var(--font-label);letter-spacing:.08em;border-radius:8px;padding:14px 16px;font-size:clamp(1.8rem,5vw,3.25rem);font-weight:950;line-height:1}.side-callout.side-right{background:var(--side-right-bg);color:var(--side-right-text)}.side-callout.side-left{background:var(--side-left-bg);color:var(--side-left-text)}.side-callout.side-flow{color:var(--accent-strong);background:#d4af3729}.side-callout.side-complete{color:var(--accent-strong);letter-spacing:.06em;background:#d4af372e;border:1px solid #d4af376b;font-size:clamp(2rem,3.2vw,3rem)}.status-pills{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.pill{background:var(--surface-soft);border:1px solid var(--line);color:var(--ink);font-family:var(--font-label);letter-spacing:.1em;text-transform:uppercase;border-radius:999px;padding:9px 13px;font-size:.74rem;font-weight:800}.pill.side-right{background:#9c4a341f;border-color:#9c4a3447}.pill.side-left{background:#8a9a5b24;border-color:#8a9a5b4d}.field-grid{gap:14px;display:grid}.field{gap:8px;display:grid}.field label,.field>span{color:var(--muted);font-family:var(--font-label);letter-spacing:.16em;text-transform:uppercase;font-size:.72rem;font-weight:800}.field select,.field input,.round-stepper{background:var(--button-secondary-bg);border:1px solid var(--line);color:var(--ink);border-radius:999px;width:100%;min-height:48px}.field select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--text-main) 50%), linear-gradient(135deg, var(--text-main) 50%, transparent 50%);background-position:calc(100% - 25px),calc(100% - 18px);background-repeat:no-repeat;background-size:7px 7px;padding:0 56px 0 20px}.field input{padding:0 20px}.field select option{background:var(--bg);color:var(--ink)}.round-stepper{grid-template-columns:48px minmax(0,1fr) 48px;align-items:center;padding:0;display:grid;overflow:hidden}.round-stepper input{text-align:center;background:0 0;border:0;border-radius:0;min-height:46px;padding:0 8px}.round-stepper input:focus{outline:none}.round-stepper-button{color:var(--accent-strong);font-family:var(--font-label);background:0 0;border:0;justify-content:center;align-self:stretch;align-items:center;min-height:46px;font-size:1rem;font-weight:900;display:inline-flex}.round-stepper-button:hover{background:var(--accent-soft)}.mode-selector{background:var(--surface-soft);border:1px solid var(--line);border-radius:999px;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;min-height:48px;padding:4px;display:grid}.mode-selector button{color:var(--muted);font-family:var(--font-label);letter-spacing:.12em;text-transform:uppercase;background:0 0;border:1px solid #0000;border-radius:999px;font-size:.72rem;font-weight:900}.mode-selector button.active{background:var(--accent-soft);border-color:var(--panel-border);color:var(--accent-strong)}.open-practice-note{background:var(--surface-soft);border:1px solid var(--line);border-radius:24px;align-content:center;min-height:48px;padding:12px 16px}.open-practice-note strong{font-family:var(--font-display);font-size:1.5rem;line-height:1;display:block}.open-practice-note small{color:var(--text-muted);margin-top:5px;font-size:.84rem;line-height:1.3;display:block}.controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.controls .wide{grid-column:1/-1}.instruction{gap:14px;display:grid}.cue-meta{color:var(--muted);font-size:.95rem;font-weight:800}.cue-text{letter-spacing:0;font-size:clamp(1.9rem,5.6vw,3rem);font-weight:850;line-height:1.18}.cue-next{border-top:1px solid var(--line);color:var(--muted);padding-top:12px;line-height:1.5}.message{color:var(--leaf);background:#8a9a5b21;border:1px solid #8a9a5b52;border-radius:8px;padding:14px;font-weight:800}.camera-tracker{grid-area:camera;gap:8px;min-width:0;display:grid}.camera-header{justify-content:space-between;align-items:center;gap:12px;min-height:28px;display:none}.camera-header h2{margin-bottom:6px;font-size:clamp(1.2rem,2.5vw,1.5rem)}.camera-context{color:var(--muted);font-family:var(--font-label);letter-spacing:.22em;text-transform:uppercase;font-size:.68rem;font-weight:900}.camera-header p{display:none}.camera-header p,.camera-message{color:var(--muted);margin-bottom:0;line-height:1.45}.camera-message{display:none}.camera-status-row{justify-content:center;align-items:center;display:flex}.camera-status{background:var(--surface-soft);border:1px solid var(--line);color:var(--muted);font-family:var(--font-label);letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;width:fit-content;min-height:30px;padding:7px 9px;font-size:.78rem;font-weight:900;line-height:1;display:inline-flex}.camera-status.running,.camera-status.ready{color:var(--leaf);background:#8a9a5b29;border-color:#8a9a5b57}.camera-status.error{color:var(--accent-dark);background:#9c4a3424;border-color:#9c4a3457}.camera-settings{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.camera-stage{aspect-ratio:16/9;background:var(--camera-bg);border:1px solid var(--camera-border);border-radius:8px;width:100%;min-width:0;max-width:100%;height:auto;position:relative;overflow:hidden}.camera-video,.camera-canvas,.camera-empty{position:absolute;inset:0}.camera-video{width:100%;height:100%;transform:scaleX(-1)}.camera-canvas{pointer-events:none;width:100%;height:100%;transform:scaleX(-1)}.camera-video.fit,.camera-canvas.fit{object-fit:contain}.camera-video.fill,.camera-canvas.fill{object-fit:cover}.camera-empty{background:linear-gradient(#2d292614, #2d292605), var(--surface-soft);text-align:center;align-items:center;padding:20px;display:grid}.camera-empty strong{font-family:var(--font-display);margin-bottom:8px;display:block}.camera-empty p{color:var(--muted);margin-bottom:0;line-height:1.45}.camera-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.camera-actions .button{min-height:34px;padding:0 14px;font-size:.72rem}.camera-practice-start{width:100%;min-height:38px;font-size:.72rem}.camera-practice-start:disabled{cursor:not-allowed;opacity:.56}.toggle-row{color:var(--muted);font-family:var(--font-label);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:10px;font-size:.74rem;font-weight:800;line-height:1.35;display:flex}.toggle-row input{flex:none;width:20px;height:20px}.setting-note-row{align-items:flex-start}.setting-note-row span{gap:4px;display:grid}.setting-note-row small{color:var(--text-muted);font-family:var(--font-body);letter-spacing:0;text-transform:none;font-size:.78rem;font-weight:500;line-height:1.25}.pose-readout{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.pose-readout div{background:var(--surface-soft);border:1px solid var(--line);border-radius:8px;min-width:0;padding:10px}.pose-readout span{color:var(--muted);font-family:var(--font-label);letter-spacing:.12em;text-transform:uppercase;margin-bottom:5px;font-size:.78rem;font-weight:900;display:block}.pose-readout strong{overflow-wrap:anywhere;font-size:.9rem;display:block}.movement-status{color:var(--leaf);background:#8a9a5b1f;border:1px solid #8a9a5b4d;border-radius:8px;padding:12px;font-weight:900;line-height:1.35}.pose-debug{background:var(--surface-soft);border:1px solid var(--line);color:var(--muted);border-radius:8px;padding:10px 12px}.pose-debug .pose-readout{margin-top:12px}.pose-debug summary{cursor:pointer;font-weight:900}.pose-debug-grid{gap:6px;margin-top:10px;display:grid}.pose-debug-grid span{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.82rem}.summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.summary-stat{background:var(--surface);border:1px solid var(--line);-webkit-backdrop-filter:var(--panel-blur);backdrop-filter:var(--panel-blur);box-shadow:var(--shadow);border-radius:8px;padding:18px}.summary-value{font-size:clamp(2.3rem,8vw,4rem);font-family:var(--font-display);font-weight:650;line-height:1}.summary-label{color:var(--muted);font-family:var(--font-label);letter-spacing:.18em;text-transform:uppercase;margin-top:8px;font-size:.7rem;font-weight:800}.chart{gap:12px;display:grid}.chart-row{grid-template-columns:minmax(0,1fr);align-items:center;gap:12px;display:grid}.chart-label,.chart-total{color:var(--muted);font-family:var(--font-label);letter-spacing:.08em;text-transform:uppercase;font-size:.9rem;font-weight:800}.session-entry{gap:5px;min-width:0;display:grid}.session-entry-main{grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:10px;display:grid}.session-entry-main span{color:var(--ink);min-width:0;font-weight:800}.session-entry-main strong{color:var(--muted);font-family:var(--font-label);letter-spacing:.08em;font-size:.9rem;font-weight:900}.session-entry p{color:var(--muted);margin:0}.bar-track{background:var(--surface-soft);border:1px solid var(--line);border-radius:8px;height:34px;display:flex;overflow:hidden}.bar-segment{width:100%;min-width:0}.bar-segment.cobra{background:var(--color-saffron)}.bar-segment.cobra-plus{background:#b65b73}.bar-segment.updog{background:var(--color-terracotta)}.bar-segment.flow{background:var(--color-sage)}.xy-chart{grid-template-columns:18px minmax(0,1fr);gap:6px 8px;margin-top:14px;display:grid}.y-axis{color:var(--muted);text-align:right;flex-direction:column;justify-content:space-between;height:240px;font-size:.82rem;font-weight:800;display:flex}.plot-area{min-width:0}.grid-lines{border-bottom:1px solid var(--line);pointer-events:none;flex-direction:column;justify-content:space-between;height:240px;display:flex}.grid-lines span{border-top:1px solid var(--line);width:100%;display:block}.bar-columns{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-top:-240px;display:grid}.bar-column{gap:8px;min-width:0;display:grid}.vertical-bar-slot{justify-content:center;align-items:end;height:240px;display:flex}.vertical-bar-stack{border-radius:8px 8px 0 0;flex-direction:column-reverse;width:min(100%,44px);min-height:3px;display:flex;overflow:hidden}.x-axis-label{color:var(--muted);font-family:var(--font-label);letter-spacing:.08em;text-align:center;text-transform:uppercase;font-size:.86rem;font-weight:800}.x-axis-title,.y-axis-title{color:var(--muted);font-family:var(--font-label);letter-spacing:.12em;text-transform:uppercase;font-size:.82rem;font-weight:800}.x-axis-title{text-align:center;margin-top:8px}.y-axis-title{text-align:left;grid-column:1/-1;align-self:center}.empty-state{background:var(--surface-soft);border:1px solid var(--line);color:var(--muted);border-radius:8px;padding:18px}.legend{flex-wrap:wrap;gap:12px;margin-top:14px;display:flex}.legend-item{color:var(--muted);font-family:var(--font-label);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:8px;font-size:.78rem;font-weight:800;display:inline-flex}.legend-dot{border-radius:50%;width:12px;height:12px;display:inline-block}.legend-dot.cobra{background:var(--color-saffron)}.legend-dot.cobra-plus{background:#b65b73}.legend-dot.updog{background:var(--color-terracotta)}.legend-dot.flow{background:var(--color-sage)}.sequence-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.sequence-library-header{gap:4px;margin-bottom:14px;display:grid}.sequence-library-header p:last-child{color:var(--muted);margin-bottom:0;line-height:1.5}.sequence-library-toggle{width:fit-content}.sequence-library-list{gap:12px;margin-top:14px;display:grid}.sequence-library-card{background:var(--surface-soft);border:1px solid var(--line);border-radius:8px;gap:12px;padding:14px;display:grid}.sequence-library-card-summary{gap:8px;display:grid}.sequence-library-card h3{margin-bottom:0;font-size:1.08rem}.sequence-library-card p{margin-bottom:0}.sequence-library-card .tag{min-height:24px;padding:0 8px;font-size:.68rem}.sequence-steps-toggle{justify-self:start}.sequence-steps-list{color:var(--muted);margin:0;padding-left:22px;line-height:1.5}.sequence-card{align-content:start;gap:14px;display:grid}.sequence-card ol{color:var(--muted);margin:0;padding-left:22px;line-height:1.55}.tag-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.tag{background:var(--surface-soft);border:1px solid var(--line);color:var(--muted);font-family:var(--font-label);letter-spacing:.08em;text-transform:uppercase;border-radius:999px;justify-content:center;align-items:center;min-height:28px;padding:0 10px;font-size:.86rem;font-weight:800;line-height:1;display:inline-flex}.page-header{margin-bottom:16px}.page-header p{color:var(--muted);max-width:740px;line-height:1.6}@media (max-width:860px){.hero,.logo-lab-workbench,.logo-lab-grid,.logo-lab-live-row,.logo-lab-size-row,.practice-layout,.practice-grid,.section-grid,.sequence-grid,.summary-grid{grid-template-columns:1fr}.practice-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-screen-prompt{grid-template-columns:1fr;align-items:stretch}.hero{min-height:auto}.practice-grid{grid-template-areas:"counter""audio""controls""camera"}.practice-screen.audio-unsupported .practice-grid{grid-template-areas:"counter""controls""camera"}.practice-screen.camera-preview-inactive .camera-tracker{display:none}.practice-screen.camera-preview-inactive.audio-supported .practice-grid{grid-template-areas:"counter""audio""controls"}.practice-screen.camera-preview-inactive.audio-unsupported .practice-grid{grid-template-areas:"counter""controls"}.hero-visual{min-height:260px}.counter-hero{min-height:220px}.practice-settings-grid,.testing-controls{grid-template-columns:1fr}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:620px){.page{padding:18px 14px 42px}.nav{flex-direction:column;grid-template-columns:1fr;align-items:flex-start;gap:14px}.nav-links{justify-content:flex-start}.button-row,.controls{grid-template-columns:1fr}.button{width:100%}.camera-settings,.pose-readout{grid-template-columns:1fr}.camera-stage{aspect-ratio:9/16}.practice-glance .round-count{font-size:clamp(6.75rem,26vw,10.875rem)}.practice-glance{gap:22px}.practice-glance .side-callout{font-size:clamp(3.6rem,16vw,7.2rem)}.practice-glance .side-callout.side-complete{font-size:clamp(2.25rem,10vw,4.4rem)}.side-callout{padding:12px}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.summary-stat{padding:14px}.session-entry p{padding-left:18px}}@media (max-width:720px){.page{padding-bottom:calc(124px + env(safe-area-inset-bottom))}.mobile-app-header{justify-content:space-between;align-items:center;min-height:44px;margin-bottom:14px;display:flex}.mobile-app-header .brand{min-width:0;font-size:.96rem}.mobile-app-header .brand span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.nav{display:none}.counter-page{padding-top:14px}.practice-screen{gap:10px}.practice-screen .practice-back-button{margin-bottom:-2px}.practice-screen .practice-grid{gap:10px}.practice-screen .practice-glance{gap:16px}.practice-screen .practice-glance.panel{padding:16px}.practice-screen .guided-audio-card,.practice-screen .practice-controls-card,.practice-screen .camera-tracker.panel{padding:10px}.practice-screen .guided-audio-card,.practice-screen .camera-tracker,.practice-screen .guided-audio-settings,.practice-screen .guided-audio-actions,.practice-screen .practice-controls-card{gap:6px}.practice-screen .practice-collapsible{padding:11px 13px}.practice-screen .practice-settings-grid,.practice-screen .testing-controls{gap:10px;margin-top:10px}.practice-streak.nav-streak{display:none}.mobile-bottom-nav{-webkit-backdrop-filter:var(--panel-blur);backdrop-filter:var(--panel-blur);background:var(--panel-bg-strong);border-top:1px solid var(--panel-border);padding:8px 10px calc(16px + env(safe-area-inset-bottom));z-index:40;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:4px;display:grid;position:fixed;inset:auto 0 0;box-shadow:0 -16px 40px #2d29261a}html[data-theme=night] .mobile-bottom-nav{box-shadow:0 -18px 42px #0000006b}.mobile-bottom-nav-link{color:var(--text-muted);font-family:var(--font-label);letter-spacing:.08em;text-align:center;text-transform:uppercase;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;min-height:48px;padding:0 6px;font-size:.68rem;font-weight:850;display:flex;position:relative}.mobile-bottom-nav-link span{text-align:center;width:100%;display:block}.mobile-bottom-nav-link.active{background:var(--accent-soft);border-color:var(--panel-border);color:var(--accent-strong)}html[data-theme=night] .mobile-bottom-nav-link.active{color:var(--accent)}}
