/* Emi website (playemi.com): the one stylesheet. The colours are the app's tokens (app/src/ui/theme.ts) and the
   prototype's buttons (.pbtn). tools/site-build.ts appends the fonts of each language, the per-language font
   variables and Emi's own rig CSS (app/src/rig/data/rig.json, taken from the prototype board). */
:root {
  --bg: #FFFBF3;
  --cream2: #FFF1DC;
  --card: #FFFFFF;
  --ink: #2A1F55;
  --mute: #564E84;
  --line: rgba(42, 31, 85, .12);
  --card-sh: 0 5px 0 rgba(42, 31, 85, .08);
  --link: #0B6B5F;
  --mint: #3EE6C8;
  --mint-d: #1A9C88;
  --mint-ink: #0B3B34;
  --tile-a: #4BDCC6;
  --tile-b: #0E7D6E;
  --night-ink: #F7F3FF;
  --night-soft: #D9D3FA;
  --gold: #FFC94D;
  --ic1: #D4F8F1; --ic1c: #0B6B5F;
  --ic2: #FFEFC4; --ic2c: #8A5200;
  --ic3: #FFE0EB; --ic3c: #A82B52;
  --ic4: #E8E3FF; --ic4c: #4E22A8;
  --draft: #FFF0C7; --draft-ink: #5A3A00;
  --ft: system-ui, sans-serif;
  --fd: var(--ft);
  --wt: 500;
  --wd: 800;
  --lh: 1.6;
  --lhd: 1.22;
  color-scheme: light dark;
}
@media (prefers-color-scheme: dark) {
  :root {
    --bg: #14102F;
    --cream2: #1C1648;
    --card: #1F1850;
    --ink: #F7F3FF;
    --mute: #CFC8F5;
    --line: rgba(255, 255, 255, .13);
    --card-sh: 0 5px 0 rgba(6, 4, 20, .55);
    --link: #3EE6C8;
    --ic1: rgba(62, 230, 200, .16); --ic1c: #6FF0D8;
    --ic2: rgba(255, 201, 77, .16); --ic2c: #FFD675;
    --ic3: rgba(255, 143, 177, .16); --ic3c: #FFA9C4;
    --ic4: rgba(155, 140, 255, .18); --ic4c: #C2B8FF;
    --draft: rgba(255, 201, 77, .16); --draft-ink: #FFE3A0;
  }
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font-family: var(--ft);
  font-weight: var(--wt);
  font-size: 17px;
  line-height: var(--lh);
  -webkit-font-smoothing: antialiased;
}
h1, h2, h3 { font-family: var(--fd); font-weight: var(--wd); line-height: var(--lhd); margin: 0 0 .4em; }
p { margin: 0 0 1em; }
h1, h2, h3, .kicker, summary { text-wrap: balance; }
p, li { text-wrap: pretty; }
/* Japanese and Chinese break between phrases, never before small kana; Korean keeps its words whole */
:lang(ja) { line-break: strict; word-break: auto-phrase; }
:lang(zh-Hans) { line-break: strict; }
:lang(ko) { word-break: keep-all; }
a { color: var(--link); text-underline-offset: .18em; }
a:focus-visible, button:focus-visible, summary:focus-visible { outline: 3px solid #FFC94D; outline-offset: 3px; border-radius: 12px; }
.wrap { width: min(1120px, 100% - 32px); margin-inline: auto; }
.skip { position: absolute; inset-inline-start: 16px; top: -60px; z-index: 100; padding: 10px 16px; border-radius: 12px; background: var(--ink); color: var(--bg); font-weight: 800; }
.skip:focus { top: 12px; }
.defs { position: absolute; width: 0; height: 0; overflow: hidden; }
.arr { display: inline-block; }
[dir="rtl"] .arr { transform: scaleX(-1); }

/* ---------- header */
.top { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-block: 14px; position: relative; z-index: 20; }
.brand { display: inline-flex; align-items: center; gap: 10px; color: var(--ink); text-decoration: none; min-height: 44px; }
.brand-n { font-family: var(--fd); font-weight: var(--wd); font-size: 25px; line-height: 1; }
.tile {
  display: block; flex: none; width: 42px; height: 42px; border-radius: 14px; overflow: hidden;
  background: radial-gradient(circle at 40% 30%, var(--tile-a), var(--tile-b));
  box-shadow: 0 3px 0 #0A6A5C;
}
.tile svg { display: block; width: 100%; height: 100%; }
.top-nav { display: flex; align-items: center; gap: 8px; }
.top-link { display: none; padding: 8px 12px; color: var(--ink); font-weight: 700; text-decoration: none; border-radius: 12px; }
.top-link:hover { background: var(--cream2); }
@media (min-width: 760px) { .top-link { display: inline-block; } }

/* buttons: the prototype's .pbtn */
.pill {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 46px; padding: 8px 20px;
  border: 0; border-radius: 999px; background: var(--card); color: var(--ink); box-shadow: 0 4px 0 var(--line);
  font: inherit; font-family: var(--fd); font-weight: var(--wd); line-height: 1.15; text-decoration: none; text-align: center; cursor: pointer;
  transition: transform .12s, box-shadow .12s;
}
.pill:active { transform: translateY(3px); box-shadow: 0 1px 0 var(--line); }
.pill.mint, .top .web { background: var(--mint); color: var(--mint-ink); box-shadow: 0 5px 0 var(--mint-d); }
.pill.mint:active, .top .web:active { box-shadow: 0 2px 0 var(--mint-d); }
.top .web { display: none; }
@media (min-width: 560px) { .top .web { display: inline-flex; } }

/* the language menu: a <details>, no script needed */
.lm { position: relative; }
.lm > summary { list-style: none; cursor: pointer; }
.lm > summary::-webkit-details-marker { display: none; }
.lm > summary svg { width: 20px; height: 20px; flex: none; }
.lm-list {
  position: absolute; inset-inline-end: 0; top: calc(100% + 10px); z-index: 50;
  width: min(320px, calc(100vw - 32px)); margin: 0; padding: 8px; list-style: none;
  display: grid; grid-template-columns: 1fr 1fr; gap: 2px;
  background: var(--card); border: 1.5px solid var(--line); border-radius: 20px; box-shadow: 0 18px 40px -12px rgba(16, 8, 48, .35);
}
.lm-list a, .langs a { font-family: "emi-poly", var(--ft); font-weight: 700; }
.lm-list a { display: block; padding: 9px 12px; border-radius: 12px; color: var(--ink); text-decoration: none; line-height: 1.3; }
.lm-list a:hover { background: var(--cream2); }
.lm-list a[aria-current] { background: var(--mint); color: var(--mint-ink); }

/* ---------- the night panels (the app's onboarding night) */
.night {
  position: relative; overflow: hidden; isolation: isolate;
  display: grid; justify-items: center; gap: 4px;
  padding: 24px 20px 8px; border-radius: 32px; color: var(--night-ink);
  background:
    radial-gradient(ellipse 62% 50% at 50% 70%, #3A2C8E, rgba(58, 44, 142, 0) 70%),
    linear-gradient(180deg, #0E0B2A, #1E1660 60%, #2C1F72);
}
@media (prefers-color-scheme: dark) { .night { box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, .08); } }
.night::before {
  /* the stars of the night, as on the app icon board */
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; opacity: .85;
  background:
    radial-gradient(circle at 12% 14%, #FFF6D6 0 2px, transparent 2.5px),
    radial-gradient(circle at 26% 8%, #FFF6D6 0 1.4px, transparent 2px),
    radial-gradient(circle at 78% 10%, #FFF6D6 0 2px, transparent 2.5px),
    radial-gradient(circle at 90% 22%, #FFF6D6 0 1.4px, transparent 2px),
    radial-gradient(circle at 6% 44%, #FFF6D6 0 1.2px, transparent 1.8px),
    radial-gradient(circle at 95% 50%, #FFF6D6 0 1.6px, transparent 2.2px),
    radial-gradient(circle at 18% 76%, #FFF6D6 0 1.2px, transparent 1.8px),
    radial-gradient(circle at 60% 4%, #FFF6D6 0 1.2px, transparent 1.8px),
    radial-gradient(circle at 84% 80%, #FFF6D6 0 1.4px, transparent 2px);
  animation: zTwinkle 5s ease-in-out infinite alternate;
}
@keyframes zTwinkle { from { opacity: .55; } to { opacity: 1; } }
.hero-text { width: 100%; text-align: center; }
.hero-emi { position: relative; width: min(260px, 66vw); aspect-ratio: 300 / 320; margin-top: 6px; }
.hero-emi::before {
  /* Emi's mint aura */
  content: ""; position: absolute; inset: -18% -22% -6%; z-index: -1; border-radius: 50%;
  background: radial-gradient(closest-side, rgba(62, 230, 200, .42), rgba(62, 230, 200, .12) 55%, rgba(62, 230, 200, 0));
  animation: zAura 3.2s ease-in-out infinite alternate;
}
@keyframes zAura { from { transform: scale(.94); opacity: .8; } to { transform: scale(1.05); opacity: 1; } }
.night h1 { font-size: clamp(31px, 7.4vw, 58px); margin-bottom: .35em; }
.kicker { margin: 0 0 .5em; color: var(--mint); font-family: var(--fd); font-weight: var(--wd); font-size: 18px; }
.lead { color: var(--night-soft); font-size: 18px; max-width: 34em; margin-inline: auto; }
.night .or { margin: 18px 0 22px; }
.web-link { color: var(--mint); font-weight: 800; }
.mail { color: var(--night-soft); margin-inline-start: 10px; overflow-wrap: anywhere; }
.night.small h1 { font-size: clamp(29px, 6.4vw, 48px); }
.night.small .hero-emi { width: min(200px, 52vw); }
@media (min-width: 860px) {
  .night { grid-template-columns: 1.15fr .85fr; align-items: center; justify-items: stretch; gap: 24px; padding: 48px 56px; }
  .hero-text { text-align: start; order: 0; }
  .lead { margin-inline: 0; }
  .hero-emi { order: 1; justify-self: center; width: min(340px, 100%); margin: 0; }
  .night.small { padding-block: 40px; }
  .night.small .hero-emi { width: min(240px, 100%); }
  .night .stores { justify-content: flex-start; }
}

/* store buttons: real links, or "coming soon" while config.json has no link */
.stores { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 22px; }
.store {
  display: inline-flex; flex-direction: column; align-items: flex-start; justify-content: center; min-width: 170px; min-height: 58px; padding: 8px 20px;
  border-radius: 16px; background: #08061A; color: #FFFFFF; border: 1.5px solid rgba(255, 255, 255, .3);
  text-decoration: none; line-height: 1.2; text-align: start; box-shadow: 0 4px 0 rgba(6, 4, 20, .6);
}
a.store:active { transform: translateY(3px); box-shadow: 0 1px 0 rgba(6, 4, 20, .6); }
.store-pre { font-size: 13px; opacity: .88; }
.store-n { font-family: var(--fd); font-weight: var(--wd); font-size: 21px; }
.store.soon { background: rgba(255, 255, 255, .06); border-style: dashed; box-shadow: none; color: var(--night-soft); }
.store.soon .store-pre { color: var(--gold); opacity: 1; font-weight: 800; }

/* ---------- a friend's invitation (/f/<code> → /<lang>/f?c=<code>): the code big, as a ticket; site.js fills it */
.fcode {
  display: inline-grid; justify-items: center; gap: 2px; max-width: 100%; margin: 16px 0 0; padding: 10px 22px 8px;
  border: 2px dashed rgba(62, 230, 200, .65); border-radius: 20px; background: rgba(255, 255, 255, .07);
}
.fcode[hidden] { display: none; }
.fcode-l { color: var(--mint); font-family: var(--fd); font-weight: var(--wd); font-size: 14px; line-height: 1.3; }
.fcode-n {
  color: var(--night-ink); font-family: var(--fd); font-weight: var(--wd); font-size: clamp(24px, 7.2vw, 42px); line-height: 1.25;
  letter-spacing: .05em; unicode-bidi: isolate; overflow-wrap: anywhere; user-select: all; -webkit-user-select: all;
}
.night .or.fo { margin: 18px 0 10px; }
.fopen { min-height: 54px; padding-inline: 30px; font-size: 19px; }
.fget { color: var(--night-soft); font-size: 15px; margin: 0 auto; max-width: 30em; }
[data-friend] .stores { margin-top: 14px; }
.fweb { margin: 18px 0 22px; }
@media (min-width: 860px) { .fget { margin-inline: 0; } }

/* ---------- features */
.feats > h2, .hello > h2, .faq > h2 { font-size: clamp(25px, 5vw, 38px); text-align: center; margin: 56px 0 22px; }
.cards { list-style: none; margin: 0; padding: 0; display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(min(250px, 100%), 1fr)); }
.card { background: var(--card); border: 1.5px solid var(--line); border-radius: 22px; padding: 22px; box-shadow: var(--card-sh); }
.card h3 { font-size: 21px; margin-top: 14px; }
.card p { color: var(--mute); margin: 0; }
.card .more { margin-top: 12px; font-weight: 800; }
.ic { display: grid; place-items: center; width: 54px; height: 54px; border-radius: 17px; }
.ic svg { width: 30px; height: 30px; }
.ic-lang { background: var(--ic1); color: var(--ic1c); }
.ic-game { background: var(--ic2); color: var(--ic2c); }
.ic-watch { background: var(--ic3); color: var(--ic3c); }
.ic-shield { background: var(--ic4); color: var(--ic4c); }

/* ---------- hello in 16 languages */
.chips { list-style: none; margin: 0 auto; padding: 0; max-width: 900px; display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 12px; }
.chip {
  font-family: "emi-poly", var(--ft); font-weight: 700; font-size: 19px; line-height: 1.5;
  padding: 7px 16px; border-radius: 999px; background: var(--cream2); color: var(--ink); box-shadow: 0 4px 0 var(--line);
  animation: zBob 3.4s ease-in-out infinite;
}
.chip:nth-child(6n+1) { background: #DDF9F3; animation-delay: -.3s; }
.chip:nth-child(6n+2) { background: #FFF0CC; animation-delay: -1.1s; }
.chip:nth-child(6n+3) { background: #FFE3EC; animation-delay: -2s; }
.chip:nth-child(6n+4) { background: #E7E2FF; animation-delay: -.7s; }
.chip:nth-child(6n+5) { background: #DCEEFF; animation-delay: -2.6s; }
.chip:nth-child(6n) { background: #FFE6D6; animation-delay: -1.6s; }
.chip { color: #2A1F55; }
@keyframes zBob { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-5px); } }

/* ---------- the call to action */
.cta { margin-top: 56px; }
.cta-in {
  position: relative; overflow: hidden; text-align: center; padding: 40px 20px 34px; border-radius: 32px; color: var(--night-ink);
  background: radial-gradient(circle at 50% 120%, rgba(62, 230, 200, .35), rgba(62, 230, 200, 0) 60%), linear-gradient(180deg, #1E1660, #2C1F72);
}
.cta-in h2 { font-size: clamp(26px, 5.4vw, 40px); }
.cta-in p { color: var(--night-soft); }
.cta-in .or { margin: 20px 0 0; }

/* ---------- parents, support */
.page-head { margin-top: 4px; }
.steps { list-style: none; margin: 28px 0 0; padding: 0; display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr)); counter-reset: st; }
.steps li { position: relative; padding-top: 70px; }
.steps li::before {
  counter-increment: st; content: counter(st); position: absolute; top: 20px; inset-inline-start: 22px;
  display: grid; place-items: center; width: 38px; height: 38px; border-radius: 13px;
  background: var(--mint); color: var(--mint-ink); font-family: "emi-poly", var(--fd); font-weight: 800; font-size: 19px; line-height: 1;
  box-shadow: 0 3px 0 var(--mint-d);
}
.steps h2 { font-size: 21px; }
.after { text-align: center; margin-top: 28px; }
.faq .card { margin-bottom: 12px; padding: 0; }
.faq summary { list-style: none; cursor: pointer; padding: 18px 22px; padding-inline-end: 56px; position: relative; font-family: var(--fd); font-weight: var(--wd); font-size: 19px; line-height: 1.35; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; position: absolute; top: 50%; inset-inline-end: 22px; transform: translateY(-50%); font-size: 26px; line-height: 1; color: var(--link); }
.faq details[open] summary::after { content: "–"; }
.faq details p { padding: 0 22px 20px; }

/* ---------- privacy, terms */
.legal { max-width: 800px; }
.draft { margin: 8px 0 18px; padding: 12px 18px; border-radius: 16px; background: var(--draft); color: var(--draft-ink); font-weight: 800; }
.en-note { margin: 0 0 18px; color: var(--mute); font-weight: 700; }
.doc { line-height: 1.7; }
.doc h1 { font-size: clamp(30px, 6vw, 44px); margin-top: 8px; }
.doc h2 { font-size: 23px; margin-top: 34px; }
.doc h3 { font-size: 19px; margin-top: 22px; }
.doc li { margin-bottom: .45em; }
.doc ul { padding-inline-start: 1.3em; }
.doc .upd { color: var(--mute); }
.doc table { width: 100%; border-collapse: collapse; margin: 0 0 1.2em; display: block; overflow-x: auto; }
.doc th, .doc td { text-align: start; vertical-align: top; padding: 9px 10px; border-bottom: 1px solid var(--line); overflow-wrap: anywhere; hyphens: auto; }
/* the long compounds of some translations (Aufbewahrungsdauer, Japanese phrases kept whole) wrap inside the phone's width */
.doc th { font-family: var(--fd); font-weight: var(--wd); }
.doc[lang="en"] { font-family: var(--ft); }

/* ---------- the student application (/dz, /dz/fr, /dz/en; dz.js): quiet cards, colour only in the status dot */
.dz-h2 { font-size: clamp(25px, 5vw, 36px); text-align: center; margin: 48px 0 6px; }
.dz-steps h3 { font-size: 20px; }
.dz-steps p { margin: 0; }
.dz-main { display: grid; gap: 16px; margin-top: 40px; scroll-margin-top: 16px; }
@media (min-width: 900px) { .dz-main { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); align-items: start; } }
.dz-card h2 { font-size: clamp(23px, 4.6vw, 30px); }
.dz-card h3 { font-size: 19px; margin-top: 4px; }
.dz-info { display: grid; gap: 16px; }
.dz-info h3 { font-size: 19px; margin: 0 0 6px; }
.dz-info p { color: var(--mute); }
.dz-info p:last-child { margin-bottom: 0; }
.dz-tabs { display: inline-flex; flex-wrap: wrap; gap: 4px; padding: 4px; margin: 4px 0 18px; border-radius: 16px; background: var(--cream2); max-width: 100%; }
.dz-tabs button { min-height: 42px; padding: 6px 16px; border: 0; border-radius: 12px; background: none; color: var(--mute); font: inherit; font-weight: 700; cursor: pointer; }
@media (max-width: 420px) { .dz-tabs button { padding: 6px 11px; font-size: 15px; } }
.dz-tabs button[aria-selected="true"] { background: var(--card); color: var(--ink); box-shadow: 0 2px 0 var(--line); }
.dz-step { display: grid; gap: 14px; }
.dz-card [hidden] { display: none !important; }
.dz-f { display: grid; gap: 6px; }
.dz-l { font-weight: 800; font-family: var(--fd); }
.dz-f small, .dz-hint, .dz-sent { color: var(--mute); font-size: 15px; line-height: 1.5; }
.dz-hint, .dz-sent { margin: 0; }
.dz-f input[type="email"], .dz-f input[type="tel"], .dz-f input[name="name"], .dz-code {
  width: 100%; min-height: 50px; padding: 10px 14px; border: 1.5px solid var(--line); border-radius: 14px;
  background: var(--bg); color: var(--ink); font: inherit; font-size: 17px;
}
.dz-f input:focus { outline: 3px solid rgba(62, 230, 200, .55); outline-offset: 1px; border-color: var(--mint-d); }
.dz-f input[dir="ltr"] { text-align: left; }
[dir="rtl"] .dz-f input[dir="ltr"]::placeholder { text-align: right; }
.dz-code { max-width: 220px; font-size: 26px; letter-spacing: .3em; text-align: center !important; font-variant-numeric: tabular-nums; }
.dz-row { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; }
.dz-link { min-height: 44px; padding: 6px 2px; border: 0; background: none; color: var(--link); font: inherit; font-weight: 700; text-decoration: underline; text-underline-offset: .18em; cursor: pointer; }
.dz-file { position: relative; display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; padding: 12px; border: 1.5px dashed var(--line); border-radius: 16px; cursor: pointer; }
.dz-file input { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; }
.dz-file:focus-within { outline: 3px solid #FFC94D; outline-offset: 3px; }
.dz-fname { color: var(--mute); font-size: 15px; overflow-wrap: anywhere; min-width: 0; }
.dz-check { display: grid; grid-template-columns: 26px minmax(0, 1fr); gap: 10px; align-items: start; line-height: 1.5; cursor: pointer; }
.dz-check input { width: 22px; height: 22px; margin: 2px 0 0; accent-color: var(--mint-d); }
.dz-radio { min-width: 0; margin: 0; padding: 0; border: 0; gap: 10px; }
.dz-radio legend { padding: 0; margin-bottom: 4px; }
.dz-warn { margin: 0; padding: 8px 12px; border-radius: 12px; background: var(--cream2); font-weight: 700; font-size: 15px; box-shadow: inset 4px 0 0 #E5484D; }
[dir="rtl"] .dz-warn { box-shadow: inset -4px 0 0 #E5484D; }
.dz-guardian { display: grid; gap: 12px; padding: 14px 16px; border-radius: 16px; background: var(--cream2); }
.dz-f select {
  width: 100%; min-height: 50px; padding: 10px 14px; border: 1.5px solid var(--line); border-radius: 14px;
  background: var(--bg); color: var(--ink); font: inherit; font-size: 17px;
}
.dz-f select:focus { outline: 3px solid rgba(62, 230, 200, .55); outline-offset: 1px; border-color: var(--mint-d); }
.dz-hp { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.dz-msg { margin: 0 0 14px; padding: 12px 16px; border-radius: 14px; background: var(--cream2); font-weight: 700; }
.dz-msg.bad { box-shadow: inset 4px 0 0 #E5484D; }
[dir="rtl"] .dz-msg.bad { box-shadow: inset -4px 0 0 #E5484D; }
.dz-msg.good { box-shadow: inset 4px 0 0 var(--mint-d); }
[dir="rtl"] .dz-msg.good { box-shadow: inset -4px 0 0 var(--mint-d); }
.dz-nocode { margin-top: 6px; padding: 16px; border-radius: 18px; background: var(--cream2); }
.dz-nocode p { color: var(--mute); }
.dz-nocode .stores { justify-content: flex-start; margin-top: 8px; }
.dz-nocode .store.soon { background: var(--card); color: var(--mute); border-color: var(--line); }
.dz-nocode .store.soon .store-pre { color: var(--mute); }
.dz-nocode .dz-web { margin: 12px 0 0; font-weight: 700; }
.dz-who { margin: 0; color: var(--mute); }
.dz-who bdi { color: var(--ink); font-weight: 700; overflow-wrap: anywhere; }
.dz-status { padding: 16px; border: 1.5px solid var(--line); border-radius: 18px; }
.dz-status p { margin: 0 0 8px; }
.dz-status p:last-child { margin-bottom: 0; }
.dz-st { display: flex; align-items: center; gap: 10px; font-family: var(--fd); font-weight: var(--wd); font-size: 19px; }
.dz-dot { flex: none; width: 11px; height: 11px; border-radius: 50%; background: var(--line); }
.dz-dot.good { background: #1A9C88; }
.dz-dot.warn { background: #E2A52B; }
.dz-dot.bad { background: #E5484D; }
.dz-done-h { margin: 0; }

/* ---------- footer */
.foot { margin-top: 64px; padding: 34px 0 44px; background: var(--cream2); }
.foot-links { display: flex; flex-wrap: wrap; gap: 6px 20px; margin-bottom: 14px; }
.foot-links a { color: var(--ink); font-weight: 800; text-decoration: none; padding: 6px 0; }
.foot-links a:hover { text-decoration: underline; }
.foot-note, .foot-c { color: var(--mute); font-size: 15px; }
.foot-h { font-size: 17px; margin: 18px 0 8px; }
.langs { list-style: none; margin: 0 0 18px; padding: 0; display: flex; flex-wrap: wrap; gap: 4px 16px; }
.langs a { color: var(--ink); text-decoration: none; display: inline-block; padding: 4px 0; font-size: 15px; }
.langs a:hover, .langs a[aria-current] { color: var(--link); text-decoration: underline; }

/* ---------- Emi */
.emi-rig { width: 100%; height: 100%; }
.emi-rig .dragon { position: relative; display: block; width: 100%; height: 100%; padding: 0; margin: 0; border: 0; background: none; cursor: pointer; -webkit-tap-highlight-color: transparent; }
.emi-rig svg { display: block; width: 100%; height: 100%; overflow: visible; }

/* ---------- the language chooser on the bare paths (/, /privacy, ...) */
.go body { visibility: hidden; }
.choose { max-width: 640px; padding: 48px 0; text-align: center; }
.choose .brand { margin-bottom: 18px; }
.choose h1 { font-size: 30px; }
.choose .langs { justify-content: center; gap: 8px; }
.choose .langs a { padding: 10px 16px; border-radius: 999px; background: var(--card); border: 1.5px solid var(--line); font-size: 17px; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* fonts (tools/site-build.ts) */
@font-face{font-family:"emi-ar";src:url(/assets/f/emi-ar-500-ef5948518e.woff) format("woff");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"emi-ar";src:url(/assets/f/emi-ar-800-8332dd3482.woff) format("woff");font-weight:800;font-style:normal;font-display:swap}
.l-ar{--ft:"emi-ar",system-ui,sans-serif;--fd:var(--ft);--lh:1.75;--lhd:1.45}
@font-face{font-family:"emi-en";src:url(/assets/f/emi-en-500-e37d8e4d87.woff) format("woff");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"emi-en";src:url(/assets/f/emi-en-800-d6be0776a9.woff) format("woff");font-weight:800;font-style:normal;font-display:swap}
.l-en{--ft:"emi-en",system-ui,sans-serif;--fd:var(--ft);--lh:1.6;--lhd:1.2}
@font-face{font-family:"emi-fr";src:url(/assets/f/emi-fr-500-d4cb807509.woff) format("woff");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"emi-fr";src:url(/assets/f/emi-fr-800-49ce2a0ea6.woff) format("woff");font-weight:800;font-style:normal;font-display:swap}
.l-fr{--ft:"emi-fr",system-ui,sans-serif;--fd:var(--ft);--lh:1.6;--lhd:1.2}
@font-face{font-family:"emi-es";src:url(/assets/f/emi-es-500-10ba59187e.woff) format("woff");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"emi-es";src:url(/assets/f/emi-es-800-076cc3a050.woff) format("woff");font-weight:800;font-style:normal;font-display:swap}
.l-es{--ft:"emi-es",system-ui,sans-serif;--fd:var(--ft);--lh:1.6;--lhd:1.2}
@font-face{font-family:"emi-de";src:url(/assets/f/emi-de-500-01403005bc.woff) format("woff");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"emi-de";src:url(/assets/f/emi-de-800-a481a91629.woff) format("woff");font-weight:800;font-style:normal;font-display:swap}
.l-de{--ft:"emi-de",system-ui,sans-serif;--fd:var(--ft);--lh:1.6;--lhd:1.2}
@font-face{font-family:"emi-it";src:url(/assets/f/emi-it-500-9f7a80526e.woff) format("woff");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"emi-it";src:url(/assets/f/emi-it-800-ac10f738b2.woff) format("woff");font-weight:800;font-style:normal;font-display:swap}
.l-it{--ft:"emi-it",system-ui,sans-serif;--fd:var(--ft);--lh:1.6;--lhd:1.2}
@font-face{font-family:"emi-pt";src:url(/assets/f/emi-pt-500-1203c59cae.woff) format("woff");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"emi-pt";src:url(/assets/f/emi-pt-800-8408ad9394.woff) format("woff");font-weight:800;font-style:normal;font-display:swap}
.l-pt{--ft:"emi-pt",system-ui,sans-serif;--fd:var(--ft);--lh:1.6;--lhd:1.2}
@font-face{font-family:"emi-nl";src:url(/assets/f/emi-nl-500-3537f24e45.woff) format("woff");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"emi-nl";src:url(/assets/f/emi-nl-800-ea7ccd69fa.woff) format("woff");font-weight:800;font-style:normal;font-display:swap}
.l-nl{--ft:"emi-nl",system-ui,sans-serif;--fd:var(--ft);--lh:1.6;--lhd:1.2}
@font-face{font-family:"emi-tr";src:url(/assets/f/emi-tr-500-8d5122ed58.woff) format("woff");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"emi-tr";src:url(/assets/f/emi-tr-800-7f129b6445.woff) format("woff");font-weight:800;font-style:normal;font-display:swap}
.l-tr{--ft:"emi-tr",system-ui,sans-serif;--fd:var(--ft);--lh:1.6;--lhd:1.2}
@font-face{font-family:"emi-ru";src:url(/assets/f/emi-ru-500-dcaad92642.woff) format("woff");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"emi-ru";src:url(/assets/f/emi-ru-800-026ca8b714.woff) format("woff");font-weight:800;font-style:normal;font-display:swap}
.l-ru{--ft:"emi-ru",system-ui,sans-serif;--fd:var(--ft);--lh:1.6;--lhd:1.25}
@font-face{font-family:"emi-el";src:url(/assets/f/emi-el-500-df22fd0898.woff) format("woff");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"emi-el";src:url(/assets/f/emi-el-800-654fc3d096.woff) format("woff");font-weight:800;font-style:normal;font-display:swap}
.l-el{--ft:"emi-el",system-ui,sans-serif;--fd:var(--ft);--lh:1.6;--lhd:1.25}
@font-face{font-family:"emi-hi";src:url(/assets/f/emi-hi-500-18aae473c0.woff) format("woff");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"emi-hi";src:url(/assets/f/emi-hi-800-76ac4e25c7.woff) format("woff");font-weight:800;font-style:normal;font-display:swap}
.l-hi{--ft:"emi-hi",system-ui,sans-serif;--fd:var(--ft);--lh:1.75;--lhd:1.4}
@font-face{font-family:"emi-zh";src:url(/assets/f/emi-zh-400-signs-6ac6c7d2da.woff) format("woff");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+2192}
@font-face{font-family:"emi-zh";src:url(/assets/f/emi-zh-400-b172a1e558.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}
.l-zh{--ft:"emi-zh",system-ui,sans-serif;--fd:var(--ft);--wt:400;--wd:400;--lh:1.8;--lhd:1.35;font-synthesis:none}
@font-face{font-family:"emi-ja";src:url(/assets/f/emi-ja-500-d3f641c99a.woff) format("woff");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"emi-ja";src:url(/assets/f/emi-ja-800-f35ca6baf1.woff) format("woff");font-weight:800;font-style:normal;font-display:swap}
.l-ja{--ft:"emi-ja",system-ui,sans-serif;--fd:var(--ft);--lh:1.75;--lhd:1.35}
@font-face{font-family:"emi-ko";src:url(/assets/f/emi-ko-400-signs-fbbac21fe8.woff) format("woff");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+A9,U+B7,U+2192}
@font-face{font-family:"emi-ko";src:url(/assets/f/emi-ko-400-14f0025801.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}
.l-ko{--ft:"emi-ko",system-ui,sans-serif;--fd:var(--ft);--wt:400;--wd:400;--lh:1.7;--lhd:1.35;font-synthesis:none}
@font-face{font-family:"emi-id";src:url(/assets/f/emi-id-500-c589b6c9fa.woff) format("woff");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"emi-id";src:url(/assets/f/emi-id-800-4ab509e989.woff) format("woff");font-weight:800;font-style:normal;font-display:swap}
.l-id{--ft:"emi-id",system-ui,sans-serif;--fd:var(--ft);--lh:1.6;--lhd:1.2}
@font-face{font-family:"emi-poly";src:url(/assets/f/emi-poly-baloo700-63388d58e4.woff) format("woff");font-weight:400 800;font-display:swap;unicode-range:U+21,U+30,U+31,U+32,U+33,U+34,U+35,U+36,U+37,U+38,U+39,U+42,U+43,U+44,U+45,U+48,U+49,U+4D,U+4E,U+4F,U+54,U+61,U+62,U+63,U+64,U+65,U+66,U+67,U+68,U+69,U+6A,U+6B,U+6C,U+6E,U+6F,U+70,U+72,U+73,U+74,U+75,U+A0,U+A1,U+E1,U+E7,U+EA,U+F1,U+FC,U+64B,U+924,U+926,U+928,U+92E,U+938,U+939,U+93F,U+940,U+947,U+94D}
@font-face{font-family:"emi-poly";src:url(/assets/f/emi-poly-mp700-98257b960d.woff) format("woff");font-weight:400 800;font-display:swap;unicode-range:U+393,U+3AC,U+3B1,U+3B5,U+3B7,U+3B9,U+3BA,U+3BB,U+3BD,U+3BF,U+3C3,U+3C5,U+41F,U+432,U+435,U+438,U+439,U+43A,U+440,U+441,U+442,U+443,U+3053,U+3061,U+306B,U+306F,U+3093,U+65E5,U+672C,U+8A9E,U+FF01}
@font-face{font-family:"emi-poly";src:url(/assets/f/emi-poly-bh700-15f07700c1.woff) format("woff");font-weight:400 800;font-display:swap;unicode-range:U+627,U+628,U+629,U+62D,U+631,U+639,U+644,U+645,U+64A}
@font-face{font-family:"emi-poly";src:url(/assets/f/emi-poly-zcool-ba05f1e956.woff) format("woff");font-weight:400 800;font-display:swap;unicode-range:U+4E2D,U+4F60,U+597D,U+6587}
@font-face{font-family:"emi-poly";src:url(/assets/f/emi-poly-jua-4bce9441ce.woff) format("woff");font-weight:400 800;font-display:swap;unicode-range:U+AD6D,U+B155,U+C138,U+C548,U+C5B4,U+C694,U+D558,U+D55C}
/* Emi: the prototype's rig rules (app/src/rig/data/rig.json) */
.d-pop,.d-rt{transform-origin:150px 300px}
.d-flip{transform-origin:150px 205px}
.d-hd{transform-origin:150px 198px}
.d-wl,.d-wsl{transform-origin:126px 212px}
.d-wr,.d-wsr{transform-origin:174px 212px}
.d-al{transform-origin:122px 226px}
.d-ar{transform-origin:178px 226px}
.d-t1{transform-origin:168px 270px}
.d-t2{transform-origin:228px 276px}
.d-fl{transform-origin:86px 124px}
.d-fr{transform-origin:214px 124px}
.d-sct{transform-origin:114px 200px}
.d-lidl{transform-origin:120px 112px}
.d-lidr{transform-origin:180px 112px}
.d-brl,.d-brr,.d-shadow,.d-br,.d-hic{transform-box:fill-box;transform-origin:center}
.d-sneeze{transform-origin:150px 172px}
.d-brl,.d-brr{transition:transform .35s cubic-bezier(.3,1.5,.5,1)}
.d-pup{transition:transform .25s ease-out}
.d-gog{transition:transform .35s cubic-bezier(.3,1.5,.5,1)}
.d-wsl,.d-wsr{transition:transform .5s cubic-bezier(.3,1.5,.5,1)}
.d-eh,.d-wink,.d-mo,.d-mg,.d-mos,.d-mw,.d-fx,.d-shell{display:none}
.d-eyes{animation:dBlinkE 7s infinite}
.d-ecl{opacity:0;animation:dBlinkC 7s infinite}
.dm-correct .d-ecl,.dm-celebrate .d-ecl,.dm-wrong .d-ecl{display:none}
.d-rt{animation:dBreath 3s ease-in-out infinite}
.d-shadow{animation:dShB 3s ease-in-out infinite}
.d-hd{animation:dHead 3s ease-in-out -2.6s infinite}
.d-t1{animation:dTail1 3s ease-in-out -2.3s infinite}
.d-t2{animation:dTail2 3s ease-in-out -1.8s infinite}
.d-wl{animation:dWingL 6s ease-in-out infinite}
.d-wr{animation:dWingR 6s ease-in-out infinite}
.d-al{animation:dArmL 3s ease-in-out -2.7s infinite}
.d-ar{animation:dArmR 3s ease-in-out -2.7s infinite}
.d-fl{animation:dFrL 5s ease-in-out infinite}
.d-fr{animation:dFrR 5s ease-in-out .3s infinite}
.d-lidl,.d-lidr{transform:scaleY(0);animation:dBlink 7s infinite}
.d-sct{animation:dScarf 1.4s ease-in-out infinite alternate}
.d-puff{animation:dPuff 5s ease-out infinite}
.d-puff2{animation-delay:.2s}
.sw-a .d-pop{animation:dPopA .5s cubic-bezier(.3,1.5,.5,1)}
.dm-happy .d-ar{animation:dWave 4.5s ease-in-out infinite}
.dm-happy .d-hd{animation:dHdWave 4.5s ease-in-out infinite}
.dm-happy .d-rt{animation:dRtWave 4.5s ease-in-out infinite}
.dm-happy.ia-look .d-pup{animation:dLook 1.9s ease-in-out}
.dm-happy.ia-look .d-hd{animation:dHdLook 1.9s ease-in-out}
.dm-happy.ia-look .d-ar,.dm-happy.ia-tail .d-ar{animation:none}
.dm-happy.ia-stretch .d-rt{animation:dStretch 1.9s ease-in-out}
.dm-happy.ia-stretch .d-wl{animation:dWStrL 1.9s ease-in-out}
.dm-happy.ia-stretch .d-wr{animation:dWStrR 1.9s ease-in-out}
.dm-happy.ia-stretch .d-al{animation:dAStrL 1.9s ease-in-out}
.dm-happy.ia-stretch .d-ar{animation:dAStrR 1.9s ease-in-out}
.dm-happy.ia-stretch .d-hd{animation:dHdStr 1.9s ease-in-out}
.dm-happy.ia-stretch .d-eyes,.dm-happy.ia-stretch .d-ms{animation:dOpHide 1.9s}
.dm-happy.ia-stretch .d-ecl{animation:dOpShow 1.9s}
.dm-happy.ia-stretch .d-mo{display:inline;animation:dOpShow 1.9s}
.dm-happy.ia-hiccup .d-rt{animation:dHic 1.9s ease-out}
.dm-happy.ia-hiccup .d-brl,.dm-happy.ia-hiccup .d-brr{animation:dBrHic 1.9s ease-out}
.dm-happy.ia-hiccup .d-ms{display:none}
.dm-happy.ia-hiccup .d-mos,.dm-happy.ia-hiccup .d-fx-hic{display:inline}
.d-hic1{animation:dHicA 1.9s ease-out}
.d-hic2{animation:dHicB 1.9s ease-out}
.dm-happy.ia-tail .d-pup{animation:dPupTail 1.9s ease-in-out}
.dm-happy.ia-tail .d-hd{animation:dHdTail 1.9s ease-in-out}
.dm-happy.ia-tail .d-t1{animation:dT1Fast .24s ease-in-out infinite alternate}
.dm-happy.ia-tail .d-t2{animation:dT2Fast .24s ease-in-out -.08s infinite alternate}
.dm-happy.ia-tail .d-ms{display:none}
.dm-happy.ia-tail .d-mg{display:inline}
.dm-correct .d-rt{animation:dJump 2.2s infinite}
.dm-correct .d-shadow{animation:dShJ 2.2s ease-in-out infinite}
.dm-correct .d-hd{animation:dHdJ 2.2s ease-in-out infinite}
.dm-correct .d-wl{animation:dWJL 2.2s ease-in-out infinite}
.dm-correct .d-wr{animation:dWJR 2.2s ease-in-out infinite}
.dm-correct .d-al{animation:dAJL 2.2s ease-in-out infinite}
.dm-correct .d-ar{animation:dAJR 2.2s ease-in-out infinite}
.dm-correct .d-t1{animation:dT1J 2.2s ease-in-out infinite}
.dm-correct .d-t2{animation:dT2J 2.2s ease-in-out infinite}
.dm-correct .d-fl{animation:dFJL 2.2s ease-in-out infinite}
.dm-correct .d-fr{animation:dFJR 2.2s ease-in-out infinite}
.dm-correct .d-eyes,.dm-correct .d-ms,.dm-celebrate .d-eyes,.dm-celebrate .d-ms{display:none}
.dm-correct .d-eh,.dm-correct .d-mo,.dm-correct .d-fx-breath,.dm-celebrate .d-eh,.dm-celebrate .d-mo,.dm-celebrate .d-fx-breath{display:inline}
.dm-correct .d-brl,.dm-correct .d-brr{transform:translateY(-6px)}
.d-br1{animation:dBr1 2.2s ease-out infinite}
.d-br2{animation:dBr2 2.2s ease-out infinite}
.d-br3{animation:dBr3 2.2s ease-out infinite}
.d-br4{animation:dBr4 2.2s ease-out infinite}
.d-br5{animation:dBr5 2.2s ease-out infinite}
.d-br6{animation:dBr6 2.2s ease-out infinite}
.dm-wrong .d-rt{animation:dRtW 3s ease-in-out infinite}
.dm-wrong .d-hd{animation:dHdW 3s ease-in-out infinite}
.dm-wrong .d-fl{animation:dFlW 3s ease-in-out infinite}
.dm-wrong .d-fr{animation:dFrW 3s ease-in-out infinite}
.dm-wrong .d-wl{animation:dWlW 3s ease-in-out infinite}
.dm-wrong .d-wr{animation:dWrW 3s ease-in-out infinite}
.dm-wrong .d-al{animation:dAlW 3s ease-in-out infinite}
.dm-wrong .d-ar{animation:dArW 3s ease-in-out infinite}
.dm-wrong .d-t1{animation:dT1W 3s ease-in-out infinite}
.dm-wrong .d-t2{animation:dT2W 3s ease-in-out infinite}
.dm-wrong .d-lidl,.dm-wrong .d-lidr{animation:dLidW 3s ease-in-out infinite}
.dm-wrong .d-pup{animation:dPupW 3s ease-in-out infinite}
.dm-wrong .d-brl{animation:dBrLW 3s ease-in-out infinite}
.dm-wrong .d-brr{animation:dBrRW 3s ease-in-out infinite}
.dm-wrong .d-mw{display:inline;animation:dOpA 3s infinite}
.dm-wrong .d-ms{animation:dOpB 3s infinite}
.dm-wrong .d-fx-cough{display:inline}
.d-cough{animation:dCough 3s ease-out infinite}
.d-cough2{animation-delay:.15s}
.dm-think .d-hd{animation:dHdT 3.2s ease-in-out infinite}
.dm-think .d-pup{animation:dPupT 3.2s ease-in-out infinite}
.dm-think .d-ar{animation:dTap .45s ease-in-out infinite alternate}
.dm-think .d-al{animation:none;transform:rotate(-40deg)}
.dm-think .d-brl{transform:translateY(-7px) rotate(-8deg)}
.dm-think .d-brr{transform:translateY(2px) rotate(4deg)}
.dm-think .d-ms{display:none}
.dm-think .d-mos{display:inline}
.dm-think .d-t2{animation:dT2T 3.2s ease-in-out infinite}
.dm-listen .d-rt{animation:dRtL 1.8s ease-in-out infinite}
.dm-listen .d-hd{animation:dHdL 1.8s ease-in-out infinite}
.dm-listen .d-fl{animation:dFrPL .3s ease-in-out infinite alternate}
.dm-listen .d-fr{animation:dFrPR .3s ease-in-out infinite alternate}
.dm-listen .d-al{animation:dAlL 1.8s ease-in-out infinite}
.dm-listen .d-brl,.dm-listen .d-brr{transform:translateY(-6px)}
.dm-listen .d-ms{display:none}
.dm-listen .d-mos{display:inline}
.dm-celebrate .d-rt{animation:dRtC 3.2s infinite}
.dm-celebrate .d-flip{animation:dFlip 3.2s infinite}
.dm-celebrate .d-shadow{animation:dShC 3.2s ease-in-out infinite}
.dm-celebrate .d-wl{animation:dWlC 3.2s ease-in-out infinite}
.dm-celebrate .d-wr{animation:dWrC 3.2s ease-in-out infinite}
.dm-celebrate .d-al{animation:dAlC 3.2s ease-in-out infinite}
.dm-celebrate .d-ar{animation:dArC 3.2s ease-in-out infinite}
.dm-celebrate .d-gog{animation:dGogC 3.2s ease-in-out infinite}
.dm-celebrate .d-t1{animation:dT1C 3.2s ease-in-out infinite}
.dm-celebrate .d-t2{animation:dT2C 3.2s ease-in-out infinite}
.dm-celebrate .d-br{animation-duration:3.2s}
.dm-dance .d-rt{animation:dDance .84s ease-in-out infinite}
.dm-dance .d-hd{animation:dHdD .84s ease-in-out infinite}
.dm-dance .d-al{animation:dAlD .42s ease-in-out infinite alternate}
.dm-dance .d-ar{animation:dArD .42s ease-in-out infinite alternate}
.dm-dance .d-t1{animation:dT1D .84s ease-in-out infinite}
.dm-dance .d-t2{animation:dT2D .84s ease-in-out -.1s infinite}
.dm-dance .d-wl{animation:dWlD .42s ease-in-out infinite alternate}
.dm-dance .d-wr{animation:dWrD .42s ease-in-out infinite alternate}
.dm-dance .d-gog{animation:dGogD 1.7s ease-in-out}
.dm-dance .d-eyer{animation:dWinkHide 1.7s ease-in-out}
.dm-dance .d-wink{display:inline;animation:dWinkShow 1.7s ease-in-out}
.dm-dance .d-ms{display:none}
.dm-dance .d-mg,.dm-dance .d-fx-sneeze{display:inline}
.d-sneeze{animation:dSneeze .84s ease-out infinite}
.dm-proud .d-fx-breath{display:inline}
.dm-proud .d-br{animation-duration:3.4s}
.dm-proud .d-mo{display:inline;animation:dOpProudA 3.4s infinite}
.dm-proud .d-ms{animation:dOpProudB 3.4s infinite}
.dragon.pop-in{animation:zDgPop .8s cubic-bezier(.3,1.6,.5,1) both}
.d-crown{display:none}
.d-crown{animation:zCrown 3.4s ease-in-out infinite;transform-origin:150px 80px}
.dm-wrong .d-lidl,.dm-wrong .d-lidr{animation:dLidW2 3s ease-in-out infinite}
.dm-wrong .d-brl{transform:translate(4px,6px) rotate(-14deg);transform-box:fill-box;transform-origin:center}
.dm-wrong .d-brr{transform:translate(-4px,6px) rotate(14deg);transform-box:fill-box;transform-origin:center}
.d-arm-o{fill:none;stroke:#0B6B5F;stroke-width:3.6;stroke-linecap:round;stroke-linejoin:round}
.d-arm{stroke:none}
.d-ln{fill:none;stroke:#0B6B5F;stroke-width:4.2;stroke-linecap:round;stroke-linejoin:round}
.d-lnd{fill:none;stroke:#1E1446;stroke-width:5.2;stroke-linecap:round;stroke-linejoin:round}
.d-bone{fill:none;stroke:#D2507F;stroke-width:2.4;stroke-linecap:round;opacity:.7}
.d-spk{stroke:#C9457A;stroke-width:3;stroke-linejoin:round}
.d-strap{fill:none;stroke:#5C3718;stroke-width:8}
.d-rim{fill:url(#emLens);stroke:#F4A62E;stroke-width:5.4}
.d-glint{fill:none;stroke:#FFFFFF;stroke-width:2.6;stroke-linecap:round}
.d-bridge{fill:none;stroke:#F4A62E;stroke-width:4.4;stroke-linecap:round}
.d-stripe{fill:none;stroke:#E8B24F;stroke-width:2.6;stroke-linecap:round;opacity:.75}
.d-brw{fill:none;stroke:#0B6B5F;stroke-width:4.6;stroke-linecap:round}
.d-lid{fill:url(#emLid);stroke:#0A4F47;stroke-width:2.8;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.d-tailf,.d-tailj{fill:#33C3AC}
.d-tailh{fill:none;stroke:#71E3D0;stroke-width:3;stroke-linecap:round}
.d-sct{transform-origin:118px 212px}
.d-zz{display:none}
.d-z{opacity:0;transform-box:fill-box;transform-origin:center;animation:emZz 2.7s ease-out infinite}
.d-z2{animation-delay:.9s}
.d-z3{animation-delay:1.8s}
.dm-correct .d-brl,.dm-correct .d-brr,.dm-listen .d-brl,.dm-listen .d-brr{transform:translateY(-4px)}
.dm-think .d-brl{transform:translateY(-4.5px) rotate(-8deg)}
.dm-dance .d-eyer,.dm-dance .d-wink{animation-fill-mode:both}
.d-pop,.d-rt{transform-origin:150px 300px}
.d-flip{transform-origin:150px 205px}
.d-hd{transform-origin:150px 198px}
.d-wl,.d-wsl{transform-origin:126px 212px}
.d-wr,.d-wsr{transform-origin:174px 212px}
.d-al{transform-origin:122px 226px}
.d-ar{transform-origin:178px 226px}
.d-t1{transform-origin:168px 270px}
.d-t2{transform-origin:228px 276px}
.d-fl{transform-origin:86px 124px}
.d-fr{transform-origin:214px 124px}
.d-sct{transform-origin:114px 200px}
.d-lidl{transform-origin:120px 112px}
.d-lidr{transform-origin:180px 112px}
.d-brl,.d-brr,.d-shadow,.d-br,.d-hic{transform-box:fill-box;transform-origin:center}
.d-sneeze{transform-origin:150px 172px}
.d-brl,.d-brr{transition:transform .35s cubic-bezier(.3,1.5,.5,1)}
.d-pup{transition:transform .25s ease-out}
.d-gog{transition:transform .35s cubic-bezier(.3,1.5,.5,1)}
.d-wsl,.d-wsr{transition:transform .5s cubic-bezier(.3,1.5,.5,1)}
.d-eh,.d-wink,.d-mo,.d-mg,.d-mos,.d-mw,.d-fx,.d-shell{display:none}
.d-eyes{animation:dBlinkE 7s infinite}
.d-ecl{opacity:0;animation:dBlinkC 7s infinite}
.d-rt{animation:dBreath 3s ease-in-out infinite}
.d-shadow{animation:dShB 3s ease-in-out infinite}
.d-hd{animation:dHead 3s ease-in-out -2.6s infinite}
.d-t1{animation:dTail1 3s ease-in-out -2.3s infinite}
.d-t2{animation:dTail2 3s ease-in-out -1.8s infinite}
.d-wl{animation:dWingL 6s ease-in-out infinite}
.d-wr{animation:dWingR 6s ease-in-out infinite}
.d-al{animation:dArmL 3s ease-in-out -2.7s infinite}
.d-ar{animation:dArmR 3s ease-in-out -2.7s infinite}
.d-fl{animation:dFrL 5s ease-in-out infinite}
.d-fr{animation:dFrR 5s ease-in-out .3s infinite}
.d-lidl,.d-lidr{transform:scaleY(0);animation:dBlink 7s infinite}
.d-sct{animation:dScarf 1.4s ease-in-out infinite alternate}
.d-puff{animation:dPuff 5s ease-out infinite}
.d-puff2{animation-delay:.2s}
.d-hic1{animation:dHicA 1.9s ease-out}
.d-hic2{animation:dHicB 1.9s ease-out}
.d-br1{animation:dBr1 2.2s ease-out infinite}
.d-br2{animation:dBr2 2.2s ease-out infinite}
.d-br3{animation:dBr3 2.2s ease-out infinite}
.d-br4{animation:dBr4 2.2s ease-out infinite}
.d-br5{animation:dBr5 2.2s ease-out infinite}
.d-br6{animation:dBr6 2.2s ease-out infinite}
.d-cough{animation:dCough 3s ease-out infinite}
.d-cough2{animation-delay:.15s}
.d-sneeze{animation:dSneeze .84s ease-out infinite}
.me-av svg{width:100%;height:100%}
.d-crown{display:none}
.d-crown{animation:zCrown 3.4s ease-in-out infinite;transform-origin:150px 80px}
.d-arm-o{fill:none;stroke:#0B6B5F;stroke-width:3.6;stroke-linecap:round;stroke-linejoin:round}
.d-arm{stroke:none}
.d-ln{fill:none;stroke:#0B6B5F;stroke-width:4.2;stroke-linecap:round;stroke-linejoin:round}
.d-lnd{fill:none;stroke:#1E1446;stroke-width:5.2;stroke-linecap:round;stroke-linejoin:round}
.d-bone{fill:none;stroke:#D2507F;stroke-width:2.4;stroke-linecap:round;opacity:.7}
.d-spk{stroke:#C9457A;stroke-width:3;stroke-linejoin:round}
.d-strap{fill:none;stroke:#5C3718;stroke-width:8}
.d-rim{fill:url(#emLens);stroke:#F4A62E;stroke-width:5.4}
.d-glint{fill:none;stroke:#FFFFFF;stroke-width:2.6;stroke-linecap:round}
.d-bridge{fill:none;stroke:#F4A62E;stroke-width:4.4;stroke-linecap:round}
.d-stripe{fill:none;stroke:#E8B24F;stroke-width:2.6;stroke-linecap:round;opacity:.75}
.d-brw{fill:none;stroke:#0B6B5F;stroke-width:4.6;stroke-linecap:round}
.d-lid{fill:url(#emLid);stroke:#0A4F47;stroke-width:2.8;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.d-tailf,.d-tailj{fill:#33C3AC}
.d-tailh{fill:none;stroke:#71E3D0;stroke-width:3;stroke-linecap:round}
.d-sct{transform-origin:118px 212px}
.d-zz{display:none}
.d-z{opacity:0;transform-box:fill-box;transform-origin:center;animation:emZz 2.7s ease-out infinite}
.d-z2{animation-delay:.9s}
.d-z3{animation-delay:1.8s}
.me-av .d-wl,.me-av .d-wr,.me-av .d-al,.me-av .d-ar,.me-av .d-t1,.me-av .d-foot,.me-av .d-shadow,.me-av .d-sct,.me-av .d-knot{display:none}
@keyframes dAJL{0%,80%,100%{transform:rotate(0)}10%{transform:rotate(-24deg)}22%,48%{transform:rotate(112deg)}56%{transform:rotate(50deg)}66%{transform:rotate(-10deg)}}
@keyframes dAJR{0%,80%,100%{transform:rotate(0)}10%{transform:rotate(24deg)}22%,48%{transform:rotate(-112deg)}56%{transform:rotate(-50deg)}66%{transform:rotate(10deg)}}
@keyframes dAStrL{0%,100%{transform:rotate(0)}25%,55%{transform:rotate(125deg)}72%{transform:rotate(-6deg)}}
@keyframes dAStrR{0%,100%{transform:rotate(0)}25%,55%{transform:rotate(-125deg)}72%{transform:rotate(6deg)}}
@keyframes dAlC{0%,100%{transform:rotate(0)}8%{transform:rotate(-20deg)}18%,74%{transform:rotate(112deg)}84%{transform:rotate(40deg)}92%{transform:rotate(0)}}
@keyframes dAlD{0%{transform:rotate(10deg)}100%{transform:rotate(108deg)}}
@keyframes dAlL{0%,100%{transform:rotate(114deg)}50%{transform:rotate(122deg)}}
@keyframes dAlW{0%,100%{transform:rotate(0)}6%{transform:rotate(55deg)}18%,64%{transform:rotate(-8deg)}72%{transform:rotate(0)}}
@keyframes dArC{0%,100%{transform:rotate(0)}8%{transform:rotate(20deg)}18%,74%{transform:rotate(-112deg)}84%{transform:rotate(-40deg)}92%{transform:rotate(0)}}
@keyframes dArD{0%{transform:rotate(-108deg)}100%{transform:rotate(-10deg)}}
@keyframes dArW{0%,100%{transform:rotate(0)}6%{transform:rotate(-55deg)}18%,64%{transform:rotate(8deg)}72%{transform:rotate(-108deg)}78%{transform:rotate(-86deg)}84%{transform:rotate(-108deg)}94%{transform:rotate(0)}}
@keyframes dArmL{0%,100%{transform:rotate(0)}50%{transform:rotate(7deg)}}
@keyframes dArmR{0%,100%{transform:rotate(0)}50%{transform:rotate(-7deg)}}
@keyframes dBlink{0%,40%,44%,88%,92%,95%,100%{transform:scaleY(0)}42%,90%,93.5%{transform:scaleY(1)}}
@keyframes dBlinkC{0%,41.5%,42.5%,89.5%,90.5%,93%,94%,100%{opacity:0}41.6%,42.4%,89.6%,90.4%,93.1%,93.9%{opacity:1}}
@keyframes dBlinkE{0%,41.5%,42.5%,89.5%,90.5%,93%,94%,100%{opacity:1}41.6%,42.4%,89.6%,90.4%,93.1%,93.9%{opacity:0}}
@keyframes dBr1{0%,28%{transform:translate(0,0) scale(.3);opacity:0}31%{opacity:1}60%,100%{transform:translate(-16px,-22px) scale(1.3);opacity:0}}
@keyframes dBr2{0%,30%{transform:translate(0,0) scale(.3);opacity:0}33%{opacity:1}62%,100%{transform:translate(-8px,-24px) scale(1.1);opacity:0}}
@keyframes dBr3{0%,32%{transform:translate(0,0) scale(.3);opacity:0}35%{opacity:1}64%,100%{transform:translate(8px,-24px) scale(1.4);opacity:0}}
@keyframes dBr4{0%,34%{transform:translate(0,0) scale(.3);opacity:0}37%{opacity:1}66%,100%{transform:translate(16px,-22px) scale(1.2);opacity:0}}
@keyframes dBr5{0%,36%{transform:translate(0,0) scale(.3);opacity:0}39%{opacity:1}68%,100%{transform:translate(22px,-8px) scale(1);opacity:0}}
@keyframes dBr6{0%,38%{transform:translate(0,0) scale(.3);opacity:0}41%{opacity:1}70%,100%{transform:translate(-22px,-8px) scale(1.1);opacity:0}}
@keyframes dBrHic{0%,24%,50%,72%,100%{transform:translateY(0)}10%,58%{transform:translateY(-5px)}}
@keyframes dBrLW{0%,100%{transform:rotate(0) translateY(0)}18%,64%{transform:rotate(-16deg) translateY(2px)}74%,92%{transform:rotate(12deg) translateY(1px)}}
@keyframes dBrRW{0%,100%{transform:rotate(0) translateY(0)}18%,64%{transform:rotate(16deg) translateY(2px)}74%,92%{transform:rotate(-12deg) translateY(1px)}}
@keyframes dBreath{0%,100%{transform:translate(0,0) scale(1,1)}50%{transform:translate(0,-3px) scale(.985,1.02)}}
@keyframes dCough{0%,6%{transform:translate(0,0) scale(.3);opacity:0}10%{opacity:.9}34%,100%{transform:translate(-30px,-34px) scale(1.6);opacity:0}}
@keyframes dDance{0%,50%,100%{transform:translate(0,0) rotate(0) scale(1.06,.94)}25%{transform:translate(-8px,-18px) rotate(-9deg) scale(.97,1.04)}75%{transform:translate(8px,-18px) rotate(9deg) scale(.97,1.04)}}
@keyframes dFJL{0%,78%,100%{transform:rotate(0)}22%,46%{transform:rotate(16deg)}54%{transform:rotate(-12deg)}64%{transform:rotate(4deg)}}
@keyframes dFJR{0%,78%,100%{transform:rotate(0)}22%,46%{transform:rotate(-16deg)}54%{transform:rotate(12deg)}64%{transform:rotate(-4deg)}}
@keyframes dFlW{0%,88%,100%{transform:rotate(0)}6%{transform:rotate(12deg)}18%,64%{transform:rotate(-34deg)}76%{transform:rotate(8deg)}}
@keyframes dFlip{0%,30%{transform:rotate(0);animation-timing-function:cubic-bezier(.5,0,.3,1)}54%,100%{transform:rotate(-360deg)}}
@keyframes dFrL{0%,84%,100%{transform:rotate(0)}88%{transform:rotate(-16deg)}92%{transform:rotate(6deg)}96%{transform:rotate(0)}}
@keyframes dFrPL{0%{transform:rotate(6deg)}100%{transform:rotate(20deg)}}
@keyframes dFrPR{0%{transform:rotate(-6deg)}100%{transform:rotate(-20deg)}}
@keyframes dFrR{0%,84%,100%{transform:rotate(0)}88%{transform:rotate(16deg)}92%{transform:rotate(-6deg)}96%{transform:rotate(0)}}
@keyframes dFrW{0%,88%,100%{transform:rotate(0)}6%{transform:rotate(-12deg)}18%,64%{transform:rotate(34deg)}76%{transform:rotate(-8deg)}}
@keyframes dGogC{0%,14%,100%{transform:translateY(0)}20%,80%{transform:translateY(54px)}88%{transform:translateY(-4px)}}
@keyframes dGogD{0%,6%,50%,100%{transform:translateY(0)}16%,40%{transform:translateY(54px)}}
@keyframes dHdD{0%,50%,100%{transform:rotate(0) translateY(3px)}25%{transform:rotate(9deg) translateY(0)}75%{transform:rotate(-9deg) translateY(0)}}
@keyframes dHdJ{0%,78%,100%{transform:rotate(0) translateY(0)}10%{transform:rotate(0) translateY(7px)}22%{transform:rotate(-5deg) translateY(-3px)}34%{transform:rotate(4deg) translateY(0)}54%{transform:rotate(0) translateY(6px)}62%{transform:rotate(-2deg) translateY(-2px)}}
@keyframes dHdL{0%,100%{transform:rotate(9deg) translateY(0)}50%{transform:rotate(12deg) translateY(-2px)}}
@keyframes dHdLook{0%,100%{transform:rotate(0)}15%,40%{transform:rotate(-7deg)}55%,82%{transform:rotate(7deg)}}
@keyframes dHdStr{0%,100%{transform:rotate(0) translateY(0)}25%,55%{transform:rotate(-3deg) translateY(-6px)}70%{transform:translateY(3px)}}
@keyframes dHdT{0%,100%{transform:rotate(-7deg) translateY(0)}50%{transform:rotate(-10deg) translateY(-2px)}}
@keyframes dHdTail{0%,100%{transform:rotate(0)}15%,85%{transform:rotate(11deg)}}
@keyframes dHdW{0%,90%,100%{transform:rotate(0) translateY(0)}6%{transform:rotate(-6deg) translateY(-4px)}16%,44%{transform:rotate(7deg) translateY(9px)}50%{transform:rotate(-7deg) translateY(8px)}55%{transform:rotate(7deg) translateY(8px)}60%{transform:rotate(-5deg) translateY(7px)}66%{transform:rotate(3deg) translateY(4px)}76%{transform:rotate(-2deg) translateY(-2px)}}
@keyframes dHdWave{0%,48%,100%{transform:rotate(-1deg) translateY(0)}8%,34%{transform:rotate(7deg) translateY(-2px)}20%{transform:rotate(5deg) translateY(-2px)}}
@keyframes dHead{0%,100%{transform:rotate(-2deg) translateY(0)}50%{transform:rotate(2deg) translateY(-2px)}}
@keyframes dHic{0%,24%,50%,72%,100%{transform:translate(0,0) scale(1,1)}10%,58%{transform:translate(0,-13px) scale(.95,1.06)}18%,66%{transform:translate(0,0) scale(1.05,.95)}}
@keyframes dHicA{0%,8%{transform:translate(0,0) scale(0);opacity:0}12%{transform:translate(0,-4px) scale(1);opacity:1}34%,100%{transform:translate(-10px,-22px) scale(.6);opacity:0}}
@keyframes dHicB{0%,56%{transform:translate(0,0) scale(0);opacity:0}60%{transform:translate(0,-4px) scale(1);opacity:1}82%,100%{transform:translate(10px,-22px) scale(.6);opacity:0}}
@keyframes dJump{0%{transform:translate(0,0) scale(1,1);animation-timing-function:ease-out}10%{transform:translate(0,6px) scale(1.15,.84);animation-timing-function:cubic-bezier(.2,.8,.4,1)}22%{transform:translate(0,-60px) scale(.9,1.12);animation-timing-function:ease-out}34%{transform:translate(0,-78px) scale(1.02,.98);animation-timing-function:ease-in}46%{transform:translate(0,-42px) scale(.96,1.05);animation-timing-function:cubic-bezier(.6,0,.9,.5)}54%{transform:translate(0,0) scale(1.16,.82);animation-timing-function:ease-out}62%{transform:translate(0,-10px) scale(.97,1.04);animation-timing-function:ease-in-out}70%{transform:translate(0,0) scale(1.03,.97)}78%,100%{transform:translate(0,0) scale(1,1)}}
@keyframes dLidW{0%,4%,12%,72%,100%{transform:scaleY(0)}8%{transform:scaleY(1)}20%,62%{transform:scaleY(.38)}}
@keyframes dLidW2{0%,6%,12%,56%,62%,100%{transform:scaleY(0)}9%,59%{transform:scaleY(1)}}
@keyframes dLook{0%,100%{transform:translate(0,0)}15%,40%{transform:translate(-7px,-2px)}55%,82%{transform:translate(7px,-2px)}}
@keyframes dOpA{0%,68%{opacity:1}72%,100%{opacity:0}}
@keyframes dOpB{0%,68%{opacity:0}72%,100%{opacity:1}}
@keyframes dOpHide{0%,18%,64%,100%{opacity:1}24%,58%{opacity:0}}
@keyframes dOpProudA{0%,24%,72%,100%{opacity:0}28%,68%{opacity:1}}
@keyframes dOpProudB{0%,24%,72%,100%{opacity:1}28%,68%{opacity:0}}
@keyframes dOpShow{0%,18%,64%,100%{opacity:0}24%,58%{opacity:1}}
@keyframes dPopA{0%{transform:scale(1.1,.88)}45%{transform:scale(.95,1.06)}75%{transform:scale(1.02,.98)}100%{transform:scale(1,1)}}
@keyframes dPuff{0%,80%{transform:translate(0,0) scale(.3);opacity:0}85%{opacity:.8}100%{transform:translate(0,-30px) scale(1.4);opacity:0}}
@keyframes dPupT{0%,40%,100%{transform:translate(6px,-7px)}50%,85%{transform:translate(-3px,-8px)}}
@keyframes dPupTail{0%,100%{transform:translate(0,0)}15%,85%{transform:translate(7px,7px)}}
@keyframes dPupW{0%,100%{transform:translate(0,0)}18%,64%{transform:translate(-2px,5px)}76%{transform:translate(0,-2px)}}
@keyframes dRtC{0%{transform:translate(0,0) scale(1,1);animation-timing-function:ease-out}8%{transform:translate(0,6px) scale(1.16,.82);animation-timing-function:cubic-bezier(.2,.8,.4,1)}20%{transform:translate(0,-84px) scale(.92,1.1);animation-timing-function:ease-out}30%{transform:translate(0,-100px) scale(1,1);animation-timing-function:ease-in-out}52%{transform:translate(0,-106px) scale(1,1);animation-timing-function:ease-in-out}63%{transform:translate(0,-90px) scale(1,1);animation-timing-function:ease-in-out}72%{transform:translate(0,-98px) scale(1,1);animation-timing-function:cubic-bezier(.6,0,.9,.5)}82%{transform:translate(0,0) scale(1.16,.82);animation-timing-function:ease-out}90%{transform:translate(0,-10px) scale(.97,1.04);animation-timing-function:ease-in-out}100%{transform:translate(0,0) scale(1,1)}}
@keyframes dRtL{0%,100%{transform:rotate(-2deg) scale(1,1)}50%{transform:rotate(-3deg) translateY(-3px) scale(.99,1.02)}}
@keyframes dRtW{0%,92%,100%{transform:translate(0,0) rotate(0) scale(1,1)}6%{transform:translate(0,-6px) rotate(-3deg) scale(.96,1.05)}16%,62%{transform:translate(0,4px) rotate(0) scale(1.07,.91)}76%{transform:translate(0,-4px) rotate(0) scale(.98,1.03)}84%{transform:translate(0,0) rotate(0) scale(1.02,.98)}}
@keyframes dRtWave{0%,48%,100%{transform:rotate(0) scale(1,1)}4%{transform:rotate(-1deg) scale(1.03,.97)}10%,34%{transform:rotate(2.5deg) scale(.99,1.015)}42%{transform:rotate(-1deg) scale(1.01,.99)}}
@keyframes dScarf{0%{transform:rotate(-4deg) skewY(0)}100%{transform:rotate(10deg) skewY(-5deg)}}
@keyframes dShB{0%,100%{transform:scale(1)}50%{transform:scale(.96)}}
@keyframes dShC{0%,82%,100%{transform:scale(1);opacity:.45}8%{transform:scale(1.12);opacity:.45}20%,72%{transform:scale(.45);opacity:.15}}
@keyframes dShJ{0%,78%,100%{transform:scale(1);opacity:.45}10%,54%{transform:scale(1.12);opacity:.45}34%{transform:scale(.5);opacity:.15}}
@keyframes dSneeze{0%{transform:scale(1);opacity:0}30%{opacity:1}100%{transform:scale(1.22);opacity:0}}
@keyframes dStretch{0%,100%{transform:scale(1,1)}25%,55%{transform:translate(0,-5px) scale(.94,1.08)}70%{transform:scale(1.05,.95)}85%{transform:scale(.99,1.01)}}
@keyframes dT1C{0%,100%{transform:rotate(0)}8%{transform:rotate(14deg)}20%{transform:rotate(-26deg)}50%{transform:rotate(20deg)}72%{transform:rotate(-14deg)}82%{transform:rotate(18deg)}92%{transform:rotate(-4deg)}}
@keyframes dT1D{0%,50%,100%{transform:rotate(0)}25%{transform:rotate(18deg)}75%{transform:rotate(-18deg)}}
@keyframes dT1Fast{0%{transform:rotate(-12deg)}100%{transform:rotate(14deg)}}
@keyframes dT1J{0%,80%,100%{transform:rotate(0)}10%{transform:rotate(12deg)}24%{transform:rotate(-22deg)}40%{transform:rotate(-10deg)}54%{transform:rotate(16deg)}66%{transform:rotate(-6deg)}}
@keyframes dT1W{0%,90%,100%{transform:rotate(0)}18%,64%{transform:rotate(20deg)}}
@keyframes dT2C{0%,100%{transform:rotate(0)}12%{transform:rotate(20deg)}24%{transform:rotate(-34deg)}54%{transform:rotate(28deg)}76%{transform:rotate(-20deg)}86%{transform:rotate(24deg)}95%{transform:rotate(-6deg)}}
@keyframes dT2D{0%,50%,100%{transform:rotate(0)}25%{transform:rotate(28deg)}75%{transform:rotate(-28deg)}}
@keyframes dT2Fast{0%{transform:rotate(-24deg)}100%{transform:rotate(24deg)}}
@keyframes dT2J{0%,84%,100%{transform:rotate(0)}14%{transform:rotate(18deg)}28%{transform:rotate(-30deg)}44%{transform:rotate(-14deg)}58%{transform:rotate(24deg)}70%{transform:rotate(-10deg)}}
@keyframes dT2T{0%,100%{transform:rotate(-22deg)}50%{transform:rotate(12deg)}}
@keyframes dT2W{0%,92%,100%{transform:rotate(0)}20%,66%{transform:rotate(28deg)}}
@keyframes dTail1{0%,100%{transform:rotate(-6deg)}50%{transform:rotate(7deg)}}
@keyframes dTail2{0%,100%{transform:rotate(-14deg)}50%{transform:rotate(14deg)}}
@keyframes dTap{0%{transform:rotate(-161deg)}100%{transform:rotate(-171deg)}}
@keyframes dWJL{0%,78%,100%{transform:rotate(0)}10%{transform:rotate(-12deg)}20%{transform:rotate(40deg)}26%{transform:rotate(8deg)}32%{transform:rotate(42deg)}38%{transform:rotate(10deg)}46%{transform:rotate(30deg)}54%{transform:rotate(-8deg)}64%{transform:rotate(6deg)}}
@keyframes dWJR{0%,78%,100%{transform:rotate(0)}10%{transform:rotate(12deg)}20%{transform:rotate(-40deg)}26%{transform:rotate(-8deg)}32%{transform:rotate(-42deg)}38%{transform:rotate(-10deg)}46%{transform:rotate(-30deg)}54%{transform:rotate(8deg)}64%{transform:rotate(-6deg)}}
@keyframes dWStrL{0%,100%{transform:rotate(0)}25%,55%{transform:rotate(46deg)}70%{transform:rotate(-4deg)}}
@keyframes dWStrR{0%,100%{transform:rotate(0)}25%,55%{transform:rotate(-46deg)}70%{transform:rotate(4deg)}}
@keyframes dWave{0%,48%,100%{transform:rotate(0)}4%{transform:rotate(10deg)}10%{transform:rotate(-124deg)}15%{transform:rotate(-92deg)}20%{transform:rotate(-124deg)}25%{transform:rotate(-92deg)}30%{transform:rotate(-124deg)}36%{transform:rotate(-100deg)}43%{transform:rotate(8deg)}}
@keyframes dWingL{0%,40%,70%,100%{transform:rotate(0)}20%,55%{transform:rotate(6deg)}74%{transform:rotate(26deg)}78%{transform:rotate(-2deg)}82%{transform:rotate(24deg)}88%{transform:rotate(0)}}
@keyframes dWingR{0%,40%,70%,100%{transform:rotate(0)}20%,55%{transform:rotate(-6deg)}74%{transform:rotate(-26deg)}78%{transform:rotate(2deg)}82%{transform:rotate(-24deg)}88%{transform:rotate(0)}}
@keyframes dWinkHide{0%,58%,80%,100%{opacity:1}62%,76%{opacity:0}}
@keyframes dWinkShow{0%,58%,80%,100%{opacity:0}62%,76%{opacity:1}}
@keyframes dWlC{0%,100%{transform:rotate(0)}8%{transform:rotate(-14deg)}14%,26%,38%,50%,62%{transform:rotate(40deg)}20%,32%,44%,56%,68%{transform:rotate(-6deg)}74%{transform:rotate(36deg)}82%{transform:rotate(-10deg)}90%{transform:rotate(4deg)}}
@keyframes dWlD{0%{transform:rotate(0)}100%{transform:rotate(30deg)}}
@keyframes dWlW{0%,88%,100%{transform:rotate(0)}6%{transform:rotate(16deg)}18%,64%{transform:rotate(-14deg)}76%{transform:rotate(12deg)}}
@keyframes dWrC{0%,100%{transform:rotate(0)}8%{transform:rotate(14deg)}14%,26%,38%,50%,62%{transform:rotate(-40deg)}20%,32%,44%,56%,68%{transform:rotate(6deg)}74%{transform:rotate(-36deg)}82%{transform:rotate(10deg)}90%{transform:rotate(-4deg)}}
@keyframes dWrD{0%{transform:rotate(0)}100%{transform:rotate(-30deg)}}
@keyframes dWrW{0%,88%,100%{transform:rotate(0)}6%{transform:rotate(-16deg)}18%,64%{transform:rotate(14deg)}76%{transform:rotate(-12deg)}}
@keyframes emZz{0%{transform:translate(0,0) scale(.6);opacity:0}25%{opacity:1}100%{transform:translate(10px,-26px) scale(1.15);opacity:0}}
@keyframes zCrown{0%,100%{transform:rotate(-5deg)}50%{transform:rotate(-1deg) translateY(-1.5px)}}
@keyframes zDgPop{0%{transform:translateY(80px) scale(.3);opacity:0}100%{transform:none;opacity:1}}