:root{--bg:#f4f2f7;--surface:#fff;--surface2:#ece8f1;--line:#e4e0ea;--fg:#17131f;--muted:#625c6e;--ink:#17131f;--ink-fg:#fff;--bar:#17131f;--accent:#d92d55;--accent-ink:#fff;--saffron:#f5b83d;--yes:#14935f;--no:#c0263f;--blue:#2b7fff;--shadow:0 18px 40px #17131f29;--display:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",sans-serif;--serif:"Instrument Serif",Georgia,serif;--body:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",sans-serif}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#110e17;--surface:#1c1724;--surface2:#262030;--line:#332b3f;--fg:#f4f1f8;--muted:#a9a1b6;--ink:#f4f1f8;--ink-fg:#17131f;--bar:#2a2335;--accent:#ff5c7f;--accent-ink:#1a0710;--saffron:#f7c25a;--yes:#3ccf94;--no:#ff6a7e;--shadow:0 18px 40px #00000080;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#110e17;--surface:#1c1724;--surface2:#262030;--line:#332b3f;--fg:#f4f1f8;--muted:#a9a1b6;--ink:#f4f1f8;--ink-fg:#17131f;--bar:#2a2335;--accent:#ff5c7f;--accent-ink:#1a0710;--saffron:#f7c25a;--yes:#3ccf94;--no:#ff6a7e;--shadow:0 18px 40px #00000080;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html,body{height:100%}body{background:var(--bg);color:var(--fg);font-family:var(--body);-webkit-tap-highlight-color:transparent;font-size:16px;line-height:1.45}*{box-sizing:border-box}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}#app{background:var(--bg);flex-direction:column;max-width:440px;height:100%;margin:0 auto;display:flex;position:relative;overflow:hidden}@media (min-width:480px){#app{border-inline:1px solid var(--line)}}.screen{flex-direction:column;flex:1;min-height:0;padding-inline:24px;display:flex}.scroll{padding-block:20px 28px;overflow-y:auto}h1,h2,h3{font-family:var(--display);text-wrap:balance;letter-spacing:-.03em;margin:0;font-weight:800;line-height:1.05}h1 em,h2 em{font-family:var(--serif);letter-spacing:-.01em;color:var(--accent);font-style:italic;font-weight:400}.btn{background:var(--ink);min-height:58px;color:var(--ink-fg);border:0;border-radius:20px;justify-content:center;align-items:center;gap:10px;width:100%;padding:16px 22px;font-weight:700;display:flex}.btn.accent{background:var(--accent);color:var(--accent-ink)}.btn:active{transform:scale(.98)}.btn.ghost{color:var(--fg);border:1.5px solid var(--line);background:0 0;font-weight:600}.btn[disabled]{opacity:.5;cursor:not-allowed}.link{color:var(--muted);background:0 0;border:0;padding:8px;text-decoration:underline}#welcome{justify-content:flex-end;gap:22px;padding-block:16px 32px}.hero{flex:none;height:min(46vh,380px);position:relative}.hero .t{aspect-ratio:3/4;width:42%;box-shadow:var(--shadow);border-radius:28px;position:absolute;overflow:hidden}.hero .t svg{width:100%;height:100%;display:block}.hero .t1{background:#c98b7a;top:14%;left:2%;transform:rotate(-9deg)}.hero .t2{background:#7e8fb0;top:14%;right:2%;transform:rotate(9deg)}.hero .t3{border:4px solid var(--surface);background:#b49a6e;width:47%;top:4%;left:50%;transform:translate(-50%)}.hero .tick{background:var(--accent);border:4px solid var(--bg);border-radius:50%;place-items:center;width:56px;height:56px;display:grid;position:absolute;top:72%;left:50%;transform:translate(-50%)}.hero .pill{background:var(--surface);white-space:nowrap;border-radius:999px;align-items:center;gap:8px;padding:9px 14px 9px 10px;font-size:.82rem;font-weight:600;display:flex;position:absolute;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #17131f14}.mark{width:30px;height:20px}.brandline{letter-spacing:-.01em;align-items:center;gap:8px;font-size:.95rem;font-weight:800;display:flex}.brand{margin-top:12px;font-size:clamp(2.2rem,10.5vw,2.65rem)}.tag{color:var(--muted);margin:10px 0 0;font-size:1rem}.points{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.points li{background:var(--surface);border-radius:18px;flex-direction:column;gap:6px;padding:12px;font-size:.75rem;font-weight:600;line-height:1.35;display:flex}.points svg{flex:none}.stepper{gap:6px;margin-bottom:18px;display:flex}.stepper i{background:var(--line);border-radius:6px;flex:1;height:6px}.stepper i.on{background:var(--accent)}.field{gap:7px;margin-bottom:16px;display:grid}.field>label,.field>span.lbl{color:var(--muted);font-size:.75rem;font-weight:700}input[type=text],input[type=number],input[type=password],input[type=email],input[type=tel],select,textarea{border:1.5px solid var(--line);background:var(--surface);border-radius:16px;width:100%;padding:14px 16px;font-weight:500}input::placeholder,textarea::placeholder{color:var(--muted);opacity:.85}textarea{resize:vertical;min-height:80px}.seg{flex-wrap:wrap;gap:8px;display:flex}.seg input{opacity:0;pointer-events:none;position:absolute}.seg label{text-align:center;white-space:nowrap;border:1.5px solid var(--line);background:var(--surface);cursor:pointer;border-radius:14px;flex:1;padding:12px 14px;font-size:.9rem;font-weight:600}.seg input:checked+label{background:var(--ink);border-color:var(--ink);color:var(--ink-fg)}.seg input:focus-visible+label{outline:3px solid var(--accent);outline-offset:2px}.err{color:var(--no);min-height:1.3em;margin:0 0 8px;font-size:.9rem}.check{color:var(--muted);align-items:flex-start;gap:10px;margin-bottom:14px;font-size:.88rem;display:flex}.check input{width:20px;height:20px;accent-color:var(--ink);margin-top:2px}.pose{background:var(--bar);color:#fff;border-radius:22px;gap:2px;padding:16px 18px;display:grid}.pose small{color:#ffffffb3;letter-spacing:.08em;text-transform:uppercase;font-size:.7rem;font-weight:700}.pose strong{font-size:1.1rem;font-weight:700}.frame{aspect-ratio:232/296;border:3px dashed var(--line);background:var(--surface2);border-radius:50%;outline:0;place-items:center;width:min(60vw,232px);margin:26px auto 22px;display:grid;position:relative;overflow:hidden}.frame img{object-fit:cover;width:100%;height:100%;display:block}.frame.ok{border:3px solid var(--yes)}.frame.bad{border:3px solid var(--no)}.frame .hint{color:var(--muted);text-align:center;padding:24px;font-size:.88rem}.checks{gap:8px;margin:0 0 14px;padding:0;list-style:none;display:grid}.checks li{background:var(--surface);border-radius:16px;align-items:center;gap:12px;padding:12px 14px;font-size:.92rem;font-weight:600;display:flex}.checks .dot{border:3px solid var(--line);border-radius:50%;flex:none;place-items:center;width:26px;height:26px;font-size:.8rem;font-weight:800;display:grid}.checks .pass .dot{background:var(--yes);border-color:var(--yes);color:#fff}.checks .fail .dot{background:var(--no);border-color:var(--no);color:#fff}.checks .run .dot{border-top-color:var(--accent);animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.note{color:var(--muted);margin:0 0 14px;font-size:.82rem}#main{padding:0}.top{justify-content:space-between;align-items:center;gap:10px;padding:14px 16px 8px;display:flex}.top .lg{letter-spacing:-.02em;align-items:center;gap:8px;font-size:1.05rem;font-weight:800;display:flex}.top select{background:var(--surface);border:0;border-radius:999px;width:auto;max-width:50%;padding:10px 14px;font-size:.88rem;font-weight:600}.tabview{flex-direction:column;flex:1;min-height:0;display:flex}.tabview.scroll{padding-inline:20px}#stackWrap{flex:1;min-height:0;margin:6px 16px 0;position:relative}.card{background:var(--surface);box-shadow:var(--shadow);touch-action:none;-webkit-user-select:none;user-select:none;will-change:transform;border-radius:32px;transition:transform .28s,opacity .28s;position:absolute;inset:0;overflow:hidden}.card.back{opacity:.75;pointer-events:none;transform:scale(.95)translateY(14px)}.card .photo{position:absolute;inset:0}.card .photo svg{width:100%;height:100%;position:absolute;inset:0}.card .photo img{object-fit:cover;width:100%;height:100%}.card .info{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:#fff;background:#17131fc7;border-radius:24px;padding:16px 18px;position:absolute;bottom:10px;left:10px;right:10px}.nm{letter-spacing:-.03em;flex-wrap:wrap;align-items:center;gap:8px;font-size:1.7rem;font-weight:800;line-height:1.1;display:flex}.nm .age{font-family:var(--serif);letter-spacing:0;opacity:.88;font-style:italic;font-weight:400}.vb{background:var(--blue);border-radius:50%;place-items:center;width:22px;height:22px;display:inline-grid}.chips{flex-wrap:wrap;gap:6px;margin:10px 0;display:flex}.chip{background:#ffffff29;border-radius:999px;align-items:center;gap:5px;padding:5px 11px;font-size:.82rem;font-weight:600;display:inline-flex}.chip.st{background:var(--saffron);color:#17131f;font-weight:700}.bio{opacity:.92;margin:0;font-size:.92rem;line-height:1.45}.sample{letter-spacing:.06em;text-transform:uppercase;color:#fff;background:#17131f8c;border-radius:999px;padding:6px 11px;font-size:.68rem;font-weight:700;position:absolute;top:14px;left:14px}.stamp{opacity:0;letter-spacing:.04em;background:#0000002e;border:4px solid;border-radius:12px;padding:4px 12px;font-size:1.4rem;font-weight:800;position:absolute;top:30px}.stamp.yes{color:#4be3a8;border-color:#4be3a8;left:18px;transform:rotate(-12deg)}.stamp.no{color:#ff8597;border-color:#ff8597;right:18px;transform:rotate(12deg)}.empty{text-align:center;color:var(--muted);background:var(--surface);border-radius:32px;place-content:center;gap:12px;padding:24px;display:grid;position:absolute;inset:0}.empty h3{color:var(--fg);font-size:1.5rem}.actions{justify-content:center;align-items:center;gap:28px;padding:16px 16px 8px;display:flex}.round{background:var(--surface);width:64px;height:64px;color:var(--fg);border:0;border-radius:50%;place-items:center;display:grid;box-shadow:0 10px 26px #17131f1f}.round.yes{background:var(--accent);width:76px;height:76px;color:var(--accent-ink);box-shadow:0 14px 30px #d92d5561}.round:active{transform:scale(.93)}.round[disabled]{opacity:.4}.legend{color:var(--muted);text-align:center;padding-bottom:8px;font-size:.75rem}.tabs{margin:4px 24px calc(16px + env(safe-area-inset-bottom,0px));background:var(--bar);border-radius:32px;justify-content:space-between;align-items:center;height:64px;padding:0 8px;display:flex;box-shadow:0 14px 32px #17131f47}.tabs button{color:#ffffffb3;background:0 0;border:0;border-radius:24px;justify-content:center;align-items:center;gap:8px;min-width:64px;height:48px;padding:0 18px;font-size:.88rem;font-weight:700;display:flex;position:relative}.tabs button[aria-selected=true]{background:var(--accent);color:#fff}.tabs button:not([aria-selected=true]) .tl{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.badge{background:var(--saffron);color:#17131f;border-radius:999px;place-items:center;min-width:18px;height:18px;padding-inline:5px;font-size:.68rem;font-weight:800;display:grid;position:absolute;top:-6px;right:-10px}.list{gap:10px;display:grid}.row{background:var(--surface);text-align:left;border:0;border-radius:22px;align-items:center;gap:12px;width:100%;padding:12px;display:flex}.av{border-radius:50%;flex:none;width:56px;height:56px;position:relative;overflow:hidden}.av svg,.av img{object-fit:cover;width:100%;height:100%;display:block}.row .meta{min-width:0}.row b{font-size:1rem;font-weight:700;display:block}.row span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;display:block;overflow:hidden}.mine{gap:14px;display:grid}.mine .card{aspect-ratio:4/5;touch-action:auto;border-radius:30px;width:100%;max-height:52vh;margin-inline:auto;position:relative;inset:auto}.kv{grid-template-columns:1fr 1fr;gap:10px;display:grid}.kv div{background:var(--surface);border-radius:18px;padding:14px;font-weight:700}.kv small{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px;font-size:.68rem;font-weight:700;display:block}.overlay{background:var(--bg);z-index:5;flex-direction:column;display:flex;position:absolute;inset:0}.overlay.modal{color:#fff;background:#17131f;justify-content:center;align-items:center;padding:24px}.sheet{text-align:center;background:0 0;gap:14px;width:100%;max-width:360px;display:grid}.sheet h2{letter-spacing:-.04em;font-size:3rem;line-height:1}.sheet h2 em{color:#ff8fa8}.sheet p{color:#ffffffbf!important}.sheet .btn.ghost{color:#fff;border-color:#ffffff38}.pair{justify-content:center;margin-bottom:18px;display:flex}.pair .av{border:4px solid #17131f;border-radius:28px;width:128px;height:170px;transform:rotate(-8deg)}.pair .av+.av{margin-left:-22px;transform:rotate(8deg)}.chead{border-bottom:1px solid var(--line);background:var(--surface);align-items:center;gap:10px;padding:12px 14px;display:flex}.chead button{background:var(--bg);width:44px;height:44px;color:var(--fg);border:0;border-radius:50%;place-items:center;display:grid}.msgs{flex-direction:column;flex:1;gap:8px;padding:18px 16px;display:flex;overflow-y:auto}.msg{background:var(--surface);border-radius:22px 22px 22px 6px;max-width:76%;padding:11px 15px;line-height:1.4}.msg.me{background:var(--accent);color:var(--accent-ink);border-radius:22px 22px 6px;align-self:flex-end}.sys{color:var(--muted);text-align:center;background:var(--surface);border-radius:16px;align-self:center;max-width:300px;padding:10px 14px;font-size:.78rem}.cform{padding:12px 16px;padding-bottom:calc(14px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);background:var(--surface);gap:10px;display:flex}.cform input{background:var(--bg);border:0;border-radius:999px;flex:1;padding-inline:18px}.cform button{border-radius:999px;width:auto;min-height:50px;padding:0 20px}@media (prefers-reduced-motion:reduce){.card,.checks .run .dot{transition:none;animation:none}}.topbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.iconbtn{background:var(--surface);width:44px;height:44px;color:var(--fg);border:0;border-radius:50%;flex:none;place-items:center;display:grid}.pwrap{position:relative}.pwrap input{padding-right:70px}.pwrap button{color:var(--muted);background:0 0;border:0;padding:10px;font-size:.8rem;font-weight:700;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.meter{gap:4px;margin-top:2px;display:flex}.meter i{background:var(--line);border-radius:4px;flex:1;height:4px}.meter.s1 i:nth-child(-n+1){background:var(--no)}.meter.s2 i:nth-child(-n+2){background:var(--saffron)}.meter.s3 i:nth-child(-n+3),.meter.s4 i{background:var(--yes)}.hintline{color:var(--muted);font-size:.75rem}.switch{text-align:center;color:var(--muted);margin:14px 0 0;font-size:.9rem}.switch button{color:var(--accent);background:0 0;border:0;padding:6px;font-weight:700}.alert{background:var(--surface);border-radius:20px;gap:6px;padding:18px;display:grid}.alert b{font-size:1.05rem}#blocked{justify-content:center;gap:20px}.card .flag{color:#fff;z-index:2;background:#17131f8c;border:0;border-radius:50%;place-items:center;width:40px;height:40px;display:grid;position:absolute;top:14px;right:14px}.bars{z-index:1;gap:4px;display:flex;position:absolute;top:10px;left:14px;right:64px}.bars i{background:#ffffff73;border-radius:4px;flex:1;height:4px}.bars i.on{background:#fff}.card .sample{top:22px}.sec{gap:10px;display:grid}.sec h3{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:.72rem;font-weight:700}.pgrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.tile{aspect-ratio:3/4;background:var(--surface2);border-radius:16px;position:relative;overflow:hidden}.tile img{object-fit:cover;width:100%;height:100%;display:block}.tile .tag2{color:#fff;text-align:center;background:#17131fb3;border-radius:999px;padding:4px 7px;font-size:.65rem;font-weight:700;position:absolute;bottom:6px;left:6px;right:6px}.tile .tag2.ok{background:var(--blue)}.tile .tag2.rv{background:var(--saffron);color:#17131f}.tile .rm{color:#fff;background:#17131f99;border:0;border-radius:50%;place-items:center;width:30px;height:30px;display:grid;position:absolute;top:6px;right:6px}.tile.add{border:2px dashed var(--line);color:var(--muted);cursor:pointer;background:0 0;place-items:center;width:100%;padding:0;font-size:.8rem;font-weight:700;display:grid}.tile.add span{justify-items:center;gap:4px;display:grid}.acct{background:var(--surface);border-radius:20px;overflow:hidden}.acct div{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding:14px 16px;font-size:.92rem;display:flex}.acct div:last-child{border-bottom:0}.acct small{color:var(--muted);font-weight:600}.acct span{text-align:right;text-overflow:ellipsis;font-weight:600;overflow:hidden}.btn.danger{color:var(--no);border:1.5px solid var(--line);background:0 0}.overlay.dim{background:#17131f8c;justify-content:flex-end}.bsheet{background:var(--surface);padding:22px 20px calc(24px + env(safe-area-inset-bottom,0px));border-radius:28px 28px 0 0;gap:12px;max-height:92%;display:grid;overflow-y:auto}.bsheet h2{font-size:1.6rem}.grab{background:var(--line);border-radius:5px;width:40px;height:5px;margin:-8px auto 4px}.opt{text-align:left;border:1.5px solid var(--line);background:var(--surface);border-radius:16px;justify-content:space-between;align-items:center;width:100%;padding:15px 16px;font-weight:600;display:flex}.pv{aspect-ratio:3/4;background:var(--surface2);border-radius:18px;width:140px;margin:4px auto;overflow:hidden}.pv img{object-fit:cover;width:100%;height:100%;display:block}.pv.blur img{filter:blur(18px)}.toast{background:var(--bar);color:#fff;z-index:9;text-align:center;max-width:calc(100% - 48px);box-shadow:var(--shadow);border-radius:16px;padding:12px 18px;font-size:.88rem;font-weight:600;position:absolute;bottom:110px;left:50%;transform:translate(-50%)}.chead .rep{margin-left:auto}.aistat{color:var(--muted);align-items:center;gap:6px;margin:0 0 10px;font-size:.78rem;display:flex}
html,body{height:100%;margin:0}img{max-width:100%}[hidden]{display:none!important}.page{background:var(--bg);flex-direction:column;max-width:440px;min-height:100%;margin:0 auto;display:flex}@media (min-width:480px){.page{border-inline:1px solid var(--line)}}.page .screen{padding-block:20px 32px}.doc{max-width:720px;margin:0 auto;padding:32px 24px 64px;line-height:1.6}.doc h1{margin-bottom:8px;font-size:2.2rem}.doc h2{letter-spacing:-.01em;margin:28px 0 6px;font-size:1.25rem}.doc p,.doc li{color:var(--fg)}.doc a{color:var(--accent)}.stack{gap:12px;display:grid}a.btn{text-decoration:none}.center{text-align:center}.okmsg{color:var(--yes);margin:0 0 8px;font-size:.9rem}.camera{position:relative}.camera video{object-fit:cover;width:100%;height:100%;transform:scaleX(-1)}
