/* Baitproof UI: crisp product look. System fonts + inline SVG only (strict CSP: no external assets, no inline styles). */
:root{
  --bg:#FAFAFB;--surface:#fff;--ink:#0B0B0F;--muted:#6B7280;--faint:#9CA3AF;--line:#E7E8EC;--line-2:#D5D7DE;
  --brand:#2563EB;--brand-hover:#1D4ED8;--brand-ink:#fff;--brand-soft:#EEF3FF;
  --ok:#15803D;--ok-soft:#E8F7EE;--warn:#B45309;--warn-soft:#FEF4E2;--bad:#C81E1E;--bad-soft:#FDECEC;--info-soft:#F1F5FF;
  --violet:#7C3AED;--cyan:#06B6D4;
  --shadow:0 1px 2px rgba(16,24,40,.04),0 4px 14px rgba(16,24,40,.05);--shadow-up:0 2px 4px rgba(16,24,40,.05),0 14px 34px rgba(16,24,40,.10);
  --sans:ui-sans-serif,-apple-system,BlinkMacSystemFont,"SF Pro Display","Inter","Segoe UI",Roboto,sans-serif;
  --mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;--r:16px;--ease:cubic-bezier(.2,.7,.2,1)}
@media (prefers-color-scheme:dark){:root{
  --bg:#09090B;--surface:#101013;--ink:#F4F4F6;--muted:#9AA0AC;--faint:#6B7280;--line:#24252B;--line-2:#34363E;
  --brand:#3B82F6;--brand-hover:#5B9AFF;--brand-ink:#fff;--brand-soft:#131C33;
  --ok:#4ADE80;--ok-soft:#10261A;--warn:#FBBF24;--warn-soft:#2B2110;--bad:#F87171;--bad-soft:#2B1416;--info-soft:#121A2C;
  --shadow:0 1px 2px rgba(0,0,0,.5);--shadow-up:0 14px 40px rgba(0,0,0,.55)}}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;overflow-x:hidden;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:400 18px/1.55 var(--sans);-webkit-font-smoothing:antialiased;position:relative;min-height:100vh}
a{color:var(--brand)}
:focus-visible{outline:2px solid var(--brand);outline-offset:3px;border-radius:8px}
.wrap{max-width:1040px;margin:0 auto;padding-inline:22px}
.narrow{max-width:720px}

/* ambient glow (BoardUI-style light streak behind the hero) */
.glow{position:absolute;inset:0 0 auto 0;height:520px;overflow:hidden;pointer-events:none;z-index:0;
  -webkit-mask-image:linear-gradient(#000 40%,transparent);mask-image:linear-gradient(#000 40%,transparent)}
.glow i{position:absolute;top:-180px;width:46vw;max-width:640px;height:420px;border-radius:50%;filter:blur(90px);opacity:.30;animation:drift 14s ease-in-out infinite alternate}
.glow i:nth-child(1){left:6%;background:var(--brand)}.glow i:nth-child(2){left:34%;background:var(--violet);animation-duration:18s;animation-delay:-4s;opacity:.22}
.glow i:nth-child(3){right:4%;background:var(--cyan);animation-duration:16s;animation-delay:-8s;opacity:.22}
@keyframes drift{from{transform:translate3d(-7%,0,0) scale(1)}to{transform:translate3d(7%,18px,0) scale(1.12)}}
main,header,footer{position:relative;z-index:1}

/* floating pill nav */
header{position:sticky;top:12px;z-index:10;padding-top:12px}
.bar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 8px 8px 16px;border:1px solid var(--line);border-radius:999px;
  background:color-mix(in srgb,var(--surface) 82%,transparent);-webkit-backdrop-filter:saturate(1.6) blur(14px);backdrop-filter:saturate(1.6) blur(14px);box-shadow:var(--shadow)}
.brand{display:flex;align-items:center;gap:10px;font:700 1.05rem var(--sans);letter-spacing:-.01em;color:var(--ink);text-decoration:none}
.brand svg{width:28px;height:28px}
nav{display:flex;align-items:center;gap:2px;margin-left:auto}nav form{margin:0}
nav a,nav button{font:600 .88rem var(--sans);padding:0 14px;min-height:40px;display:inline-flex;align-items:center;border-radius:999px;border:0;background:none;color:var(--muted);text-decoration:none;cursor:pointer;transition:background .2s,color .2s}
nav a:hover,nav button:hover{background:var(--brand-soft);color:var(--ink)}
nav a[aria-current=page]{background:var(--brand-soft);color:var(--brand)}
nav .cta .short{display:none}
nav .cta{background:var(--ink);color:var(--bg);margin-left:4px}nav .cta:hover{background:var(--ink);color:var(--bg);opacity:.85}

/* language switcher: a <details> menu, works without scripts */
.lang{position:relative;flex:none}
.lang summary{list-style:none;display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 12px;border:1px solid var(--line-2);border-radius:999px;font:650 .82rem var(--sans);color:var(--ink);cursor:pointer;white-space:nowrap;transition:background .2s}
.lang summary::-webkit-details-marker{display:none}
.lang summary svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.lang summary:hover,.lang[open] summary{background:var(--brand-soft)}
.lang ul{position:absolute;right:0;top:calc(100% + 10px);z-index:30;margin:0;padding:6px;list-style:none;min-width:10.5rem;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-up)}
.lang a{display:flex;align-items:center;min-height:44px;padding:0 14px;border-radius:10px;color:var(--ink);text-decoration:none;font:600 .95rem var(--sans)}
.lang a:hover{background:var(--brand-soft)}.lang a[aria-current]{color:var(--brand);background:var(--brand-soft)}

