.anchor.svelte-wkrvsv {scroll-margin-top:24px;}.hero.svelte-wkrvsv {display:grid;grid-template-columns:minmax(0, 1fr) minmax(0, 1.08fr);align-items:center;gap:clamp(40px, 6vw, 96px);min-height:min(860px, calc(100dvh - 76px));padding-block:48px 96px;}.copy.svelte-wkrvsv {display:grid;gap:28px;max-width:36rem;}h1.svelte-wkrvsv {font-family:var(--font-display);font-size:var(--text-display);font-weight:500;line-height:1.02;letter-spacing:-0.04em;text-wrap:balance;}

  /* light flows slowly through the one word that matters */.ink.svelte-wkrvsv {background:linear-gradient(
      100deg,
      var(--lilac) 0%,
      #fff 22%,
      var(--blush) 44%,
      #c98bff 66%,
      var(--lilac) 88%,
      #fff 100%
    );background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;
    animation: svelte-wkrvsv-flow 9s var(--ease-in-out) infinite alternate;}

  @keyframes svelte-wkrvsv-flow {
    from {
      background-position: 0% 50%;
    }
    to {
      background-position: 100% 50%;
    }
  }.lead.svelte-wkrvsv {font-size:var(--text-lead);line-height:1.6;color:var(--text-2);text-wrap:pretty;}.ctas.svelte-wkrvsv {display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:8px;}.arrow.svelte-wkrvsv {width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}.note.svelte-wkrvsv {margin-top:-12px;font-size:var(--text-small);color:var(--muted);}.table.svelte-wkrvsv {position:relative;display:grid;justify-items:center;}.table.svelte-wkrvsv .demo-island {width:100%;}

  /* a note in the owner's hand, pointing at the card */.try.svelte-wkrvsv {position:absolute;top:-58px;left:-6px;display:flex;align-items:flex-start;gap:2px;font-family:var(--font-hand);font-size:1.375rem;color:var(--blush);rotate:-4deg;opacity:0.85;pointer-events:none;}.try.svelte-wkrvsv svg:where(.svelte-wkrvsv) {width:64px;height:38px;margin-top:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}

  @media (max-width: 1080px) {.hero.svelte-wkrvsv {grid-template-columns:minmax(0, 1fr);min-height:0;padding-block:32px 72px;}.try.svelte-wkrvsv {display:none;}
  }

  @media (max-width: 560px) {.ctas.svelte-wkrvsv {display:grid;justify-items:stretch;}.ctas.svelte-wkrvsv .action {width:100%;}.note.svelte-wkrvsv {margin-top:-16px;text-align:center;}
  }
