/* ===================== Cena palco: janelas flutuantes ===================== */
.sc-stage { padding: 0; perspective: 140cqw; }
.stg-head { position: absolute; left: 3cqw; top: 2.1cqw; z-index: 3; pointer-events: none; }
.stg-head span { display: inline-flex; align-items: center; gap: .8cqw; font: 600 1.3cqw Inter, system-ui, sans-serif; letter-spacing: .02cqw; color: #e9e9e9; padding: .45cqw 1.3cqw .45cqw .9cqw; border-radius: 99px; background: rgba(20, 20, 20, .8); border: 1px solid rgba(255, 255, 255, .14); backdrop-filter: blur(6px); animation: slidein .6s ease both; }
.stg-head span::before { content: ''; width: .7cqw; height: .7cqw; border-radius: 50%; background: #fff; box-shadow: 0 0 1cqw #fff; animation: rec 2s ease-in-out infinite; }
@keyframes rec { 50% { opacity: .3; } }
.stg-cam { position: absolute; inset: 0; transform-origin: 0 0; transition: transform 1s cubic-bezier(.65, 0, .25, 1); will-change: transform; }
.stg-fx { position: absolute; inset: 0; pointer-events: none; z-index: 4; }

/* janela */
.sw { position: absolute; transition: left .7s cubic-bezier(.65, 0, .25, 1), top .7s cubic-bezier(.65, 0, .25, 1), width .7s cubic-bezier(.65, 0, .25, 1), height .7s cubic-bezier(.65, 0, .25, 1), opacity .5s; animation: bob 7s ease-in-out var(--bob, 0s) infinite alternate; --u: 1; }
@keyframes bob { from { transform: translateY(-.18cqw); } to { transform: translateY(.22cqw); } }
.zoomed .sw { animation-play-state: paused; }
.sw-in { position: relative; height: 100%; display: flex; flex-direction: column; overflow: hidden; border-radius: 1cqw; background: rgba(16, 16, 16, .94); border: 1px solid rgba(255, 255, 255, .13); box-shadow: 0 2.6cqw 6cqw -1.8cqw rgba(0, 0, 0, .95), 0 0 0 1px rgba(0, 0, 0, .6), inset 0 1px 0 rgba(255, 255, 255, .06); transition: box-shadow .5s, border-color .5s; }
.sw.born .sw-in { animation: swin .6s cubic-bezier(.2, 1.15, .35, 1) both; }
@keyframes swin { from { opacity: 0; transform: translateY(2.4cqw) scale(.92) rotateX(10deg); filter: blur(.4cqw); } }
.sw.focus .sw-in { border-color: rgba(255, 255, 255, .38); box-shadow: 0 3cqw 8cqw -2cqw #000, 0 0 0 .15cqw rgba(255, 255, 255, .08), 0 0 5cqw -1cqw rgba(255, 255, 255, .12); }
.sw.dim { opacity: .28; }
.sw.shake .sw-in { animation: shake .5s ease; }
@keyframes shake { 20%, 60% { transform: translateX(-.6cqw); } 40%, 80% { transform: translateX(.6cqw); } }
.sw.pulse .sw-in { animation: swpulse 1.2s ease; }
@keyframes swpulse { 30% { transform: scale(1.03); box-shadow: 0 0 0 .5cqw rgba(255, 255, 255, .25), 0 3cqw 8cqw -2cqw #000; } }
.sw-bar { flex: none; display: flex; align-items: center; gap: .9cqw; height: 2.35cqw; padding: 0 1cqw; background: linear-gradient(#1c1c1c, #161616); border-bottom: 1px solid rgba(255, 255, 255, .07); font: 500 1.02cqw 'JetBrains Mono', monospace; color: #9d9d9d; white-space: nowrap; overflow: hidden; }
.sw-dots { display: flex; gap: .45cqw; flex: none; }
.sw-dots i { width: .78cqw; height: .78cqw; border-radius: 50%; background: #3a3a3a; }
.sw-dots i:first-child { background: #5a5a5a; }
.sw-ttl { overflow: hidden; text-overflow: ellipsis; color: #cfcfcf; }
.sw-app { margin-left: auto; font-size: .9cqw; color: #666; }
.sw-tab { display: flex; align-items: center; gap: .55cqw; height: 100%; padding: 0 1cqw; margin-left: .4cqw; background: #101010; border-left: 1px solid rgba(255, 255, 255, .07); border-right: 1px solid rgba(255, 255, 255, .07); color: #eee; box-shadow: inset 0 .15cqw 0 #fff; }
.sw-tab .fic { font: 700 .72cqw 'JetBrains Mono', monospace; font-style: normal; text-transform: uppercase; padding: .05cqw .35cqw; border-radius: .25cqw; background: #e8e8e8; color: #111; }
.sw-tab .dirty { font-style: normal; color: #fff; font-size: .8cqw; }
.sw-tab.web { box-shadow: none; border-radius: .6cqw .6cqw 0 0; margin-top: .5cqw; height: calc(100% - .5cqw); background: #262626; }
.sw-tab .fav { width: .9cqw; height: .9cqw; border-radius: .2cqw; background: #bdbdbd; }
.sw-body { position: relative; flex: 1; min-height: 0; overflow: hidden; }
.sw.bare .sw-bar { display: none; }
.sw.bare .sw-in { background: rgba(14, 14, 14, .88); }

/* editor */
.sw .caret { display: inline-block; width: .5em; height: 1.1em; vertical-align: text-bottom; background: #fff; animation: blink 1s steps(1) infinite; margin-left: 1px; }
.sw-code { padding: .8cqw .4cqw 1.4cqw; font-family: 'JetBrains Mono', monospace; line-height: 1.5; white-space: pre; color: #e6e6e6; }
.sw-code .ln { display: flex; position: relative; border-radius: .3cqw; transition: background .35s, box-shadow .35s; }
.sw-code .ln b { flex: none; width: 2.7em; text-align: right; padding-right: 1em; color: #4a4a4a; font-weight: 400; }
.sw-code .ln.cl b { color: #cfcfcf; }
.sw-code .ln.mark { background: rgba(255, 255, 255, .09); box-shadow: inset .25cqw 0 0 #fff; }
.sw-code .ln.mark b { color: #fff; }
.sw-code .ln.act { background: rgba(255, 255, 255, .16); box-shadow: inset .25cqw 0 0 #fff; }
.sw-code .ln.act b::before { content: '▶'; position: absolute; left: .3em; color: #fff; font-size: .8em; }
.sw-code .ln.err > span { text-decoration: underline wavy #ff6b6b; text-underline-offset: .25em; }
.sw-code .errm { margin-left: 1.4em; font-style: normal; font-family: Inter, sans-serif; font-size: .78em; color: #ffb3b3; background: rgba(255, 80, 80, .12); border: 1px solid rgba(255, 107, 107, .5); padding: 0 .6em; border-radius: .4em; white-space: nowrap; animation: slidein .4s ease; }


/* terminal */
.k-term .sw-in { background: rgba(6, 6, 6, .96); }
.k-term .sw-body { overflow: hidden; }
.sw-term pre.sw-term { margin: 0; padding: 1cqw 1.2cqw 1.6cqw; font-family: 'JetBrains Mono', monospace; line-height: 1.55; white-space: pre-wrap; word-break: break-word; color: #d9d9d9; }
.sw .t-prompt { color: #fff; font-weight: 700; }
.sw .t-path { color: #9d9d9d; font-weight: 700; }
.sw .t-err { color: #ff8a8a; }
.sw .t-ok { color: #9be7b8; }
.caret.idle { opacity: .6; }

/* navegador */
.k-web .sw-body { display: flex; flex-direction: column; background: #262626; }
.wb-bar { flex: none; display: flex; align-items: center; gap: 1cqw; padding: .5cqw 1cqw; background: #262626; border-bottom: 1px solid #111; }
.wb-nav { font: 1.1cqw Inter, sans-serif; color: #8a8a8a; letter-spacing: .3cqw; white-space: nowrap; }
.wb-url { flex: 1; display: flex; align-items: center; gap: .6cqw; padding: .3cqw 1cqw; border-radius: 99px; background: #161616; font: 1cqw 'JetBrains Mono', monospace; color: #cfcfcf; min-width: 0; }
.wb-url i { font-style: normal; color: #777; }
.wb-url em { font-style: normal; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.wb-vp { position: relative; flex: 1; min-height: 0; overflow: hidden; background: #fff; }
.wb-vp iframe { position: absolute; left: 0; top: 0; border: 0; transform-origin: 0 0; pointer-events: none; background: #fff; }
.wb-vp::after { content: ''; position: absolute; left: 0; top: 0; height: .25cqw; width: 0; background: #111; opacity: 0; }
.wb-vp.reload::after { opacity: 1; animation: load .6s ease forwards; }
@keyframes load { to { width: 100%; opacity: 0; } }

/* listas */
.sw-ls { display: flex; flex-direction: column; gap: calc(var(--u) * .75cqw); padding: calc(var(--u) * 1.2cqw); }
.sw-ls .li { display: flex; gap: 1cqw; align-items: flex-start; padding: calc(var(--u) * .75cqw) calc(var(--u) * 1cqw); border-radius: .8cqw; background: rgba(255, 255, 255, .045); border: 1px solid rgba(255, 255, 255, .08); transition: opacity .4s, background .4s, border-color .4s; }
.sw-ls .li.fresh { animation: lin .55s cubic-bezier(.2, 1.2, .4, 1) both; }
@keyframes lin { from { opacity: 0; transform: translateX(-2cqw); } }
.sw-ls .li.hi { background: rgba(255, 255, 255, .13); border-color: rgba(255, 255, 255, .5); }
.sw-ls .li.dim { opacity: .42; }
.sw-ls .bn { flex: none; display: grid; place-items: center; width: calc(var(--u) * 2.3cqw); height: calc(var(--u) * 2.3cqw); border-radius: .6cqw; background: #f2f2f2; color: #0a0a0a; font: 800 calc(var(--u) * 1.1cqw) 'JetBrains Mono', monospace; }
.sw-ls.nonum .bn { width: calc(var(--u) * .7cqw); height: calc(var(--u) * .7cqw); margin-top: calc(var(--u) * .65cqw); border-radius: 50%; }
.sw-ls .lt { font-size: calc(var(--u) * 1.5cqw); font-weight: 500; line-height: 1.35; color: #f0f0f0; }
.sw-ls small { display: block; font-size: calc(var(--u) * 1.12cqw); color: #9d9d9d; margin-top: .2cqw; line-height: 1.35; }
.sw-ls:has(.li:nth-child(6)) { gap: calc(var(--u) * .5cqw); }
.sw-ls:has(.li:nth-child(6)) .li { padding: calc(var(--u) * .5cqw) calc(var(--u) * .9cqw); }
.sw-ls:has(.li:nth-child(6)) .lt { font-size: calc(var(--u) * 1.3cqw); }
.sw code, .sw-note code, .dm-t code { font: .92em 'JetBrains Mono', monospace; background: rgba(255, 255, 255, .1); padding: .05em .35em; border-radius: .3em; color: #fff; }

/* fluxo */
.sw-flow { height: 100%; display: flex; align-items: center; justify-content: center; gap: calc(var(--u) * .8cqw); padding: 1.4cqw; flex-wrap: wrap; }
.sw-flow.v { flex-direction: column; flex-wrap: nowrap; }
.sw-flow .fn { display: flex; flex-direction: column; align-items: center; text-align: center; min-width: 8cqw; max-width: 24cqw; padding: calc(var(--u) * .9cqw) calc(var(--u) * 1.3cqw); border-radius: 1cqw; border: .12cqw solid rgba(255, 255, 255, .35); background: rgba(22, 22, 22, .95); transition: all .45s; }
.sw-flow .fn.fresh { animation: pop .5s cubic-bezier(.2, 1.4, .4, 1) both; }
.sw-flow .fn b { font: 700 calc(var(--u) * 1.45cqw) 'JetBrains Mono', monospace; color: #f5f5f5; }
.sw-flow .fn small { font-size: calc(var(--u) * 1.05cqw); color: #9d9d9d; margin-top: .25cqw; line-height: 1.25; }
.sw-flow .fn.hi { background: #f2f2f2; border-color: #fff; box-shadow: 0 0 3cqw -.5cqw rgba(255, 255, 255, .6); transform: translateY(-.3cqw); }
.sw-flow .fn.hi b { color: #0a0a0a; } .sw-flow .fn.hi small { color: #444; }
.sw-flow .fn.dim { opacity: .45; }
.sw-flow .fa { font-style: normal; font-size: calc(var(--u) * 2cqw); color: #8a8a8a; }
.sw-flow .fa.fresh { animation: pop .5s ease both; }

/* tabela */
.sw-tb { width: 100%; border-collapse: collapse; font-size: calc(var(--u) * 1.3cqw); }
.sw-tb th { text-align: left; padding: .7cqw 1cqw; font-size: calc(var(--u) * 1cqw); text-transform: uppercase; letter-spacing: .08cqw; color: #9d9d9d; border-bottom: 1px solid rgba(255, 255, 255, .15); }
.sw-tb td { padding: calc(var(--u) * .7cqw) 1cqw; border-bottom: 1px solid rgba(255, 255, 255, .06); color: #e6e6e6; line-height: 1.3; vertical-align: top; }
.sw-tb td:first-child { font-weight: 700; color: #fff; }
.sw-tb tr.fresh { animation: lin .5s ease both; }
.sw-tb tr.hi td { background: rgba(255, 255, 255, .1); }

/* nota (cartão claro) */
.sw-note { display: flex; gap: 1.2cqw; align-items: flex-start; height: 100%; padding: 1.4cqw 1.6cqw; }
.sw-note .nt-ic { flex: none; display: grid; place-items: center; width: calc(var(--u) * 2.6cqw); height: calc(var(--u) * 2.6cqw); border-radius: 50%; background: #fff; color: #0a0a0a; font: 800 calc(var(--u) * 1.3cqw) 'JetBrains Mono', monospace; }
.sw-note .nt-tx { font-size: calc(var(--u) * 1.4cqw); line-height: 1.45; color: #ececec; }
.sw-note.warn .nt-ic { background: #0a0a0a; color: #fff; border: .15cqw solid #fff; }
.sw-note.err .nt-ic { background: #ff6b6b; color: #0a0a0a; }
.sw-note.ok .nt-ic { background: #9be7b8; color: #0a0a0a; }
.sw-note.paper { background: #f1f1f1; }
.sw-note.paper .nt-tx { color: #111; } .sw-note.paper .nt-ic { background: #111; color: #fff; }
.sw-note.paper code { background: rgba(0, 0, 0, .08); color: #000; }
.sw-note .md-p + .md-p { margin-top: .5cqw; }

/* texto grande */
.sw-big { height: 100%; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; padding: 1.5cqw; }
.sw-big .bg-ic { font: 800 calc(var(--u) * 3cqw) 'JetBrains Mono', monospace; margin-bottom: .8cqw; }
.sw-big .bg-t { font-size: calc(var(--u) * 3.8cqw); font-weight: 900; letter-spacing: -.1cqw; line-height: 1.1; background: linear-gradient(180deg, #fff, #9a9a9a); -webkit-background-clip: text; background-clip: text; color: transparent; }
.sw-big .bg-t code { -webkit-text-fill-color: #fff; }
.sw-big .bg-s { margin-top: 1cqw; font-size: calc(var(--u) * 1.6cqw); color: #a8a8a8; max-width: 90%; }

.sw-html { height: 100%; padding: 1.2cqw; font-size: calc(var(--u) * 1.3cqw); color: #e6e6e6; }

/* árvore de arquivos */
.sw-tree { padding: .9cqw .5cqw; font: calc(var(--u) * 1.45cqw)/1.7 'JetBrains Mono', monospace; color: #d4d4d4; }
.sw-tree .tr { display: flex; align-items: center; gap: .7em; border-radius: .3cqw; padding-right: .6em; transition: background .3s; }
.sw-tree .tr.hi { background: rgba(255, 255, 255, .14); color: #fff; }
.sw-tree .tr i { flex: none; width: .9em; height: .75em; border: .12em solid #9a9a9a; border-radius: .12em; }
.sw-tree .tr i.dir { background: #9a9a9a; border-radius: .08em .25em .15em .15em; }
.sw-tree .tr i.file { width: .7em; height: .9em; }
.sw-tree em { margin-left: auto; font-style: normal; font-family: Inter, sans-serif; font-size: .82em; color: #8a8a8a; }

/* memória */
.sw-mem { padding: .8cqw; font: calc(var(--u) * 1.2cqw) 'JetBrains Mono', monospace; }
.sw-mem .mc { display: grid; grid-template-columns: 1.15fr 1fr 1.2fr; gap: 1cqw; align-items: center; padding: calc(var(--u) * .42cqw) .8cqw; border-radius: .4cqw; border-bottom: 1px solid rgba(255, 255, 255, .05); transition: background .35s; }
.sw-mem .mc code { background: none; padding: 0; color: #7d7d7d; }
.sw-mem .mc b { color: #fff; }
.sw-mem .mc span { color: #a8a8a8; font-family: Inter, sans-serif; font-size: .92em; }
.sw-mem .mc.mh { font-size: .8em; text-transform: uppercase; color: #777; border-bottom-color: rgba(255, 255, 255, .15); }
.sw-mem .mc.mh b { color: #777; }
.sw-mem .mc.hi { background: rgba(255, 255, 255, .14); box-shadow: inset .25cqw 0 0 #fff; }
.sw-mem .mc.chg { animation: flash2 .9s ease; }
.sw-mem .mc.free b { color: #555; } .sw-mem .mc.used { background: rgba(255, 255, 255, .05); }
@keyframes flash2 { 30% { background: rgba(255, 255, 255, .35); } }

/* registradores */
.sw-rg { display: grid; grid-template-columns: repeat(var(--cols), 1fr); gap: .6cqw; padding: 1cqw; }
.sw-rg .rc { display: flex; justify-content: space-between; align-items: center; gap: .8cqw; padding: calc(var(--u) * .55cqw) .9cqw; border-radius: .5cqw; background: rgba(255, 255, 255, .05); border: 1px solid rgba(255, 255, 255, .07); font: calc(var(--u) * 1.25cqw) 'JetBrains Mono', monospace; }
.sw-rg .rc span { color: #9d9d9d; font-weight: 700; }
.sw-rg .rc b { color: #fff; }
.sw-rg .rc.chg { background: rgba(255, 255, 255, .2); border-color: #fff; animation: flash2 .9s ease; }

/* git */
.sw-git { display: block; width: 100%; height: 100%; padding: .4cqw; font-family: 'JetBrains Mono', monospace; }
.sw-git .gl { fill: none; stroke-width: 2.4; }
.sw-git .l0 { stroke: #f2f2f2; } .sw-git .l1 { stroke: #9a9a9a; } .sw-git .l2 { stroke: #d0d0d0; stroke-dasharray: 5 3; } .sw-git .l3 { stroke: #6f6f6f; stroke-dasharray: 2 3; }
.sw-git circle { fill: #0b0b0b; stroke-width: 2.6; }
.sw-git .gc.fresh circle { animation: gpop .6s cubic-bezier(.2, 1.5, .4, 1) both; transform-box: fill-box; transform-origin: center; }
.sw-git .gc.fresh text { animation: slidein .5s ease both; }
@keyframes gpop { from { transform: scale(0); } }
.sw-git text { font-size: 12.5px; fill: #d4d4d4; }
.sw-git .gh { fill: #6f6f6f; }
.sw-git .gb { fill: #fff; font-weight: 700; }
.sw-git .gb.head { fill: #fff; text-decoration: underline; }
.sw-git .gm { fill: #cfcfcf; }

/* placa 8051 */
.sw-board { height: 100%; display: flex; flex-direction: column; gap: calc(var(--u) * .7cqw); padding: 1cqw 1.2cqw; background: radial-gradient(circle at 30% 20%, #1b1b1b, #0c0c0c); font-family: 'JetBrains Mono', monospace; }
.bd-chip { display: flex; align-items: baseline; gap: 1cqw; }
.bd-chip b { font-size: calc(var(--u) * 1.3cqw); padding: .2cqw .8cqw; border-radius: .3cqw; background: #050505; border: 1px solid #333; color: #e6e6e6; letter-spacing: .1cqw; }
.bd-chip small { color: #777; font-size: calc(var(--u) * .95cqw); }
.bd-port { display: flex; align-items: center; gap: 1cqw; }
.bd-port > span { width: 2.6cqw; color: #bdbdbd; font-weight: 700; font-size: calc(var(--u) * 1.15cqw); }
.bd-port code { background: none; color: #777; font-size: calc(var(--u) * 1cqw); }
.leds { display: flex; gap: calc(var(--u) * .55cqw); }
.led { position: relative; width: calc(var(--u) * 1.9cqw); height: calc(var(--u) * 1.9cqw); border-radius: 50%; background: radial-gradient(circle at 35% 30%, #3a1a1a, #1a0b0b); border: .1cqw solid #2c2c2c; transition: background .15s, box-shadow .15s; }
.led.on { background: radial-gradient(circle at 35% 30%, #ffd0d0, #ff3b3b 45%, #b10000); box-shadow: 0 0 1.4cqw #ff3b3b, 0 0 .4cqw #ff8080; }
.led small { position: absolute; left: 50%; top: 110%; transform: translateX(-50%); font-size: .7cqw; color: #555; font-style: normal; }
.bd-seg { display: flex; gap: .6cqw; padding: .6cqw; background: #050505; border-radius: .5cqw; width: max-content; border: 1px solid #222; }
.bd-seg .seg { width: calc(var(--u) * 3cqw); }
.bd-seg rect { fill: #2a0e0e; } .bd-seg rect.on { fill: #ff3b3b; filter: drop-shadow(0 0 2px #ff3b3b); }
.bd-lcd { display: inline-flex; flex-direction: column; gap: .2cqw; width: max-content; padding: .7cqw .9cqw; border-radius: .4cqw; background: #9fb3a0; border: .35cqw solid #1a1a1a; box-shadow: inset 0 0 1.2cqw rgba(0, 0, 0, .35); }
.bd-lcd div { display: flex; gap: .12cqw; }
.bd-lcd span { display: grid; place-items: center; width: calc(var(--u) * 1.25cqw); height: calc(var(--u) * 1.8cqw); background: rgba(0, 0, 0, .06); color: #121a12; font: 700 calc(var(--u) * 1.3cqw) 'JetBrains Mono', monospace; }
.bd-btns { display: flex; gap: 1cqw; }
.bd-btns span { display: flex; align-items: center; gap: .5cqw; font-size: calc(var(--u) * 1cqw); color: #bdbdbd; }
.bd-btns i { width: calc(var(--u) * 1.8cqw); height: calc(var(--u) * 1.8cqw); border-radius: .3cqw; background: #2a2a2a; border: .15cqw solid #555; box-shadow: inset 0 -.3cqw 0 #151515; transition: all .15s; }
.bd-btns .on i { background: #fff; box-shadow: none; transform: translateY(.15cqw); }

/* cursor do mouse e balões */
.stg-cursor { position: absolute; left: 86%; top: 92%; width: 2cqw; height: 2cqw; opacity: 0; transition: left .75s cubic-bezier(.45, 0, .2, 1), top .75s cubic-bezier(.45, 0, .2, 1), opacity .35s; z-index: 6; }
.stg-cursor::before { content: ''; position: absolute; inset: 0; background: #fff; clip-path: polygon(0 0, 0 80%, 22% 62%, 38% 100%, 50% 94%, 35% 58%, 62% 58%); filter: drop-shadow(0 0 .15cqw #000) drop-shadow(0 .2cqw .3cqw rgba(0, 0, 0, .6)); }
.stg-cursor.on { opacity: 1; }
.stg-cursor.click::after { content: ''; position: absolute; left: -1.1cqw; top: -1.1cqw; width: 2.2cqw; height: 2.2cqw; border-radius: 50%; border: .2cqw solid #fff; animation: igclick .6s ease-out both; }
.pressed { filter: brightness(1.35); transform: scale(.96); transition: transform .1s, filter .1s; }
.stg-call { position: absolute; transform: translate(0, -110%); width: max-content; max-width: 26cqw; padding: .55cqw 1.1cqw; border-radius: .8cqw; background: #f4f4f4; color: #0a0a0a; font: 600 1.25cqw/1.3 Inter, sans-serif; box-shadow: 0 1.4cqw 3cqw -1cqw #000; animation: callin .45s cubic-bezier(.2, 1.4, .4, 1) both; transition: left .9s cubic-bezier(.65, 0, .25, 1), top .9s cubic-bezier(.65, 0, .25, 1); }
.stg-call::after { content: ''; position: absolute; left: 1.4cqw; bottom: -.6cqw; border: .35cqw solid transparent; border-top: .45cqw solid #f4f4f4; }
.stg-call.left { transform: translate(-100%, -110%); }
.stg-call.left::after { left: auto; right: 1.4cqw; }
.stg-call.dark { background: #0a0a0a; color: #fff; border: 1px solid #555; }
.stg-call.dark::after { border-top-color: #0a0a0a; }
.stg-call code { background: rgba(0, 0, 0, .1); color: #000; font: .9em 'JetBrains Mono', monospace; padding: 0 .3em; border-radius: .25em; }
@keyframes callin { from { opacity: 0; transform: translate(0, -80%) scale(.8); } }

/* mini markdown */
.md-h1 { font-size: 1.5em; font-weight: 800; margin: .2em 0; }
.md-h2 { font-size: 1.28em; font-weight: 800; margin: .2em 0; }
.md-h3 { font-size: 1.1em; font-weight: 700; margin: .15em 0; }
.md-sub { font-size: .82em; color: #949ba4; }
.md-q { border-left: .25em solid #4e5058; padding-left: .7em; }
.md-li::before { content: '• '; }
.md-pre { margin: .3em 0; padding: .6em .8em; border-radius: .4em; background: #1e1f22; border: 1px solid #111; font: .88em/1.45 'JetBrains Mono', monospace; white-space: pre-wrap; }
.md-men { padding: 0 .2em; border-radius: .25em; background: rgba(88, 101, 242, .3); color: #c9cdfb; font-weight: 500; }
.md-sp { background: #1e1f22; color: transparent; border-radius: .2em; }
.sw a, .dm a { color: #00a8fc; }

/* ===================== Discord ===================== */
.k-dc .sw-in { background: #313338; border-color: rgba(255, 255, 255, .1); }
.k-dc .sw-bar { background: #1e1f22; border-bottom-color: #111; }
.sw-dcw { font: 800 1.05cqw Inter, sans-serif; color: #dbdee1; letter-spacing: .02cqw; }
.dc { display: flex; height: 100%; font: calc(var(--u) * 1.2cqw)/1.375 'gg sans', 'Noto Sans', Inter, 'Helvetica Neue', Arial, sans-serif; color: #dbdee1; }
.dc-g { flex: none; width: 5.2%; min-width: 3.2cqw; background: #1e1f22; display: flex; flex-direction: column; align-items: center; gap: .7cqw; padding-top: .8cqw; }
.dc-g i { display: grid; place-items: center; width: 2.6cqw; height: 2.6cqw; border-radius: 50%; background: #313338; font: 700 1.05cqw Inter, sans-serif; color: #dbdee1; font-style: normal; }
.dc-g i.on { border-radius: .9cqw; background: #5865f2; color: #fff; }
.dc-g i.home { background: #5865f2; color: #fff; border-radius: .9cqw; font-size: 1cqw; }
.dc-cs { flex: none; width: 22%; background: #2b2d31; display: flex; flex-direction: column; font-size: calc(var(--u) * 1.08cqw); }
.dc-sn { display: flex; justify-content: space-between; padding: .9cqw 1cqw; font-weight: 700; color: #f2f3f5; border-bottom: 1px solid #1f2023; }
.dc-cat { padding: 1cqw 1cqw .3cqw; font-size: .78em; font-weight: 700; color: #949ba4; letter-spacing: .03cqw; }
.dc-c { display: flex; gap: .5cqw; padding: .3cqw .6cqw; margin: .05cqw .5cqw; border-radius: .35cqw; color: #949ba4; }
.dc-c b { color: #80848e; font-weight: 400; }
.dc-c.on { background: #404249; color: #fff; }
.dc-me { margin-top: auto; display: flex; gap: .6cqw; align-items: center; padding: .6cqw .8cqw; background: #232428; }
.dc-me b { display: block; font-size: .95em; color: #f2f3f5; } .dc-me small { color: #949ba4; font-size: .8em; }
.dc-m { flex: 1; min-width: 0; display: flex; flex-direction: column; position: relative; }
.dc-top { flex: none; display: flex; align-items: center; gap: .6cqw; padding: .75cqw 1.2cqw; border-bottom: 1px solid #26272b; font-weight: 700; color: #f2f3f5; box-shadow: 0 1px 0 rgba(4, 4, 5, .2); }
.dc-top b { color: #80848e; font-weight: 400; font-size: 1.3em; }
.dc-top small { font-weight: 400; color: #949ba4; margin-left: .6cqw; padding-left: .8cqw; border-left: 1px solid #3f4147; }
.dc-msgs { flex: 1; min-height: 0; overflow: hidden; display: flex; flex-direction: column; justify-content: flex-end; }
.dc-msgs > div { padding-bottom: .6cqw; }
.dm { padding: .35cqw 1.2cqw .35cqw 1.2cqw; margin-top: .6cqw; }
.dm.fresh { animation: dmin .45s ease both; }
@keyframes dmin { from { opacity: 0; transform: translateY(1cqw); background: rgba(88, 101, 242, .12); } }
.dm-row { display: flex; gap: 1.1cqw; }
.av { flex: none; display: grid; place-items: center; width: 3cqw; height: 3cqw; border-radius: 50%; background: #6b6f78; color: #fff; font: 700 1.2cqw Inter, sans-serif; }
.av.bot { background: #f2f3f5; color: #1e1f22; }
.av.xs { width: 1.3cqw; height: 1.3cqw; font-size: .65cqw; }
.av.sm { width: 2cqw; height: 2cqw; font-size: .9cqw; }
.dm-body { min-width: 0; flex: 1; }
.dm-h { display: flex; align-items: baseline; gap: .5cqw; }
.dm-h b { color: #f2f3f5; font-weight: 600; }
.dm-h b.usr { color: #c9cdfb; }
.dm-app { font: 700 .72em Inter, sans-serif; padding: .05cqw .35cqw; border-radius: .25cqw; background: #5865f2; color: #fff; }
.dm-h time { font-size: .75em; color: #949ba4; }
.dm-t { color: #dbdee1; word-wrap: break-word; }
.dm-rep { display: flex; align-items: center; gap: .45cqw; margin: 0 0 .2cqw 1.6cqw; font-size: .86em; color: #b5bac1; position: relative; }
.dm-rep::before { content: ''; position: absolute; left: -.2cqw; top: .7cqw; width: 1.5cqw; height: .8cqw; border-left: .15cqw solid #4e5058; border-top: .15cqw solid #4e5058; border-top-left-radius: .4cqw; transform: translateX(-1.3cqw); }
.dm-rep b { color: #f2f3f5; font-weight: 500; }
.dm-cmd { color: #c9cdfb; }
.dm-eph { margin-top: .3cqw; font-size: .78em; color: #949ba4; }
.dm-eph b { color: #949ba4; }
.dm-eph u { color: #00a8fc; text-decoration: none; }
.dm.sys .dm-row { align-items: center; color: #949ba4; }
.dm-sysic { width: 3cqw; text-align: center; color: #23a55a; font-weight: 800; }
.dm-re { display: flex; gap: .4cqw; margin-top: .3cqw; }
.dm-re span { padding: .1cqw .5cqw; border-radius: .4cqw; background: #2b2d31; border: 1px solid #3f4147; font-size: .85em; }
.emb { display: flex; gap: 1cqw; max-width: 92%; margin-top: .35cqw; padding: .8cqw 1.1cqw .9cqw; border-radius: .35cqw; background: #2b2d31; border-left: .3cqw solid var(--ec); }
.emb-in { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: .35cqw; }
.emb-au { display: flex; align-items: center; gap: .5cqw; font-size: .85em; font-weight: 600; color: #f2f3f5; }
.emb-au i { width: 1.3cqw; height: 1.3cqw; border-radius: 50%; background: #f2f3f5; }
.emb-ti { font-weight: 700; color: #f2f3f5; }
.emb-de { font-size: .92em; }
.emb-fs { display: flex; flex-wrap: wrap; gap: .5cqw 1.5cqw; }
.emb-f { flex: 1 1 100%; font-size: .9em; } .emb-f.in { flex: 1 1 28%; }
.emb-f b { display: block; color: #f2f3f5; font-weight: 700; margin-bottom: .1cqw; }
.emb-img { height: 8cqw; border-radius: .35cqw; display: grid; place-items: center; background: linear-gradient(135deg, #3f4147, #1e1f22); color: #949ba4; font-size: .85em; }
.emb-ft { font-size: .75em; color: #949ba4; }
.emb-th { flex: none; width: 5cqw; height: 5cqw; border-radius: .35cqw; background: linear-gradient(135deg, #5c5f66, #2b2d31); display: grid; place-items: center; font-size: .8em; color: #dbdee1; }
.drow { display: flex; flex-wrap: wrap; gap: .5cqw; margin-top: .45cqw; }
.dbtn { display: inline-flex; align-items: center; gap: .4cqw; height: 2.4cqw; padding: 0 1.1cqw; border-radius: .3cqw; font-size: .92em; font-weight: 500; color: #fff; white-space: nowrap; transition: filter .15s, transform .1s; }
.dbtn em { font-style: normal; }
.dbtn small { font-size: .8em; opacity: .8; }
.dbtn.s-p { background: #5865f2; } .dbtn.s-s { background: #4e5058; } .dbtn.s-ok { background: #248046; } .dbtn.s-no { background: #da373c; }
.dbtn.s-link { background: none; color: #dbdee1; }
.dbtn.dis { opacity: .5; }
.dbtn.on { box-shadow: 0 0 0 .15cqw #fff; }
.dsel-w { position: relative; margin-top: .45cqw; max-width: 72%; }
.dsel { display: flex; justify-content: space-between; align-items: center; height: 2.6cqw; padding: 0 1cqw; border-radius: .3cqw; background: #1e1f22; border: 1px solid #1e1f22; font-size: .92em; }
.dsel.open { border-color: #5865f2; border-radius: .3cqw .3cqw 0 0; }
.dsel .ph { color: #949ba4; }
.dsel b { color: #b5bac1; }
.dsel-o { border: 1px solid #1e1f22; border-top: 0; background: #2b2d31; border-radius: 0 0 .3cqw .3cqw; overflow: hidden; animation: slidein .25s ease; }
.dso { display: flex; align-items: center; gap: .7cqw; padding: .45cqw 1cqw; font-size: .9em; }
.dso em { font-style: normal; }
.dso b { font-weight: 500; color: #f2f3f5; display: block; }
.dso small { color: #949ba4; font-size: .85em; }
.dso.on { background: #404249; }
.dso i { margin-left: auto; width: 1.2cqw; height: 1.2cqw; border-radius: .25cqw; border: .12cqw solid #b5bac1; }
.dso i.on { background: #5865f2; border-color: #5865f2; }
.cv2 { margin-top: .35cqw; max-width: 94%; padding: 1cqw 1.2cqw; border-radius: .6cqw; background: #2b2d31; border: 1px solid #3f4147; display: flex; flex-direction: column; gap: .6cqw; }
.cv2.acc { border-left: .3cqw solid var(--ac); }
.cv-sep { height: 1px; background: #3f4147; margin: .2cqw 0; } .cv-sep.big { margin: .6cqw 0; }
.cv-sec { display: flex; gap: 1cqw; align-items: center; justify-content: space-between; }
.cv-th { flex: none; width: 4.5cqw; height: 4.5cqw; border-radius: .4cqw; background: linear-gradient(135deg, #5c5f66, #1e1f22); display: grid; place-items: center; font-size: .8em; }
.cv-gal { display: grid; grid-template-columns: repeat(3, 1fr); gap: .3cqw; }
.cv-gal span { height: 5cqw; border-radius: .3cqw; background: linear-gradient(135deg, #4e5058, #1e1f22); display: grid; place-items: center; font-size: .8em; color: #b5bac1; }
.dfile { display: flex; gap: .8cqw; align-items: center; margin-top: .35cqw; padding: .7cqw 1cqw; max-width: 70%; border-radius: .4cqw; background: #2b2d31; border: 1px solid #1e1f22; }
.dfile i { width: 1.8cqw; height: 2.3cqw; border-radius: .2cqw; background: #b5bac1; clip-path: polygon(0 0, 70% 0, 100% 25%, 100% 100%, 0 100%); }
.dfile b { display: block; color: #00a8fc; font-weight: 500; font-size: .92em; }
.dfile small { color: #949ba4; font-size: .78em; }
.dc-inw { flex: none; position: relative; padding: 0 1.2cqw .2cqw; }
.dc-in { display: flex; align-items: center; gap: 1cqw; padding: .75cqw 1cqw; border-radius: .6cqw; background: #383a40; color: #dbdee1; }
.dc-in .ph { color: #6d6f78; }
.dc-plus { display: grid; place-items: center; width: 1.8cqw; height: 1.8cqw; border-radius: 50%; background: #b5bac1; color: #383a40; font-weight: 800; }
.dc-ty { height: 1.5cqw; font-size: .75em; color: #dbdee1; display: flex; align-items: center; gap: .2cqw; }
.dc-ty i { width: .45cqw; height: .45cqw; border-radius: 50%; background: #dbdee1; animation: tdot 1.2s infinite; }
.dc-ty i:nth-child(2) { animation-delay: .2s; } .dc-ty i:nth-child(3) { animation-delay: .4s; margin-right: .4cqw; }
@keyframes tdot { 0%, 60%, 100% { opacity: .3; transform: none; } 30% { opacity: 1; transform: translateY(-.2cqw); } }
.dc-ac { position: absolute; left: 1.2cqw; right: 1.2cqw; bottom: calc(100% - .2cqw); background: #2b2d31; border-radius: .6cqw; padding: .6cqw; box-shadow: 0 1cqw 3cqw rgba(0, 0, 0, .5); animation: slidein .25s ease; }
.dc-ach { font-size: .72em; font-weight: 700; color: #b5bac1; padding: .2cqw .5cqw .4cqw; }
.dc-aci { display: flex; align-items: center; gap: .7cqw; padding: .45cqw .5cqw; border-radius: .3cqw; }
.dc-aci.on { background: #404249; }
.dc-aci b { color: #f2f3f5; font-weight: 600; }
.dc-aci small { color: #b5bac1; font-size: .85em; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dc-aci em { margin-left: auto; font-style: normal; font-size: .78em; color: #949ba4; }
.dmod { position: absolute; inset: 0; background: rgba(0, 0, 0, .72); display: grid; place-items: center; z-index: 5; animation: fadein .3s ease; }
@keyframes fadein { from { opacity: 0; } }
.dmod-box { width: min(78%, 40cqw); background: #313338; border-radius: .8cqw; overflow: hidden; animation: pop .4s cubic-bezier(.2, 1.3, .4, 1); box-shadow: 0 2cqw 5cqw rgba(0, 0, 0, .6); }
.dmod-h { display: flex; align-items: center; gap: .8cqw; padding: 1.1cqw 1.3cqw .6cqw; font-size: 1.12em; }
.dmod-h b { color: #f2f3f5; } .dmod-h i { margin-left: auto; font-style: normal; color: #b5bac1; }
.dmod-f { padding: .2cqw 1.3cqw .8cqw; display: flex; flex-direction: column; gap: .3cqw; }
.dmod-f label { font-size: .78em; font-weight: 700; color: #dbdee1; margin-top: .6cqw; text-transform: uppercase; letter-spacing: .02cqw; }
.dmod-f label em { color: #f23f43; font-style: normal; margin-left: .2cqw; }
.dmod-f small { font-size: .75em; color: #b5bac1; margin-top: -.2cqw; }
.dmod-in { min-height: 2.6cqw; padding: .6cqw .9cqw; border-radius: .3cqw; background: #1e1f22; border: 1px solid transparent; font-size: .92em; white-space: pre-wrap; }
.dmod-in.long { min-height: 6cqw; }
.dmod-in.focus { border-color: #5865f2; }
.dmod-in .ph { color: #6d6f78; }
.dmod-ck { display: flex; flex-direction: column; gap: .35cqw; }
.dmod-ck > div { display: flex; align-items: center; gap: .7cqw; font-size: .9em; }
.dmod-ck i { width: 1.3cqw; height: 1.3cqw; border-radius: .25cqw; border: .12cqw solid #b5bac1; }
.dmod-ck .rd i { border-radius: 50%; }
.dmod-ck .on i { background: #5865f2; border-color: #5865f2; box-shadow: inset 0 0 0 .25cqw #313338; }
.dmod-up { padding: 1.2cqw; border: .12cqw dashed #4e5058; border-radius: .5cqw; text-align: center; color: #b5bac1; font-size: .85em; }
.dmod-ft { display: flex; justify-content: flex-end; gap: .8cqw; padding: .9cqw 1.3cqw; background: #2b2d31; }

/* ===== abertura (título) mais estilosa ===== */
.st-n { font: 800 1.35cqw 'JetBrains Mono', monospace; letter-spacing: .5cqw; color: #8a8a8a; margin-bottom: 1.2cqw; animation: slidein .6s ease both; }
.st-win { position: absolute; border-radius: .8cqw; background: rgba(20, 20, 20, .7); border: 1px solid rgba(255, 255, 255, .1); box-shadow: 0 2cqw 5cqw -2cqw #000; padding: .6cqw .8cqw; animation: stfloat 9s ease-in-out infinite alternate, zoomin 1s ease both; }
.st-win i { display: inline-block; width: .6cqw; height: .6cqw; margin-right: .35cqw; border-radius: 50%; background: #444; }
.st-win.w1 { left: 5cqw; top: 8cqw; width: 18cqw; height: 11cqw; transform: rotate(-6deg); }
.st-win.w2 { right: 6cqw; top: 12cqw; width: 15cqw; height: 16cqw; animation-delay: -3s, .2s; transform: rotate(5deg); }
.st-win.w3 { left: 12cqw; bottom: 6cqw; width: 13cqw; height: 8cqw; animation-delay: -5s, .4s; transform: rotate(3deg); }
.st-win::after { content: ''; position: absolute; left: .8cqw; right: 30%; top: 2.2cqw; height: .5cqw; border-radius: 1cqw; background: rgba(255, 255, 255, .12); box-shadow: 0 1.2cqw 0 rgba(255, 255, 255, .08), 0 2.4cqw 0 rgba(255, 255, 255, .06); }
@keyframes stfloat { to { translate: 0 -1.5cqw; } }

/* transcrição */
.t-note { margin: 10px 0 16px; padding: 12px 16px; border-left: 3px solid #fff; background: rgba(255, 255, 255, .04); border-radius: 0 10px 10px 0; color: #d4d4d4; }
.sw-tree .tr.fresh { animation: lin .5s ease both; }

/* ===== blocos para diagramas em janelas HTML (Computador etc.) ===== */
.sw-html .dg { height: 100%; display: flex; flex-direction: column; gap: calc(var(--u) * .8cqw); justify-content: center; }
.dg-row { display: flex; gap: calc(var(--u) * .8cqw); align-items: stretch; justify-content: center; }
.dg-col { display: flex; flex-direction: column; gap: calc(var(--u) * .6cqw); }
.bx { flex: 1; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; gap: .2cqw; padding: calc(var(--u) * .7cqw) calc(var(--u) * .9cqw); border-radius: .8cqw; border: .12cqw solid rgba(255,255,255,.28); background: rgba(24,24,24,.9); transition: all .4s; min-width: 0; }
.bx b { font: 700 calc(var(--u) * 1.3cqw) 'JetBrains Mono', monospace; color: #f2f2f2; }
.bx small { font-size: calc(var(--u) * 1cqw); color: #9d9d9d; line-height: 1.25; }
.bx.w { background: #f2f2f2; border-color: #fff; } .bx.w b { color: #0a0a0a; } .bx.w small { color: #444; }
.bx.hl { border-color: #fff; box-shadow: 0 0 2.6cqw -.4cqw rgba(255,255,255,.55); background: rgba(60,60,60,.9); }
.bx.dim { opacity: .35; }
.bx.dash { border-style: dashed; }
.dg-ar { align-self: center; font-size: calc(var(--u) * 1.8cqw); color: #8a8a8a; }
.dg-lbl { text-align: center; font: 700 calc(var(--u) * 1cqw) 'JetBrains Mono', monospace; letter-spacing: .15cqw; text-transform: uppercase; color: #8a8a8a; }
.dg-line { border-top: .15cqw dashed #9a9a9a; position: relative; margin: .4cqw 0; }
.dg-line span { position: absolute; left: 50%; top: 0; transform: translate(-50%, -55%); background: #101010; padding: 0 .8cqw; font: 700 calc(var(--u) * .95cqw) 'JetBrains Mono', monospace; color: #bdbdbd; letter-spacing: .1cqw; }
.pyr { display: flex; flex-direction: column; align-items: center; gap: .35cqw; }
.pyr > div { display: flex; justify-content: space-between; align-items: center; padding: calc(var(--u) * .45cqw) 1cqw; border-radius: .4cqw; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.14); font-size: calc(var(--u) * 1.15cqw); transition: all .4s; }
.pyr > div b { font-family: 'JetBrains Mono', monospace; }
.pyr > div small { color: #9d9d9d; margin-left: 1cqw; }
.pyr > div.hl { background: #f2f2f2; color: #0a0a0a; } .pyr > div.hl small { color: #333; }
.bars { display: flex; flex-direction: column; gap: calc(var(--u) * .6cqw); width: 100%; }
.bars > div { display: grid; grid-template-columns: 28% 1fr auto; gap: .8cqw; align-items: center; font-size: calc(var(--u) * 1.1cqw); }
.bars > div > span { color: #cfcfcf; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bars > div > i { height: calc(var(--u) * 1.1cqw); border-radius: .3cqw; background: linear-gradient(90deg, #6a6a6a, #f2f2f2); width: var(--p); animation: grow 1.1s cubic-bezier(.2,1,.3,1) both; transform-origin: left; min-width: .3cqw; }
.bars > div > em { font: calc(var(--u) * 1cqw) 'JetBrains Mono', monospace; font-style: normal; color: #9d9d9d; }
.bars > div.hl > span { color: #fff; font-weight: 700; }
.rg3 { position: relative; width: min(100%, calc(var(--u) * 26cqw)); aspect-ratio: 1; margin: 0 auto; }
.rg3 > div { position: absolute; border-radius: 50%; border: .18cqw solid rgba(255,255,255,.35); display: flex; justify-content: center; transition: all .4s; }
.rg3 > div span { white-space: nowrap; margin-top: 4%; font: 700 calc(var(--u) * .95cqw) 'JetBrains Mono', monospace; background: #111; padding: .1cqw .6cqw; border-radius: .4cqw; height: max-content; color: #cfcfcf; }
.rg3 > div:nth-child(1) { inset: 0; } .rg3 > div:nth-child(2) { inset: 14%; } .rg3 > div:nth-child(3) { inset: 28%; } .rg3 > div:nth-child(4) { inset: 41%; align-items: center; background: rgba(255,255,255,.1); }
.rg3 > div:nth-child(4) span { margin: 0; }
.rg3 > div.hl { border-color: #fff; box-shadow: 0 0 2.4cqw -.3cqw rgba(255,255,255,.6), inset 0 0 2cqw -1cqw rgba(255,255,255,.4); }
.rg3 > div.hl > span { background: #f2f2f2; color: #0a0a0a; }
.chip { display: grid; grid-template-columns: repeat(var(--n, 4), 1fr); gap: .5cqw; padding: .8cqw; border-radius: .8cqw; border: .15cqw solid #777; background: repeating-linear-gradient(45deg, #151515 0 .4cqw, #121212 .4cqw .8cqw); }
.chip > div { padding: .6cqw; border-radius: .4cqw; background: #1f1f1f; border: 1px solid #444; text-align: center; font: 700 calc(var(--u) * 1cqw) 'JetBrains Mono', monospace; color: #cfcfcf; }
.chip > div.hl { background: #f2f2f2; color: #0a0a0a; }
.chip > .wide { grid-column: 1 / -1; }
.pkt { display: inline-block; padding: .2cqw .7cqw; border-radius: .4cqw; background: #f2f2f2; color: #0a0a0a; font: 700 calc(var(--u) * 1cqw) 'JetBrains Mono', monospace; animation: pop .45s cubic-bezier(.2,1.4,.4,1) both; }
.mv { animation: mvx 2.4s ease-in-out infinite; }
@keyframes mvx { 0% { transform: translateX(-120%); opacity: 0; } 15%, 85% { opacity: 1; } 100% { transform: translateX(120%); opacity: 0; } }
.cells { display: grid; grid-template-columns: repeat(var(--n, 8), 1fr); gap: .25cqw; }
.cells > i { font: calc(var(--u) * 1cqw) 'JetBrains Mono', monospace; font-style: normal; text-align: center; padding: .35cqw 0; border-radius: .25cqw; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1); color: #cfcfcf; }
.cells > i.on { background: #f2f2f2; color: #0a0a0a; }
.cells > i.hl { background: rgba(255,255,255,.28); color: #fff; }
.sw-html .mono { font-family: 'JetBrains Mono', monospace; }
.sw-html .muted { color: #9d9d9d; }
.sw-html .big { font-size: calc(var(--u) * 2.2cqw); font-weight: 800; }

/* código sempre com os caracteres reais (sem ligaduras tipo <- → ←) */
.win-code, .sw-code, .sw-term, .cblock, .hero-code, .md-pre, code, pre { font-variant-ligatures: none; font-feature-settings: "liga" 0, "calt" 0; }
.vstage .note { background: #f2f2f2 !important; color: #0a0a0a !important; border-color: #fff !important; }
