@font-face{font-family:Outfit Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/outfit-latin-ext-wght-normal-DdQaqQDo.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/outfit-latin-wght-normal-Bc-8i84L.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Readex Pro Variable;font-style:normal;font-display:swap;font-weight:160 700;src:url(/assets/readex-pro-arabic-wght-normal-DiwT_uOQ.woff2) format("woff2-variations");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Readex Pro Variable;font-style:normal;font-display:swap;font-weight:160 700;src:url(/assets/readex-pro-vietnamese-wght-normal-Do5Nl5oc.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Readex Pro Variable;font-style:normal;font-display:swap;font-weight:160 700;src:url(/assets/readex-pro-latin-ext-wght-normal-CsYMu49W.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Readex Pro Variable;font-style:normal;font-display:swap;font-weight:160 700;src:url(/assets/readex-pro-latin-wght-normal--ekFhJJC.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root,:root[data-theme=dark]{--bg: #06070b;--light1: #2f6bff;--light2: #6a5cff;--light3: #ff7e55;--seam: rgba(236, 242, 255, .9);--glow: .7;--glassFill: linear-gradient(150deg, rgba(255, 255, 255, .13), rgba(255, 255, 255, .035)), rgba(10, 11, 17, .5);--glassLine: rgba(255, 255, 255, .13);--rim: rgba(255, 255, 255, .4);--glassShadow: 0 16px 38px rgba(0, 0, 0, .42);--solidCard: #14151c;--sheetFill: rgba(8, 9, 14, .66);--sceneShadow: 0 1px 16px rgba(0, 0, 0, .55);--well: rgba(255, 255, 255, .07);--card: rgba(255, 255, 255, .09);--card2: rgba(255, 255, 255, .16);--line: rgba(255, 255, 255, .13);--ink: #f5f6f8;--soft: rgba(235, 237, 245, .66);--accent: #ffffff;--onAccent: #0b0c10;--haloRgb: 255, 255, 255;--lens: radial-gradient(circle at 32% 24%, rgba(255, 255, 255, .2), rgba(255, 255, 255, .03) 60%, rgba(255, 255, 255, .08));--signal: #34d880;--signalRgb: 52, 216, 128;--signalGlow: rgba(52, 216, 128, .5);--beacon: #ffb020;--bad: #ff5c49;--danger: #ff9584;--okBg: rgba(52, 216, 128, .15);--okLine: rgba(52, 216, 128, .36);--okInk: #9df0c4;--warnBg: rgba(255, 176, 32, .14);--warnLine: rgba(255, 176, 32, .36);--warnInk: #ffd88a;--badBg: rgba(255, 92, 73, .15);--badLine: rgba(255, 92, 73, .4);--badInk: #ffc4ba;--tintBg: rgba(255, 255, 255, .15);--tintLine: rgba(255, 255, 255, .5);--tintInk: #ffffff;--toastBg: rgba(16, 17, 24, .82);--toastInk: #f5f6f8;--lift: 0 18px 34px rgba(0, 0, 0, .5);--chipFill: linear-gradient(180deg, #24262f, #191a21);--chipLine: rgba(255, 255, 255, .09);--chipLift: inset 0 1px 0 rgba(255, 255, 255, .12), 0 1px 2px rgba(0, 0, 0, .5), 0 4px 10px rgba(0, 0, 0, .5);--chipPressed: #0d0e13;--chipIn: inset 0 2px 6px rgba(0, 0, 0, .75), inset 0 -1px 0 rgba(255, 255, 255, .07);color-scheme:dark}:root[data-theme=light]{--bg: #f1f2f5;--light1: #7da2ff;--light2: #a596ff;--light3: #ffab85;--seam: rgba(255, 255, 255, .95);--glow: .78;--glassFill: linear-gradient(150deg, rgba(255, 255, 255, .82), rgba(255, 255, 255, .52));--glassLine: rgba(255, 255, 255, .85);--rim: rgba(255, 255, 255, .98);--glassShadow: 0 16px 38px rgba(30, 35, 60, .12);--solidCard: #ffffff;--sheetFill: rgba(244, 245, 248, .72);--sceneShadow: 0 1px 14px rgba(255, 255, 255, .8);--well: rgba(11, 12, 16, .045);--card: rgba(255, 255, 255, .6);--card2: rgba(11, 12, 16, .09);--line: rgba(11, 12, 16, .1);--ink: #0b0c10;--soft: #5c5f6a;--accent: #0b0c10;--onAccent: #ffffff;--haloRgb: 11, 12, 16;--lens: radial-gradient(circle at 32% 24%, rgba(255, 255, 255, .95), rgba(255, 255, 255, .45) 60%, rgba(255, 255, 255, .7));--signal: #12a257;--signalRgb: 18, 162, 87;--signalGlow: rgba(18, 162, 87, .34);--beacon: #e08900;--bad: #d8402c;--danger: #bb3520;--okBg: rgba(18, 162, 87, .11);--okLine: rgba(18, 162, 87, .34);--okInk: #0c6c3a;--warnBg: rgba(224, 137, 0, .12);--warnLine: rgba(224, 137, 0, .38);--warnInk: #6e4703;--badBg: rgba(216, 64, 44, .1);--badLine: rgba(216, 64, 44, .34);--badInk: #942715;--tintBg: rgba(11, 12, 16, .07);--tintLine: rgba(11, 12, 16, .55);--tintInk: #0b0c10;--toastBg: rgba(11, 12, 16, .86);--toastInk: #ffffff;--lift: 0 16px 30px rgba(30, 35, 60, .16);--chipFill: linear-gradient(180deg, #ffffff, #f4f4f6);--chipLine: rgba(11, 12, 16, .06);--chipLift: inset 0 1px 0 #ffffff, 0 1px 2px rgba(20, 22, 30, .08), 0 4px 10px rgba(20, 22, 30, .11);--chipPressed: #e4e5e9;--chipIn: inset 0 2px 5px rgba(20, 22, 30, .16), inset 0 -1px 0 rgba(255, 255, 255, .85);color-scheme:light}:root{--blur: blur(22px) saturate(170%);--blurHeavy: blur(34px) saturate(160%);--ok: var(--signal);--font: "Outfit Variable", "Readex Pro Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}html.lite,html.lite[data-theme]{--blur: none;--blurHeavy: none;--glassFill: var(--solidCard);--sheetFill: var(--solidCard)}@media (prefers-reduced-transparency: reduce){:root,:root[data-theme]{--blur: none;--blurHeavy: none;--glassFill: var(--solidCard);--sheetFill: var(--solidCard)}}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){:root,:root[data-theme]{--glassFill: var(--solidCard);--sheetFill: var(--solidCard)}}html.themeSwitch,html.themeSwitch *,html.themeSwitch *:before,html.themeSwitch *:after{transition:background-color .45s ease,border-color .45s ease,color .45s ease,fill .45s ease,stroke .45s ease,box-shadow .45s ease,opacity .45s ease!important}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:15px;-webkit-font-smoothing:antialiased;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}.scene{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;overflow:hidden;background:var(--bg)}.sceneGlow,.sceneSeam{position:absolute;left:50%;top:-14%;height:128%;transition:transform 1.1s cubic-bezier(.2,.8,.2,1),opacity 1.1s ease;will-change:transform}.sceneGlow{width:220px;margin-left:-110px;border-radius:50%;opacity:var(--glow);background:linear-gradient(180deg,var(--light1) 6%,var(--light2) 60%,var(--light3) 97%);filter:blur(64px)}.sceneSeam{width:10px;margin-left:-5px;border-radius:10px;opacity:.7;background:linear-gradient(180deg,transparent 6%,var(--seam) 30%,var(--seam) 70%,transparent 94%);filter:blur(7px)}.gateOpen .sceneGlow{transform:scaleX(2.5);opacity:1}.gateOpen .sceneSeam{transform:scaleX(7);opacity:.9}button,input,select{font-family:inherit}h1,h2,h3{font-weight:600;letter-spacing:-.02em}:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.wrap,.authWrap{max-width:460px;margin:0 auto;padding:16px}.wrap{padding-bottom:40px}.authWrap{display:flex;min-height:92vh;align-items:center}@supports (height: 100dvh){.authWrap{min-height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))}}.bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0 22px}.bar h1{font-size:23px;margin:0;letter-spacing:-.03em;line-height:1.1}.bar h1:has(.wordmark){line-height:0}.bar>div{min-width:0}.sub{font-size:13px;color:var(--soft)}.barActions{display:flex;gap:8px;flex:none}.mark{display:block;flex:none;overflow:visible;margin-inline:auto}.mark path{fill:none;stroke:currentColor;stroke-width:14;transition:transform .9s cubic-bezier(.2,.9,.25,1.12)}.markL{transform:translate(-1.5px)}.markR{transform:translate(1.5px)}.mark.isOpen .markL{transform:translate(-6px)}.mark.isOpen .markR{transform:translate(6px)}.wordmark{display:block;overflow:visible}.wordmark path,.wordmark circle{fill:none;stroke:currentColor;stroke-width:8}.brand{display:flex;flex-direction:column;gap:3px;min-width:0}.brand h1{line-height:0}.brand .sub{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-shadow:var(--sceneShadow)}.card,.glass{position:relative;border:1px solid var(--glassLine);box-shadow:var(--glassShadow)}.card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;border-radius:inherit;pointer-events:none;background:var(--glassFill);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur)}.card:after,.glass:after{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:inherit;pointer-events:none;padding:1px;background:linear-gradient(125deg,var(--rim),transparent 30%,transparent 72%,rgba(255,255,255,.22));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}.glass{background:var(--glassFill);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur)}.icon{background:var(--glassFill);border:1px solid var(--glassLine);color:var(--ink);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border-radius:50%;width:44px;height:44px;padding:0;cursor:pointer;display:inline-grid;place-items:center;transition:transform .1s;box-shadow:inset 0 1px 0 var(--rim),0 6px 16px #00000024}.icon:active{transform:scale(.94)}.themeIcon{display:inline-grid;animation:themeIn .5s cubic-bezier(.2,.9,.3,1.25) both}.auth>.themeToggle{position:absolute;top:14px;right:14px}.card{border-radius:30px;padding:18px;margin-bottom:14px;background:transparent}.card h2{margin:0 0 6px;font-size:20px;letter-spacing:-.02em}.auth{width:100%;text-align:center;padding:34px 22px 22px}.auth h1{margin:22px 0 6px;font-size:26px;letter-spacing:-.03em}.auth h1 .wordmark{margin-inline:auto}.auth>.hint{justify-content:center}.auth .open{margin-top:18px}.social{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;margin-top:10px;border-radius:99px;padding:14px;font-size:15.5px;font-weight:500;cursor:pointer}.social:disabled{opacity:.45;cursor:default}.social svg{width:19px;height:19px;flex:none}.social.google{background:#131314;color:#e3e3e3;border:1px solid #8e918f}.social.google:active{background:#1f1f20}.social.apple{background:#fff;color:#000;border:1px solid #fff}.social.apple:active{background:#e6e6e6}[data-theme=light] .social.google{background:#fff;color:#1f1f1f;border-color:#747775}[data-theme=light] .social.google:active{background:#f2f2f2}[data-theme=light] .social.apple{background:#000;color:#fff;border-color:#000}[data-theme=light] .social.apple:active{background:#333}.orline{display:flex;align-items:center;gap:10px;margin:18px 0 2px;font-size:12.5px;color:var(--soft)}.orline:before,.orline:after{content:"";flex:1;border-top:1px solid var(--line)}.cardTop{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:4px}.cardTop>div:first-child{min-width:0}.cardTop h2{overflow-wrap:anywhere}.pill{display:inline-flex;align-items:center;gap:6px;font-size:13px;padding:3px 10px;border-radius:99px;border:1px solid var(--line);color:var(--soft)}.pill.on{color:var(--okInk);border-color:var(--okLine);background:var(--okBg)}.pill.on:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--signal);animation:beat 2.4s ease-in-out infinite}.pill.on svg{display:none}.pill.off{color:var(--warnInk);border-color:var(--warnLine);background:var(--warnBg)}.pill.wait{color:var(--ink);border-color:var(--line);background:var(--well)}.open{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;background:var(--accent);color:var(--onAccent);border:0;border-radius:99px;padding:16px;font-size:16.5px;font-weight:600;letter-spacing:-.01em;cursor:pointer;box-shadow:0 10px 24px #0003;transition:transform .1s ease,opacity .2s}.open:active:not(:disabled){transform:scale(.98)}.open:disabled{opacity:.38;cursor:default;box-shadow:none}.ghost{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:9px;background:transparent;color:var(--ink);border:1px solid var(--line);border-radius:99px;padding:11px 14px;font-size:14.5px;cursor:pointer;transition:background .2s,color .2s,border-color .2s}.ghost>svg{opacity:.7}.ghost:active:not(:disabled){background:var(--card2)}.ghost:disabled{opacity:.4;cursor:default}.add{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:10px;color:var(--ink);cursor:pointer;background:var(--glassFill);border:1px solid var(--glassLine);border-radius:24px;padding:15px;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:inset 0 1px 0 var(--rim),var(--glassShadow);font-size:15px;transition:transform .1s}.add:active{transform:scale(.98)}label{display:block;font-size:13px;color:var(--soft);margin:12px 0 5px;text-align:start}input{width:100%;background:var(--well);border:1.5px solid var(--line);border-radius:16px;padding:13px 14px;color:var(--ink);font-size:16px;font-family:inherit;outline:none;transition:border-color .2s,box-shadow .2s}input::placeholder{color:var(--soft);opacity:.8}input:focus{border-color:var(--ink);box-shadow:0 0 0 4px rgba(var(--haloRgb),.12)}input[type=checkbox]{accent-color:var(--accent)}.hint{font-size:13px;color:var(--soft);line-height:1.55;margin:10px 0 0;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.linkish{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;min-height:44px;margin-top:14px;padding:6px;background:transparent;border:0;font-size:13px;color:var(--soft);cursor:pointer}.linkish:active{opacity:.6}.linkish:disabled{opacity:.45;cursor:default}.danger{color:var(--danger)}.ghost.danger{border-color:var(--badLine);color:var(--danger)}.ghost.danger.solid{background:var(--bad);border-color:var(--bad);color:#fff}.confirm{margin-top:14px;padding:12px;border:1px solid var(--badLine);border-radius:18px;background:var(--badBg);font-size:13.5px;line-height:1.55;color:var(--ink);animation:fadeUp .25s ease backwards}.confirm p{margin:0}.confirmRow{display:flex;gap:8px}.confirmRow .ghost{flex:1}.warn{font-size:13.5px;line-height:1.6;color:var(--warnInk);background:var(--warnBg);border:1px solid var(--warnLine);border-radius:18px;padding:12px 14px}.status{margin-top:10px;padding:12px 14px;border-radius:18px;border:1px solid var(--line);background:var(--well);font-size:14px;line-height:1.5;color:var(--ink);animation:fadeUp .3s ease backwards}.status.ok{border-color:var(--okLine);background:var(--okBg)}.status.bad{border-color:var(--badLine);background:var(--badBg)}.status .head{display:flex;align-items:center;gap:8px;font-weight:600}.status .head .pct{margin-inline-start:auto;font-variant-numeric:tabular-nums;color:var(--soft);font-weight:500}.status .sub2{display:block;margin-top:4px;font-size:14px;color:var(--soft)}.status .x{flex:none;width:44px;height:44px;margin:-12px -12px -12px auto;display:grid;place-items:center;border:0;background:none;color:inherit;border-radius:50%;cursor:pointer}.status.bad .sub2{color:var(--badInk)}.progress{margin-top:9px;height:7px;border-radius:99px;background:var(--well);overflow:hidden}.progressFill{height:100%;border-radius:99px;transition:width .5s linear}.progressFill.go{background:var(--ink)}.progressFill.ok{background:var(--signal)}.progressFill.slow{background:var(--beacon)}.steps{display:flex;gap:6px;margin-top:9px;font-size:12.5px;color:var(--soft);flex-wrap:wrap}.steps span{padding:2px 8px;border-radius:99px;border:1px solid var(--line)}.steps span.done{color:var(--okInk);border-color:var(--okLine)}.steps span.now{color:var(--ink);border-color:var(--tintLine)}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty{text-align:center;color:var(--soft);padding:44px 16px 30px;text-shadow:var(--sceneShadow)}.empty .mark{color:var(--ink)}.empty p{margin:20px 0 4px;color:var(--ink);font-size:19px;font-weight:600;letter-spacing:-.02em}.empty span{font-size:14px}.splash{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:var(--ink)}.splash .mark{margin:0;animation:breathe 1.8s ease-in-out infinite}.splash .wordmark{position:absolute;left:50%;top:calc(50% + 76px);transform:translate(-50%)}.toast{position:fixed;left:50%;transform:translate(-50%);bottom:calc(20px + env(safe-area-inset-bottom,0px));background:var(--toastBg);border:1px solid var(--glassLine);color:var(--toastInk);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);padding:12px 18px;border-radius:22px;font-size:14px;max-width:92vw;text-align:center;z-index:50;box-shadow:0 12px 30px #0000004d;animation:toastIn .3s cubic-bezier(.2,.9,.3,1.2) both}.toast.ok{border-color:var(--signal)}.toast.bad{border-color:var(--bad)}.seg{display:flex;flex-wrap:wrap;gap:6px}.seg button{flex:1 1 auto;background:var(--well);color:var(--soft);border:1px solid var(--line);border-radius:99px;padding:9px 10px;font-size:13.5px;cursor:pointer;transition:background .2s,color .2s,border-color .2s}.seg button.on{color:var(--onAccent);border-color:var(--accent);background:var(--accent);font-weight:600}.qrBox{background:#fff;border-radius:20px;padding:12px;border:1px solid var(--line);margin:14px auto 0;width:100%;max-width:340px}.sheet{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;overflow-y:auto;background:var(--sheetFill);-webkit-backdrop-filter:var(--blurHeavy);backdrop-filter:var(--blurHeavy);padding:calc(8px + env(safe-area-inset-top,0px)) 16px calc(24px + env(safe-area-inset-bottom,0px));animation:sheetIn .3s cubic-bezier(.2,.8,.2,1) both}.sheetInner{max-width:460px;margin:0 auto}.mono{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12.5px;word-break:break-all;line-height:1.5;margin:6px 0 0;background:var(--well);border:1px solid var(--line);border-radius:14px;padding:10px}.selfie{display:block;width:100%;max-width:270px;aspect-ratio:3 / 4;object-fit:cover;margin:14px auto 0;border-radius:20px;border:1px solid var(--line)}.pick{width:100%;display:flex;align-items:flex-start;gap:12px;text-align:start;margin-top:10px;padding:14px;background:var(--well);color:var(--ink);border:1px solid var(--line);border-radius:20px;cursor:pointer;font-size:15px;transition:border-color .2s,transform .1s}.pick:active{border-color:var(--ink);transform:scale(.99)}.pick>svg{flex:none;margin-top:1px}.pick strong{display:block;font-size:16px;font-weight:600}.pick span span{display:block;margin-top:3px;font-size:13px;line-height:1.5;color:var(--soft)}.hiddenFile{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;overflow:hidden}.card.device{padding:20px 18px 16px;animation:rise .55s cubic-bezier(.2,.8,.2,1) backwards;animation-delay:calc(var(--i, 0) * 70ms)}.card.device h2{font-size:22px}.isHidden{display:none!important}.bleZone{text-align:center}.bleZone .ghost{width:auto;display:inline-flex;min-height:44px;margin:4px auto 0;padding:0 20px;font-size:15px;background:var(--card);box-shadow:inset 0 1px 0 var(--rim)}.bleZone .hint{justify-content:center;text-align:center;max-width:34em;margin:8px auto 0}.tools{margin-top:18px;border-top:1px solid var(--line)}.tools>.ghost{margin:0;border:0;border-radius:0;border-bottom:1px solid var(--line);justify-content:flex-start;padding:15px 4px;gap:12px;background:transparent;font-size:15px}.tools>.ghost>svg:first-child{flex:none}.tools>.ghost:after{content:"";margin-inline-start:auto;width:7px;height:7px;flex:none;border-right:1.6px solid var(--soft);border-bottom:1.6px solid var(--soft);transform:rotate(-45deg);transition:transform .25s ease}.tools>.ghost:has(+div):after,.tools>.ghost[aria-expanded=true]:after{transform:rotate(45deg)}.tools>div{padding-bottom:14px;border-bottom:1px solid var(--line);animation:fadeIn .25s ease backwards}.tools>div[style]{border-top:0!important;margin-top:0!important}.tools>.hint{margin:0!important;padding:12px 4px;border-bottom:1px solid var(--line)}.moreRow{margin-top:14px}.moreRow>.ghost:not([aria-expanded=true]){border-bottom:0}.moreLabel{display:grid;gap:2px;text-align:start;min-width:0}.moreFlag{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--warnInk)}.moreFlag:before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:var(--beacon)}.more{animation:fadeIn .25s ease backwards}.more>.tools{margin-top:16px}.placeRow{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 4px 0;font-size:15px}.placeRow .placePick{margin:0;max-width:62%}.scanTile{position:relative;flex:none;width:46px;height:46px;border-radius:16px;display:grid;place-items:center;color:var(--soft);background:var(--well);border:1px solid var(--line);overflow:hidden}.scanTile.live{color:var(--signal);border-color:var(--okLine)}.scanTile.live:after{content:"";position:absolute;left:6px;right:6px;height:2px;top:8px;border-radius:2px;background:var(--signal);box-shadow:0 0 8px var(--signal);animation:scan 2.2s ease-in-out infinite}.endActions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.endActions>.add{flex:1 1 0;min-width:0;margin:0;flex-direction:column;gap:8px;padding:18px 10px;font-size:14px;text-align:center}.endActions>.card{flex:1 1 100%;margin:0}.endActions.quiet>.add{flex-direction:row;min-height:44px;padding:0 8px;font-size:14px;color:var(--soft);background:none;border:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;text-shadow:var(--sceneShadow)}.endActions.quiet>.add svg{width:15px;height:15px}.account{margin-top:18px;text-align:center;text-shadow:var(--sceneShadow)}.account .sub{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account .linkish{width:auto;margin:0 auto;padding-inline:12px}.confirm.plain{border-color:var(--line);background:var(--well);text-align:start;text-shadow:none}.account .confirm,.auth .confirm{text-align:start;text-shadow:none}.confirm p+p{margin-top:6px}.legal{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 16px;margin:10px 0 0;font-size:12px;line-height:1.5;color:var(--soft)}.legal a{color:inherit;text-decoration:underline;text-underline-offset:3px}.legal.agree{display:block;margin-top:16px;text-align:center}.stage{margin:0}.dial{position:relative;width:var(--dial, 204px);height:var(--dial, 204px);margin:18px auto 8px;display:grid;place-items:center}.card.device.solo{--dial: min(64vw, 248px)}.solo .stage{margin-top:clamp(12px,calc((100vh - 640px)*.6),170px)}@supports (height: 100dvh){.solo .stage{margin-top:clamp(12px,calc((100dvh - 640px)*.6),170px)}}.dialBtn{position:relative;width:100%;height:100%;border-radius:50%;border:0;padding:0;background:none;color:var(--ink);cursor:pointer;display:grid;place-items:center;-webkit-tap-highlight-color:transparent;transition:transform .14s ease}.dialBtn:before{content:"";position:absolute;top:13%;right:13%;bottom:13%;left:13%;border-radius:50%;background:var(--lens);box-shadow:inset 0 1px 1px var(--rim),inset 0 -10px 22px rgba(var(--haloRgb),.05),var(--lift)}.dialBtn:after{content:"";position:absolute;top:13%;right:13%;bottom:13%;left:13%;border-radius:50%;opacity:0;background:radial-gradient(circle,var(--signalGlow),transparent 74%);transition:opacity .5s ease}.dialBtn:active:not(:disabled){transform:scale(.955)}.dialBtn:focus-visible{outline:2px solid var(--ink);outline-offset:6px}.dialBtn:disabled{cursor:default}.dialO{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible;pointer-events:none}.dialText{position:relative;z-index:1;display:grid;justify-items:center;gap:2px}.dialWord{font-size:24px;font-weight:600;letter-spacing:-.02em;transition:color .4s,opacity .4s}.solo .dialWord{font-size:26px}.dialSub{display:inline-flex;align-items:center;gap:4px;font-size:13px;font-weight:500;color:var(--soft)}.dialNote{min-height:40px;max-width:30em;margin:0 auto 6px;padding:0 4px;display:flex;align-items:center;justify-content:center;text-align:center;font-size:14px;line-height:20px;color:var(--soft);font-variant-numeric:tabular-nums}.dialNote.ok{color:var(--okInk)}.dialNote.warn{color:var(--warnInk)}.oHalf{fill:none;stroke:var(--ink);stroke-width:16;transition:transform .85s cubic-bezier(.2,.9,.25,1.14),stroke .4s ease,opacity .4s ease}.oL{transform:translate(-1.4px)}.oR{transform:translate(1.4px)}.is-ok .oL{transform:translate(-12px)}.is-ok .oR{transform:translate(12px)}.is-ok .oHalf{stroke:var(--signal)}.is-ok .dialBtn:after{opacity:1}.is-fail .oHalf{animation:failRing 3s ease both}.is-fail .dialBtn{animation:shake .45s ease both}.is-offline .oHalf,.is-nonet .oHalf,.is-joining .oHalf{opacity:.22}.is-offline .dialWord,.is-nonet .dialWord,.is-joining .dialWord{color:var(--soft)}.is-nonet .dialWord{font-size:20px}.is-checking .oHalf{opacity:.45}.is-checking .dialWord{color:var(--soft)}.is-sending .oHalf,.is-waiting .oHalf{opacity:.3}.ringFill{fill:none;stroke:var(--beacon);stroke-width:16;opacity:0;transition:opacity .25s ease,stroke-dashoffset 0s linear .25s}.is-waiting .ringFill{opacity:1;transition:opacity .25s ease,stroke-dashoffset 1s linear}.ringSweep{fill:none;stroke:var(--beacon);stroke-width:16;stroke-linecap:round;opacity:0;transform-box:view-box;transform-origin:100px 100px;transition:opacity .3s}.is-sending .ringSweep,.is-joining .ringSweep{opacity:1;animation:spin 1.1s linear infinite}.dialHalo{position:absolute;top:4%;right:4%;bottom:4%;left:4%;border-radius:50%;pointer-events:none;opacity:0}.is-idle .dialHalo,.is-ble .dialHalo{animation:halo 3s ease-out infinite}.dialBurst{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;display:grid;place-items:center}.dialBurst i{position:absolute;width:92%;height:92%;border-radius:50%;border:2px solid var(--signal);opacity:0;animation:burst 1.1s ease-out forwards}.cluster{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:16px}.gauge{background:var(--well);border:1px solid var(--line);border-radius:20px;padding:10px 4px 9px;text-align:center;min-width:0}.gauge svg{display:block;width:80px;height:45px;margin:0 auto;overflow:visible}.gaugeTrack{fill:none;stroke:var(--line);stroke-width:5;stroke-linecap:round}.gaugeFill{fill:none;stroke-width:5;stroke-linecap:round;animation:gaugeIn 1.2s cubic-bezier(.2,.8,.2,1) backwards;transition:stroke-dashoffset .9s ease}.gauge.good .gaugeFill{stroke:var(--signal)}.gauge.fair .gaugeFill{stroke:var(--beacon)}.gauge.poor .gaugeFill{stroke:var(--bad)}.gauge strong{display:block;margin-top:-14px;font-size:16px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gauge small{font-size:10.5px;color:var(--soft);font-weight:400;margin-inline-start:2px}.gauge>span{display:block;margin-top:2px;font-size:11.5px;color:var(--soft)}.placeBar{display:flex;align-items:center;gap:8px;overflow-x:auto;scrollbar-width:none;margin:-4px -16px 0;padding:6px 16px 14px}.placeBar::-webkit-scrollbar{display:none}.chip{flex:none;display:inline-flex;align-items:center;gap:7px;white-space:nowrap;min-height:44px;padding:0 19px;border-radius:99px;border:1px solid var(--chipLine);background:var(--chipFill);color:var(--ink);font-size:15px;font-weight:500;cursor:pointer;box-shadow:var(--chipLift);transition:background .22s ease,box-shadow .22s ease,color .22s ease,border-color .22s ease}.chip:active,.chip.on{background:var(--chipPressed);border-color:transparent;box-shadow:var(--chipIn)}.chip.newPlace{background:transparent;border:1px dashed var(--line);box-shadow:none;color:var(--soft)}.chip.newPlace:active{background:var(--well);box-shadow:none}.placeForm{flex:none;display:flex;align-items:center;gap:10px}.placeForm input{width:168px;padding:8px 13px;border-radius:99px;font-size:16px}.iconSm{position:relative;flex:none;display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:var(--card);color:var(--soft);cursor:pointer}.iconSm:after{content:"";position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px}.iconSm:disabled{opacity:.4;cursor:default}.clusterHead{margin:22px 2px 10px;animation:fadeUp .4s ease backwards;text-shadow:var(--sceneShadow)}.clusterHead .placeForm input,.clusterHead .placeForm{width:100%}.clusterHead>.linkish{width:auto;margin:4px 0 0}.clusterTitle{display:flex;align-items:center;gap:8px;color:var(--soft);min-width:0}.clusterTitle h3{margin:0;font-size:18px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.clusterTitle .sub{margin-inline-start:auto;white-space:nowrap}.clusterTitle .iconSm{width:30px;height:30px;border-color:transparent;background:var(--card)}.clusterTitle .iconSm:after{top:-7px;right:-7px;bottom:-7px;left:-7px}.clusterHead+.hint{text-shadow:var(--sceneShadow)}.placePick{position:relative;flex:none;display:inline-flex;align-items:center;gap:5px;max-width:48%;min-height:36px;margin:2px 0 0;padding:6px 12px;border-radius:99px;border:1px dashed var(--line);color:var(--soft);font-size:13px;cursor:pointer;background:var(--well)}.placePick span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.placePick.set{border-style:solid;color:var(--ink)}.placePick select{position:absolute;top:-4px;right:0;bottom:-4px;left:0;width:100%;height:calc(100% + 8px);opacity:0;cursor:pointer;font-size:16px}.placePick select:disabled{cursor:default}.placePick.making{max-width:62%;padding:0;border:0;background:none}.placePick.making input{width:100%;min-width:0}.placePick.making .placeForm{width:100%}html{-webkit-tap-highlight-color:transparent}button,.chip,.pill,.placePick,.dial,h1,h2,h3{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}button{touch-action:manipulation}input,textarea,.mono,pre,#bootErr{-webkit-user-select:text;user-select:text}html.native body{overscroll-behavior-y:none}html.native .sheet{overscroll-behavior:contain}html.native body:before{content:"";position:fixed;top:0;left:0;right:0;height:env(safe-area-inset-top,0px);z-index:45;background:var(--sheetFill);-webkit-backdrop-filter:var(--blurHeavy);backdrop-filter:var(--blurHeavy)}@keyframes rise{0%{top:18px}}@keyframes fadeIn{0%{opacity:0}}@keyframes fadeUp{0%{opacity:0;transform:translateY(6px)}}@keyframes sheetIn{0%{opacity:0}}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,14px)}}@keyframes themeIn{0%{opacity:0;transform:rotate(-90deg) scale(.5)}}@keyframes beat{0%,to{box-shadow:0 0 rgba(var(--signalRgb),.55)}60%{box-shadow:0 0 0 5px rgba(var(--signalRgb),0)}}@keyframes breathe{50%{transform:scale(1.06)}}@keyframes halo{0%{opacity:1;box-shadow:0 0 rgba(var(--haloRgb),.3)}70%{opacity:1;box-shadow:0 0 0 24px rgba(var(--haloRgb),0)}to{opacity:0}}@keyframes shake{20%{transform:translate(-7px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(2px)}}@keyframes burst{0%{opacity:.8;transform:scale(1)}to{opacity:0;transform:scale(1.35)}}@keyframes failRing{0%,80%{stroke:var(--bad)}to{stroke:var(--ink)}}@keyframes gaugeIn{0%{stroke-dashoffset:81.68px}}@keyframes scan{0%,to{top:8px}50%{top:36px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
