@import "https://fonts.googleapis.com/css2?family=Baloo+2:wght@500;600;700;800&display=swap&subset=vietnamese";.search{border:1px solid var(--line);background:var(--surface);width:260px;height:34px;color:var(--ink-2);border-radius:8px;align-items:center;gap:8px;padding:0 10px;display:flex}.search input{min-width:0;color:var(--ink);background:0 0;border:0;outline:0;flex:1;font:400 13px/1 Be Vietnam Pro}.home{gap:32px;min-width:0;padding:40px 40px 40px 56px;display:flex}.home .main{flex:auto;min-width:0;max-width:880px}.home .side{flex:none;width:340px;padding-top:78px}@media (width<=1180px){.home{flex-direction:column;padding:32px 24px}.home .main{max-width:none}.home .side{width:auto;max-width:880px;padding-top:0}}.home .hi h1{margin:0;font:600 24px/1.3 Be Vietnam Pro}.home .hi p{color:var(--ink-2);margin:4px 0 0}.home .idea{background:var(--surface);border:1px solid var(--line);border-radius:14px;margin-top:22px;padding:16px 16px 14px;box-shadow:0 8px 24px #1e1d1a14}.home .idea .lb{justify-content:space-between;align-items:center;font:600 13px/1 Be Vietnam Pro;display:flex}.home .idea .lb span{color:var(--ink-2);font-size:12px;font-weight:500}.home .ta{resize:vertical;border:1.5px solid var(--line);width:100%;height:96px;color:var(--ink);background:#fff;border-radius:10px;margin-top:10px;padding:12px 14px;font:400 14px/1.55 Be Vietnam Pro;display:block}.home .ta::placeholder{color:#8e8b81}.home .ta:focus{border-color:var(--accent);outline:0}.home .ifoot{align-items:center;gap:14px;margin-top:12px;display:flex}.home .help{color:var(--ink-2);flex:1;align-items:flex-start;gap:8px;margin:0;font-size:12.5px;line-height:1.5;display:flex}.home .help b{color:var(--ink);font-weight:600}.home .help svg{flex:none;margin-top:2px}.home .seg{border:1px solid var(--line);border-radius:8px;display:flex;overflow:hidden}.home .seg button{color:var(--ink-2);white-space:nowrap;cursor:pointer;background:0 0;border:0;padding:9px 11px;font:500 12.5px/1 Be Vietnam Pro}.home .seg button.on{color:var(--ink);background:#f1f0ea}.home .idea .btn{white-space:nowrap}.home .idea .problem{margin-top:10px;font-size:13px}.home .lh{justify-content:space-between;align-items:baseline;margin-top:36px;display:flex}.home .lh h2{margin:0;font:600 16px/1.3 Be Vietnam Pro}.home .flt{gap:6px;display:flex}.home .flt button{color:var(--ink-2);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:7px;padding:5px 10px;font:500 13px/1.5 Be Vietnam Pro}.home .flt button.on{color:var(--ink);background:#e9e7df}.home .tbl{background:var(--surface);border:1px solid var(--line);border-radius:12px;margin-top:10px;overflow:hidden}.home .tbl ul{margin:0;padding:0;list-style:none}.home .tr{grid-template-columns:250px 84px minmax(0,1fr) 92px 16px;align-items:center;column-gap:16px;padding:0 16px;display:grid}.home .th{border-bottom:1px solid var(--line);height:38px;color:var(--ink-2);font:500 12px/1 Be Vietnam Pro}.home .th .s{white-space:nowrap;align-items:center;gap:4px;display:flex}.home .th .s.on{color:var(--ink)}.home .tr.row{min-height:74px;color:inherit;padding-top:10px;padding-bottom:10px;text-decoration:none}.home .tbl li+li .tr.row{border-top:1px solid var(--line)}.home .tr.row:hover,.home .tr.row:focus-visible{background:#faf9f5}.home .nm{align-items:center;gap:12px;min-width:0;display:flex}.home .nm>div{min-width:0}.home .ic{border-radius:8px;flex:none;justify-content:center;align-items:center;width:34px;height:34px;font:700 14px/1 Be Vietnam Pro;display:flex}.home .ic.g{color:var(--accent);background:#e7ecf7}.home .ic.h{color:var(--ink-2);background:#ecebe5}.home .nm b{white-space:nowrap;text-overflow:ellipsis;font:600 14px/1.3 Be Vietnam Pro;display:block;overflow:hidden}.home .nm small{color:var(--ink-2);white-space:nowrap;text-overflow:ellipsis;max-width:200px;font-size:12px;line-height:1.4;display:block;overflow:hidden}.home .st{flex-direction:column;align-items:flex-start;gap:7px;min-width:0;display:flex}.home .st .l{align-items:center;gap:8px;max-width:100%;display:flex}.home .st .x{color:var(--ink-2);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;overflow:hidden}.home .st .x.w{color:var(--wait);font-weight:500}.home .st .x.e{color:var(--err)}.home .pg{color:var(--ink-2);white-space:nowrap;align-items:center;gap:8px;max-width:100%;font-size:12px;display:flex}.home .pg .pl{text-overflow:ellipsis;overflow:hidden}.home .bar{flex:none;gap:3px;display:flex}.home .bar i{background:#e2e0d8;border-radius:2px;width:16px;height:4px}.home .bar i.d{background:var(--ok)}.home .bar i.r{background:var(--accent)}.home .bar i.w{background:var(--wait)}.home .bar i.e{background:var(--err)}.home .tm{color:var(--ink-2);white-space:nowrap;font-size:13px}.home .go{color:#b9b6ab;justify-content:flex-end;display:flex}.home .tr.row:hover .go{color:var(--accent)}.home .empty{color:var(--ink-2);text-align:center;margin:0;padding:28px 16px}.home .card{border-radius:12px;padding:16px;display:block}.home .card h3{align-items:center;gap:8px;margin:0;font:600 14px/1.3 Be Vietnam Pro;display:flex}.home .card h3 .n{background:var(--wait);color:#fff;text-align:center;border-radius:10px;min-width:20px;height:20px;padding:0 6px;font:600 12px/20px Be Vietnam Pro}.home .card h3 .cntx{color:var(--ink-2);margin-left:auto;font-size:12px;font-weight:500}.home .wi{color:var(--ink);background:#fffbf4;border:1px solid #e9d3ae;border-radius:10px;margin-top:12px;padding:11px 12px;text-decoration:none;display:block}.home .wi .p{color:var(--ink-2);justify-content:space-between;gap:8px;font:500 12px/1.35 Be Vietnam Pro;display:flex}.home .wi .p>span{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.home .wi .p time{white-space:nowrap;flex:none}.home .wi .q{margin-top:7px;font:600 13px/1.45 Be Vietnam Pro;display:block}.home .wi .d{color:var(--ink-2);margin-top:4px;font-size:12px;line-height:1.45;display:block}.home .card .none{color:var(--ink-2);margin:12px 0 0;font-size:12.5px}.home .lnk{color:var(--accent);align-items:center;gap:6px;margin-top:12px;font:600 13px/1 Be Vietnam Pro;text-decoration:none;display:flex}.home .tip{color:var(--ink-2);border:1px dashed #d3d0c5;border-radius:12px;margin-top:16px;padding:14px 16px;font-size:12.5px;line-height:1.55}.home .tip b{color:var(--ink);margin-bottom:4px;font-size:13px;font-weight:600;display:block}.vchat{background:var(--surface);border:1px solid var(--line);z-index:4;border-radius:14px;flex-direction:column;flex:none;width:360px;height:calc(100vh - 84px);min-height:420px;display:flex;box-shadow:0 8px 24px #1e1d1a14}.vchat .hd{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:14px 16px;display:flex}.vchat .hd b{font:600 15px/1 Be Vietnam Pro}.vchat .hd .sp{color:var(--ink-2);margin-left:auto;font-size:12px}.vchat .hd .fold{width:24px;height:24px;color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;margin-right:-6px;display:flex}.vchat .hd .fold:hover{color:var(--ink);background:#f1f0ea}.vchat .empty{color:var(--ink-2);flex:1;align-items:flex-end;margin:0;padding:14px 16px;font-size:13px;display:flex}.vchat .log{flex-direction:column-reverse;flex:1;min-height:0;display:flex;overflow-y:auto}.vchat .log ol{flex-direction:column;gap:12px;margin:0;padding:14px 16px;list-style:none;display:flex}.vchat .m .who{align-items:baseline;gap:8px;margin-bottom:5px;font:600 12px/1 Be Vietnam Pro;display:flex}.vchat .m .who time{color:var(--ink-2);font-weight:400}.vchat .m .b{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13.5px;line-height:1.55}.vchat .m.me .b{background:#f1f0ea;border-radius:10px;padding:9px 11px}.vchat .m .more{color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0;font:500 13.5px/1.55 Be Vietnam Pro}.vchat .ev{color:var(--ink-2);text-align:center;align-items:center;gap:8px;font-size:12px;display:flex}.vchat .ev:before,.vchat .ev:after{content:"";background:var(--line);flex:1;min-width:16px;height:1px}.vchat .askc{background:#fffbf4;border:1px solid #e9d3ae;border-radius:12px;padding:12px}.vchat .askc .q{margin:8px 0 10px;font:600 14px/1.4 Be Vietnam Pro}.vchat .problem{margin:6px 0 0;font-size:12px}.vchat .composer{border:1px solid var(--line);border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px;margin:0 12px 12px;padding:10px 10px 10px 13px;display:flex}.vchat .composer:focus-within{border-color:var(--accent)}.vchat .composer input{min-width:0;color:var(--ink);background:0 0;border:0;outline:0;flex:1;padding:0;font:400 13.5px/1.5 Be Vietnam Pro}.vchat .composer input::placeholder{color:var(--ink-2)}.vchat .composer .send{background:var(--accent);cursor:pointer;border:0;border-radius:8px;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.vchat .composer .send:disabled{opacity:.6}.vchat .composer .problem{flex-basis:100%}.vchat-tab{z-index:4;background:var(--surface);border:1px solid var(--line);width:40px;color:var(--ink-2);cursor:pointer;border-radius:12px;flex-direction:column;flex:none;align-self:flex-start;align-items:center;gap:10px;padding:12px 0 14px;display:flex;position:relative;box-shadow:0 8px 24px #1e1d1a14}.vchat-tab b{writing-mode:vertical-rl;color:var(--ink);letter-spacing:.2px;font:600 13px/1 Be Vietnam Pro}.vchat-tab .dot{background:var(--wait);border:2px solid var(--surface);border-radius:50%;width:12px;height:12px;position:absolute;top:-4px;right:-4px}.pl-page{flex-direction:column;height:100vh;display:flex}.pl-bar{border-bottom:1px solid var(--line);background:var(--surface);flex:none;align-items:center;gap:12px;height:56px;padding:0 20px 0 14px;display:flex}.pl-bar .sp{flex:1}.pl-back{color:var(--ink);white-space:nowrap;border-radius:8px;align-items:center;gap:6px;padding:8px 10px;font:600 13px/1 Be Vietnam Pro,sans-serif;text-decoration:none;display:flex}.pl-hint{color:var(--ink-2);font-size:13px}.pl-hint.ok{color:var(--ok)}.pl-bar .btn:disabled{opacity:.45;cursor:not-allowed}.pl-grid{flex:1;grid-template-columns:300px minmax(0,1fr) 372px;min-height:0;display:grid}.pl-side{background:var(--surface);padding:22px;overflow:auto}.pl-side.l{border-right:1px solid var(--line)}.pl-side.r{border-left:1px solid var(--line);flex-direction:column;display:flex}.pl-side h2{margin:0;font:600 16px/1.3 Be Vietnam Pro,sans-serif}.pl-side h3{color:var(--ink-2);margin:18px 0 10px;font:600 13px/1.3 Be Vietnam Pro,sans-serif}.pl-sub{color:var(--ink-2);margin:4px 0 0;font-size:13px}.pl-sub.small{margin-top:6px;font-size:12px}.pl-facts{margin-top:12px}.pl-kv{border-bottom:1px solid #eeede7;justify-content:space-between;align-items:center;gap:10px;padding:9px 0;font-size:13.5px;display:flex}.pl-kv:last-child{border-bottom:0}.pl-kv .k{color:var(--ink-2)}.pl-kv .v{font-weight:600}.pl-seed{border:1px solid var(--line);background:#faf9f5;border-radius:8px;justify-content:space-between;align-items:center;margin-top:10px;padding:10px 12px;display:flex}.pl-seed small{color:var(--ink-2);font-size:12px;display:block}.pl-seed .mono{font-size:15px;font-weight:500}.pl-link{color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0;font:500 13px/1 Be Vietnam Pro,sans-serif}.pl-ctrl{grid-template-columns:1fr 1fr;gap:8px;display:grid}.pl-tog{border:1px solid var(--line);cursor:pointer;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;margin-top:10px;padding:10px 12px;display:flex}.pl-tog b{font-size:13.5px;font-weight:600;display:block}.pl-tog small{color:var(--ink-2);font-size:12px}.pl-tog input{appearance:none;cursor:pointer;background:#d8d6cd;border-radius:10px;flex:none;width:36px;height:20px;margin:0;position:relative}.pl-tog input:after{content:"";background:#fff;border-radius:50%;width:14px;height:14px;transition:left .15s;position:absolute;top:3px;left:3px}.pl-tog input:checked{background:var(--accent)}.pl-tog input:checked:after{left:19px}.pl-rel div{justify-content:space-between;gap:8px;padding:6px 0;font-size:13px;display:flex}.pl-rel span{color:var(--ink-2);white-space:nowrap}.pl-stage{background:#e9e7df;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:16px;display:flex;overflow:auto}.pl-game{background:#1b2140;border:0;border-radius:18px;flex:none;width:400px;height:700px;box-shadow:0 8px 24px #1e1d1a2e}.pl-cap{color:var(--ink-2);margin:0;font-size:13px}.pl-nfr{border:1px solid var(--line);border-radius:10px;margin-top:14px;padding:12px 14px}.pl-nfr .top2{justify-content:space-between;align-items:center;display:flex}.pl-nfr .top2 .mono{color:var(--ink-2);font-size:11px}.pl-nfr .t{margin-top:8px;font-weight:600}.pl-clock{align-items:baseline;gap:6px;margin:4px 0 6px;display:flex}.pl-clock b{font:500 26px/1.2 JetBrains Mono,monospace}.pl-clock span{color:var(--ink-2);font:400 13px/1 JetBrains Mono,monospace}.pl-nfr progress{appearance:none;background:#ecebe5;border:0;border-radius:3px;width:100%;height:6px;overflow:hidden}.pl-nfr progress::-webkit-progress-bar{background:#ecebe5}.pl-nfr progress::-webkit-progress-value{background:var(--accent)}.pl-nfr .meta{color:var(--ink-2);justify-content:space-between;margin-top:8px;font-size:12.5px;display:flex}.pl-ck{cursor:pointer;border-bottom:1px solid #eeede7;align-items:flex-start;gap:10px;padding:9px 0;display:flex}.pl-ck input{width:18px;height:18px;accent-color:var(--ok);flex:none;margin:2px 0 0}.pl-ck .t{font-size:13.5px;display:block}.pl-ck .id{color:var(--ink-2);margin-top:3px;font-size:10.5px;display:block}.pl-ck .id i{color:var(--wait);font-family:Be Vietnam Pro,sans-serif}.pl-note{margin-top:auto;padding-top:16px}.pl-note label{margin-bottom:8px;font-size:13px;font-weight:600;display:block}.pl-note textarea{border:1px solid var(--line);width:100%;color:var(--ink);resize:vertical;border-radius:9px;padding:10px 12px;font:400 13px/1.5 Be Vietnam Pro,sans-serif}.pl-note small{color:var(--ink-2);margin-top:8px;font-size:12px;display:block}.pl-rel a{text-decoration:none}.rp{flex-direction:column;gap:16px;padding:22px 32px 32px;display:flex}.rp-ttl h1{margin:0;font:600 24px/1.25 Be Vietnam Pro,sans-serif}.rp-ttl p{color:var(--ink-2);margin:4px 0 0;font-size:13.5px}.rp-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r)}.rp-kpis{grid-template-columns:repeat(5,1fr);gap:16px;display:grid}.rp-kpi{padding:14px 16px 13px}.rp-kpi .l{color:var(--ink-2);justify-content:space-between;align-items:center;gap:6px;height:22px;font:500 13px/1 Be Vietnam Pro,sans-serif;display:flex}.rp-kpi .v{white-space:nowrap;margin-top:8px;font:600 26px/1.15 Be Vietnam Pro,sans-serif}.rp-kpi .v small{color:var(--ink-2);margin-left:4px;font:500 14px/1 Be Vietnam Pro,sans-serif}.rp-kpi .s{color:var(--ink-2);margin-top:5px;font-size:12px}.rp-main{grid-template-columns:420px minmax(0,1fr) 400px;align-items:start;gap:16px;display:grid}.rp-hd{justify-content:space-between;align-items:baseline;gap:10px;padding:16px 18px 0;display:flex}.rp-hd h2{white-space:nowrap;margin:0;font:600 16px/1.3 Be Vietnam Pro,sans-serif}.rp-hd>span{color:var(--ink-2);white-space:nowrap;font-size:12px}.rp-th{padding:4px 18px 6px}.rp-tr{border-bottom:1px solid #eeede7;padding:13px 0}.rp-tr:last-child{border-bottom:0}.rp-tr .a{justify-content:space-between;align-items:center;gap:10px;display:flex}.rp-tr .n{font:600 13.5px/1.35 Be Vietnam Pro,sans-serif}.rp-tr .g{color:var(--ink-2);margin-top:3px;font-size:12px}.rp-tr .g.gap{margin-top:6px}.rp-tr .g b{color:var(--ink);font-weight:600}.rp-tr .x{color:var(--ink-2);background:#fbf6ec;border-radius:6px;margin-top:6px;padding:7px 9px;font-size:12px;line-height:1.45}.rp-tl{margin:0;padding:12px 18px 8px;list-style:none}.rp-ev{grid-template-columns:82px 18px 1fr;column-gap:8px;min-height:51px;display:grid}.rp-ev time{color:var(--ink-2);white-space:nowrap;font:500 12px/20px JetBrains Mono,monospace}.rp-ev .rl{justify-content:center;display:flex;position:relative}.rp-ev .rl:before{content:"";background:var(--line);width:2px;position:absolute;top:0;bottom:0;left:8px}.rp-ev:first-child .rl:before{top:10px}.rp-ev:last-child .rl:before{bottom:calc(100% - 10px)}.rp-ev .dot{background:#b9b6ab;border-radius:50%;width:10px;height:10px;margin-top:5px;position:relative;box-shadow:0 0 0 3px #fff}.rp-ev .dot.h{background:var(--wait)}.rp-ev .dot.a{border:2px solid var(--ink);background:#fff}.rp-ev .dot.e{background:var(--err)}.rp-ev .dot.o{background:var(--ok)}.rp-ev .c{padding-bottom:9px}.rp-ev .t{justify-content:space-between;align-items:flex-start;gap:8px;font-size:13.5px;line-height:1.4;display:flex}.rp-ev .t .chip{flex:none;margin-top:-1px}.rp-ev .w{color:var(--ink-2);margin-top:2px;font-size:12px}.rp-ev .w .mono{font-size:11px}.rp-lg{color:var(--ink-2);gap:14px;font-size:12px;display:flex}.rp-lg i{border-radius:50%;width:9px;height:9px;margin-right:5px;display:inline-block}.rp-lg i.h{background:var(--wait)}.rp-lg i.a{border:2px solid var(--ink)}.rp-ch{padding:14px 18px}.rp-ch+.rp-ch{border-top:1px solid #eeede7}.rp-ch h3{justify-content:space-between;margin:0 0 12px;font:600 13px/1 Be Vietnam Pro,sans-serif;display:flex}.rp-ch h3 span{color:var(--ink-2);font-weight:500}.rp-br{grid-template-columns:84px 1fr;align-items:center;column-gap:10px;height:28px;display:grid}.rp-br .k{color:var(--ink-2);white-space:nowrap;font-size:13px}.rp-br .tk{align-items:center;gap:8px;display:flex}.rp-br .track{flex:none}.rp-br .bar{background:var(--accent);border-radius:0 4px 4px 0;height:12px;display:block}.rp-br .bar.wt{background:var(--wait)}.rp-br .val{white-space:nowrap;font:500 12.5px/1 Be Vietnam Pro,sans-serif}.rp-ch .note{color:var(--ink-2);margin:8px 0 0;font-size:12px}.rp-ch .note i{background:var(--wait);border-radius:2px;width:9px;height:9px;margin-right:2px;display:inline-block}.rp-trace{padding-bottom:16px}.rp-path{flex-wrap:wrap;align-items:center;gap:8px;margin:0;padding:10px 18px 0;list-style:none;display:flex}.rp-path li{align-items:center;gap:8px;display:flex}.rp-path li+li:before{content:"→";color:#b9b6ab}.rp-st{border:1px solid var(--line);white-space:nowrap;color:var(--ink);background:#fbfaf7;border-radius:8px;align-items:center;gap:8px;padding:8px 12px;font:500 13px/1.2 Be Vietnam Pro,sans-serif;text-decoration:none;display:flex}.rp-st:hover{border-color:var(--accent)}.rp-st small{color:var(--ink-2);margin-bottom:3px;font:500 11px/1 Be Vietnam Pro,sans-serif;display:block}.rp-st .ok{color:var(--ok)}.rp-st.end{background:#f1f7f3;border-color:#bfd6c8}.rv{flex-direction:column;height:100vh;display:flex}.rv-head{border-bottom:1px solid var(--line);background:var(--surface);flex:none;align-items:center;gap:12px;height:56px;padding:0 20px 0 14px;display:flex}.rv-head .sp{flex:1}.rv-back{color:var(--ink);border:1px solid var(--line);background:var(--surface);white-space:nowrap;border-radius:8px;align-items:center;gap:6px;padding:8px 10px;font:600 13px/1 Be Vietnam Pro,sans-serif;text-decoration:none;display:flex}.rv-ver{color:var(--ink);border:1px solid var(--line);background:var(--surface);border-radius:6px;padding:4px 6px;font:500 12px/1 Be Vietnam Pro,sans-serif}.rv-head .btn:disabled{opacity:.45;cursor:not-allowed}.rv-grid{flex:1;grid-template-columns:236px minmax(0,1fr) 372px;min-height:0;display:grid}.rv-grid2{grid-template-columns:minmax(0,1fr) 372px}.rv-ol{border-right:1px solid var(--line);background:var(--ground);flex-direction:column;padding:18px 14px;display:flex;overflow:auto}.rv-ol h4{color:var(--ink-2);margin:0 8px 10px;font:600 12px/1 Be Vietnam Pro,sans-serif}.rv-oi{color:var(--ink);border-radius:7px;justify-content:space-between;align-items:center;gap:8px;padding:7px 8px;font:500 13.5px/1.2 Be Vietnam Pro,sans-serif;text-decoration:none;display:flex}.rv-oi .n{color:var(--ink-2);font:500 12px/1 JetBrains Mono,monospace}.rv-oi.on{background:var(--accent-soft);color:var(--accent);font-weight:600}.rv-oi.on .n{color:var(--accent)}.rv-oi .w{color:var(--wait);white-space:nowrap;font:500 12px/1 Be Vietnam Pro,sans-serif}.rv-sub{border-left:1px solid var(--line);margin:2px 0 6px 8px;padding-left:10px}.rv-si{color:var(--ink);white-space:nowrap;align-items:center;gap:7px;padding:3px 6px;font-size:12.5px;line-height:1.35;display:flex}.rv-si .mono{flex:none;width:58px;font-size:11px}.rv-si i{background:var(--wait);border-radius:50%;flex:none;width:6px;height:6px;margin-left:auto}.rv-ol .grow{flex:1}.rv-vers{border-top:1px solid var(--line);margin-top:12px;padding:12px 8px 0}.rv-vers div{color:var(--ink-2);justify-content:space-between;font-size:12.5px;display:flex}.rv-vers b{color:var(--ink);font-weight:600}.rv-doc{background:var(--surface);padding:22px 40px 40px;overflow:auto}.rv-id{color:var(--ink-2);font-size:11.5px}.rv-doc h1{margin:7px 0 4px;font:600 22px/1.3 Be Vietnam Pro,sans-serif}.rv-meta{color:var(--ink-2);margin:0;font-size:13px}.rv-legend{border:1px solid var(--line);color:var(--ink-2);background:#faf9f5;border-radius:8px;flex-wrap:wrap;align-items:center;gap:16px;margin-top:12px;padding:9px 12px;font-size:12.5px;display:flex}.rv-legend b{color:var(--ink);font-weight:600}.rv-v{color:var(--ink);vertical-align:1px;background:#e9e7df;border:1px solid #e9e7df;border-radius:5px;padding:3px 6px;font:500 12.5px/1 JetBrains Mono,monospace;display:inline-block}.rv-v.d{background:#fff;border:1px dashed #a9a69b}.rv-sh{align-items:center;gap:10px;margin:18px 0 10px;display:flex}.rv-sh h2,.rv-h2{margin:0;font:600 17px/1.3 Be Vietnam Pro,sans-serif}.rv-h2{margin:22px 0 8px}.rv-sh .sp{flex:1}.rv-c{color:var(--ink-2);font:500 13px/1 JetBrains Mono,monospace}.rv-filt{gap:6px;display:flex}.rv-filt button{border:1px solid var(--line);background:var(--surface);color:var(--ink-2);white-space:nowrap;cursor:pointer;border-radius:999px;padding:6px 9px;font:500 12px/1 Be Vietnam Pro,sans-serif}.rv-filt button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}.rv-rule{border-top:1px solid var(--line)}.rv-rr{cursor:pointer;align-items:center;gap:10px;min-height:33px;font-size:13.5px;display:flex}.rv-rule[open] .rv-t{font-weight:600}.rv-rr{list-style:none}.rv-rr::-webkit-details-marker{display:none}.rv-rr:before{content:"";border-right:2px solid var(--ink-2);border-bottom:2px solid var(--ink-2);flex:none;width:6px;height:6px;margin:0 4px 0 2px;transition:transform .15s;transform:rotate(-45deg)}.rv-rule[open]>.rv-rr:before{transform:rotate(45deg)}.rv-rr .sp{flex:1}.rv-rid{color:var(--ink-2);white-space:nowrap;flex:none;width:142px;font:500 11.5px/1 JetBrains Mono,monospace}.rv-t{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.rv-src{white-space:nowrap;border-radius:999px;flex:none;padding:5px 8px;font:500 12px/1 Be Vietnam Pro,sans-serif}.rv-src.idea{color:var(--ink-2);background:#ecebe5}.rv-src.ans{color:var(--ok);background:#e3efe8}.rv-src.as{color:var(--wait);background:#f6ecdc}.rv-ex{color:var(--ink-2);text-align:right;white-space:nowrap;flex:none;width:58px;font-size:12px}.rv-body{gap:18px;padding:0 0 11px 24px;display:flex}.rv-ecr{flex:1;grid-template-columns:76px 1fr;row-gap:3px;margin:0;font-size:13.5px;line-height:1.5;display:grid}.rv-ecr dt{color:var(--ink-2);white-space:nowrap;font:500 12px/1.75 Be Vietnam Pro,sans-serif}.rv-ecr dt:after{content:" →";color:#b9b6ab}.rv-ecr dt.last:after{content:""}.rv-ecr dd{margin:0}.rv-ecr code,.rv-doc code{color:var(--ink-2);background:#f4f3ee;border-radius:4px;padding:2px 5px;font:400 11.5px/1 JetBrains Mono,monospace}.rv-fix{border:1px solid var(--line);background:#faf9f5;border-radius:8px;flex:none;width:230px;margin:0;padding:9px 11px}.rv-fix figcaption{color:var(--ink-2);margin-bottom:7px;font-size:11px}.rv-fix pre{color:#a9a69b;margin:0;font:500 12px/1.5 JetBrains Mono,monospace}.rv-fix pre b{color:var(--err);font-weight:600}.rv-fixmeta{color:var(--ink-2);margin:4px 0 0;font-size:11px}.rv-fixcap{color:var(--ink-2);margin:6px 0 0;font-size:11.5px;line-height:1.4}.rv-table{border-collapse:collapse;width:100%;font-size:13px}.rv-table th{text-align:left;color:var(--ink-2);border-bottom:1px solid var(--line);padding:6px 8px 6px 0;font:500 12px/1.4 Be Vietnam Pro,sans-serif}.rv-table td{border-bottom:1px solid #eeede7;padding:6px 8px 6px 0}.rv-table td.mono{font-size:11.5px}.rv-para{margin:0 0 6px;font-size:13.5px}.rv-para .mono{color:var(--ink-2);font-size:11px}.rv-pn{background:var(--surface);border-left:1px solid var(--line);flex-direction:column;gap:12px;padding:18px 20px;display:flex;overflow:auto;box-shadow:0 8px 24px #1e1d1a14}.rv-pn h3{margin:0;font:600 16px/1.2 Be Vietnam Pro,sans-serif}.rv-blk{border-top:1px solid var(--line);padding-top:12px}.rv-bh{justify-content:space-between;align-items:center;gap:8px;margin-bottom:7px;display:flex}.rv-bh b{font:600 13.5px/1.3 Be Vietnam Pro,sans-serif}.rv-bh a{color:var(--accent);white-space:nowrap;font:500 12.5px/1 Be Vietnam Pro,sans-serif;text-decoration:none}.rv-warn{color:var(--wait)}.rv-small{color:var(--ink-2);margin:-2px 0 6px;font-size:12px}.rv-ck{align-items:baseline;gap:8px;padding:2px 0;font-size:12.5px;line-height:1.45;display:flex}.rv-ck .mono{color:var(--ink-2);flex:none;width:50px;font-size:10.5px}.rv-ck svg{flex:none;position:relative;top:2px}.rv-ck.no{color:var(--err)}.rv-qa{justify-content:space-between;gap:10px;padding:4px 0;font-size:12.5px;line-height:1.4;display:flex}.rv-qa span{color:var(--ink-2)}.rv-qa b{white-space:nowrap;font-weight:600}.rv-qa time{color:var(--ink-2);margin-left:6px;font:400 11px/1.6 JetBrains Mono,monospace}.rv-asm{background:#fffbf4;border:1px solid #e9d3ae;border-radius:9px;align-items:center;gap:10px;margin-bottom:6px;padding:8px 10px;display:flex}.rv-asm p{flex:1;margin:0;font-size:12.5px;line-height:1.45}.rv-asm .mono{color:var(--wait);font-size:10.5px}.rv-asm .btn{padding:6px 10px;font-size:12px}.rv-note{color:var(--ink-2);margin:0;font-size:12.5px;line-height:1.5}.rv-note b{color:var(--ink);font-weight:600}.rv-chg{margin:0 0 3px;padding-left:12px;font-size:12.5px;line-height:1.45;position:relative}.rv-chg:before{content:"";background:#b9b6ab;border-radius:50%;width:5px;height:5px;position:absolute;top:7px;left:0}.rv-cm{border:1px solid var(--line);width:100%;color:var(--ink);resize:vertical;border-radius:9px;padding:9px 11px;font:400 12.5px/1.45 Be Vietnam Pro,sans-serif}.rv-cmh{color:var(--ink-2);margin:6px 0 0;font-size:11.5px;line-height:1.4}.rv-outcome{color:var(--wait);background:#f6ecdc;border-radius:8px;margin:0;padding:9px 11px;font-size:12.5px}.rv-outcome.ok{color:var(--ok);background:#e3efe8}.rv-stage{padding:14px 24px 24px;overflow:auto}.rv-phones{gap:28px;display:flex}.rv-phone{flex:none;width:300px;margin:0}.rv-phone figcaption{justify-content:space-between;align-items:baseline;margin-bottom:8px;display:flex}.rv-phone figcaption b{font:600 14px/1.3 Be Vietnam Pro,sans-serif}.rv-phone figcaption .mono{color:var(--ink-2);font-size:11px}.rv-board{gap:14px;margin-top:16px;display:flex}.rv-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);min-height:220px;padding:12px 14px}.rv-w282{width:282px}.rv-w256{width:256px}.rv-w200{width:200px}.rv-w206{width:206px}.rv-card h4{justify-content:space-between;align-items:baseline;margin:0 0 11px;font:600 13px/1 Be Vietnam Pro,sans-serif;display:flex}.rv-card h4 span{color:var(--ink-2);font:500 11px/1 JetBrains Mono,monospace}.rv-sws{grid-template-columns:1fr 1fr;row-gap:7px;display:grid}.rv-swt{align-items:center;gap:7px;font-size:12px;line-height:1.25;display:flex}.rv-swt i{border-radius:50%;flex:none;width:24px;height:24px}.rv-swt .mono{color:var(--ink-2);font-size:10.5px;display:block}.rv-fs{color:#fff;background:#1b2140;border-radius:8px;padding:12px 14px}.rv-fs .a{font-size:30px;font-weight:800;line-height:1}.rv-fs .b{margin-top:6px;font-size:16px;font-weight:600;line-height:1.3}.rv-cap{color:var(--ink-2);margin:8px 0 0;font-size:12px;line-height:1.45}.rv-spr{background:#1b2140;border-radius:8px;flex-wrap:wrap;justify-content:space-around;gap:10px;padding:10px;display:flex}.rv-spr div{color:#c9ceeb;flex-direction:column;align-items:center;font:500 11px/1.2 Be Vietnam Pro,sans-serif;display:flex}.rv-feel{margin:0 0 9px;font-size:12.5px;line-height:1.45}.rv-feel .mono{color:var(--ink-2);font-size:10.5px;display:block}.rv-rp{color:var(--ink);background:#f1f0ea;border-radius:4px;margin:0 4px 4px 0;padding:4px 5px;font:500 10.5px/1 JetBrains Mono,monospace;display:inline-block}.rv-cov{margin-bottom:6px}.rv-cov .h{justify-content:space-between;margin-bottom:4px;font-size:12.5px;font-weight:600;display:flex}.rv-cov .h span{color:var(--ink-2);font-weight:400}.g-ph{color:#fff;border:6px solid #2b2a26;border-radius:30px;width:300px;height:530px;font-family:"Baloo 2",sans-serif;position:relative;overflow:hidden}.g-ph>svg{position:absolute;top:0;left:0}.g-ph>div,.g-ph>span{position:absolute;left:0;right:0}.g-hud{justify-content:space-between;align-items:center;padding:0 12px;display:flex;top:10px}.g-sc small{color:#9aa2cc;font:600 11px/1 "Baloo 2",sans-serif;display:block}.g-sc b{font:800 22px/1.05 "Baloo 2",sans-serif}.g-tchip{white-space:nowrap;background:#2a3160;border-radius:999px;align-items:center;gap:6px;padding:4px 10px 3px 6px;font:700 14px/1 "Baloo 2",sans-serif;display:flex}.g-tchip i{border:2.5px solid #f7c548;border-right-color:#3a4380;border-radius:50%;width:20px;height:20px}.g-pause{background:#2a3160;border-radius:50%;justify-content:center;align-items:center;gap:4px;width:34px;height:34px;display:flex}.g-pause i{background:#fff;border-radius:2px;width:4px;height:13px}.g-ph>.g-next{text-align:center;color:#9aa2cc;width:50px;font:600 11px/1 "Baloo 2",sans-serif;top:497px;left:22px;right:auto}.g-ph>.g-loss{color:#f2545b;opacity:.85;font:600 10px/1 "Baloo 2",sans-serif;top:329px;left:auto;right:8px}.g-title{text-align:center;top:150px}.g-title h4{color:#fff;text-shadow:0 4px #4a90e2;margin:0;font:800 54px/1 "Baloo 2",sans-serif}.g-title p{color:#c9ceeb;margin:10px 0 0;font:500 15px/1.4 "Baloo 2",sans-serif}.g-best{text-align:center;color:#9aa2cc;font:600 14px/1 "Baloo 2",sans-serif;top:262px}.g-cta{color:#1b2140;text-align:center;background:#f7c548;border-radius:999px;width:196px;height:54px;margin:0 auto;font:800 24px/56px "Baloo 2",sans-serif;display:block;box-shadow:0 5px #c99a22}.g-ph>.g-play{top:300px}.g-cta2{text-align:center;color:#c9ceeb;margin:14px auto 0;font:600 15px/1 "Baloo 2",sans-serif;display:block}.g-ph>.g-tog{background:#2a3160;border-radius:16px;align-items:center;gap:10px;padding:11px 14px;display:flex;top:392px;left:34px;right:34px}.g-tog>div{flex:1}.g-tog b{font:700 16px/1.1 "Baloo 2",sans-serif;display:block}.g-tog small{color:#c9ceeb;font:500 12px/1.3 "Baloo 2",sans-serif}.g-sw{background:#3a4380;border-radius:13px;flex:none;width:44px;height:26px;position:relative}.g-sw:after{content:"";background:#9aa2cc;border-radius:50%;width:20px;height:20px;position:absolute;top:3px;left:3px}.g-ph>.g-over{text-align:center;background:#2a3160;border-radius:22px;padding:22px 18px;top:86px;left:26px;right:26px}.g-over h4{margin:0;font:800 36px/1 "Baloo 2",sans-serif}.g-lab{color:#9aa2cc;margin-top:16px;font:600 12px/1 "Baloo 2",sans-serif}.g-big{color:#f7c548;font:800 46px/1.05 "Baloo 2",sans-serif}.g-row{color:#c9ceeb;justify-content:center;gap:18px;margin:10px 0 20px;font:600 14px/1.2 "Baloo 2",sans-serif;display:flex}.react-flow{--xy-edge-stroke-default:#b1b1b7;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#555;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#ffffff80;--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:#f0f0f099;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#e2e2e2;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:transparent;--xy-background-pattern-dots-color-default:#91919a;--xy-background-pattern-lines-color-default:#eee;--xy-background-pattern-cross-color-default:#e2e2e2;background-color:var(--xy-background-color,var(--xy-background-color-default));--xy-node-border-default:1px solid #bbb;--xy-node-border-selected-default:1px solid #555;--xy-handle-background-color-default:#333;--xy-selection-background-color-default:#9696b41a;--xy-selection-border-default:1px dotted #9b9b9bcc;--xy-resize-background-color-default:#3367d9;direction:ltr}.react-flow.dark{--xy-edge-stroke-default:#3e3e3e;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#727272;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#96969640;--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:#3c3c3c99;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#2b2b2b;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#141414;--xy-background-pattern-dots-color-default:#555;--xy-background-pattern-lines-color-default:#333;--xy-background-pattern-cross-color-default:#333;--xy-node-color-default:#f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props,var(--xy-background-color,var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width,var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke,var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width,var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{pointer-events:none;position:absolute;overflow:visible}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected,var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}svg.react-flow__connectionline{z-index:1001;position:absolute;overflow:visible}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default;position:absolute}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background-color:var(--xy-handle-background-color,var(--xy-handle-background-color-default));min-width:5px;min-height:5px;position:absolute}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:0;left:50%;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{z-index:5;margin:15px;position:absolute}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px)translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px)translateY(-50%)}.react-flow__attribution{background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__viewport-portal{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__minimap{background:var(--xy-minimap-background-color-props,var(--xy-minimap-background-color,var(--xy-minimap-background-color-default)))}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var(--xy-minimap-mask-background-color-props,var(--xy-minimap-mask-background-color,var(--xy-minimap-mask-background-color-default)));stroke:var(--xy-minimap-mask-stroke-color-props,var(--xy-minimap-mask-stroke-color,var(--xy-minimap-mask-stroke-color-default)));stroke-width:var(--xy-minimap-mask-stroke-width-props,var(--xy-minimap-mask-stroke-width,var(--xy-minimap-mask-stroke-width-default)))}.react-flow__minimap-node{fill:var(--xy-minimap-node-background-color-props,var(--xy-minimap-node-background-color,var(--xy-minimap-node-background-color-default)));stroke:var(--xy-minimap-node-stroke-color-props,var(--xy-minimap-node-stroke-color,var(--xy-minimap-node-stroke-color-default)));stroke-width:var(--xy-minimap-node-stroke-width-props,var(--xy-minimap-node-stroke-width,var(--xy-minimap-node-stroke-width-default)))}.react-flow__background-pattern.dots{fill:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-dots-color-default)))}.react-flow__background-pattern.lines{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-lines-color-default)))}.react-flow__background-pattern.cross{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-cross-color-default)))}.react-flow__controls{flex-direction:column;display:flex}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{justify-content:center;align-items:center;width:26px;height:26px;padding:4px;display:flex}.react-flow__controls-button svg{fill:currentColor;width:100%;max-width:12px;max-height:12px}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{border:var(--xy-node-border,var(--xy-node-border-default));color:var(--xy-node-color,var(--xy-node-color-default))}.react-flow__node-input.selected,.react-flow__node-input:focus,.react-flow__node-input:focus-visible,.react-flow__node-default.selected,.react-flow__node-default:focus,.react-flow__node-default:focus-visible,.react-flow__node-output.selected,.react-flow__node-output:focus,.react-flow__node-output:focus-visible,.react-flow__node-group.selected,.react-flow__node-group:focus,.react-flow__node-group:focus-visible{border:var(--xy-node-border-selected,var(--xy-node-border-selected-default));outline:none}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color,var(--xy-selection-background-color-default));border:var(--xy-selection-border,var(--xy-selection-border-default))}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border:1px solid #fff;border-radius:1px;width:5px;height:5px;translate:-50% -50%}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border-style:solid;border-width:0}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.space{height:calc(100vh - 52px);min-height:560px;position:relative;overflow:hidden}.space>.flow{background:var(--ground);position:absolute;inset:0}.space>.vchat,.space>.vchat-tab{z-index:4;position:absolute;top:16px;left:16px}.space>.vchat{height:auto;bottom:16px}.flow-wait{color:var(--ink-2);padding:24px 400px}.flow .react-flow__node{cursor:default}.flow .react-flow__node:has(.task){cursor:pointer}.flow .react-flow__handle{opacity:0;pointer-events:none;border:0;width:1px;min-width:0;height:1px;min-height:0}.flow .n{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);color:var(--ink);font:400 14px/1.5 Be Vietnam Pro,sans-serif}.flow .task{padding:10px 12px 11px}.flow .task .who{color:var(--ink-2);justify-content:space-between;align-items:center;gap:6px;margin-bottom:8px;font:500 12px/1 Be Vietnam Pro;display:flex}.flow .task .who span:first-child{white-space:nowrap}.flow .task .t{font:600 14px/1.35 Be Vietnam Pro}.flow .task .meta{color:var(--ink-2);margin-top:7px;font-size:12px}.flow .task.err{border-color:#e7c4be}.flow .task.wait{border-color:#e9d3ae}.flow .task.sel{border:1.5px solid var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.flow .art{background:#fbfaf7;padding:9px 11px}.flow .art .k{white-space:nowrap;color:var(--ink-2);align-items:center;gap:6px;margin-bottom:6px;font:500 11px/1 Be Vietnam Pro;display:flex}.flow .art .t{font:600 13px/1.3 Be Vietnam Pro}.flow .art .v{margin-top:6px}.flow .art .bad{white-space:nowrap;color:var(--err);font-size:11px}.flow .art.pend{color:var(--ink-2);background:0 0;border-style:dashed;border-color:#b9b6ab}.flow .legend{z-index:5;color:var(--ink-2);border:1px solid var(--line);background:#fffc;border-radius:8px;gap:14px;padding:6px 10px;font-size:12px;display:flex;position:absolute;top:16px;right:20px}.flow .legend.low{inset:auto auto 18px 76px}.flow .legend i{vertical-align:-1px;border-radius:3px;width:10px;height:10px;margin-right:5px;display:inline-block}.flow .legend .lt{background:#fff;border:1px solid #b9b6ab}.flow .legend .la{background:#fbfaf7;border:1px solid #b9b6ab;border-radius:2px}.flow .legend .lp{border:1px dashed #b9b6ab}.flow .zoom{z-index:5;gap:6px;display:flex;position:absolute;bottom:18px;right:20px}.flow .zoom.shift{right:452px}.flow .zoom button{color:var(--ink-2);background:var(--surface);border:1px solid var(--line);cursor:pointer;border-radius:8px;padding:6px 10px;font:500 12px/1 Be Vietnam Pro}.drawer{z-index:4;background:var(--surface);border:1px solid var(--line);border-radius:14px;flex-direction:column;width:420px;display:flex;position:absolute;top:16px;bottom:16px;right:16px;box-shadow:0 8px 24px #1e1d1a14}.drawer.wide{width:640px}.drawer .pad{padding:16px}.drawer .dh{border-bottom:1px solid var(--line);padding:14px 16px 14px 18px}.drawer .r1{color:var(--ink-2);align-items:center;gap:6px;font:500 12px/1 Be Vietnam Pro;display:flex}.drawer .r1 .sp{flex:1}.drawer .ib{height:28px;color:var(--ink-2);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:7px;justify-content:center;align-items:center;gap:6px;padding:0 8px;font:500 12px/1 Be Vietnam Pro;display:flex}.drawer .ib.x{width:28px;padding:0}.drawer .ib.ln{border:1px solid var(--line)}.drawer h2{margin:8px 0 10px;font:600 16px/1.4 Be Vietnam Pro}.drawer .r3{color:var(--ink-2);align-items:center;gap:10px;font-size:13px;display:flex}.drawer .r3 .ag{color:var(--ink);white-space:nowrap;align-items:center;gap:7px;font-weight:500;display:flex}.drawer .r3 b{color:var(--ink);font-weight:600}.drawer .av{width:22px;height:22px;color:var(--ink-2);text-align:center;background:#ecebe5;border-radius:6px;flex:none;font:600 11px/22px Be Vietnam Pro}.drawer .why{border:1px solid var(--line);background:#fbfaf7;border-radius:10px;margin:14px 16px 0;padding:12px 14px}.drawer .why .h{margin-bottom:6px;font:600 13px/1.3 Be Vietnam Pro}.drawer .why .src{color:var(--ink-2);font-size:12.5px;line-height:1.5}.drawer .why .id{color:var(--accent);text-underline-offset:3px;font:500 12px/1 JetBrains Mono,monospace;-webkit-text-decoration:underline #b8c4e3;text-decoration:underline #b8c4e3}.drawer .ea{grid-template-columns:72px 1fr;gap:5px 10px;margin:10px 0 0;font-size:13px;line-height:1.5;display:grid}.drawer .ea dt{color:var(--ink-2);font-weight:500}.drawer .ea dd{margin:0}.drawer .ea dd.bad{color:var(--err)}.drawer .why .lim{border-top:1px solid var(--line);color:var(--ink-2);margin-top:10px;padding-top:9px;font-size:12px;line-height:1.45}.drawer .dmsgs{flex-direction:column;flex:1;gap:13px;margin:0;padding:16px 16px 14px;list-style:none;display:flex;overflow:auto}.drawer .dmsgs>:first-child{margin-top:auto}.drawer .dmsgs .ev{color:var(--ink-2);align-items:center;gap:8px;font-size:12px;display:flex}.drawer .dmsgs .ev:before,.drawer .dmsgs .ev:after{content:"";background:var(--line);flex:1;height:1px}.drawer .m .who{align-items:baseline;gap:8px;margin-bottom:5px;font:600 12px/1 Be Vietnam Pro;display:flex}.drawer .m .who time{color:var(--ink-2);font-weight:400}.drawer .m .b{font-size:13.5px;line-height:1.55}.drawer .m.me .b{background:#f1f0ea;border-radius:10px;padding:9px 11px}.drawer .prog{color:var(--ink-2);align-items:center;gap:10px;font-size:12.5px;display:flex}.drawer .spin{border:2px solid var(--accent-soft);border-top-color:var(--accent);border-radius:50%;flex:none;width:12px;height:12px;animation:.9s linear infinite vibee-spin}@keyframes vibee-spin{to{transform:rotate(360deg)}}.drawer .fail{color:var(--err);margin:0 16px 8px;font-size:12.5px}.drawer .input{border:1px solid var(--line);border-radius:12px;align-items:center;gap:8px;margin:0 12px 12px;padding:6px 6px 6px 13px;display:flex}.drawer .input input{color:var(--ink);border:0;outline:none;flex:1;padding:4px 0;font:400 13.5px/1.5 Be Vietnam Pro}.drawer .send{background:var(--accent);cursor:pointer;border:0;border-radius:8px;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.qcard{color:var(--ink);font:400 14px/1.5 Be Vietnam Pro,sans-serif}.qcard.ask{background:#fffbf4;border:1px solid #e9d3ae;border-radius:12px;padding:12px}.qcard.ask .q{margin:8px 0 10px;font:600 14px/1.4 Be Vietnam Pro}.qcard .opts{gap:6px;display:grid}.qcard .opt{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:8px;align-items:center;gap:9px;padding:8px 10px;font-size:13px;display:flex}.qcard .opt input{opacity:0;pointer-events:none;position:absolute}.qcard .opt .r{border:1.5px solid #b9b6ab;border-radius:50%;flex:none;width:15px;height:15px}.qcard .opt.on{border-color:var(--accent)}.qcard .opt.on .r{border:4.5px solid var(--accent)}.qcard .opt:has(input:focus-visible){outline:2px solid var(--accent-soft)}.qcard .opt small{color:var(--ink-2);margin-left:auto;font-size:12px}.qcard .own{border:1px solid var(--accent);color:var(--ink);background:#fff;border-radius:8px;padding:7px 10px;font:400 13px/1.5 Be Vietnam Pro}.qcard .row{gap:8px;margin-top:10px;display:flex}.qcard .note{color:var(--ink-2);margin-top:9px;font-size:12px;line-height:1.45}.qcard .note.bad{color:var(--err)}.qcard .fu{border-top:1px dashed #e9d3ae;flex-direction:column;gap:10px;margin-top:12px;padding-top:12px;display:flex}.qcard .m .who{align-items:baseline;gap:8px;margin-bottom:5px;font:600 12px/1 Be Vietnam Pro;display:flex}.qcard .m .who time{color:var(--ink-2);font-weight:400}.qcard .m .b{font-size:13px;line-height:1.5}.qcard .m.me .b{background:#f3eee3;border-radius:10px;padding:9px 11px}.qcard .mini{border:1px solid var(--line);background:#fff;border-radius:9px;align-items:center;gap:8px;padding:4px 4px 4px 11px;display:flex}.qcard .mini input{min-width:0;color:var(--ink);border:0;outline:none;flex:1;padding:3px 0;font:400 12.5px/1.5 Be Vietnam Pro}.qcard .mini .send{cursor:pointer;background:#ecebe5;border:0;border-radius:6px;justify-content:center;align-items:center;width:24px;height:24px;display:flex}.qcard.done{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px}.qcard .top2{justify-content:space-between;align-items:center;gap:8px;display:flex}.qcard .lk{color:var(--accent);white-space:nowrap;cursor:pointer;background:0 0;border:0;padding:0;font:600 12.5px/1 Be Vietnam Pro}.qcard .qq{color:var(--ink-2);margin:9px 0 6px;font-size:12.5px;line-height:1.45}.qcard .ans{align-items:center;gap:8px;font-size:13.5px;display:flex}.qcard .ans b{font-weight:600}.qcard .ans time{color:var(--ink-2);font-size:12.5px}.qcard.done .why{margin-top:2px;font-size:13px;line-height:1.5}.qwrap.wide .qcard.ask{padding:16px}.qwrap.wide .qcard.ask .q{margin:10px 0 12px;font-size:16px}.qwrap.wide .qcard .opt{gap:10px;padding:10px 12px;font-size:14px}.qwrap.wide .qcard .opt .r{width:16px;height:16px}.qwrap.wide .qcard .opt.on .r{border-width:5px}.qwrap.wide .qcard .note{font-size:12.5px}.inbox .cnt{color:#fff;background:var(--wait);border-radius:9px;padding:4px 7px;font:600 12px/1 Be Vietnam Pro}.inbox-body{gap:16px;height:calc(100vh - 52px);min-height:560px;display:flex}.inbox .list{flex:none;width:620px;padding:24px 24px 24px 32px;overflow:auto}.inbox .list h1{margin:0;font:600 24px/1.3 Be Vietnam Pro}.inbox .list .sub{margin:4px 0 0;font-size:14px}.inbox .tabs{border-bottom:1px solid var(--line);gap:6px;margin-top:18px;display:flex}.inbox .tabs button{color:var(--ink-2);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-1px;padding:9px 10px 11px;font:500 13px/1 Be Vietnam Pro;display:flex}.inbox .tabs i{color:var(--ink-2);background:#e9e7df;border-radius:8px;padding:3px 6px;font:500 11px/1 Be Vietnam Pro}.inbox .tabs .on{color:var(--ink);border-bottom-color:var(--ink)}.inbox .tabs .on i{color:#fff;background:var(--ink)}.inbox .gh{color:var(--ink-2);justify-content:space-between;margin:20px 0 10px;font:600 12px/1 Be Vietnam Pro;display:flex}.inbox .gh span{font-weight:500}.inbox .empty{color:var(--ink-2);font-size:13px}.inbox .it{background:var(--surface);border:1px solid var(--line);cursor:pointer;border-radius:12px;margin-bottom:10px;padding:14px 16px}.inbox .it.on{background:var(--accent-soft);border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}.inbox .it .h{color:var(--ink-2);align-items:center;gap:8px;font:500 12.5px/1 Be Vietnam Pro;display:flex}.inbox .it .h b{color:var(--ink);font-weight:600}.inbox .it .h time{white-space:nowrap;margin-left:auto}.inbox .it .t{margin-top:10px;font:600 15px/1.45 Be Vietnam Pro}.inbox .it .df{color:var(--ink-2);margin-top:3px;font-size:13px;line-height:1.5}.inbox .it .df b{color:var(--ink);font-weight:500}.inbox .it .f{justify-content:space-between;align-items:center;margin-top:12px;display:flex}.inbox .who{color:var(--ink-2);white-space:nowrap;align-items:center;gap:7px;font-size:12.5px;display:flex}.inbox .ag{text-align:center;width:22px;height:22px;color:var(--ink-2);background:#ecebe5;border-radius:6px;font:700 11px/22px Be Vietnam Pro}.inbox .dones{margin:0;padding:0;list-style:none}.inbox .dl{color:var(--ink-2);border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:10px 4px;font-size:13px;display:flex}.inbox .dl:last-child{border-bottom:0}.inbox .dl .tk{color:var(--ok);flex:none;display:flex}.inbox .dl .tx{font:inherit;color:inherit;text-align:left;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:0;flex:1;padding:0;overflow:hidden}.inbox .dl .tx[aria-current]{color:var(--accent)}.inbox .dl .tx b{color:var(--ink);font-weight:500}.inbox .dl time{white-space:nowrap;font-size:12.5px}.inbox .pane{background:var(--surface);border:1px solid var(--line);border-radius:14px;flex-direction:column;flex:1;min-width:0;margin:16px 16px 16px 0;display:flex;overflow:auto;box-shadow:0 8px 24px #1e1d1a14}.inbox .pane.blank{justify-content:center;align-items:center}.inbox .pane .hd{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:14px 16px 14px 24px;display:flex}.inbox .pane .hd .crumb{font-size:13px}.inbox .pane .hd .sp{flex:1}.inbox .pane .x{width:32px;height:32px;color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;display:flex}.inbox .pb{flex-direction:column;gap:20px;padding:24px 28px;display:flex}.inbox .meta{color:var(--ink-2);align-items:center;gap:10px;font-size:13px;display:flex}.inbox .meta .ag{width:28px;height:28px;color:var(--accent);background:var(--accent-soft);border-radius:8px;font-size:13px;line-height:28px}.inbox .meta b{color:var(--ink);font-weight:600}.inbox .pb>.why{font-size:14px;line-height:1.6}.inbox .pb h4{color:var(--ink-2);margin:0 0 8px;font:600 12px/1 Be Vietnam Pro}.inbox .ctx{border-top:1px solid var(--line);padding-top:16px}.inbox .ctx .ln{color:var(--ink-2);margin-top:6px;font-size:13px}.inbox .ctx .go{margin-top:14px}.inbox .lnk{color:var(--accent);align-items:center;gap:6px;font:600 13px/1 Be Vietnam Pro;text-decoration:none;display:inline-flex}:root{--ground:#f4f3ee;--surface:#fff;--line:#e2e0d8;--ink:#1e1d1a;--ink-2:#66645c;--accent:#2347a1;--accent-soft:#e7ecf7;--wait:#a86a12;--ok:#3f7d5c;--err:#b03a2e;--r:10px}body{color:var(--ink);background:var(--ground);margin:0;font:400 14px/1.5 Be Vietnam Pro,sans-serif}.nowrap{white-space:nowrap}.btn{border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:8px;padding:9px 14px;font:600 13px/1 Be Vietnam Pro}.btn.p{background:var(--accent);border-color:var(--accent);color:#fff}.btn:disabled{opacity:.6;cursor:default}*{box-sizing:border-box}.mono{font-family:JetBrains Mono,monospace}a{color:var(--accent)}.account{color:var(--ink-2);align-items:center;gap:12px;font:500 13px/1.5 Be Vietnam Pro;display:flex}.chip{white-space:nowrap;border-radius:999px;padding:5px 8px;font:500 12px/1 Be Vietnam Pro;display:inline-block}.chip.wait{color:var(--wait);background:#f6ecdc}.chip.ok{color:var(--ok);background:#e3efe8}.chip.err{color:var(--err);background:#f5e1de}.chip.run{background:var(--accent-soft);color:var(--accent)}.chip.mute{color:var(--ink-2);background:#ecebe5}a.btn{text-decoration:none;display:inline-block}.app{min-width:1024px;min-height:100vh;display:flex}.rail{background:var(--surface);border-right:1px solid var(--line);z-index:5;flex-direction:column;flex:none;align-items:center;gap:6px;width:64px;height:100vh;padding:14px 0;display:flex;position:sticky;top:0}.logo{background:var(--accent);color:#fff;text-align:center;border-radius:9px;width:34px;height:34px;margin-bottom:14px;font:700 18px/34px Be Vietnam Pro}.ri{width:44px;height:44px;color:var(--ink-2);border-radius:10px;justify-content:center;align-items:center;display:flex;position:relative}.ri.on{background:var(--accent-soft);color:var(--accent)}.ri .badge{background:var(--wait);color:#fff;text-align:center;border-radius:9px;min-width:17px;height:17px;padding:0 4px;font:600 11px/17px Be Vietnam Pro;position:absolute;top:6px;right:5px}.rail .grow{flex:1}.screen{flex:1;min-width:0}.top{border-bottom:1px solid var(--line);z-index:3;background:#f4f3eeeb;align-items:center;gap:12px;height:52px;padding:0 24px;display:flex;position:sticky;top:0}.top .sp{flex:1}.ttl{font:600 15px/1 Be Vietnam Pro}.cnt{color:var(--ink-2);background:#ecebe5;border-radius:6px;padding:4px 6px;font:500 12px/1 JetBrains Mono,monospace}.crumb{color:var(--ink-2);font-weight:500}.crumb b{color:var(--ink);font-weight:600}.crumb a{color:inherit;text-decoration:none}.stat{color:var(--ink-2);white-space:nowrap;font-size:13px}.stat b{color:var(--ink);font-weight:600}.stat.wait,.stat.wait b{color:var(--wait)}.sep{background:var(--line);width:1px;height:18px}.av{width:30px;height:30px;color:var(--ink);text-align:center;background:#dcd9ce;border-radius:50%;font:600 13px/30px Be Vietnam Pro}.page{gap:16px;max-width:960px;padding:28px 32px;display:grid}.page h1{margin:0;font:600 24px/1.25 Be Vietnam Pro}.page h2{margin:8px 0 0;font:600 16px/1.4 Be Vietnam Pro}.sub{color:var(--ink-2);font-size:13px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);gap:10px;padding:14px;display:grid}.card textarea,.card input,.input input,.row input{border:1px solid var(--line);color:var(--ink);border-radius:8px;padding:8px 10px;font:400 14px/1.5 Be Vietnam Pro}.rows{gap:6px;margin:0;padding:0;list-style:none;display:grid}.rows li{background:var(--surface);border:1px solid var(--line);border-radius:8px;align-items:center;gap:10px;padding:8px 10px;display:flex}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ask{background:#fffbf4;border-color:#e9d3ae}.ask .q{margin:0;font:600 14px/1.4 Be Vietnam Pro}.note{color:var(--ink-2);margin:0;font-size:12px}.space{align-items:flex-start;gap:16px;padding:16px;display:flex}.canvas{flex:1;gap:8px;display:grid}.chat{background:var(--surface);border:1px solid var(--line);border-radius:14px;flex-direction:column;flex:none;width:360px;max-height:calc(100vh - 84px);display:flex;box-shadow:0 8px 24px #1e1d1a14}.chat .hd{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.msgs{gap:10px;margin:0;padding:14px 16px;font-size:13.5px;line-height:1.55;list-style:none;display:grid;overflow:auto}.msgs .me{background:#f1f0ea;border-radius:10px;padding:9px 11px}.msgs .ev{color:var(--ink-2);text-align:center;font-size:12px}.chat .input{gap:8px;margin:0 12px 12px;display:flex}.chat .input input{flex:1}.kpis{grid-template-columns:max-content 1fr;gap:8px 16px;margin:0;display:grid}.kpis dt{color:var(--ink-2)}.kpis dd{margin:0;font-weight:600}.signin{box-sizing:border-box;place-items:center;min-height:100vh;padding:24px;display:grid}.signin-card{box-sizing:border-box;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);gap:16px;width:100%;max-width:360px;padding:32px;display:grid;box-shadow:0 8px 24px #1e1d1a14}.signin-card h1{margin:0;font:600 24px/1.3 Be Vietnam Pro}.signin-card label{color:var(--ink-2);gap:6px;font:500 13px/1.5 Be Vietnam Pro;display:grid}.signin-card input{border:1px solid var(--line);color:var(--ink);background:var(--surface);border-radius:8px;padding:8px 10px;font:400 14px/1.5 Be Vietnam Pro}.signin-card input:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}.problem{color:var(--err);margin:0}.card>.chip{justify-self:start}
