:root{--bg:#f5f6f8;--surface:#fff;--border:#d8dce3;--text:#1c2027;--muted:#5d6673;--accent:#2f5bd7;--danger:#c02626;--warning:#b45309;--font-writing:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-receiving:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-ui:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mark-size:1.2rem;--font-writing-scale:1;--font-receiving-scale:1}@media (prefers-color-scheme:dark){:root{--bg:#14171c;--surface:#1d2128;--border:#333a45;--text:#e8eaee;--muted:#9aa4b2;--accent:#6f95ff;--danger:#ff8080;--warning:#f59e0b}.sound-icon,.ai-mark-mono{filter:invert()}}@font-face{font-family:Damion;font-style:normal;font-weight:400;font-display:block;src:url(/fonts/damion-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Damion;font-style:normal;font-weight:400;font-display:block;src:url(/fonts/damion-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}*{box-sizing:border-box}html{-moz-text-size-adjust:100%;text-size-adjust:100%}@media (max-width:40rem){html{font-size:20px}}body{background:var(--bg);color:var(--text);margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}.page{max-width:60rem;margin:0 auto;padding:2rem 1.25rem 4rem;position:relative}.card-header button,.message-actions button{border:1px solid #0000;padding:.3rem .8rem;font-size:.8rem}.wordmark button:not(.lock-button):not(.view-toggle):not(.tips-button):not(.end-session-icon){border:1px solid #0000;padding:.2rem .45rem;font-size:max(.6rem,12px)}.title-row{align-items:center;gap:.6rem;display:flex}.page-header .title-row h1{margin-right:auto}.title-row .language-bar{flex:none;margin:0;padding:0}.tips-button{cursor:pointer;background:0 0;border:none;border-radius:.25rem;flex:none;justify-content:center;align-items:center;margin:-.2rem;padding:.2rem;display:inline-flex}.tips-button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.tips-button:hover .tips-icon{opacity:1}.tip-popup{text-align:left;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:.6rem;min-width:min(280px,100vw - 2.5rem)}.tip-popup-art{pointer-events:none;align-self:center;width:160px;height:auto;display:block}.tip-popup .tip-popup-lead{color:var(--text);margin:0}.arrival-thanks{margin:.35rem 0 0;font-size:.95rem;font-weight:600}.tip-popup-emails{flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.tip-popup-emails a{color:var(--accent);word-break:break-all;text-decoration:none}.tip-popup-emails a:hover{text-decoration:underline}.tips-icon{flex:none;width:auto;height:1.2rem}.page-header h1{margin:0 0 2px;font-size:1.75rem}@media (max-width:40rem){.page-header h1{font-size:min(20px,9.52381vw - 15.3333px)}.title-row{gap:.25rem}.title-row .tips-icon{margin-right:.25rem}}.help-link{border:1px solid var(--border);width:1.75rem;height:1.75rem;color:var(--muted);background:var(--surface);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:.95rem;font-weight:600;line-height:1;text-decoration:none;transition:color .15s,border-color .15s;display:inline-flex}.help-link:hover{color:var(--accent);border-color:var(--accent)}.help-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.page-header p{color:var(--muted);margin:0 0 .5rem}.wordmark{flex-wrap:wrap;align-items:center;gap:.6rem;margin:0;padding-bottom:11px;display:flex}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.lock-curtain{z-index:50;background:var(--bg);width:100%;height:100%;color:var(--muted);font:inherit;cursor:pointer;border:none;border-radius:0;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:0;font-weight:500;display:flex;position:fixed;inset:0}.lock-curtain-icon{width:3rem;height:3rem;color:var(--muted)}.lock-dialog{border:1px solid var(--border);background:var(--surface);width:min(20rem,100vw - 2rem);color:var(--text);border-radius:.75rem;padding:1.5rem}.lock-dialog::backdrop{background:#00000080}.lock-dialog h2{margin:0 0 .25rem;font-size:1.15rem}.lock-note{color:var(--muted);margin:0 0 1rem;font-size:.85rem}.lock-input{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);font:inherit;letter-spacing:.5em;text-align:center;border-radius:.4rem;padding:.5rem;font-size:1.5rem}.lock-error{color:var(--danger);margin:.5rem 0 0;font-size:.85rem}.lock-actions{gap:.5rem;margin-top:1.25rem;display:flex}.wordmark-title p{font-size:1.75rem;font-weight:700}@media (max-width:40rem){.wordmark-title p{font-size:20px}}.wordmark p{margin:0}.wordmark .wordmark-controls,.wordmark .end-session-confirm{margin-left:auto}.lock-button,.view-toggle,.end-session-icon,.settings-link{color:var(--muted);border-radius:.25rem;flex:none;justify-content:center;align-items:center;margin:-.2rem;padding:.2rem;display:inline-flex}.lock-button,.view-toggle,.end-session-icon{cursor:pointer;background:0 0;border:none}.end-session-icon,.lock-button:hover .lock-icon,.lock-button:focus-visible .lock-icon,.view-toggle:hover .wordmark-home,.view-toggle:focus-visible .wordmark-home,.settings-link:hover .settings-icon,.settings-link:focus-visible .settings-icon{color:var(--accent)}.lock-button:focus-visible,.view-toggle:focus-visible,.end-session-icon:focus-visible,.settings-link:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.logout-icon{width:1.2rem;height:1.2rem;color:inherit;flex:none;transition:color .12s}.end-session-icon:hover .logout-icon,.end-session-icon:focus-visible .logout-icon{color:var(--danger)}.lock-icon,.settings-icon{width:1.2rem;height:1.2rem;color:inherit;flex:none;transition:color .12s}.page-back{color:var(--accent);margin-top:.5rem;font-size:.95rem;text-decoration:none;display:inline-block}.page-back:hover{text-decoration:underline}.page-back-top{margin-top:0;margin-bottom:.4rem}.wordmark-controls{align-items:center;gap:.4rem;display:flex}.controls-compact{gap:.3rem}.controls-compact .help-link{width:1.5rem;height:1.5rem;font-size:.85rem}.wordmark .sound-toggle{justify-content:center;align-items:center;display:inline-flex}.sound-icon{object-fit:contain;width:1.5em;height:1.5em;display:inline-block}.wordmark .end-session-confirm{white-space:normal;text-align:right;flex-wrap:wrap;justify-content:flex-end;margin-top:0}.ai-links{justify-content:flex-end;align-items:center;gap:.75rem;height:1.2rem;margin:0;display:flex}.ai-row{justify-content:space-between;align-items:center;gap:.6rem;margin:0 0 13px;display:flex}.invitation-note{font-family:Edwardian Script ITC,Damion,Segoe Script,Snell Roundhand,Brush Script MT,cursive;font-size:clamp(12px, calc((100vw - 215px - var(--mark-size)) / 5.77), 1.1rem);color:var(--muted);white-space:nowrap;text-overflow:ellipsis;min-width:0;margin:0;overflow:hidden}@media (min-width:40rem) and (pointer:fine){.invitation-note{font-size:clamp(12px, calc((100vw - 215px - var(--mark-size)) / 5.77), 2.1875rem)}}.invitation-sphere{width:var(--mark-size);height:var(--mark-size);object-fit:contain;border-radius:50%;flex:none}.ai-links a{justify-content:center;align-items:center;height:100%;line-height:0;display:flex}.ai-mark{opacity:.75;width:1.2rem;height:1.2rem;transition:opacity .12s}.ai-links a:hover .ai-mark,.ai-links a:focus-visible .ai-mark{opacity:1}.wordmark .language-bar{margin:0;padding-top:0}.language-bar{flex-wrap:wrap;align-items:center;gap:.1rem;margin:0 0 1.5rem;padding-right:0;display:flex}.flag-button{opacity:.45;cursor:pointer;background:0 0;border:none;border-radius:.25rem;padding:.15rem;line-height:0;transition:opacity .15s;display:inline-flex}.flag-button:hover,.flag-button.chosen{opacity:1}.flag-button img{object-fit:cover;border:1px solid #00000024;border-radius:2px;width:18px;height:12px}.flag-button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.flag-more{color:var(--muted,inherit);letter-spacing:.05em;cursor:pointer;opacity:.75;background:0 0;border:none;padding:0 .3rem 0 0;font-size:.95rem;line-height:1}.flag-more:hover{opacity:1}.flag-more:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-radius:.25rem}.flag-popup-backdrop{z-index:43;cursor:pointer;background:#00000059;border:none;padding:0;position:fixed;inset:0}.flag-popup{z-index:44;background:var(--surface);border-radius:.6rem;flex-wrap:wrap;justify-content:center;gap:.5rem;max-width:min(22rem,100vw - 2rem);max-height:calc(100vh - 4rem);padding:.9rem;display:flex;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%);box-shadow:0 12px 32px #0000004d}.flag-popup .flag-button{opacity:.75;padding:.3rem}.flag-popup .flag-button.chosen,.flag-popup .flag-button:hover{opacity:1}.flag-popup .flag-button img{width:24px;height:18px}@media (max-width:40rem){.language-bar{flex-wrap:nowrap;gap:.1rem;padding-top:.65rem;padding-right:0}.language-bar .flag-button{padding:.08rem}.thread-at{white-space:normal;flex-wrap:wrap}.thread-actions{flex-basis:100%;order:-1}}.card{background:var(--surface);border:1px solid var(--border);border-radius:.75rem;margin-bottom:1.25rem;padding:1.25rem}.card h2{margin:0 0 .75rem;font-size:1.1rem}.card.latest-messages{padding-top:.75rem}.card.latest-messages h2{line-height:1.25}.show-history{width:fit-content;margin:0 auto 1.25rem;padding:.3rem .8rem;font-size:.8rem;display:block}.card-header{justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.75rem;display:flex}.card-header h2{margin:0}.delete-notice{color:var(--accent);margin-left:.6rem;font-size:.8rem;font-weight:400}tbody button{padding:.2rem .6rem;font-size:.8rem}.thread-sec{border-radius:.25rem;margin-left:.45rem;padding:.05rem .4rem;font-size:.625rem}.thread-edit-open{justify-content:center;align-items:center;display:inline-flex}.thread-edit-open svg{width:1.5em;height:1.5em;display:block}.thread-edit{flex-direction:column;gap:.3rem;width:100%;display:flex}.thread-edit-box{width:100%;padding:.35rem .45rem;font-size:.8rem}.thread-edit-actions{justify-content:flex-end;display:flex}.countdown-cell{white-space:nowrap}.countdown-cell.gone{color:var(--danger);font-weight:600}.countdown-cell.ending{color:var(--warning);font-weight:600}.countdown-cell button{margin-left:.5rem}.confirm-delete{white-space:nowrap;align-items:center;gap:.4rem;margin-top:.35rem;font-size:.8rem;display:flex}.name-row{justify-content:flex-start;gap:2rem;display:flex}.field{flex-direction:column;gap:.2rem;display:flex}.name-row .field{flex:0 20rem}.field-right{text-align:left;align-items:stretch}.name-row .field-right{margin-left:0}.field-right input,.field-right select{text-align:left}.known-sender{text-align:left;align-items:baseline;gap:.5rem;margin:0;padding:.55rem 0;font-weight:600;display:flex}label,.field-heading{letter-spacing:.02em;text-transform:uppercase;color:var(--muted);font-size:.8rem;font-weight:600}.message-field{grid-template-columns:1fr auto;grid-template-areas:"label label""box box""photo photo""send send";gap:.2rem;margin-top:.75rem;display:grid}.message-label{grid-area:label}.message-name{display:none}.message-box{grid-area:box}.message-box:disabled{opacity:1;background:var(--surface);color:var(--muted);cursor:not-allowed;border-style:dashed}.message-actions{grid-area:send}.message-field .field-error{grid-column:1/-1}.message-photo{grid-area:photo;align-items:flex-start;gap:.6rem;margin-top:.4rem;display:flex}.photo-side{flex-direction:column;align-items:flex-start;gap:.45rem;display:flex}.hair-colours{flex-wrap:wrap;gap:.3rem;max-width:12rem;display:flex}.hair-swatch{border:1px solid var(--border);width:1.35rem;height:1.35rem;color:var(--muted);cursor:pointer;border-radius:50%;padding:0;font-size:.7rem;line-height:1}.hair-swatch.chosen{outline:2px solid var(--accent);outline-offset:1px}.message-photo img{object-fit:cover;border:1px solid var(--border);border-radius:.4rem;width:5rem;height:5rem}.photo-input{opacity:0;pointer-events:none;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.photo-button{border:1px solid var(--accent);color:var(--accent);letter-spacing:normal;text-transform:none;white-space:nowrap;cursor:pointer;background:0 0;border-radius:.4rem;padding:.3rem .8rem;font-size:.8rem;font-weight:600}.photo-input:focus-visible+.photo-button{outline:2px solid var(--accent);outline-offset:1px}.thread-photo{border:1px solid var(--border);object-fit:cover;border-radius:.4rem;max-width:min(12rem,100%);max-height:9rem;margin-top:.3rem;display:block}@media (max-width:40rem){.message-field{margin-top:.2rem}.card{padding-top:.6rem}.message-field{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"label flags send""box box box""photo photo photo"}.message-field .receiver-languages{flex-wrap:nowrap;grid-area:flags;justify-content:flex-start;align-self:center;margin-left:0;margin-right:.5rem}.receiver-heading{justify-content:flex-start}.field-right.has-receiver .receiver-heading{display:none}.message-field .message-label{white-space:nowrap;text-overflow:ellipsis;align-self:center;min-width:0;position:relative;top:3px;overflow:hidden}.message-field.named .message-label{display:none}.message-field.named .message-name{min-width:0;max-width:100%;color:inherit;font:inherit;letter-spacing:.04em;text-transform:uppercase;text-align:left;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;background:0 0;border:none;grid-area:label;align-self:center;align-items:center;padding:0;font-size:.8rem;font-weight:600;display:inline-flex;position:relative;top:3px;overflow:hidden}.message-field.named .message-name:after{content:" ▾";opacity:.7;font-size:.7em}.field-right.has-receiver .receiver-label{display:none}.message-field .message-actions{flex-wrap:wrap;justify-content:flex-end;place-self:center end;gap:.4rem;margin-top:0;position:relative;top:-4px}.message-field .message-actions button,.message-field .photo-button{padding:.25rem .6rem;font-size:.65rem}}textarea{resize:vertical;min-height:3rem}input,textarea,select{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);font:inherit;border-radius:.4rem;padding:.55rem .7rem}.field-right select+input{margin-top:.4rem}input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.actions{align-items:center;gap:.75rem;margin-top:1rem;display:flex}button{background:var(--accent);color:#fff;font:inherit;cursor:pointer;border:none;border-radius:.4rem;padding:.55rem 1.4rem;font-weight:600}button:disabled{opacity:.6;cursor:default}button.secondary{color:var(--accent);border:1px solid var(--accent);background:0 0}.copy-note{color:var(--muted);font-size:.85rem}dialog.invite{border:1px solid var(--border);background:var(--surface);width:min(34rem,100vw - 2rem);color:var(--text);border-radius:.75rem;padding:1.5rem}dialog.invite::backdrop{background:#00000080}dialog.invite h2{margin:0 0 .25rem;font-size:1.25rem}.invite-hint{color:var(--muted);margin:0 0 1rem;font-size:.9rem}.verify-lead{color:var(--text);margin:0 0 1rem;line-height:1.5}.verify{flex-direction:column;gap:1rem;display:flex}.verify-field{text-transform:none;letter-spacing:normal;flex-direction:column;gap:.4rem;font-weight:400;display:flex}.verify-field span{color:var(--muted);font-size:.9rem}.verify-field .verify-hint{margin-top:-.25rem;font-size:.8rem}.verify-field textarea{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);resize:vertical;overflow-wrap:anywhere;border-radius:.5rem;padding:.7rem;font-family:ui-monospace,Cascadia Mono,Segoe UI Mono,Menlo,Consolas,monospace;font-size:.9rem;line-height:1.5}.verify-field textarea:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.verify-status{flex-direction:column;gap:.6rem;padding-top:.2rem;display:flex}.verify-status button{border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;border-radius:.5rem;align-self:flex-start;padding:.5rem 1.1rem;font-family:inherit;font-size:.95rem;font-weight:600}.verify-status button[disabled]{opacity:.65;cursor:default}.verify-status-note{color:var(--muted);margin:0;font-size:.85rem;line-height:1.45}.verify-verdict{border:1px solid var(--border);border-left:4px solid var(--border);background:var(--surface);border-radius:.5rem;padding:.85rem 1rem}.verify-verdict.good{background:#f1f8f1;border-color:#2f7d32}.verify-verdict.bad{border-color:var(--danger);background:#fdf3f3}.verify-headline{margin:0 0 .35rem;font-weight:600;line-height:1.35}.verify-verdict.good .verify-headline{color:#2f7d32}.verify-verdict.bad .verify-headline{color:var(--danger)}.verify-detail{overflow-wrap:anywhere;margin:0;line-height:1.5}.verify-notes{color:var(--muted);flex-direction:column;gap:.75rem;font-size:.9rem;line-height:1.5;display:flex}.verify-notes p{margin:0}.verify-caveat{border-top:2px solid #aeb6c2;padding-top:.75rem}.session-notice{z-index:42;border:1px solid var(--border);background:var(--surface);border-radius:.7rem;align-items:center;gap:.6rem;width:calc(100vw - 2rem);max-width:26rem;margin:0;padding:.7rem .9rem;font-size:.95rem;line-height:1.35;display:flex;position:fixed;top:.75rem;left:50%;transform:translate(-50%);box-shadow:0 6px 20px #00000040}.session-notice span{flex:1}.session-notice button{color:var(--muted);cursor:pointer;background:0 0;border:0;flex:none;padding:0 .35rem;font-size:1.2rem;line-height:1}.arrival{z-index:42;border:1px solid var(--border);background:var(--surface);text-align:center;border-radius:.9rem;width:calc(100vw - 2rem);max-width:22rem;max-height:calc(100vh - 1.5rem);padding:1rem;animation:.2s ease-out country-welcome-in;position:fixed;top:.75rem;left:50%;overflow-y:auto;transform:translate(-50%);box-shadow:0 6px 20px #00000040}.arrival-rule{border:0;border-top:1px solid var(--border);opacity:.6;margin:.9rem 0 0}.arrival-steps{color:var(--muted);text-align:left;margin:.45rem 0 0;font-size:.85rem;line-height:1.4}.arrival-install{border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;border-radius:.5rem;padding:.45rem 1.1rem;font-family:inherit;font-size:.9rem;font-weight:600}.arrival-line{margin:.6rem 0 0;font-size:.95rem;line-height:1.4}.arrival-line a{color:var(--accent)}.touch-only{display:none}@media (pointer:coarse){.touch-only{display:inline}.pointer-only{display:none}.name-row .field-named{flex-direction:row;align-items:baseline;gap:.5rem}.field-named .known-sender{padding:0;line-height:1.2}.name-row:has(.field-named){gap:.3rem}.card:has(.field-named){padding-top:.4rem}}.arrival-art{margin:.7rem 0 0}.arrival-art img{width:100%;max-width:11rem;height:auto}.arrival-close{border:1px solid var(--border);background:var(--bg);color:var(--text);cursor:pointer;border-radius:.5rem;margin-top:.9rem;padding:.4rem 1rem;font-family:inherit;font-size:.9rem}.country-welcome{background:var(--accent);color:#fff;text-align:center;border-radius:999px;max-width:100%;margin:0;padding:.55rem 1.1rem;font-weight:600;display:inline-block}@keyframes country-welcome-in{0%{opacity:0;transform:translate(-50%,-.4rem)}to{opacity:1;transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.country-welcome{animation:none}}.stats-login{flex-direction:column;gap:.75rem;max-width:20rem;display:flex}.stats-field{text-transform:none;letter-spacing:normal;flex-direction:column;gap:.35rem;font-weight:400;display:flex}.stats-field span{color:var(--muted);font-size:.9rem}.stats-field input{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);border-radius:.5rem;padding:.5rem .7rem;font-family:inherit;font-size:1rem}.stats-field input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.stats-block h2{margin:0 0 .25rem;font-size:1.1rem}.stats-list{flex-direction:column;gap:.35rem;margin:.6rem 0 0;display:flex}.stats-list>div{border-bottom:1px solid var(--border);align-items:baseline;gap:.75rem;padding-bottom:.35rem;display:flex}.stats-list dt{color:var(--muted);flex:auto}.stats-list dd{font-variant-numeric:tabular-nums;flex:none;margin:0;font-family:ui-monospace,Cascadia Mono,Segoe UI Mono,Menlo,Consolas,monospace;font-weight:600}dialog.end-session-dialog{border:1px solid var(--border);background:var(--surface);width:calc(100vw - 2rem);max-width:28rem;color:var(--text);border-radius:.75rem;padding:1.25rem}dialog.end-session-dialog::backdrop{background:#10141b8c}dialog.end-session-dialog h2{margin:0 0 .6rem;font-size:1.25rem}.end-session-what{margin:0 0 1.1rem;line-height:1.55}.end-session-choice{cursor:pointer;text-transform:none;letter-spacing:normal;color:var(--text);align-items:flex-start;gap:.6rem;margin-bottom:.9rem;font-size:1rem;font-weight:400;line-height:1.45;display:flex}.end-session-choice input[type=checkbox]{flex:none;width:1.15rem;height:1.15rem;margin-top:.15rem}.end-session-choice small{color:var(--muted);margin-top:.2rem;font-size:.85rem;line-height:1.45;display:block}.end-session-nested{margin-left:1.75rem}.end-session-nested.off{cursor:default;opacity:.55}dialog.end-session-dialog .actions{flex-wrap:wrap;gap:.6rem;margin-top:1.25rem;display:flex}dialog.end-session-dialog .danger{border:1px solid var(--danger);background:var(--danger);color:#fff;cursor:pointer;border-radius:.4rem;padding:.45rem 1rem;font-weight:600}dialog.end-session-dialog .danger:hover{background:#a11f1f;border-color:#a11f1f}dialog.end-session-dialog .danger:focus-visible{outline:2px solid var(--danger);outline-offset:2px}.invite-note{text-transform:none;letter-spacing:normal;flex-direction:column;gap:.35rem;margin:0 0 .75rem;font-weight:400;display:flex}.invite-note span{color:var(--muted);font-size:.9rem}.invite-note input{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);border-radius:.5rem;padding:.5rem .7rem;font-family:inherit;font-size:.9rem}.invite-note input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.invite-text{border:1px solid var(--border);background:var(--bg);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:.5rem;margin:0;padding:.9rem;font-family:inherit;font-size:.9rem}dialog.invite .actions{flex-wrap:wrap;margin-top:1.25rem}.near-match{border:1px solid var(--accent);background:var(--bg);border-radius:.5rem;margin-top:1rem;padding:.9rem 1rem}.near-match p{margin:0;font-size:.9rem}.near-match .actions{flex-wrap:wrap;margin-top:.75rem}.field-error,.form-error{color:var(--danger);font-size:.85rem}.invite-expired{font-size:1.225rem;font-weight:700}.invite-dead{border:1px solid var(--border);border-left:3px solid var(--danger);color:var(--text);border-radius:.6rem;margin:0 0 1rem;padding:.75rem .9rem;font-size:1rem;line-height:1.45}.receipt dl{grid-template-columns:max-content 1fr;gap:.35rem 1rem;margin:0;display:grid}.receipt dl>div{display:contents}.receipt dt{color:var(--muted);font-size:.85rem}.receipt dd{margin:0}.table-scroll{max-height:22rem;overflow:auto}.direction{color:var(--muted)}tbody tr.received .direction{color:var(--accent)}tbody tr.received td:first-child{font-weight:600}table{border-collapse:collapse;width:100%;font-size:1rem}th,td{text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:.5rem .75rem}th{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:.8125rem}tbody tr:last-child td{border-bottom:none}.th-hint{text-transform:none;letter-spacing:0;font-size:.8125rem;font-weight:400;display:block}.reveal{cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:manipulation}.reveal-plain,.reveal.shown .reveal-cipher{display:none}.reveal.shown .reveal-plain{display:inline}.reveal:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.message-cell{white-space:normal;min-width:12rem;max-width:22rem}.message-text{white-space:pre-wrap}.last-message{flex-direction:column;gap:.2rem;margin-top:.9rem;display:flex}.thread{overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:var(--border) transparent;border:1px solid var(--border);background:var(--bg);border-radius:.4rem;max-height:min(18rem,60dvh);padding:.6rem .8rem;overflow:hidden auto}.thread-line{opacity:1;grid-template-columns:1fr;grid-template-areas:"who""text""at";row-gap:.1rem;margin:0 0 .6rem;font-size:.9rem;transition:opacity 1s ease-out;display:grid}.thread-line.saved{border-left:2px dashed var(--border);opacity:.85;padding-left:.5rem}.saved-mark{color:var(--muted);font-style:italic}.thread-line.fading{opacity:0}.thread-who{grid-area:who}.thread-text{grid-area:text}.thread-line:last-child{margin-bottom:0}.thread-who{color:var(--muted);font-size:.8rem}.thread-line.received .thread-who{color:var(--accent);font-weight:600}.thread-text{overflow-wrap:anywhere}.receiver-heading{justify-content:flex-start;align-items:center;gap:.25rem;width:100%;display:flex}.receiver-languages{gap:.15rem;margin:0;padding-right:0}.receiver-heading label{white-space:nowrap}.receiver-heading .language-bar{flex-wrap:nowrap}@media (max-width:40rem){.receiver-heading{gap:.3rem}.receiver-languages{gap:.1rem}.flag-more{position:relative}.flag-more:before{content:"";height:1.7rem;position:absolute;top:50%;left:0;right:-.1rem;transform:translateY(-50%)}.receiver-languages .flag-button{padding:.1rem}}.thread-original{color:var(--muted);margin-top:.15rem;font-size:.833em;font-style:italic;display:block}.thread-at{color:var(--muted);white-space:nowrap;grid-area:at;align-items:center;gap:.15rem;font-size:.625rem;display:flex}.thread-left{font-size:.6875rem;font-weight:600}.thread-actions{align-items:center;gap:.15rem;display:flex}.thread-left.ending{color:var(--warning)}.thread-stamp{margin-left:auto}.received-meta{color:var(--muted);margin:.5rem 0 0;font-size:.85rem}.received-message{border:1px solid var(--border);background:var(--bg);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:.4rem;margin:0;padding:.7rem .8rem}.mono{font-family:ui-monospace,SFMono-Regular,Cascadia Mono,Consolas,monospace;font-size:.85em}.empty{color:var(--muted);margin:0}@media (max-width:40rem){.name-row{flex-direction:column;gap:.75rem}.name-row .field{flex:0 auto}.name-row .field-right{margin-left:0}.field-right{text-align:left;align-items:stretch}.field-right input{text-align:left}.receiver-controls.settled{display:none}.receiver-controls.settled.open{display:block}.receiver-label{cursor:pointer}.receiver-label:after{content:" ▾";opacity:.7;font-size:.7em}}.flag-popup-wait{text-align:center;color:var(--muted,#6b7280);flex-basis:100%;margin:0 0 .15rem;font-size:.8rem;line-height:1.3}.settings-contents{border-bottom:2px solid #aeb6c2;margin:1rem 0 0;padding-bottom:1rem}.settings-search{flex-direction:column;gap:.35rem;max-width:34rem;margin:0 0 1rem;display:flex}.settings-search input{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);border-radius:.5rem;padding:.5rem .7rem;font-family:inherit;font-size:1rem}.settings-search input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.topic-page{border:1px solid var(--border);color:var(--muted);white-space:nowrap;border-radius:.3rem;margin-left:.5rem;padding:.05rem .4rem;font-size:.75rem}.settings-contents h2{margin:0 0 .5rem;font-size:1.1rem}.settings-contents ul{margin:0;padding-left:1.15rem}.settings-contents li{margin-bottom:0;padding-bottom:.35rem}.settings-contents li:last-child{padding-bottom:0}.settings-contents a{color:var(--accent);text-decoration:none}.settings-contents a:hover{text-decoration:underline}@media (min-width:34rem){.settings-contents ul{columns:2;column-gap:1.5rem;max-width:34rem}.settings-contents li{break-inside:avoid}}#last-message,#save-all,#fonts,#invitation-image,#home-view{scroll-margin-top:1rem}.settings-group{flex-direction:column;gap:1rem;margin:1rem 0 0;display:flex}.settings-divider{border:0;border-top:2px solid #aeb6c2;height:0;margin:0}.settings-row{cursor:pointer;text-transform:none;letter-spacing:normal;color:var(--text);align-items:flex-start;gap:.6rem;font-size:1rem;font-weight:400;display:flex}.settings-row input[type=checkbox]{flex:none;width:1.1rem;height:1.1rem;margin:.15rem 0 0}.settings-label{color:var(--text)}.settings-aside{color:var(--muted);margin:-.5rem 0 0;padding-left:1.7rem;font-size:.85rem;line-height:1.45}.settings-kept{color:var(--muted);margin:0;font-size:.85rem}.kept-card{border:1px dashed var(--border)}.kept-who{color:var(--muted);margin:0 0 .25rem;font-size:.85rem}.kept-text{color:var(--text);white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 .5rem}.kept-meta{color:var(--muted);margin:0;font-size:.8rem;line-height:1.45}.settings-duration{flex-direction:column;gap:.5rem;padding-left:1.7rem;display:flex}.settings-duration-lead{color:var(--text);margin:0}.rolodex{align-items:center;gap:.4rem;display:flex}.rolodex-column{flex-direction:column;align-items:center;gap:.2rem;display:flex}.rolodex-label{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:.75rem}.rolodex-window{width:4rem;height:7.5rem;position:relative}.rolodex-list{scroll-snap-type:y mandatory;scrollbar-width:none;border:1px solid var(--border);background:var(--surface);border-radius:.5rem;flex-direction:column;align-items:stretch;height:100%;padding:2.5rem 0;display:flex;overflow-y:auto}.rolodex-list::-webkit-scrollbar{display:none}.rolodex-item{scroll-snap-align:center;height:2.5rem;color:var(--muted);font-variant-numeric:tabular-nums;cursor:pointer;opacity:.55;background:0 0;border:none;flex:none;padding:0;font-size:1.1rem;line-height:2.5rem;transition:color .12s,opacity .12s}.rolodex-item.chosen{color:var(--text);opacity:1}.rolodex-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:.25rem}.rolodex-band{pointer-events:none;border-top:1px solid var(--accent);border-bottom:1px solid var(--accent);border-radius:.25rem;height:2.5rem;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.rolodex-colon{color:var(--muted);padding-top:1rem;font-size:1.2rem}.settings-duration.off{opacity:.45}.message-box{font-family:var(--font-writing);font-size:calc(1em * var(--font-writing-scale))}.thread-edit-box{font-family:var(--font-writing);font-size:calc(.8rem * var(--font-writing-scale))}.thread-line.sent .thread-text,tr.sent .message-cell{font-family:var(--font-writing);font-size:calc(1em * var(--font-writing-scale))}.thread-line.received .thread-text,.kept-text,tr.received .message-cell{font-family:var(--font-receiving);font-size:calc(1em * var(--font-receiving-scale))}.font-sample{border:1px dashed var(--border);color:var(--text);overflow-wrap:anywhere;border-radius:.3rem;margin:0;padding:.4rem .6rem;font-size:.95rem}.settings-font-row{flex-direction:column;gap:.4rem;padding-left:1.7rem;display:flex}.settings-font-row label{letter-spacing:normal;text-transform:none;color:var(--text);font-size:1rem;font-weight:400}.settings-font-row select{max-width:20rem}.message-box::placeholder,.thread-edit-box::placeholder{font-family:var(--font-ui)}.settings-size{align-items:center;gap:.6rem;display:flex}.settings-size label{letter-spacing:.02em;text-transform:uppercase;color:var(--muted);flex:none;font-size:.8rem;font-weight:600}.settings-size input[type=range]{width:auto;min-width:0;accent-color:var(--accent);background:0 0;border:0;flex:auto;height:auto;padding:.7rem 0}.settings-size-name{min-width:4.5rem;color:var(--text);flex:none;font-size:.85rem}.settings-mark{flex-direction:column;gap:.5rem;padding-left:1.7rem;display:flex}.settings-mark-row{grid-template-columns:max-content max-content;justify-content:start;align-items:center;gap:.6rem;display:grid}.settings-mark-preview,.settings-mark-swatch{justify-self:center}.settings-mark-preview{object-fit:cover;background:var(--bg);border-radius:50%;flex:none}.settings-mark-pick{border:1px solid var(--accent);color:var(--accent);letter-spacing:normal;text-transform:none;white-space:nowrap;cursor:pointer;background:0 0;border-radius:.4rem;padding:.3rem .8rem;font-size:.8rem;font-weight:600}.settings-mark-swatch{object-fit:cover;background:var(--bg);border-radius:50%;flex:none;width:1.4rem;height:1.4rem}.settings-mark-row button{padding:.3rem .8rem;font-size:.8rem}.settings-mark-note{color:var(--danger);margin:0;font-size:.85rem}.settings-note{color:var(--muted);margin:0;font-size:.85rem;line-height:1.45}:root[data-scroll-lock=on] body:has(.page-scroll){overscroll-behavior:none;height:100dvh;overflow:hidden}:root[data-scroll-lock=on] body:has(.page-scroll) .page{flex-direction:column;height:100dvh;padding-top:0;padding-bottom:0;display:flex;overflow:hidden}:root[data-scroll-lock=on] .page-top{background:var(--bg);flex:none}:root[data-scroll-lock=on] .page-scroll{overscroll-behavior:contain;flex:auto;min-height:0;padding-bottom:4rem;overflow-y:auto}:root[data-scroll-lock=off] .page-scroll{overflow:visible}button.emoji-open{letter-spacing:normal;padding:.3rem .6rem;font-size:1.2rem;line-height:1}button.emoji-open:disabled{opacity:.45;cursor:default}.emoji-popup{flex-flow:column;gap:0;width:min(24rem,100vw - 2rem);max-width:none;max-height:min(26rem,100dvh - 5rem);padding:.7rem;display:flex;overflow:hidden}.emoji-jump{border-bottom:1px solid var(--border);flex:none;justify-content:space-between;gap:.1rem;margin-bottom:.4rem;padding-bottom:.5rem;display:flex}.emoji-jump-button{cursor:pointer;background:0 0;border:none;border-radius:.3rem;flex:1 1 0;min-width:0;padding:.3rem 0;font-size:1.15rem;line-height:1}.emoji-jump-button:hover,.emoji-jump-button:focus-visible{background:var(--bg)}.emoji-grid{overscroll-behavior:contain;flex:auto;min-height:0;overflow-y:auto}.emoji-group-name{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;margin:.5rem 0 .3rem;font-size:.75rem;font-weight:600}.emoji-group:first-child .emoji-group-name{margin-top:0}.emoji-group-grid{flex-wrap:wrap;gap:.1rem;display:flex}.emoji-choice{cursor:pointer;background:0 0;border:none;border-radius:.3rem;width:3rem;height:3rem;padding:0;font-size:2rem;line-height:1}.emoji-choice:hover,.emoji-choice:focus-visible{background:var(--bg)}.thread-edit-actions button.emoji-open{padding:.15rem .4rem;font-size:.9rem}.invitation-sphere-button{cursor:pointer;vertical-align:middle;background:0 0;border:none;flex:none;padding:0;line-height:0;display:inline-flex}.mark-large{z-index:41;cursor:pointer;background:0 0;border:none;border-radius:50%;width:min(12rem,60vw,40dvh);height:min(12rem,60vw,40dvh);padding:0;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 12px 32px #00000073}.mark-large img{object-fit:cover;border-radius:50%;width:100%;height:100%}.wordmark-home{vertical-align:middle;width:1.2rem;height:1.2rem;color:var(--muted);flex:none;transition:color .12s}.tip-appeal{text-align:center;color:var(--muted);margin:.15rem 0 0;font-size:.9rem;line-height:1.4}.contribute-page{text-align:center;flex-direction:column;align-items:center;max-width:34rem;margin:1rem 0 0;display:flex}.contribute-lead{color:var(--text);text-align:left;margin:0 0 1rem;line-height:1.5}.settings-section-heading{margin:0 0 .5rem;font-size:1.1rem}.home-screen-steps ul{margin:0;padding-left:1.15rem;line-height:1.5}.home-screen-steps li{margin-bottom:.55rem}.home-screen-steps li:last-child{margin-bottom:0}.home-screen-steps .pill{border:1px solid var(--border);background:var(--bg);border-radius:.3rem;margin:0 .15rem;padding:.05rem .4rem;font-size:.85em;display:inline-block}.home-screen-steps .install{margin-top:1rem}.home-screen-steps .install p{margin:0}.home-screen-steps .install-note{color:var(--muted);font-size:.9rem}.how-dialog{border:1px solid var(--border);background:var(--surface);width:calc(100vw - 2.5rem);max-width:24rem;color:var(--text);border-radius:.9rem;padding:1.1rem}.how-dialog::backdrop{background:#00000073}.how-dialog h2{margin:0 0 .6rem;font-size:1.1rem}.how-dialog p{margin:0 0 .6rem;line-height:1.45}.how-dialog ul{margin:0 0 .9rem;padding-left:1.15rem;line-height:1.5}.how-dialog li{margin-bottom:.5rem}.how-dialog button{border:1px solid var(--border);background:var(--bg);color:var(--text);cursor:pointer;border-radius:.5rem;padding:.45rem 1.2rem;font-family:inherit;font-size:.95rem}.sound-test p{margin:.6rem 0 0}.sound-test button{border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;border-radius:.5rem;padding:.5rem 1.1rem;font-family:inherit;font-size:.95rem;font-weight:600}.sound-test-said{color:var(--muted);font-size:.9rem;line-height:1.45}.home-screen-steps .install button{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:.5rem;padding:.55rem 1.1rem;font-family:inherit;font-size:1rem}.welcome-jar{margin-top:.5rem}.welcome-jar-icon{width:2.4rem;height:auto;display:inline-block}
