.ss{max-width:480px;margin:0 auto;min-height:100vh;display:flex;flex-direction:column;background:var(--bg)}.ss-head{background:var(--grad-hero);color:#fff;padding:12px 16px;font-size:13px;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:20}.ss-head b{font-size:14px}.ss-coinchip{background:#ffffff1c;color:#f4e9cf;border:1px solid #ffffff3a;border-radius:var(--r-pill);padding:3px 10px;font-size:12px;cursor:pointer}.ss-body{flex:1;padding:14px 16px 76px}.ss-nav{position:fixed;bottom:0;left:0;right:0;max-width:480px;margin:0 auto;display:flex;justify-content:space-around;border-top:1.5px solid var(--line);padding:9px 4px calc(9px + env(safe-area-inset-bottom));font-size:11px;color:var(--muted);background:#fff;z-index:20}.ss-nav button{background:none;border:0;font:inherit;color:inherit;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:2px;min-width:56px}.ss-nav button.on{color:var(--brand);font-weight:700}.ss-nav button i{font-style:normal;font-size:17px}.ss.focus .ss-head,.ss.focus .ss-nav{display:none}.ss.focus .ss-body{padding:0}.m3-hero{background:var(--grad-hero);color:#fff;border-radius:var(--r-m3);padding:15px;margin-bottom:12px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 8px 22px #0057a455}.m3-hero .big{font-size:19px;font-weight:700}.m3-hero .hsub{font-size:11.5px;opacity:.92}.m3-ring{--p: 0;width:70px;height:70px;flex:none;border-radius:50%;background:conic-gradient(var(--amber) calc(var(--p) * 1%),#ffffff33 0);display:flex;align-items:center;justify-content:center;position:relative}.m3-ring:before{content:"";position:absolute;top:7px;right:7px;bottom:7px;left:7px;border-radius:50%;background:var(--brand-deep)}.m3-ring b{position:relative;font-size:13px;color:#fff}.m3-zone{font-size:10.5px;letter-spacing:1px;color:var(--muted);font-weight:700;margin:12px 2px 6px}.quest{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-m3);padding:13px;margin-bottom:11px;font-size:13px;box-shadow:0 3px 12px #16305714}.quest:active{transform:scale(.98)}.quest .qicon{width:42px;height:42px;border-radius:14px;background:var(--brand-050);display:flex;align-items:center;justify-content:center;font-size:21px;float:left;margin-right:11px}.quest.main{border:2px solid var(--brand);background:linear-gradient(180deg,#fff,var(--brand-050))}.quest .sub,.m3-sub{font-size:11.5px;color:var(--muted)}.m3-h3{margin:2px 0 4px;font-size:17px;font-weight:700}.m3-chip{display:inline-block;border-radius:var(--r-pill);padding:4px 11px;font-size:11px;margin:2.5px;border:1.5px solid var(--line);background:#fff;font-weight:700}.m3-chip.ok{background:var(--ok-050);color:var(--ok);border-color:#9fd4b4}.m3-chip.warn{background:var(--amber-050);color:#7a5a10;border-color:var(--amber)}.m3-chip.tim{background:var(--tim-050);color:var(--tim);border-color:#c9bcf2}.m3-chip.bad{background:var(--bad-050);color:var(--bad);border-color:#cbb896}.m3-chip.gold{background:var(--grad-gold);color:#fff;border:0}.m3-btn{display:block;width:100%;text-align:center;background:var(--brand);color:#fff;border:0;border-radius:16px;padding:14px;font-size:15px;font-weight:700;cursor:pointer;margin-top:10px;box-shadow:0 6px 18px #0057a455;transition:transform var(--t-fast);font-family:inherit}.m3-btn:active{transform:scale(.97)}.m3-btn[disabled]{background:#b9c6d4;box-shadow:none;cursor:not-allowed}.m3-btn.ok{background:var(--ok);box-shadow:0 6px 18px #0a7d3b55}.m3-btn.gold{background:var(--grad-gold);box-shadow:0 6px 18px #8a6d2f66}.m3-btn.ghost{background:#fff;color:var(--brand);border:1.5px solid var(--brand);box-shadow:none}.m3-badnews{background:var(--bad-050);border-left:4px solid var(--bad);border-radius:10px;padding:9px 11px;font-size:12px;color:var(--bad);margin:8px 0}.m3-opt{border:2px solid var(--line);border-radius:16px;padding:12px;margin:8px 0;font-size:13.5px;cursor:pointer;display:flex;gap:10px;align-items:center;transition:all var(--t-base);background:#fff}.m3-opt .oi{font-size:22px}.m3-opt.sel{border-color:var(--ok);background:var(--ok-050);transform:scale(1.02)}.m3-opt.sel.no{border-color:var(--amber);background:var(--amber-050)}.fk{background:var(--focus-bg);color:#eaf3fa;min-height:100vh;padding:14px 16px calc(16px + env(safe-area-inset-bottom))}.fk-top{display:flex;justify-content:space-between;align-items:center;font-size:13px;gap:8px}.fk-top .fk-back,.fk-top .fk-save{background:#ffffff18;border:1px solid #ffffff33;color:#eaf3fa;border-radius:10px;padding:6px 11px;font-size:12px;cursor:pointer;font-family:inherit}.fk-blockpath{display:flex;gap:5px;margin:10px 0}.fk-bseg{flex:1;height:10px;border-radius:6px;background:#fff2;transition:background var(--t-base);cursor:pointer;border:0;padding:0}.fk-bseg.done{background:linear-gradient(90deg,#35c26e,#0a7d3b)}.fk-bseg.cur{background:var(--amber);animation:fk-pulse 1.1s infinite}@keyframes fk-pulse{50%{opacity:.5}}.fk-core{background:#ffffff14;border:1px solid #ffffff2e;border-radius:16px;padding:13px;font-size:14.5px;margin:8px 0;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.fk-probe{background:#ffffff0d;border-left:3px solid var(--amber);border-radius:10px;padding:8px 11px;font-size:12.5px;margin:6px 0;color:#ffe9bd}.fk-mic{width:92px;height:92px;border-radius:50%;background:var(--grad-hero);margin:14px auto;display:flex;align-items:center;justify-content:center;font-size:38px;border:0;color:#fff;cursor:pointer;box-shadow:0 0 #0057a466}.fk-mic.on{animation:fk-ripple 1.6s infinite}@keyframes fk-ripple{0%{box-shadow:0 0 #4da3e666}to{box-shadow:0 0 0 26px #4da3e600}}.fk-mic .el{font-size:13px;font-weight:700}.fk-tick{opacity:.45;transition:all .35s;font-size:12.5px;margin:4px 0}.fk-tick.on{opacity:1;color:#7be3a5;font-weight:700;transform:translate(4px)}.fk-ts{background:#00000042;border-radius:12px;padding:10px;font-size:12px;min-height:64px;max-height:130px;overflow:auto;color:#cfe2f1;width:100%;border:1px solid #2c3d57;font-family:inherit;resize:vertical}.fk .m3-chip{background:#1d2b3f;color:#aeb9cc;border-color:#2c3d57}.fk .m3-chip.warn{background:var(--amber-050);color:#7a5a10;border-color:var(--amber)}.fk-hint{color:#9fb3cf;font-size:11.5px}.siggrid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:8px 0}.sig{border:1.5px solid var(--line);border-radius:14px;padding:10px 4px;text-align:center;font-size:11.5px;cursor:pointer;background:#fff;transition:all var(--t-fast);font-family:inherit}.sig:active{transform:scale(.94)}.sig .si{font-size:21px;display:block}.sig.sel{border-color:var(--brand);background:var(--brand-050);font-weight:700}.m3-field{display:flex;justify-content:space-between;gap:6px;align-items:center;border:1.5px solid var(--line);border-radius:13px;padding:9px 11px;margin:6px 0;font-size:12.5px;background:#fff;flex-wrap:wrap}.m3-field.machine{background:var(--tim-050);border-color:#c9bcf2}.m3-field .fk2{color:var(--muted);font-size:11.5px}.m3-field .fv{font-weight:700}.m3-confirm{display:flex;gap:4px}.m3-confirm button{border:1.5px solid var(--line);background:#fff;border-radius:var(--r-pill);font-size:10.5px;padding:4px 9px;cursor:pointer;transition:all var(--t-fast);font-family:inherit}.m3-confirm button.sel{background:var(--ok);color:#fff;border-color:var(--ok);transform:scale(1.08)}details.m3-group{border:1.5px solid var(--line);border-radius:14px;padding:8px 11px;margin:7px 0;font-size:12.5px;background:#fff}details.m3-group summary{cursor:pointer;font-weight:700}.m3-axis{display:flex;align-items:center;gap:8px;margin:7px 0;font-size:12px}.m3-axis .nm{width:148px;font-weight:700;line-height:1.15}.m3-axis .bar{flex:1;height:14px;background:var(--brand-050);border-radius:8px;overflow:hidden}.m3-axis .fill{height:100%;background:linear-gradient(90deg,#4da3e6,var(--brand));border-radius:8px;width:0;transition:width .8s cubic-bezier(.2,.8,.3,1.1)}.m3-axis .sc{width:44px;text-align:right;font-weight:700;font-size:13px}.m3-axis.na .bar{background:repeating-linear-gradient(45deg,#dbe4ee,#dbe4ee 6px,#f2f6fa 6px,#f2f6fa 12px)}.m3-gates{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0;justify-content:center}.m3-shield{width:58px;text-align:center;font-size:11px;font-weight:700}.m3-shield .si{width:44px;height:48px;margin:0 auto 3px;border-radius:10px 10px 16px 16px;display:flex;align-items:center;justify-content:center;font-size:20px;border:2px solid var(--line);background:#fff}.m3-shield.ok .si{background:var(--ok-050);border-color:var(--ok)}.m3-shield.bad .si{background:var(--bad-050);border-color:var(--bad)}.m3-shield.lock .si{background:var(--amber-050);border-color:var(--amber)}.m3-stamp{display:inline-block;background:var(--brand);color:#fff;font-size:20px;font-weight:700;border-radius:14px;padding:8px 18px;transform:rotate(-3deg);box-shadow:0 6px 16px #0057a466;animation:stampin .5s cubic-bezier(.2,1.6,.4,1)}@keyframes stampin{0%{transform:scale(2.2) rotate(-14deg);opacity:0}to{transform:scale(1) rotate(-3deg);opacity:1}}.m3-tamtinh{background:var(--amber-050);border:2px dashed var(--amber);color:#7a5a10;border-radius:14px;padding:9px;text-align:center;font-weight:700;font-size:12.5px;margin:9px 0}.m3-bigcoin{font-size:34px;font-weight:700;color:var(--gold-deep);text-align:center;font-variant-numeric:tabular-nums}.t7 details{border:1.5px solid var(--line);border-radius:12px;margin:6px 0;padding:7px 10px;font-size:12.5px;background:#fff}.t7 summary{cursor:pointer;font-weight:700}.m3-input{width:100%;border:1.5px solid var(--line);border-radius:11px;padding:10px;font-size:13px;font-family:inherit;margin:4px 0;box-sizing:border-box;background:#fff}.toi-row{display:flex;justify-content:space-between;align-items:center;padding:12px 2px;border-bottom:1px solid var(--line);font-size:14px}:root{--brand: #0057A4;--brand-ink: #163057;--brand-050: #e6f0f8;--brand-100: #cfe0f0;--coin: #8a6d2f;--coin-solid: #B4975A;--coin-050: #f6f1e6;--coin-100: #e7dcc2;--warn: #8a6a10;--warn-bg: #fff6e0;--warn-line: #FAAD1D;--bad: #564017;--bad-bg: #f3eee6;--bad-line: #cbb489;--info: #0f97c4;--bg: #f4f7fa;--surface: #ffffff;--ink: #163057;--muted: #8C8C8C;--line: #dfe3e8;--font: Arial, "Helvetica Neue", Helvetica, system-ui, -apple-system, "Segoe UI", sans-serif;--fs-xl: 28px;--fs-lg: 20px;--fs-md: 17px;--fs-sm: 14px;--fs-xs: 12px;--r-sm: 8px;--r-md: 12px;--r-lg: 18px;--r-pill: 999px;--shadow-1: 0 1px 2px rgba(16,24,40,.06), 0 1px 3px rgba(16,24,40,.04);--shadow-2: 0 4px 16px rgba(16,24,40,.1);--gap: 14px;--touch: 44px;--t-fast: .12s;--t-base: .22s;--t-cel: .3s;--ease: cubic-bezier(.22,.61,.36,1);--ease-back: cubic-bezier(.34,1.56,.64,1);--brand-deep: #163057;--grad-hero: linear-gradient(135deg, #0057A4 0%, #163057 100%);--grad-gold: linear-gradient(135deg, #d9bf85 0%, #B4975A 45%, #8a6d2f 100%);--gold: #B4975A;--gold-deep: #8a6d2f;--gold-050: #faf4e6;--amber: #FAAD1D;--amber-050: #fdf3dd;--bad-050: #f2ece2;--ok: #0a7d3b;--ok-050: #e6f4ec;--tim: #6b4fd8;--tim-050: #efeafc;--r-m3: 20px;--focus-bg: radial-gradient(120% 90% at 50% 0%, #1d3a66 0%, #0f1c33 70%)}@property --p{syntax: "<number>"; inherits: false; initial-value: 0;}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{margin:0;font-family:var(--font);color:var(--ink);background:var(--bg);font-size:var(--fs-md);line-height:1.4}.muted{color:var(--muted)}.small{font-size:var(--fs-sm)}.err{color:var(--bad);margin:8px 0}button{font-size:var(--fs-md);font-family:inherit;cursor:pointer}a{color:var(--brand)}.screen.center{min-height:100dvh;display:grid;place-items:center;padding:20px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:16px;margin:12px 0;box-shadow:var(--shadow-1)}.login{width:100%;max-width:380px}.login h1{margin:0 0 2px;color:var(--brand-ink)}.login h1 small{color:var(--muted);font-weight:400;font-size:16px}label{display:block;margin:12px 0 0;font-size:var(--fs-sm);color:var(--muted)}input{width:100%;padding:13px;font-size:18px;margin-top:4px;border:1px solid var(--line);border-radius:var(--r-md);font-family:inherit;color:var(--ink)}input:focus,select:focus,textarea:focus{outline:2px solid var(--brand-100);border-color:var(--brand)}.login button{width:100%;margin-top:16px;padding:14px;background:var(--brand);color:#fff;border:none;border-radius:var(--r-md);font-weight:600;min-height:var(--touch)}.app{min-height:100dvh;display:flex;flex-direction:column}.topbar{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:12px 16px;background:var(--brand);color:#fff}.topbar b{color:#fff}.topbar .muted{color:#ffffffc7}.topbar .rm-toggle{background:#ffffff29;border:none;color:#fff;border-radius:var(--r-pill);padding:6px 10px;font-size:var(--fs-xs);min-height:32px}.topbar .link{color:#fff}.content{flex:1;padding:16px 16px 84px;max-width:640px;margin:0 auto;width:100%}.tabs{position:fixed;bottom:0;left:0;right:0;display:flex;background:var(--surface);border-top:1px solid var(--line);box-shadow:0 -2px 12px #1018280d;z-index:30}.tabs button{flex:1;padding:12px 4px 10px;border:none;background:none;color:var(--muted);min-height:58px;position:relative;transition:color var(--t-fast) var(--ease)}.tabs button.on{color:var(--brand);font-weight:700;box-shadow:inset 0 2px 0 var(--brand)}.tabs button:active{transform:scale(.96)}.tabs .vi-badge{position:absolute;top:4px;left:54%;min-width:20px;height:20px;padding:0 5px;background:var(--coin);color:#fff;border-radius:var(--r-pill);font-size:11px;font-weight:800;display:none;place-items:center}.tabs .vi-badge.show{display:grid}.tabs .vi-badge.pulse{animation:pop var(--t-cel) var(--ease-back)}.link{background:none;border:none;color:var(--brand);padding:6px 0;min-height:var(--touch)}.view{animation:fade var(--t-base) var(--ease)}@keyframes fade{0%{opacity:0}to{opacity:1}}.slide-in{animation:slideIn var(--t-base) var(--ease)}@keyframes slideIn{0%{opacity:0;transform:translate(28px)}to{opacity:1;transform:translate(0)}}h2{font-size:22px;margin:6px 0 12px;color:var(--brand-ink)}h3{margin:0 0 8px;font-size:var(--fs-md)}.list{list-style:none;margin:0;padding:0}.row{display:flex;justify-content:space-between;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:14px;margin-bottom:10px}.list .row{transition:transform var(--t-fast) var(--ease)}.list .row:active{transform:scale(.99)}.chev{color:var(--muted);font-size:24px}.price{color:var(--coin);white-space:nowrap;font-weight:700;font-variant-numeric:tabular-nums}.badge{display:inline-block;background:var(--brand-050);color:var(--brand-ink);padding:4px 10px;border-radius:var(--r-pill);font-size:var(--fs-sm)}.kv{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px dashed var(--line)}.kv:last-child{border:none}.hint{background:#fbfdff;color:var(--muted)}.search{width:100%;padding:12px;font-size:var(--fs-md);margin-bottom:12px;border:1px solid var(--line);border-radius:var(--r-md)}.offline,.queue{background:var(--warn-bg);color:var(--warn);border:1px solid var(--warn-line);border-radius:var(--r-md);padding:8px 12px;margin-bottom:10px;font-size:var(--fs-sm)}.queue{border-radius:0;border-width:0 0 1px;display:flex;align-items:center;gap:8px}.queue .link{margin-left:auto;color:var(--warn);font-weight:700}.badnews{border:1px solid var(--bad-line);background:var(--bad-bg);border-radius:var(--r-md);padding:14px;margin-top:14px}.badnews .t{color:var(--bad);font-weight:700;margin-bottom:4px}.badnews .why{font-size:var(--fs-sm);margin-bottom:10px;color:var(--ink)}.badnews .exit{display:flex;gap:8px;flex-wrap:wrap}.badnews .exit .link{color:var(--bad);font-weight:700;border:1px solid var(--bad-line);border-radius:var(--r-md);padding:8px 12px;background:#fff}.field{margin:14px 0}.field>label{display:block;font-size:var(--fs-sm);color:var(--muted);margin-bottom:6px}.req:after{content:" *";color:var(--bad)}select,textarea{width:100%;padding:12px;font-size:var(--fs-md);border:1px solid var(--line);border-radius:var(--r-md);font-family:inherit;color:var(--ink);background:#fff}select{min-height:var(--touch)}.p3{border:1px dashed #c9d3e6;border-radius:var(--r-md);padding:10px 12px;background:#fbfdff;color:var(--muted)}.p3 .row{display:flex;align-items:center;gap:8px;padding:6px 0;background:none;border:none;margin:0}.p3 .tag{background:var(--brand-050);color:var(--brand-ink);border-radius:var(--r-pill);padding:2px 10px;font-size:var(--fs-xs)}.seg{display:flex;gap:8px;margin:6px 0 14px}.seg button{flex:1;padding:10px;border:1px solid var(--line);background:#fff;border-radius:var(--r-md);color:var(--muted);font-size:15px;min-height:var(--touch);transition:border-color var(--t-fast) var(--ease),background var(--t-fast) var(--ease)}.seg button.on{border-color:var(--brand);color:var(--brand-ink);font-weight:700;background:var(--brand-050)}.actions{display:flex;gap:10px;margin-top:16px}.btn{flex:1;padding:14px;border:none;border-radius:var(--r-md);font-size:var(--fs-md);font-weight:600;min-height:var(--touch);transition:transform var(--t-fast) var(--ease),filter var(--t-fast) var(--ease)}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.5}.btn.primary{background:var(--brand);color:#fff}.btn.ghost{background:var(--brand-050);color:var(--brand-ink)}.result{margin-top:16px;border:1px solid var(--coin-100);border-radius:var(--r-md);padding:14px;background:var(--coin-050);display:none}.result.show{display:block}.coin{font-size:26px;font-weight:800;color:var(--coin);font-variant-numeric:tabular-nums}.demo-tag{font-size:var(--fs-xs);color:var(--warn);background:var(--warn-bg);border:1px solid var(--warn-line);border-radius:var(--r-pill);padding:4px 10px;display:inline-block;margin-top:4px}.wait{margin-top:10px;color:var(--muted);font-size:var(--fs-sm)}.bar{height:12px;background:var(--brand-100);border-radius:var(--r-pill);overflow:hidden;margin-top:6px}.bar>i{display:block;height:100%;background:linear-gradient(90deg,var(--brand),var(--coin));border-radius:var(--r-pill);transition:width var(--t-cel) var(--ease)}.bar.bump>i{animation:bump var(--t-cel) var(--ease-back)}@keyframes bump{0%{transform:scaleY(1)}40%{transform:scaleY(1.35)}to{transform:scaleY(1)}}textarea{margin-top:4px}.topics{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.tp{font-size:var(--fs-xs);padding:5px 10px;border-radius:var(--r-pill);background:#f1f5f9;color:var(--muted);border:1px solid var(--line);transition:background var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}.tp.done{background:var(--coin-050);color:var(--coin);border-color:var(--coin-100);font-weight:600}.tp.done:before{content:"✓ "}.hint.row,.row .hint{background:none}.field .row{background:none;border:none;padding:0;margin:0;display:flex;align-items:center;gap:10px}.today-hero{display:flex;align-items:center;gap:16px}.ring{--p: 0;width:88px;height:88px;flex:none;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--coin) calc(var(--p) * 1%),var(--brand-100) 0);transition:--p var(--t-cel) var(--ease)}.ring:before{content:"";width:66px;height:66px;border-radius:50%;background:var(--surface);grid-area:1/1}.ring .val{grid-area:1/1;font-weight:800;font-size:var(--fs-lg);color:var(--brand-ink)}.streak-row{display:flex;justify-content:space-between;font-size:var(--fs-sm);margin-bottom:6px}.streak-row b{color:var(--brand-ink)}.task{display:flex;align-items:center;gap:12px;padding:12px 4px;border-bottom:1px solid var(--line);min-height:var(--touch)}.task:last-child{border-bottom:none}.tick{width:26px;height:26px;flex:none;border-radius:50%;border:2px solid var(--muted);background:#fff;display:grid;place-items:center;color:#fff;font-size:15px;transition:background var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease)}.task .tx{flex:1}.task .tx small{color:var(--muted);font-size:var(--fs-xs);display:block}.task .go{color:var(--muted);font-size:22px}.task.done .tick{background:var(--coin);border-color:var(--coin)}.task.done .tx b{text-decoration:line-through;color:var(--muted)}.task.drop{animation:drop var(--t-cel) var(--ease)}@keyframes drop{0%{transform:translateY(0)}to{transform:translateY(6px)}}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.two-col .col{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:14px;text-align:center}.two-col .col .k{font-size:var(--fs-xs);color:var(--muted)}.two-col .col .v{font-size:var(--fs-lg);font-weight:800;margin-top:2px;font-variant-numeric:tabular-nums}.two-col .col.sell .v{color:var(--brand-ink)}.two-col .col.comm .v{color:var(--coin)}.badges{display:flex;gap:12px;overflow-x:auto;padding-bottom:4px}.hbadge{flex:none;width:96px;text-align:center}.hbadge .ic{width:54px;height:54px;margin:0 auto 6px;border-radius:50%;display:grid;place-items:center;font-size:24px;background:var(--brand-050);border:2px solid var(--line);filter:grayscale(1);opacity:.5}.hbadge.earned .ic{background:var(--coin-050);border-color:var(--coin);filter:none;opacity:1}.hbadge .lb{font-size:var(--fs-xs);color:var(--muted);line-height:1.25}.hbadge.earned .lb{color:var(--ink);font-weight:600}.hbadge .pg{font-size:var(--fs-xs);color:var(--brand-ink);font-weight:700}.state{display:inline-block;margin-top:6px;font-size:var(--fs-xs);padding:2px 10px;border-radius:var(--r-pill);border:1px solid transparent}.state.tam_tinh{color:var(--warn);background:var(--warn-bg);border-color:var(--warn-line)}.state.xac_thuc{color:var(--coin);background:var(--coin-050);border-color:var(--coin-100)}.state.tru_audit,.state.treo_tranh_chap,.state.dieu_chinh_khieu_nai{color:var(--bad);background:var(--bad-bg);border-color:var(--bad-line)}.led-row.just-verified .state{animation:pop var(--t-cel) var(--ease-back)}@keyframes pop{0%{transform:scale(1)}45%{transform:scale(1.18)}to{transform:scale(1)}}.coinfly{position:fixed;z-index:60;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 35% 30%,#ffe6a8,var(--coin-solid));color:var(--brand-ink);font-size:15px;font-weight:800;box-shadow:0 2px 8px #0a7d3b66;pointer-events:none;transition:transform .52s var(--ease),opacity .52s var(--ease)}.toast{position:fixed;left:16px;right:16px;bottom:76px;max-width:610px;margin:0 auto;z-index:55;background:var(--coin);color:#fff;border-radius:var(--r-md);padding:12px 14px;box-shadow:var(--shadow-2);transform:translateY(150%);opacity:0;pointer-events:none;transition:transform var(--t-cel) var(--ease-back),opacity var(--t-base) var(--ease)}.toast.show{transform:translateY(0);opacity:1}.toast b{font-size:var(--fs-md)}.toast small{display:block;opacity:.92;font-size:var(--fs-xs);margin-top:2px}.mgr-flag{font-size:18px;line-height:1}.sla-badge{font-size:var(--fs-xs);color:var(--muted);background:var(--brand-050);border-radius:var(--r-pill);padding:3px 10px;white-space:nowrap}.sla-badge.over{color:var(--bad);background:var(--bad-bg);border:1px solid var(--bad-line);font-weight:700}.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:14px}.stat .k{font-size:var(--fs-xs);color:var(--muted)}.stat .v{font-size:var(--fs-lg);font-weight:800;color:var(--brand-ink);margin-top:2px;font-variant-numeric:tabular-nums}.funnel-row{display:flex;align-items:center;gap:10px;padding:5px 0}.funnel-row .fl{width:30px;font-weight:700;color:var(--brand-ink);font-size:var(--fs-sm)}.funnel-row .fbar{flex:1;height:14px;background:var(--brand-100);border-radius:var(--r-pill);overflow:hidden}.funnel-row .fbar>i{display:block;height:100%;background:linear-gradient(90deg,var(--brand),var(--coin));border-radius:var(--r-pill)}.funnel-row .fn{width:64px;text-align:right;font-size:var(--fs-sm);color:var(--muted);font-variant-numeric:tabular-nums}.ks-homecard{background:linear-gradient(135deg,var(--brand-ink),var(--brand));color:#fff;border-radius:var(--r-lg);padding:14px 16px;margin:10px 0 14px;cursor:pointer;box-shadow:0 6px 18px #143c7840}.ks-homecard .ks-hctop{display:flex;justify-content:space-between;align-items:center;gap:8px}.ks-homecard .ks-hcnum{background:#ffffff2b;border-radius:var(--r-pill);padding:2px 10px;font-weight:800;font-variant-numeric:tabular-nums}.ks-homecard .small{opacity:.95;margin-top:6px}.ks-homecard .ks-hcbtn{margin-top:10px;background:var(--coin);color:#4a3400;font-weight:800;border-radius:var(--r-pill);padding:8px 14px;display:inline-block;font-size:var(--fs-sm)}.ks-hero{display:flex;gap:14px;align-items:center;background:linear-gradient(135deg,var(--brand-ink),var(--brand));color:#fff;border-radius:var(--r-lg);padding:14px 16px;margin:10px 0 14px}.ks-hero .small{opacity:.95}.ks-hero .dim{opacity:.75}.ks-hero.small-hero{padding:12px 14px}.ks-hero .ring{--p: 0;width:62px;height:62px;flex:none;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--coin) calc(var(--p) * 1%),#ffffff30 0)}.ks-hero .ring .val{background:var(--brand-ink);border-radius:50%;width:48px;height:48px;display:grid;place-items:center;font-weight:800;font-size:var(--fs-sm)}.ks-zone{margin:14px 0}.ks-zone h4{margin:0 0 8px;font-size:var(--fs-sm);letter-spacing:.4px;color:var(--brand-ink)}.ks-mcard{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:12px 14px;margin-bottom:8px}.ks-mcard.active{border:2px solid var(--brand);box-shadow:0 6px 16px #143c782e;background:linear-gradient(180deg,var(--brand-050),var(--surface))}.ks-mcard.done{opacity:.75}.ks-mtop{display:flex;justify-content:space-between;align-items:center;gap:8px}.ks-badge{font-size:var(--fs-xs);border-radius:var(--r-pill);padding:2px 10px;white-space:nowrap;background:var(--brand-050);color:var(--brand-ink);font-weight:700}.ks-badge.dang_do{background:var(--coin);color:#4a3400}.ks-badge.can_xu_ly{background:var(--bad-bg);color:var(--bad);border:1px solid var(--bad-line)}.ks-badge.hom_nay{background:var(--brand);color:#fff}.ks-badge.da_gui,.ks-badge.xong{background:var(--ok-bg, #e7f7ef);color:var(--ok, #1d7a4f)}.ks-mrow{display:flex;align-items:center;gap:8px;margin-top:8px;flex-wrap:wrap}.ks-mrow input[type=time]{border:1px solid var(--line);border-radius:var(--r-sm);padding:4px 6px;font:inherit}.btn.sm{padding:7px 12px;font-size:var(--fs-sm)}.btn.xl{padding:16px 26px;font-size:var(--fs-md)}.dim{color:var(--muted);opacity:.85}.ks-changbar{display:flex;gap:4px;margin:10px 0 14px}.ks-dot{flex:1;text-align:center;font-size:var(--fs-xs);color:var(--muted);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);padding:6px 2px;font-weight:700}.ks-dot i{display:block;font-style:normal;font-weight:400;font-size:10px;margin-top:2px}.ks-dot.on{background:var(--brand);color:#fff;border-color:var(--brand)}.ks-dot.ok{background:var(--brand-050);color:var(--brand-ink)}.ks-blocks{display:flex;flex-wrap:wrap;gap:6px}.ks-block{background:var(--brand-050);border-radius:var(--r-sm);padding:6px 10px;font-size:var(--fs-xs)}.ks-block b{margin-right:6px;color:var(--brand-ink)}.ks-block small{display:block;color:var(--muted)}.ks-consent{display:grid;gap:8px}.ks-focus{background:#131a26;color:#e8edf6;border-radius:var(--r-lg);padding:14px}.ks-focus .hint,.ks-focus .small{color:#aeb9cc}.ks-fhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.ks-recrow{display:flex;align-items:center;gap:12px;margin:8px 0 12px}.ks-recbtn{width:74px;height:74px;border-radius:50%;border:none;font-size:26px;font-weight:800;cursor:pointer;background:radial-gradient(circle at 35% 30%,#ff7d6b,#e5484d);color:#fff;box-shadow:0 0 0 6px #e5484d33}.ks-recbtn.on{animation:ks-pulse 1.6s ease-in-out infinite}@keyframes ks-pulse{0%,to{box-shadow:0 0 0 6px #e5484d33}50%{box-shadow:0 0 0 16px #e5484d1a}}.ks-aicount{margin:8px 0}.ks-qblock{margin:10px 0}.ks-qbhead{color:#9fc0ff;margin-bottom:4px}.ks-q{display:flex;gap:8px;padding:6px 8px;border-radius:var(--r-sm);cursor:pointer;align-items:flex-start}.ks-q .tickq{flex:none;width:20px;color:#66788f}.ks-q .qtx{font-size:var(--fs-sm)}.ks-q.done{background:#1d2b3f}.ks-q.done .tickq{color:var(--coin)}.ks-q.done .qtx{color:#cfe3ff}.ks-q .qmore{flex-basis:100%;margin-left:28px;color:#aeb9cc}.ks-branches{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.ks-focus .chip{background:#1d2b3f;color:#aeb9cc;border:1px solid #2c3d57}.ks-focus .chip.on{background:var(--coin);color:#4a3400;border-color:var(--coin);font-weight:700}.ks-focus textarea{width:100%;background:#0e141d;color:#e8edf6;border:1px solid #2c3d57;border-radius:var(--r-sm);padding:10px;font:inherit}.ks-fields{max-height:320px;overflow-y:auto}.badnews.slim{padding:8px 12px;margin:8px 0}.ok{color:var(--brand-ink)}.ks-axis{display:flex;align-items:center;gap:10px;padding:6px 0;flex-wrap:wrap;cursor:pointer}.ks-axis .axn{flex:1 1 40%;font-size:var(--fs-sm)}.ks-axis .bar4{flex:1 1 30%;height:14px;background:var(--brand-100);border-radius:var(--r-pill);overflow:hidden;position:relative}.ks-axis .bar4>i{display:block;height:100%;border-radius:var(--r-pill);background:linear-gradient(90deg,var(--brand),var(--coin))}.ks-axis .bar4>i.na{background:none;position:absolute;top:0;right:0;bottom:0;left:0;text-align:center;font-size:10px;color:var(--muted);font-style:normal;line-height:14px}.ks-axis .axv{width:86px;text-align:right;font-size:var(--fs-xs);font-variant-numeric:tabular-nums}.ks-axis .qmore{flex-basis:100%;color:var(--muted)}.ks-shields{display:flex;gap:8px;flex-wrap:wrap}.shield{flex:1 1 90px;text-align:center;border:1px solid var(--line);border-radius:var(--r-md);padding:8px 4px;background:var(--surface)}.shield i{font-style:normal;font-size:20px;display:block}.shield b{display:block;font-size:var(--fs-sm)}.shield small{display:block;color:var(--muted);font-size:10px;min-height:24px}.shield span{font-size:var(--fs-xs);font-weight:700}.shield.dat{border-color:#35b26f;background:#effaf4}.shield.dat span{color:#1d7a4f}.shield.khoa{border-color:#8892a6;background:#f2f4f8}.shield.khoa span{color:#5b6578}.shield.chua span{color:var(--muted)}.ks-slevel-row{display:flex;gap:14px;align-items:center;margin-top:12px}.stamp{flex:none;width:64px;height:64px;border:3px solid var(--brand);color:var(--brand-ink);border-radius:50%;display:grid;place-items:center;font-weight:900;font-size:22px;transform:rotate(-8deg);background:var(--brand-050)}.ks-guixong{text-align:center;padding:22px 8px}.ks-guixong .big{font-size:52px}.ks-coinbig{font-size:40px;font-weight:900;color:var(--coin-ink, #a06b00);margin:8px 0;font-variant-numeric:tabular-nums}.actions.center{justify-content:center}.confetti{position:fixed;top:-14px;width:8px;height:14px;z-index:1000;pointer-events:none;border-radius:2px;animation:conf-fall 1.9s ease-in forwards}@keyframes conf-fall{to{transform:translate(var(--dx, 0),105vh) rotate(var(--rot, 200deg));opacity:.85}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important}}body.reduce-motion *,body.reduce-motion *:before,body.reduce-motion *:after{animation:none!important;transition:none!important}
