/* SpeakUp v41 */

/* ---------- the post composer: the picture shows in full, the words keep their colour ---------- */
#main #lcbox textarea,#main .lcbox textarea{background:none!important;border:0!important;box-shadow:none!important;border-radius:0!important;color:#fff;text-align:center!important;font-size:1.25rem!important;font-weight:800!important}
#main #lcbox textarea:focus{box-shadow:none!important;outline:0}

/* ---------- Real life English: the title shows, the rest is behind the wall ---------- */
.fl39lk .fl39c{filter:none!important;opacity:1!important}
.fl39lk .fl39c section > :not(.flh){filter:blur(7px) saturate(.9);opacity:.75}
.fl39lk .fl39c .flh{position:relative;z-index:3}
.fl39lk .fl39w{top:76px!important;border-top-left-radius:0!important;border-top-right-radius:0!important;border-top:0!important}

/* ---------- the tag chat window (like the messages) ---------- */
#tchatfs{position:fixed;inset:0;z-index:80;background:#f5f7fb;display:flex;flex-direction:column;transform:translateX(100%);transition:transform .22s ease;padding-bottom:env(safe-area-inset-bottom)}
#tchatfs.in{transform:none}
#tchatfs [hidden]{display:none!important}
#tchatfs .tci{width:36px;height:36px;border-radius:12px;font-weight:900;font-size:1.1rem;padding:0;margin:0}
#tchatfs .tcl{flex:1;height:auto;border:0;border-radius:0;background:#f5f7fb;padding:12px;display:block}
#tchatfs .tcm{display:block!important;background:#fff;margin:0 0 6px;box-shadow:0 1px 0 rgba(27,42,68,.05)}
#tchatfs .tcm.me{background:#eef3ff}#tchatfs .tcm.tome{background:#fff7e0}
#tchatfs .tcre{display:flex!important;width:100%;box-sizing:border-box}
#tchatfs .tcban,#tchatfs .tcrep{margin:0;border-radius:0}
#tchatfs #tcin{font-size:16px!important;text-align:left!important;font-weight:500!important;border-radius:99px!important;padding:10px 14px!important;height:44px;min-height:0!important}

