:root{--brand: #e3262c;--brand-dark: #b51d22;--brand-soft: #fdeaea;--accent: #f6c343;--ok: #0f9d58;--ok-soft: #e6f6ee;--bad: #d93025;--bad-soft: #fdecea;--warn: #b26a00;--warn-soft: #fff4e0;--ink: #1d1b22;--ink-2: #5c5866;--ink-3: #8d8999;--line: #ebe8f0;--bg: #f4f2f8;--card: #ffffff;--radius: 16px;--nav-h: 68px;--safe-b: env(safe-area-inset-bottom, 0px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{margin:0;height:100%}body{font-family:Noto Sans,Noto Sans Devanagari,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--ink);font-size:15px;line-height:1.4;overscroll-behavior-y:none}button{font:inherit;color:inherit;border:0;background:none;padding:0;cursor:pointer}input{font:inherit;color:inherit}.app{max-width:480px;margin:0 auto;min-height:100%;position:relative;background:var(--bg)}.topbar{position:sticky;top:0;z-index:20;background:var(--brand);color:#fff;padding:calc(env(safe-area-inset-top,0px) + 12px) 16px 12px;display:flex;align-items:center;gap:12px}.topbar h1{font-size:18px;margin:0;font-weight:700;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar .back{font-size:15px;font-weight:600;padding:6px 10px 6px 0}.topbar .sub{font-size:12px;opacity:.8}.avatar{width:38px;height:38px;border-radius:50%;background:#fff;color:var(--brand);display:grid;place-items:center;font-weight:800;font-size:15px;flex:none}.langpill{display:flex;background:#ffffff29;border-radius:999px;padding:3px;flex:none}.langpill button{padding:5px 10px;border-radius:999px;font-size:13px;font-weight:600;color:#fff}.langpill button.on{background:#fff;color:var(--brand)}.langpill.light{background:var(--brand-soft)}.langpill.light button{color:var(--brand)}.langpill.light button.on{background:var(--brand);color:#fff}.voicebtn{font-size:12px;font-weight:700;padding:6px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.5);color:#fff;flex:none}.voicebtn.off{opacity:.6}.page{padding:14px 14px calc(var(--safe-b) + 24px)}.page.plain{padding-bottom:calc(var(--safe-b) + 24px)}.hero{background:var(--brand);color:#fff;padding:4px 16px 56px}.hero .label{font-size:13px;opacity:.85}.hero .big{font-size:36px;font-weight:800;letter-spacing:-.5px}.hero .worth{font-size:14px;opacity:.9}.hero-row{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.pillbtn{background:#fff;color:var(--brand);font-weight:700;padding:10px 16px;border-radius:999px;font-size:14px;white-space:nowrap}.card{background:var(--card);border-radius:var(--radius);padding:16px;box-shadow:0 1px 2px #1e0a3c0f}.card+.card{margin-top:12px}.lift{margin-top:-40px}.card h2{font-size:15px;margin:0 0 12px;font-weight:700}.row{display:flex;align-items:center;gap:12px}.between{justify-content:space-between}.muted{color:var(--ink-2)}.small{font-size:13px}.tiny{font-size:12px}.bold{font-weight:700}.center{text-align:center}.mt8{margin-top:8px}.mt12{margin-top:12px}.mt16{margin-top:16px}.mt24{margin-top:24px}.actions{display:grid;grid-template-columns:repeat(4,1fr);gap:16px 4px}.action{display:flex;flex-direction:column;align-items:center;gap:8px;padding:4px 0;font-size:13px;font-weight:600;color:var(--ink)}.glyph{width:52px;height:52px;border-radius:16px;background:var(--brand);color:#fff;display:grid;place-items:center;font-weight:800;font-size:20px;position:relative}.glyph.soft{background:var(--brand-soft);color:var(--brand)}.mk-qr{width:24px;height:24px;position:relative;display:inline-block}.mk-qr i{position:absolute;width:9px;height:9px;border:2.5px solid currentColor;border-radius:2px}.mk-qr i:nth-child(1){top:0;left:0}.mk-qr i:nth-child(2){top:0;right:0}.mk-qr i:nth-child(3){bottom:0;left:0}.mk-qr i:nth-child(4){bottom:1px;right:1px;width:6px;height:6px;border:0;background:currentColor}.mk-list{width:20px;height:16px;border-top:2.5px solid currentColor;border-bottom:2.5px solid currentColor;position:relative}.mk-list:after{content:"";position:absolute;left:0;right:0;top:4.5px;border-top:2.5px solid currentColor}.mk-check{width:12px;height:20px;border-right:3px solid currentColor;border-bottom:3px solid currentColor;transform:rotate(45deg) translate(-2px,-3px)}.notice{border-radius:12px;padding:12px 14px;font-size:13.5px;display:flex;gap:12px;align-items:center}.notice.info{background:var(--brand-soft);color:var(--brand-dark)}.notice.warn{background:var(--warn-soft);color:#6b4300}.notice.bad{background:var(--bad-soft);color:#8a1c14}.notice.ok{background:var(--ok-soft);color:#0b5e36}.notice .grow{flex:1}.notice b{display:block;font-size:14px}.list{margin:0 -16px}.item{display:flex;align-items:center;gap:12px;padding:12px 16px;border-top:1px solid var(--line)}.item:first-child{border-top:0}.item .grow{flex:1;min-width:0}.item .t1{font-weight:600;font-size:14.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item .t2{font-size:12.5px;color:var(--ink-3);margin-top:2px}.amt{font-weight:700;font-size:15px;white-space:nowrap;text-align:right}.amt.plus{color:var(--ok)}.amt.minus{color:var(--ink)}.dot{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:800;flex:none}.dot.d-scan{background:var(--ok-soft);color:var(--ok)}.dot.d-red{background:var(--brand-soft);color:var(--brand)}.dot.d-fail{background:var(--bad-soft);color:var(--bad)}.tag{display:inline-block;font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;margin-top:4px}.tag.ok{background:var(--ok-soft);color:var(--ok)}.tag.pending{background:var(--warn-soft);color:var(--warn)}.tag.bad{background:var(--bad-soft);color:var(--bad)}.tabs{display:flex;background:var(--card);border-radius:12px;padding:4px;gap:4px}.tabs button{flex:1;padding:9px 4px;border-radius:9px;font-weight:600;font-size:14px;color:var(--ink-2)}.tabs button.on{background:var(--brand);color:#fff}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.stat{background:var(--card);border-radius:12px;padding:12px}.stat .v{font-size:18px;font-weight:800}.stat .k{font-size:12px;color:var(--ink-3)}.field{display:block;margin-top:14px}.field>span{display:block;font-size:13px;color:var(--ink-2);margin-bottom:6px;font-weight:600}.input{width:100%;border:1.5px solid var(--line);border-radius:12px;padding:14px;font-size:17px;background:#fff;outline:none}.input:focus{border-color:var(--brand)}.input.big{font-size:26px;font-weight:700;letter-spacing:1px;text-align:center}.input.mono{font-family:ui-monospace,Menlo,monospace;letter-spacing:1px}.err{color:var(--bad);font-size:13px;margin-top:6px}.prefix{display:flex;align-items:center;border:1.5px solid var(--line);border-radius:12px;background:#fff}.prefix:focus-within{border-color:var(--brand)}.prefix span{padding:0 4px 0 14px;font-size:17px;color:var(--ink-2);font-weight:600}.prefix input{border:0;outline:none;padding:14px 14px 14px 6px;font-size:18px;flex:1;min-width:0;background:transparent;letter-spacing:1px}.btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;background:var(--brand);color:#fff;font-weight:700;font-size:16px;padding:15px;border-radius:12px}.btn:disabled{opacity:.45}.btn.ghost{background:var(--brand-soft);color:var(--brand)}.btn.line{background:#fff;color:var(--brand);border:1.5px solid var(--brand)}.btn.okc{background:var(--ok)}.btn+.btn{margin-top:10px}.link{color:var(--brand);font-weight:700;font-size:14px}.chips{display:flex;gap:8px;flex-wrap:wrap}.chip{border:1.5px solid var(--line);background:#fff;border-radius:999px;padding:8px 14px;font-weight:600;font-size:14px}.chip.on{border-color:var(--brand);color:var(--brand);background:var(--brand-soft)}.steps{display:flex;gap:6px;margin-bottom:14px}.steps i{flex:1;height:4px;border-radius:4px;background:var(--line)}.steps i.on{background:var(--brand)}.kv{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--line);font-size:14px}.kv:first-child{border-top:0}.kv span{color:var(--ink-2)}.kv b{text-align:right;word-break:break-all}.check{display:flex;gap:12px;align-items:flex-start;font-size:14px;padding:12px;border-radius:12px;background:var(--brand-soft)}.check input{width:22px;height:22px;accent-color:var(--brand);flex:none;margin:0}.photo-preview{width:100%;border-radius:12px;display:block;max-height:240px;object-fit:contain;background:#111}.nav{position:fixed;left:0;right:0;bottom:0;z-index:30;max-width:480px;margin:0 auto;background:#fff;border-top:1px solid var(--line);height:calc(var(--nav-h) + var(--safe-b));padding-bottom:var(--safe-b);display:grid;grid-template-columns:repeat(5,1fr);align-items:center}.nav a{text-decoration:none;color:var(--ink-3);font-size:12px;font-weight:600;display:flex;flex-direction:column;align-items:center;gap:4px}.nav a .bar{width:22px;height:3px;border-radius:3px;background:transparent}.nav a.on{color:var(--brand)}.nav a.on .bar{background:var(--brand)}.nav .fab{width:62px;height:62px;border-radius:50%;background:var(--brand);color:#fff;display:grid;place-items:center;margin-top:-30px;box-shadow:0 6px 16px #e3262c66;border:4px solid #fff}.nav a.fabwrap{color:var(--brand)}.sheet-bg{position:fixed;inset:0;background:#0f051e80;z-index:60;display:flex;align-items:flex-end;justify-content:center;animation:fade .15s ease-out}.sheet{color:var(--ink);background:#fff;width:100%;max-width:480px;border-radius:20px 20px 0 0;padding:10px 18px calc(var(--safe-b) + 18px);max-height:88vh;overflow:auto;animation:up .2s ease-out}.sheet .grip{width:40px;height:4px;border-radius:4px;background:var(--line);margin:0 auto 14px}.sheet h3{margin:0 0 6px;font-size:19px}@keyframes up{0%{transform:translateY(40px);opacity:0}to{transform:none;opacity:1}}@keyframes fade{0%{opacity:0}to{opacity:1}}.result-badge{width:76px;height:76px;border-radius:50%;display:grid;place-items:center;margin:6px auto 12px;color:#fff;font-size:30px;font-weight:800}.result-badge.ok{background:var(--ok)}.result-badge.bad{background:var(--bad)}.result-badge.warn{background:var(--warn)}.result-badge .mk-check{width:16px;height:30px;border-width:0 5px 5px 0}.toast{position:fixed;left:50%;transform:translate(-50%);top:calc(env(safe-area-inset-top,0px) + 12px);z-index:80;background:#1d1b22;color:#fff;padding:11px 16px;border-radius:12px;font-size:14px;max-width:92%;box-shadow:0 6px 18px #00000040;animation:fade .15s}.toast.bad{background:var(--bad)}.toast.ok{background:var(--ok)}.caption{position:fixed;left:12px;right:12px;bottom:calc(var(--safe-b) + 14px);z-index:70;max-width:456px;margin:0 auto;background:#1d1b22eb;color:#fff;border-radius:12px;padding:10px 14px;font-size:13.5px;display:flex;gap:10px;align-items:center;animation:fade .15s}.caption .wave{display:flex;gap:2px;align-items:center;height:16px;flex:none}.caption .wave i{width:3px;background:var(--accent);border-radius:2px;animation:wv .8s ease-in-out infinite}.caption .wave i:nth-child(2){animation-delay:.15s}.caption .wave i:nth-child(3){animation-delay:.3s}@keyframes wv{0%,to{height:4px}50%{height:16px}}.caption button{color:var(--accent);font-weight:700;font-size:12px;flex:none}.scan{position:fixed;inset:0;background:#000;color:#fff;z-index:40;display:flex;flex-direction:column}.scan video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.scan .top{position:relative;z-index:2;padding:calc(env(safe-area-inset-top,0px) + 12px) 14px 10px;background:linear-gradient(rgba(0,0,0,.65),transparent)}.scan .top .row{gap:10px}.scan .top h1{font-size:17px;margin:0;flex:1}.seg{display:flex;background:#ffffff29;border-radius:12px;padding:4px;margin-top:12px}.seg button{flex:1;padding:9px 4px;border-radius:9px;font-weight:700;font-size:14px;color:#fff}.seg button.on{background:#fff;color:var(--brand)}.elec-note{margin-top:10px;background:#f6c343f2;color:#2a1d00;border-radius:10px;padding:8px 12px;font-size:12.5px;font-weight:600}.frame-wrap{position:relative;z-index:1;flex:1;display:grid;place-items:center;pointer-events:none}.frame{width:min(66vw,270px,36vh);aspect-ratio:1;border-radius:22px;box-shadow:0 0 0 9999px #00000073;position:relative}.frame .c{position:absolute;width:34px;height:34px;border:0 solid #fff}.frame .c.tl{top:-3px;left:-3px;border-top-width:4px;border-left-width:4px;border-top-left-radius:22px}.frame .c.tr{top:-3px;right:-3px;border-top-width:4px;border-right-width:4px;border-top-right-radius:22px}.frame .c.bl{bottom:-3px;left:-3px;border-bottom-width:4px;border-left-width:4px;border-bottom-left-radius:22px}.frame .c.br{bottom:-3px;right:-3px;border-bottom-width:4px;border-right-width:4px;border-bottom-right-radius:22px}.frame .laser{position:absolute;left:8%;right:8%;height:2px;background:var(--accent);box-shadow:0 0 10px var(--accent);animation:laser 1.8s ease-in-out infinite}.frame.flash-ok{box-shadow:0 0 0 9999px #0f9d5859}.frame.flash-bad{box-shadow:0 0 0 9999px #d9302559}@keyframes laser{0%,to{top:10%}50%{top:88%}}.scan .hint{position:absolute;left:0;right:0;bottom:calc(100% + 18px);text-align:center;font-size:14px;font-weight:600;text-shadow:0 1px 3px #000}.scan .bottom{position:relative;z-index:2;padding:12px 14px calc(var(--safe-b) + 16px);background:linear-gradient(transparent,#000000bf 30%)}.scan .tools{display:flex;gap:10px;justify-content:center}.scan .tool{background:#ffffff2e;color:#fff;font-weight:700;font-size:14px;padding:11px 18px;border-radius:999px}.scan .tool.on{background:var(--accent);color:#2a1d00}.shutter{width:74px;height:74px;border-radius:50%;border:5px solid #fff;background:#ffffff4d;margin:0 auto;display:block}.shutter:active{background:#fff}.bulk-panel{background:#fff;color:var(--ink);border-radius:16px;padding:12px 14px;margin-bottom:12px;max-height:34vh;overflow:auto}.bulk-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.bulk-head .n{font-size:22px;font-weight:800;color:var(--brand)}.bulk-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-top:1px solid var(--line);font-size:13.5px}.bulk-row .code{font-family:ui-monospace,Menlo,monospace;font-weight:600;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.bulk-row .msg{font-size:12px;color:var(--ink-3)}.spinner{width:22px;height:22px;border-radius:50%;border:3px solid rgba(227,38,44,.2);border-top-color:var(--brand);animation:spin .8s linear infinite}.spinner.white{border-color:#ffffff4d;border-top-color:#fff}@keyframes spin{to{transform:rotate(360deg)}}.loading-block{display:flex;flex-direction:column;align-items:center;gap:12px;padding:32px 0;color:var(--ink-2)}.login-top{background:var(--brand);color:#fff;padding:calc(env(safe-area-inset-top,0px) + 18px) 20px 70px}.brand-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.brandmark{font-weight:800;font-size:20px;letter-spacing:.2px}.brandmark small{display:block;font-weight:500;font-size:12px;opacity:.8;letter-spacing:0}.login-top h2{font-size:26px;margin:34px 0 6px;line-height:1.2}.login-top p{margin:0;opacity:.85;font-size:14px}.otp-boxes{display:flex;gap:8px;justify-content:center}.otp-boxes input{width:46px;height:54px;text-align:center;font-size:22px;font-weight:700;border:1.5px solid var(--line);border-radius:12px;outline:none}.otp-boxes input:focus{border-color:var(--brand)}.scan-cta{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;background:var(--brand);color:#fff;font-weight:800;font-size:18px;padding:18px;border-radius:16px;box-shadow:0 6px 16px #e3262c4d;text-decoration:none}.choice{display:flex;align-items:center;gap:14px;width:100%;text-align:left;padding:16px;border:1.5px solid var(--line);border-radius:14px;background:#fff}.choice+.choice{margin-top:10px}.choice b{display:block;font-size:16px}.choice .glyph{width:46px;height:46px;font-size:17px;flex:none}.videopage{display:flex;flex-direction:column;height:100vh;height:100dvh;background:#0d0d0f}.reel-feed{flex:1;overflow-y:auto;scroll-snap-type:y mandatory;overscroll-behavior:contain}.reel{height:100%;scroll-snap-align:start;scroll-snap-stop:always;display:flex;flex-direction:column;justify-content:center;padding:10px 0 64px;color:#fff}.reel-player{position:relative;width:100%;aspect-ratio:16 / 9;background:#000}.reel-player.vertical{aspect-ratio:9 / 16;max-height:calc(100% - 60px);width:auto;margin:0 auto;height:100%}.reel-player iframe,.reel-player video{position:absolute;inset:0;width:100%;height:100%;border:0}.reel-thumb{position:absolute;inset:0;background:#1b1b1f center / cover no-repeat;display:grid;place-items:center}.reel-play{width:64px;height:64px;border-radius:50%;background:#0000008c;position:relative}.reel-play:after{content:"";position:absolute;left:26px;top:20px;border-left:18px solid #fff;border-top:12px solid transparent;border-bottom:12px solid transparent}.reel-meta{padding:12px 16px 0}.reel-meta .muted{color:#ffffffb3}.reel-empty{height:100%;display:grid;place-items:center;color:#fffc;padding:24px;text-align:center}.reel-add{position:fixed;right:16px;bottom:calc(var(--safe-b) + 18px);z-index:30;background:var(--brand);color:#fff;font-weight:800;font-size:15px;padding:14px 20px;border-radius:999px;box-shadow:0 6px 18px #00000059}.videopage .loading-block{color:#fffc}.gift-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.gift{background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 1px 2px #1e0a0a0f;text-align:left;display:flex;flex-direction:column}.gift img,.gift .noimg{width:100%;aspect-ratio:1;object-fit:contain;background:#f6f4f4}.gift .gbody{padding:10px 12px 12px}.gift .gname{font-weight:700;font-size:14px;line-height:1.3}.gift .gpts{color:var(--brand);font-weight:800;margin-top:6px}.gift.locked{opacity:.55}.section-title{font-size:14px;font-weight:800;margin:0 0 12px;color:var(--ink)}.mk-play{width:0;height:0;border-left:16px solid currentColor;border-top:10px solid transparent;border-bottom:10px solid transparent;margin-left:4px}.action{text-align:center;line-height:1.25}.reel-tabs{display:flex;gap:8px;padding:8px 16px;background:#0d0d0f}.reel-tabs button{flex:1;padding:9px 0;border-radius:999px;font-weight:700;font-size:14px;color:#ffffffbf;background:#ffffff14}.reel-tabs button.on{background:var(--brand);color:#fff}.reel-cover{position:absolute;inset:0;z-index:2;background:transparent;display:grid;place-items:center}.reel-sound{position:absolute;z-index:3;right:10px;bottom:10px;padding:7px 12px;border-radius:999px;background:#0009;color:#fff;font-size:13px;font-weight:700}.reel-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.shorts-strip{display:flex;gap:10px;overflow-x:auto;padding:2px 0 4px;scrollbar-width:none}.shorts-strip::-webkit-scrollbar{display:none}.short-tile{flex:0 0 104px;text-decoration:none;color:inherit}.short-tile .pic{position:relative;width:104px;height:184px;border-radius:12px;background:#1b1b1f center / cover no-repeat;overflow:hidden}.short-tile .pic .reel-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(.6)}.short-tile .cap{font-size:12px;line-height:1.3;margin-top:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.new-badge{background:var(--brand);color:#fff;font-size:12px;font-weight:800;padding:3px 9px;border-radius:999px;margin-left:8px}.short-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.reel-thumb .reel-play,.short-tile .pic .reel-play{z-index:1}.reel-wait{position:relative;z-index:1;width:36px;height:36px;border-color:#ffffff4d;border-top-color:#fff}.videopage{position:fixed;inset:0;z-index:50;height:auto}.videopage .reel-feed{height:100%}.videopage .reel{position:relative;height:100%;padding:0;overflow:hidden}.videopage .reel-player.vertical{position:absolute;inset:0;width:100%;height:100%;max-height:none;aspect-ratio:auto;margin:0;overflow:hidden}.videopage .reel-player.vertical iframe{inset:50% auto auto 50%;width:max(100%,56.25dvh);height:max(100%,calc(100vw * 16 / 9));transform:translate(-50%,-50%) scale(1.18)}.videopage .reel-meta{position:absolute;left:0;right:0;bottom:0;z-index:3;padding:56px 120px calc(var(--safe-b) + 20px) 16px;background:linear-gradient(transparent,#000000b3);pointer-events:none}.videopage .reel-sound{z-index:4;bottom:calc(var(--safe-b) + 18px);right:12px}.reel-top{position:absolute;top:0;left:0;right:0;z-index:5;display:flex;align-items:center;gap:10px;padding:calc(env(safe-area-inset-top,0px) + 10px) 12px 28px;background:linear-gradient(rgba(0,0,0,.6),transparent);color:#fff;pointer-events:none}.reel-top>*{pointer-events:auto}.reel-back{color:#fff;font-weight:700;font-size:14px;padding:8px 14px;border-radius:999px;background:#0006}.reel-top .reel-name{font-weight:800;font-size:16px}.reel-top .reel-tabs{flex:1;padding:0;background:transparent}.reel-top .reel-tabs button{padding:8px 0;background:#0006}.reel-top .reel-tabs button.on{background:var(--brand)}