main{padding-block:34px 56px}
/* type */
h1{font:700 clamp(2.3rem,5.6vw,3.7rem)/1.04 var(--sans);letter-spacing:-.035em;margin:.35em 0 .35em;text-wrap:balance}
h2{font:650 1.25rem/1.25 var(--sans);letter-spacing:-.015em;margin:0 0 .5em}
.lead{color:var(--muted);font-size:1.12rem;margin:0 0 1.4em;max-width:32em;text-wrap:pretty}
.muted{color:var(--muted);font-size:.8rem}
.dots{display:inline-block;padding-bottom:.12em;background:radial-gradient(circle,var(--line-2) 1.6px,transparent 1.8px) 0 100%/11px 5px repeat-x}
.pill{display:inline-flex;align-items:center;gap:8px;font:600 .78rem var(--sans);color:var(--muted);border:1px solid var(--line);background:var(--surface);padding:5px 14px 5px 6px;border-radius:999px;box-shadow:var(--shadow)}
.pill b{background:var(--brand-soft);color:var(--brand);border-radius:999px;padding:2px 9px;font-size:.68rem;letter-spacing:.06em}

html.big body{font-size:22px}html.big .lead{font-size:1.2rem}
#textsize{font-weight:700;border:1px solid var(--line-2)!important;margin-right:4px}#textsize[aria-pressed=true]{background:var(--ink);color:var(--bg)}
.pill.due{margin-top:8px;text-decoration:none;color:var(--warn)}.pill.due b{background:var(--warn-soft);color:var(--warn)}
/* animated accent word + filter chips */
.grad{background:linear-gradient(90deg,var(--brand),var(--violet),var(--cyan),var(--brand)) 0 0/220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shine 7s linear infinite}
@keyframes shine{to{background-position:220% 0}}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 6px}
.filters button{min-height:36px;padding:0 14px;border:1px solid var(--line-2);border-radius:999px;background:var(--surface);color:var(--muted);font:600 .82rem var(--sans);cursor:pointer;transition:all .2s var(--ease)}
.filters button:hover{border-color:var(--brand);color:var(--ink)}
.filters button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.map li[hidden]{display:none}

/* home: the checker comes first (a short headline, then the form); the demo sits beside it on a wide screen only */
.home{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:8px 44px;align-items:start}
.home h1,.t-h1{font-size:clamp(1.9rem,4.4vw,3rem);margin:.05em 0 .3em}
.home .lead,.t-lead{font-size:1.05rem;margin-bottom:1.1em}
.home #check-form{margin:0}.home #check-form button.big{margin-top:12px}.home .examples{margin-top:8px}.home textarea{padding-block:12px}
.home-side{padding-top:12px;display:grid;gap:22px;align-content:start}.home-demo{padding-top:0}
.trust-note{margin:18px 0 0;color:var(--muted);font-size:.85rem}.trust-note b{background:var(--brand-soft);color:var(--brand);border-radius:999px;padding:2px 9px;font-size:.68rem;letter-spacing:.06em;margin-right:6px}
.trust{display:flex;flex-wrap:wrap;gap:6px 18px;margin:14px 0 0;padding:0;list-style:none;color:var(--muted);font-size:.82rem}
.trust li::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--ok);margin-right:8px;vertical-align:middle}

/* cards */
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:24px;margin:20px 0;box-shadow:var(--shadow);transition:border-color .25s,box-shadow .25s,transform .25s var(--ease)}
.card:hover{border-color:var(--line-2)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:20px}.grid2 .card{margin:0}

/* buttons */
.btn,button.big,a.big{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 22px;margin-top:14px;border:1px solid transparent;border-radius:12px;background:var(--brand);color:var(--brand-ink);font:600 1rem var(--sans);text-decoration:none;cursor:pointer;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(37,99,235,.35);transition:background .2s,transform .15s var(--ease),box-shadow .2s}
.btn:hover,button.big:hover,a.big:hover{background:var(--brand-hover)}
.btn:active,button.big:active,a.big:active{transform:translateY(1px)}
.btn.sec,a.sec{background:var(--surface);color:var(--ink);border-color:var(--line-2);box-shadow:var(--shadow)}
.btn.sec:hover,a.sec:hover{background:var(--surface);border-color:var(--ink)}
button:disabled{opacity:.5;cursor:default;transform:none!important}
.ghost,.speak{display:inline-flex;align-items:center;min-height:38px;padding:0 14px;border:1px solid var(--line-2);border-radius:10px;background:var(--surface);color:var(--ink);font:550 .85rem var(--sans);cursor:pointer;margin:6px 6px 0 0;transition:border-color .2s,background .2s,transform .15s var(--ease)}
.ghost:hover,.speak:hover{border-color:var(--brand);background:var(--brand-soft)}
label{display:block;font-weight:650;margin-bottom:10px}
textarea,input{width:100%;font:inherit;padding:14px 16px;border:1px solid var(--line-2);border-radius:12px;background:var(--bg);color:var(--ink);transition:border-color .2s,box-shadow .2s}
textarea:focus,input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 4px color-mix(in srgb,var(--brand) 18%,transparent)}
.examples{display:flex;flex-wrap:wrap;align-items:center;margin-top:10px}.examples span{font-size:.82rem;color:var(--muted);margin:6px 6px 0 0}

