:root{color:#28231f;background:#eee8df;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}input,select{min-height:44px;max-width:100%;font:inherit}label{display:grid;gap:.35rem;margin-block:.75rem}button{min-height:44px;border:0;border-radius:999px;padding:.75rem 1.25rem;color:#fffaf3;background:#8b3f2f;font:inherit;font-weight:700;cursor:pointer}button:focus-visible{outline:3px solid #245c65;outline-offset:3px}.app-shell{display:grid;min-height:100vh;place-items:center;padding:1.5rem}.intro,.notice,.camera-setup{width:min(100%,40rem);border:1px solid #c9bbaa;border-radius:1.25rem;padding:clamp(1.5rem,5vw,3rem);background:#fffaf3;box-shadow:0 1rem 3rem #4935271a}.camera-setup video{display:block;width:100%;min-height:12rem;margin:1.5rem 0;border-radius:.75rem;background:#1e1b19;object-fit:contain}.camera-setup video.mirrored{transform:scaleX(-1)}.session-review{width:min(100%,52rem);overflow-wrap:anywhere}.session-review svg,.session-review table{width:100%}.session-review table{border-collapse:collapse}.session-review th,.session-review td{border-bottom:1px solid #c9bbaa;padding:.75rem .4rem;text-align:left}@media(max-width:480px){.app-shell{align-items:start;padding:.75rem}.camera-setup,.notice,.intro{border-radius:.75rem;padding:1rem}h1{font-size:clamp(2rem,12vw,3rem)}.actions>button{flex:1 1 100%}}.actions{display:flex;flex-wrap:wrap;gap:.75rem}button.secondary{border:1px solid #8b3f2f;color:#8b3f2f;background:transparent}.stale-banner{display:grid;gap:.75rem;margin:1rem 0;border-left:4px solid #a15a19;padding:1rem;background:#fff0d7}.diagnostics{margin:1rem 0}.diagnostics dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));gap:.75rem}.diagnostics dt{color:#61574f;font-size:.8rem}.diagnostics dd{margin:.2rem 0 0;font-variant-numeric:tabular-nums}.calibration-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin:1rem 0}.profile-overlay svg{width:min(100%,24rem);background:#f4eee6}.profile-centerline{stroke:#8b8178;stroke-width:1}.profile-target{fill:none;stroke:#8b3f2f;stroke-width:2;stroke-dasharray:6 4}.profile-current{fill:none;stroke:#245c65;stroke-width:3}.eyebrow{margin:0 0 1rem;color:#8b3f2f;font-size:.75rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}h1{margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.25rem,8vw,4.5rem);font-weight:500;letter-spacing:-.04em;line-height:.98}h1+p{max-width:34rem;margin:1.5rem 0;color:#61574f;font-size:1.05rem;line-height:1.6}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}.choice-row{display:flex;flex-wrap:wrap;gap:.5rem;margin:.5rem 0}button.chip{border:1px solid #8b3f2f;color:#8b3f2f;background:transparent}button.chip[aria-pressed=true]{color:#fffaf3;background:#8b3f2f}fieldset{margin:1rem 0;border:1px solid #c9bbaa;border-radius:.75rem;padding:.75rem 1rem}.wheel-still{position:relative;margin:1rem 0;touch-action:none}.wheel-still.mirrored{transform:scaleX(-1)}.wheel-still canvas{display:block;width:100%;height:auto;border-radius:.75rem}.wheel-still svg{position:absolute;inset:0;width:100%;height:100%}.wheel-row{stroke:#fffaf3;stroke-width:2;stroke-dasharray:6 4;vector-effect:non-scaling-stroke}.wheel-marker{cursor:ew-resize}.wheel-marker line{stroke:#ffd166;stroke-width:3;vector-effect:non-scaling-stroke}.wheel-marker rect{fill:#ffd166d9;stroke:#28231f;stroke-width:2;vector-effect:non-scaling-stroke}.wheel-marker:focus-visible{outline:none}.wheel-marker:focus-visible rect{stroke:#245c65;stroke-width:4}button.link-button{min-height:44px;padding:.5rem 0;border-radius:0;color:#245c65;background:transparent;font-weight:600;text-decoration:underline}
