/* Hortus Soni: one-time welcome note on the opening screen.
   Fixed and centred above the opening; nothing on the page moves. */
.ctw-pop{
  position:fixed; left:50%; top:50%; transform:translate(-50%,-50%);
  z-index:2147483200;
  width:min(660px, calc(100vw - 32px));
  max-height:calc(100vh - 32px); overflow:auto;
  display:flex; align-items:flex-end; gap:14px;
  padding:18px 20px 18px 14px;
  background:#ffffff; color:#141418;
  border:1px solid #1c2230; border-radius:16px;
  box-shadow:0 18px 48px rgba(0,0,0,.28);
  font:500 16px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
}
.ctw-soni{flex:none; width:132px; align-self:stretch; display:flex; flex-direction:column; justify-content:space-between; align-items:center}
.ctw-soni svg{display:block; width:132px; height:162px; flex:none}
/* Soni's hello: a small Sunday-comic speech bubble, tail pointing down at her */
.ctw-hello{
  position:relative; margin:0 0 12px; padding:6px 8px;
  background:#fff; color:#141418; border:2px solid #1c2230; border-radius:14px;
  font:700 11.5px/1.25 "Chalkboard SE","Comic Sans MS","Marker Felt",-apple-system,sans-serif;
  letter-spacing:.02em; text-transform:uppercase; text-align:center;
}
.ctw-hello::before,.ctw-hello::after{content:""; position:absolute; left:58%; width:0; height:0; border-style:solid}
.ctw-hello::before{bottom:-11px; border-width:11px 7px 0 3px; border-color:#1c2230 transparent transparent transparent}
.ctw-hello::after{bottom:-7px; margin-left:1px; border-width:8px 5px 0 2px; border-color:#fff transparent transparent transparent}
.ctw-sr{position:absolute; width:1px; height:1px; margin:-1px; padding:0; border:0; overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap}
.ctw-bubble{
  flex:1; min-width:0;
  background:#eef3fb; border:1px solid #b9c8e3;
  border-radius:14px 14px 14px 4px;
  padding:14px 16px;
}
.ctw-bubble p{margin:0 0 12px; color:#141418; font-weight:600}
.ctw-ok{
  display:inline-grid; place-items:center;
  min-width:112px; min-height:40px; padding:0 20px;
  border:1px solid #1c2230; border-radius:999px;
  background:#1c2230; color:#ffffff;
  font:800 14px/1 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  letter-spacing:.04em; cursor:pointer;
}
.ctw-ok:hover{background:#9b1d22; border-color:#9b1d22}
.ctw-ok:focus-visible{outline:2px solid #1c2230; outline-offset:3px}
@media (max-width:520px){
  .ctw-pop{flex-direction:column; align-items:center}
  .ctw-soni{width:auto; flex-direction:row; align-items:flex-end; gap:8px}
  .ctw-soni .ctw-hello{width:150px; margin:0 0 30px}
  .ctw-soni svg{width:78px; height:96px}
}

/* Reduce motion: nothing in the welcome note moves or fades when the setting is on (default unchanged). */
@media (prefers-reduced-motion: reduce) { [class*="ctw-"], [class*="ctw-"] *, [class*="ctw-"] *::before, [class*="ctw-"] *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; } }

/* build 200: × and Don't show again */
.ctw-bubble{position:relative}
.ctw-btns{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.ctw-never{background:transparent;border:1px solid currentColor;border-radius:999px;padding:3px 10px;font:700 12px/1.3 -apple-system,BlinkMacSystemFont,sans-serif;color:inherit;cursor:pointer}
.ctw-never:focus-visible,.ctw-x:focus-visible{outline:2px solid #1c2230;outline-offset:2px}
.ctw-x{position:absolute;top:4px;right:6px;min-width:26px;height:26px;border:0;background:transparent;color:inherit;font:800 18px/26px -apple-system,BlinkMacSystemFont,sans-serif;cursor:pointer;border-radius:6px}
.ctw-x:hover{background:rgba(0,0,0,.08)}
.ctw-bubble{padding-right:34px}
