:root{--ink: #120c0a;--ink-2: #1e1512;--paper: #fff8ef;--muted: rgba(255, 248, 239, .66);--faint: rgba(255, 248, 239, .4);--ember: #e0412f;--ember-deep: #c62828;--gold: #f5b83d;--good: #22c07a;--bad: #ef5a47;--glass: rgba(22, 15, 13, .46);--glass-strong: rgba(22, 15, 13, .72);--glass-edge: rgba(255, 248, 239, .14);--radius: 22px;--shadow: 0 18px 50px rgba(0, 0, 0, .35);--font: "Inter", "SF Pro Display", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--ink);color:var(--paper);font-family:var(--font);-webkit-font-smoothing:antialiased;overflow:hidden;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}.glass{background:var(--glass);border:1px solid var(--glass-edge);-webkit-backdrop-filter:blur(18px) saturate(140%);backdrop-filter:blur(18px) saturate(140%);box-shadow:var(--shadow)}.wordmark{font-weight:800;font-size:28px;letter-spacing:-.02em;color:var(--ember);line-height:1}.wordmark span{color:var(--paper)}.wordmark.small{font-size:17px}.stage{position:relative;height:100%;overflow:hidden}.camera{position:absolute;top:0;right:0;bottom:0;left:0;background:#000}.camera video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}.noCamera{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 30% 45% at 50% 46%,#6b4f43 0%,#3b2a24 55%,transparent 70%),radial-gradient(ellipse at 20% 10%,#3a4a5a 0%,transparent 50%),linear-gradient(160deg,#26303a,#14100e)}.faceWindow{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;overflow:visible}.faceWindow .dim{fill:#0a070647;transition:fill .4s}.faceWindow.active .dim{fill:#0a070694}.faceWindow .track{fill:none;stroke:#fff8ef38;stroke-width:6}.faceWindow .fill{fill:none;stroke:var(--paper);stroke-width:8;stroke-linecap:round;transition:stroke-dashoffset .35s ease,stroke .3s;filter:drop-shadow(0 0 10px rgba(255,248,239,.35))}.faceWindow.tone-ok .fill{stroke:var(--gold);filter:drop-shadow(0 0 12px rgba(245,184,61,.55))}.faceWindow.tone-live .fill{stroke:var(--good);filter:drop-shadow(0 0 14px rgba(34,192,122,.6))}.faceWindow:not(.active) .track,.faceWindow:not(.active) .fill{opacity:0}.faceWindow .scan{fill:#22c07a38;animation:scan 1.1s ease-in-out infinite alternate}@keyframes scan{0%{transform:translateY(0)}to{transform:translateY(294px)}}.top{position:absolute;left:0;right:0;top:0;z-index:2;display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:calc(env(safe-area-inset-top,0px) + 18px) 20px 0}.pill{border-radius:999px;display:flex;align-items:center;gap:12px;padding:8px 18px 8px 8px}.brandPill img{border-radius:50%;background:var(--paper);padding:3px}.brandText{display:grid;gap:3px}.site{font-size:15px;font-weight:600;color:var(--muted);max-width:42vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topRight{display:flex;gap:10px;align-items:center}.clockPill{flex-direction:column;align-items:flex-end;gap:0;padding:8px 20px;border-radius:18px}.clock{font-size:30px;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1.05}.date{font-size:13px;color:var(--muted);font-weight:500}.iconBtn{width:56px;height:56px;border-radius:18px;display:grid;place-items:center;color:var(--muted);transition:color .15s,transform .15s}.iconBtn:active{transform:scale(.94);color:var(--paper)}.bottom{position:absolute;left:0;right:0;bottom:0;z-index:2;display:grid;justify-items:center;gap:14px;padding:0 20px calc(env(safe-area-inset-bottom,0px) + 18px)}.prompt{display:flex;align-items:center;gap:14px;border-radius:999px;padding:16px 30px 16px 22px;max-width:min(720px,100%);animation:rise .3s ease}.promptText{font-size:clamp(22px,3.6vw,32px);font-weight:700;letter-spacing:-.01em}.promptHint{font-size:15px;color:var(--muted);margin-top:2px}.promptDot{width:14px;height:14px;border-radius:50%;flex-shrink:0;background:var(--paper);box-shadow:0 0 #fff8ef99;animation:pulse 1.6s infinite}.prompt.tone-ok .promptDot{background:var(--gold);box-shadow:0 0 #f5b83d99}.prompt.tone-live .promptDot{background:var(--good);box-shadow:0 0 #22c07a99}@keyframes pulse{0%{box-shadow:0 0 0 0 currentColor;opacity:1}70%{box-shadow:0 0 0 12px transparent}to{box-shadow:0 0 0 0 transparent}}.steps{display:flex;gap:6px;border-radius:22px;padding:8px}.step{display:grid;justify-items:center;gap:6px;min-width:84px;padding:10px 12px;border-radius:16px;color:var(--faint);transition:background .25s,color .25s}.stepIcon{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#fff8ef14;transition:background .25s,transform .25s}.stepLabel{font-size:13px;font-weight:650;letter-spacing:.04em;text-transform:uppercase}.step.done{color:var(--paper)}.step.done .stepIcon{background:var(--good);color:#fff;transform:scale(1.06)}.privacy{font-size:12.5px;color:var(--faint);text-align:center}.overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;display:grid;place-items:end center;padding:20px 20px calc(env(safe-area-inset-bottom,0px) + 24px);background:#0c080759;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);animation:fade .2s ease}.overlay-good{background:radial-gradient(ellipse at 50% 100%,#22c07a59,#0c080766 60%)}.overlay-ember{background:radial-gradient(ellipse at 50% 100%,#e0412f52,#0c080766 60%)}@media(min-height:700px){.overlay{place-items:center}}.sheet{width:min(560px,100%);border-radius:32px;padding:34px 30px 28px;display:grid;justify-items:center;gap:14px;text-align:center;background:var(--glass-strong);animation:rise .34s cubic-bezier(.2,.9,.3,1.15)}.sheetForm{display:grid;justify-items:center;gap:14px;width:100%}@keyframes rise{0%{opacity:0;transform:translateY(24px) scale(.98)}to{opacity:1;transform:none}}@keyframes fade{0%{opacity:0}to{opacity:1}}.sheet .title{font-size:clamp(30px,5.4vw,44px);font-weight:800;letter-spacing:-.02em;line-height:1.1}.sheet .greet{font-size:18px;color:var(--muted);margin-bottom:-10px}.sheet .code{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:16px;color:var(--muted);letter-spacing:.06em}.sheet .sub{font-size:18px;color:var(--muted);line-height:1.45;max-width:440px}.sheet .sub.small{font-size:14px}.sheet .err,.setup .err{color:var(--bad);font-size:15px}.avatar{width:104px;height:104px;border-radius:50%;display:grid;place-items:center;font-size:40px;font-weight:800;letter-spacing:-.02em;color:#fff;background:linear-gradient(135deg,var(--good),#13925a);box-shadow:0 0 0 6px #22c07a2e}.avatar.out{background:linear-gradient(135deg,var(--ember),var(--ember-deep));box-shadow:0 0 0 6px #e0412f33}.dirPill{display:inline-flex;align-items:center;gap:12px;font-size:clamp(22px,4vw,30px);font-weight:800;letter-spacing:.01em;padding:12px 22px;border-radius:999px;color:var(--good);background:#22c07a24;border:1.5px solid rgba(34,192,122,.5)}.dirPill.out{color:#ff8b7a;background:#e0412f24;border-color:#e0412f80}.dirPill.solid{color:#fff;background:var(--good);border-color:transparent}.dirPill.solid.out{background:var(--ember)}.dirPill svg{width:28px;height:28px}.dirTime{font-weight:600;opacity:.8;font-variant-numeric:tabular-nums;padding-left:12px;border-left:1.5px solid currentColor}.mark{width:96px;height:96px;border-radius:50%;display:grid;place-items:center;color:#fff}.mark.good{background:var(--good);box-shadow:0 0 0 10px #22c07a2e,0 0 40px #22c07a80}.mark.warn{background:#f5b83d29;color:var(--gold)}.mark.bad{background:#ef5a4729;color:var(--bad)}.mark.neutral{width:72px;height:72px;background:#fff8ef14;color:var(--muted)}.mark.neutral svg{width:30px;height:30px}.mark.pop{animation:pop .45s cubic-bezier(.2,1.4,.4,1)}.mark .draw{stroke-dasharray:30;stroke-dashoffset:30;animation:draw .4s .15s ease forwards}@keyframes pop{0%{transform:scale(.4);opacity:0}to{transform:none;opacity:1}}@keyframes draw{to{stroke-dashoffset:0}}.loaderLogo img{border-radius:50%;background:var(--paper);padding:6px;animation:breathe 1.6s ease-in-out infinite}@keyframes breathe{50%{transform:scale(1.06)}}.progress{width:min(320px,80%);height:8px;background:#fff8ef1a;border-radius:999px;overflow:hidden}.progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--ember),var(--gold));transition:width .3s}.actions{display:flex;gap:12px;width:100%;justify-content:center;margin-top:4px}.actions.wrap{flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:64px;padding:0 30px;border-radius:20px;border:0;font-size:21px;font-weight:700;transition:transform .12s,filter .12s}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.6}.btn.primary{background:var(--paper);color:var(--ink);flex:1;max-width:280px}.btn.ghost{background:#fff8ef1a;color:var(--paper);border:1px solid var(--glass-edge);flex:1;max-width:220px}.btn.danger{background:#ef5a4724;color:var(--bad);border:1px solid rgba(239,90,71,.4)}.btn.wide{width:100%;max-width:none}.ring{transform:rotate(-90deg)}.ringTrack{fill:none;stroke:#120c0a2e;stroke-width:3}.ringFill{fill:none;stroke:var(--ink);stroke-width:3;stroke-linecap:round;transition:stroke-dashoffset 1s linear}.field{width:100%;font-size:20px;padding:16px 18px;border-radius:16px;border:1px solid var(--glass-edge);background:#fff8ef0f;color:var(--paper);outline:none}.field:focus{border-color:var(--gold)}.setup{height:100%;display:grid;place-items:center;padding:24px;overflow:auto;background:radial-gradient(ellipse at 15% 0%,rgba(224,65,47,.35),transparent 55%),radial-gradient(ellipse at 100% 100%,rgba(245,184,61,.2),transparent 50%),var(--ink)}.setupCard{width:min(540px,100%);display:grid;gap:16px;padding:34px 30px;border-radius:32px}.setupBrand{display:flex;align-items:center;gap:14px;margin-bottom:6px}.setupBrand img{border-radius:50%;background:var(--paper);padding:4px}.setupTag{font-size:13px;color:var(--muted);font-weight:600;letter-spacing:.08em;text-transform:uppercase;margin-top:4px}.setup h1{margin:0;font-size:28px;letter-spacing:-.02em}.setup p{margin:0;color:var(--muted);line-height:1.55;font-size:15.5px}.setup p b{color:var(--paper);font-weight:650}.setup input{font-size:16px;padding:16px 18px;border-radius:16px;outline:none;border:1px solid var(--glass-edge);background:#fff8ef0f;color:var(--paper)}.setup input:focus{border-color:var(--gold)}.setup .codeInput{font-size:40px;font-weight:700;letter-spacing:.4em;text-align:center;padding:18px;font-variant-numeric:tabular-nums}.setup .codeInput::placeholder{color:#fff8ef2e}.or{display:flex;align-items:center;gap:12px;color:var(--faint);font-size:13px}.or:before,.or:after{content:"";flex:1;height:1px;background:var(--glass-edge)}.setup .btn.primary{background:var(--ember);color:#fff;max-width:none}.clock,.dirTime,.biInline{white-space:nowrap}@media(max-width:560px){.top{padding:calc(env(safe-area-inset-top,0px) + 12px) 12px 0;gap:8px}.pill{gap:8px;padding:6px 12px 6px 6px}.brandPill img{width:26px;height:26px}.wordmark.small{font-size:15px}.site{font-size:13px;max-width:38vw}.clockPill{padding:6px 12px;border-radius:14px}.clock{font-size:21px}.date{display:none}.iconBtn{width:44px;height:44px;border-radius:14px}.bottom{gap:10px;padding:0 12px calc(env(safe-area-inset-bottom,0px) + 12px)}.prompt{padding:12px 18px 12px 14px;gap:10px;width:100%;justify-content:center}.promptText{font-size:21px}.steps{width:100%;justify-content:space-between;gap:2px;padding:6px}.step{min-width:0;flex:1;padding:6px 2px;gap:4px}.stepIcon{width:34px;height:34px}.stepLabel{font-size:11px}.privacy{display:none}.overlay{padding:12px 12px calc(env(safe-area-inset-bottom,0px) + 12px)}.sheet{padding:26px 18px 20px;border-radius:26px;gap:12px}.sheet .title{font-size:28px}.sheet .sub{font-size:16px}.avatar{width:84px;height:84px;font-size:32px}.mark{width:80px;height:80px}.dirPill{font-size:19px;gap:8px;padding:10px 16px}.dirPill svg{width:22px;height:22px}.dirTime{padding-left:8px}.actions{gap:10px}.btn{min-height:58px;font-size:18px;padding:0 14px;border-radius:16px}.btn.primary,.btn.ghost{max-width:none}.setup{padding:16px}.setupCard{padding:24px 18px;border-radius:24px;gap:14px}.setup h1{font-size:23px}.setup p{font-size:14.5px}.setup .codeInput{font-size:30px;letter-spacing:.3em;padding:14px 8px}}@media(max-height:500px)and (orientation:landscape){.top{padding:calc(env(safe-area-inset-top,0px) + 8px) 12px 0}.pill{padding:4px 12px 4px 4px;gap:8px}.brandPill img{width:24px;height:24px}.clockPill{padding:4px 12px}.clock{font-size:19px}.date{display:none}.iconBtn{width:40px;height:40px;border-radius:12px}.bottom{grid-auto-flow:column;justify-content:center;align-items:end;gap:10px;padding:0 12px calc(env(safe-area-inset-bottom,0px) + 8px)}.prompt{padding:8px 16px 8px 12px;gap:8px}.promptText{font-size:17px}.promptHint{font-size:12px}.steps{padding:4px;gap:2px;border-radius:16px}.step{min-width:52px;padding:4px;gap:2px}.stepIcon{width:26px;height:26px}.stepIcon svg{width:16px;height:16px}.stepLabel{font-size:10px}.stepLabel.en,.privacy{display:none}.overlay{place-items:center;padding:8px}.sheet{padding:14px 18px;gap:6px;max-height:100%;overflow:auto;border-radius:22px}.sheet .title{font-size:22px}.sheet .greet{margin-bottom:0;font-size:14px}.sheet .sub{font-size:14px}.avatar,.mark{width:54px;height:54px;font-size:22px;box-shadow:none}.mark svg{width:30px;height:30px}.dirPill{font-size:17px;padding:6px 14px}.btn{min-height:46px;font-size:16px}}.setup{grid-template-columns:minmax(0,1fr);justify-items:center}.setupCard,.setup input{min-width:0}.setup input{width:100%}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.biEn{font-size:.56em;font-weight:500;color:var(--muted);margin-top:4px;letter-spacing:0}.sheet .title .biEn{font-size:.42em;font-weight:600;margin-top:6px}.sheet .sub .biEn,.sheet .greet .biEn{font-size:.82em;margin-top:2px;color:var(--faint)}.promptHint .biEn{font-size:.85em}.biInline{display:inline-flex;flex-direction:column;align-items:flex-start;line-height:1.1}.biInline .biEn{font-size:.5em;font-weight:600;margin-top:3px;color:inherit;opacity:.8}.stepLabel.en{font-size:10.5px;font-weight:500;letter-spacing:.02em;text-transform:none;opacity:.75;margin-top:-4px}.btnText{display:inline-flex;flex-direction:column;align-items:center;line-height:1.15}.btnText small{font-size:.62em;font-weight:600;opacity:.7}