/* hero demo (decorative, looped) */
.mock{border:1px solid var(--line);border-radius:20px;background:var(--surface);box-shadow:var(--shadow-up);overflow:hidden}
.mock-top{display:flex;align-items:center;gap:6px;padding:12px 16px;border-bottom:1px solid var(--line);font:600 .75rem var(--sans);color:var(--faint)}
.mock-top i{width:9px;height:9px;border-radius:50%;background:var(--line-2)}.mock-top span{margin-left:8px}
.mock-body{padding:18px;min-height:250px}
.bubble{background:var(--bg);border:1px solid var(--line);border-radius:6px 18px 18px 18px;padding:12px 14px;font-size:.95rem;min-height:92px}
.caret::after{content:"";display:inline-block;width:2px;height:1em;background:var(--brand);margin-left:2px;vertical-align:-2px;animation:blink 1s steps(2) infinite}
@keyframes blink{50%{opacity:0}}
.mock-tags{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 0;min-height:30px}
.mock-tags span{font:600 .72rem var(--sans);padding:4px 10px;border-radius:999px;background:var(--brand-soft);color:var(--brand);animation:pop .4s var(--ease) both}
.mock-verdict{margin-top:12px;display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:var(--bad-soft);color:var(--bad);font:650 .92rem var(--sans);opacity:0;transform:translateY(8px);transition:opacity .4s,transform .4s var(--ease)}
.mock-verdict.show{opacity:1;transform:none}.mock-verdict.ok{background:var(--ok-soft);color:var(--ok)}
.mock-cap{text-align:center;margin:10px 0 0;font-size:.72rem;color:var(--faint)}

