@font-face{font-family:Archivo;font-style:normal;font-display:swap;font-weight:400;src:url(./archivo-vietnamese-400-normal-BF4g3tCF.woff2) format("woff2"),url(./archivo-vietnamese-400-normal-FGOLYM1a.woff) format("woff");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:Archivo;font-style:normal;font-display:swap;font-weight:400;src:url(./archivo-latin-ext-400-normal-B5tPZzqW.woff2) format("woff2"),url(./archivo-latin-ext-400-normal-DrmqtLj6.woff) format("woff");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:Archivo;font-style:normal;font-display:swap;font-weight:400;src:url(./archivo-latin-400-normal-C81ewxNO.woff2) format("woff2"),url(./archivo-latin-400-normal-Bl602Mgc.woff) format("woff");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:Archivo;font-style:normal;font-display:swap;font-weight:500;src:url(./archivo-vietnamese-500-normal-k0drYPZA.woff2) format("woff2"),url(./archivo-vietnamese-500-normal-7W3lD2kQ.woff) format("woff");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:Archivo;font-style:normal;font-display:swap;font-weight:500;src:url(./archivo-latin-ext-500-normal-RFhg4CpD.woff2) format("woff2"),url(./archivo-latin-ext-500-normal-D7mXw3Kz.woff) format("woff");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:Archivo;font-style:normal;font-display:swap;font-weight:500;src:url(./archivo-latin-500-normal-CGugC8dq.woff2) format("woff2"),url(./archivo-latin-500-normal-pkzA7jw9.woff) format("woff");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:Archivo;font-style:normal;font-display:swap;font-weight:600;src:url(./archivo-vietnamese-600-normal-anCjMumA.woff2) format("woff2"),url(./archivo-vietnamese-600-normal-C8xBVdfP.woff) format("woff");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:Archivo;font-style:normal;font-display:swap;font-weight:600;src:url(./archivo-latin-ext-600-normal-Dm61iqcg.woff2) format("woff2"),url(./archivo-latin-ext-600-normal-D7uErJuz.woff) format("woff");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:Archivo;font-style:normal;font-display:swap;font-weight:600;src:url(./archivo-latin-600-normal-3BBy0ZsW.woff2) format("woff2"),url(./archivo-latin-600-normal-DwYieO8P.woff) format("woff");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:Archivo;font-style:normal;font-display:swap;font-weight:800;src:url(./archivo-vietnamese-800-normal-DHDgv4cm.woff2) format("woff2"),url(./archivo-vietnamese-800-normal-BKe5Z8rz.woff) format("woff");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:Archivo;font-style:normal;font-display:swap;font-weight:800;src:url(./archivo-latin-ext-800-normal-BC6piDwP.woff2) format("woff2"),url(./archivo-latin-ext-800-normal-B9NTbsU1.woff) format("woff");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:Archivo;font-style:normal;font-display:swap;font-weight:800;src:url(./archivo-latin-800-normal-cB6v3kRN.woff2) format("woff2"),url(./archivo-latin-800-normal-DZa_k145.woff) format("woff");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{--bg: #F3F4F1;--card: #FFFFFF;--ink: #15171A;--muted: #5B6168;--line: #E1E3DE;--soft: #E4E6E1;--volt: #D4F20E;--wein: #7E1426;--ok-bg: #E9F5C2;--ok-ink: #3E4C00;--warn-bg: #FCEFD6;--warn-ink: #7A4A00;--radius: 20px;--shadow: 0 1px 2px rgba(0, 0, 0, .06);font-family:Archivo,system-ui,sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body,#root{margin:0;height:100%}body{background:#e3e5df}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}.shell{position:relative;max-width:460px;height:100dvh;margin:0 auto;background:var(--bg);display:flex;flex-direction:column;overflow:hidden}@media (min-width: 700px){.shell{height:calc(100dvh - 48px);margin-top:24px;border-radius:32px;box-shadow:0 20px 60px #0000002e}}.deco-wedge{position:absolute;left:0;bottom:0;width:390px;height:844px;pointer-events:none;background:radial-gradient(circle at 600px 244px,#7e142600,#7e142600 662px,#7e14262e 700px,#7e14268c 740px,#7e1426 775px,#7e1426)}.deco-target{position:absolute;top:-150px;right:-150px;width:320px;height:320px;pointer-events:none}.deco-target div{position:absolute;border-radius:50%;border:2px solid #E0E2DC}.demo-strip{position:relative;z-index:2;display:flex;justify-content:center;align-items:center;gap:6px;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:5px 10px;background:var(--ink);color:var(--volt)}.topbar{position:relative;z-index:1;display:flex;align-items:center;gap:12px;padding:14px 20px 8px}.topbar .brand{display:flex;flex-direction:column;flex:1;line-height:1.15}.topbar .brand small{font-size:12px;color:var(--muted)}.topbar .brand strong{font-weight:800;font-size:20px}.topbar img{width:40px;height:40px}.back{display:flex;align-items:center;gap:4px;font-weight:600}.icon-btn{position:relative;width:44px;height:44px;border-radius:22px;border:0;background:var(--card);box-shadow:var(--shadow);display:flex;align-items:center;justify-content:center}.icon-btn .dot{position:absolute;top:9px;right:10px;width:9px;height:9px;border-radius:5px;background:var(--wein)}.content{position:relative;z-index:1;flex:1;overflow-y:auto;padding:6px 20px 24px;display:flex;flex-direction:column;gap:12px;-webkit-overflow-scrolling:touch}.content>*{flex-shrink:0}.content.flush{padding:0;gap:0}.h1{font-weight:800;font-size:28px;letter-spacing:-.01em}.h2{font-weight:800;font-size:18px}.label{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.muted{color:var(--muted)}.small{font-size:13px}.big-num{font-weight:800;font-size:44px;letter-spacing:-.02em;line-height:1}.card{background:var(--card);border-radius:var(--radius);padding:14px 16px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:10px}.card.dark{background:var(--ink);color:#fff;box-shadow:none}.card.dark .muted{color:#b7bcc2}.card.volt{background:var(--volt);box-shadow:none}.card.row{flex-direction:row;align-items:center;gap:12px}.list{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);display:flex;flex-direction:column;overflow:hidden}.list>*{display:flex;align-items:center;gap:12px;padding:12px 14px;border-bottom:1px solid #ECEDEA}.list>*:last-child{border-bottom:0}.grow{flex:1;min-width:0;display:flex;flex-direction:column}.tag{align-self:flex-start;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:4px 8px;border-radius:6px}.tag.wein{background:var(--wein);color:#fff}.tag.volt{background:var(--volt);color:var(--ink)}.tag.ok{background:var(--ok-bg);color:var(--ok-ink);text-transform:none;letter-spacing:0;font-size:12px}.tag.warn{background:var(--warn-bg);color:var(--warn-ink);text-transform:none;letter-spacing:0;font-size:12px}.tag.soft{background:var(--soft);color:var(--muted)}.chips{display:flex;gap:8px;flex-wrap:wrap}.chip{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px;border-radius:17px;background:var(--soft);color:var(--muted);font-size:13px;font-weight:600;border:0}.chip.on{background:var(--volt);color:var(--ink)}.chip .pulse{width:8px;height:8px;border-radius:4px;background:var(--ink)}.btn{height:44px;padding:0 16px;border-radius:22px;border:0;font-weight:600;font-size:15px;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn.primary{background:var(--ink);color:#fff}.btn.volt{background:var(--volt);color:var(--ink)}.btn.ghost{background:var(--card);border:1px solid #D6D9D3}.btn.big{height:60px;border-radius:20px;font-size:18px;font-weight:800;width:100%}.btn.outline-big{height:60px;border-radius:20px;font-size:18px;font-weight:800;width:100%;background:var(--card);border:2px solid var(--ink)}.btn.sm{height:36px;padding:0 12px;font-size:14px;border-radius:18px}.btn:disabled{opacity:.45;cursor:default}.react{height:36px;padding:0 12px;border-radius:18px;border:1px solid var(--line);background:var(--card);display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:14px}.react.on{background:var(--volt);border-color:var(--volt)}.avatar{flex:none;width:36px;height:36px;border-radius:18px;background:var(--soft);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:13px}.avatar.lg{width:64px;height:64px;border-radius:32px;font-size:22px}.progress{height:6px;border-radius:3px;background:#33373c;overflow:hidden}.progress>div{height:100%;background:var(--volt);border-radius:3px}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.seg{display:flex;background:var(--soft);border-radius:22px;padding:4px;gap:4px}.seg button{flex:1;height:36px;border-radius:18px;border:0;background:transparent;font-weight:600;font-size:14px;color:var(--muted)}.seg button.on{background:var(--card);color:var(--ink);box-shadow:var(--shadow)}.tabs{display:flex;gap:6px;overflow-x:auto;padding:0 20px 10px;position:relative;z-index:1;scrollbar-width:none}.tabs button{flex:none}.tabbar{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:center;margin:6px 14px calc(14px + env(safe-area-inset-bottom));padding:6px;border-radius:28px;background:var(--ink)}.tabbar a{display:flex;align-items:center;justify-content:center;gap:6px;height:44px;min-width:44px;padding:0 10px;border-radius:22px;color:#c9cdd2;font-size:13px;font-weight:600}.tabbar a.active{background:var(--volt);color:var(--ink);padding:0 14px}.tabbar a .lbl{display:none}.tabbar a.active .lbl{display:inline}.chat{display:flex;flex-direction:column;gap:8px}.bubble{max-width:78%;padding:9px 12px;border-radius:16px;background:var(--card);box-shadow:var(--shadow);font-size:15px;line-height:1.35}.bubble.me{align-self:flex-end;background:var(--ink);color:#fff}.bubble .who{font-size:12px;font-weight:600;color:var(--muted);margin-bottom:2px}.bubble .time{font-size:11px;opacity:.6;margin-top:3px;text-align:right}.composer{position:relative;z-index:2;display:flex;gap:8px;padding:8px 14px calc(12px + env(safe-area-inset-bottom));background:var(--bg);border-top:1px solid var(--line)}.composer input{flex:1;height:44px;border-radius:22px;border:1px solid var(--line);padding:0 16px;background:var(--card)}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:13px;font-weight:600}.field select,.field input{height:48px;border-radius:14px;border:1px solid var(--line);background:var(--card);padding:0 14px;font-size:16px}.toggle{display:flex;align-items:center;gap:12px;padding:12px 14px}.switch{flex:none;width:50px;height:30px;border-radius:15px;border:0;background:#c9ccc5;position:relative;padding:0}.switch:after{content:"";position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:12px;background:#fff;transition:left .15s;box-shadow:0 1px 2px #0003}.switch.on{background:var(--ink)}.switch.on:after{left:23px;background:var(--volt)}.toast{position:absolute;left:50%;bottom:96px;transform:translate(-50%);z-index:5;background:var(--ink);color:#fff;padding:12px 16px;border-radius:14px;font-size:14px;font-weight:600;display:flex;gap:8px;align-items:center;max-width:90%;box-shadow:0 8px 24px #0003}.scanner{aspect-ratio:1;border-radius:24px;background:#1e2124;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.scanner .frame{width:62%;aspect-ratio:1;border:3px solid var(--volt);border-radius:18px}.scanner .hint{position:absolute;bottom:16px;color:#c9cdd2;font-size:13px}.monitor{border-radius:16px;background:#23262a;padding:12px;color:#e9ecef;font-family:ui-monospace,monospace;font-size:12px;display:grid;grid-template-columns:1fr 120px;gap:10px}.monitor .target{aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#222 0,#222 18%,#fff 18%,#fff 20%,#222 20%,#222 38%,#fff 38%,#fff 40%,#222 40%,#222 58%,#eee 58%,#eee)}.monitor .ser{display:flex;flex-direction:column;gap:4px}.scanline{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#d4f20e00,#d4f20e59,#d4f20e00);animation:scan 1.2s ease-in-out infinite}@keyframes scan{0%{transform:translateY(-100%)}to{transform:translateY(100%)}}.doc{background:#fff;border-radius:6px;box-shadow:0 2px 12px #0000001f;padding:20px;font-size:12px;display:flex;flex-direction:column;gap:10px}.doc table{width:100%;border-collapse:collapse}.doc th,.doc td{text-align:left;padding:5px 4px;border-bottom:1px solid #E5E5E5}.doc th{font-size:11px;color:#666}.poll-opt{position:relative;height:44px;border-radius:12px;border:1px solid var(--line);background:var(--card);overflow:hidden;display:flex;align-items:center;padding:0 12px;font-weight:600;font-size:14px;width:100%;text-align:left}.poll-opt .bar{position:absolute;inset:0 auto 0 0;background:var(--ok-bg)}.poll-opt span{position:relative;flex:1}.poll-opt b{position:relative}.poll-opt.mine{border-color:var(--ink)}:focus-visible{outline:3px solid #3B82F6;outline-offset:2px}
