:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#f1eee4;--ground:#0d0f17;--lit:#ffe98f}*{box-sizing:border-box}body{background:var(--ground);min-height:100dvh;color:var(--ink);margin:0;font:16px/1.5 ui-sans-serif,system-ui,sans-serif;overflow:hidden}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}header{z-index:3;pointer-events:none;background:linear-gradient(#0d0f17eb,#0d0f1700);justify-content:space-between;align-items:start;padding:1.25rem 1.5rem 3rem;display:flex;position:fixed;inset:0 0 auto}header nav a{pointer-events:auto;letter-spacing:.16em;text-transform:uppercase;color:#f1eee4d9;font-size:.95rem;font-weight:500;text-decoration:none}.icon-button{pointer-events:auto;color:#f1eee4d9;cursor:pointer;background:#0d0f1780;border:1px solid #f1eee459;border-radius:50%;place-items:center;width:2.25rem;height:2.25rem;padding:0;font-family:Georgia,Times New Roman,serif;font-size:1.1rem;font-style:italic;line-height:1;display:grid}.icon-button:hover,.icon-button:focus-visible{border-color:var(--lit);color:var(--lit);background:#ffe2701f;transform:none}#cam,#stage{object-fit:cover;width:100%;height:100%;position:fixed;inset:0}#cam{filter:saturate(.25)brightness(.4)contrast(1.1);z-index:0;transform:scaleX(-1)}#stage{z-index:1;pointer-events:none}#start,#denied,#loading{z-index:2;overscroll-behavior:contain;text-align:center;background:var(--ground);place-content:safe center;justify-items:center;gap:1.5rem;padding:2rem 1rem;display:grid;position:fixed;inset:0;overflow:auto}#start[hidden],#denied[hidden],#loading[hidden]{display:none}.lede{letter-spacing:-.01em;text-wrap:balance;max-width:20ch;margin:0;font-size:clamp(1.5rem,6vw,2.25rem);font-weight:400;line-height:1.2}#start p:not(.lede),#denied p,#loading p{color:#f1eee499;max-width:32ch;margin:0;font-size:.95rem}button{max-width:100%;color:var(--lit);font:inherit;letter-spacing:.1em;cursor:pointer;background:0 0;border:1px solid #ffe27080;border-radius:999px;padding:1.1rem clamp(1.25rem,9vw,3.5rem);font-size:clamp(1.125rem,5vw,1.5rem);transition:background .15s,transform .15s}button:hover,button:focus-visible{background:#ffe2701f;transform:scale(1.03)}button[disabled]{cursor:progress;opacity:.6;transform:none}header nav a:focus-visible,button:focus-visible{outline:2px solid var(--lit);outline-offset:3px;border-radius:4px}#legend{z-index:2;pointer-events:none;letter-spacing:.02em;color:#f1eee4bf;text-shadow:0 1px 3px #07080de6;gap:.35rem;margin:0;padding:0;font-size:.78rem;list-style:none;display:grid;position:fixed;bottom:1.25rem;left:1.5rem}#legend[hidden]{display:none}#legend li{grid-template-columns:.5rem 5.5rem 4.5rem 3rem;align-items:center;gap:.5rem;display:grid}.legend-swatch{border-radius:50%;width:.5rem;height:.5rem}.legend-does{color:#f1eee473}.legend-track{background:#f1eee426;border-radius:2px;height:2px;overflow:hidden}.legend-bar{transform-origin:0;height:100%;display:block;transform:scaleX(0)}#info{z-index:5;overscroll-behavior:contain;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#090a10f7;place-content:safe center;padding:2rem 1rem;display:grid;position:fixed;inset:0;overflow:auto}#info[hidden]{display:none}#info article{justify-items:start;gap:1.15rem;max-width:40rem;display:grid}#info h2{letter-spacing:.22em;text-transform:uppercase;color:var(--lit);margin:0;font-size:1.6rem;font-weight:500}#info p{color:#f1eee4d1;text-wrap:pretty;max-width:56ch;margin:0}#info .info-lede{color:var(--ink);font-size:1.15rem}#info .info-note{color:#f1eee480;font-size:.85rem}.info-map{grid-template-columns:auto 1fr;align-items:baseline;gap:.7rem 1.5rem;margin:0;display:grid}.info-map dt{color:var(--ink);border-left:3px solid var(--axis,#b1c6f1);padding-left:.6rem;font-weight:500}.info-map dt[data-axis=vowel]{--axis:#ffde5c}.info-map dt[data-axis=breath]{--axis:#5cffad}.info-map dt[data-axis=pitch]{--axis:#bb5cff}.info-map dt[data-axis=vibrato]{--axis:#5cc9ff}.info-map dt[data-axis=loudness]{--axis:#ff925c}.info-map dd{color:#f1eee4b3;margin:0}#info-close{margin-top:1.25rem;padding:.7rem 2rem;font-size:1rem}@media (width<=32rem){.info-map{grid-template-columns:1fr;gap:.15rem}.info-map dd{margin:0 0 .6rem .6rem}#legend li{grid-template-columns:.5rem 4.75rem 3.9rem 2.25rem}}.header-tools{gap:.5rem;display:flex}#settings{z-index:5;overscroll-behavior:contain;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#090a10f7;place-content:safe start safe center;padding:2rem 1rem;display:grid;position:fixed;inset:0;overflow:auto}#settings[hidden]{display:none}#settings article{gap:1.25rem;width:100%;max-width:44rem;display:grid}#settings h2{letter-spacing:.22em;text-transform:uppercase;color:var(--lit);margin:0;font-size:1.6rem;font-weight:500}#settings h3{letter-spacing:.16em;text-transform:uppercase;color:#f1eee48c;margin:0 0 .6rem;font-size:.75rem;font-weight:600}.settings-lede{color:#f1eee4cc;text-wrap:pretty;max-width:52ch;margin:0}.settings-note{color:#f1eee480;text-wrap:pretty;max-width:56ch;margin:-.3rem 0 .7rem;font-size:.85rem}#settings section{border-top:1px solid #f1eee41f;padding-top:.9rem}.settings-knobs{grid-template-columns:minmax(9rem,auto) 1fr minmax(4.5rem,auto);align-items:center;gap:.55rem 1rem;display:grid}.settings-routes{grid-template-columns:minmax(9rem,auto) 1fr;align-items:center;gap:.55rem 1rem;display:grid}#settings label{color:var(--ink);font-size:.9rem}#settings output{font-variant-numeric:tabular-nums;color:#f1eee48c;text-align:right;font-size:.85rem}#settings select{color:var(--ink);font:inherit;background:#161927;border:1px solid #f1eee440;border-radius:6px;padding:.35rem .5rem;font-size:.9rem}#settings input[type=range]{width:100%;accent-color:var(--lit)}#settings select:focus-visible,#settings input[type=range]:focus-visible{outline:2px solid var(--lit);outline-offset:3px}.settings-actions{flex-wrap:wrap;align-items:center;gap:.75rem;padding-top:.5rem;display:flex}#settings .settings-actions button{padding:.7rem 1.75rem;font-size:1rem}#settings .quiet{color:#f1eee499;border-color:#f1eee438}@media (width<=34rem){.settings-knobs{grid-template-columns:1fr minmax(4rem,auto)}.settings-knobs label{grid-column:1/-1;margin-bottom:-.35rem}.settings-routes{grid-template-columns:1fr}.settings-routes label{margin-bottom:-.35rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}button:hover,button:focus-visible{transform:none}}
