:root{--bg:#faf7f2;--fg:#1f1d1a;--muted:#6f6a62;--line:#e7e1d8;--card:#fff;--card-2:#f4efe8;--accent:#b4532a;--accent-hover:#9a4422;--accent-fg:#fff;--accent-soft:#f6e3d8;--danger:#b42318;--danger-soft:#fdeceb;--sel:#f3d9cc;--radius:16px;--radius-sm:12px;--shadow:0 1px 2px #1f1d1a0d, 0 6px 20px #1f1d1a0f;--ring:0 0 0 3px color-mix(in srgb, var(--accent) 30%, transparent);--tap:44px;--gutter:max(16px, env(safe-area-inset-left));--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#161513;--fg:#ece8e2;--muted:#a29c93;--line:#312e2a;--card:#201e1b;--card-2:#2a2723;--accent:#e07a4f;--accent-hover:#ea8f69;--accent-fg:#1a1410;--accent-soft:#3a2519;--danger:#f97066;--danger-soft:#3a1e1c;--sel:#4a2c1f;--shadow:0 1px 2px #0000004d, 0 6px 20px #00000040;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}html,body{background:var(--bg);color:var(--fg);margin:0;font:16px/1.5 system-ui,-apple-system,Segoe UI Variable,Segoe UI,Roboto,Noto Sans,sans-serif}body{overflow-wrap:anywhere;-webkit-font-smoothing:antialiased}main{padding:16px var(--gutter) calc(32px + env(safe-area-inset-bottom));max-width:1200px;margin:0 auto}main.narrow{flex-direction:column;gap:14px;max-width:460px;padding-top:28px;display:flex}@media (width>=640px){main{padding-top:24px}main.narrow{padding-top:56px}}h1{letter-spacing:-.01em;margin:0 0 4px;font-size:clamp(1.5rem,5vw,1.9rem);line-height:1.2}h2{flex-wrap:wrap;align-items:center;gap:8px 12px;margin:28px 0 12px;font-size:1.25rem;line-height:1.3;display:flex}h3{margin:28px 0 10px;font-size:1.05rem}p{margin:0 0 8px}a{color:var(--accent);text-underline-offset:2px}.muted{color:var(--muted)}.small{font-size:.875rem}.error{color:var(--danger)}.nowrap{white-space:nowrap}button,.button,input,textarea,select{font:inherit}button,.button{min-height:var(--tap);border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--card);color:var(--fg);cursor:pointer;-webkit-tap-highlight-color:transparent;justify-content:center;align-items:center;gap:6px;padding:10px 16px;font-size:.95rem;font-weight:600;line-height:1.2;text-decoration:none;transition:background-color .15s,border-color .15s,box-shadow .15s,transform 50ms;display:inline-flex}button:hover:not(:disabled),.button:hover{border-color:color-mix(in srgb, var(--fg) 25%, var(--line))}button:active:not(:disabled),.button:active{transform:translateY(1px)}button:focus-visible,.button:focus-visible,input:focus-visible,textarea:focus-visible,a:focus-visible{box-shadow:var(--ring);outline:none}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--accent);color:var(--accent-fg);border-color:var(--accent);box-shadow:0 1px 2px #00000014}button.primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}button.danger{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 50%, var(--line));background:var(--card)}button.danger:hover:not(:disabled){background:var(--danger-soft);border-color:var(--danger)}main.narrow>button,main.narrow>div>button.primary{width:100%}input,textarea{width:100%;min-height:var(--tap);border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--card);color:var(--fg);padding:10px 14px;transition:border-color .15s,box-shadow .15s}input:focus,textarea:focus{border-color:var(--accent)}textarea{resize:vertical;margin-bottom:10px;line-height:1.45;display:block}input[type=checkbox],input[type=radio]{width:20px;height:20px;min-height:0;accent-color:var(--accent);flex:none;margin:0}label{flex-direction:column;gap:6px;font-weight:500;display:flex}progress{appearance:none;background:var(--card-2);border:0;border-radius:999px;width:100%;height:10px;margin:6px 0;display:block;overflow:hidden}progress::-webkit-progress-bar{background:var(--card-2);border-radius:999px}progress::-webkit-progress-value{background:var(--accent);border-radius:999px;transition:width .3s}progress::-moz-progress-bar{background:var(--accent);border-radius:999px}.or{color:var(--muted);align-items:center;gap:12px;margin:6px 0 2px;font-size:.875rem;display:flex}.or:before,.or:after{content:"";background:var(--line);flex:1;height:1px}.turnstile{justify-content:center;min-height:65px;display:flex}.consent{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);gap:10px;margin:0;padding:14px 16px;list-style:none;display:grid}.consent li{padding-left:22px;font-size:.95rem;position:relative}.consent li:before{content:"";background:var(--accent);border-radius:50%;width:8px;height:8px;position:absolute;top:.55em;left:4px}.camera{aspect-ratio:3/4;width:100%;max-height:calc(100dvh - 200px);box-shadow:var(--shadow);margin-top:env(safe-area-inset-top);background:#000;border-radius:24px;position:relative;overflow:hidden}.camera video{object-fit:cover;width:100%;height:100%;display:block;transform:scaleX(-1)}.camera .oval{pointer-events:none;border:3px solid #ffffffd9;border-radius:50%;position:absolute;inset:12% 18%;box-shadow:0 0 0 999px #00000047}.camera.on .oval{border-color:color-mix(in srgb, var(--accent) 70%, #fff)}.prompt{text-align:center;justify-content:center;align-items:center;min-height:2.6em;margin:4px 0 0;font-size:1.15rem;font-weight:600;display:flex}.bar{z-index:5;margin:0 calc(-1 * var(--gutter)) 12px;padding:calc(10px + env(safe-area-inset-top)) var(--gutter) 10px;background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(10px);border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex;position:sticky;top:0}.bar h1{margin:0;font-size:1.3rem}.actions{flex-wrap:wrap;gap:8px;display:flex}.actions>button,.actions>.button{padding:8px 12px;font-size:.9rem}@media (width<=520px){.actions{width:100%}.actions>*{flex:auto}}.grid{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:3px;display:grid}@media (width>=640px){.grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px}}.small-grid{grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:6px}.small-grid img{aspect-ratio:1;object-fit:cover;background:var(--card-2);border-radius:8px;width:100%;display:block}.tile{background:var(--card-2);border:0;border-radius:8px;min-height:0;padding:0;display:block;position:relative;overflow:hidden}.tile img{aspect-ratio:1;object-fit:cover;width:100%;height:100%;transition:transform .25s,opacity .2s;display:block}button.tile:hover img{transform:scale(1.03)}.tile.dim img{opacity:.35}.tile-actions{background:var(--line);gap:1px;display:flex}.tile-actions button{border:0;border-radius:0;flex:1;min-height:36px;padding:4px;font-size:.8rem;font-weight:500}.empty{text-align:center;border:1px dashed var(--line);border-radius:var(--radius);background:var(--card);padding:48px 16px}.parts{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;padding:12px;display:flex}.parts p{width:100%;margin:0}.viewer{z-index:20;background:#000;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.viewer img{object-fit:contain;touch-action:pinch-zoom;max-width:100%;max-height:100%}.viewer-bar{padding:16px max(16px, env(safe-area-inset-right)) calc(16px + env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));color:#fff;background:linear-gradient(#0000,#000000bf);justify-content:space-between;align-items:center;gap:12px;display:flex;position:absolute;bottom:0;left:0;right:0}.viewer-bar>button:not(.primary){color:#fff;background:#ffffff24;border-color:#0000}.viewer .nav{color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#00000073;border:0;border-radius:50%;width:48px;height:48px;padding:0;font-size:1.8rem;line-height:1;position:absolute;top:50%;transform:translateY(-50%)}.viewer .prev{left:max(10px, env(safe-area-inset-left))}.viewer .next{right:max(10px, env(safe-area-inset-right))}.tabs{z-index:5;scrollbar-width:none;margin:0 calc(-1 * var(--gutter)) 8px;padding:calc(10px + env(safe-area-inset-top)) var(--gutter) 10px;background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line);flex-wrap:nowrap;gap:4px;display:flex;position:sticky;top:0;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tabs a{min-height:40px;color:var(--muted);white-space:nowrap;border-radius:999px;flex:none;align-items:center;padding:8px 14px;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex}.tabs a:hover{color:var(--fg);background:var(--card-2)}.tabs a.active{background:var(--fg);color:var(--bg)}@media (width<=899px){.tabs{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 28px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 28px),#0000)}}@media (width>=900px){.tabs{flex-wrap:wrap}}.cards{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;display:grid}@media (width>=640px){.cards{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px}}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:14px 16px}.big{letter-spacing:-.01em;margin-top:2px;font-size:1.5rem;font-weight:700}.toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0;display:flex}.toolbar input:not([type=checkbox]):not([type=radio]){flex:180px;width:auto;max-width:320px}.toolbar label{flex-direction:row;align-items:center;gap:10px}table{border-collapse:separate;border-spacing:0;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);width:100%;box-shadow:var(--shadow);-webkit-overflow-scrolling:touch;margin-bottom:8px;font-size:.9rem;display:block;overflow-x:auto}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:middle;white-space:nowrap;padding:10px 12px}tbody tr:last-child td{border-bottom:0}th{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:var(--card-2);font-size:.75rem;font-weight:700}th:first-child,td:first-child{z-index:1;background:var(--card);box-shadow:1px 0 0 var(--line);position:sticky;left:0}th:first-child{background:var(--card-2)}tbody tr:hover td{background:color-mix(in srgb, var(--card-2) 60%, var(--card))}td button{min-height:40px;margin:2px 6px 2px 0;padding:6px 12px;font-size:.85rem}tr.dim td{opacity:.55}table:not(:has(thead)):has(>tbody:empty){display:none}.ua{text-overflow:ellipsis;white-space:nowrap;max-width:220px;color:var(--muted);overflow:hidden}img.selfie{object-fit:cover;background:var(--card-2);border-radius:10px;width:52px;height:52px;display:block}.drop{border:2px dashed color-mix(in srgb, var(--accent) 35%, var(--line));border-radius:var(--radius);background:var(--card);flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;padding:20px;display:flex}.drop label{flex-direction:row}@media (width<=520px){.drop{text-align:center;flex-direction:column;align-items:stretch}.drop .button{width:100%}}.cluster-grid,.face-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:10px;display:grid}@media (width>=640px){.cluster-grid,.face-grid{grid-template-columns:repeat(auto-fill,minmax(124px,1fr));gap:12px}}.cluster,.face{border-radius:var(--radius-sm);background:var(--card);box-shadow:var(--shadow);border:2px solid #0000;flex-direction:column;gap:6px;padding:6px;display:flex;position:relative}.cluster img,.face img{aspect-ratio:1;object-fit:cover;cursor:pointer;background:var(--card-2);border-radius:8px;width:100%;display:block}.cluster label{flex-direction:row;align-items:center;gap:8px;min-height:32px;font-size:.875rem}.selected{border-color:var(--accent);background:var(--sel)}.face input{position:absolute;top:12px;left:12px}.star{color:gold;text-shadow:0 0 3px #000;position:absolute;top:10px;right:12px}.choice{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow);gap:4px;margin:0 0 12px;padding:6px;display:grid}.choice label{border-radius:var(--radius-sm);cursor:pointer;flex-direction:row;align-items:flex-start;gap:12px;padding:10px;font-weight:400}.choice label:has(input:checked){background:var(--accent-soft)}.choice input{margin-top:2px}.danger-zone{border:1px solid color-mix(in srgb, var(--danger) 45%, var(--line));border-radius:var(--radius);background:var(--danger-soft);margin-top:36px;padding:4px 16px 16px}.danger-zone h3{color:var(--danger);margin-top:12px}.danger-zone input{background:var(--card)}