/* verdict */
.card.result{padding:0;overflow:hidden;animation:rise .55s var(--ease) both}
.result .banner{display:flex;align-items:center;gap:14px;padding:18px 24px;font:700 1.25rem/1.3 var(--sans);letter-spacing:-.015em}
.vicon{flex:none;width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:currentColor}
.vicon svg{width:22px;height:22px;stroke:var(--surface);fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.v-scam .vicon,.v-likely_scam .vicon{animation:pulse 2.2s ease-out 2}
.result .body{padding:4px 24px 22px}
.v-scam .banner,.v-likely_scam .banner{background:var(--bad-soft);color:var(--bad)}
.v-safe .banner{background:var(--ok-soft);color:var(--ok)}
.v-unsure .banner{background:var(--warn-soft);color:var(--warn)}
.v-victim_support .banner{background:var(--info-soft);color:var(--brand)}
.panel{border:1px solid var(--line);border-radius:12px;padding:14px 18px;margin:12px 0;background:var(--bg)}
.panel b{display:block;font:650 .7rem var(--sans);letter-spacing:.09em;text-transform:uppercase;color:var(--faint);margin-bottom:3px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0;padding:0;list-style:none}
.chips li{background:var(--brand-soft);color:var(--brand);border-radius:999px;padding:4px 13px;font:600 .8rem var(--sans)}
.added{background:var(--ok-soft);color:var(--ok);border-radius:12px;padding:11px 16px;font:600 .92rem var(--sans)}
.trace{margin:14px 0;font-size:.85rem}.trace summary{cursor:pointer;color:var(--muted);font-weight:600}.trace summary:hover{color:var(--ink)}
.trace ol{padding-left:1.3em;color:var(--muted)}.trace .st-flag{color:var(--bad)}.trace .st-block{color:var(--bad);font-weight:700}.trace .st-skip{color:var(--faint)}

.evidence{margin:14px 0}.evidence summary{cursor:pointer;font-weight:650}
.ev{list-style:none;padding:0;margin:10px 0 0;display:grid;gap:8px}
.ev li{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--bg);font-size:.95rem}
.ev-tag{font:700 .68rem var(--sans);letter-spacing:.06em;text-transform:uppercase;padding:3px 9px;border-radius:99px;white-space:nowrap}
.ev-scam .ev-tag{background:var(--bad-soft);color:var(--bad)}.ev-safe .ev-tag{background:var(--ok-soft);color:var(--ok)}.ev-neutral .ev-tag{background:var(--info-soft);color:var(--muted)}
.ev small{display:block;color:var(--faint);margin-top:2px;font-size:.75rem}
/* live stage view + feedback + operator pages */
.live h2{margin-bottom:.4em}.live-steps{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.live-steps li{display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:start;padding:8px 10px;border:1px solid var(--line);border-radius:12px;background:var(--bg)}
.live-steps .dot{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--ok-soft);color:var(--ok);font:700 .8rem var(--sans)}
.live-steps .st-flag .dot{background:var(--warn-soft);color:var(--warn)}.live-steps .st-block .dot{background:var(--bad-soft);color:var(--bad)}.live-steps .st-skip .dot{background:var(--line);color:var(--muted)}
.live-steps small{display:block;color:var(--muted);font-size:.8rem}
.live-steps li:last-child .dot{animation:pulse2 1.4s ease-out infinite}
@keyframes pulse2{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--brand) 40%,transparent)}100%{box-shadow:0 0 0 10px transparent}}
.feedback-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:12px 0 0;font-size:.9rem;color:var(--muted)}.feedback-row .ghost{margin:0}
.err{color:var(--bad);font-weight:600}
.admin-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:10px}
.health h2{margin:0 0 .3em}.health.h-green{border-color:var(--ok)}.health.h-amber{border-color:#F59E0B}.health.h-red{border-color:var(--bad);background:var(--bad-soft)}
.windows{display:flex;gap:6px;margin:8px 0}.windows a{padding:6px 14px;border:1px solid var(--line-2);border-radius:99px;text-decoration:none;color:var(--muted);font-size:.85rem}.windows a[aria-current=page]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:12px;margin:12px 0}
.kpi{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px;box-shadow:var(--shadow)}.kpi b{display:block;font:700 1.5rem var(--sans);letter-spacing:-.02em}.kpi span{color:var(--muted);font-size:.8rem}
.bars-list{list-style:none;padding:0;margin:0}.bars-list li{display:grid;grid-template-columns:7.5rem 1fr 3.5rem;gap:10px;align-items:center;padding:4px 0;font-size:.9rem}.bars-list b{text-align:right}
.bars-list meter{width:100%;height:10px}
.tbl-wrap{overflow-x:auto}.tbl{width:100%;border-collapse:collapse;font-size:.85rem}.tbl th,.tbl td{text-align:left;padding:7px 10px;border-top:1px solid var(--line);white-space:nowrap}.tbl th{color:var(--muted);font-weight:600}
/* records + telegram + bottom tabs */
.tg-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.tg-head h2{margin:0}
.badge{font:700 .72rem var(--sans);letter-spacing:.05em;text-transform:uppercase;padding:4px 12px;border-radius:99px;background:var(--line);color:var(--muted)}.badge.ok{background:var(--ok-soft);color:var(--ok)}
.code{font:700 2.4rem var(--mono);letter-spacing:.25em;text-align:center;background:var(--bg);border:1px dashed var(--line-2);border-radius:14px;padding:14px;margin:8px 0}
.records{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.rec{background:var(--surface);border:1px solid var(--line);border-left:5px solid var(--line-2);border-radius:14px;padding:14px 16px;box-shadow:var(--shadow)}
.rec.v-scam,.rec.v-likely_scam{border-left-color:var(--bad)}.rec.v-safe{border-left-color:var(--ok)}.rec.v-unsure{border-left-color:#F59E0B}
.rec-top{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px}.rec-v{font:700 1rem var(--sans)}.rec-meta{color:var(--muted);font-size:.8rem;flex:1}
.rec-del{margin:0;min-height:34px;padding:0 12px}.rec-preview{margin:8px 0 4px;color:var(--muted);font-size:.92rem;overflow-wrap:anywhere}.rec-tell{margin:4px 0}
.rec .chips{margin:6px 0 0}.empty{text-align:center;color:var(--muted)}
.switch{display:flex;gap:10px;align-items:center;font-weight:600}.switch input{width:22px;height:22px}
.tabs{display:none}
@media(max-width:700px){
  nav .navlink{display:none}
  .tabs{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:20;background:color-mix(in srgb,var(--surface) 92%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--line);padding:6px 8px calc(6px + env(safe-area-inset-bottom,0px))}
  .tabs a{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 0;border-radius:12px;color:var(--muted);text-decoration:none;font:600 .7rem var(--sans)}
  .tabs svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .tabs a[aria-current=page]{color:var(--brand);background:var(--brand-soft)}
  body{padding-bottom:78px}
}
/* game */
.game{max-width:760px;margin:0 auto}
.hud-card{padding:20px}.hud-top{display:flex;gap:16px;align-items:center}.avatar{flex:none;width:64px;height:64px;border-radius:18px;display:grid;place-items:center;color:var(--brand);background:linear-gradient(135deg,var(--brand-soft),var(--surface));border:1px solid var(--line)}
.hud-id{flex:1;min-width:0}.hud-id h1{font-size:1.5rem;margin:0 0 6px}.hud-id p{margin:4px 0 0}
progress.xpbar{width:100%;height:12px;border-radius:99px;overflow:hidden;border:0;background:var(--line);appearance:none;-webkit-appearance:none}
progress.xpbar::-webkit-progress-bar{background:var(--line);border-radius:99px}progress.xpbar::-webkit-progress-value{background:linear-gradient(90deg,var(--brand),var(--violet));border-radius:99px;transition:width 1s var(--ease)}
progress.xpbar::-moz-progress-bar{background:linear-gradient(90deg,var(--brand),var(--violet));border-radius:99px}
.hud-stats{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 4px}.chip.hot{background:var(--warn-soft);color:var(--warn)}.chip.yours{background:var(--ok-soft);color:var(--ok)}
.toggles{display:flex;flex-wrap:wrap;gap:6px 22px;margin-top:10px;font-size:.88rem}
.mode-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:18px 0}
.mode-card{position:relative;text-align:left;display:flex;flex-direction:column;gap:6px;padding:18px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);color:var(--ink);font:inherit;cursor:pointer;box-shadow:var(--shadow);transition:transform .2s var(--ease),border-color .2s,box-shadow .2s}
a.mode-card{text-decoration:none}
.mode-card:hover:enabled,a.mode-card:hover{transform:translateY(-3px);border-color:var(--brand);box-shadow:var(--shadow-up)}.mode-card:disabled{opacity:.55;cursor:default}
.mode-card.hot{background:linear-gradient(160deg,var(--brand-soft),var(--surface));border-color:color-mix(in srgb,var(--brand) 40%,var(--line))}
.mode-ico{display:inline-flex;color:var(--brand);line-height:1}.mode-title{font:700 1.1rem var(--sans)}.mode-desc{color:var(--muted);font-size:.88rem}.mode-tag{position:absolute;top:12px;right:12px;font:700 .68rem var(--sans);letter-spacing:.05em;text-transform:uppercase;background:var(--brand);color:var(--brand-ink);padding:3px 10px;border-radius:99px}
.boss-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;margin-top:12px}
.tile{display:flex;flex-direction:column;gap:8px;text-align:left;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--bg);color:var(--ink);font:inherit;cursor:pointer;transition:transform .2s var(--ease),border-color .2s}
.tile:hover{transform:translateY(-2px);border-color:var(--brand)}.tile.won{border-color:var(--ok);background:var(--ok-soft)}.tile-top{display:flex;justify-content:space-between;gap:8px}.tile-name{font:650 .95rem var(--sans)}.tile-sub{color:var(--muted);font-size:.78rem}
.badge-row{display:flex;flex-wrap:wrap;gap:8px}.badge-chip{background:var(--warn-soft);color:var(--warn);border-radius:99px;padding:5px 14px;font:600 .82rem var(--sans)}
.play-hud{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:6px 0 10px}.hud-left{display:flex;gap:12px;align-items:center;min-width:5rem}
.hearts{color:var(--bad);font-size:1.3rem;letter-spacing:2px}.combo{font:700 1rem var(--sans);min-width:4rem}.combo.hot{color:var(--warn);animation:pop .35s var(--ease)}.quit{margin:0}
.play{padding:18px 20px}progress.round-prog,progress.clock{width:100%;height:6px;border:0;border-radius:99px;overflow:hidden;appearance:none;-webkit-appearance:none;background:var(--line);margin-bottom:14px;display:block}
progress.round-prog::-webkit-progress-bar,progress.clock::-webkit-progress-bar{background:var(--line)}progress.round-prog::-webkit-progress-value{background:var(--brand);transition:width .4s var(--ease)}progress.clock::-webkit-progress-value{background:var(--warn)}
progress.round-prog::-moz-progress-bar{background:var(--brand)}progress.clock::-moz-progress-bar{background:var(--warn)}progress.clock{margin:14px 0 0}
.phone{border:1px solid var(--line);border-radius:22px;background:var(--bg);overflow:hidden;box-shadow:var(--shadow)}.phone-top{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 16px;border-bottom:1px solid var(--line);font:600 .75rem var(--sans);color:var(--faint)}
.msg{padding:16px 18px;font-size:1.05rem;white-space:pre-wrap;overflow-wrap:anywhere}.msg mark{background:color-mix(in srgb,var(--warn) 35%,transparent);color:inherit;border-radius:6px;padding:1px 3px;box-shadow:0 0 0 2px color-mix(in srgb,var(--warn) 35%,transparent);animation:pop .4s var(--ease)}
.choices{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:6px}
.choice{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;padding:16px 8px;border:2px solid var(--line-2);border-radius:16px;background:var(--surface);color:var(--ink);font:650 1rem var(--sans);cursor:pointer;transition:transform .15s var(--ease),border-color .2s,background .2s}
.choice:active:enabled{transform:translateY(1px)}.choice:disabled{opacity:.6;cursor:default}
.choice.c-scam:hover:enabled{border-color:var(--bad);background:var(--bad-soft)}.choice.c-safe:hover:enabled{border-color:var(--ok);background:var(--ok-soft)}.choice.c-unsure:hover:enabled{border-color:#F59E0B;background:var(--warn-soft)}
.c-ico{display:inline-flex}.c-ico .ic{width:1.8rem;height:1.8rem}.choice kbd{font:600 .7rem var(--mono);color:var(--faint);border:1px solid var(--line-2);border-radius:6px;padding:1px 6px}.hint{text-align:center;font-size:.78rem}
.words{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.w{font:inherit;padding:8px 12px;min-height:44px;border:2px solid var(--line-2);border-radius:12px;background:var(--surface);color:var(--ink);cursor:pointer;transition:all .15s var(--ease)}
.w.sel{background:var(--warn-soft);border-color:#F59E0B;transform:translateY(-1px)}
.banner-r{position:relative;display:flex;flex-direction:column;gap:2px;padding:14px 16px;border-radius:14px;margin-bottom:12px;animation:rise .35s var(--ease) both}
.banner-r.correct{background:var(--ok-soft);color:var(--ok)}.banner-r.partial{background:var(--warn-soft);color:var(--warn)}.banner-r.wrong{background:var(--info-soft);color:var(--brand)}.banner-r strong{font:700 1.15rem var(--sans)}.banner-r span{color:var(--ink);font-size:.92rem}
.xp-float{position:absolute;right:14px;top:8px;font:800 1.1rem var(--sans);color:var(--ok);animation:floatup 1.2s ease-out forwards;pointer-events:none}
@keyframes floatup{0%{opacity:0;transform:translateY(8px) scale(.8)}20%{opacity:1}100%{opacity:0;transform:translateY(-26px) scale(1.15)}}
.chips-row{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.reveal-card .big{margin-top:14px}
.end h1{font-size:1.9rem}.levelup{background:linear-gradient(90deg,var(--brand-soft),var(--warn-soft));border-radius:14px;padding:14px 16px;font:700 1.05rem var(--sans);margin:12px 0;animation:pop .5s var(--ease)}
.end-xp{display:grid;gap:6px;margin:14px 0}.end-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}.new-badges{margin:14px 0}
.badge-pop{display:flex;gap:12px;align-items:center;background:var(--warn-soft);border-radius:14px;padding:10px 14px;margin:8px 0;animation:pop .5s var(--ease) both}.badge-pop span:first-child{font-size:1.6rem}.badge-pop small{display:block;color:var(--muted)}
.confetti{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:50}.confetti i{position:absolute;top:-12px;width:10px;height:16px;border-radius:2px;animation:fall 2.4s ease-in forwards}
.confetti i:nth-child(3n){background:var(--brand)}.confetti i:nth-child(3n+1){background:var(--violet)}.confetti i:nth-child(3n+2){background:#F59E0B}
.confetti i:nth-child(1){left:54%;animation-delay:0.12s;transform:rotate(37deg)}.confetti i:nth-child(2){left:10%;animation-delay:0.24s;transform:rotate(74deg)}.confetti i:nth-child(3){left:63%;animation-delay:0.36s;transform:rotate(111deg)}.confetti i:nth-child(4){left:19%;animation-delay:0.48s;transform:rotate(148deg)}.confetti i:nth-child(5){left:72%;animation-delay:0.60s;transform:rotate(185deg)}.confetti i:nth-child(6){left:28%;animation-delay:0.00s;transform:rotate(222deg)}.confetti i:nth-child(7){left:81%;animation-delay:0.12s;transform:rotate(259deg)}.confetti i:nth-child(8){left:37%;animation-delay:0.24s;transform:rotate(296deg)}.confetti i:nth-child(9){left:90%;animation-delay:0.36s;transform:rotate(333deg)}.confetti i:nth-child(10){left:46%;animation-delay:0.48s;transform:rotate(10deg)}.confetti i:nth-child(11){left:2%;animation-delay:0.60s;transform:rotate(47deg)}.confetti i:nth-child(12){left:55%;animation-delay:0.00s;transform:rotate(84deg)}.confetti i:nth-child(13){left:11%;animation-delay:0.12s;transform:rotate(121deg)}.confetti i:nth-child(14){left:64%;animation-delay:0.24s;transform:rotate(158deg)}.confetti i:nth-child(15){left:20%;animation-delay:0.36s;transform:rotate(195deg)}.confetti i:nth-child(16){left:73%;animation-delay:0.48s;transform:rotate(232deg)}.confetti i:nth-child(17){left:29%;animation-delay:0.60s;transform:rotate(269deg)}.confetti i:nth-child(18){left:82%;animation-delay:0.00s;transform:rotate(306deg)}
@keyframes fall{to{transform:translateY(105vh) rotate(540deg);opacity:.9}}
@media(max-width:560px){.mode-grid.games .mode-card{display:grid;grid-template-columns:auto 1fr;column-gap:14px;align-items:center;padding:14px 16px}.mode-grid.games .mode-ico{grid-row:1/3}.mode-grid.games .mode-tag{position:static;grid-column:2;justify-self:start;margin-top:2px}.choices{grid-template-columns:1fr}.choice{flex-direction:row;justify-content:center;padding:14px}.choice kbd{display:none}.hint{display:none}.mode-grid{grid-template-columns:1fr}.hud-id h1{font-size:1.25rem}}
/* Train hub: quick practice, then games, then the resilience map */
.tsec{margin:26px 0 0}.tsec-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 14px;margin-bottom:10px}.tsec-head h2{margin:0}
.card.quick{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 28px;margin:0}
.card.quick>div:first-child{flex:1 1 22em}.card.quick p{margin:0}.card.quick .sub{margin-top:4px;color:var(--muted);font-size:.92rem}.card.quick button.big{margin-top:0}
.card.quick .step{flex:1 1 100%;max-width:720px}
.mode-grid.games{margin:0}
/* resilience */
.g1{stop-color:var(--brand)}.g2{stop-color:var(--violet)}
.scorebox{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin:4px 0 12px}
.ring{position:relative;width:124px;height:124px;flex:none}
.ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.ring circle{fill:none;stroke-width:7;stroke-linecap:round}
.ring .track{stroke:var(--line)}.ring .fill{stroke:url(#rg);transition:stroke-dasharray 1.1s var(--ease)}
.ring strong{position:absolute;inset:0;display:grid;place-items:center;font:700 2.1rem var(--sans);letter-spacing:-.03em}
.scorebox p{margin:0;color:var(--muted);max-width:21em;font-size:.95rem}
.map{list-style:none;padding:0;margin:0}
.map li{display:grid;grid-template-columns:1fr auto 8.5rem;gap:2px 14px;align-items:center;padding:11px 0;border-top:1px solid var(--line);font-size:.95rem;animation:rise .5s var(--ease) both}
.map li:nth-child(1){animation-delay:0.04s}.map li:nth-child(2){animation-delay:0.08s}.map li:nth-child(3){animation-delay:0.12s}.map li:nth-child(4){animation-delay:0.16s}.map li:nth-child(5){animation-delay:0.20s}.map li:nth-child(6){animation-delay:0.24s}.map li:nth-child(7){animation-delay:0.28s}.map li:nth-child(8){animation-delay:0.32s}.map li:nth-child(9){animation-delay:0.36s}.map li:nth-child(10){animation-delay:0.40s}.map li:nth-child(11){animation-delay:0.44s}.map li:nth-child(12){animation-delay:0.48s}
.bars{display:inline-flex;gap:4px}
.bars i{width:20px;height:7px;border-radius:99px;background:var(--line)}
.bars i.on{animation:pop .45s var(--ease) both}.bars i:nth-child(2){animation-delay:.06s}.bars i:nth-child(3){animation-delay:.12s}.bars i:nth-child(4){animation-delay:.18s}.bars i:nth-child(5){animation-delay:.24s}
.bars i.on.weak{background:var(--bad)}.bars i.on.learning{background:#F59E0B}.bars i.on.strong{background:var(--ok)}
.lvl{font-size:.8rem;color:var(--faint)}.lvl.weak{color:var(--bad);font-weight:650}.lvl.strong{color:var(--ok);font-weight:650}.lvl.learning{color:var(--warn);font-weight:600}

/* practice + challenge */
.step{animation:rise .45s var(--ease) both}
.chip{display:inline-block;background:var(--brand-soft);color:var(--brand);border-radius:999px;padding:3px 12px;font:600 .78rem var(--sans)}
blockquote{margin:14px 0;padding:16px 18px;background:var(--bg);border:1px solid var(--line);border-left:3px solid var(--brand);border-radius:6px 14px 14px 6px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:1.02rem}
.opts{display:grid;gap:10px;margin-top:12px}
.opt{display:flex;gap:14px;align-items:flex-start;text-align:left;padding:14px 16px;min-height:56px;border:1px solid var(--line-2);border-radius:14px;background:var(--surface);color:var(--ink);font:inherit;cursor:pointer;transition:border-color .2s,background .2s,transform .15s var(--ease),box-shadow .2s}
.opt kbd{flex:none;display:grid;place-items:center;width:26px;height:26px;border:1px solid var(--line-2);border-radius:7px;font:600 .75rem var(--mono);color:var(--muted);background:var(--bg);margin-top:1px}
.opt:hover:enabled{border-color:var(--brand);box-shadow:var(--shadow)} /* (no lift: a button that moves out from under the pointer flickers on its bottom edge) */
.opt.right{border-color:var(--ok);background:var(--ok-soft)}.opt.right kbd{background:var(--ok);border-color:var(--ok);color:var(--surface);animation:pop .35s var(--ease)}
.opt.picked{border-color:var(--brand);background:var(--brand-soft)}
.feedback{padding:14px 18px;border-radius:14px;margin:16px 0 0;background:var(--info-soft);animation:rise .4s var(--ease) both}
.feedback.correct{background:var(--ok-soft)}.feedback.partial{background:var(--warn-soft)}
.progress{display:flex;gap:6px;margin-bottom:16px}.progress i{flex:1;height:5px;border-radius:99px;background:var(--line);overflow:hidden;position:relative}
.progress i.done{background:var(--brand)}.progress i.now{background:linear-gradient(90deg,var(--brand) 50%,var(--line) 50%)}

.family{text-align:left;margin:18px 0}.family input{margin-bottom:6px}.famrow{display:flex;flex-wrap:wrap;gap:8px}.famrow .btn{margin-top:6px;min-height:44px}
/* share */
.share{text-align:center;padding:40px 24px}
.share .bigpct{font:800 clamp(4.5rem,15vw,7rem)/1 var(--sans);letter-spacing:-.05em;margin:.05em 0;background:linear-gradient(120deg,var(--brand),var(--violet),var(--cyan));-webkit-background-clip:text;background-clip:text;color:transparent;animation:rise .7s var(--ease) both}
.share h1{font-size:1.9rem;margin:.1em 0 .2em}
footer.wrap{color:var(--faint);font-size:.8rem;padding-block:0 40px}

/* other ways to add a message (a screenshot, a voice note) + the links panel and the source chip in a result */
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.inputs{margin-top:10px}.inputs[hidden],.inbtn[hidden],#speak-lang[hidden],.in-privacy p[hidden]{display:none}
.in-buttons{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.inbtn{display:inline-flex;align-items:center;justify-content:center;gap:10px;flex:1 1 8.5rem;min-height:48px;padding:0 18px;border:2px solid var(--line-2);border-radius:14px;background:var(--surface);color:var(--ink);font:650 1.05rem var(--sans);cursor:pointer;transition:border-color .2s,background .2s,transform .15s var(--ease)}
.inbtn .ico{display:inline-flex;line-height:1}
.inbtn:hover:enabled{border-color:var(--brand);background:var(--brand-soft)}
.inbtn.rec{background:#C81E1E;border-color:#C81E1E;color:#fff}.inbtn.rec:hover:enabled{background:#A81818;border-color:#A81818}
#speak-lang{width:auto;flex:0 1 auto;min-height:48px;padding:0 12px;border:2px solid var(--line-2);border-radius:14px;background:var(--surface);color:var(--ink);font:600 1rem var(--sans)}
#speak-lang:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 4px color-mix(in srgb,var(--brand) 18%,transparent)}
.in-privacy{margin-top:6px;color:var(--muted);font-size:.8rem;line-height:1.45}.in-privacy p{margin:2px 0}
.in-status{margin-top:10px}.in-status:empty{display:none}
.in-busy,.in-rec{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;background:var(--brand-soft);font-weight:600}
.in-rec{background:var(--bad-soft);color:var(--bad)}.in-time{margin-left:auto;font:650 .95rem var(--mono)}.in-busy .in-thumb{margin-left:auto}
.spin{flex:none;width:22px;height:22px;border-radius:50%;border:3px solid color-mix(in srgb,var(--brand) 25%,transparent);border-top-color:var(--brand);animation:spin .8s linear infinite}
.rec-dot{flex:none;width:14px;height:14px;border-radius:50%;background:var(--bad);animation:recpulse 1.1s ease-in-out infinite}
@keyframes spin{to{transform:rotate(360deg)}}@keyframes recpulse{50%{transform:scale(.6);opacity:.5}}
.in-notice{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border:1px solid color-mix(in srgb,var(--brand) 28%,var(--line));border-radius:12px;background:var(--info-soft)}
.in-thumb{flex:none;width:56px;height:56px;object-fit:cover;border-radius:10px;border:1px solid var(--line-2);background:var(--bg)}
.in-main,.in-extra{margin:0}.in-main{font-weight:600;font-size:.98rem}.in-extra{margin-top:6px;color:var(--muted);font-size:.88rem}
.in-err{margin:0;padding:12px 14px;border-radius:12px;background:var(--bad-soft);color:var(--bad);font-weight:600}
.card.drop{border-color:var(--brand);background:var(--brand-soft);box-shadow:0 0 0 4px color-mix(in srgb,var(--brand) 22%,transparent)}
.src{display:inline-flex;align-items:center;gap:6px;margin:14px 0 0;padding:4px 12px;border-radius:999px;background:var(--brand-soft);color:var(--brand);font:600 .82rem var(--sans)}
.links-note{margin:2px 0 10px;color:var(--muted);font-size:.82rem}
.lk{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.lk>li{padding:10px 12px;border:1px solid var(--line);border-left:5px solid var(--line-2);border-radius:12px;background:var(--surface)}
.lk-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 10px}
.lk-host{flex:1 1 12rem;min-width:0;padding:0;background:none;color:var(--ink);font:650 .95rem var(--mono);overflow-wrap:anywhere;word-break:break-all}
.lk-goes .lk-host{font-size:.88rem}
.lk-chip{flex:none;padding:4px 11px;border-radius:99px;background:var(--info-soft);color:var(--muted);font:700 .74rem var(--sans);white-space:nowrap}
.lk-label{margin:6px 0 0;font:600 .92rem var(--sans)}.lk-goes{margin:4px 0 0;font-size:.9rem}
.lk-notes{margin:6px 0 0;padding-left:1.2em;color:var(--muted);font-size:.86rem}
.lk>.lk-official,.lk>.lk-established{border-left-color:var(--ok)}.lk-official .lk-chip,.lk-established .lk-chip{background:var(--ok-soft);color:var(--ok)}
.lk>.lk-lookalike,.lk>.lk-suspicious,.lk>.lk-known_phishing{border-left-color:var(--bad)}.lk-lookalike .lk-chip,.lk-suspicious .lk-chip,.lk-known_phishing .lk-chip{background:var(--bad-soft);color:var(--bad)}
.lk>.lk-shortener{border-left-color:#F59E0B}.lk-shortener .lk-chip{background:var(--warn-soft);color:var(--warn)}

/* motion */
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes pop{0%{transform:scale(.5);opacity:0}70%{transform:scale(1.1)}100%{transform:scale(1);opacity:1}}
@keyframes pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--bad) 45%,transparent)}100%{box-shadow:0 0 0 16px transparent}}
.rise{animation:rise .7s var(--ease) both}.d1{animation-delay:.08s}.d2{animation-delay:.16s}.d3{animation-delay:.24s}.d4{animation-delay:.32s}
html.js .reveal{opacity:0;transform:translateY(18px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
html.js .reveal.in{opacity:1;transform:none}

@media(max-width:820px){.home{grid-template-columns:1fr}.home-side{display:none}.grid2{grid-template-columns:1fr}.mock-body{min-height:0}}
@media(max-width:560px){.in-thumb{width:44px;height:44px}.in-notice,.in-busy,.in-rec{padding:10px 12px}.home #check-form{display:flex;flex-direction:column}.home #check-form button.big{align-self:flex-start}.home #check-form .examples{order:1;margin-top:14px}.in-buttons{gap:8px}.in-privacy p{display:inline;margin:0 .9em 0 0}main{padding-top:26px}.home h1{margin-bottom:.25em}.home .lead{margin-bottom:.9em}.home .card{padding:16px}.home textarea{padding:12px 14px}nav .cta .full{display:none}nav .cta .short{display:inline}nav{gap:0}#textsize{margin-right:2px;padding:0 10px}.bar{padding-left:12px}.card.result{padding:0}nav a,nav button{white-space:nowrap;font-size:.82rem}body{font-size:17px}.map li{grid-template-columns:1fr auto}.lvl{grid-column:1/-1}.ring{width:100px;height:100px}nav a{padding:0 10px}.brand span{display:none}.card{padding:18px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}html.js .reveal{opacity:1;transform:none}}

/* Chinese (Simplified and Traditional). The sizes above are tuned for Latin letters; Chinese characters are denser and square, so text gets a
   Chinese font, more line height, no tight tracking and slightly larger small print. Placed last so it wins over the rules above. */
:lang(zh){--sans:ui-sans-serif,-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC","Noto Sans SC","Source Han Sans SC","WenQuanYi Micro Hei",sans-serif}
:lang(zh-Hant){--sans:ui-sans-serif,-apple-system,BlinkMacSystemFont,"PingFang TC","Hiragino Sans CNS","Microsoft JhengHei","Noto Sans CJK TC","Noto Sans TC","Source Han Sans TC",sans-serif}
:lang(zh) body{line-height:1.7;word-break:normal;overflow-wrap:break-word}
:lang(zh) h1{font-size:clamp(1.95rem,5vw,3rem);line-height:1.28;letter-spacing:0}
:lang(zh) h2{line-height:1.4;letter-spacing:0}
:lang(zh) .lead{font-size:1.08rem;line-height:1.75;max-width:34em}
:lang(zh) .brand,:lang(zh) .result .banner,:lang(zh) .kpi b,:lang(zh) .ring strong,:lang(zh) .share .bigpct{letter-spacing:0}
:lang(zh) .result .banner{line-height:1.45}
:lang(zh) .muted,:lang(zh) .examples span,:lang(zh) .trust,:lang(zh) .mode-desc,:lang(zh) .tile-sub,:lang(zh) .hint,:lang(zh) .lvl,:lang(zh) .kpi span,:lang(zh) footer.wrap{font-size:.9rem}
:lang(zh) .trust-note{font-size:.92rem}:lang(zh) .trust-note b{font-size:.78rem;letter-spacing:.02em}
:lang(zh) .pill{font-size:.86rem}:lang(zh) .pill b,:lang(zh) .badge,:lang(zh) .mode-tag{font-size:.78rem;letter-spacing:.02em}
:lang(zh) .panel b{font-size:.86rem;letter-spacing:.04em;text-transform:none}
:lang(zh) .chips li,:lang(zh) .chip,:lang(zh) .badge-chip,:lang(zh) .filters button,:lang(zh) .mock-tags span{font-size:.88rem}
:lang(zh) .ev-tag{font-size:.78rem;letter-spacing:.02em}:lang(zh) .ev small{font-size:.82rem}
:lang(zh) .ev li,:lang(zh) .map li{line-height:1.55}
:lang(zh) .trace{font-size:.92rem}:lang(zh) .live-steps small{font-size:.86rem}
:lang(zh) .tabs a{font-size:.78rem}
:lang(zh) nav a,:lang(zh) nav button,:lang(zh) .lang summary{font-size:.92rem}
:lang(zh) .mode-title,:lang(zh) .tile-name{line-height:1.4}
:lang(zh) .opt span,:lang(zh) .mode-desc,:lang(zh) .tile-name,:lang(zh) .badge-pop span,:lang(zh) .banner-r span,:lang(zh) .feedback,:lang(zh) .panel{overflow-wrap:anywhere}
:lang(zh) .bubble,:lang(zh) .msg,:lang(zh) blockquote{line-height:1.75}
:lang(zh) .code{letter-spacing:.2em}
:lang(zh) .inbtn,:lang(zh) #speak-lang{font-size:1.08rem}:lang(zh) .in-privacy p,:lang(zh) .links-note,:lang(zh) .lk-notes,:lang(zh) .in-extra{font-size:.9rem}
:lang(zh) .lk-chip{font-size:.82rem;letter-spacing:.02em}:lang(zh) .lk-label,:lang(zh) .src{font-size:.92rem}:lang(zh) .in-main,:lang(zh) .in-extra,:lang(zh) .lk-notes{line-height:1.65}
@media(max-width:560px){:lang(zh) h1{font-size:clamp(1.75rem,8vw,2.2rem)}:lang(zh) nav a,:lang(zh) nav button{font-size:.88rem}}
