:root{--ink:#1B2A4A;--ink-2:#10263F;--muted:#4A5F78;--faint:#5B6D85;--page:#F8FAFC;--white:#fff;--sky:#24B0F3;--sky-hover:#3BBBF6;--sky-tint:#EAF6FE;--mist:#CFE4F9;--link:#1B6FAA;--logo-lingua:#2D7FC1;--green:#10B981;--green-ink:#047857;--green-bg:#ECFDF5;--coral:#EE534F;--coral-light:#FF6B5B;--on-coral:#0B1A2E;--amber-bg:#FFF7E8;--amber-line:#F5D49A;--amber-ink:#8A4B00;--red-ink:#B42335;--red-bg:#FDEEEF;--line:#E6EDF4;--line-2:#D6E1EC;--control:#7F92A8;--telegram:#2AABEE;--sh:0 1px 2px rgba(27,42,74,.04),0 10px 30px -14px rgba(27,42,74,.14)}
*{box-sizing:border-box}
body{margin:0;font:400 16px/1.6 Inter,system-ui,sans-serif;color:var(--ink);background:var(--page);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}button,input,select{font:inherit;color:inherit}button{cursor:pointer;background:none;border:0;padding:0}
h1,h2,h3,p{margin:0}
h1,h2{font-family:Unbounded,'Plus Jakarta Sans',sans-serif;font-weight:600;letter-spacing:-.025em;line-height:1.2;text-wrap:balance}
:focus-visible{outline:3px solid var(--ink-2);outline-offset:2px}
.defs{position:absolute;width:0;height:0;overflow:hidden}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.nw{white-space:nowrap}.muted{color:var(--muted)}
.ui{font-family:'Plus Jakarta Sans',Inter,sans-serif}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 22px;border-radius:999px;font:700 15px/1.2 'Plus Jakarta Sans',sans-serif;text-align:center;transition:background .2s,box-shadow .2s,transform .2s}
.btn.sky{background:var(--sky);color:var(--ink-2);box-shadow:0 10px 22px -12px rgba(36,176,243,.9)}
.btn.sky:hover{background:var(--sky-hover);transform:translateY(-1px)}
.btn.coral{background:linear-gradient(135deg,#EE534F,#FF6B5B);color:var(--on-coral);box-shadow:0 10px 22px -12px rgba(238,83,79,.9)}
.btn.coral:hover{transform:translateY(-1px);box-shadow:0 14px 26px -12px rgba(238,83,79,.95)}
.btn.ink{background:var(--ink);color:#fff}
.btn.ink:hover{background:#24365C}
.btn.soft{background:var(--sky-tint);color:var(--ink)}
.btn.soft:hover{background:#DDF0FD}
.btn.line{background:#fff;color:var(--ink);box-shadow:inset 0 0 0 1px var(--line-2)}
.btn.line:hover{box-shadow:inset 0 0 0 1.5px var(--control)}
.btn.sm{min-height:40px;padding:0 16px;font-size:14px}
.btn.lg{min-height:56px;padding:0 28px;font-size:16px}
.btn.block{width:100%}
.btn[disabled]{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}
.qb{display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:0 10px;border-radius:12px;font:600 14px 'Plus Jakarta Sans',sans-serif;color:var(--muted);transition:background .2s,color .2s}
.qb:hover{background:var(--page);color:var(--ink)}
.lnk{display:inline-flex;align-items:center;gap:6px;min-height:44px;font:700 14px 'Plus Jakarta Sans',sans-serif;color:var(--link)}
.lnk:hover{text-decoration:underline;text-underline-offset:3px}
.chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font:700 12px/1.3 'Plus Jakarta Sans',sans-serif;white-space:nowrap}
.c-sch{background:var(--sky-tint);color:#155E8C}.c-auto{background:#F1F0FE;color:#4C3FB0}.c-moved{background:var(--amber-bg);color:var(--amber-ink)}.c-done{background:var(--green-bg);color:var(--green-ink)}
.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--green);flex:none}

/* header */
.hdr{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.8);backdrop-filter:saturate(1.6) blur(16px);-webkit-backdrop-filter:saturate(1.6) blur(16px);box-shadow:0 1px 0 rgba(27,42,74,.07)}
.hin{display:flex;align-items:center;gap:16px;height:72px;padding:0 24px;max-width:1440px;margin:0 auto}
.logo{display:flex;align-items:center;gap:8px;flex:none;font:700 19px/1 Unbounded,sans-serif;letter-spacing:-.03em;color:var(--ink)}
.logo img{width:34px;height:34px;object-fit:contain}
.logo .l{color:var(--logo-lingua)}
.tabs{display:flex;gap:4px;margin:0 auto;padding:4px;border-radius:999px;background:#F1F5F9}
.tab{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 16px;border-radius:999px;font:700 14px 'Plus Jakarta Sans',sans-serif;color:var(--muted);white-space:nowrap;transition:background .2s,color .2s,box-shadow .2s}
.tab:hover{color:var(--ink)}
.tab[aria-selected=true]{background:#fff;color:var(--ink);box-shadow:0 1px 2px rgba(27,42,74,.08),0 4px 12px -6px rgba(27,42,74,.2)}
.tab .cnt{min-width:22px;padding:1px 7px;border-radius:999px;background:var(--mist);color:var(--ink);font-size:12px;text-align:center}
.right{display:flex;align-items:center;gap:10px;flex:none}
.rbar{display:flex;align-items:center;gap:10px}
.pill{display:inline-flex;align-items:center;gap:7px;height:40px;padding:0 14px;border-radius:999px;background:#fff;box-shadow:inset 0 0 0 1px var(--line-2);font:700 14px 'Plus Jakarta Sans',sans-serif;white-space:nowrap;transition:box-shadow .2s}
.pill:hover{box-shadow:inset 0 0 0 1.5px var(--control)}
.pill .tgi{color:var(--telegram)}
.tgw{position:relative}
.bal{display:flex;align-items:center;height:40px;padding:0 3px 0 0;border-radius:999px;background:#fff;box-shadow:inset 0 0 0 1px var(--line-2)}
.bal-main{display:inline-flex;align-items:center;gap:7px;height:40px;padding:0 10px 0 14px;border-radius:999px 0 0 999px;font:600 14px 'Plus Jakarta Sans',sans-serif;white-space:nowrap}
.bal-main b{font-weight:800}
.bal-main .bo{color:#E8A400}
.bal-main .sep{color:var(--control)}
.bal-main:hover{background:var(--page)}
.bal-ic{display:grid;place-items:center;width:36px;height:34px;border-radius:999px;color:#1E8FD0}
.bal-ic:hover{background:var(--sky-tint)}
.bal-up{display:inline-flex;align-items:center;gap:5px;height:34px;padding:0 12px;margin-left:2px;border-radius:999px;background:var(--sky-tint);font:700 13px 'Plus Jakarta Sans',sans-serif;white-space:nowrap;color:var(--ink)}
.bal-up:hover{background:#DDF0FD}
.vsel{display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 4px 0 12px;border-radius:999px;background:#F1F5F9;font:700 11px 'Plus Jakarta Sans',sans-serif;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);position:relative}
.vsel select{appearance:none;-webkit-appearance:none;height:32px;padding:0 28px 0 10px;border:0;border-radius:999px;background:#fff;font:700 13px 'Plus Jakarta Sans',sans-serif;letter-spacing:0;text-transform:none;color:var(--ink);cursor:pointer;box-shadow:0 1px 2px rgba(27,42,74,.1)}
.vsel svg{position:absolute;right:12px;pointer-events:none;color:var(--muted)}
.prof{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#CFE4F9,#9FD4F7);font:800 15px 'Plus Jakarta Sans',sans-serif;flex:none}
.pop{position:absolute;top:50px;right:0;z-index:50;width:320px;padding:20px;border-radius:22px;background:#fff;box-shadow:0 0 0 1px rgba(27,42,74,.06),0 30px 60px -20px rgba(27,42,74,.35);animation:pop .22s cubic-bezier(.2,.8,.2,1) both}
.pop h3{display:flex;align-items:center;gap:8px;font:700 16px 'Plus Jakarta Sans',sans-serif}
.pop h3 svg{color:var(--telegram)}
.pop p{margin-top:8px;font-size:14px;line-height:1.5;color:var(--muted)}
.pop .ok{display:flex;gap:8px;align-items:flex-start;color:var(--green-ink);font-weight:600}
.pop .ok svg{flex:none;margin-top:2px}
.pop .btn{margin-top:14px}
.pop .pc{position:absolute;top:10px;right:10px;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;color:var(--muted)}
.pop .pc:hover{background:var(--page)}
.pop .lnk{margin-top:4px}

/* page */
.wrap{max-width:1040px;margin:0 auto;padding:48px 24px 140px}
.greet{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 20px;margin-bottom:28px}
.greet h1{font-size:28px}
.greet p{font-size:15px}
.fade{animation:in .4s cubic-bezier(.2,.8,.2,1) both}
.offer{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;margin-bottom:20px;padding:14px 14px 14px 20px;border-radius:20px;background:#fff;box-shadow:inset 0 0 0 1px #FAD3C4,var(--sh)}
.offer .fl{display:grid;place-items:center;width:36px;height:36px;border-radius:12px;background:#FFF1EC;color:#C2410C;flex:none}
.offer p{flex:1 1 320px;font:600 15px/1.45 'Plus Jakarta Sans',sans-serif}
.offer .tm{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;margin-left:4px;border-radius:999px;background:#FFF1EC;color:#9A3412;font:800 13px 'Plus Jakarta Sans',sans-serif;font-variant-numeric:tabular-nums;white-space:nowrap}

.hero{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:32px 48px;align-items:center;padding:40px;border-radius:28px;background:#fff;box-shadow:inset 0 0 0 1px var(--line),var(--sh)}
.st{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;background:var(--green-bg);color:var(--green-ink);font:800 12px/1.35 'Plus Jakarta Sans',sans-serif;letter-spacing:.06em;text-transform:uppercase}
.st span{font-weight:600;letter-spacing:.02em;text-transform:none}
.hero h2{margin-top:18px;font-size:30px;line-height:1.22}
.tut{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:26px}
.av{width:52px;height:52px;border-radius:50%;flex:none;display:block;background:#DCEBFA}
.tut .ti{display:flex;flex-direction:column;line-height:1.35;margin-right:6px}
.tut .ti b{font:700 15px 'Plus Jakarta Sans',sans-serif}
.tut .ti span{font-size:14px;color:var(--muted)}
.hr{display:flex;flex-direction:column;gap:10px}
.hr .opens{font-size:13px;color:var(--muted);text-align:center}
.hr .quiet{display:flex;justify-content:center;flex-wrap:wrap;gap:2px;margin-top:2px}
.hr .qb{padding:0 8px}
.empty{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding:32px 40px;border-radius:28px;background:#fff;box-shadow:inset 0 0 0 1px var(--line),var(--sh)}
.empty h2{font-size:22px}
.empty p{margin-top:6px;color:var(--muted)}

.sched{margin-top:48px}
.sh{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px;margin-bottom:16px}
.sh h2{font-size:20px}
.rows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.row{display:grid;grid-template-columns:200px minmax(0,1fr) 132px auto;align-items:center;gap:8px 20px;padding:14px 14px 14px 22px;border-radius:18px;background:#fff;box-shadow:inset 0 0 0 1px var(--line);transition:box-shadow .2s}
.row:hover{box-shadow:inset 0 0 0 1px var(--line-2),0 8px 20px -14px rgba(27,42,74,.25)}
.rd{display:flex;flex-direction:column;line-height:1.35}
.rd b{font:700 15px 'Plus Jakarta Sans',sans-serif}
.rd span{font-size:14px;color:var(--muted);font-variant-numeric:tabular-nums}
.rt{font:600 15px/1.4 'Plus Jakarta Sans',sans-serif;min-width:0}
.rt small{display:block;font:400 13px Inter,sans-serif;color:var(--muted)}
.row .chip{justify-self:start}
.row.past{background:transparent;box-shadow:inset 0 0 0 1px var(--line)}
.row.past .rd span{color:var(--green-ink);font-weight:600}
.pb{grid-column:3 / 5;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}
.lbl{margin:18px 0 2px 4px;font:800 11px 'Plus Jakarta Sans',sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);list-style:none}

/* practice */
.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}
.card{padding:32px;border-radius:28px;background:#fff;box-shadow:inset 0 0 0 1px var(--line),var(--sh);min-width:0}
.card h2{font-size:20px;line-height:1.3}
.ch{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px}
.prog{display:flex;align-items:center;gap:12px;margin-top:16px;font:700 13px 'Plus Jakarta Sans',sans-serif;color:var(--muted);white-space:nowrap}
.bar{flex:1;height:8px;border-radius:999px;background:#EEF3F8;overflow:hidden}
.bar i{display:block;height:100%;border-radius:inherit;background:var(--sky);transition:width .5s cubic-bezier(.2,.8,.2,1)}
.qbox{margin-top:24px;padding:24px;border-radius:22px;background:var(--page)}
.qn{font:700 13px 'Plus Jakarta Sans',sans-serif;color:var(--muted)}
.qs{margin-top:10px;font:600 26px/1.35 Unbounded,sans-serif;letter-spacing:-.02em}
.gap{display:inline-block;min-width:96px;padding:0 6px;border-bottom:3px solid var(--mist);color:var(--faint);text-align:center;transition:color .2s,border-color .2s}
.gap.ok{color:var(--green-ink);border-color:var(--green)}
.gap.bad{color:var(--red-ink);border-color:#F1A1A8}
.qe{margin-top:6px;font-size:14px;color:var(--muted)}
.opts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:18px}
.opt{min-height:52px;padding:0 10px;border-radius:14px;background:#fff;box-shadow:inset 0 0 0 1.5px var(--line-2);font:600 18px 'Plus Jakarta Sans',sans-serif;transition:box-shadow .2s,background .2s,transform .2s}
.opt:hover:not([disabled]){box-shadow:inset 0 0 0 1.5px var(--sky);transform:translateY(-1px)}
.opt[disabled]{cursor:default}
.opt.ok{background:var(--green-bg);box-shadow:inset 0 0 0 2px var(--green);color:var(--green-ink)}
.opt.bad{background:var(--red-bg);box-shadow:inset 0 0 0 2px #E58A93;color:var(--red-ink)}
.fb{display:flex;gap:10px;align-items:flex-start;margin-top:16px;font-size:15px;line-height:1.5;font-weight:600}
.fb svg{flex:none;margin-top:2px}
.fb.ok{color:var(--green-ink)}.fb.bad{color:var(--red-ink)}
.qact{display:flex;justify-content:flex-end;margin-top:16px}
.qdone{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:24px;padding:24px;border-radius:22px;background:var(--green-bg)}
.qdone .ck{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--green);color:#fff}
.qdone b{font:700 17px 'Plus Jakarta Sans',sans-serif}
.qdone p{color:var(--ink);font-size:15px}
.voc .btn{margin-top:16px}
.words{list-style:none;margin:20px 0 0;padding:0;display:flex;flex-direction:column}
.word{display:flex;align-items:center;gap:14px;padding:12px 0;border-top:1px solid var(--line)}
.word:first-child{border-top:0}
.word .wt{flex:1;min-width:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:0 10px}
.word b{font:600 18px/1.35 Unbounded,sans-serif;letter-spacing:-.02em}
.word .tr{font:600 14px 'Plus Jakarta Sans',sans-serif;color:var(--link)}
.word .en{flex-basis:100%;font-size:14px;color:var(--muted)}
.snd{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--sky-tint);color:#155E8C;transition:background .2s,transform .2s}
.snd:hover{background:#DDF0FD;transform:scale(1.05)}
.snd.on{background:var(--sky);color:var(--ink-2);animation:ping 1s ease-in-out infinite}
.more{margin-top:10px;font-size:14px;color:var(--muted)}

/* chat */
.fab{position:fixed;right:24px;bottom:24px;z-index:45;display:flex;align-items:center;gap:10px;height:56px;padding:0 20px 0 8px;border-radius:999px;background:#fff;box-shadow:0 0 0 1px rgba(27,42,74,.06),0 18px 40px -16px rgba(27,42,74,.45);font:700 15px 'Plus Jakarta Sans',sans-serif;animation:pop .3s cubic-bezier(.2,.8,.2,1) both;transition:transform .2s}
.fab:hover{transform:translateY(-2px)}
.fav{position:relative;flex:none;width:40px;height:40px}
.fav .av{width:40px;height:40px}
.fav i{position:absolute;right:0;bottom:0;width:12px;height:12px;border-radius:50%;background:var(--green);box-shadow:0 0 0 2.5px #fff}
.unr{display:grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#D93A36;color:#fff;font:800 12px 'Plus Jakarta Sans',sans-serif}
.cw{position:fixed;right:24px;bottom:24px;z-index:46;display:flex;flex-direction:column;width:380px;height:520px;max-height:calc(100vh - 96px);border-radius:24px;background:#fff;overflow:hidden;box-shadow:0 0 0 1px rgba(27,42,74,.06),0 40px 80px -24px rgba(27,42,74,.5);animation:up .32s cubic-bezier(.2,.8,.2,1) both;transform-origin:bottom right}
.cwh{display:flex;align-items:center;gap:10px;padding:12px 8px 12px 14px;border-bottom:1px solid var(--line)}
.cwh .who{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.3}
.cwh .who b{font:700 15px 'Plus Jakarta Sans',sans-serif}
.cwh .who span{font-size:12px;color:var(--muted)}
.cic{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;color:var(--muted);flex:none}
.cic:hover{background:var(--page);color:var(--ink)}
.vipr{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;padding:10px 12px 10px 14px;background:#FFFBF0;border-bottom:1px solid #F7E6BF;font-size:13px;line-height:1.35}
.vipr svg{flex:none;color:#B26A00}
.vipr span{flex:1 1 220px;min-width:0}
.vipr .vipb{margin-left:24px}
.vipb{flex:none;min-height:32px;padding:0 12px;border-radius:999px;background:linear-gradient(135deg,#EE534F,#FF6B5B);color:var(--on-coral);font:700 12px 'Plus Jakarta Sans',sans-serif;white-space:nowrap}
.vipr.on{background:var(--green-bg);border-color:#BDEBD6;color:var(--green-ink);font-weight:600}
.vipr.on svg{color:var(--green-ink)}
.thr{flex:1;overflow-y:auto;padding:14px 14px 6px;display:flex;flex-direction:column;gap:10px;background:#FBFCFE}
.day{align-self:center;font:700 11px 'Plus Jakarta Sans',sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}
.msg{max-width:86%;padding:10px 13px;border-radius:18px;font-size:14px;line-height:1.5}
.msg.them{align-self:flex-start;background:#fff;box-shadow:inset 0 0 0 1px var(--line);border-bottom-left-radius:6px}
.msg.me{align-self:flex-end;background:var(--sky);color:var(--ink-2);border-bottom-right-radius:6px}
.msg .tm{display:block;margin-top:4px;font-size:11px;color:var(--faint);text-align:right}
.msg.me .tm{color:#123A55}
.att{display:flex;align-items:center;gap:10px;margin-top:8px;padding:8px 10px;border-radius:12px;background:var(--page);box-shadow:inset 0 0 0 1px var(--line)}
.att svg{flex:none;color:#C2410C}
.att span{display:flex;flex-direction:column;line-height:1.3;font:700 13px 'Plus Jakarta Sans',sans-serif}
.att small{font:400 12px Inter,sans-serif;color:var(--muted)}
.typing{display:flex;gap:4px;padding:14px}
.typing i{width:7px;height:7px;border-radius:50%;background:var(--control);animation:blink 1.2s infinite}
.typing i:nth-child(2){animation-delay:.2s}.typing i:nth-child(3){animation-delay:.4s}
.qr{display:flex;gap:6px;padding:8px 12px 0;overflow-x:auto;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,#000 82%,transparent);mask-image:linear-gradient(90deg,#000 82%,transparent)}
.qr:focus-within,.qr:hover{-webkit-mask-image:none;mask-image:none}
.qc{flex:none;min-height:34px;padding:0 12px;border-radius:999px;background:#fff;box-shadow:inset 0 0 0 1px var(--line-2);font:600 13px 'Plus Jakarta Sans',sans-serif;white-space:nowrap}
.qc:hover{box-shadow:inset 0 0 0 1.5px var(--sky)}
.cin{display:flex;align-items:center;gap:2px;margin:8px 10px 10px;padding:4px;border-radius:16px;box-shadow:inset 0 0 0 1px var(--line-2)}
.cin:focus-within{box-shadow:inset 0 0 0 1.5px var(--sky)}
.cin input{flex:1;min-width:0;height:40px;border:0;background:none;padding:0 6px;font-size:14px;outline:none}
.cin input::placeholder{color:var(--faint)}
.send{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--sky);color:var(--ink-2);flex:none}
.send[disabled]{background:#EEF3F8;color:var(--control);cursor:default}

/* modals */
.mo{position:fixed;inset:0;z-index:60;display:flex;padding:24px;background:rgba(16,32,56,.38);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);overflow-y:auto;animation:fade .2s both}
.md{position:relative;margin:auto;width:100%;max-width:560px;padding:32px;border-radius:28px;background:#fff;box-shadow:0 50px 100px -30px rgba(16,32,56,.5);animation:up .35s cubic-bezier(.2,.8,.2,1) both}
.md.w{max-width:720px}
.mx{position:absolute;top:14px;right:14px;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;color:var(--muted)}
.mx:hover{background:var(--page);color:var(--ink)}
.md h2{font-size:22px;padding-right:44px}
.md h3{font:800 12px 'Plus Jakarta Sans',sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);margin:28px 0 12px}
.md .sub{margin-top:6px;font-size:15px;color:var(--muted)}
.ov{font:800 12px 'Plus Jakarta Sans',sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);margin-bottom:6px}
.balc{margin-top:18px;padding:18px;border-radius:18px;background:var(--page)}
.balc .bl{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 16px;font-size:15px}
.balc .bl b{font:700 15px 'Plus Jakarta Sans',sans-serif}
.balc .bar{margin-top:12px}
.ar{display:flex;flex-wrap:wrap;align-items:center;gap:0 10px;margin-top:12px;font-size:14px;line-height:1.5;color:var(--muted)}
.ar svg{flex:none;color:var(--green)}
.ar span{flex:1 1 0;min-width:220px}
.arf{margin-top:12px;padding:18px;border-radius:18px;box-shadow:inset 0 0 0 1px var(--line-2);animation:in .3s both}
.sdots{display:flex;align-items:center;gap:6px;font:700 12px 'Plus Jakarta Sans',sans-serif;color:var(--faint)}
.sd{width:22px;height:4px;border-radius:999px;background:var(--line)}
.sd.on{background:var(--sky)}
.arf b{display:block;margin-top:10px;font:700 16px 'Plus Jakarta Sans',sans-serif}
.arf p{margin-top:4px;font-size:14px;color:var(--muted)}
.arf .acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.fz{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.fzb{display:flex;align-items:center;gap:12px;min-height:64px;padding:12px 16px;border-radius:16px;background:#fff;box-shadow:inset 0 0 0 1px var(--line-2);text-align:left;transition:box-shadow .2s,background .2s}
.fzb:hover:not([disabled]){box-shadow:inset 0 0 0 1.5px var(--sky);background:#FBFDFF}
.fzb[disabled]{opacity:.5;cursor:not-allowed}
.fzb .fi{display:grid;place-items:center;width:36px;height:36px;border-radius:12px;background:var(--sky-tint);color:#1E8FD0;flex:none}
.fzb.x .fi{background:#FFF4DE;color:#B26A00}
.fzb span{display:flex;flex-direction:column;line-height:1.35;min-width:0}
.fzb b{font:700 14px 'Plus Jakarta Sans',sans-serif}
.fzb small{font-size:13px;color:var(--muted)}
.okm{display:flex;gap:10px;align-items:flex-start;margin-top:12px;padding:12px 14px;border-radius:14px;background:var(--green-bg);color:var(--green-ink);font-size:14px;font-weight:600;line-height:1.5}
.okm svg{flex:none;margin-top:2px}
.note{margin-top:8px;font-size:13px;color:var(--faint)}
.pks{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.pk{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:16px 14px 14px;border-radius:18px;background:#fff;box-shadow:inset 0 0 0 1px var(--line-2);text-align:left;transition:box-shadow .2s,background .2s}
.pk:hover{box-shadow:inset 0 0 0 1.5px var(--control)}
.pk.on{background:var(--sky-tint);box-shadow:inset 0 0 0 2px var(--sky)}
.pk .pn{font:700 14px 'Plus Jakarta Sans',sans-serif}
.pk .pl{font:800 22px/1.2 'Plus Jakarta Sans',sans-serif;letter-spacing:-.02em;margin-top:6px}
.pk .pl small{font:600 13px 'Plus Jakarta Sans',sans-serif;color:var(--muted);letter-spacing:0}
.pk .pp{font:700 15px 'Plus Jakarta Sans',sans-serif;margin-top:4px}
.pk .pe{font-size:12px;color:var(--muted)}
.pk .perk{display:flex;align-items:center;gap:5px;margin-top:8px;font:700 12px 'Plus Jakarta Sans',sans-serif;color:var(--green-ink)}
.pk .cur{position:absolute;top:-9px;right:10px;padding:2px 8px;border-radius:999px;background:var(--ink);color:#fff;font:800 10px/1.4 'Plus Jakarta Sans',sans-serif;letter-spacing:.06em;text-transform:uppercase}
.pay{margin-top:14px}
.spin{width:16px;height:16px;border-radius:50%;border:2.5px solid rgba(11,26,46,.25);border-top-color:var(--on-coral);animation:spin .8s linear infinite}
.safe{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:8px;font-size:13px;color:var(--muted)}
.tog{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;margin-top:20px;padding:4px;border-radius:16px;background:#F1F5F9}
.tog button{min-height:44px;padding:6px 10px;border-radius:12px;font:700 13px/1.3 'Plus Jakarta Sans',sans-serif;color:var(--muted)}
.tog button[aria-pressed=true]{background:#fff;color:var(--ink);box-shadow:0 1px 2px rgba(27,42,74,.08),0 4px 12px -6px rgba(27,42,74,.2)}
.free{display:flex;gap:10px;align-items:flex-start;margin-top:16px;padding:12px 14px;border-radius:14px;background:var(--green-bg);color:var(--green-ink);font:700 14px/1.45 'Plus Jakarta Sans',sans-serif}
.free svg,.late svg{flex:none;margin-top:2px}
.late{display:flex;gap:12px;align-items:flex-start;margin-top:16px;padding:16px;border-radius:16px;background:var(--amber-bg);box-shadow:inset 0 0 0 1px var(--amber-line)}
.late svg{color:#C2410C}
.late b{display:block;font:800 15px 'Plus Jakarta Sans',sans-serif;color:var(--amber-ink)}
.late p{margin-top:4px;font-size:14px;line-height:1.55}
.slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}
.slots button{min-height:46px;padding:0 6px;border-radius:12px;background:#fff;box-shadow:inset 0 0 0 1px var(--line-2);font:700 13px 'Plus Jakarta Sans',sans-serif;font-variant-numeric:tabular-nums;transition:box-shadow .2s,background .2s}
.slots button:hover{box-shadow:inset 0 0 0 1.5px var(--sky)}
.slots button[aria-pressed=true]{background:var(--sky);box-shadow:none;color:var(--ink-2)}
.slots.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.mact{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-top:18px}
.days button{display:flex;flex-direction:column;align-items:center;gap:0;padding:8px 2px;border-radius:14px;box-shadow:inset 0 0 0 1px var(--line-2);font:600 12px/1.3 'Plus Jakarta Sans',sans-serif;color:var(--muted)}
.days button b{font:800 18px/1.25 'Plus Jakarta Sans',sans-serif;color:var(--ink)}
.days button:hover{box-shadow:inset 0 0 0 1.5px var(--sky)}
.days button[aria-pressed=true]{background:var(--ink);box-shadow:none;color:#C9D6E8}
.days button[aria-pressed=true] b{color:#fff}
.dl{margin-top:18px;font:700 14px 'Plus Jakarta Sans',sans-serif}
.rep{display:flex;align-items:center;gap:10px;margin-top:16px;font-size:15px;cursor:pointer}
.rep input{width:20px;height:20px;accent-color:#1E8FD0;margin:0}
.warn{margin-top:14px;padding:12px 14px;border-radius:14px;background:var(--amber-bg);color:var(--amber-ink);font-size:14px;font-weight:600}
.dev{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-top:18px}
.dev .stt{display:flex;gap:10px;align-items:flex-start;width:100%;padding:12px 14px;border-radius:14px;font-size:14px;line-height:1.5;font-weight:600}
.dev .stt svg{flex:none;margin-top:2px}
.dev .ok{background:var(--green-bg);color:var(--green-ink)}
.dev .bad{background:var(--red-bg);color:var(--red-ink)}
.dev .wait{background:var(--page);color:var(--muted)}
.nl{margin:10px 0 0;padding-left:20px;font-size:15px;line-height:1.6}
.nl li+li{margin-top:4px}
.kp{list-style:none;margin:0;padding:0}
.kp li{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px;padding:10px 0;border-top:1px solid var(--line)}
.kp li:first-child{border-top:0}
.kp b{font:600 16px Unbounded,sans-serif;letter-spacing:-.02em}
.kp .tr{font:600 13px 'Plus Jakarta Sans',sans-serif;color:var(--link)}
.kp .en{font-size:14px;color:var(--muted)}
.tip{margin-top:20px;padding:14px 16px;border-radius:14px;background:var(--sky-tint);font-size:14px;line-height:1.5}
.fc{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:100%;min-height:220px;margin-top:20px;padding:24px;border-radius:24px;background:linear-gradient(160deg,#F4FAFF,#E8F4FE);box-shadow:inset 0 0 0 1px #D9EAF9;text-align:center;transition:transform .25s}
.fc:hover{transform:translateY(-2px)}
.fc .fr{font:600 34px/1.25 Unbounded,sans-serif;letter-spacing:-.02em}
.fc .ft{font:600 16px 'Plus Jakarta Sans',sans-serif;color:var(--link)}
.fc .fe{font:600 24px/1.3 'Plus Jakarta Sans',sans-serif}
.fc small{margin-top:10px;display:inline-flex;align-items:center;gap:6px;font:600 13px 'Plus Jakarta Sans',sans-serif;color:var(--muted)}
.fcrow{display:flex;align-items:center;gap:12px;margin-top:16px}
.fcrow .bar{flex:1}

@keyframes in{from{opacity:0;transform:translateY(12px)}}
@keyframes up{from{opacity:0;transform:translateY(18px) scale(.98)}}
@keyframes pop{from{opacity:0;transform:translateY(8px) scale(.96)}}
@keyframes fade{from{opacity:0}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes blink{0%,80%,100%{opacity:.3}40%{opacity:1}}
@keyframes ping{50%{box-shadow:0 0 0 6px rgba(36,176,243,.2)}}

@media(max-width:1500px){.up2{display:none}.vsel .vl{display:none}.vsel{padding-left:4px}}
@media(max-width:1400px){.hin{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"logo right" "tabs tabs";height:auto;row-gap:8px;padding:12px 24px}
 .logo{grid-area:logo}.right{grid-area:right;justify-self:end}.tabs{grid-area:tabs;justify-self:center;margin:0}}
@media(max-width:1000px){.tgw .tl{display:none}.tgw .pill{width:40px;padding:0;justify-content:center}.vu,.bal-main .sep{display:none}}
@media(max-width:860px){.hero{grid-template-columns:minmax(0,1fr);padding:32px}.hr .quiet{justify-content:flex-start}.hr .opens{text-align:left}
 .row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"rd chip" "rt rt" "act act";padding:16px 18px}
 .rd{grid-area:rd}.rt{grid-area:rt}.row .chip{grid-area:chip;justify-self:end}.row>.btn{grid-area:act;justify-self:start}.pb{grid-area:act;justify-content:flex-start}
 .two{grid-template-columns:minmax(0,1fr)}.vu{display:none}.bal-main .sep{display:none}}
@media(max-width:720px){.hin{grid-template-columns:auto minmax(0,1fr) auto auto;grid-template-areas:"logo . vsel prof" "tabs tabs tabs tabs" "bal bal bal tg";column-gap:8px;padding:10px 16px 12px}
 .right,.rbar{display:contents}.prof{grid-area:prof}.vsel{grid-area:vsel}.bal{grid-area:bal;justify-self:start}.tgw{grid-area:tg}
 .vsel select{width:132px;text-overflow:ellipsis}
 .logo{font-size:17px}.logo img{width:30px;height:30px}
 .hdr{position:static}
 .tabs{justify-self:stretch}.tab{flex:1;justify-content:center;padding:0 10px}
 .st{display:flex;flex-wrap:wrap;border-radius:14px}.st span{flex-basis:100%;padding-left:16px}
 .wrap{padding:28px 16px 120px}.greet h1{font-size:23px}
 .hero{padding:24px;border-radius:24px}.hero h2{font-size:23px}
 .card{padding:22px;border-radius:24px}.qs{font-size:21px}.qbox{padding:18px}
 .md{padding:24px 18px;border-radius:24px}.mo{padding:12px}
 .pks{grid-template-columns:repeat(2,minmax(0,1fr))}.fz{grid-template-columns:minmax(0,1fr)}
 .slots,.slots.four{grid-template-columns:repeat(2,minmax(0,1fr))}.days{gap:4px}
 .fab{right:16px;bottom:16px;height:52px;padding:0 16px 0 6px}.fab .fl{display:none}
 .cw{right:8px;left:8px;bottom:8px;width:auto;height:min(560px,calc(100vh - 16px));max-height:none}
 .empty{padding:24px}.ar .lnk{margin-left:26px}}
@media(max-width:380px){.hin{grid-template-areas:"logo . . prof" "tabs tabs tabs tabs" "bal bal bal tg" "vsel vsel vsel vsel"}.vsel{justify-self:start}}
@media(max-width:420px){.tab .tx2{display:none}.bal-up .tx{display:none}.bal-up{width:34px;padding:0;justify-content:center}.greet{margin-bottom:20px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

html,body{height:100%}
.room{display:flex;flex-direction:column;height:100vh;min-height:560px;background:var(--page)}
/* top bar */
.cbar{flex:none;background:#fff;border-bottom:1px solid var(--line);z-index:30}
.cbi{display:flex;align-items:center;gap:12px;height:64px;padding:0 16px}
.cl{display:flex;flex-direction:column;justify-content:center;gap:1px;min-width:0;flex:0 0 auto}
.cl1{display:flex;align-items:center;gap:8px}
.cbar .logo{font-size:17px;gap:6px}.cbar .logo img{width:28px;height:28px}
.ibadge{padding:2px 8px;border-radius:999px;background:var(--mist);color:var(--ink);font:800 10px/1.5 'Plus Jakarta Sans',sans-serif;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
.ltitle{max-width:270px;font:600 12px/1.3 'Plus Jakarta Sans',sans-serif;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cdemo{display:flex;align-items:center;gap:8px;margin:0 auto;min-width:0}
.sg{display:flex;gap:2px;padding:3px;border-radius:12px;background:#F1F5F9}
.sg button{display:inline-flex;align-items:center;gap:5px;min-height:34px;padding:0 9px;border-radius:9px;font:700 12.5px 'Plus Jakarta Sans',sans-serif;color:var(--muted);white-space:nowrap}
.sg button .fx{font-weight:600;font-size:11.5px}
.sg button:hover{color:var(--ink)}
.sg button[aria-pressed=true]{background:#fff;color:var(--ink);box-shadow:0 1px 2px rgba(27,42,74,.08),0 3px 10px -6px rgba(27,42,74,.25)}
.cr{display:flex;align-items:center;gap:8px;flex:none}
.tmr{display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 12px;border-radius:999px;background:var(--page);box-shadow:inset 0 0 0 1px var(--line);font:600 13px 'Plus Jakarta Sans',sans-serif;color:var(--muted);white-space:nowrap}
.tmr b{font:800 15px 'Plus Jakarta Sans',sans-serif;color:var(--ink);font-variant-numeric:tabular-nums}
.tmr em{font-style:normal;font-size:12px;color:var(--faint);padding-left:6px;border-left:1px solid var(--line-2)}
.tmr.warn{background:var(--amber-bg);box-shadow:inset 0 0 0 1px var(--amber-line)}.tmr.warn b{color:var(--amber-ink)}
.cdot{width:9px;height:9px;border-radius:50%;background:var(--green);box-shadow:0 0 0 3px rgba(16,185,129,.18)}
.hb{display:inline-flex;align-items:center;gap:7px;height:40px;padding:0 12px;border-radius:999px;background:#fff;box-shadow:inset 0 0 0 1px var(--line-2);font:700 13px 'Plus Jakarta Sans',sans-serif;white-space:nowrap}
.hb:hover{box-shadow:inset 0 0 0 1.5px var(--control)}
.hb svg{color:#1E8FD0;flex:none}
.hb[aria-pressed=true]{background:var(--sky-tint);box-shadow:inset 0 0 0 1.5px var(--sky)}
.hn{min-width:22px;padding:1px 7px;border-radius:999px;background:var(--mist);font-size:12px;text-align:center}
.pbb{background:#FFF7E8;box-shadow:inset 0 0 0 1px var(--amber-line)}.pbb svg{color:#B26A00}
.fin{min-height:40px;padding:0 16px;font-size:13.5px}
/* stage */
.stage{position:relative;flex:1;min-height:0;display:grid;grid-template-columns:minmax(300px,25%) minmax(0,1fr);gap:16px;padding:16px}
.lcol{display:flex;flex-direction:column;gap:12px;min-height:0;min-width:0}
.vwrap{display:flex;flex-direction:column;gap:10px;flex:none}
.vg{display:flex;flex-direction:column;gap:10px}
.tile{position:relative;margin:0;border-radius:18px;overflow:hidden;background:#DCEBFA;box-shadow:0 1px 2px rgba(27,42,74,.06)}
.tt,.ts{height:clamp(120px,calc((100vh - 64px - 32px - 400px) / 2),280px)}
.vid{display:block;width:100%;height:100%}
.nm{position:absolute;left:8px;bottom:8px;display:inline-flex;align-items:center;gap:6px;max-width:calc(100% - 16px);padding:4px 10px;border-radius:999px;background:rgba(16,38,63,.78);color:#fff;font:700 12px/1.4 'Plus Jakarta Sans',sans-serif;backdrop-filter:blur(6px)}
.nm span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nm svg{flex:none;color:#FCA5A5}
.va{display:inline-flex;align-items:flex-end;gap:2px;height:12px;flex:none}
.va i{width:3px;border-radius:2px;background:#6EE7B7;animation:vbar 1s ease-in-out infinite}
.va i:nth-child(1){height:5px}.va i:nth-child(2){height:11px;animation-delay:.15s}.va i:nth-child(3){height:7px;animation-delay:.3s}.va i:nth-child(4){height:9px;animation-delay:.45s}
@keyframes vbar{50%{transform:scaleY(.4)}}
.va i{transform-origin:bottom}
.coff{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:100%;height:100%;background:#1B2A4A;color:#fff}
.coff b{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:#2D7FC1;font:800 18px 'Plus Jakarta Sans',sans-serif}
.coff small{font:600 12px 'Plus Jakarta Sans',sans-serif;color:#C9D6E8}
.shp{position:absolute;top:8px;right:8px;display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:999px;background:var(--sky);color:var(--ink-2);font:800 11px 'Plus Jakarta Sans',sans-serif}
.g5{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.gs{border-radius:14px}
.gs:last-child{grid-column:1/-1;justify-self:center;width:calc(50% - 4px)}
.gs .nm{left:6px;bottom:6px;padding:2px 8px;font-size:11px}
.gs .coff b{width:36px;height:36px;font-size:14px}
.mcb{position:relative;display:flex;align-items:center;justify-content:center;gap:8px;padding:8px;border-radius:999px;background:#fff;box-shadow:inset 0 0 0 1px var(--line)}
.mc{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#F1F5F9;color:var(--ink);transition:background .2s,color .2s}
.mc:hover{background:#E2E8F0}
.mc.off{background:#D93A36;color:#fff}.mc.off:hover{background:#C2302C}
.mc.on{background:var(--sky);color:var(--ink-2)}
.conn{display:inline-flex;align-items:center;gap:5px;margin-left:4px;font:700 11.5px 'Plus Jakarta Sans',sans-serif;color:var(--green-ink)}
.conn i{width:7px;height:7px;border-radius:50%;background:var(--green)}
.dpop{position:absolute;left:0;right:0;bottom:calc(100% + 8px);z-index:40;padding:16px;border-radius:20px;background:#fff;box-shadow:0 0 0 1px rgba(27,42,74,.06),0 30px 60px -20px rgba(27,42,74,.4);animation:pop .2s both}
.dph{position:relative;display:flex;align-items:center;min-height:40px;padding-right:44px}
.dph h2{font-size:16px}
.dph .mx{top:-2px;right:-6px;width:40px;height:40px}
.fld2{display:flex;flex-direction:column;gap:4px;margin-top:10px;font:700 12px 'Plus Jakarta Sans',sans-serif;color:var(--muted)}
.sel2{position:relative;display:flex}
.sel2 select{appearance:none;-webkit-appearance:none;width:100%;min-height:40px;padding:0 32px 0 12px;border:0;border-radius:12px;background:#fff;box-shadow:inset 0 0 0 1.5px var(--line-2);font:600 13px 'Plus Jakarta Sans',sans-serif;color:var(--ink)}
.sel2 svg{position:absolute;right:10px;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--muted)}
.lvl{margin-top:8px}
.lv{display:flex;gap:3px;height:10px}
.lv i{flex:1;border-radius:3px;background:#E2E8F0}
.lv.on i:nth-child(-n+6){background:var(--green);animation:lvl 1.2s ease-in-out infinite}
.lv.on i:nth-child(2n){animation-delay:.2s}
@keyframes lvl{50%{opacity:.35}}
.dst{display:flex;align-items:center;gap:6px;margin-top:6px;font-size:12.5px;color:var(--muted)}
.dst svg{color:var(--green-ink);flex:none}
.spk{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;font:700 12px 'Plus Jakarta Sans',sans-serif;color:var(--muted)}
.mtabs{display:none}
.tcx{position:absolute;top:8px;right:8px;display:flex;gap:4px}
.tc{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:rgba(16,38,63,.72);color:#fff;backdrop-filter:blur(6px);transition:background .2s}
.tc:hover{background:rgba(16,38,63,.9)}
.tc.off{background:#D93A36}.tc.off:hover{background:#C2302C}
.gs .tcx{top:5px;right:5px;gap:3px}.gs .tc{width:26px;height:26px}.gs .tc svg{width:13px;height:13px}
.wbc.tool-text{cursor:text}
.wbtw{position:absolute;display:flex;align-items:center;gap:4px;margin-left:-8px;transform:translateY(-50%)}
.wbti{width:200px;min-height:38px;padding:4px 6px;border:0;border-radius:8px;background:rgba(255,255,255,.95);box-shadow:inset 0 0 0 2px var(--sky);font:600 20px/1.3 Inter,system-ui,sans-serif;color:var(--ink);outline:none}
.wbti::placeholder{font-size:14px;font-weight:500;color:var(--faint)}
.wbok{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--sky);color:var(--ink-2);flex:none}
.grp .tt{height:clamp(110px,calc((100vh - 64px) * .2),220px)}
.grp .gs{height:clamp(62px,calc((100vh - 64px) * .1),118px)}
.lchat .qex{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
.lchat .qex::-webkit-scrollbar{display:none}
.lchat .qex span{flex:none}
/* chat */
.lchat{flex:1;min-height:200px;display:flex;flex-direction:column;border-radius:20px;background:#fff;box-shadow:inset 0 0 0 1px var(--line);overflow:hidden}
.lch{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:12px 14px;border-bottom:1px solid var(--line)}
.lch h2{font:700 14px 'Plus Jakarta Sans',sans-serif;letter-spacing:0}
.lch span{font-size:11.5px;color:var(--faint);text-align:right}
.lct{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:8px;padding:12px;background:#FBFCFE}
.cm{align-self:flex-start;max-width:92%;padding:8px 11px;border-radius:14px;border-bottom-left-radius:4px;background:#fff;box-shadow:inset 0 0 0 1px var(--line);font-size:13.5px;line-height:1.5}
.cm.mine{align-self:flex-end;background:var(--sky-tint);box-shadow:inset 0 0 0 1px #BFE3FA;border-radius:14px;border-bottom-right-radius:4px}
.cw2{display:block;font:700 11px 'Plus Jakarta Sans',sans-serif;color:var(--faint)}
.qex{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:8px 12px 0;font:700 11.5px 'Plus Jakarta Sans',sans-serif;color:var(--muted)}
.qex button{min-height:32px;padding:0 10px;border-radius:999px;background:#fff;box-shadow:inset 0 0 0 1px var(--line-2);font:600 12.5px 'Plus Jakarta Sans',sans-serif;color:var(--ink);white-space:nowrap}
.qex button:hover{box-shadow:inset 0 0 0 1.5px var(--sky)}
.lcin{display:flex;align-items:center;gap:4px;margin:8px 10px 10px;padding:4px;border-radius:14px;box-shadow:inset 0 0 0 1px var(--line-2)}
.lcin:focus-within{box-shadow:inset 0 0 0 1.5px var(--sky)}
.lcin input{flex:1;min-width:0;height:38px;border:0;background:none;padding:0 8px;font-size:14px;outline:none}
.lcin input::placeholder{color:var(--faint)}
/* canvas */
.ccol{display:flex;flex-direction:column;min-height:0;min-width:0;border-radius:24px;background:#fff;box-shadow:inset 0 0 0 1px var(--line),var(--sh);overflow:hidden}
.ctb{flex:none;display:flex;flex-direction:column;gap:10px;padding:12px 16px;border-bottom:1px solid var(--line)}
.ctabs{display:flex;gap:4px;padding:4px;border-radius:14px;background:#F1F5F9;overflow-x:auto;scrollbar-width:none}
.ctabs::-webkit-scrollbar{display:none}
.ctab{flex:1 0 auto;display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 14px;border-radius:10px;font:700 13.5px 'Plus Jakarta Sans',sans-serif;color:var(--muted);white-space:nowrap}
.ctab .tx2{font-weight:600}
.ctab:hover{color:var(--ink)}
.ctab[aria-selected=true]{background:#fff;color:var(--ink);box-shadow:0 1px 2px rgba(27,42,74,.08),0 4px 12px -6px rgba(27,42,74,.2)}
.ctr{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px}
.tip{flex:1 1 360px;display:flex;align-items:flex-start;gap:8px;padding:8px 12px;border-radius:12px;background:var(--sky-tint);font-size:13px;line-height:1.45;color:#155E8C}
.tip svg{flex:none;margin-top:1px}
.tctl{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.tctl .btn.sm{min-height:36px;padding:0 12px;font-size:12.5px}
.sync{display:inline-flex;align-items:center;gap:6px;margin-right:4px;font:700 12px 'Plus Jakarta Sans',sans-serif;color:var(--green-ink);white-space:nowrap}
.sync i{width:8px;height:8px;border-radius:50%;background:var(--green)}
.shb{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:8px 8px 8px 14px;border-radius:12px;background:var(--ink);color:#fff;font:600 13px 'Plus Jakarta Sans',sans-serif}
.shb span{flex:1 1 200px}.shb svg{color:var(--sky);flex:none}
.cbody{flex:1;min-height:0;overflow-y:auto;padding:28px 32px 36px}
.slide{max-width:980px;margin:0 auto}
.sx{display:inline-block;padding:4px 10px;border-radius:999px;background:var(--mist);font:800 11px/1.4 'Plus Jakarta Sans',sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--ink)}
.sh3{margin:12px 0 20px;font-size:26px}
/* slide 1 */
.wcards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.wcard{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:22px;border-radius:22px;background:linear-gradient(160deg,#F7FBFF,#EEF6FE);box-shadow:inset 0 0 0 1px #D9EAF9;min-width:0}
.wru{font:600 26px/1.25 Unbounded,sans-serif;letter-spacing:-.02em;text-align:left;text-decoration:underline dotted #7FB8E0 2px;text-underline-offset:6px;border-radius:6px}
.wru:hover{color:#155E8C}
.wtr{margin-top:6px;font:700 14px 'Plus Jakarta Sans',sans-serif;color:var(--link)}
.wen{font-size:15px;color:var(--muted)}
.wact{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px}
.svd{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 12px;border-radius:999px;background:var(--green-bg);color:var(--green-ink);font:700 13px 'Plus Jakarta Sans',sans-serif}
.eq{display:inline-flex;align-items:flex-end;gap:2px;height:14px}
.eq i{width:3px;height:14px;border-radius:2px;background:currentColor;transform-origin:bottom;animation:vbar .8s ease-in-out infinite}
.eq i:nth-child(2){animation-delay:.15s}.eq i:nth-child(3){animation-delay:.3s}
/* slide 2 */
.exb{margin-top:16px;padding:24px;border-radius:22px;background:#fff;box-shadow:inset 0 0 0 1px var(--line-2)}
.exh{font:800 12px 'Plus Jakarta Sans',sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}
.exhr{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 12px}
.mprog{font:700 13px 'Plus Jakarta Sans',sans-serif;color:var(--muted)}
.sent{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 0;margin-top:14px;font:600 28px/1.35 Unbounded,sans-serif;letter-spacing:-.02em}
.tk{white-space:nowrap;margin-right:.32em}
.rw{font:inherit;letter-spacing:inherit;color:inherit;text-decoration:underline dotted #7FB8E0 2px;text-underline-offset:6px;border-radius:6px;padding:0 2px}
.rw:hover,.rw.on{background:var(--mist)}
.gap2{display:inline-block;min-width:90px;margin-right:.32em;padding:0 8px;border-bottom:3px solid var(--mist);color:var(--faint);text-align:center}
.gap2.ok{color:var(--green-ink);border-color:var(--green)}
.gap2.bad{border-color:#F5B544}
.str{margin-top:8px;font-size:15px;color:var(--muted)}
.opts2{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.opt2{display:inline-flex;align-items:baseline;gap:8px;min-height:52px;padding:10px 18px;border-radius:999px;background:#fff;box-shadow:inset 0 0 0 1.5px var(--line-2);text-align:left;transition:box-shadow .2s,background .2s,transform .2s}
.opt2 b{font:700 19px 'Plus Jakarta Sans',sans-serif}
.opt2 span{font-size:13.5px;color:var(--muted)}
.opt2:hover:not([disabled]){box-shadow:inset 0 0 0 1.5px var(--sky);transform:translateY(-1px)}
.opt2.ok{background:var(--green-bg);box-shadow:inset 0 0 0 2px var(--green)}.opt2.ok b,.opt2.ok span{color:var(--green-ink)}
.opt2.bad{background:var(--amber-bg);box-shadow:inset 0 0 0 2px #F5B544}.opt2.bad span{color:var(--amber-ink)}
.opt2[disabled]{cursor:default}
.fb2{display:flex;gap:8px;align-items:flex-start;margin-top:14px;padding:12px 14px;border-radius:14px;font-size:14.5px;line-height:1.5;font-weight:600}
.fb2 svg{flex:none;margin-top:3px}
.fb2.ok{background:var(--green-bg);color:var(--green-ink)}
.fb2.hint{background:var(--amber-bg);color:var(--amber-ink)}
.live{display:flex;align-items:center;gap:6px;margin-top:12px;font:600 12.5px 'Plus Jakarta Sans',sans-serif;color:var(--muted)}
.live.ok{color:var(--green-ink)}
.hint4{margin-top:6px;font-size:14px;color:var(--muted)}
.mgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}
.mcol{display:flex;flex-direction:column;gap:8px;min-width:0}
.mt{display:flex;align-items:center;gap:10px;min-height:60px;padding:10px 14px;border-radius:16px;background:#fff;box-shadow:inset 0 0 0 1.5px var(--line-2);text-align:left;transition:box-shadow .2s,background .2s}
.mt:hover:not([disabled]){box-shadow:inset 0 0 0 1.5px var(--sky)}
.mtx{display:flex;flex-direction:column;line-height:1.35;min-width:0}
.mt b{font:700 16px 'Plus Jakarta Sans',sans-serif}.mtx span{font-size:13px;color:var(--link);font-weight:600}
.mt.en b{font-weight:600}
.mt.on{background:var(--sky-tint);box-shadow:inset 0 0 0 2px var(--sky)}
.mt.ok{background:var(--green-bg);box-shadow:inset 0 0 0 2px var(--green)}.mt.ok b{color:var(--green-ink)}
.mt.bad{background:var(--red-bg);box-shadow:inset 0 0 0 2px #E58A93;animation:shake .35s}
.mt[disabled]{cursor:default}
.mn{display:grid;place-items:center;flex:none;width:26px;height:26px;border-radius:50%;background:var(--green);color:#fff;font:800 12px 'Plus Jakarta Sans',sans-serif}
.mn:empty{display:none}
@keyframes shake{25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}
/* slide 3 */
.player{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;padding:14px 16px;border-radius:20px;background:var(--page);box-shadow:inset 0 0 0 1px var(--line)}
.pp{display:grid;place-items:center;flex:none;width:52px;height:52px;border-radius:50%;background:var(--sky);color:var(--ink-2);box-shadow:0 10px 22px -12px rgba(36,176,243,.9)}
.wave{position:relative;flex:1 1 220px;min-width:180px;height:44px}
.bars{display:flex;align-items:center;gap:3px;height:100%}
.wb2{flex:1;border-radius:3px;background:var(--mist)}
.wb2.on{background:var(--sky)}
.wave input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.wave:focus-within{outline:3px solid var(--ink-2);outline-offset:3px;border-radius:8px}
.atc{font:700 14px 'Plus Jakarta Sans',sans-serif;font-variant-numeric:tabular-nums;white-space:nowrap}
.segs{display:inline-flex;flex-wrap:wrap;gap:3px;padding:3px;border-radius:12px;background:#F1F5F9}
.segs button{min-height:36px;padding:0 12px;border-radius:9px;font:700 12.5px 'Plus Jakarta Sans',sans-serif;color:var(--muted);white-space:nowrap}
.segs button[aria-pressed=true]{background:#fff;color:var(--ink);box-shadow:0 1px 2px rgba(27,42,74,.08),0 3px 10px -6px rgba(27,42,74,.25)}
.dlg{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}
.dl2{max-width:86%;padding:16px 18px;border-radius:20px;border-top-left-radius:6px;background:#fff;box-shadow:inset 0 0 0 1px var(--line-2);transition:box-shadow .2s,background .2s}
.dl2.guest{align-self:flex-end;border-radius:20px;border-top-right-radius:6px;background:#FBFCFE}
.dl2.on{background:var(--sky-tint);box-shadow:inset 0 0 0 2px var(--sky)}
.dh{display:flex;align-items:center;justify-content:space-between;gap:10px}
.drl{font:800 11px 'Plus Jakarta Sans',sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}
.lp{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--sky-tint);color:#155E8C;flex:none}
.lp:hover{background:#DDF0FD}
.dru{display:flex;flex-wrap:wrap;gap:4px 0;margin-top:4px;font:600 21px/1.4 Unbounded,sans-serif;letter-spacing:-.02em}
.dtr{margin-top:6px;font:700 13.5px 'Plus Jakarta Sans',sans-serif;color:var(--link)}
.den{font-size:14.5px;color:var(--muted)}
/* slide 4 */
.wbs{display:flex;flex-direction:column;height:100%;max-width:none}
.wbh{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}
.wbt{display:flex;flex-wrap:wrap;align-items:center;gap:4px}
.wbw{position:relative;flex:1;min-height:360px;margin-top:14px;border-radius:20px;background-color:#fff;background-image:radial-gradient(#D6E1EC 1.2px,transparent 1.2px);background-size:22px 22px;box-shadow:inset 0 0 0 1px var(--line-2);overflow:hidden}
.wbc{display:block;width:100%;height:100%;min-height:360px;touch-action:none;cursor:crosshair}
.wbc.tool-pointer{cursor:default}
.wbph{position:absolute;inset:0;display:grid;place-items:center;padding:20px;text-align:center;font:600 14px 'Plus Jakarta Sans',sans-serif;color:var(--faint);pointer-events:none}
.notes2{margin-top:14px}
.ta3{width:100%;padding:14px 16px;border:0;border-radius:16px;background:#fff;box-shadow:inset 0 0 0 1.5px var(--line-2);font:500 15px/1.7 Inter,sans-serif;color:var(--ink);resize:vertical}
.ta3:focus{outline:none;box-shadow:inset 0 0 0 2px var(--sky)}
.notes2 .qex{padding:10px 0 0}
.nview{padding:18px 20px;border-radius:16px;background:var(--page);box-shadow:inset 0 0 0 1px var(--line);font-size:15px;line-height:1.75;white-space:pre-wrap}
.syn{display:flex;align-items:center;gap:6px;margin-top:10px;font:600 12.5px 'Plus Jakarta Sans',sans-serif;color:var(--green-ink)}
/* drawers */
.drw2{position:absolute;top:16px;right:16px;bottom:16px;z-index:35;display:flex;flex-direction:column;width:min(400px,calc(100% - 32px));border-radius:24px;background:#fff;box-shadow:0 0 0 1px rgba(27,42,74,.06),0 40px 80px -30px rgba(16,32,56,.5);overflow:hidden;animation:slidein .3s cubic-bezier(.2,.8,.2,1) both}
@keyframes slidein{from{opacity:0;transform:translateX(30px)}}
.drh2{position:relative;flex:none;display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:18px 64px 14px 20px;border-bottom:1px solid var(--line)}
.drh2 h2{font-size:18px}
.drh2 .mx{top:12px;right:12px}
.drsc2{flex:1;min-height:0;overflow-y:auto;padding:18px 20px}
.insp{padding:18px;border-radius:20px;background:linear-gradient(160deg,#F7FBFF,#EEF6FE);box-shadow:inset 0 0 0 1px #D9EAF9}
.iru{font:600 28px/1.25 Unbounded,sans-serif;letter-spacing:-.02em;overflow-wrap:anywhere}
.ist{margin-top:4px;font:700 15px 'Plus Jakarta Sans',sans-serif;color:var(--link)}
.ipos{margin-top:6px;font-size:14.5px;line-height:1.5}
.iex{margin-top:14px;padding:12px 14px;border-radius:14px;background:#fff}
.iexr{font:600 15px/1.45 'Plus Jakarta Sans',sans-serif}.iext{font-size:13.5px;color:var(--link)}.iexe{font-size:13.5px;color:var(--muted)}
.iact{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.svh{margin:22px 0 10px;font:800 12px 'Plus Jakarta Sans',sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}
.svl{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.svl li{display:flex;align-items:center;gap:6px}
.svw{flex:1;min-width:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:0 8px;padding:9px 12px;border-radius:14px;box-shadow:inset 0 0 0 1px var(--line);text-align:left}
.svw:hover{box-shadow:inset 0 0 0 1.5px var(--sky)}
.svw b{font:700 15px 'Plus Jakarta Sans',sans-serif}.svw span{font:700 12.5px 'Plus Jakarta Sans',sans-serif;color:var(--link)}.svw em{flex-basis:100%;font-style:normal;font-size:13px;color:var(--muted)}
.snd2{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:50%;background:var(--sky-tint);color:#155E8C}
.drf2{flex:none;padding:12px 20px 16px;border-top:1px solid var(--line);font-size:12.5px;line-height:1.5;color:var(--muted)}
.psteps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.pst{display:flex;flex-direction:column;padding:8px 10px;border-radius:12px;background:#F1F5F9;line-height:1.3}
.pst b{font:800 12px 'Plus Jakarta Sans',sans-serif;color:var(--muted)}.pst span{font:600 12px 'Plus Jakarta Sans',sans-serif}
.pst.on{background:var(--sky-tint);box-shadow:inset 0 0 0 1.5px var(--sky)}.pst.on b{color:#155E8C}
.pre{margin-top:14px;padding:12px 14px;border-radius:14px;background:var(--page);box-shadow:inset 0 0 0 1px var(--line);font-size:13.5px;line-height:1.5}
.pq{margin-top:4px;font-style:italic}
.pl2{display:block;margin:16px 0 8px;font:800 11px 'Plus Jakarta Sans',sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}
.chs{display:flex;flex-wrap:wrap;gap:6px}
.chs button{min-height:36px;padding:0 12px;border-radius:999px;background:#fff;box-shadow:inset 0 0 0 1.5px var(--line-2);font:600 13px 'Plus Jakarta Sans',sans-serif}
.chs button[aria-pressed=true]{background:var(--sky-tint);box-shadow:inset 0 0 0 2px var(--sky);color:var(--ink)}
.pbd .ta3{font-size:14px;line-height:1.6}
.pks2{display:flex;flex-direction:column;gap:6px}
.pks2 button{display:flex;flex-direction:column;align-items:flex-start;padding:10px 14px;border-radius:14px;box-shadow:inset 0 0 0 1.5px var(--line-2);text-align:left}
.pks2 b{font:700 14px 'Plus Jakarta Sans',sans-serif}.pks2 span{font-size:12.5px;color:var(--muted)}
.pks2 button[aria-pressed=true]{background:var(--sky-tint);box-shadow:inset 0 0 0 2px var(--sky)}
.pbs{margin-top:18px;height:auto;min-height:52px;padding:12px 18px;line-height:1.3}
.bon{display:flex;gap:8px;align-items:flex-start;margin-top:10px;font-size:12.5px;line-height:1.5;color:var(--muted)}
.bon svg{flex:none;margin-top:2px;color:var(--green-ink)}.bon b{color:var(--ink)}
.pbok{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-top:16px;padding:18px;border-radius:18px;background:var(--green-bg)}
.pbok .ck{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--green);color:#fff}
.pbok b{font:700 16px 'Plus Jakarta Sans',sans-serif}.pbok p{font-size:14px;line-height:1.5}
.pbok .mact{margin-top:6px}
/* end modal */
.mo{z-index:80}
.md.w{max-width:760px}
.sc2{display:flex;margin-right:44px}
.sc2 button{flex:1 1 auto;height:auto;min-height:36px;padding:6px 12px;line-height:1.3;white-space:normal}
.md .note{margin-top:10px}
.cel{display:flex;align-items:center;gap:12px;margin-top:20px}
.cel img{width:56px;height:56px;object-fit:contain}
.cbad{padding:4px 12px;border-radius:999px;background:#FFF1EC;color:#9A2E12;font:800 12px/1.4 'Plus Jakarta Sans',sans-serif;letter-spacing:.04em;text-transform:uppercase}
.cbad.g{background:var(--green-bg);color:var(--green-ink)}
.ckb{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--green);color:#fff}
.eh{margin-top:12px;font-size:24px;padding-right:0!important}
.tnote{margin-top:18px;padding:16px 18px;border-radius:18px;background:var(--page);box-shadow:inset 0 0 0 1px var(--line)}
.tnote ul{list-style:none;margin:8px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.tnote li{display:flex;flex-direction:column;line-height:1.35}
.tnote li span{font-size:12.5px;color:var(--muted)}.tnote li b{font:700 15px 'Plus Jakarta Sans',sans-serif}
.ofr{margin-top:16px;padding:18px;border-radius:20px;background:#FFF8F5;box-shadow:inset 0 0 0 1px #FAD3C4}
.otm{display:flex;gap:8px;align-items:flex-start;font-size:14.5px;line-height:1.5;color:#9A3412}
.otm svg{flex:none;margin-top:3px}.otm b{font:800 15px 'Plus Jakarta Sans',sans-serif;white-space:nowrap}
.bpks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}
.bpk{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:16px;border-radius:16px;background:#fff;box-shadow:inset 0 0 0 1.5px var(--line-2);text-align:left}
.bpk.on{background:var(--sky-tint);box-shadow:inset 0 0 0 2px var(--sky)}
.bpk b{font:700 16px 'Plus Jakarta Sans',sans-serif}.bn{font:700 14px 'Plus Jakarta Sans',sans-serif}.bs{font-size:12.5px;color:var(--muted);line-height:1.45}
.rec{align-self:flex-start;margin-bottom:6px;padding:2px 8px;border-radius:999px;background:var(--ink);color:#fff;font:800 10px/1.5 'Plus Jakarta Sans',sans-serif;letter-spacing:.06em;text-transform:uppercase}
.md .mact .btn.lg{height:auto;min-height:52px;padding:10px 22px;line-height:1.3}
.stats{list-style:none;margin:18px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}
.stats li{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:14px;background:var(--page);box-shadow:inset 0 0 0 1px var(--line);font-size:15px;line-height:1.45}
.stats svg{flex:none;margin-top:1px;color:#1E8FD0}
.tnum{font-variant-numeric:tabular-nums}
.toast{position:fixed;left:50%;bottom:24px;z-index:90;transform:translateX(-50%);width:max-content;max-width:calc(100vw - 32px);pointer-events:none}
.tin{display:flex;gap:10px;align-items:flex-start;padding:12px 18px;border-radius:16px;background:var(--ink);color:#fff;font:600 14px/1.5 'Plus Jakarta Sans',sans-serif;box-shadow:0 20px 40px -16px rgba(16,32,56,.6);animation:pop .25s both}
.tin svg{flex:none;margin-top:3px;color:#6EE7B7}

@media(max-width:1680px){.sg .fx,.hs{display:none}}
@media(max-width:1500px){.hl{display:none}}
@media(max-width:1380px){.hl2{display:none}.pbb{width:40px;padding:0;justify-content:center}}
@media(max-width:1280px){.cbi{flex-wrap:wrap;height:auto;padding:10px 20px;row-gap:8px}.cdemo{order:3;flex-basis:100%;justify-content:flex-start;margin:0}.cr{margin-left:auto}.ltitle{max-width:440px}
 .room{min-height:0}.tt,.ts{height:clamp(120px,calc((100vh - 112px - 32px - 330px) / 2),240px)}.ctab .tx2{display:none}}
@media(min-width:721px) and (max-width:1280px){.hl2{display:inline}.pbb{width:auto;padding:0 12px}}
@media(max-width:1100px){.wcards{grid-template-columns:minmax(0,1fr)}.sent{font-size:24px}}
@media(max-width:860px){
 .room{height:auto;min-height:100vh}
 .stage{display:flex;flex-direction:column;padding:12px 12px 24px;gap:12px}
 .lcol{display:contents}
 .vwrap{position:sticky;top:0;z-index:20;margin:-12px -12px 0;padding:10px 12px;background:rgba(248,250,252,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 1px 0 var(--line)}
 .vg{flex-direction:row;gap:8px;overflow-x:auto;scrollbar-width:none}
 .vg::-webkit-scrollbar{display:none}
 .tt,.ts,.grp .tt{flex:1 0 140px;height:104px}
 .g5{display:flex;gap:8px}.gs,.gs:last-child,.grp .gs{flex:0 0 96px;width:96px;height:104px;grid-column:auto}
 .tile{border-radius:14px}.tcx{top:5px;right:5px;gap:3px}.tc{width:26px;height:26px}.tc svg{width:13px;height:13px}.coff small{display:none}.coff b{width:40px;height:40px;font-size:15px}.nm{left:6px;bottom:6px;padding:2px 8px;font-size:11px}
 .va{height:10px}
 .mcb{gap:6px;padding:6px}.mc{width:40px;height:40px}
 .dpop{position:fixed;left:12px;right:12px;bottom:12px;top:auto;max-height:calc(100vh - 24px);overflow-y:auto}
 .cbar{z-index:10}
 .mtabs{display:flex;gap:4px;padding:4px;border-radius:14px;background:#F1F5F9}
 .mtabs button{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:42px;border-radius:10px;font:700 13.5px 'Plus Jakarta Sans',sans-serif;color:var(--muted)}
 .mtabs button[aria-selected=true]{background:#fff;color:var(--ink);box-shadow:0 1px 2px rgba(27,42,74,.08)}
 .stage.mp-canvas .lchat{display:none}.stage.mp-chat .ccol{display:none}
 .lchat{flex:none;height:min(560px,calc(100vh - 260px));min-height:360px}
 .ccol{flex:none;overflow:visible}.cbody{overflow:visible;padding:20px 16px 28px}
 .drw2{position:fixed;inset:0;width:auto;border-radius:0;z-index:70}
 .wbs{height:auto}
 .dl2{max-width:100%}
}
@media(max-width:720px){.cbi{padding:10px 12px}.ltitle{max-width:none;white-space:normal}.cl{flex:1 1 100%;order:1}.cr{order:2;margin-left:0;flex:1 1 100%;justify-content:space-between}.cdemo{order:3;flex-wrap:wrap}
 .fin span{display:none}.fin{width:40px;padding:0}
 .sh3{font-size:21px}.sent{font-size:21px}.dru{font-size:18px}.wru{font-size:22px}.opt2 b{font-size:17px}
 .exb{padding:18px}.mgrid{grid-template-columns:minmax(0,1fr)}
 .tnote ul{grid-template-columns:minmax(0,1fr)}.bpks{grid-template-columns:minmax(0,1fr)}
 .md .mact .btn{flex:1 1 100%}.sc2{margin-right:44px}
 .psteps{grid-template-columns:minmax(0,1fr)}
 .tmr em{display:none}}
@media(max-width:420px){.cr{gap:6px;flex-wrap:wrap}.tmr{padding:0 9px;gap:5px}.tmr span{font-size:12px}.hb{padding:0 9px}.coff small{display:none}.ibadge{display:none}.sg button{padding:0 8px;font-size:12px}.hn{padding:1px 6px}.mcb .conn{display:none}.cbody{padding:18px 12px 24px}.wcard{padding:18px}.player{padding:12px}}
/* ---- static-build helpers ---- */
nl-if{display:contents}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
section[id]{scroll-margin-top:96px}
body.modal-open{overflow:hidden}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

