:root{color-scheme:light;--paper:#f4f2ec;--surface:#fdfcf8;--ink:#22352f;--muted:#68716a;--green:#2d5946;--line:#dcded3;--accent:#d9ee91;--dark:#172922}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.55 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}main{max-width:1280px;margin:auto;padding:0 40px}a{color:inherit;text-underline-offset:4px}button,select,input{font:inherit}button,select,.download-link{color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:11px 14px}button{cursor:pointer;font-weight:560;transition:background .15s,border-color .15s}button:hover:enabled{background:#eaeede;border-color:#b7c4a8}button:disabled{opacity:.38;cursor:default}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #769841;outline-offset:3px}[hidden]{display:none!important}
.topbar{display:flex;align-items:center;justify-content:space-between;padding:22px 0;border-bottom:1px solid var(--line)}.topbar a{text-decoration:none}.wordmark{font:600 25px Georgia,serif;letter-spacing:-.7px}.wordmark span{font:13px system-ui,sans-serif;letter-spacing:.03em;color:var(--muted);margin-left:8px}.topbar>div{display:flex;gap:24px;font-size:13px}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;padding:36px 0 30px}.eyebrow{font-size:10px;font-weight:650;letter-spacing:.17em}.page-heading h1{font:500 clamp(36px,4.4vw,58px)/1.02 Georgia,serif;letter-spacing:-1.8px;margin:11px 0 0}.heading-note{max-width:350px;padding-bottom:2px}.heading-note p{font-size:13px;color:var(--muted);margin:11px 0 0}.local-badge{display:inline-flex;align-items:center;gap:7px;font-size:11px;letter-spacing:.03em;font-weight:600;background:#e9edde;padding:5px 10px;border-radius:100px}.local-badge:before{content:"";width:6px;height:6px;background:var(--green);border-radius:50%}
.demo-layout{display:grid;grid-template-columns:minmax(0,1fr) 332px;gap:24px;align-items:start}.preview-column,.settings-column{min-width:0}.preview-card{margin:0;background:var(--dark);color:var(--paper);border-radius:15px;overflow:hidden}.preview-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 20px;border-bottom:1px solid #35473f;min-height:52px}.preview-label{font-size:10px;font-weight:650;letter-spacing:.16em;flex-shrink:0}#status{font-size:12px;color:#b6c4b4;text-align:right;overflow-wrap:anywhere}body[data-state=running] #status{color:var(--accent)}body[data-state=error] #status{color:#f5ba91}.screen{position:relative;line-height:0;background:#172922;isolation:isolate}
.camera-source{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}#preview{display:block;position:relative;z-index:1;width:100%;height:auto;cursor:crosshair;background:var(--dark)}#waiting{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;gap:17px;align-items:center;justify-content:center;line-height:1.5;color:#a6b6a4;background:radial-gradient(ellipse at 50% 40%,#2b4135 0%,#172922 74%);font-size:13px;text-align:center;padding:24px}.waiting-mark{font:italic 58px/1 Georgia,serif;color:#d9ee91;display:block;width:94px;height:94px;padding:14px 0;border:1px solid #586b48;border-radius:50%}.preview-card figcaption{padding:12px 20px;font-size:11px;color:#b4c0b0;border-top:1px solid #35473f;min-height:40px}.camera-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:14px 16px;background:#20362b}.camera-toolbar button{border-color:#51604c;background:transparent;color:#e3e8d9;font-size:13px}.camera-toolbar .primary{background:var(--accent);color:var(--dark);border-color:var(--accent);min-width:150px;display:flex;justify-content:space-between;gap:20px}.camera-toolbar .primary:hover:enabled{background:#e7f7b4}.session-actions{margin-left:auto;display:flex;gap:7px}
.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.section-heading h2{font:500 22px/1.1 Georgia,serif;letter-spacing:-.5px;margin:0}.section-number{font-size:10px;color:#899177}.settings-panel{padding:22px;background:var(--surface);border:1px solid var(--line);border-radius:13px;margin-bottom:14px}.preset-options{display:grid;grid-template-columns:1fr 1fr;gap:7px}.preset-options button{padding:11px 12px;text-align:left;border-radius:8px;font-size:13px;min-height:57px}.preset-options button[data-preset=speed]{grid-column:1/-1;grid-row:1}.preset-options button span{display:flex;justify-content:space-between;align-items:center;gap:8px}.preset-options button small{display:block;font-size:10px;margin-top:3px;font-weight:400;color:var(--muted)}.preset-options button[aria-pressed=true]{border-color:#456c38;background:#eff5df;box-shadow:inset 0 0 0 1px #456c38}.preset-options button[aria-pressed=true] small{color:#456039}#preset-description,#preset-help{font-size:11px;line-height:1.55;margin:12px 0}.quiet{font-size:11px;color:var(--muted)}.field{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:550}.field select{width:100%;min-width:0;font-size:12px;font-weight:400;padding:10px}.engine-field{padding-top:15px;margin-top:16px;border-top:1px solid var(--line)}.experiment-link{display:flex;justify-content:space-between;font-size:12px;text-decoration:none;margin-top:14px;color:var(--green)}.experiment-link:hover{text-decoration:underline}
.blur-fields{display:grid;gap:19px}.range-field{display:flex;flex-direction:column;gap:8px;font-size:12px}.range-field>span{display:flex;justify-content:space-between;gap:8px;align-items:center}.range-field output{color:var(--muted);font-size:11px;font-variant-numeric:tabular-nums}.margin-fields{display:grid;gap:17px}input[type=range]{accent-color:var(--green);width:100%;margin:0;min-height:20px;cursor:pointer}.check-field{display:flex;align-items:flex-start;gap:8px;font-size:12px}.check-field input{accent-color:var(--green);margin:3px 0 0;width:16px;height:16px;flex-shrink:0}.check-field small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.advanced{font-size:11px;color:var(--muted);padding:17px 20px}.advanced summary{color:var(--ink);cursor:pointer;font-size:12px;font-weight:550;list-style:none;display:flex;justify-content:space-between;gap:10px}.advanced summary::-webkit-details-marker{display:none}.advanced[open] summary{margin-bottom:18px}.tuning-fields{display:grid;gap:12px}.advanced p{overflow-wrap:anywhere}
.selection-row{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-top:15px}.text-button{border:0;background:none;font-size:12px;padding:8px 0;color:var(--green);white-space:nowrap}#people{display:flex;flex-wrap:wrap;gap:8px}#people button{font-size:12px;padding:9px 12px}#people button[aria-pressed=true]{background:var(--green);color:white;border-color:var(--green)}#selection-help{font-size:12px;color:var(--muted);margin:6px 0 22px}.record-panel{padding:23px 0;border-top:1px solid var(--line)}.record-panel .section-heading{margin-bottom:14px}.toolbar{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.toolbar button,.download-link{font-size:12px}.record-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#ae513f;margin-left:9px}#record-status{font-size:12px;color:var(--muted);margin:12px 0 0}#record-status:empty{display:none}.download-link{display:inline-block;text-decoration:none;color:var(--green)}#recording{width:100%;margin-top:18px;border-radius:10px}#error-history{margin-top:15px}#error-history pre{font-size:11px}.demo-footer{display:flex;justify-content:space-between;gap:18px;padding:25px 0;margin-top:28px;border-top:1px solid var(--line);color:var(--muted);font-size:10px}.demo-footer>span:first-child{letter-spacing:.13em;flex-shrink:0}
.performance-demo .page-heading h1{font-size:clamp(36px,4.4vw,52px)}.performance-layout{display:grid;grid-template-columns:minmax(0,1fr) 332px;gap:24px;align-items:start}.performance-demo .controls{display:grid;gap:16px}.performance-demo .notice{font-size:12px;color:var(--muted)}.performance-demo figure{margin:0;background:var(--dark);border-radius:15px;overflow:hidden}.performance-demo figcaption{padding:14px 20px;font-size:12px;color:#cad1c0}.test-actions{margin:20px 0}.test-actions #run{background:var(--green);color:white;border-color:var(--green)}.report-summary{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:20px;margin-top:18px;min-width:0;font-size:11px;overflow-wrap:anywhere;white-space:pre-wrap}.report-summary:empty{display:none}
@media(min-width:1100px){.camera-toolbar button{padding:10px 13px}.preview-heading{min-height:54px}}
@media(max-width:950px){main{padding:0 24px}.demo-layout,.performance-layout{grid-template-columns:minmax(0,1fr) 300px;gap:17px}.settings-panel{padding:18px}.page-heading{padding:30px 0 25px}.heading-note{max-width:290px}.camera-toolbar .primary{min-width:130px}.camera-toolbar button{padding:10px;font-size:12px}.session-actions{margin-left:0}}
@media(max-width:760px){main{padding:0 18px}.topbar{padding:17px 0}.topbar>div{gap:18px}.page-heading{align-items:flex-start;gap:18px;padding:26px 0 22px}.page-heading h1{font-size:42px;letter-spacing:-1.4px}.heading-note{max-width:200px}.heading-note p{font-size:11px}.demo-layout,.performance-layout{grid-template-columns:minmax(0,1fr)}.preview-card{border-radius:12px}.settings-column{display:grid;grid-template-columns:1fr 1fr;gap:13px}.settings-panel{margin-bottom:0}.advanced{grid-column:1/-1}.settings-column .preset-panel{grid-column:1/-1}.preset-options{grid-template-columns:1fr 1.55fr 1fr}.preset-options button[data-preset=speed]{grid-column:2;grid-row:auto}.preset-options button{padding:11px 12px}.preset-panel #preset-description{margin-bottom:7px}.preset-panel #preset-help{margin-top:5px}.settings-column>.settings-panel:not(.preset-panel){grid-column:1/-1}.margin-fields{grid-template-columns:1fr 1fr;gap:18px}.engine-field{padding-top:13px}.record-panel{padding:19px 0 21px}.record-panel .section-heading{margin-bottom:13px}.record-panel .section-heading .quiet{font-size:10px}.section-heading h2{font-size:21px}.demo-footer{margin-top:22px}.performance-layout>aside{grid-row:2}.performance-demo .controls{grid-template-columns:1fr 1fr}.performance-demo .check-field{grid-column:1/-1}}
@media(max-width:440px){main{padding:0 14px}.topbar .wordmark{font-size:23px}.wordmark span{font-size:11px}.topbar>div{font-size:11px;gap:14px}.page-heading{display:block;padding:23px 0 20px}.page-heading h1{font-size:41px;line-height:1.03}.heading-note{max-width:none;display:block;margin-top:17px}.heading-note #processing-subtitle{display:inline;margin-left:9px;font-size:11px}.heading-note .notice{margin-top:8px;font-size:11px}.preview-heading{padding:12px 14px;gap:8px}#status{font-size:10px}.preview-label{font-size:9px}.camera-toolbar{padding:12px;gap:6px}.camera-toolbar .primary{min-width:136px}.camera-toolbar button{padding:10px 11px;min-height:40px}.session-actions{margin-left:auto;gap:5px}.session-actions button{padding:10px 7px;font-size:11px}.preview-card figcaption{padding:11px 14px;font-size:10px}.settings-panel{padding:19px 17px}.preset-options{grid-template-columns:1fr 1fr;gap:7px}.preset-options button[data-preset=speed]{grid-column:1/-1;grid-row:1}.preset-options button{font-size:12px}.waiting-mark{width:74px;height:74px;font-size:46px;padding:11px 0}#waiting{gap:13px;font-size:12px}.record-panel .section-heading{align-items:baseline}.demo-footer{display:block;padding:20px 0}.demo-footer span{display:block}.demo-footer span+span{margin-top:8px}.margin-fields{grid-template-columns:1fr}.performance-demo .page-heading h1{font-size:36px}.performance-demo .controls{grid-template-columns:1fr}.performance-demo .check-field{grid-column:auto}}
@media(max-width:360px){.session-actions{width:100%;margin-left:0}.session-actions button{flex:1}}
.result-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:22px 0}.result-stats>div{padding:16px 0;border-top:1px solid var(--line)}.result-stats span{display:block;font-size:10px;color:var(--muted)}.result-stats output{display:block;font:28px/1.3 Georgia,serif;margin-top:6px}.report-details{margin-top:18px}.report-details .report-summary{margin:0;padding:0;border:0;background:none}
@media(max-width:440px){.result-stats{gap:10px}.result-stats output{font-size:23px}.result-stats span{font-size:9px}}
@media(prefers-reduced-motion:reduce){button{transition:none}}
