:root {
  --page:#f7f8fa;--surface:#fff;--text:#172537;--muted:#65758b;--placeholder:#8592a5;
  --accent:#2868ed;--accent-hover:#1d5bd9;--accent-soft:#eaf0ff;--accent-text:#3f68a8;--on-accent:#fff;
  --border:#e3e9f1;--soft:#edf2fa;--hover:#e0e9f8;--input:#fafbfd;
  --purple-soft:#f2eafa;--purple-text:#885aaf;--success:#397c5b;--success-soft:#e6f4ee;
  --danger:#ac5054;--danger-soft:#fff0f0;--warning:#a77c27;--shadow:0 12px 40px #17253718;
  color-scheme:light;
}
:root[data-theme="dark"] {
  --page:#101722;--surface:#192332;--text:#e6edf7;--muted:#a0aec3;--placeholder:#8292aa;
  --accent:#648fff;--accent-hover:#7ea2ff;--accent-soft:#223553;--accent-text:#a1bfff;--on-accent:#101b30;
  --border:#2c3b50;--soft:#202e41;--hover:#2a3b53;--input:#141f2e;
  --purple-soft:#342b48;--purple-text:#c7acf2;--success:#88d2ab;--success-soft:#203d34;
  --danger:#f1a2a5;--danger-soft:#422b35;--warning:#e3bb70;--shadow:0 14px 42px #0005;
  color-scheme:dark;
}
:root[data-theme="mint"] {
  --page:#f0f8f5;--surface:#fcfffd;--text:#173d33;--muted:#57786c;--placeholder:#78978b;
  --accent:#188268;--accent-hover:#116f58;--accent-soft:#dcf3e9;--accent-text:#216f59;
  --border:#d8e9df;--soft:#e3f2eb;--hover:#d3eade;--input:#f5fbf7;
}
:root[data-theme="lavender"] {
  --page:#f6f3fc;--surface:#fefcff;--text:#33284c;--muted:#79698d;--placeholder:#9484a7;
  --accent:#8457d2;--accent-hover:#7345bf;--accent-soft:#eee4fc;--accent-text:#7952b3;
  --border:#e8dff2;--soft:#eee7f7;--hover:#e5d9f4;--input:#faf7fe;
}
html,body {background:var(--page);color:var(--text)}
header{gap:12px}.header-caption{margin-left:auto}
.theme-picker{position:relative;flex-shrink:0;z-index:20}
.theme-picker summary{display:grid;place-items:center;width:35px;height:35px;border:1px solid var(--border);border-radius:11px;cursor:pointer;background:var(--surface);color:var(--accent-text);font-size:22px;list-style:none}
.theme-picker summary::-webkit-details-marker{display:none}
.theme-picker summary:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.theme-menu{position:absolute;right:0;top:44px;width:258px;max-width:calc(100vw - 40px);padding:17px;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:17px;box-shadow:var(--shadow)}
.theme-menu>strong{font-size:13px}.theme-options{display:grid;gap:5px;margin-top:12px}
.theme-options button{display:flex;align-items:center;gap:9px;width:100%;padding:10px 11px;text-align:left;background:transparent;color:var(--text);font-size:12px;border:1px solid transparent}
.theme-options button:hover{background:var(--soft)}.theme-options button[aria-pressed="true"]{background:var(--accent-soft);color:var(--accent-text);border-color:var(--accent)}
.theme-swatch{height:16px;width:16px;border-radius:50%;border:1px solid #8794aa55;flex-shrink:0}
.swatch-light{background:#f7f8fa}.swatch-dark{background:#192332}.swatch-mint{background:#91d2b6}.swatch-lavender{background:#baa1e9}
.motion-option{display:flex;align-items:center;gap:8px;border-top:1px solid var(--border);padding-top:14px;margin-top:11px;font-size:12px;cursor:pointer}
.motion-option input{accent-color:var(--accent);width:16px;height:16px;min-height:0}
.motion-note{font-size:10px;line-height:1.6;color:var(--muted);margin:10px 0 0}
.toast{background:var(--text);color:var(--surface)}
:root[data-motion="on"] body,:root[data-motion="on"] .card,:root[data-motion="on"] input,:root[data-motion="on"] select,:root[data-motion="on"] textarea,:root[data-motion="on"] button,:root[data-motion="on"] .theme-picker summary{transition:background-color .24s ease,color .24s ease,border-color .24s ease,box-shadow .24s ease,transform .18s ease}
:root[data-motion="on"] .tab-panel:not([hidden]),:root[data-motion="on"] #blocked:not([hidden]),:root[data-motion="on"] #admin-settings:not([hidden]),:root[data-motion="on"] #admin-login:not([hidden]),:root[data-motion="on"] .theme-picker[open] .theme-menu{animation:para-enter .28s cubic-bezier(.22,.7,.3,1) both}
:root[data-motion="on"] .results:not([hidden]){animation:para-enter .35s ease both}
:root[data-motion="on"] .toast:not([hidden]){animation:para-toast .22s ease both}
:root[data-motion="on"] .scan-button.is-loading svg{animation:para-scan 1.4s ease-in-out infinite}
:root[data-motion="on"] #result-list .person{animation:para-enter .28s ease both}
:root[data-motion="on"] #result-list .person:nth-child(2){animation-delay:50ms}
:root[data-motion="on"] #result-list .person:nth-child(3){animation-delay:100ms}
@keyframes para-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes para-toast{from{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}
@keyframes para-scan{0%,100%{opacity:1}50%{opacity:.4}}
:root[data-motion="off"] *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(max-width:350px){.header-caption{font-size:8px;letter-spacing:.8px}}

.theme-close{float:right;display:grid;place-items:center;width:28px;height:28px;margin-top:-5px;background:var(--soft);color:var(--text);font-size:22px;line-height:1}.theme-close:hover{background:var(--hover)}
.social-heading{margin-top:25px}.social-person{flex-wrap:wrap;padding:13px 0;gap:10px}.social-actions{display:flex;gap:6px;flex-wrap:wrap;width:100%;padding-left:48px}.social-actions button{padding:8px 10px;font-size:10px}.group-card summary{font-size:14px;font-weight:650;cursor:pointer;overflow-wrap:anywhere}.group-invite{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:16px 0;padding:12px;background:var(--soft);border-radius:10px}.group-invite .caption{width:100%;margin:0}.group-invite strong{font-size:12px;letter-spacing:1px;overflow-wrap:anywhere}.group-invite button{padding:8px;font-size:10px}#friend-input,#group-invite{text-transform:uppercase;letter-spacing:1px}#friend-list{margin-bottom:20px}

.avatar{position:relative;overflow:hidden}.avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:inherit}#history-list{margin-bottom:12px}

.document-check{display:block!important;line-height:1.8;font-size:12px!important}.document-check input{width:16px;height:16px;min-height:0;accent-color:var(--accent);vertical-align:middle}.document-check a,footer a,.legal-content a{color:var(--accent-text)}.legal-content{font-size:13px;line-height:1.85;overflow-wrap:anywhere}.legal-content h2{font-size:19px;margin:26px 0 12px}.legal-content h1{font-size:30px}.legal-content ul{padding-left:20px}
