/* Em Bắp 1.0 — giao diện công khai: tông tím nhạt, thẻ bo tròn, giống văn phòng cũ nhưng gọn hơn. */
@import url('https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:wght@400;500;600;700;800&display=swap');
:root{--bg:#f7f6fa;--card:#fff;--ink:#23202e;--muted:#6f6a80;--line:#e9e5f2;--soft:#f2eefb;--accent:#7c5cd6;--accent-2:#a58cf0;--ok:#2f9e6b;--warn:#d98a1c;--bad:#d24a5c;--stage:#2a2140;--stage-2:#3a2f58;--r:18px;--shadow:0 1px 2px rgba(40,20,90,.04),0 8px 24px rgba(40,20,90,.05);color-scheme:light}
:root[data-theme=dark]{--bg:#15121d;--card:#1f1b2a;--ink:#ece8f6;--muted:#a49db8;--line:#2f2a3e;--soft:#2a2438;--accent:#a58cf0;--accent-2:#7c5cd6;--stage:#120e1c;--stage-2:#221a34;--shadow:none;color-scheme:dark}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#15121d;--card:#1f1b2a;--ink:#ece8f6;--muted:#a49db8;--line:#2f2a3e;--soft:#2a2438;--accent:#a58cf0;--accent-2:#7c5cd6;--stage:#120e1c;--stage-2:#221a34;--shadow:none;color-scheme:dark}}
*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--ink);font:15px/1.55 'Be Vietnam Pro',system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased}
a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{line-height:1.25;margin:0 0 .4em}h2{font-size:20px}h3{font-size:16px}p{margin:.3em 0 .8em}
button,input,textarea,select{font:inherit;color:inherit}
.btn,button.btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--card);border-radius:12px;padding:8px 14px;cursor:pointer;font-weight:600;font-size:14px;color:var(--ink);text-decoration:none}
.btn:hover{border-color:var(--accent-2);text-decoration:none}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover{filter:brightness(1.05)}.btn.small{padding:5px 10px;font-size:13px;border-radius:10px}.btn.ghost{background:transparent}.btn:disabled{opacity:.5;cursor:not-allowed}
input,textarea,select{width:100%;border:1px solid var(--line);background:var(--card);border-radius:12px;padding:9px 12px;outline:none}input:focus,textarea:focus,select:focus{border-color:var(--accent-2);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 15%,transparent)}
label{display:block;font-size:13px;color:var(--muted);margin:8px 0 4px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:20px}
.eyebrow{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-weight:700;margin:0 0 6px}
.muted{color:var(--muted)}.small{font-size:13px}.tiny{font-size:12px}.center{text-align:center}.row-gap{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;background:var(--soft);padding:3px 10px;font-size:12px;color:var(--muted);font-weight:600}.pill i{width:7px;height:7px;border-radius:50%;background:var(--ok);display:inline-block}
.pill.warn{color:var(--warn)}.pill.bad{color:var(--bad)}.pill.ok{color:var(--ok)}
.wrap{max-width:1280px;margin:0 auto;padding:0 20px}.wrap.narrow{max-width:860px;padding-top:24px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.foot{max-width:1280px;margin:40px auto 24px;padding:16px 20px;border-top:1px solid var(--line);color:var(--muted);font-size:13px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}

/* thanh trên */
.topbar{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:18px;padding:10px 20px}
.brand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none!important}.brand img{border-radius:12px}.brand b{font-size:21px;font-weight:800;letter-spacing:-.02em}.brand span{font-weight:400;font-size:14px;color:var(--muted)}
.topbar nav{display:flex;gap:4px;flex-wrap:wrap;flex:1}.topbar nav a{white-space:nowrap;color:var(--muted);padding:6px 10px;border-radius:10px;font-weight:500;font-size:14px}.topbar nav a:hover,.topbar nav a.on{color:var(--ink);background:var(--soft);text-decoration:none}
.top-right{display:flex;align-items:center;gap:8px}.icon-btn{border:1px solid var(--line);background:var(--card);border-radius:10px;width:36px;height:36px;cursor:pointer}
.owner-link{font-size:13px;color:var(--muted)}

