:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--accent:#00797e;--accent-strong:#006064;--accent-soft:#d2eef0;--accent-contrast:#fcfcfc;--danger:#b05139;--danger-soft:#ffe5de;--success:#3d8e53;--bg:#fcfcf9;--bg-grouped:#f0f2f4;--surface:#fff;--surface-raised:#fff;--border:#dcdee1;--separator:#7d808624;--text:#13161b;--text-muted:#5a5e63;--text-faint:#777a80;--night:#090d14;--night-deep:#050911;--night-text:#eef3f4;--night-muted:#95a1a5;--bubble-mine:var(--accent);--bubble-mine-text:#fcfcfc;--bubble-theirs:#edeef1;--bubble-theirs-text:var(--text);--radius-sm:10px;--radius:16px;--radius-lg:22px;--radius-xl:28px;--shadow-card:0 1px 2px #13161b0d, 0 8px 24px #13161b0f;--shadow-pop:0 8px 40px #13161b2e;--tap:44px;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-spring:cubic-bezier(.34, 1.4, .5, 1)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@supports (color:lab(0% 0 0)){:root{--accent:lab(45.2814% -31.2188 -12.7895);--accent-strong:lab(36.0849% -34.1317 -13.9362);--accent-soft:lab(92.1779% -9.48414 -3.96464);--accent-contrast:lab(98.84% .0000298023 -.0000119209);--danger:lab(46.6965% 38.4186 32.9903);--danger-soft:lab(92.8173% 8.35216 6.70656);--success:lab(52.7991% -36.1448 23.7337);--bg:lab(98.859% -.0975132 1.13808);--bg-grouped:lab(95.3476% -.214964 -1.49841);--surface:lab(100% 0 0);--surface-raised:lab(100% 0 0);--border:lab(88.3844% -.266641 -1.87179);--separator:lab(53.5669% -.499904 -3.72492/.14);--text:lab(7.19015% -.368543 -3.62587);--text-muted:lab(39.6462% -.487268 -3.71822);--text-faint:lab(51.2468% -.498146 -3.724);--night:lab(3.65826% -.227951 -3.8085);--night-deep:lab(2.42796% -.0840873 -4.13788);--night-text:lab(95.3909% -1.28037 -1.23323);--night-muted:lab(65.291% -3.80626 -3.67852);--bubble-mine-text:lab(98.84% .0000298023 -.0000119209);--bubble-theirs:lab(94.1876% -.214905 -1.4984);--shadow-card:0 1px 2px lab(7.19015% -.368543 -3.62587/.05), 0 8px 24px lab(7.19015% -.368543 -3.62587/.06);--shadow-pop:0 8px 40px lab(7.19015% -.368543 -3.62587/.18)}}@media (prefers-color-scheme:dark){:root{--bg:#0c1015;--bg-grouped:#07090e;--surface:#171b21;--surface-raised:#1e2228;--border:#2f3339;--separator:#babec41f;--text:#f0f2f4;--text-muted:#a0a5ac;--text-faint:#7c8088;--accent:#40b1b7;--accent-strong:#56c4ca;--accent-soft:#0b2f31;--accent-contrast:#030d11;--danger:#e17363;--danger-soft:#3e1f1a;--bubble-theirs:#23272c;--bubble-mine-text:#030d11;--shadow-card:0 1px 2px #0006, 0 8px 24px #0000004d}@supports (color:lab(0% 0 0)){:root{--bg:lab(4.4036% -.266463 -3.33818);--bg-grouped:lab(2.45393% -.153951 -2.30871);--surface:lab(9.46747% -.479311 -4.76326);--surface-raised:lab(12.9442% -.529863 -5.13517);--border:lab(21.076% -.523448 -4.43172);--separator:lab(76.7676% -.512481 -3.73178/.12);--text:lab(95.3476% -.214964 -1.49841);--text-muted:lab(67.4802% -.599802 -4.46991);--text-faint:lab(53.5596% -.587732 -4.46346);--accent:lab(66.1711% -31.3595 -12.905);--accent-strong:lab(73.1334% -31.389 -12.9332);--accent-soft:lab(16.8685% -12.5438 -5.16202);--accent-contrast:lab(3.1043% -2.35382 -2.94795);--danger:lab(61.6117% 42.578 29.7474);--danger-soft:lab(16.0324% 15.1353 10.4404);--bubble-theirs:lab(15.2746% -.497594 -4.42001);--bubble-mine-text:lab(3.1043% -2.35382 -2.94795);--shadow-card:0 1px 2px lab(0% 0 0/.4), 0 8px 24px lab(0% 0 0/.3)}}}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{overscroll-behavior:none;height:100%;margin:0;padding:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,system-ui,sans-serif;font-size:17px;line-height:1.45}input,textarea{-webkit-user-select:text;user-select:text}button{font:inherit;color:inherit;cursor:pointer}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.app{background:var(--bg);flex-direction:column;display:flex;position:fixed;inset:0;overflow:hidden}.screen{min-height:0;animation:screenIn .32s var(--ease-out) both;flex-direction:column;flex:1;display:flex}.screen--scroll{-webkit-overflow-scrolling:touch;overflow-y:auto}.screen--night{background:var(--night);color:var(--night-text)}.screen--grouped{background:var(--bg-grouped)}.pad{padding:0 20px}.safe-top{padding-top:calc(var(--safe-top) + 12px)}.safe-bottom{padding-bottom:calc(var(--safe-bottom) + 12px)}.spacer{flex:1}.title-lg{letter-spacing:-.02em;margin:0;font-size:28px;font-weight:700}.title{letter-spacing:-.01em;margin:0;font-size:22px;font-weight:700}.subtitle{color:var(--text-muted);margin:8px 0 0;font-size:15px;line-height:1.5}.section-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin:0;padding:22px 20px 8px;font-size:13px}.mono{font-variant-numeric:tabular-nums;font-family:ui-monospace,SF Mono,Menlo,monospace}.btn{min-height:var(--tap);border-radius:var(--radius);background:var(--accent);width:100%;color:var(--accent-contrast);transition:transform .12s var(--ease-out), opacity .15s;border:none;padding:13px 20px;font-size:17px;font-weight:600}.btn:active:not(:disabled){transform:scale(.975)}.btn:disabled{opacity:.35}.btn--ghost{color:var(--accent);border:1px solid var(--border);background:0 0}.btn--danger{background:var(--danger);color:#fcfcfc;color:lab(98.84% .0000298023 -.0000119209)}.btn--quiet{background:var(--surface);color:var(--text);border:1px solid var(--border)}.btn--small{width:auto;min-height:38px;padding:8px 16px;font-size:15px}.icon-btn{width:var(--tap);height:var(--tap);min-width:var(--tap);color:var(--accent);background:0 0;border:none;border-radius:50%;place-items:center;font-size:20px;transition:background .15s;display:grid}.icon-btn:active{background:var(--accent-soft)}.field{width:100%;min-height:var(--tap);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);padding:12px 16px;font-size:17px;transition:border-color .15s}.field::placeholder{color:var(--text-faint)}.field:focus{border-color:var(--accent);outline:none}.field--invalid{border-color:var(--danger)}.stack{flex-direction:column;gap:12px;display:flex}.row{align-items:center;gap:12px;display:flex}.switch{background:var(--border);width:51px;min-width:51px;height:31px;transition:background .22s var(--ease-out);border:none;border-radius:16px;position:relative}.switch[data-on=true]{background:var(--accent)}.switch span{width:27px;height:27px;transition:transform .22s var(--ease-spring);background:#fff;background:lab(100% 0 0);border-radius:50%;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #00000040;box-shadow:0 1px 3px lab(0% 0 0/.25)}.switch[data-on=true] span{transform:translate(20px)}.card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);margin:0 16px;overflow:hidden}.card-row{text-align:left;background:0 0;border:none;align-items:center;gap:12px;width:100%;min-height:52px;padding:12px 16px;display:flex;position:relative}.card-row+.card-row:before{content:"";background:var(--separator);height:1px;position:absolute;top:0;left:16px;right:0}.card-row__value{color:var(--text-muted);margin-left:auto;font-size:15px}.chevron{color:var(--text-faint);margin-left:auto;font-size:18px}.avatar{background:var(--accent-soft);width:46px;min-width:46px;height:46px;color:var(--accent-strong);letter-spacing:-.02em;border-radius:50%;place-items:center;font-size:16px;font-weight:700;display:grid}.avatar--lg{width:104px;min-width:104px;height:104px;font-size:34px}.avatar--sm{width:34px;min-width:34px;height:34px;font-size:13px}.mark{width:26px;height:26px;color:var(--accent);border:2.5px solid;border-radius:50%;flex-shrink:0;position:relative}.mark:after{content:"";background:currentColor;border-radius:50%;position:absolute;inset:4px}.mark--lg{border-width:3px;width:40px;height:40px}.mark--lg:after{inset:7px}.header{padding:calc(var(--safe-top) + 8px) 12px 8px;background:var(--bg);z-index:5;border-bottom:1px solid #0000;align-items:center;gap:8px;transition:border-color .2s;display:flex;position:sticky;top:0}.header--bordered{border-bottom-color:var(--separator)}.header__title{text-align:center;flex:1;min-width:0;font-size:17px;font-weight:700}.segmented{background:var(--bg-grouped);border-radius:12px;gap:2px;margin:4px 16px 12px;padding:2px;display:flex}.segmented button{min-height:36px;color:var(--text-muted);transition:background .2s var(--ease-out), color .2s;background:0 0;border:none;border-radius:10px;flex:1;font-size:14px;font-weight:600}.segmented button[data-active=true]{background:var(--surface);color:var(--text);box-shadow:0 1px 3px #0000001f;box-shadow:0 1px 3px lab(0% 0 0/.12)}.keypad{grid-template-columns:repeat(3,76px);justify-content:center;gap:18px 26px;display:grid}.key{width:76px;height:76px;color:var(--night-text);transition:transform .1s var(--ease-out), background .15s;background:#ffffff14;background:lab(100% 0 0/.08);border:none;border-radius:50%;place-items:center;font-size:30px;font-weight:300;display:grid}.key:active{background:#fff3;background:lab(100% 0 0/.2);transform:scale(.94)}.key--ghost{color:var(--night-muted);background:0 0;font-size:22px}.keypad--light .key{background:var(--surface);color:var(--text);box-shadow:var(--shadow-card)}.keypad--light .key--ghost{box-shadow:none;color:var(--text-muted);background:0 0}.pin-dots{justify-content:center;gap:18px;display:flex}.pin-dot{width:14px;height:14px;transition:background .18s var(--ease-out), transform .18s var(--ease-spring);border:1.5px solid;border-radius:50%}.pin-dot[data-filled=true]{background:currentColor;transform:scale(1.12)}.messages{-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;gap:6px;min-height:0;padding:12px 14px 8px;display:flex;overflow-y:auto}.msg-row{flex-direction:column;max-width:82%;display:flex}.msg-row[data-mine=true]{align-self:flex-end;align-items:flex-end}.msg-row[data-mine=false]{align-self:flex-start}.bubble{word-break:break-word;animation:bubbleIn .26s var(--ease-out) both;border-radius:19px;padding:9px 13px;font-size:16px;line-height:1.35}.msg-row[data-mine=true] .bubble{background:var(--bubble-mine);color:var(--bubble-mine-text);border-bottom-right-radius:6px}.msg-row[data-mine=false] .bubble{background:var(--bubble-theirs);color:var(--bubble-theirs-text);border-bottom-left-radius:6px}.msg-sender{color:var(--text-muted);margin:2px 8px;font-size:12px;font-weight:600}.msg-time{color:var(--text-faint);margin:2px 8px 0;font-size:11px}.composer{padding:8px 12px calc(var(--safe-bottom) + 8px);background:var(--bg);border-top:1px solid var(--separator);align-items:flex-end;gap:8px;display:flex}.composer .field{border-radius:22px;min-height:40px;padding:9px 16px}.wave{align-items:center;gap:3px;height:22px;display:flex}.wave i{opacity:.7;width:3px;animation:waveBar 1.1s var(--ease-out) infinite;background:currentColor;border-radius:2px}.chip{background:var(--bg-grouped);color:var(--text-muted);border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:13px;font-weight:600;display:inline-flex}.chip--accent{background:var(--accent-soft);color:var(--accent-strong)}.chip--danger{background:var(--danger-soft);color:var(--danger)}.tabbar{border-top:1px solid var(--separator);background:var(--bg);padding-bottom:var(--safe-bottom);display:flex}.tabbar button{min-height:52px;color:var(--text-faint);background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;font-size:10px;font-weight:600;transition:color .18s;display:flex}.tabbar button[data-active=true]{color:var(--accent)}.tabbar svg{width:24px;height:24px}.tiles{grid-template-columns:1fr 1fr;gap:12px;padding:4px 16px;display:grid}.tile{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);text-align:left;min-height:108px;box-shadow:var(--shadow-card);transition:transform .14s var(--ease-out);animation:tileIn .4s var(--ease-out) both;flex-direction:column;justify-content:space-between;align-items:flex-start;gap:10px;padding:16px;font-size:15px;font-weight:600;display:flex}.tile:active{transform:scale(.97)}.tile--wide{flex-direction:row;grid-column:span 2;align-items:center;min-height:74px}.tile svg{width:26px;height:26px;color:var(--accent)}.overlay{z-index:50;-webkit-backdrop-filter:blur(6px);animation:fade .2s var(--ease-out) both;background:#090b0f80;background:lab(3.02674% -.179462 -2.15476/.5);place-items:center;padding:24px;display:grid;position:fixed;inset:0}.sheet{background:var(--surface-raised);border-radius:var(--radius-xl);width:100%;max-width:340px;box-shadow:var(--shadow-pop);animation:popIn .28s var(--ease-spring) both;padding:22px}.toast{left:50%;bottom:calc(var(--safe-bottom) + 24px);z-index:60;color:#fcfcfc;color:lab(98.84% .0000298023 -.0000119209);animation:toastIn .3s var(--ease-spring) both;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#13161beb;background:lab(7.19015% -.368543 -3.62587/.92);border-radius:999px;padding:12px 20px;font-size:14px;font-weight:600;position:fixed;transform:translate(-50%)}.qr{border-radius:var(--radius);width:208px;height:208px;box-shadow:var(--shadow-card);background:#fff;background:lab(100% 0 0);padding:12px}.qr svg{shape-rendering:crispedges;width:100%;height:100%;display:block}.scanner{aspect-ratio:1;border-radius:var(--radius-lg);background:var(--night-deep);width:100%;position:relative;overflow:hidden}.scanner video{object-fit:cover;width:100%;height:100%}.scanner__line{background:var(--accent);height:2px;box-shadow:0 0 12px var(--accent);animation:scanLine 2.2s var(--ease-out) infinite alternate;position:absolute;left:8%;right:8%}.progress{gap:6px;padding:0 20px;display:flex}.progress i{background:var(--border);height:4px;transition:background .3s var(--ease-out);border-radius:2px;flex:1}.progress i[data-done=true]{background:var(--accent)}@keyframes screenIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes bubbleIn{0%{opacity:0;transform:translateY(6px)scale(.98)}to{opacity:1;transform:none}}@keyframes tileIn{0%{opacity:0;transform:translateY(-10px)scale(.97)}to{opacity:1;transform:none}}@keyframes popIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:none}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,16px)}to{opacity:1;transform:translate(-50%)}}@keyframes shakeX{0%,to{transform:translate(0)}20%{transform:translate(-9px)}40%{transform:translate(9px)}60%{transform:translate(-6px)}80%{transform:translate(6px)}}.shake{animation:shakeX .42s var(--ease-out)}@keyframes pulseRing{0%{box-shadow:0 0 #ffffff47;box-shadow:0 0 lab(100% 0 0/.28)}to{box-shadow:0 0 0 26px #fff0;box-shadow:0 0 0 26px lab(100% 0 0/0)}}.pulse{animation:pulseRing 1.8s var(--ease-out) infinite}@keyframes scanLine{0%{top:8%}to{top:90%}}@keyframes waveBar{0%,to{height:6px}50%{height:20px}}@keyframes spin{to{transform:rotate(360deg)}}.spinner{border:2px solid;border-top-color:#0000;border-radius:50%;width:22px;height:22px;animation:.7s linear infinite spin}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