/* ---------- the tag page: chat, follow, moderators ---------- */
.tgt40{display:flex;flex-direction:column;gap:8px;margin:10px 0 8px}
.tgtb{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.tgmods{margin:0}
.mpick40{display:flex;flex-direction:column;gap:6px;max-height:50vh;overflow-y:auto;margin:10px 0}
.mpick40 .chrow2{width:100%}

/* ---------- Messages: search, tag rooms ---------- */
.ms40bar{display:flex;flex-direction:column;gap:10px}
.ms40s{position:relative}
.ms40s .ms40i{z-index:2;pointer-events:none;position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--u-muted);display:grid}
.ms40s .ms40i svg{width:18px;height:18px}
#main .ms40s .fi{padding-left:40px!important;width:100%;box-sizing:border-box}
.ms40res{display:flex;flex-direction:column;gap:4px}
.ms40r{display:flex;gap:10px;align-items:center;width:100%;border:0;background:var(--u-soft);border-radius:14px;padding:8px 10px;font:inherit;text-align:left;cursor:pointer;color:var(--u-ink)}
.ms40r svg{width:16px;height:16px}
.ms40tags{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding:10px 8px 12px;margin:-6px -8px -8px;scrollbar-width:none}
.ms40tags::-webkit-scrollbar{display:none}
.ms40t{position:relative;flex:none;scroll-snap-align:start;border:0;background:none;padding:0;cursor:pointer}
.ms40t .tg{margin:0}
.glow{position:absolute;top:-5px;right:-5px;width:12px;height:12px;z-index:2;border-radius:50%;background:var(--gc,#2a63e8);border:2px solid #fff;animation:glow40 1.6s ease-in-out infinite}
.ms40t.live .tg,.tr40r.live .tg{animation:glowtag40 1.6s ease-in-out infinite}
@keyframes glow40{0%,100%{box-shadow:0 0 0 0 var(--gc,#2a63e8)}50%{box-shadow:0 0 9px 3px var(--gc,#2a63e8)}}
@keyframes glowtag40{0%,100%{box-shadow:0 0 0 0 var(--gc,#2a63e8)}50%{box-shadow:0 0 12px 2px var(--gc,#2a63e8)}}
.tr40{margin:6px 0;padding:10px;border-radius:18px;background:var(--u-soft)}
.tr40h{display:flex;gap:6px;align-items:center;margin:0 0 6px;font-weight:800;font-size:.9rem}
.tr40h svg{width:16px;height:16px}
.tr40r{position:relative;display:flex;gap:8px;align-items:center;padding:8px;background:#fff;border-radius:14px;margin-top:6px}
.tr40r .tg{flex:none;margin:0}
.tr40r .glow{position:static;flex:none;width:9px;height:9px;border-width:0}
.tr40l{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;color:var(--u-muted)}
.tr40l b{color:var(--u-ink)}
.tr40r .btn{flex:none}
@media (prefers-reduced-motion:reduce){.glow,.ms40t.live .tg,.tr40r.live .tg{animation:none}}

/* a picture that could not load: its emoji */
.ache41{display:grid;place-items:center;font-size:2.4rem;line-height:1}
img.fe37,.fe37 img{min-width:1px}

/* tag chat: reactions (hold a message), and who reacted */
#tchatfs .tcm{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:manipulation}
.tcrx{display:inline-flex;align-items:center;gap:2px;margin:4px 0 0;padding:2px 8px 2px 4px;border:1px solid #e6eaf2;border-radius:99px;background:#fff;font:inherit;font-size:.78rem;color:#6b7690;cursor:pointer;box-shadow:0 2px 6px rgba(20,30,60,.08);vertical-align:middle}
.tcrx.mine{border-color:#c9d8fb;background:#f3f7ff}
.tcrx em{font-style:normal;font-weight:700;margin-left:3px}
.tcrxi{display:inline-block;width:22px;height:22px;flex:none;vertical-align:middle}
.tcrxi .rx38{width:22px;height:22px}
.tcpop{display:flex;justify-content:space-between;gap:1px;overflow-x:auto;scrollbar-width:none;margin:2px 0 6px;padding:6px 8px;background:#fff;border-radius:99px;box-shadow:0 10px 28px rgba(27,42,68,.2);animation:tcpop41 .16s ease-out}
.tcpop::-webkit-scrollbar{display:none}
.tcpop button{flex:none;width:37px;height:37px;border:0;border-radius:50%;background:none;padding:4px;cursor:pointer;transition:transform .12s}
.tcpop button:active,.tcpop button:hover{transform:scale(1.2)}
.tcpop button.on{background:#eef3ff}
.tcpop .rx38{width:31px;height:31px}
@keyframes tcpop41{from{opacity:0;transform:translateY(6px) scale(.96)}to{opacity:1;transform:none}}
.tcwtabs{flex-wrap:wrap;gap:6px;margin:8px 0}
.tcwtabs .btn{display:inline-flex;align-items:center;gap:4px}
.tcwtabs .tcrxi,.tcwtabs .tcrxi .rx38{width:18px;height:18px}
.tcwl{display:flex;flex-direction:column;gap:6px;max-height:50vh;overflow-y:auto;margin-bottom:10px}
.tcwho{display:flex;gap:10px;align-items:center;padding:8px 10px;background:var(--u-soft);border-radius:14px}

/* certificates for Premium learners: the picture above the list */
.cp42{margin:4px 0 12px}.cp42 .cp42n{margin:8px 0 0}

/* v44 · no internet */
.net44{position:fixed;left:50%;top:calc(env(safe-area-inset-top) + 10px);z-index:200;transform:translate(-50%,-140%);transition:transform .25s ease;display:flex;gap:10px;align-items:center;
 width:min(94vw,480px);box-sizing:border-box;padding:10px 12px;border-radius:16px;background:#1b2a44;color:#fff;box-shadow:0 12px 30px rgba(20,30,60,.3);font-size:.9rem}
.net44.in{transform:translate(-50%,0)}
.net44.back{background:#13866f}.net44.slow{background:#b45309}
.net44 .n44i{display:grid;flex:none}.net44 .n44i svg{width:22px;height:22px}
.net44 b{display:block;font-weight:700;line-height:1.3}.net44 small{display:block;opacity:.85;margin-top:2px;line-height:1.3}
.net44 .n44r{flex:none;border:0;border-radius:99px;background:rgba(255,255,255,.18);color:#fff;font:inherit;font-weight:700;padding:6px 12px;cursor:pointer}
/* a picture that is still coming: a soft colour, never a broken picture */
img.img44w,img.img44x{background:#e9eef8;object-fit:cover}
img.rx38.img44w,img.rx38.img44x{border-radius:50%}
/* v44 · the chat window above the keyboard */
#chatfs.kb44,#tchatfs.kb44{bottom:auto!important;padding-bottom:0!important}
/* v44 · the manager */
.pf44{cursor:pointer}.pf44:hover{background:var(--u-soft)}
.st44l{display:flex;flex-direction:column;gap:8px;margin:10px 0}
.st44r{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:14px;background:var(--u-soft);cursor:pointer}
.st44r input{width:20px;height:20px;margin-top:2px;flex:none}.st44r small{display:block}
.mm44{display:flex;flex-direction:column;gap:8px;margin:6px 0 10px;padding-top:10px;border-top:1px solid var(--u-line)}
.mm44 h4{display:flex;gap:6px;align-items:center;margin:8px 0 0}.mm44 h4 svg{width:18px;height:18px}
.mm44r{display:flex;gap:8px;align-items:center;padding:6px 10px;border-radius:12px;background:var(--u-soft)}
.nt44 textarea,.mm44 textarea{min-height:70px}

/* v45 · the feed and the tag pages do not slide when they open */
body[data-view="feed"] #main .card,body[data-view="feed"] #main .post,body[data-view="tags"] #main .card,body[data-view="tags"] #main .post{animation:none!important}

/* the opening logo: if the app is very slow, it still goes away */
#boot44{animation:boot44x .45s ease 7s forwards}
@keyframes boot44x{to{opacity:0;visibility:hidden}}

/* v48 · Practice: Speak and repeat */
.sp47{display:flex;flex-direction:column;gap:12px}
.sp47top{align-items:center;gap:8px;flex-wrap:wrap}
.sp47say{font-size:1.45rem;font-weight:800;line-height:1.4;text-align:center;color:var(--u-ink,#1b2a44);margin:10px 0 0}
.sp47say .ok{color:#13866f}.sp47say .no{color:#d64545;text-decoration:underline wavy rgba(214,69,69,.5)}
.sp47btns{gap:8px}
.sp47mic{align-self:center;width:84px;height:84px;border-radius:50%;border:0;display:grid;place-items:center;color:#fff;cursor:pointer;
 background:linear-gradient(135deg,#2a63e8,#6a44e6);box-shadow:0 10px 26px rgba(42,99,232,.35);transition:transform .15s}
.sp47mic svg{width:36px;height:36px}
.sp47mic.on{background:linear-gradient(135deg,#e8641b,#d64545);animation:sp47p 1s infinite}
.sp47mic:disabled{opacity:.45;cursor:not-allowed}
@keyframes sp47p{0%,100%{box-shadow:0 0 0 0 rgba(214,69,69,.45)}50%{box-shadow:0 0 0 16px rgba(214,69,69,0)}}
.sp47res{display:flex;gap:12px;align-items:center;padding:12px 14px;border-radius:16px;background:var(--u-soft,#eef3ff)}
.sp47res>b{font-size:1.6rem}.sp47res.good>b{color:#13866f}.sp47res.mid>b{color:#b45309}.sp47res.bad>b{color:#d64545}
@media (prefers-reduced-motion:reduce){.sp47mic.on{animation:none}}

/* v49 · the first page: big statements with ticks */
.st48{margin:18px 0 8px;padding:22px 18px;border-radius:26px;background:linear-gradient(150deg,#ffffff 0%,#f3f0ff 100%);box-shadow:0 14px 36px rgba(60,40,160,.12)}
.st48 ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px}
.st48 li{display:flex;gap:14px;align-items:flex-start;opacity:0;transform:translateY(8px);animation:st48in .5s ease forwards;animation-delay:var(--d)}
.st48t{flex:none;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;color:#fff;margin-top:2px;
 background:linear-gradient(135deg,#13b38a,#2a63e8);box-shadow:0 6px 14px rgba(19,179,138,.35)}
.st48t svg{width:20px;height:20px;stroke-width:3}
.st48s{font-family:"SU Pop","Segoe UI",system-ui,sans-serif;font-weight:700;font-size:clamp(1.22rem,4.6vw,1.6rem);line-height:1.32;letter-spacing:-.01em;
 background:linear-gradient(90deg,#1b2a44,#4b3ad6);-webkit-background-clip:text;background-clip:text;color:transparent}
@keyframes st48in{to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.st48 li{animation:none;opacity:1;transform:none}}

/* v50 · learning posts in the feed have space inside, like the other posts */
#main .card.fl{padding:16px;box-sizing:border-box}
#main .card.fl .flh{margin-bottom:12px}
/* v50 · the other achievement posts use the badge design */
.ach39 .acimg.acart{overflow:hidden;border:3px solid #2a2230;border-radius:28px;background:#fff}
.ach39 .acimg.acart svg{width:100%;height:100%;display:block}
.ach39 .acimg.acemo{display:grid;place-items:center;font-size:96px;line-height:1;background:radial-gradient(circle at 50% 40%,#fff7d6,#ffe3a3 60%,#ffd166);border-radius:50%;box-shadow:inset 0 -8px 18px rgba(200,120,0,.18)}
.ach39 .acsub{font-size:.9rem;margin-top:2px}



/* v50 · the manager's own hidden emails, learners' interests, hidden interests on posts */
.ae50{display:flex;flex-direction:column;gap:8px;margin:14px 0 6px;padding-top:12px;border-top:1px solid var(--u-line,#e6ecf5)}
.ae50 h4{display:flex;gap:6px;align-items:center;margin:0}.ae50 h4 svg{width:18px;height:18px}
.ae50d{letter-spacing:3px;color:#6b7690}
.in50go b{display:inline-flex;gap:6px;align-items:center}.in50go svg{width:18px;height:18px}
.in50t{margin:6px 0 10px}
.in50s{display:grid;grid-template-columns:repeat(auto-fill,minmax(98px,1fr));gap:8px}
.in50s div{background:var(--u-soft,#eef3ff);border-radius:14px;padding:10px;text-align:center}.in50s b{display:block;font-size:1.3rem;color:#2a63e8}.in50s span{font-size:.75rem;color:#6b7690}
.in50i{display:flex;flex-direction:column;gap:8px}
.in50r{display:grid;grid-template-columns:minmax(0,1.3fr) 1fr auto;gap:8px;align-items:center}
.in50bar{height:10px;border-radius:99px;background:#eef1f7;overflow:hidden}.in50bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#2a63e8,#6a44e6)}
.in50c{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:3px 10px;border-radius:99px;font-size:.78rem;font-weight:700;background:#eef3ff;color:#2a63e8}
.in50c.game{background:#f3edff;color:#6a44e6}.in50c.prac{background:#e7f8f2;color:#13866f}.in50c.book{background:#fff4e6;color:#b45309}.in50c.skill{background:#fdeef3;color:#be123c}.in50c.learn{background:#e8f4ff;color:#0e7490}.in50c.chat{background:#f1f5f9;color:#475569}
.in50p{display:flex;flex-direction:column;gap:10px}
.in50u{padding:10px 12px;border-radius:16px;background:var(--u-soft,#f5f7fb)}.in50n{cursor:pointer;color:#1b2a44}
.in50k{margin:4px 0 6px;line-height:1.5}
.in50cs{display:flex;flex-wrap:wrap;gap:6px}
.pa50{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:8px 0;padding:8px 10px;border-radius:14px;background:#fffbea;border:1px dashed #f2c94c;font-size:.8rem}
.pa50l{display:inline-flex;gap:4px;align-items:center;font-weight:700;color:#b45309}.pa50l svg{width:14px;height:14px}
.pa50ch{margin:10px 0;max-height:46vh;overflow-y:auto}
.pa50o{display:inline-flex;gap:6px;align-items:center;padding:4px 8px;border-radius:99px;background:#f5f7fb;cursor:pointer}
.pa50o input[type=checkbox]{width:18px!important;height:18px!important;min-height:0!important;flex:none;margin:0;padding:0!important;border-radius:4px!important}
.pa50o .in50c{max-width:none}
.pa50ch{flex-direction:column;align-items:flex-start}
.in50r{grid-template-columns:minmax(0,1.7fr) 1fr auto}

/* v51 · chat windows: the name stays at the top, the writing box stays just above the keyboard (or at the bottom),
   the newest message is just above the writing box and older ones go up */
#chatfs,#tchatfs{height:100%;height:100dvh;max-height:100dvh;overflow:hidden}
#chatfs .cfh,#tchatfs .cfh,#chatfs .cfi,#tchatfs .cfi,#chatfs .cfr,#tchatfs .cfr,#tchatfs .tcban,#tchatfs .tcrep{flex:none}
#chatfs .cft,#tchatfs .tcl{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
#chatfs .cft>:first-child{margin-top:auto}
#tchatfs .tcl{display:flex!important;flex-direction:column;gap:0}
#tchatfs .tcl>:first-child{margin-top:auto!important}
#tchatfs .tcm{flex:none;align-self:stretch}
#tchatfs .tcm.nt51{animation:nt51 1.2s ease 2}
@keyframes nt51{50%{background:#fff3c4}}
/* v52 */
#main.fd52{position:relative;min-height:60vh}
#main.fd52>*{visibility:hidden!important}
#main.fd52::after{content:'';position:absolute;left:50%;top:120px;width:13px;height:13px;margin-left:-15px;border-radius:4px;background:#2878e6;box-shadow:17px 0 0 #7c5cff,0 17px 0 #7cc4ff,17px 17px 0 #ffd166;animation:sq4 1.2s infinite ease-in-out}
div.av:not(:has(svg)):not(:has(img)){font-size:0!important;color:transparent!important;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Ccircle cx='32' cy='25' r='11.5' fill='%23fff'/%3E%3Cpath d='M10 60c1.5-12.5 10.5-19.5 22-19.5S52.5 47.5 54 60z' fill='%23fff'/%3E%3C/svg%3E") center 100%/86% no-repeat,linear-gradient(150deg,#b8c4ff 0%,#8f7cf6 100%)!important;box-shadow:inset 0 0 0 2px rgba(255,255,255,.55);overflow:hidden}
.fly52{position:fixed;width:0;height:0;z-index:400;pointer-events:none}
.fly52 span{position:absolute;left:-15px;top:-15px;width:30px;height:30px;display:grid;place-items:center;font-size:24px;opacity:0;animation:fly52 1.25s cubic-bezier(.2,.7,.3,1) forwards}
.fly52 span img,.fly52 span svg,.fly52 span .ei{width:30px!important;height:30px!important}
@keyframes fly52{0%{opacity:0;transform:translate(0,0) scale(.4)}15%{opacity:1;transform:translate(calc(var(--dx)*.2),calc(var(--dy)*.15)) scale(var(--sc))}100%{opacity:0;transform:translate(var(--dx),var(--dy)) scale(calc(var(--sc)*.8))}}
@media (prefers-reduced-motion:reduce){.fly52 span{animation-duration:2s}}
.modal.del52 .card{text-align:center;padding:0 0 18px;overflow:hidden;border-radius:26px;max-width:400px;box-shadow:0 24px 60px rgba(60,40,160,.35)}
.modal.del52 .card>h3{display:flex;flex-direction:column;align-items:center;gap:12px;margin:0 0 6px;padding:26px 20px 18px;color:#fff;font-size:1.15rem;background:linear-gradient(135deg,#5b4ae6 0%,#7c5cff 55%,#2878e6 100%)}
.modal.del52 .card>h3 .i{width:30px;height:30px;padding:16px;box-sizing:content-box;border-radius:50%;background:rgba(255,255,255,.18);box-shadow:0 0 0 8px rgba(255,255,255,.08);animation:del52 .5s ease}
@keyframes del52{0%{transform:scale(.5) rotate(-15deg)}70%{transform:scale(1.1) rotate(6deg)}100%{transform:none}}
.modal.del52 .card>p{margin:12px 22px;color:#3a4766}
.modal.del52 .card>.row{padding:6px 18px 0;gap:10px}
.modal.del52 .card>.row .grow{display:none}
.modal.del52 .card>.row .btn{flex:1;justify-content:center;border-radius:14px;padding:12px}
.modal.del52 .btn.danger{background:linear-gradient(135deg,#ff5f7e,#e23b5f)!important;color:#fff!important;border:0!important;box-shadow:0 8px 18px rgba(226,59,95,.3)}
.mdel{background:linear-gradient(135deg,#f1eeff,#e7f0ff);border-radius:16px;padding:10px 12px}
.toast.ok52{display:flex;align-items:center;gap:10px;background:linear-gradient(135deg,#5b4ae6,#2878e6)!important;color:#fff;font-weight:600;padding:12px 20px 12px 12px;box-shadow:0 12px 30px rgba(60,40,160,.35);animation:ok52 .45s cubic-bezier(.2,.9,.3,1.3)}
.toast.ok52 .ok52i{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#fff;color:#5b4ae6;flex:none}
.toast.ok52 .ok52i .i{width:16px;height:16px;stroke-width:3}
@keyframes ok52{from{opacity:0;transform:translate(-50%,20px) scale(.9)}to{opacity:1;transform:translate(-50%,0) scale(1)}}
.gx52{display:flex;gap:10px;margin:6px 0}
.gx52 button{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;border-radius:14px;border:2px solid #dfe3f0;background:#fff;font:inherit;font-weight:600;color:#3a4766;cursor:pointer;transition:all .15s}
.gx52 .gx52i{font-size:18px;line-height:1}
.gx52 button.on{border-color:#5b4ae6;background:linear-gradient(135deg,#f1eeff,#e7f0ff);color:#5b4ae6;box-shadow:0 4px 12px rgba(91,74,230,.18)}
.gx52.miss button{border-color:#e23b5f}
#tchatfs .tcm.nt51{animation:nt51 1.2s ease 2}
.au39 .gx52 button,.auth .gx52 button{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.22);color:#e8ecff}
.au39 .gx52 button.on,.auth .gx52 button.on{background:linear-gradient(135deg,#5b4ae6,#7c5cff);border-color:transparent;color:#fff;box-shadow:0 6px 16px rgba(91,74,230,.4)}
.au39 .gx52.miss button,.auth .gx52.miss button{border-color:#ff6b8b}
.gx52.miss{border:0!important;outline:0!important;box-shadow:none!important;background:none!important}
/* v53 */
#main.nv53{position:relative;min-height:60vh}
#main.nv53>*{visibility:hidden!important}
#main.nv53::after{content:'';position:absolute;left:50%;top:120px;width:13px;height:13px;margin-left:-15px;border-radius:4px;background:#2878e6;box-shadow:17px 0 0 #7c5cff,0 17px 0 #7cc4ff,17px 17px 0 #ffd166;opacity:0;animation:sq4 1.2s infinite ease-in-out,nv53 .01s .35s forwards}
@keyframes nv53{to{opacity:1}}
body[data-view="msgs"] #main .card{animation:none!important}
#tchatfs .tcl>*,#chatfs .cft>*{flex-shrink:0}
#tchatfs .tcpop{position:relative;z-index:5;min-height:49px}
.modal #rlb{max-height:min(56vh,460px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.modal #rlb .chips{position:sticky;top:0;z-index:1;background:#fff;padding-bottom:6px}
@keyframes sq4{50%{transform:scale(.82)}}
/* v54: no scroll lines anywhere, like an app (scrolling still works) */
html,body,*{scrollbar-width:none!important;-ms-overflow-style:none!important}
html::-webkit-scrollbar,body::-webkit-scrollbar,*::-webkit-scrollbar{display:none!important;width:0!important;height:0!important;background:transparent!important}
/* v55 microphone box */
.modal.mic55 .card{text-align:center;padding:0 0 18px;overflow:hidden;border-radius:26px;max-width:400px;box-shadow:0 24px 60px rgba(60,40,160,.35)}
.mic55in>.mic55logo{position:relative;display:flex;justify-content:center;padding:28px 0 22px;background:linear-gradient(135deg,#5b4ae6 0%,#7c5cff 55%,#2878e6 100%);margin-bottom:14px}
.mic55logo img{width:72px;height:72px;border-radius:20px;box-shadow:0 10px 24px rgba(0,0,0,.25);animation:del52 .5s ease}
.mic55mic{position:absolute;left:calc(50% + 22px);top:72px;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#fff;color:#5b4ae6;box-shadow:0 4px 12px rgba(0,0,0,.2);animation:sp47p 1.6s infinite}
.mic55mic .i{width:18px;height:18px}
.mic55in h3{margin:4px 20px 8px;font-size:1.15rem;color:#1b2a44}
.mic55in p{margin:6px 22px;color:#3a4766}
.mic55in .mic55tip{display:flex;gap:8px;align-items:flex-start;text-align:left;background:linear-gradient(135deg,#f1eeff,#e7f0ff);border-radius:14px;padding:10px 12px;font-size:.92rem}
.mic55in .mic55tip .i{flex:none;width:18px;height:18px;color:#5b4ae6;margin-top:2px}
.mic55in .row{padding:12px 18px 0;gap:10px}
.mic55in .row .btn{flex:1;justify-content:center;border-radius:14px;padding:12px}
/* v58 */
.inv58{display:inline-flex;align-items:center;gap:6px;font-weight:700;color:#5b4ae6;font-size:.9rem;padding:6px 12px;border-radius:99px;background:#f1eeff}
.inv58 .i{width:15px;height:15px}
.chrow2.done58 .inv58{background:#e3f8ee;color:#0f9b62}
.bub .ht58{font:inherit;font-weight:700;background:none;border:0;padding:0;color:inherit;text-decoration:underline;cursor:pointer}
/* v59: a box never covers the whole screen; you scroll inside it, the page behind stays still */
.modal{overscroll-behavior:contain}
.modal:not(.certpv)>.card.scroll{max-height:min(80vh,80dvh);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
html.mdl59,html.mdl59 body{overflow:hidden!important}
.w61h{display:none!important}
.ever61{display:flex;align-items:center;gap:12px;margin:6px 0 10px;padding:10px 14px;border-radius:16px;background:linear-gradient(135deg,#fff4d6,#ffe6a8);box-shadow:0 6px 16px rgba(242,169,0,.18)}
.ever61i{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#F2A900;color:#fff;flex:none}
.ever61i .i{width:18px;height:18px}
.ever61 small{display:block;color:#8a6500;font-weight:700;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}
.ever61 b{color:#3a2c00}.ever61s{font-size:1.2rem}
/* v62: the "What did you learn?" title stays in its place (it covered the buttons) */
.learn .lhead{position:static!important;background:none!important}
/* v62 tag delete */
.tgtb .tgdel62{width:30px;height:30px;min-width:30px;padding:0;border-radius:50%;color:#c2334d;background:#fff0f3;border:0;display:inline-grid;place-items:center;margin-left:auto;opacity:.85}
.tgtb .tgdel62 .i{width:15px;height:15px}
.tgdel62on{display:flex;align-items:center;gap:10px;margin:10px 0 0;padding:10px 12px;border-radius:14px;background:#fff0f3;color:#7a1a2c;font-size:.9rem}
.tgdel62on>.i{width:18px;height:18px;flex:none;color:#c2334d}