/* banner tài trợ */
.sponsors{margin:18px auto 0;container-type:inline-size}.sponsor-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;gap:12px;flex-wrap:wrap}.sponsor-head h2{font-size:10px;letter-spacing:.14em;color:var(--muted);margin:0;font-weight:650}.sponsor-head .row-gap{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.link-btn{border:0;background:none;padding:0;color:#9170ad;cursor:pointer;font:inherit;font-size:13px}.link-btn:hover{text-decoration:underline}
.sponsor-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.banner-wrap{min-width:0}.sponsor-link{display:block;width:100%;padding:0;border:0;background:none;text-align:left;font:inherit;color:inherit;cursor:pointer;text-decoration:none!important;border-radius:14px}
.sponsor-card{--banner-ink:#71598f;position:relative;display:flex;flex-direction:column;justify-content:space-between;isolation:isolate;min-width:0;min-height:150px;padding:14px 18px;overflow:hidden;border:1px solid #e4d9ec;border-radius:14px;background:#f2edf7;color:var(--banner-ink);transition:transform .2s,box-shadow .2s}
.sponsor-link:hover .sponsor-card{transform:translateY(-2px);box-shadow:0 5px 20px #35223d12}.sponsor-tone-2{--banner-ink:#517c6b;background:#edf4ee;border-color:#dce9df}.sponsor-tone-3{--banner-ink:#9a784b;background:#fbf4e8;border-color:#eee2cc}
.sponsor-top{display:flex;align-items:center;gap:7px;position:relative;z-index:2;font-size:9px;font-weight:650;letter-spacing:1px;line-height:1.4}.sponsor-top>span:nth-child(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sponsor-number{display:inline-grid;place-items:center;flex:none;background:#ffffffaa;border:1px solid #ffffffc0;border-radius:6px;width:23px;height:23px;font-size:10px;letter-spacing:0}.sponsor-arrow{margin-left:auto;font-size:13px}
.sponsor-copy{position:relative;z-index:2;margin:11px 52px 13px 0;min-width:0}.sponsor-copy strong{font-size:15px;line-height:1.4;letter-spacing:-.3px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.sponsor-copy p{font-size:11px;line-height:1.5;margin:5px 0 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;opacity:.85}
.sponsor-decoration{position:absolute;right:18px;top:46px;font-size:46px;line-height:1;opacity:.4;transform:rotate(-12deg);z-index:1}
.sponsor-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px;position:relative;z-index:2;font-size:10px;line-height:1.5}.sponsor-bottom>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:62%}.sponsor-bottom b{font-weight:600;white-space:nowrap}
.sponsor-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}.sponsor-card.has-image:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#19102470,#19102420 25%,#19102485 65%,#191024cf);z-index:1}.sponsor-card.has-image{--banner-ink:#fff;border-color:#ddd}.sponsor-card.has-image .sponsor-number{color:#46334b}.sponsor-card.has-campaign .sponsor-copy{margin-right:0}.sponsor-card.has-image .sponsor-copy{text-shadow:0 1px 6px #0007}
.slot-action{display:flex;width:100%;align-items:center;justify-content:space-between;gap:8px;padding:9px 6px 0;border:0;background:none;color:#8b71a0;font:inherit;font-size:11px;text-align:left;line-height:1.6;cursor:pointer}.slot-action b{font-size:11px;font-weight:500;white-space:nowrap}.slot-action:disabled{opacity:.5;cursor:default}.slot-action:hover:not(:disabled) span{text-decoration:underline}
.sponsor-link:focus-visible,.slot-action:focus-visible{outline:3px solid #b89bce;outline-offset:3px}
:root[data-theme=dark] .sponsor-card:not(.has-image){background:var(--card);border-color:var(--line)}:root[data-theme=dark] .sponsor-tone-1:not(.has-image){--banner-ink:#c6b0e0}:root[data-theme=dark] .sponsor-tone-2:not(.has-image){--banner-ink:#9fd0bb}:root[data-theme=dark] .sponsor-tone-3:not(.has-image){--banner-ink:#e5c48f}:root[data-theme=dark] .slot-action,:root[data-theme=dark] .link-btn{color:#bda0d0}
dialog.wide{max-width:920px}.bk-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:24px;margin-top:12px;align-items:start}
.bk-form label{display:flex;flex-direction:column;gap:6px;font-size:12px;margin:0 0 12px}.bk-form input:not([type=checkbox]):not([type=radio]),.bk-form select,.bk-form textarea{width:100%;min-width:0;border:1px solid var(--line);border-radius:9px;padding:10px 12px;background:var(--soft);color:var(--ink);font:inherit}.bk-form textarea{resize:vertical}
.bk-form input[type=radio],.bk-form input[type=checkbox]{width:auto!important;flex:none;margin:0;padding:0}.bk-form .bk-consent span{flex:1}.bk-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.bk-start{border:0;padding:0;margin:0 0 12px;display:flex;gap:16px;flex-wrap:wrap;font-size:12px}.bk-start legend{font-size:12px;margin-bottom:6px;padding:0}.bk-start label{flex-direction:row!important;align-items:center;margin:0!important}
.bk-avail{font-size:12px;line-height:1.7;color:#517c6b;background:#edf4ee;border-radius:9px;padding:10px 12px;margin-bottom:10px}.bk-avail.taken{color:#a3445c;background:#fbecef}.bk-avail button{display:block;margin-top:6px;border:0;background:#fff;border-radius:7px;padding:6px 10px;color:#7b5aa0;cursor:pointer;font:inherit;font-size:11px}
.bk-res{font-size:11px;color:var(--muted);margin-bottom:12px}.bk-res summary{cursor:pointer}.bk-res ul{margin:6px 0 0;padding-left:18px;line-height:1.8}
.bk-img{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:11px;color:var(--muted);margin:-4px 0 12px}.bk-img button{border:0;background:var(--soft);border-radius:7px;padding:5px 9px;cursor:pointer;font:inherit;font-size:11px}
.bk-form .bk-consent{flex-direction:row;align-items:flex-start;gap:9px;font-size:11px;line-height:1.7;color:var(--muted)}.bk-consent input{margin-top:4px!important;accent-color:#9470b4;flex:none}
.bk-form .btn[data-submit]{width:100%;justify-content:center}.bk-form .btn:disabled{opacity:.5;cursor:not-allowed}
.bk-side{position:sticky;top:0}.bk-side .sponsor-card{min-height:158px}.bk-sum{margin-top:14px;border:1px solid var(--line);border-radius:12px;padding:12px 14px;font-size:12px}.bk-sum>div{display:flex;justify-content:space-between;gap:10px;padding:4px 0}.bk-sum span{color:var(--muted)}.bk-total{border-top:1px solid var(--line);margin-top:6px;padding-top:9px!important}.bk-total strong{font-size:20px;color:#7b5aa0}.bk-sum .tiny{margin:8px 0 0;color:#517c6b}.bk-sum .tiny.short{color:#a3445c}
.bk-ok{text-align:center;padding:26px 8px}.bk-ok>span{display:inline-grid;place-items:center;width:56px;height:56px;border-radius:18px;color:#688f7c;background:#e7f2eb;font-size:24px;margin-bottom:14px}.bk-ok h2{margin:6px 0 10px}.bk-ok p{color:var(--muted)}
.bk-row{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-top:1px solid var(--line)}.bk-row h4{margin:8px 0 4px;font-size:14px;overflow-wrap:anywhere}.bk-row>div:last-child{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex:none;text-align:right}
@container (max-width:640px){.sponsor-grid{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(250px,86%);overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:6px}.banner-wrap{scroll-snap-align:start}}
@media (max-width:760px){.bk-grid{grid-template-columns:1fr}.bk-side{position:static;order:-1}.bk-two{grid-template-columns:1fr 1fr}dialog.wide .dlg{padding:18px}}

/* lưới live */
.live-grid{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:18px;margin-top:18px}
.stage-card{padding:0;overflow:hidden}
.stage-top{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--line)}
.stage{position:relative;aspect-ratio:16/10;background:var(--stage);overflow:hidden}
.stage svg.room{position:absolute;inset:0;width:100%;height:100%}
.bap{position:absolute;left:50%;bottom:9%;width:31%;aspect-ratio:1;transform:translateX(-50%);background:url(/assets/char/bap-atlas.webp) no-repeat;background-size:400% 300%;filter:drop-shadow(0 10px 14px rgba(0,0,0,.35));transition:transform .4s}
.bap.bounce{animation:bounce .6s ease-in-out infinite alternate}.bap.sway{animation:sway 1.4s ease-in-out infinite alternate}
@keyframes bounce{to{transform:translateX(-50%) translateY(-5%)}}@keyframes sway{from{transform:translateX(-53%) rotate(-2deg)}to{transform:translateX(-47%) rotate(2deg)}}
.bubble{position:absolute;left:4%;top:7%;max-width:46%;background:#fffaf0;color:#2a2140;border-radius:16px;padding:12px 16px;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.bubble .eyebrow{font-size:10px;margin:0 0 4px;color:#a0662b}.bubble b{display:block;font-size:15px}.bubble p{margin:4px 0 0;font-size:13px;color:#5c556b;white-space:pre-line}
.stage-clock{position:absolute;right:3%;top:5%;color:#fff;text-align:right;font:700 22px/1 ui-monospace,monospace;letter-spacing:.06em}.stage-clock small{display:block;font:500 9px/1.6 'Be Vietnam Pro';letter-spacing:.2em;opacity:.7}
.stage-chips{position:absolute;left:4%;bottom:4%;right:4%;display:flex;gap:10px;align-items:center;background:rgba(20,14,34,.72);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:10px 14px;color:#fff;backdrop-filter:blur(6px)}
.stage-chips .goal{flex:1}.stage-chips small{opacity:.75;font-size:11px}.bar{height:6px;border-radius:9px;background:rgba(255,255,255,.18);overflow:hidden;margin-top:5px}.bar i{display:block;height:100%;background:linear-gradient(90deg,#a58cf0,#ffd27a);border-radius:9px;transition:width .6s}
.light .bar{background:var(--soft)}
.act-banner{position:absolute;left:50%;top:7%;transform:translateX(-50%);background:linear-gradient(135deg,#ffd27a,#ff9fb2);color:#2a2140;border-radius:999px;padding:8px 18px;font-weight:700;box-shadow:0 8px 24px rgba(0,0,0,.3);white-space:nowrap;max-width:70%;overflow:hidden;text-overflow:ellipsis}
.poem{position:absolute;right:4%;top:22%;max-width:36%;background:#fff;color:#2a2140;border-radius:14px;padding:10px 14px;font-size:13px;white-space:pre-line;box-shadow:0 8px 24px rgba(0,0,0,.3)}
.hearts{position:absolute;inset:0;pointer-events:none}.hearts span{position:absolute;bottom:20%;font-size:22px;animation:float 2.6s ease-out forwards}@keyframes float{to{transform:translateY(-260px) scale(1.4);opacity:0}}
.stage-below{padding:14px 16px}.acts{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-top:8px}
.act{border:1px solid var(--line);background:var(--soft);border-radius:14px;padding:10px 6px;text-align:center;cursor:pointer}.act:hover{border-color:var(--accent-2)}.act b{display:block;font-size:13px;margin-top:3px}.act small{color:var(--muted);font-size:11px}.act .e{font-size:20px}
.queue{font-size:12px;color:var(--muted);margin-top:8px}

/* chat */
.chat{display:flex;flex-direction:column;padding:0;min-height:560px;max-height:760px}
.chat-head{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid var(--line)}.chat-head h2{font-size:16px;margin:0}
.tabs{display:flex;gap:6px;padding:10px 16px 0}.tabs button{border:0;background:transparent;padding:6px 12px;border-radius:10px;cursor:pointer;color:var(--muted);font-weight:600;font-size:13px}.tabs button.on{background:var(--soft);color:var(--accent)}
.stream{flex:1 1 0;min-height:0;overflow-y:auto;padding:12px 16px;display:flex;flex-direction:column;gap:10px}.stream>*{flex-shrink:0}.stream[hidden],[hidden]{display:none!important}
.msg{max-width:88%;padding:9px 13px;border-radius:16px;font-size:14px;white-space:pre-wrap;word-wrap:break-word}.msg.bot{background:var(--soft);border-top-left-radius:6px}.msg.me{background:var(--accent);color:#fff;align-self:flex-end;border-top-right-radius:6px}
.msg .who{display:block;font-size:11px;color:var(--muted);margin-bottom:2px;font-weight:600}.msg.me .who{color:#efe9ff}
.typing{display:inline-flex;gap:4px}.typing i{width:6px;height:6px;border-radius:50%;background:var(--muted);animation:blink 1s infinite}.typing i:nth-child(2){animation-delay:.2s}.typing i:nth-child(3){animation-delay:.4s}@keyframes blink{50%{opacity:.25}}
.chips{display:flex;gap:6px;flex-wrap:wrap}.chips button{border:1px solid var(--line);background:var(--card);border-radius:999px;padding:5px 11px;font-size:13px;cursor:pointer;color:var(--muted)}.chips button:hover{color:var(--accent);border-color:var(--accent-2)}
.chat-form{border-top:1px solid var(--line);padding:12px 16px;display:grid;gap:8px}.chat-form .send{display:flex;gap:8px}.chat-form textarea{resize:none;min-height:46px}
.wall-item{border:1px solid var(--line);border-radius:14px;padding:9px 12px;font-size:14px}.wall-item b{font-size:13px}.wall-item .amt{color:var(--ok);font-weight:700;font-size:12px;margin-left:6px}

/* chỉ số */
.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:18px;padding:0}.metric{padding:18px 20px;border-right:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.metric:last-child{border:0}
.metric span{color:var(--muted);font-size:13px}.metric strong{font-size:28px;color:var(--accent)}.metric small{display:block;color:var(--muted);font-size:11px}

/* trung tâm */
.hub{margin-top:30px}.hub-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:14px}.hub-head h2{font-size:26px;margin:0}
.seg{display:flex;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:4px;gap:2px;flex-wrap:wrap}.seg button{border:0;background:transparent;padding:7px 14px;border-radius:10px;cursor:pointer;font-weight:600;font-size:14px;color:var(--muted)}.seg button.on{background:var(--soft);color:var(--ink)}
.two{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:18px}
.products{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}
.product{display:flex;flex-direction:column;gap:6px;padding:0;overflow:hidden}.product .cover{height:92px;background:linear-gradient(135deg,var(--stage),var(--stage-2));color:#fff;padding:12px 14px;font-size:11px;letter-spacing:.12em;font-weight:700;display:flex;justify-content:space-between}
.product .body{padding:0 14px 14px;display:flex;flex-direction:column;gap:6px;flex:1}.product h3{font-size:15px;margin:6px 0 0}.product p{font-size:13px;color:var(--muted);margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.product .price{font-weight:800;color:var(--accent)}.product .foot-row{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:8px}
.poll-opt{display:flex;align-items:center;gap:10px;width:100%;border:1px solid var(--line);background:var(--card);border-radius:14px;padding:10px 12px;margin:7px 0;cursor:pointer;text-align:left;position:relative;overflow:hidden}
.poll-opt .fill{position:absolute;inset:0;width:0;background:var(--soft);z-index:0;transition:width .5s}.poll-opt>*:not(.fill){position:relative;z-index:1}.poll-opt b{flex:1;font-size:14px}.poll-opt:hover{border-color:var(--accent-2)}.poll-opt:disabled{cursor:default}
.timeline{display:flex;flex-direction:column;gap:2px}.tl{display:grid;grid-template-columns:52px 1fr;gap:10px;padding:8px 0;border-bottom:1px dashed var(--line);font-size:14px}.tl time{color:var(--muted);font-size:12px}.tl .k{font-size:11px;color:var(--accent);font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.diary{border-left:3px solid var(--accent-2);padding:4px 0 4px 14px;margin:12px 0}.diary h3{margin:0}.diary p{white-space:pre-line;font-size:14px}
.team{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.member{display:flex;gap:12px;align-items:center}.member img{width:58px;height:58px;border-radius:16px;object-fit:cover;background:var(--soft)}.member b{display:block}.member small{color:var(--muted)}
.plans{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.plan{border:1px solid var(--line);border-radius:14px;padding:12px 14px}.plan b{display:block}.plan .state{float:right}
.big-money{font-size:34px;font-weight:800}.kv{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.kv div{background:var(--soft);border-radius:14px;padding:12px}.kv span{display:block;font-size:12px;color:var(--muted)}.kv strong{font-size:20px}
.sector{display:grid;grid-template-columns:1fr 90px 50px;gap:8px;align-items:center;font-size:13px;padding:5px 0}.sector .bar{background:var(--soft);margin:0}
.idea{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px dashed var(--line);font-size:14px}.score{font-weight:800;color:var(--accent)}
table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:8px 6px;border-bottom:1px solid var(--line)}th{font-size:12px;color:var(--muted);font-weight:600}td.num{text-align:right;font-variant-numeric:tabular-nums}.in{color:var(--ok)}.out{color:var(--bad)}

/* hộp thoại */
dialog{border:0;border-radius:22px;padding:0;max-width:460px;width:calc(100% - 32px);background:var(--card);color:var(--ink);box-shadow:0 30px 80px rgba(0,0,0,.35)}dialog::backdrop{background:rgba(20,10,40,.45)}
.dlg{padding:22px}.dlg-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.dlg-head h2{margin:0;font-size:18px}.x{border:0;background:var(--soft);border-radius:10px;width:32px;height:32px;cursor:pointer;font-size:18px}
.qr{display:block;margin:10px auto;width:240px;max-width:100%;border-radius:14px;border:1px solid var(--line)}.pay-box{background:var(--soft);border-radius:14px;padding:12px 14px;font-size:14px}.pay-box div{display:flex;justify-content:space-between;gap:8px;padding:3px 0}.pay-box b{font-family:ui-monospace,monospace}
.presets{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0}.presets button{border:1px solid var(--line);background:var(--card);border-radius:10px;padding:6px 10px;cursor:pointer;font-weight:600}.presets button.on{border-color:var(--accent);color:var(--accent)}
.toasts{position:fixed;right:16px;bottom:16px;display:flex;flex-direction:column;gap:8px;z-index:100}.toast{background:var(--ink);color:var(--bg);padding:10px 14px;border-radius:12px;font-size:14px;max-width:340px;box-shadow:0 10px 30px rgba(0,0,0,.25);animation:in .3s}.toast.err{background:var(--bad);color:#fff}@keyframes in{from{transform:translateY(10px);opacity:0}}
.notice{background:#fff7e6;border:1px solid #f3d9a6;color:#8a5a12;border-radius:14px;padding:10px 14px;font-size:13px}:root[data-theme=dark] .notice{background:#2b2312;border-color:#5c4a22;color:#f3d9a6}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.stack{display:flex;flex-direction:column;gap:18px}
.page .card.row{display:grid;grid-template-columns:1fr auto;gap:4px 12px;margin:10px 0;color:var(--ink)}.page .card.row span{grid-column:1;color:var(--muted);font-size:14px}.page .card.row em{grid-row:1/3;grid-column:2;font-style:normal;font-weight:800;color:var(--accent);align-self:center}
.product-page .lead{font-size:17px}.product-page .post{background:var(--soft);border-radius:14px;padding:12px 16px;margin:12px 0}.buy{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:16px 0}.buy .price{font-size:24px;font-weight:800;color:var(--accent);margin-right:8px}

@media (max-width:1060px){.live-grid,.two{grid-template-columns:1fr}.chat{min-height:480px}.team{grid-template-columns:repeat(2,1fr)}}
@media (max-width:760px){.grid2,.grid3,.kv{grid-template-columns:1fr}.metrics{grid-template-columns:1fr 1fr}.metric:nth-child(2){border-right:0}.metric{border-bottom:1px solid var(--line)}.acts{grid-template-columns:repeat(3,1fr)}.topbar{flex-wrap:wrap;gap:8px;padding:8px 16px}.topbar nav{order:3;flex:1 1 100%;overflow-x:auto;flex-wrap:nowrap}.owner-link{display:none}.top-right{margin-left:auto}.stage{aspect-ratio:4/3.4}.bap{width:46%;bottom:20%}.stage-chips{padding:6px 10px}.act-banner{top:auto;bottom:24%;font-size:13px}.poem{max-width:60%;top:30%}.board{display:none}.wrap{padding:0 16px}.bubble{max-width:62%;padding:8px 10px}.bubble b{font-size:13px}.bubble p{display:none}.team{grid-template-columns:1fr}.stage-clock{font-size:16px}.hub-head h2{font-size:22px}}

.btn.social{justify-content:center;width:100%;padding:10px 14px}.btn.social b{font-size:18px;font-family:Arial,sans-serif}

/* Văn phòng kiểu cũ: Bắp ngồi làm việc trước laptop (nhân vật & cảnh từ Bắp OS) */
.stage{aspect-ratio:1000/570}
.office-worker-sway{animation:worker-sway 5.4s ease-in-out infinite;transform-origin:538px 408px}
.worker-frame-open{opacity:1;animation:worker-open 6.4s steps(1,end) infinite}.worker-frame-closed{opacity:0;animation:worker-closed 6.4s steps(1,end) infinite}
.office-art .steam{animation:steam 4s ease-in-out infinite}.nun-breathe{animation:breathe 4.5s ease-in-out infinite;transform-origin:center bottom;transform-box:fill-box}.nun-eyes{animation:nun-blink 6.3s infinite;transform-origin:center;transform-box:fill-box}
@keyframes worker-sway{0%,100%{transform:translateY(0) rotate(-.4deg)}50%{transform:translateY(2px) rotate(.4deg)}}
@keyframes worker-open{0%,44%,47%,100%{opacity:1}45%,46%{opacity:0}}@keyframes worker-closed{0%,44%,47%,100%{opacity:0}45%,46%{opacity:1}}
@keyframes steam{50%{transform:translateY(-5px);opacity:.25}}@keyframes breathe{50%{transform:translateY(-2px) rotate(.5deg)}}@keyframes nun-blink{0%,43%,47%,100%{transform:scaleY(1)}45%{transform:scaleY(.06)}}
#board-light{transition:fill .4s}.stage[data-work=work] #board-light{fill:#7ee0a8;animation:nun-typing 1.6s ease-in-out infinite}.stage[data-work=idle] #board-light{fill:#ffd27a}.stage[data-work=rest] #board-light{fill:#9aa3c7}
@keyframes nun-typing{50%{opacity:.35}}
#worker{transition:opacity .4s}.stage .bap{display:none}.stage.performing #worker{opacity:0}.stage.performing .bap{display:block;bottom:12%}
@media (prefers-reduced-motion:reduce){.office-art *{animation:none!important}}
@media (max-width:760px){.stage{aspect-ratio:auto;padding-bottom:0}.stage svg.room{position:relative;display:block;height:auto;aspect-ratio:1000/570}.stage-chips{position:relative;left:auto;right:auto;bottom:auto;margin:8px;flex-wrap:wrap}.stage-chips .goal,#week-box{flex:1 1 140px;max-width:none!important}.stage .bubble{top:4%;left:3%;padding:6px 10px}.stage-clock{font-size:16px}.stage.performing .bap{bottom:auto;top:18%}}

/* “Em đang kiếm tiền bằng N cách” — lưới thẻ sản phẩm/nguồn thu */
.flagship{margin:4px 0 26px}.earn-head h2{font-size:28px;letter-spacing:-.6px;margin:0}.earn-head p{margin:4px 0 16px;font-size:14px}
.earn-grid{display:grid;gap:14px;margin-bottom:14px}.earn-grid.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.earn-grid.g4{grid-template-columns:repeat(4,minmax(0,1fr))}.earn-grid.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.earn-card{display:flex;flex-direction:column;gap:8px;min-width:0;background:var(--card);border:1px solid var(--line);border-radius:20px;padding:18px 18px 16px;transition:transform .2s,box-shadow .2s}.earn-card:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(40,20,90,.09)}
.earn-card h3{font-size:21px;font-weight:800;letter-spacing:-.4px;margin:0}.earn-card>p{margin:0;color:var(--muted);font-size:13px;line-height:1.55}.earn-card>p b{color:var(--ink)}
.earn-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.earn-meta{font-size:11px;color:var(--muted)}
.ep{display:inline-block;font-size:11px;font-weight:700;border-radius:999px;padding:3px 10px}.ep-run{background:#e2f3e8;color:#23784c}.ep-new{background:#e1f0f4;color:#2b6f86}.ep-try{background:#f6ebd7;color:#93621e}.ep-idea{background:#e3eef1;color:#3c6b78;white-space:nowrap}
.earn-rows{display:grid;grid-template-columns:minmax(0,1fr);gap:7px;margin-top:4px;min-width:0}.earn-row{display:flex;justify-content:space-between;gap:10px;background:var(--soft);border-radius:12px;padding:9px 12px;font-size:13px;font-weight:600}.earn-row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.earn-row b{color:#a0681b;white-space:nowrap}
.earn-link{margin-top:auto;padding-top:8px;font-weight:700;font-size:14px;color:#1f6f6f;text-decoration:none}.earn-link:hover{text-decoration:underline}.earn-link.muted{color:var(--muted);font-weight:600}
.earn-tool-body{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:12px;align-items:start;margin-top:4px}
.earn-shot{display:block;aspect-ratio:16/10;border-radius:14px;overflow:hidden;border:1px solid var(--line);background:var(--soft)}.earn-shot img{width:100%;height:100%;object-fit:cover;object-position:top left;display:block;transition:transform .5s}.earn-tool:hover .earn-shot img{transform:scale(1.04)}
.earn-tool .earn-rows{margin-top:0}.earn-tool .earn-row span{white-space:normal}.earn-tool .earn-row{align-items:center}.earn-tool .earn-row b{color:#5b49b0;font-size:11px}.earn-tool[data-tone=ads] .earn-row b{color:#23784c}
.earn-chips{display:flex;flex-wrap:wrap;gap:6px}.earn-chips span{background:#ece6fb;color:#5b49b0;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:600}.earn-chips.pink span{background:#fff;color:#b23a63}
.earn-bid{display:flex;justify-content:space-between;font-size:13px;margin-top:4px}.earn-bid b{font-family:ui-monospace,monospace}.earn-bar{height:7px;border-radius:9px;background:#fbf0d6;overflow:hidden}.earn-bar i{display:block;height:100%;background:#e7b34a}
.earn-big b{font-size:34px;font-weight:800;color:#23784c;letter-spacing:-1px}.earn-big small{display:block;color:var(--muted);font-size:12px}
.earn-tint.pink{background:#fbe6ee;border-color:#f6d4e0}.earn-tint.blue{background:#e1f2f6;border-color:#cfe8ee}
.earn-stats{display:flex;gap:22px;margin-top:6px}.earn-stats b{display:block;font-size:26px;font-weight:800;letter-spacing:-.5px}.earn-stats small{color:var(--muted);font-size:11px}
.earn-dashed{border-style:dashed;border-width:1.5px}.earn-ideas{display:grid;gap:8px;margin-top:2px}.earn-ideas div{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;font-size:13px}
[data-theme=dark] .earn-tint.pink{background:#3a2430;border-color:#4d2f3e}[data-theme=dark] .earn-tint.blue{background:#1f3238;border-color:#2b444b}[data-theme=dark] .earn-link{color:#7fd1c9}[data-theme=dark] .earn-chips span{background:#2f2846;color:#cbbdf5}
@media (max-width:1100px){.earn-grid.g4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:860px){.earn-grid.g2,.earn-grid.g3{grid-template-columns:1fr}.earn-tool-body{grid-template-columns:1fr}}
@media (max-width:520px){.earn-grid.g4{grid-template-columns:1fr}.earn-head h2{font-size:23px}}

.momo-btn{width:100%;justify-content:center;margin:10px 0 4px;min-height:46px}.or-line{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px;margin:14px 0 8px}.or-line:before,.or-line:after{content:'';flex:1;border-top:1px solid var(--line)}
.legal-links{display:flex;gap:14px;flex-wrap:wrap}.legal-links a{color:var(--muted)}.legal h2{font-size:17px;margin:22px 0 6px}.legal ul{padding-left:20px;line-height:1.7}.legal p{line-height:1.7}