.skip.svelte-r3lj0e {position:absolute;top:12px;left:12px;z-index:10;padding:10px 16px;border-radius:999px;background:var(--text);color:var(--bg);font-weight:600;transform:translateY(-200%);}.skip.svelte-r3lj0e:focus-visible {transform:none;}

  /* A quiet night behind the top of the page: two layers of the same stars at different scales,
     a little violet light, fainter behind the words on the left, gone before what follows. */.sky.svelte-r3lj0e {position:absolute;inset:0 0 auto;z-index:-1;pointer-events:none;background:radial-gradient(50% 40% at 72% 38%, var(--glow), transparent 70%),
      radial-gradient(30% 30% at 88% 70%, var(--glow-pink), transparent 70%),
      url('/stars.png') 0 0 / 768px 768px,
      url('/stars.png') 211px 97px / 1180px 1180px;-webkit-mask-image:linear-gradient(90deg, rgb(0 0 0 / 0.35) 0%, rgb(0 0 0 / 0.5) 38%, #000 62%),
      linear-gradient(180deg, #000 55%, transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg, rgb(0 0 0 / 0.35) 0%, rgb(0 0 0 / 0.5) 38%, #000 62%),
      linear-gradient(180deg, #000 55%, transparent);mask-composite:intersect;}.sky.full.svelte-r3lj0e {height:min(1400px, 160vh);}.sky.quiet.svelte-r3lj0e {height:560px;opacity:0.6;}main.svelte-r3lj0e {width:var(--page);margin-inline:auto;}.stale.svelte-r3lj0e {position:fixed;inset:auto 16px 16px;z-index:20;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px;max-width:32rem;margin-inline:auto;padding:14px 14px 14px 20px;border-radius:16px;background:#1a1820;box-shadow:inset 0 0 0 1px rgb(255 255 255 / 0.08),
      0 20px 50px -20px rgb(0 0 0 / 0.9);}.stale[hidden].svelte-r3lj0e {display:none;}.stale.svelte-r3lj0e button:where(.svelte-r3lj0e) {padding:8px 16px;border-radius:999px;font-weight:600;color:var(--bg);background:var(--text);}
.header.svelte-14sm5sv {display:flex;align-items:center;gap:32px;width:var(--page);height:76px;margin-inline:auto;}.brand.svelte-14sm5sv {display:inline-flex;align-items:center;gap:11px;border-radius:10px;}.name.svelte-14sm5sv {font-family:var(--font-display);font-size:1.0625rem;font-weight:300;letter-spacing:-0.01em;white-space:nowrap;color:var(--text-2);}.name.svelte-14sm5sv b:where(.svelte-14sm5sv) {font-weight:600;color:var(--text);}nav.svelte-14sm5sv {display:flex;gap:4px;margin-inline-start:auto;}nav.svelte-14sm5sv a:where(.svelte-14sm5sv) {padding:8px 12px;border-radius:999px;font-size:0.875rem;font-weight:500;color:var(--text-2);transition:color var(--t-quick) var(--ease-out),
      background-color var(--t-quick) var(--ease-out);}nav.svelte-14sm5sv a:where(.svelte-14sm5sv):hover {color:var(--text);background:var(--fill-1);}.actions.svelte-14sm5sv {display:flex;align-items:center;gap:8px;}

  /* the glyph's ink, not its empty grid, on the link's padding */.actions.svelte-14sm5sv .account .icon {margin-inline-start:calc(-1 * var(--ink-inset));}

  @media (max-width: 640px) {nav.svelte-14sm5sv {display:none;}.actions.svelte-14sm5sv {margin-inline-start:auto;}
  }

  /* With the account link, the nav needs a wider screen to fit beside it. Below that, the link is
     its glyph alone, a round key as tall as the download, still named by its word for whoever
     reads the page out. */
  @media (max-width: 720px) {.accounts.svelte-14sm5sv {gap:16px;}.accounts.svelte-14sm5sv nav:where(.svelte-14sm5sv) {display:none;}.accounts.svelte-14sm5sv .actions:where(.svelte-14sm5sv) {margin-inline-start:auto;}

    /* with no hover to light it on a phone, a faint key, so it reads as one beside the download */.actions.svelte-14sm5sv .account {width:40px;padding:0;background:var(--fill-1);}.actions.svelte-14sm5sv .account .icon {margin:0;}.word.svelte-14sm5sv {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}
  }

  /* the narrowest phones: the mark alone leads home */
  @media (max-width: 350px) {.accounts.svelte-14sm5sv .name:where(.svelte-14sm5sv) {display:none;}
  }
.mark.svelte-2ioo1t {position:relative;display:inline-block;flex:none;}svg.svelte-2ioo1t {display:block;overflow:visible;}

  /* the spark layers sit exactly over the mark and turn about the spark's own centre */.spark.svelte-2ioo1t {position:absolute;inset:0;width:100%;height:100%;transform-origin:78.125% 26.5625%;
    animation: svelte-2ioo1t-twinkle 7s var(--ease-in-out) infinite 2.4s;}.flash.svelte-2ioo1t {opacity:0;
    animation:
      svelte-2ioo1t-twinkle 7s var(--ease-in-out) infinite 2.4s,
      svelte-2ioo1t-flash 7s var(--ease-in-out) infinite 2.4s;}

  /* Every few seconds the spark catches the light: a quarter turn and a brief swell. A quarter turn
     leaves the four-pointed spark as it was, so the loop restarts without a visible jump. */
  @keyframes svelte-2ioo1t-twinkle {
    0%,
    78% {
      transform: rotate(0deg) scale(1);
    }
    86% {
      transform: rotate(45deg) scale(1.28);
    }
    94%,
    100% {
      transform: rotate(90deg) scale(1);
    }
  }

  @keyframes svelte-2ioo1t-flash {
    0%,
    78%,
    94%,
    100% {
      opacity: 0;
    }
    86% {
      opacity: 0.9;
    }
  }

  @media (prefers-reduced-motion: reduce) {.spark.svelte-2ioo1t {
      animation: none !important;}.flash.svelte-2ioo1t {display:none;}
  }
.action.svelte-1900lby {position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;font-weight:600;white-space:nowrap;transition:transform var(--t-press) var(--ease-out),
      box-shadow var(--t-quick) var(--ease-out),
      background-color var(--t-quick) var(--ease-out),
      color var(--t-quick) var(--ease-out);}.action.svelte-1900lby:active {transform:scale(0.975);}.face.svelte-1900lby {display:inline-flex;align-items:center;gap:10px;}.md.svelte-1900lby {height:40px;padding:0 18px;font-size:0.875rem;}.lg.svelte-1900lby {height:54px;padding:0 26px;font-size:1rem;}.primary.svelte-1900lby {color:#15111b;background:linear-gradient(180deg, #fbf8ff 0%, #ece3f7 100%);box-shadow:inset 0 1px 0 rgb(255 255 255 / 0.9),
      inset 0 -1px 0 rgb(80 40 120 / 0.18),
      0 10px 30px -12px rgb(var(--accent-rgb) / 0.45),
      0 2px 6px -2px rgb(0 0 0 / 0.5);}

  /* the thread of light: a short arc of violet and pink that runs round the rim */.primary.svelte-1900lby::before {content:'';position:absolute;inset:-2px;z-index:-1;border-radius:inherit;padding:2px;background:conic-gradient(
      from var(--beam),
      transparent 0deg,
      transparent 250deg,
      rgb(var(--accent-rgb) / 0.95) 300deg,
      rgb(var(--accent2-rgb) / 0.95) 330deg,
      transparent 360deg
    );-webkit-mask:linear-gradient(#000 0 0) content-box,
      linear-gradient(#000 0 0);mask:linear-gradient(#000 0 0) content-box,
      linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;
    animation: svelte-1900lby-beam 4.8s linear infinite;}

  /* and the light it casts, very soft, following it round */.primary.svelte-1900lby::after {content:'';position:absolute;inset:-10px;z-index:-2;border-radius:inherit;background:conic-gradient(
      from var(--beam),
      transparent 0deg,
      transparent 260deg,
      rgb(var(--accent-rgb) / 0.35) 305deg,
      rgb(var(--accent2-rgb) / 0.3) 330deg,
      transparent 360deg
    );filter:blur(12px);opacity:0.4;
    animation: svelte-1900lby-beam 4.8s linear infinite;}.primary.svelte-1900lby:hover {box-shadow:inset 0 1px 0 rgb(255 255 255 / 0.95),
      inset 0 -1px 0 rgb(80 40 120 / 0.2),
      0 14px 40px -12px rgb(var(--accent-rgb) / 0.6),
      0 2px 6px -2px rgb(0 0 0 / 0.5);}

  @keyframes svelte-1900lby-beam {
    to {
      --beam: 360deg;
    }
  }.secondary.svelte-1900lby {color:var(--text);background:radial-gradient(80% 120% at 50% 0%, rgb(var(--accent-rgb) / 0.08), transparent 70%),
      linear-gradient(180deg, #1c1a22, #15141a);box-shadow:inset 0 0 0 1px rgb(255 255 255 / 0.09),
      inset 0 1px 0 rgb(255 255 255 / 0.06);}.secondary.svelte-1900lby:hover {box-shadow:inset 0 0 0 1px rgb(var(--accent-rgb) / 0.4),
      inset 0 1px 0 rgb(255 255 255 / 0.08),
      0 10px 28px -14px rgb(var(--accent-rgb) / 0.5);}.quiet.svelte-1900lby {color:var(--text-2);}.quiet.svelte-1900lby:hover {color:var(--text);background:var(--fill-1);}

  @media (prefers-reduced-motion: reduce) {.primary.svelte-1900lby::before,
    .primary.svelte-1900lby::after {
      animation: none;--beam: 300deg;}
  }

  @media (forced-colors: active) {.primary.svelte-1900lby::before,
    .primary.svelte-1900lby::after {display:none;}.action.svelte-1900lby {border:1px solid ButtonText;}
  }
.icon.svelte-phdh9p {flex:none;display:block;}
.subjects.svelte-196znet {display:grid;grid-template-columns:minmax(0, 0.8fr) minmax(0, 1.2fr);align-items:center;gap:clamp(40px, 6vw, 96px);padding-block:var(--section);scroll-margin-top:24px;}.fan.svelte-196znet {position:relative;height:640px;}

  /* Each card lies a little turned and lower than the last, as if dealt down the desk, far enough
     apart that each question reads; pointing at one lifts it out of the pile. Where the column is
     too narrow for that spread, the cards close up so the last still ends inside it (8px holds
     its 3° turn). */.slot.svelte-196znet {--w: 420px;position:absolute;left:min(calc(var(--i) * 17%), calc(var(--i) / 2 * (100% - var(--w) - 8px)));top:calc(var(--i) * 190px);width:var(--w);margin:0;rotate:calc(-4deg + var(--i) * 3.5deg);transition:translate var(--t-move) var(--ease-spring-soft),
      rotate var(--t-move) var(--ease-spring-soft);}.slot.svelte-196znet:hover {z-index:4;translate:0 -10px;rotate:0deg;}.face.svelte-196znet {--k: 0.6;width:var(--w);height:calc(var(--w) / 1.62);}figcaption.svelte-196znet {position:absolute;top:22px;right:26px;color:var(--faint);}

  @media (max-width: 1080px) {.subjects.svelte-196znet {grid-template-columns:minmax(0, 1fr);}
  }

  @media (max-width: 640px) {.fan.svelte-196znet {height:auto;display:grid;gap:32px;}.slot.svelte-196znet {--w: 100%;position:static;rotate:0deg;}.face.svelte-196znet {aspect-ratio:1.62;height:auto;}
  }
.head.svelte-1cfh6ht {display:grid;gap:20px;max-width:36rem;}h2.svelte-1cfh6ht {font-family:var(--font-display);font-size:var(--text-h2);font-weight:500;line-height:1.08;letter-spacing:-0.032em;text-wrap:balance;}.body.svelte-1cfh6ht {font-size:var(--text-lead);line-height:1.62;color:var(--text-2);text-wrap:pretty;}
.flashcard.svelte-12501ma {--lx: 0;--ly: 0;--mx: 50%;position:relative;width:100%;height:100%;perspective:1800px;perspective-origin:50% 40%;}.clickable.svelte-12501ma {cursor:pointer;}

  /* the soft shadow the card casts on the field below it */.ground.svelte-12501ma {position:absolute;left:8%;right:8%;bottom:-26px;height:60px;border-radius:50%;background:radial-gradient(closest-side, rgb(0 0 0 / 0.75), transparent);filter:blur(14px);pointer-events:none;}.tilt.svelte-12501ma,
  .lift.svelte-12501ma,
  .turn.svelte-12501ma {position:absolute;inset:0;transform-style:preserve-3d;}.tilt.svelte-12501ma {transform:rotateX(calc(var(--ly) * -2.4deg)) rotateY(calc(var(--lx) * 3.2deg));transition:transform 900ms var(--ease-out);}

  /* The turn overshoots a hair and settles, like a real card set down. */.turn.svelte-12501ma {transition:transform 760ms cubic-bezier(0.3, 1.12, 0.45, 1);}.revealed.svelte-12501ma .turn:where(.svelte-12501ma) {transform:rotateY(180deg);}.face.svelte-12501ma {position:absolute;inset:0;overflow:hidden;border-radius:var(--radius-card);backface-visibility:hidden;-webkit-backface-visibility:hidden;background:radial-gradient(70% 55% at var(--mx) 0%, rgb(var(--accent-rgb) / 0.11), transparent 72%),
      radial-gradient(60% 50% at 50% 110%, rgb(var(--accent2-rgb) / 0.05), transparent 70%),
      linear-gradient(180deg, #1c1a23 0%, #15141b 46%, #111016 100%);box-shadow:0 40px 90px -36px rgb(0 0 0 / 0.95),
      0 30px 100px -50px rgb(var(--accent-rgb) / 0.4);transition:background-position var(--t-slow) var(--ease-out);}

  /* The edge catches the light: violet along the top, fading down the sides, a breath of pink
     at the foot. Drawn as a 1px ring so it follows the rounded corners. */.face.svelte-12501ma::before {content:'';position:absolute;inset:0;z-index:1;border-radius:inherit;padding:1px;background:linear-gradient(
      180deg,
      rgb(var(--accent-rgb) / 0.5),
      rgb(255 255 255 / 0.07) 26%,
      rgb(255 255 255 / 0.045) 70%,
      rgb(var(--accent2-rgb) / 0.22)
    );-webkit-mask:linear-gradient(#000 0 0) content-box,
      linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box,
      linear-gradient(#000 0 0);mask-composite:exclude;pointer-events:none;}

  /* a rim of light along the top edge, as on every obsidian surface of the house */.face.svelte-12501ma::after {content:'';position:absolute;top:0;left:12%;right:12%;height:1px;background:linear-gradient(90deg, transparent, rgb(255 255 255 / 0.3), transparent);pointer-events:none;}.back.svelte-12501ma {transform:rotateY(180deg);}

  /* A card reaching the top of the stack settles its words in once the card above has cleared. */.content.svelte-12501ma {position:absolute;inset:0;transition:opacity 420ms var(--ease-out) 230ms,
      transform 560ms var(--ease-out) 230ms;}.blank.svelte-12501ma .content:where(.svelte-12501ma) {opacity:0;transform:translateY(6px);transition-duration:120ms;transition-delay:0s;}.sheen.svelte-12501ma {position:absolute;inset:-10% -20%;z-index:2;opacity:0;background:linear-gradient(
      105deg,
      transparent 38%,
      rgb(255 255 255 / 0.07) 46%,
      rgb(255 236 248 / 0.13) 50%,
      rgb(255 255 255 / 0.07) 54%,
      transparent 62%
    );pointer-events:none;}

  /* Two comets leave the top centre together, run down either side and meet at the bottom,
     drawn on the card's edge only. */.comet.svelte-12501ma {position:absolute;inset:0;z-index:3;border-radius:inherit;padding:2px;pointer-events:none;-webkit-mask:linear-gradient(#000 0 0) content-box,
      linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box,
      linear-gradient(#000 0 0);mask-composite:exclude;opacity:0;}

  /* a long violet tail warming to a white-hot pink head */.comet.svelte-12501ma::before,
  .comet.svelte-12501ma::after {content:'';position:absolute;inset:0;background:conic-gradient(
      from var(--beam),
      transparent 0deg,
      rgb(var(--accent-rgb) / 0) 2deg,
      rgb(var(--accent-rgb) / 0.55) 30deg,
      rgb(var(--accent2-rgb) / 0.95) 52deg,
      #fff4fa 58deg,
      transparent 60deg,
      transparent 360deg
    );}

  /* the same light, wider and blurred: a halo just inside the edge */.comet.glow.svelte-12501ma {padding:7px;filter:blur(6px);}.comet.svelte-12501ma::after {transform:scaleX(-1);}.comet.run.svelte-12501ma {
    animation: svelte-12501ma-comet-fade 1400ms linear 280ms both;}.comet.run.svelte-12501ma::before,
  .comet.run.svelte-12501ma::after {
    animation: svelte-12501ma-comet-run 1150ms cubic-bezier(0.35, 0, 0.2, 1) 280ms both;}

  /* the head (58° into the beam) runs from just before the top centre to the foot */
  @keyframes svelte-12501ma-comet-run {
    from {
      --beam: -60deg;
    }
    to {
      --beam: 122deg;
    }
  }

  @keyframes svelte-12501ma-comet-fade {
    0% {
      opacity: 0;
    }
    8%,
    70% {
      opacity: 1;
    }
    100% {
      opacity: 0;
    }
  }

  @media (prefers-reduced-motion: reduce) {.tilt.svelte-12501ma {transform:none;}.comet.svelte-12501ma {display:none;}
  }
.front.svelte-11p664r {position:relative;display:grid;grid-template-rows:auto minmax(0, 1fr) auto;height:100%;padding:22px 26px 22px;}

  /* The header sits on the index card's ruled line, drawn in the house's pink. Its height is
     fixed, so the line is in the same place on every card, whether its corner holds the listen
     button, the way to answer, or nothing. */header.svelte-11p664r {position:relative;display:flex;align-items:center;justify-content:space-between;height:44px;padding-bottom:12px;}header.svelte-11p664r::after {content:'';position:absolute;left:-4px;right:-4px;bottom:0;height:1px;background:linear-gradient(
      90deg,
      rgb(var(--accent2-rgb) / 0.42),
      rgb(var(--accent2-rgb) / 0.2) 60%,
      transparent
    );}.sep.svelte-11p664r {margin:0 0.5em;color:var(--faint);}

  /* Text fits the card at its size (size.ts); text longer than the smallest size allows scrolls,
     from its first line: centred only while it fits, so its top is never out of reach. */.stage.svelte-11p664r {display:grid;place-items:safe center;padding:0 12px 28px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;--fade-top: 0px;--fade-bottom: 0px;-webkit-mask-image:linear-gradient(
      180deg,
      transparent 0,
      #000 var(--fade-top),
      #000 calc(100% - var(--fade-bottom)),
      transparent 100%
    );mask-image:linear-gradient(
      180deg,
      transparent 0,
      #000 var(--fade-top),
      #000 calc(100% - var(--fade-bottom)),
      transparent 100%
    );}.stage.fade-top.svelte-11p664r {--fade-top: 24px;}.stage.fade-bottom.svelte-11p664r {--fade-bottom: 40px;}

  /* Lines are kept as written. Text of several lines is set from the start of each line, as a
     block centred on the card, so a list or a code sample reads as written. */.prompt.svelte-11p664r,
  .meaning.svelte-11p664r {max-width:100%;text-align:center;text-wrap:balance;white-space:pre-wrap;background:var(--ink-light);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 6px 28px rgb(var(--accent-rgb) / 0.22));}.prompt.svelte-11p664r {line-height:1.18;overflow-wrap:anywhere;
    /* the gradient is clipped to the glyphs; this keeps descenders and the tallest jamo inside it */padding:0.08em 0.06em 0.12em;}.meaning.svelte-11p664r {line-height:1.16;
    /* Charm's swashes reach past its box on both sides and below */padding:0.04em 0.14em 0.16em;}.lines.svelte-11p664r {text-align:start;text-wrap:pretty;}

  /* From this language into the prompt's: the way a reversed card is answered. */.way.svelte-11p664r {display:inline-flex;align-items:center;gap:7px;height:26px;padding:0 10px 0 11px;border-radius:99px;font-family:var(--font-mono);font-size:10.5px;font-weight:500;letter-spacing:0.12em;color:var(--text-2);background:rgb(var(--accent2-rgb) / 0.08);box-shadow:inset 0 0 0 1px rgb(var(--accent2-rgb) / 0.22);}.way.svelte-11p664r .cap-line:where(.svelte-11p664r) {margin-inline-end:-0.12em;}.way.svelte-11p664r .icon {color:var(--accent2);}.mark.svelte-11p664r {font-family:var(--font-body);font-size:13px;letter-spacing:0;color:var(--text);}footer.svelte-11p664r {text-align:center;color:var(--muted);}.speak.svelte-11p664r {display:grid;place-items:center;width:32px;height:32px;border-radius:50%;color:var(--muted);transition:color var(--t-quick) var(--ease-out),
      background-color var(--t-quick) var(--ease-out),
      transform var(--t-press) var(--ease-out);}.speak.svelte-11p664r:hover {color:var(--text);background:var(--fill-2);}.speak.svelte-11p664r:active {transform:scale(0.92);}
.back.svelte-1l5b2dt {display:flex;flex-direction:column;height:100%;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;--fade-top: 0px;--fade-bottom: 0px;-webkit-mask-image:linear-gradient(
      180deg,
      transparent 0,
      #000 var(--fade-top),
      #000 calc(100% - var(--fade-bottom)),
      transparent 100%
    );mask-image:linear-gradient(
      180deg,
      transparent 0,
      #000 var(--fade-top),
      #000 calc(100% - var(--fade-bottom)),
      transparent 100%
    );}.back.fade-top.svelte-1l5b2dt {--fade-top: 28px;}.back.fade-bottom.svelte-1l5b2dt {--fade-bottom: 40px;}

  /* The header stays at the top, as on the front; the answer sits in the middle of the room below
     it, a little above centre as the front's Korean does, and scrolls from the top when it is
     taller than the card can grow. */.inner.svelte-1l5b2dt {flex:1 0 auto;display:flex;flex-direction:column;padding:22px 34px 30px;}.body.svelte-1l5b2dt {display:grid;gap:22px;margin-block:auto;padding-bottom:10px;}.hero.svelte-1l5b2dt {display:grid;justify-items:center;text-align:center;}.topline.svelte-1l5b2dt {display:flex;align-items:center;justify-content:space-between;min-height:32px;margin:0 -8px 2px 0;}.prompt.svelte-1l5b2dt {line-height:1.3;color:var(--text);text-wrap:balance;overflow-wrap:anywhere;}

  /* The prompt is the answer: it carries the light the translation has on a forward card. As
     the card lands it brightens, then settles to a glow (opacity and scale only). */.reverse.svelte-1l5b2dt .prompt:where(.svelte-1l5b2dt) {position:relative;isolation:isolate;line-height:1.22;text-shadow:0 0 2px rgb(255 236 248 / 0.35);}.reverse.svelte-1l5b2dt .prompt:where(.svelte-1l5b2dt)::before {content:'';position:absolute;inset:-0.35em -0.9em;z-index:-1;border-radius:50%;background:radial-gradient(
      closest-side,
      rgb(var(--accent-rgb) / 0.34),
      rgb(var(--accent2-rgb) / 0.1) 60%,
      transparent
    );opacity:0;pointer-events:none;}.revealed .reverse.svelte-1l5b2dt .prompt:where(.svelte-1l5b2dt)::before {opacity:0.5;
    animation: svelte-1l5b2dt-answer 1300ms var(--ease-out) 360ms both;}

  @keyframes svelte-1l5b2dt-answer {
    0% {
      opacity: 0;
      transform: scale(0.7);
    }
    35% {
      opacity: 1;
      transform: scale(1.06);
    }
    100% {
      opacity: 0.5;
      transform: scale(1);
    }
  }.roman.svelte-1l5b2dt {margin-top:4px;font-family:var(--font-mono);font-size:12px;letter-spacing:0.08em;color:var(--muted);}

  /* the index card's ruled line, in the house's pink */.rule.svelte-1l5b2dt {width:min(320px, 70%);height:1px;margin:16px 0 14px;background:linear-gradient(
      90deg,
      transparent,
      rgb(var(--accent2-rgb) / 0.55) 30%,
      rgb(var(--accent-rgb) / 0.55) 70%,
      transparent
    );}.meaning.svelte-1l5b2dt {max-width:100%;font-size:40px;line-height:1.18;text-wrap:balance;background:var(--ink-light);-webkit-background-clip:text;background-clip:text;color:transparent;padding:0 0.1em 0.12em;}

  /* Lines are kept as written. Text of several lines is set from the start of each line, as a
     block centred on the card, so a list or a code sample reads as written. */.meaning.svelte-1l5b2dt,
  .note.svelte-1l5b2dt,
  .example-meaning.svelte-1l5b2dt {white-space:pre-wrap;}.lines.svelte-1l5b2dt {text-align:start;text-wrap:pretty;}

  /* the question, repeated: plain handwriting under the answer */.reverse.svelte-1l5b2dt .meaning:where(.svelte-1l5b2dt) {background:none;color:var(--text-2);}.facts.svelte-1l5b2dt {display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-top:12px;}.fact.svelte-1l5b2dt {display:inline-flex;align-items:baseline;gap:7px;padding:4.5px 10px;border-radius:99px;background:var(--fill-1);box-shadow:inset 0 0 0 1px rgb(255 255 255 / 0.05);}.cap.svelte-1l5b2dt {font-family:var(--font-mono);font-size:10px;letter-spacing:calc(0.12em * var(--tracking));text-transform:uppercase;color:var(--muted);}.inline.svelte-1l5b2dt {font-size:16px;color:var(--text);}.inline.big.svelte-1l5b2dt {font-size:22px;}.hanja.svelte-1l5b2dt {font-family:var(--font-ko);font-size:16px;color:var(--lilac);}.prose.svelte-1l5b2dt {display:grid;gap:8px;justify-items:center;text-align:center;}.literal.svelte-1l5b2dt,
  .note.svelte-1l5b2dt,
  .pattern.svelte-1l5b2dt p:where(.svelte-1l5b2dt) {max-width:520px;font-size:19px;line-height:1.4;color:var(--text-2);text-wrap:pretty;}.lit.svelte-1l5b2dt {color:var(--muted);}

  /* how a grammar pattern attaches, set apart like a formula */.pattern.svelte-1l5b2dt {display:grid;justify-items:center;gap:2px;margin-bottom:4px;padding:9px 18px 11px;border-radius:12px;background:rgb(var(--accent-rgb) / 0.06);box-shadow:inset 0 0 0 1px rgb(var(--accent-rgb) / 0.16);}.pattern.svelte-1l5b2dt p:where(.svelte-1l5b2dt) {color:var(--text);}section.svelte-1l5b2dt {display:grid;gap:10px;justify-self:center;width:min(100%, 560px);}.forms.svelte-1l5b2dt {display:flex;flex-wrap:wrap;gap:8px;}.forms.svelte-1l5b2dt li:where(.svelte-1l5b2dt) {display:grid;gap:1px;padding:8px 12px 9px;border-radius:10px;background:var(--fill-1);box-shadow:inset 0 0 0 1px rgb(255 255 255 / 0.05);}.form-label.svelte-1l5b2dt {font-size:12px;color:var(--muted);}.examples.svelte-1l5b2dt {display:grid;gap:14px;}.example-text.svelte-1l5b2dt {font-size:23px;line-height:1.35;color:var(--text);}.example-meaning.svelte-1l5b2dt {font-size:19px;line-height:1.35;color:var(--muted);}.compare.svelte-1l5b2dt li:where(.svelte-1l5b2dt) {display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;}.vs.svelte-1l5b2dt {font-family:var(--font-mono);font-size:11px;letter-spacing:calc(0.1em * var(--tracking));color:var(--accent2);}.compare-meaning.svelte-1l5b2dt {font-size:20px;color:var(--text-2);}.compare-note.svelte-1l5b2dt {flex-basis:100%;font-size:13px;line-height:1.5;color:var(--muted);}.speak.svelte-1l5b2dt {display:grid;place-items:center;width:32px;height:32px;border-radius:50%;color:var(--muted);transition:color var(--t-quick) var(--ease-out),
      background-color var(--t-quick) var(--ease-out),
      transform var(--t-press) var(--ease-out);}.speak.svelte-1l5b2dt:hover {color:var(--text);background:var(--fill-2);}.speak.svelte-1l5b2dt:active {transform:scale(0.92);}
.sentence.svelte-hrzpdd {white-space:pre-wrap;}

  /* A listed word: a faint dotted underline says it can be looked up; hovered, it lights up. */.word.svelte-hrzpdd {position:relative;display:inline;padding:0;font:inherit;letter-spacing:inherit;color:inherit;border-radius:0.14em;text-decoration:underline dotted var(--hint, rgb(255 255 255 / 0.26));
    /* the dots grow with the text only so far: a headline's words are hinted, not underlined */text-decoration-thickness:clamp(1px, 0.045em, 2px);text-underline-offset:0.2em;transition:color var(--t-quick) var(--ease-out),
      background-color var(--t-quick) var(--ease-out),
      text-decoration-color var(--t-quick) var(--ease-out),
      box-shadow var(--t-quick) var(--ease-out);}.word.quiet.svelte-hrzpdd {text-decoration-color:transparent;}.word.svelte-hrzpdd:hover,
  .word.on.svelte-hrzpdd {color:#fff;background-color:rgb(var(--accent-rgb) / 0.18);text-decoration-color:rgb(var(--accent2-rgb) / 0.85);text-decoration-style:solid;box-shadow:0 0 0 0.1em rgb(var(--accent-rgb) / 0.18);}.word.svelte-hrzpdd:focus-visible {outline:2px solid #c58cff;outline-offset:0.12em;}
.strip.svelte-285t20 {display:flex;flex-wrap:wrap;justify-content:center;gap:8px;}.word.svelte-285t20 {display:grid;justify-items:center;align-content:start;gap:1px;min-width:64px;max-width:200px;padding:9px 14px 10px;border-radius:12px;text-align:center;background:rgb(255 255 255 / 0.03);box-shadow:inset 0 0 0 1px rgb(255 255 255 / 0.05);transition:background-color var(--t-quick) var(--ease-out),
      box-shadow var(--t-quick) var(--ease-out),
      transform var(--t-quick) var(--ease-out);}.word.svelte-285t20:hover,
  .word.on.svelte-285t20 {background:rgb(var(--accent-rgb) / 0.1);box-shadow:inset 0 0 0 1px rgb(var(--accent-rgb) / 0.38),
      0 8px 22px -12px rgb(var(--accent-rgb) / 0.6);transform:translateY(-1px);}.text.svelte-285t20 {font-size:21px;line-height:1.25;color:var(--text);}.gloss.svelte-285t20 {font-size:16px;line-height:1.25;color:var(--text-2);}.lemma.svelte-285t20 {display:grid;place-items:center;height:20px;margin-top:3px;padding:0 7px;border-radius:99px;line-height:1;font-size:12.5px;color:var(--lilac);background:rgb(var(--accent-rgb) / 0.12);}
.writing.svelte-ur9kly {display:grid;gap:56px;padding-block:var(--section);}
.assistants.svelte-1hkfj7h {display:grid;gap:24px;padding-block:var(--section);}.honest.svelte-1hkfj7h {max-width:36rem;font-family:var(--font-hand);font-size:1.375rem;line-height:1.4;color:var(--blush);}.flow.svelte-1hkfj7h {display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:20px;margin-top:40px;counter-reset:step;}.frame.svelte-1hkfj7h {position:relative;display:grid;align-content:start;gap:14px;min-height:260px;padding:56px 24px 24px;border-radius:20px;background:linear-gradient(180deg, #17161c, #121116);box-shadow:inset 0 0 0 1px rgb(255 255 255 / 0.07),
      inset 0 1px 0 rgb(255 255 255 / 0.05);}

  /* a thread of light from one frame to the next */.frame.svelte-1hkfj7h:not(:last-child)::after {content:'';position:absolute;top:50%;right:-21px;width:22px;height:1px;background:linear-gradient(90deg, rgb(var(--accent-rgb) / 0.6), rgb(var(--accent2-rgb) / 0.6));}.step.svelte-1hkfj7h {position:absolute;top:20px;left:24px;font-family:var(--font-mono);font-size:0.75rem;color:var(--accent2);}.button.svelte-1hkfj7h {display:inline-flex;align-items:center;gap:8px;width:fit-content;height:34px;padding:0 14px;border-radius:9px;font-size:0.8125rem;font-weight:600;color:var(--text);background:radial-gradient(80% 120% at 50% 0%, rgb(var(--accent-rgb) / 0.14), transparent 70%),
      linear-gradient(180deg, #1e1c25, #17161c);box-shadow:inset 0 0 0 1px rgb(var(--accent-rgb) / 0.4);}.button.svelte-1hkfj7h svg:where(.svelte-1hkfj7h) {width:15px;height:15px;fill:none;stroke:var(--good);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}

  /* the request as copied: its first lines, fading out as a clipboard preview does */.request.svelte-1hkfj7h {margin-top:4px;font-family:var(--font-mono);font-size:0.75rem;line-height:1.7;color:var(--muted);-webkit-mask-image:linear-gradient(180deg, #000 55%, transparent);mask-image:linear-gradient(180deg, #000 55%, transparent);}.said.svelte-1hkfj7h {font-size:0.875rem;color:var(--text-2);}pre.svelte-1hkfj7h {margin:0;padding:14px 16px;border-radius:12px;overflow:hidden;font-family:var(--font-mono);font-size:0.75rem;line-height:1.7;color:var(--text-2);background:rgb(0 0 0 / 0.3);box-shadow:inset 0 0 0 1px rgb(255 255 255 / 0.05);}.k.svelte-1hkfj7h {color:var(--lilac);}.s.svelte-1hkfj7h {color:var(--blush);}.count.svelte-1hkfj7h {font-weight:600;}.rows.svelte-1hkfj7h {display:grid;gap:8px;}.rows.svelte-1hkfj7h li:where(.svelte-1hkfj7h) {display:flex;align-items:center;gap:10px;font-size:0.9375rem;}.rows.svelte-1hkfj7h li:where(.svelte-1hkfj7h) span[lang='ko']:where(.svelte-1hkfj7h) {font-family:var(--font-ko);font-size:1.0625rem;}.tick.svelte-1hkfj7h {width:14px;height:14px;border-radius:4px;background:var(--gradient);}.dup.svelte-1hkfj7h {color:var(--muted);}.dup.svelte-1hkfj7h .tick:where(.svelte-1hkfj7h) {background:none;box-shadow:inset 0 0 0 1px rgb(255 255 255 / 0.2);}.note.svelte-1hkfj7h {font-size:0.75rem;}.add.svelte-1hkfj7h {display:inline-grid;place-items:center;width:fit-content;height:34px;margin-top:4px;padding:0 14px;border-radius:9px;font-size:0.8125rem;font-weight:600;color:#fff;background:var(--cta);}

  @media (max-width: 900px) {.flow.svelte-1hkfj7h {grid-template-columns:minmax(0, 1fr);}.frame.svelte-1hkfj7h:not(:last-child)::after {top:auto;bottom:-21px;left:50%;right:auto;width:1px;height:22px;}
  }
.schedule.svelte-s20lwh {display:grid;grid-template-columns:minmax(0, 0.85fr) minmax(0, 1.15fr);align-items:center;gap:clamp(40px, 6vw, 96px);padding-block:var(--section);}.chart.svelte-s20lwh {container-type:inline-size;margin:0;padding:28px 24px 18px;border-radius:24px;background:linear-gradient(180deg, #15141a, #111015);box-shadow:inset 0 0 0 1px rgb(255 255 255 / 0.07),
      inset 0 1px 0 rgb(255 255 255 / 0.05);}svg.svelte-s20lwh {width:100%;height:auto;overflow:visible;}figcaption.svelte-s20lwh {margin-top:14px;padding-top:14px;border-top:1px solid rgb(255 255 255 / 0.06);font-size:12.5px;line-height:1.55;color:var(--muted);}.target.svelte-s20lwh {stroke:rgb(var(--accent2-rgb) / 0.35);stroke-dasharray:3 5;}.axis.svelte-s20lwh {font-family:var(--font-mono);font-size:11px;letter-spacing:0.06em;fill:var(--muted);}.fill.svelte-s20lwh {fill:url(#curve-fill);}.curve.svelte-s20lwh {fill:none;stroke:url(#curve-ink);stroke-width:2.4;stroke-linejoin:round;stroke-linecap:round;filter:drop-shadow(0 0 8px rgb(var(--accent-rgb) / 0.45));}.review.svelte-s20lwh {fill:#fbf7ff;stroke:rgb(var(--accent-rgb) / 0.6);stroke-width:4;}

  /* drawn as it scrolls into view, where the browser can tie motion to scrolling */
  @supports (animation-timeline: view()) {
    @media (prefers-reduced-motion: no-preference) {.curve.svelte-s20lwh {stroke-dasharray:1;
        animation: svelte-s20lwh-draw linear both;animation-timeline:view();animation-range:entry 10% cover 45%;}.fill.svelte-s20lwh,
      .review.svelte-s20lwh {
        animation: svelte-s20lwh-rise linear both;animation-timeline:view();animation-range:entry 20% cover 50%;}
    }
  }

  @keyframes svelte-s20lwh-draw {
    from {
      stroke-dashoffset: 1;
    }
    to {
      stroke-dashoffset: 0;
    }
  }

  @keyframes svelte-s20lwh-rise {
    from {
      opacity: 0;
    }
  }

  @media (max-width: 1080px) {.schedule.svelte-s20lwh {grid-template-columns:minmax(0, 1fr);}
  }

  /* the drawing scales down on a phone, its words must not: they are set larger in the drawing's
     own units, and the label that would then crowd the first one is left to its dot */
  @container (max-width: 520px) {.axis.svelte-s20lwh {font-size:19px;}.day-0.svelte-s20lwh {text-anchor:start;}.day-1.svelte-s20lwh {display:none;}
  }
.yours.svelte-7vm3oq {display:grid;gap:56px;padding-block:var(--section);}.points.svelte-7vm3oq {display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));column-gap:clamp(32px, 6vw, 96px);}li.svelte-7vm3oq {display:grid;gap:10px;padding-block:28px 32px;border-top:1px solid var(--line);}h3.svelte-7vm3oq {font-family:var(--font-display);font-size:var(--text-h3);font-weight:500;letter-spacing:-0.02em;}p.svelte-7vm3oq {max-width:30rem;color:var(--text-2);text-wrap:pretty;}

  @media (max-width: 760px) {.points.svelte-7vm3oq {grid-template-columns:minmax(0, 1fr);}
  }
.download.svelte-j1dghi {display:grid;gap:48px;padding-block:var(--section);scroll-margin-top:24px;}
.footer.svelte-kr0kdd {width:var(--page);margin-inline:auto;padding-block:72px 40px;border-top:1px solid var(--line);}.top.svelte-kr0kdd {display:flex;flex-wrap:wrap;justify-content:space-between;gap:40px;}.brand.svelte-kr0kdd {display:inline-flex;align-items:center;gap:10px;border-radius:10px;}.name.svelte-kr0kdd {font-family:var(--font-display);font-weight:300;color:var(--text-2);}.name.svelte-kr0kdd b:where(.svelte-kr0kdd) {font-weight:600;color:var(--text);}.tagline.svelte-kr0kdd {margin-top:14px;font-family:var(--font-hand);font-size:1.25rem;color:var(--muted);}.columns.svelte-kr0kdd {display:flex;flex-wrap:wrap;gap:40px 72px;}nav.svelte-kr0kdd {display:grid;align-content:start;gap:12px;min-width:160px;}nav.svelte-kr0kdd .label:where(.svelte-kr0kdd) {margin-bottom:4px;}nav.svelte-kr0kdd a:where(.svelte-kr0kdd) {width:fit-content;font-size:0.875rem;color:var(--text-2);border-radius:6px;transition:color var(--t-quick) var(--ease-out);}nav.svelte-kr0kdd a:where(.svelte-kr0kdd):hover,
  nav.svelte-kr0kdd a[aria-current='page']:where(.svelte-kr0kdd) {color:var(--text);}

  /* asked for less often than a language is chosen: quieter, and set apart from the list */nav.svelte-kr0kdd .ask:where(.svelte-kr0kdd) {margin-top:4px;color:var(--muted);}.social.svelte-kr0kdd {display:flex;gap:6px;margin-top:20px;margin-inline-start:-8px;}.social.svelte-kr0kdd a:where(.svelte-kr0kdd) {display:grid;place-items:center;width:36px;height:36px;border-radius:10px;
    /* both marks in white, as their owners allow: softened at rest, full on hover */color:rgb(255 255 255 / 0.62);transition:color var(--t-quick) var(--ease-out),
      background-color var(--t-quick) var(--ease-out);}.social.svelte-kr0kdd a:where(.svelte-kr0kdd):hover {color:#fff;background:var(--fill-1);}

  /* the same height for each; the width follows the mark's own proportions */.social.svelte-kr0kdd svg:where(.svelte-kr0kdd) {width:auto;height:16px;}.copyright.svelte-kr0kdd {margin-top:64px;font-size:0.8125rem;color:var(--muted);}

  /* The card is as wide as the room allows, up to 600px, at index-card proportions; turned, it
     grows to show the whole answer, up to a little taller than it is wide. Sized here rather than
     by script, so the page lays out the same before the demo wakes. */.demo.svelte-xpyzd9 {--card-w: min(600px, 100cqw);container-type:inline-size;position:relative;display:grid;justify-items:center;width:100%;min-width:0;border-radius:28px;outline-offset:12px;}

  /* The card scales its type to its width once it runs (--k on the card); until then these
     steps give it nearly the same, so nothing jumps when the demo wakes. */.stack.svelte-xpyzd9 {--k: 0.77;position:relative;width:var(--card-w);height:clamp(calc(var(--card-w) / 1.62), var(--answer), calc(var(--card-w) * 1.05));margin-bottom:52px;transition:height 560ms var(--ease-spring-soft);}

  /* Cards further down the stack sit lower and smaller, so their edges show beneath the top one. */.slot.svelte-xpyzd9 {position:absolute;inset:0;transform:translate3d(0, calc(var(--depth) * 17px), 0) scale(calc(1 - var(--depth) * 0.05));transform-origin:50% 100%;transition:transform 560ms var(--ease-spring-soft);}.slot.svelte-xpyzd9:not(.front) {pointer-events:none;}.veil.svelte-xpyzd9 {position:absolute;inset:0;border-radius:var(--radius-card);background:rgb(9 8 12 / 0.5);opacity:min(1, calc(var(--depth) * 0.6));pointer-events:none;transition:opacity 560ms var(--ease-out);}.flash.svelte-xpyzd9 {position:absolute;inset:0;border-radius:var(--radius-card);pointer-events:none;opacity:var(--throw);box-shadow:inset 0 0 0 1.5px rgb(var(--fc, 255 255 255) / 0.9),
      inset 0 0 70px rgb(var(--fc, 255 255 255) / 0.14),
      0 0 60px -8px rgb(var(--fc, 255 255 255) / 0.55);}

  @container (max-width: 560px) {.stack.svelte-xpyzd9 {--k: 0.66;}
  }

  @container (max-width: 480px) {.stack.svelte-xpyzd9 {--k: 0.6;}
  }.answers.svelte-xpyzd9 {width:var(--card-w);}.subjects.svelte-xpyzd9 {display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:28px;}.subject.svelte-xpyzd9 {display:grid;place-items:center;height:32px;padding:0 14px;border-radius:99px;font-size:13px;font-weight:500;color:var(--muted);background:rgb(255 255 255 / 0.03);box-shadow:inset 0 0 0 1px rgb(255 255 255 / 0.06);transition:color var(--t-quick) var(--ease-out),
      background-color var(--t-quick) var(--ease-out),
      box-shadow var(--t-quick) var(--ease-out),
      transform var(--t-press) var(--ease-out);}.subject.svelte-xpyzd9:hover {color:var(--text);box-shadow:inset 0 0 0 1px rgb(var(--accent-rgb) / 0.35);}.subject.svelte-xpyzd9:active {transform:scale(0.96);}.subject[aria-pressed='true'].svelte-xpyzd9 {color:var(--text);background:rgb(var(--accent-rgb) / 0.12);box-shadow:inset 0 0 0 1px rgb(var(--accent-rgb) / 0.4);}
.answers.svelte-17twy1k {position:relative;display:grid;width:100%;height:64px;container-type:inline-size;}.reveal.svelte-17twy1k,
  .ratings.svelte-17twy1k {grid-area:1 / 1;}.reveal.svelte-17twy1k {display:flex;align-items:center;justify-content:center;gap:12px;height:56px;border-radius:14px;font-size:15px;font-weight:600;letter-spacing:0.01em;color:var(--text);background:radial-gradient(70% 120% at 50% 0%, rgb(var(--accent-rgb) / 0.18), transparent 70%),
      linear-gradient(180deg, #1d1b24, #16151b);box-shadow:inset 0 0 0 1px rgb(255 255 255 / 0.08),
      inset 0 1px 0 rgb(255 255 255 / 0.08),
      0 16px 34px -18px rgb(0 0 0 / 0.9);
    /* returning after an answer, it waits for the answers to clear first */transition:opacity 240ms var(--ease-out) 110ms,
      transform 360ms var(--ease-out) 110ms,
      box-shadow var(--t-quick) var(--ease-out);}.reveal.svelte-17twy1k:hover {box-shadow:inset 0 0 0 1px rgb(var(--accent-rgb) / 0.4),
      inset 0 1px 0 rgb(255 255 255 / 0.1),
      0 16px 40px -16px rgb(var(--accent-rgb) / 0.45);}.reveal.svelte-17twy1k:active {transform:scale(0.985);}.revealed.svelte-17twy1k .reveal:where(.svelte-17twy1k) {opacity:0;transform:translateY(-6px) scale(0.98);pointer-events:none;transition-duration:140ms, 200ms, var(--t-quick);transition-delay:0s;}.ratings.svelte-17twy1k {display:grid;
    /* four equal answers whatever their words: a long one never widens the row past the card */grid-template-columns:repeat(4, minmax(0, 1fr));gap:10px;pointer-events:none;}.revealed.svelte-17twy1k .ratings:where(.svelte-17twy1k) {pointer-events:auto;}.rate.svelte-17twy1k {--c: 255 255 255;position:relative;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;align-content:center;column-gap:8px;
    /* name and interval are set by their caps: this is the gap from one baseline to the next caps */row-gap:9px;height:56px;padding:0 16px;border-radius:14px;text-align:left;background:radial-gradient(90% 120% at 50% 0%, rgb(var(--c) / 0.1), transparent 70%),
      linear-gradient(180deg, #1c1a22, #15141a);box-shadow:inset 0 0 0 1px rgb(255 255 255 / 0.07),
      inset 0 1px 0 rgb(255 255 255 / 0.07),
      0 14px 30px -18px rgb(0 0 0 / 0.9);opacity:0;transform:translateY(10px);transition:opacity 130ms var(--ease-out),
      transform 200ms var(--ease-out),
      box-shadow var(--t-quick) var(--ease-out),
      background-color var(--t-quick) var(--ease-out);}.revealed.svelte-17twy1k .rate:where(.svelte-17twy1k) {opacity:1;transform:none;transition:opacity 280ms var(--ease-out),
      transform 420ms var(--ease-spring-soft),
      box-shadow var(--t-quick) var(--ease-out),
      background-color var(--t-quick) var(--ease-out);transition-delay:calc(140ms + var(--i) * 45ms), calc(140ms + var(--i) * 45ms), 0s, 0s;}.rate.svelte-17twy1k:hover {box-shadow:inset 0 0 0 1px rgb(var(--c) / 0.45),
      inset 0 1px 0 rgb(255 255 255 / 0.1),
      0 16px 36px -16px rgb(var(--c) / 0.45);}.rate.svelte-17twy1k:active,
  .rate.pressed.svelte-17twy1k {transform:scale(0.97);box-shadow:inset 0 0 0 1px rgb(var(--c) / 0.7),
      inset 0 0 22px rgb(var(--c) / 0.22),
      0 10px 30px -14px rgb(var(--c) / 0.6);transition-duration:var(--t-press);}.again.svelte-17twy1k {--c: var(--again-rgb);}.hard.svelte-17twy1k {--c: var(--hard-rgb);}.good.svelte-17twy1k {--c: var(--good-rgb);}.easy.svelte-17twy1k {--c: var(--easy-rgb);}.name.svelte-17twy1k {font-size:14.5px;font-weight:600;color:var(--text);}.when.svelte-17twy1k {grid-row:2;font-family:var(--font-mono);font-size:11px;letter-spacing:0.06em;color:rgb(var(--c) / 0.85);}.rate.svelte-17twy1k kbd:where(.svelte-17twy1k) {grid-row:1 / 3;grid-column:2;align-self:center;}

  /* never clipped: the line box is trimmed to the caps, so clipping would cut accents (À, É) */.name.svelte-17twy1k,
  .when.svelte-17twy1k {min-width:0;white-space:nowrap;}

  /* As narrow as a phone (the website's demo; the app's window is never this small): no keys to
     show, so the answers drop their key caps and centre their words like key caps themselves. */
  @container (max-width: 520px) {.answers.svelte-17twy1k kbd:where(.svelte-17twy1k) {display:none;}.ratings.svelte-17twy1k {gap:6px;}.rate.svelte-17twy1k {grid-template-columns:minmax(0, 1fr);justify-items:center;padding:0 8px;border-radius:12px;}.name.svelte-17twy1k {max-width:100%;font-size:13.5px;}
  }
.layer.svelte-k67g2f {position:absolute;inset:0;z-index:40;pointer-events:none;}.bubble.svelte-k67g2f {position:absolute;top:0;left:0;width:max-content;max-width:380px;padding:14px 16px 15px;border-radius:14px;background:radial-gradient(90% 70% at 50% 0%, rgb(var(--accent-rgb) / 0.16), transparent 72%),
      linear-gradient(180deg, #221f2a, #18161e);box-shadow:inset 0 0 0 1px rgb(255 255 255 / 0.08),
      inset 0 1px 0 rgb(255 255 255 / 0.08),
      0 18px 40px -12px rgb(0 0 0 / 0.85),
      0 0 0 1px rgb(0 0 0 / 0.4);opacity:0;scale:0.96;translate:0 6px;transition:opacity 160ms var(--ease-out),
      scale 200ms var(--ease-out),
      translate 200ms var(--ease-out);}.bubble.below.svelte-k67g2f {translate:0 -6px;}.bubble.shown.svelte-k67g2f {opacity:1;scale:1;translate:0 0;}

  /* Between words the bubble glides; it does not glide in from wherever it last was. */.bubble.shown.placed.svelte-k67g2f {transition:opacity 160ms var(--ease-out),
      scale 200ms var(--ease-out),
      translate 200ms var(--ease-out),
      transform 260ms var(--ease-out);}.content.svelte-k67g2f {
    animation: svelte-k67g2f-swap 180ms var(--ease-out);}

  @keyframes svelte-k67g2f-swap {
    from {
      opacity: 0;
    }
  }.head.svelte-k67g2f {display:flex;align-items:baseline;gap:10px;}.head.svelte-k67g2f .text:where(.svelte-k67g2f) {font-size:26px;line-height:1.15;color:#fff;}.pos.svelte-k67g2f {font-family:var(--font-mono);font-size:10px;letter-spacing:calc(0.14em * var(--tracking));text-transform:uppercase;color:var(--muted);}.gloss.svelte-k67g2f {margin-top:2px;font-size:21px;line-height:1.25;background:var(--ink-light);-webkit-background-clip:text;background-clip:text;color:transparent;}.lemma.svelte-k67g2f {display:flex;align-items:baseline;gap:8px;margin-top:8px;}.lemma.svelte-k67g2f .text:where(.svelte-k67g2f) {font-size:18px;color:var(--text);}.cap.svelte-k67g2f {font-family:var(--font-mono);font-size:10px;letter-spacing:calc(0.12em * var(--tracking));text-transform:uppercase;color:var(--muted);}.parts.svelte-k67g2f {display:flex;flex-wrap:wrap;align-items:stretch;gap:6px;margin-top:10px;}.parts.svelte-k67g2f li:where(.svelte-k67g2f) {position:relative;display:grid;align-content:start;gap:2px;max-width:230px;padding:6px 9px 7px;border-radius:9px;background:rgb(255 255 255 / 0.05);box-shadow:inset 0 0 0 1px rgb(255 255 255 / 0.05);}

  /* the pieces add up: a small plus between them */.parts.svelte-k67g2f li:where(.svelte-k67g2f) + li:where(.svelte-k67g2f)::before {content:'+';position:absolute;left:-6px;top:50%;width:6px;translate:0 -50%;text-align:center;font-size:10px;color:var(--faint);}.parts.svelte-k67g2f .text:where(.svelte-k67g2f) {font-size:17px;line-height:1.2;color:var(--lilac);}.part-gloss.svelte-k67g2f {font-size:12px;line-height:1.35;color:var(--text-2);}.note.svelte-k67g2f {margin-top:10px;max-width:300px;font-size:12.5px;line-height:1.45;color:var(--text-2);}
.editor.svelte-1265t18 {display:grid;grid-template-columns:minmax(0, 1fr) minmax(0, 1.05fr);align-items:center;gap:40px;padding:28px;border-radius:24px;background:radial-gradient(70% 60% at 30% 0%, rgb(var(--accent-rgb) / 0.08), transparent 70%),
      linear-gradient(180deg, #16151b, #111015);box-shadow:inset 0 0 0 1px rgb(255 255 255 / 0.07),
      inset 0 1px 0 rgb(255 255 255 / 0.05),
      0 40px 80px -40px rgb(0 0 0 / 0.9);}.fields.svelte-1265t18 {display:grid;gap:22px;}.field.svelte-1265t18 {display:grid;gap:10px;}.row.svelte-1265t18 {display:flex;align-items:center;justify-content:space-between;}.input.svelte-1265t18 {width:100%;padding:14px 16px;border:0;border-radius:12px;font-size:1.0625rem;line-height:1.45;color:var(--text);background:rgb(255 255 255 / 0.035);box-shadow:inset 0 0 0 1px rgb(255 255 255 / 0.08);resize:none;transition:box-shadow var(--t-quick) var(--ease-out);}.input.front.svelte-1265t18 {font-size:1.375rem;}.input.svelte-1265t18:focus {outline:none;box-shadow:inset 0 0 0 1px rgb(var(--accent-rgb) / 0.6),
      0 0 0 4px rgb(var(--accent-rgb) / 0.12);}.tabs.svelte-1265t18 {display:flex;gap:4px;padding:3px;border-radius:10px;background:rgb(255 255 255 / 0.04);box-shadow:inset 0 0 0 1px rgb(255 255 255 / 0.06);}.tabs.svelte-1265t18 button:where(.svelte-1265t18) {position:relative;display:grid;place-items:center;min-width:44px;height:26px;padding:0 10px;border-radius:7px;font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:0.12em;color:var(--muted);transition:color var(--t-quick) var(--ease-out),
      background-color var(--t-quick) var(--ease-out);}.tabs.svelte-1265t18 button:where(.svelte-1265t18) span.cap-line:where(.svelte-1265t18) {margin-inline-end:-0.12em;}.tabs.svelte-1265t18 button:where(.svelte-1265t18):hover {color:var(--text-2);}.tabs.svelte-1265t18 button[aria-selected='true']:where(.svelte-1265t18) {color:#fff;background:radial-gradient(80% 90% at 50% 0%, rgb(var(--accent-rgb) / 0.32), transparent 80%),
      rgb(255 255 255 / 0.07);box-shadow:inset 0 0 0 1px rgb(var(--accent-rgb) / 0.35);}

  /* a language that already has text */.dot.svelte-1265t18 {position:absolute;top:4px;right:5px;width:4px;height:4px;border-radius:50%;background:var(--accent2);}.preview.svelte-1265t18 {display:grid;gap:14px;margin:0;}.card.svelte-1265t18 {--k: 0.6;aspect-ratio:1.62;}figcaption.svelte-1265t18 {font-size:var(--text-small);color:var(--muted);text-align:center;}

  @media (max-width: 860px) {.editor.svelte-1265t18 {grid-template-columns:minmax(0, 1fr);padding:20px;}

    /* a narrow card needs a little more height for the same answer */.card.svelte-1265t18 {aspect-ratio:1.3;}
  }
.panel.svelte-151mw78 {display:grid;gap:20px;}.files.svelte-151mw78 {display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:16px;}.files.svelte-151mw78 > li:where(.svelte-151mw78) {position:relative;display:grid;gap:16px;padding:6px;border-radius:22px;background:rgb(255 255 255 / 0.025);box-shadow:inset 0 0 0 1px rgb(255 255 255 / 0.06);}.files.svelte-151mw78 > li.recommended:where(.svelte-151mw78) {box-shadow:inset 0 0 0 1px rgb(var(--accent-rgb) / 0.45),
      0 20px 50px -24px rgb(var(--accent-rgb) / 0.5);}.get.svelte-151mw78 {display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;padding:20px 22px;border-radius:17px;background:radial-gradient(70% 120% at 50% 0%, rgb(var(--accent-rgb) / 0.12), transparent 70%),
      linear-gradient(180deg, #1d1b24, #16151b);box-shadow:inset 0 0 0 1px rgb(255 255 255 / 0.08),
      inset 0 1px 0 rgb(255 255 255 / 0.07);transition:box-shadow var(--t-quick) var(--ease-out),
      transform var(--t-press) var(--ease-out);}.get.svelte-151mw78:hover {box-shadow:inset 0 0 0 1px rgb(var(--accent-rgb) / 0.5),
      inset 0 1px 0 rgb(255 255 255 / 0.09),
      0 14px 34px -16px rgb(var(--accent-rgb) / 0.6);}.get.svelte-151mw78:active {transform:scale(0.985);}.get.svelte-151mw78 svg:where(.svelte-151mw78) {width:22px;height:22px;fill:none;stroke:var(--lilac);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}.what.svelte-151mw78 {display:grid;gap:2px;}.what.svelte-151mw78 b:where(.svelte-151mw78) {font-weight:600;}.what.svelte-151mw78 span:where(.svelte-151mw78),
  .size.svelte-151mw78 {font-size:var(--text-small);color:var(--muted);}.badge.svelte-151mw78 {position:absolute;top:-11px;right:18px;padding:4px 10px;border-radius:99px;font-size:0.75rem;font-weight:600;color:#fff;background:var(--cta);}.sum.svelte-151mw78 {display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:0 16px 12px;}code.svelte-151mw78 {overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono);font-size:0.75rem;color:var(--muted);user-select:all;}.sum.svelte-151mw78 button:where(.svelte-151mw78) {font-size:0.75rem;font-weight:600;color:var(--text-2);border-radius:6px;}.sum.svelte-151mw78 button:where(.svelte-151mw78):hover {color:var(--text);}.meta.svelte-151mw78,
  .unsigned.svelte-151mw78 {max-width:44rem;font-size:var(--text-small);color:var(--muted);}.unsigned.svelte-151mw78 {color:var(--text-2);}.notes.svelte-151mw78 {display:grid;gap:12px;max-width:44rem;margin-top:12px;padding-top:24px;box-shadow:inset 0 1px 0 rgb(255 255 255 / 0.06);color:var(--text-2);overflow-wrap:anywhere;}.notes.svelte-151mw78 .sep:where(.svelte-151mw78) {margin:0 0.6em;color:var(--faint);}.notes.svelte-151mw78 .in:where(.svelte-151mw78) {color:var(--muted);}.notes.svelte-151mw78 div:where(.svelte-151mw78) {display:grid;gap:10px;}.notes.svelte-151mw78 h3:where(.svelte-151mw78) {margin-top:4px;font-weight:600;color:var(--text);}.notes.svelte-151mw78 ul:where(.svelte-151mw78) {display:grid;gap:6px;padding-inline-start:1.2em;list-style:disc;}.notes.svelte-151mw78 li:where(.svelte-151mw78)::marker {color:var(--lilac);}.soon.svelte-151mw78 {max-width:36rem;padding:28px;border-radius:22px;background:rgb(255 255 255 / 0.025);box-shadow:inset 0 0 0 1px rgb(255 255 255 / 0.06);color:var(--text-2);}.soon-title.svelte-151mw78 {font-family:var(--font-display);font-size:var(--text-h3);color:var(--text);}

  @media (max-width: 760px) {.files.svelte-151mw78 {grid-template-columns:minmax(0, 1fr);}
  }
.intro.svelte-1lqgglt {display:grid;gap:20px;max-width:40rem;padding-block:72px 56px;}h1.svelte-1lqgglt {font-family:var(--font-display);font-size:var(--text-h2);font-weight:500;letter-spacing:-0.032em;line-height:1.06;}.lead.svelte-1lqgglt {font-size:var(--text-lead);line-height:1.6;color:var(--text-2);}.ways.svelte-1lqgglt {display:grid;grid-template-columns:minmax(0, 0.8fr) minmax(0, 1.2fr);align-items:start;gap:24px;}.form.svelte-1lqgglt {display:grid;gap:24px;padding:28px;border-radius:22px;background:rgb(255 255 255 / 0.02);box-shadow:inset 0 0 0 1px rgb(255 255 255 / 0.06);}h2.svelte-1lqgglt {font-family:var(--font-display);font-size:var(--text-h3);font-weight:500;letter-spacing:-0.02em;}.faq.svelte-1lqgglt {display:grid;gap:24px;padding-block:96px 120px;}dl.svelte-1lqgglt {display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));column-gap:40px;}.item.svelte-1lqgglt {display:grid;align-content:start;gap:8px;padding-top:24px;border-top:1px solid var(--line);}dt.svelte-1lqgglt {font-weight:600;}dd.svelte-1lqgglt {margin:0;color:var(--text-2);}

  @media (max-width: 900px) {.ways.svelte-1lqgglt,
    dl.svelte-1lqgglt {grid-template-columns:minmax(0, 1fr);}.item.svelte-1lqgglt + .item:where(.svelte-1lqgglt) {margin-top:24px;}
  }
.card.svelte-w0oc0s {display:grid;gap:14px;padding:28px;border-radius:22px;background:radial-gradient(70% 80% at 0% 0%, rgb(var(--accent-rgb) / 0.1), transparent 70%),
      linear-gradient(180deg, #17161c, #121116);box-shadow:inset 0 0 0 1px rgb(255 255 255 / 0.07),
      inset 0 1px 0 rgb(255 255 255 / 0.05);transition:box-shadow var(--t-move) var(--ease-out);}

  /* asked for when the form can't send: a ring of light, once */.card.called.svelte-w0oc0s {box-shadow:inset 0 0 0 1px rgb(var(--accent-rgb) / 0.55),
      0 0 0 6px rgb(var(--accent-rgb) / 0.08),
      0 24px 60px -24px rgb(var(--accent-rgb) / 0.6);}.address.svelte-w0oc0s {font-family:var(--font-display);font-size:clamp(1.25rem, 1rem + 1vw, 1.625rem);font-weight:500;letter-spacing:-0.01em;overflow-wrap:anywhere;user-select:all;}.body.svelte-w0oc0s {color:var(--text-2);}.actions.svelte-w0oc0s {display:flex;flex-wrap:wrap;gap:10px;margin-top:6px;}.copy.svelte-w0oc0s,
  .open.svelte-w0oc0s {display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 16px;border-radius:999px;font-size:0.875rem;font-weight:600;transition:box-shadow var(--t-quick) var(--ease-out),
      transform var(--t-press) var(--ease-out);}.copy.svelte-w0oc0s {color:var(--text);background:linear-gradient(180deg, #1e1c25, #17161c);box-shadow:inset 0 0 0 1px rgb(255 255 255 / 0.1);}.copy.svelte-w0oc0s:hover {box-shadow:inset 0 0 0 1px rgb(var(--accent-rgb) / 0.45);}.copy.svelte-w0oc0s svg:where(.svelte-w0oc0s) {width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}.open.svelte-w0oc0s {color:var(--text-2);}.open.svelte-w0oc0s:hover {color:var(--text);background:var(--fill-1);}.copy.svelte-w0oc0s:active,
  .open.svelte-w0oc0s:active {transform:scale(0.975);}
.form.svelte-1u9ojgd {display:grid;gap:20px;}.field.svelte-1u9ojgd {display:grid;gap:8px;}.pair.svelte-1u9ojgd {display:grid;grid-template-columns:minmax(0, 1.3fr) minmax(0, 1fr);gap:16px;}.name.svelte-1u9ojgd {font-size:var(--text-small);font-weight:500;color:var(--text-2);}.optional.svelte-1u9ojgd {font-weight:400;color:var(--muted);}input.svelte-1u9ojgd,
  textarea.svelte-1u9ojgd,
  select.svelte-1u9ojgd {width:100%;padding:12px 14px;border:0;border-radius:12px;font-size:1rem;line-height:1.45;color:var(--text);background:rgb(255 255 255 / 0.035);box-shadow:inset 0 0 0 1px rgb(255 255 255 / 0.09);transition:box-shadow var(--t-quick) var(--ease-out);}.select.svelte-1u9ojgd {position:relative;display:block;}select.svelte-1u9ojgd {appearance:none;padding-right:40px;}.select.svelte-1u9ojgd svg:where(.svelte-1u9ojgd) {position:absolute;top:50%;right:12px;width:18px;height:18px;translate:0 -50%;fill:none;stroke:var(--muted);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;pointer-events:none;}select.svelte-1u9ojgd option:where(.svelte-1u9ojgd) {background:#17161c;}textarea.svelte-1u9ojgd {resize:vertical;min-height:140px;}input.svelte-1u9ojgd:focus,
  textarea.svelte-1u9ojgd:focus,
  select.svelte-1u9ojgd:focus {outline:none;box-shadow:inset 0 0 0 1px rgb(var(--accent-rgb) / 0.6),
      0 0 0 4px rgb(var(--accent-rgb) / 0.12);}input[aria-invalid='true'].svelte-1u9ojgd,
  textarea[aria-invalid='true'].svelte-1u9ojgd {box-shadow:inset 0 0 0 1px rgb(var(--danger-rgb) / 0.6);}input[readonly].svelte-1u9ojgd {color:var(--text-2);background:transparent;}.hint.svelte-1u9ojgd {font-size:0.8125rem;color:var(--muted);}.error.svelte-1u9ojgd,
  .failure.svelte-1u9ojgd {font-size:0.875rem;color:var(--danger);}.failure.svelte-1u9ojgd {padding:12px 14px;border-radius:12px;background:rgb(var(--danger-rgb) / 0.08);box-shadow:inset 0 0 0 1px rgb(var(--danger-rgb) / 0.22);}.challenge.svelte-1u9ojgd:empty {display:none;}.submit.svelte-1u9ojgd {justify-self:start;display:grid;place-items:center;height:48px;padding:0 24px;border-radius:999px;font-weight:600;color:#15111b;background:linear-gradient(180deg, #fbf8ff 0%, #ece3f7 100%);box-shadow:inset 0 1px 0 rgb(255 255 255 / 0.9),
      0 10px 30px -12px rgb(var(--accent-rgb) / 0.45);transition:transform var(--t-press) var(--ease-out),
      opacity var(--t-quick) var(--ease-out);}.submit.svelte-1u9ojgd:active {transform:scale(0.975);}.submit.svelte-1u9ojgd:disabled {opacity:0.6;}.sent.svelte-1u9ojgd {display:grid;justify-items:start;gap:12px;padding:28px;border-radius:20px;background:radial-gradient(70% 90% at 20% 0%, rgb(var(--good-rgb) / 0.12), transparent 70%),
      rgb(255 255 255 / 0.025);box-shadow:inset 0 0 0 1px rgb(var(--good-rgb) / 0.3);}.sent.svelte-1u9ojgd svg:where(.svelte-1u9ojgd) {width:28px;height:28px;fill:none;stroke:var(--good);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}.sent.svelte-1u9ojgd h3:where(.svelte-1u9ojgd) {font-family:var(--font-display);font-size:var(--text-h3);font-weight:500;}.sent.svelte-1u9ojgd p:where(.svelte-1u9ojgd) {color:var(--text-2);}.reference.svelte-1u9ojgd {display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:4px;}.reference.svelte-1u9ojgd code:where(.svelte-1u9ojgd) {font-family:var(--font-mono);font-size:0.9375rem;color:var(--lilac);user-select:all;}.reference.svelte-1u9ojgd button:where(.svelte-1u9ojgd),
  .again.svelte-1u9ojgd {font-size:0.875rem;font-weight:600;color:var(--text-2);border-radius:6px;}.reference.svelte-1u9ojgd button:where(.svelte-1u9ojgd):hover,
  .again.svelte-1u9ojgd:hover {color:var(--text);}.again.svelte-1u9ojgd {margin-top:8px;}

  @media (max-width: 640px) {.pair.svelte-1u9ojgd {grid-template-columns:minmax(0, 1fr);}
  }
.column.svelte-w2lzzf {display:grid;gap:16px;width:min(440px, 100%);margin-inline:auto;padding-block:80px 140px;}h1.svelte-w2lzzf {font-family:var(--font-display);font-size:clamp(1.75rem, 1.4rem + 1.2vw, 2.25rem);font-weight:500;letter-spacing:-0.025em;line-height:1.15;}.lead.svelte-w2lzzf {color:var(--text-2);}.column.svelte-w2lzzf .work {margin-top:16px;}
.panel.svelte-17687q2 {display:grid;gap:18px;}.or.svelte-17687q2 {display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;font-size:0.8125rem;color:var(--muted);}.or.svelte-17687q2::before,
  .or.svelte-17687q2::after {content:'';height:1px;background:var(--line);}.form.svelte-17687q2 {display:grid;gap:16px;}h2.svelte-17687q2 {font-family:var(--font-display);font-size:var(--text-h3);font-weight:500;}.body.svelte-17687q2 {color:var(--text-2);}.field.svelte-17687q2 {display:grid;gap:8px;}.name.svelte-17687q2 {font-size:var(--text-small);font-weight:500;color:var(--text-2);}input.svelte-17687q2 {width:100%;padding:12px 14px;border:0;border-radius:12px;font-size:1rem;color:var(--text);background:rgb(255 255 255 / 0.035);box-shadow:inset 0 0 0 1px rgb(255 255 255 / 0.09);transition:box-shadow var(--t-quick) var(--ease-out);}input.svelte-17687q2:focus {outline:none;box-shadow:inset 0 0 0 1px rgb(var(--accent-rgb) / 0.6),
      0 0 0 4px rgb(var(--accent-rgb) / 0.12);}

  /* the code reads like the email shows it: wide, even digits */.code.svelte-17687q2 {font-family:var(--font-mono);font-size:1.5rem;letter-spacing:0.4em;text-align:center;}.challenge.svelte-17687q2:empty {display:none;}.primary.svelte-17687q2 {display:grid;place-items:center;height:44px;border-radius:999px;font-weight:600;color:#15111b;background:linear-gradient(180deg, #fbf8ff 0%, #ece3f7 100%);box-shadow:inset 0 1px 0 rgb(255 255 255 / 0.9);transition:transform var(--t-press) var(--ease-out),
      opacity var(--t-quick) var(--ease-out);}.primary.svelte-17687q2:active {transform:scale(0.98);}.primary.svelte-17687q2:disabled {opacity:0.6;}.links.svelte-17687q2 {display:flex;justify-content:space-between;gap:16px;}.links.svelte-17687q2 button:where(.svelte-17687q2) {font-size:0.875rem;font-weight:500;color:var(--text-2);border-radius:6px;}.links.svelte-17687q2 button:where(.svelte-17687q2):hover:not(:disabled) {color:var(--text);}.links.svelte-17687q2 button:where(.svelte-17687q2):disabled {color:var(--faint);}.error.svelte-17687q2 {padding:12px 14px;border-radius:12px;font-size:0.875rem;color:var(--danger);background:rgb(var(--danger-rgb) / 0.08);box-shadow:inset 0 0 0 1px rgb(var(--danger-rgb) / 0.22);}
.google.svelte-136uvwd {display:inline-flex;align-items:center;justify-content:center;width:100%;height:40px;padding:0 12px;border-radius:20px;background:#131314;box-shadow:inset 0 0 0 1px #8e918f;color:#e3e3e3;font-size:14px;font-weight:500;line-height:20px;transition:background-color var(--t-quick) var(--ease-out),
      transform var(--t-press) var(--ease-out);}.google.svelte-136uvwd:hover {background:#1c1c1e;}.google.svelte-136uvwd:active {transform:scale(0.985);}.google.svelte-136uvwd:disabled {opacity:0.6;}.mark.svelte-136uvwd {display:flex;margin-inline-end:10px;}
svg.svelte-mm0kyu {flex:none;}
.panel.svelte-9o65i {display:grid;gap:20px;}.quiet.svelte-9o65i {color:var(--muted);}.body.svelte-9o65i {color:var(--text-2);}

  /* margins, not a gap: a failure folding in brings its space with it */.form.svelte-9o65i {display:grid;}.form.svelte-9o65i > :where(.svelte-9o65i) + :where(.svelte-9o65i) {margin-top:16px;}

  /* its words on the column's edge, its key reaching into the margin; on a phone the margin is
     narrower than the key's padding, so the key stops just inside the screen */.retry.svelte-9o65i {justify-self:start;margin-inline-start:max(-22px, 2px - var(--gutter));}.field.svelte-9o65i {display:grid;gap:8px;}.name.svelte-9o65i {font-size:var(--text-small);font-weight:500;color:var(--text-2);}input.svelte-9o65i {width:100%;padding:12px 14px;border:0;border-radius:12px;color:var(--text);background:rgb(255 255 255 / 0.035);box-shadow:inset 0 0 0 1px rgb(255 255 255 / 0.09);}input.svelte-9o65i:focus {outline:none;box-shadow:inset 0 0 0 1px rgb(var(--accent-rgb) / 0.6),
      0 0 0 4px rgb(var(--accent-rgb) / 0.12);}.code.svelte-9o65i {font-family:var(--font-mono);font-size:1.375rem;letter-spacing:0.3em;text-align:center;text-transform:uppercase;}.facts.svelte-9o65i {display:grid;gap:14px;padding:20px;border-radius:16px;background:rgb(255 255 255 / 0.03);box-shadow:inset 0 0 0 1px rgb(255 255 255 / 0.07);}.facts.svelte-9o65i div:where(.svelte-9o65i) {display:flex;align-items:baseline;justify-content:space-between;gap:16px;}dt.svelte-9o65i {font-size:var(--text-small);color:var(--muted);}dd.svelte-9o65i {margin:0;font-weight:500;overflow-wrap:anywhere;}.code-shown.svelte-9o65i {font-family:var(--font-mono);font-size:1.5rem;letter-spacing:0.18em;color:var(--lilac);}.warning.svelte-9o65i {font-size:0.9375rem;color:var(--text-2);}.actions.svelte-9o65i {display:flex;gap:10px;}.primary.svelte-9o65i,
  .quiet-button.svelte-9o65i {display:grid;place-items:center;height:44px;padding:0 22px;border-radius:999px;font-weight:600;}.primary.svelte-9o65i {color:#15111b;background:linear-gradient(180deg, #fbf8ff 0%, #ece3f7 100%);}.quiet-button.svelte-9o65i {color:var(--text-2);}.quiet-button.svelte-9o65i:hover {color:var(--text);background:var(--fill-1);}.primary.svelte-9o65i:disabled,
  .quiet-button.svelte-9o65i:disabled {opacity:0.6;}.done.svelte-9o65i {display:grid;gap:8px;padding:24px;border-radius:18px;background:rgb(255 255 255 / 0.03);box-shadow:inset 0 0 0 1px rgb(255 255 255 / 0.08);}.done.approved.svelte-9o65i {box-shadow:inset 0 0 0 1px rgb(var(--good-rgb) / 0.4);}.done.svelte-9o65i h2:where(.svelte-9o65i) {font-family:var(--font-display);font-size:var(--text-h3);font-weight:500;}.done.svelte-9o65i p:where(.svelte-9o65i) {color:var(--text-2);}.error.svelte-9o65i {padding:12px 14px;border-radius:12px;font-size:0.875rem;color:var(--danger);background:rgb(var(--danger-rgb) / 0.08);box-shadow:inset 0 0 0 1px rgb(var(--danger-rgb) / 0.22);}
.quiet.svelte-1szi2ad {color:var(--muted);}.out.svelte-1szi2ad {display:grid;justify-items:start;gap:16px;color:var(--text-2);}

  /* Spacing as margins, not gaps: a failure that folds into the flow brings its space with it. */.who.svelte-1szi2ad {display:grid;justify-items:start;padding-bottom:40px;border-bottom:1px solid var(--line);}.who.svelte-1szi2ad > :where(.svelte-1szi2ad) + :where(.svelte-1szi2ad) {margin-top:8px;}.error.svelte-1szi2ad {color:var(--danger);}.who.svelte-1szi2ad > .error:where(.svelte-1szi2ad) {margin-top:12px;}.email.svelte-1szi2ad {font-family:var(--font-display);font-size:var(--text-h3);font-weight:500;overflow-wrap:anywhere;}.messages.svelte-1szi2ad {display:grid;padding-top:40px;}.messages.svelte-1szi2ad > :where(.svelte-1szi2ad) + :where(.svelte-1szi2ad) {margin-top:20px;}.failed.svelte-1szi2ad {display:grid;justify-items:start;gap:8px;}h2.svelte-1szi2ad {font-family:var(--font-display);font-size:var(--text-h3);font-weight:500;}ul.svelte-1szi2ad {display:grid;}li.svelte-1szi2ad {display:grid;grid-template-columns:1fr auto;gap:4px 16px;padding:16px 0;border-bottom:1px solid var(--line);}.subject.svelte-1szi2ad {font-weight:500;}.meta.svelte-1szi2ad {grid-row:2;font-size:var(--text-small);color:var(--muted);}.meta.svelte-1szi2ad code:where(.svelte-1szi2ad) {font-family:var(--font-mono);}.status.svelte-1szi2ad {grid-row:1 / 3;align-self:center;padding:4px 10px;border-radius:99px;font-size:0.75rem;color:var(--text-2);background:var(--fill-1);}.primary.svelte-1szi2ad,
  .quiet-button.svelte-1szi2ad {display:inline-grid;place-items:center;height:40px;padding:0 18px;border-radius:999px;font-weight:600;}.primary.svelte-1szi2ad {color:#15111b;background:linear-gradient(180deg, #fbf8ff 0%, #ece3f7 100%);}.quiet-button.svelte-1szi2ad {margin-inline-start:-18px;color:var(--text-2);}.quiet-button.svelte-1szi2ad:hover {color:var(--text);background:var(--fill-1);}.write.svelte-1szi2ad {width:fit-content;color:var(--lilac);border-radius:6px;}
.legal.svelte-dvu38v {display:grid;max-width:44rem;padding-block:72px 120px;}.intro.svelte-dvu38v {display:grid;gap:20px;padding-bottom:40px;}h1.svelte-dvu38v {font-family:var(--font-display);font-size:var(--text-h2);font-weight:500;letter-spacing:-0.032em;line-height:1.06;}.lead.svelte-dvu38v {font-size:var(--text-lead);line-height:1.6;color:var(--text-2);}.language.svelte-dvu38v,
  .draft.svelte-dvu38v {padding:14px 18px;border-radius:14px;font-size:var(--text-small);color:var(--text-2);background:rgb(255 255 255 / 0.03);box-shadow:inset 0 0 0 1px rgb(255 255 255 / 0.07);}.draft.svelte-dvu38v {background:rgb(var(--accent2-rgb) / 0.07);box-shadow:inset 0 0 0 1px rgb(var(--accent2-rgb) / 0.3);}.versions.svelte-dvu38v {margin-inline-start:0.4em;white-space:nowrap;}.language.svelte-dvu38v a:where(.svelte-dvu38v),
  .files.svelte-dvu38v a:where(.svelte-dvu38v),
  .provider.svelte-dvu38v {color:var(--lilac);text-decoration:underline;text-decoration-color:rgb(var(--accent-rgb) / 0.5);text-underline-offset:3px;}.body.svelte-dvu38v {display:grid;gap:40px;}

  /* a provider's address may be longer than a phone is wide */.provider.svelte-dvu38v {overflow-wrap:anywhere;}section.svelte-dvu38v {display:grid;gap:14px;padding-top:28px;border-top:1px solid var(--line);}h2.svelte-dvu38v {font-family:var(--font-display);font-size:var(--text-h3);font-weight:500;letter-spacing:-0.02em;}p.svelte-dvu38v,
  li.svelte-dvu38v {line-height:1.7;color:var(--text-2);}ul.svelte-dvu38v {display:grid;gap:10px;padding-inline-start:1.2em;list-style:disc;}li.svelte-dvu38v::marker {color:var(--lilac);}

  /* each bullet hangs in the space before its item; between columns, that space has to hold the
     bullet and still keep it clear of the column before */.files.svelte-dvu38v {grid-template-columns:repeat(auto-fill, minmax(12rem, 1fr));column-gap:2.5rem;}

  /* a fact still to be confirmed: plainly marked, never passed off as the final text */.pending.svelte-dvu38v {padding:1px 6px;border-radius:6px;color:var(--text);background:rgb(var(--accent2-rgb) / 0.12);box-shadow:inset 0 0 0 1px rgb(var(--accent2-rgb) / 0.35);-webkit-box-decoration-break:clone;box-decoration-break:clone;}.tbc.svelte-dvu38v {font-size:0.85em;color:var(--muted);}.updated.svelte-dvu38v {margin-top:56px;font-size:var(--text-small);color:var(--muted);}