/* Dialogs (30 Oct 2026): first-visit language welcome and the public username. Native <dialog> (top layer: no layout
   shift, focus kept inside, Esc closes). */
.pp-dialog{width:min(440px,calc(100vw - 2 * var(--gutter,16px)));max-height:calc(100dvh - 32px);padding:0;border:1px solid var(--line-2);border-radius:24px;background:var(--raised);color:var(--ink);box-shadow:var(--shadow-2);overflow:auto}
.pp-dialog::backdrop{background:rgba(3,9,7,.62);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
html[data-theme=light] .pp-dialog::backdrop{background:rgba(20,32,27,.38)}
.pp-dialog h2{margin:0;font:650 var(--fs-xl)/1.2 var(--display);letter-spacing:-.015em}
@media (prefers-reduced-motion:no-preference){.pp-dialog[open]{animation:pp-dialog-in .26s var(--ease-out,ease-out) both}.pp-dialog[open]::backdrop{animation:pp-fade .26s ease-out both}}
@keyframes pp-dialog-in{from{opacity:0;transform:translateY(14px) scale(.98)}}@keyframes pp-fade{from{opacity:0}}
/* First-visit language welcome (signed-out pages) */
.lw-form{position:relative;display:flex;flex-direction:column;gap:6px;padding:28px 22px 20px}
.lw-x{position:absolute;top:10px;right:10px}
.lw-mark{display:grid;place-items:center;width:46px;height:46px;margin-bottom:10px;border-radius:14px;color:var(--accent-tx);background:var(--accent-soft);border:1px solid var(--accent-line)}.lw-mark .i{width:24px;height:24px}
.lw-text{margin:0 0 12px;color:var(--ink-2);font-size:var(--fs-m)}
.lw-list{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.lw-lang{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-height:56px;padding:10px 14px;border-radius:14px;border:1px solid var(--line-2);background:var(--surface);color:var(--ink);text-align:left;cursor:pointer}
.lw-lang b{font:600 var(--fs-m)/1.15 var(--font)}.lw-lang small{font-size:11px;color:var(--ink-3);letter-spacing:.04em}
.lw-lang:hover{border-color:var(--line-3);background:var(--surface-2)}
.lw-lang:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.lw-best{grid-column:1/-1;flex-direction:row;align-items:center;justify-content:space-between;min-height:60px;border-color:var(--accent-line);background:linear-gradient(100deg,var(--accent-soft),var(--surface) 75%)}
.lw-best b{font-size:var(--fs-l)}.lw-best small{color:var(--accent-tx);letter-spacing:0;font-weight:600}
.lw-foot{margin:12px 0 0;font-size:var(--fs-xs);color:var(--ink-3)}
