:root{color-scheme:light dark;--page: #fbfaf7;--surface: #fffdf9;--text: #202124;--heading: #171717;--body: #3f3d39;--muted: #66645f;--border: #cfc9bd;--border-hover: #a89f91;--divider: #ded9cf;--code-surface: #f2efe8;--code-text: #252525;--media-surface: #111;--link: #1f5f8f;--link-hover: #173f5f;--selected: #1f5f8f;--selected-text: #fff;color:var(--text);background:var(--page);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}@media(prefers-color-scheme:dark){:root{--page: #15181c;--surface: #20252b;--text: #eff1f3;--heading: #f7f8fa;--body: #cdd2d8;--muted: #a5adb7;--border: #48515c;--border-hover: #798592;--divider: #363e48;--code-surface: #262d35;--code-text: #e6edf5;--media-surface: #101318;--link: #83c5f5;--link-hover: #b2deff;--selected: #83c5f5;--selected-text: #102637}}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;margin:0}a{color:inherit}img{display:block;max-width:100%}code{border:1px solid var(--border);border-radius:4px;padding:.08rem .28rem;background:var(--code-surface);color:var(--code-text);font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.92em}.page{min-height:100vh}.site-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 18px;width:min(880px,calc(100% - 32px));margin:0 auto;padding:18px 0;border-bottom:1px solid var(--divider)}.brand{display:inline-flex;align-items:center;gap:10px;color:var(--text);font-size:.98rem;font-weight:700;text-decoration:none}.brand img{width:28px;height:28px;border-radius:7px}nav{display:flex;flex-wrap:wrap;gap:18px;color:var(--muted);font-size:.92rem}nav a{text-decoration:none}nav a:hover{color:var(--text)}@media(max-width:520px){.site-header{align-items:flex-start}nav{width:100%;flex-wrap:wrap;gap:10px 16px}}.article{width:min(760px,calc(100% - 32px));margin:0 auto;padding:54px 0 80px}.article-header{margin-bottom:34px}.kicker{margin:0 0 12px;color:var(--muted);font-size:.88rem;font-weight:700;letter-spacing:0;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1{margin-bottom:20px;color:var(--heading);font-size:clamp(1.9rem,4vw,2.75rem);line-height:1.12;letter-spacing:0}.lead{color:var(--body);font-size:1.18rem;line-height:1.65}.hero-details{color:var(--muted);font-size:1rem;line-height:1.65}.link-row{margin-top:22px;font-weight:700}.link-row a,.article-footer a{color:var(--link)}.link-row a:hover,.article-footer a:hover{color:var(--link-hover)}.app-figure{margin:0 0 46px}.app-figure picture{display:block}.app-figure img{width:auto;border:1px solid var(--border);border-radius:8px;background:var(--media-surface);max-height:min(72vh,720px);margin:0 auto;object-fit:contain}.screenshot-controls{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:14px}.screenshot-controls button{border:1px solid var(--border);border-radius:6px;padding:8px 14px;background:var(--surface);color:var(--body);font:inherit;font-size:.92rem;font-weight:700;line-height:1;cursor:pointer}.screenshot-controls button:hover{border-color:var(--border-hover);color:var(--text)}.screenshot-controls button:focus-visible{outline:2px solid var(--link);outline-offset:2px}.screenshot-controls button.selected{border-color:var(--selected);background:var(--selected);color:var(--selected-text)}figcaption{margin-top:10px;color:var(--muted);font-size:.92rem;line-height:1.45}.section{padding:34px 0;border-top:1px solid var(--divider)}.video-section{padding-top:0;border-top:0}.steps a{color:var(--link);text-underline-offset:3px}section[id],.steps li[id]{scroll-margin-top:24px}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.video-embed{aspect-ratio:16 / 9;margin-top:22px;overflow:hidden;border:1px solid var(--border);border-radius:8px;background:var(--media-surface)}.video-embed iframe{display:block;width:100%;height:100%;border:0}h2{margin-bottom:14px;color:var(--heading);font-size:1.7rem;line-height:1.2;letter-spacing:0}h3{margin-bottom:8px;color:var(--text);font-size:1.02rem;line-height:1.35}.new-tag{display:inline-block;margin-left:.5rem;padding:.12rem .4rem;border:1px solid var(--link);border-radius:4px;background:var(--surface);color:var(--link);font-size:.68rem;font-weight:700;line-height:1.25;letter-spacing:.035em;text-transform:uppercase;vertical-align:middle;white-space:nowrap}p{margin-bottom:16px;color:var(--body);line-height:1.68}p:last-child{margin-bottom:0}.steps{display:grid;gap:22px;margin:24px 0 0;padding-left:1.55rem}.steps li{padding-left:.25rem}.settings{display:grid;gap:1px;margin:16px 0;border:1px solid var(--border);border-radius:6px;overflow:hidden;background:var(--border)}.settings div{display:grid;grid-template-columns:minmax(130px,.34fr) 1fr;gap:18px;padding:10px 12px;background:var(--surface)}.workflow-list{display:grid;gap:14px;margin-top:22px}.workflow{padding:16px 0 0;border-top:1px solid var(--divider)}.workflow:first-child{padding-top:0;border-top:0}.workflow p{margin-bottom:0}dt{color:var(--text);font-weight:700}dd{margin:0;color:var(--body);line-height:1.45}.camera-list{display:grid;gap:16px;margin-top:22px}.camera-group{display:grid;grid-template-columns:minmax(120px,.28fr) 1fr;gap:22px;padding:16px 0;border-top:1px solid var(--divider)}.camera-group:first-child{border-top:0}.camera-group h3{margin:0}.camera-group ul{display:grid;gap:6px;margin:0;padding-left:1.1rem;color:var(--body);line-height:1.55}.article-footer{padding-top:26px;border-top:1px solid var(--divider)}.article-footer p{color:var(--muted);font-size:.95rem}.footer-links{display:flex;flex-wrap:wrap;gap:12px 18px}.legal-document{max-width:760px}.legal-document .effective-date{margin-bottom:34px;color:var(--muted);font-size:1rem}.legal-document h2{margin-top:42px}.legal-document a{color:var(--link);text-underline-offset:3px;overflow-wrap:anywhere}.legal-document a:hover{color:var(--link-hover)}@media(max-width:640px){.site-header,.article{width:min(100% - 24px,760px)}.site-header{align-items:flex-start;gap:14px}nav{padding-top:4px;gap:12px;font-size:.86rem}.article{padding-top:38px}.lead{font-size:1.06rem}.screenshot-controls button{min-height:44px;padding:10px 12px}.settings div,.camera-group{grid-template-columns:1fr;gap:6px}}
