:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ground:#f3f1ec;--surface:#fff;--sunken:#f7f6f2;--ink:#16181d;--muted:#5b606b;--line:#dedbd3;--accent:#12a05c;--accent-ink:#0b6b3c;--accent-soft:#e3f4ea;--stage:#0d0f13;--bad:#b3261e;--bad-soft:#fbe9e7;--warn-soft:#fbf1d8;--body:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--mono:ui-monospace, "SF Mono", "Cascadia Mono", Menlo, Consolas, monospace;--radius:10px}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--ground);color:var(--ink);font:16px/1.55 var(--body);margin:0}#app{flex-direction:column;min-height:100vh;display:flex}h1,h2,p,ul,dl,dd{margin:0}ul{padding:0;list-style:none}h1{letter-spacing:-.025em;font-size:clamp(1.7rem,4.5vw,2.4rem);font-weight:750;line-height:1.1}h2{letter-spacing:-.01em;font-size:1.1rem;line-height:1.3}a{color:var(--accent-ink);text-underline-offset:3px}button,input{font:inherit;color:inherit}:focus-visible{outline-offset:2px;outline:3px solid #2f6fed}.mono{font-family:var(--mono);font-size:.92em}.muted{color:var(--muted)}.small{font-size:.875rem}.sr{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.top{background:var(--ink);color:#fff}.top-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;max-width:1080px;margin:0 auto;padding:14px 20px;display:flex}.brand{color:#fff;letter-spacing:-.01em;--accent:#39d98a;align-items:center;gap:10px;font-weight:700;text-decoration:none;display:inline-flex}.top nav{gap:4px;display:flex}.top nav a{color:#c9ccd3;border-radius:999px;padding:7px 12px;font-size:.94rem;font-weight:550;text-decoration:none}.top nav a:hover{color:#fff}.top nav a.on{color:#fff;background:#2a2d35}.status-bar{background:#1f2228;border-top:1px solid #2c3038}.status{color:#d6d9df;flex-wrap:wrap;align-items:center;gap:2px 10px;max-width:1080px;margin:0 auto;padding:7px 20px;font-size:.83rem;display:flex}.status-part:before{content:"·";color:#6d727d;margin-right:10px}.dot{background:#8b909b;border-radius:50%;flex:none;width:9px;height:9px}.dot.ok{background:#39d98a;box-shadow:0 0 0 3px #39d98a38}.dot.bad{background:#ff6b5e}.dot.wait{background:#f0b541}main{flex:1;width:100%;max-width:1080px;margin:0 auto;padding:32px 20px 56px}section{grid-template-columns:minmax(0,1fr);gap:20px;display:grid}.narrow{max-width:680px;margin:0 auto}.head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px 32px;display:flex}.head>div:first-child{gap:8px;max-width:620px;display:grid}.lede{color:var(--muted);font-size:1.03rem}.eyebrow{font:600 .78rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--accent-ink)}.crumb{color:var(--muted);font-size:.9rem}.foot{text-align:center;color:var(--muted);border-top:1px solid var(--line);padding:22px 20px 30px;font-size:.9rem}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:minmax(0,1fr);gap:14px;padding:22px;display:grid}.card.flush{padding:0;overflow:hidden}.grid2{grid-template-columns:1.4fr 1fr;align-items:start;gap:20px;display:grid}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.row.end{justify-content:flex-end}.row.spread{justify-content:space-between}.stack{justify-items:start;gap:8px;display:grid}.btn{background:var(--surface);color:var(--ink);cursor:pointer;border:1px solid #c8c4ba;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:8px 14px;font-size:.94rem;font-weight:600;line-height:1.2;text-decoration:none;display:inline-flex}.btn:hover{border-color:var(--ink)}.btn.big{padding:12px 20px;font-size:1rem}.btn.small{padding:6px 10px;font-size:.85rem}.btn.primary{background:var(--ink);border-color:var(--ink);color:#fff}.btn.primary:hover{background:#2b2f38}.btn.danger{background:var(--bad);border-color:var(--bad);color:#fff}.btn.danger-text{color:var(--bad)}.btn:disabled{opacity:.45;cursor:not-allowed}.notice{background:var(--warn-soft);border-radius:8px;padding:10px 14px;font-size:.95rem}.notice.bad{background:var(--bad-soft);color:#7c1711}.tag{white-space:nowrap;border-radius:999px;padding:3px 9px;font-size:.78rem;font-weight:600;display:inline-block}.tag.sample{color:#4d4a42;background:#ece9e1}.tag.yours{background:var(--accent-soft);color:var(--accent-ink)}.bar{background:#e7e4dc;border-radius:999px;height:8px;overflow:hidden}.bar span{background:var(--accent);border-radius:inherit;height:100%;transition:width .15s linear;display:block}.bar.busy span{width:35%;animation:1.1s ease-in-out infinite alternate slide}@keyframes slide{0%{transform:translate(-20%)}to{transform:translate(210%)}}.welcome{max-width:720px;margin:0 auto;padding-top:16px}.points{gap:8px;display:grid}.points li{padding-left:26px;position:relative}.points li:before{content:"";border-left:2.5px solid var(--accent);border-bottom:2.5px solid var(--accent);width:12px;height:7px;position:absolute;top:.5em;left:2px;transform:rotate(-45deg)}.install{margin-top:4px}.install .btn{justify-self:start}.people{border-collapse:collapse;width:100%}.people th{text-align:left;font:600 .74rem/1 var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--muted);background:var(--sunken);border-bottom:1px solid var(--line);padding:12px 16px}.people td{border-bottom:1px solid var(--line);vertical-align:middle;padding:12px 16px}.people tr:last-child td{border-bottom:0}.people .actions{text-align:right;white-space:nowrap}.people .actions .btn{margin-left:6px}.people .empty{text-align:center;color:var(--muted);padding:32px 16px}.thumbs{display:inline-flex}.thumb{object-fit:cover;background:var(--sunken);border:2px solid var(--surface);border-radius:10px;width:56px;height:56px;display:block}.thumbs .thumb+.thumb{margin-left:-22px}.thumb.large{border:0;border-radius:14px;width:128px;height:128px}.sample-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.sample-list a{text-align:center;color:var(--ink);justify-items:center;gap:6px;font-size:.82rem;line-height:1.25;text-decoration:none;display:grid}.sample-list img{aspect-ratio:1;object-fit:cover;border-radius:10px;width:100%;height:auto}.sample-list a:hover span{text-decoration:underline}.facts{gap:6px;display:grid}.facts div{border-bottom:1px dashed var(--line);justify-content:space-between;gap:12px;padding-bottom:6px;display:flex}.facts dt{color:var(--muted)}.facts dd{font-family:var(--mono);font-size:.92rem}.choices{grid-template-columns:1fr 1fr;gap:12px;display:grid}.choice{text-align:left;border-radius:var(--radius);background:var(--sunken);cursor:pointer;border:1px solid #c8c4ba;justify-items:start;gap:6px;padding:18px;display:grid}.choice:hover{border-color:var(--ink);background:var(--surface)}.choice svg{color:var(--accent-ink)}.choice span{color:var(--muted);font-size:.88rem;line-height:1.4}.found{align-items:center;gap:18px;display:flex}.found>div{justify-items:start;gap:6px;display:grid}.form label{gap:5px;display:grid}.form label>span{font-size:.94rem;font-weight:600}.form input{background:var(--surface);border:1px solid #b9b5ab;border-radius:8px;width:100%;padding:10px 12px;font-size:1rem}.form small{color:var(--muted);font-size:.84rem}.stage{background:var(--stage);border-radius:var(--radius);display:grid;position:relative;overflow:hidden}.frame{width:min(100%, calc(70vh * var(--ratio,1.7778)));aspect-ratio:var(--ratio,1.7778);grid-area:1/1;margin:0 auto;position:relative}.frame video,.frame canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.frame canvas{z-index:1;pointer-events:none}.stage.idle video{visibility:hidden}.mirror{transform:scaleX(-1)}.stage-note{z-index:2;color:#c9ccd3;text-align:center;grid-area:1/1;place-self:center;max-width:460px;padding:20px;font-size:.95rem;position:relative}.readout{color:var(--muted);font-size:.82rem}.gate{border-left:5px solid #e0a52a;max-width:680px}.gate .btn{justify-self:start}.confidence-note{max-width:760px;font-size:.92rem}.about{max-width:760px;margin:0 auto}.about .card ul{gap:6px;padding-left:20px;list-style:outside;display:grid}.files{border-collapse:collapse;width:100%;font-size:.9rem}.files th,.files td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:8px 10px 8px 0}.files th{font:600 .72rem/1.2 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.scroll{overflow-x:auto}.sum{word-break:break-all;color:var(--muted);font-size:.74rem}.confirm{width:min(440px,100vw - 32px);color:var(--ink);border:0;border-radius:14px;padding:24px;box-shadow:0 24px 60px #0000004d}.confirm[open]{gap:12px;display:grid}.confirm::backdrop{background:#0d0f138c}.confirm-body{color:var(--muted)}@media (max-width:760px){main{padding:22px 16px 44px}.top-inner{padding:12px 16px}.top nav{margin:0 -8px}.status{padding:7px 16px;line-height:1.45;display:block}.status .dot{margin-right:8px;display:inline-block}.status-part:before{margin:0 7px}.grid2,.choices{grid-template-columns:1fr}.card{padding:16px}.head .row,.head .row .btn{width:100%}.people thead{display:none}.people,.people tbody,.people tr,.people td{display:block}.people tr{border-bottom:1px solid var(--line);grid-template-columns:auto 1fr;align-items:center;gap:2px 14px;padding:14px 16px;display:grid}.people tr:last-child{border-bottom:0}.people td{border:0;grid-column:2;padding:0;font-size:.93rem}.people td[data-label=Photo]{grid-area:1/1/span 4;align-self:start}.people td[data-label=Added]{color:var(--muted);font-size:.84rem}.people td[data-label=Type]{padding-top:4px}.people .actions{text-align:left;white-space:normal;flex-wrap:wrap;grid-column:1/-1;gap:8px;padding-top:10px;display:flex}.people .actions .btn{margin:0}.people .empty{grid-column:1/-1}.row.spread{flex-direction:column;align-items:flex-start}}
