/* Phone hand-off dialog (handoff.js): "Email to Mac" opens this sheet, which emails the
   visitor one Mac download link. v2 language: black panel, a thick deep-blue frame, square
   pixel corners, the ramp only, no gradients, no hairlines. Works on pages without
   site.css (the /modules page), so every token has its value as a fallback. */
.ho{position:fixed;inset:auto 0 0;margin:0 auto;width:min(100%,460px);max-width:100%;max-height:calc(100dvh - 24px);padding:0;border:0;background:transparent;color:var(--tx,#f4f5f6);overflow:visible}
.ho::backdrop{background:rgba(0,0,0,.72)}
.ho-panel{position:relative;margin:0 12px calc(12px + env(safe-area-inset-bottom));padding:28px 22px 22px;background:#000;border:3px solid var(--deep,#1f3480);box-shadow:6px 6px 0 var(--night,#0d1534);font-family:"Geist",-apple-system,BlinkMacSystemFont,system-ui,sans-serif;font-size:16px;line-height:1.5;letter-spacing:-.011em;-webkit-font-smoothing:antialiased}
.ho-title{margin:0 44px 0 0;font-size:24px;line-height:1.15;font-weight:700;letter-spacing:-.035em;text-wrap:balance}
.ho-lead{margin:8px 0 0;color:var(--tx2,#9aa0a8)}
.ho-x{position:absolute;top:10px;right:10px;display:grid;place-items:center;width:44px;height:44px;border:0;background:transparent;color:var(--tx2,#9aa0a8);cursor:pointer;transition:color .15s steps(2),background-color .15s steps(2)}
.ho-x svg{width:14px;height:14px;shape-rendering:crispEdges}
.ho-label{display:block;margin-top:22px;font-size:15px;font-weight:600}
.ho-input{display:block;width:100%;height:52px;margin-top:8px;padding:0 14px;border:2px solid var(--deep,#1f3480);border-radius:0;background:var(--n1,#131417);color:var(--tx,#f4f5f6);font:inherit;font-size:17px;-webkit-appearance:none;appearance:none}
.ho-input::placeholder{color:#6b6f76}
.ho-input:focus{outline:none;border-color:var(--light,#7d9aff)}
.ho-input[aria-invalid="true"]{border-color:#ff8a7a}
.ho-ts:empty{display:none}
.ho-ts{margin-top:12px}
.ho-msg{margin:10px 0 0;font-size:15px;color:#ffb3a8}
.ho-msg:empty{display:none}
.ho-send{display:flex;align-items:center;justify-content:center;width:100%;height:54px;margin-top:16px;border:0;border-radius:0;background:var(--blue,#345cd6);color:#fff;font:inherit;font-size:17px;font-weight:600;letter-spacing:-.01em;white-space:nowrap;cursor:pointer;box-shadow:inset 0 -4px 0 var(--deep,#1f3480);transition:background-color .15s steps(2)}
.ho-send:active{transform:translateY(1px)}
.ho-send[disabled]{cursor:progress;background:var(--deep,#1f3480);box-shadow:none}
.ho-note{margin:14px 0 0;font-size:14px;line-height:1.45;color:var(--tx2,#9aa0a8)}
.ho-alt{display:inline-block;margin-top:10px;padding:6px 0;font-size:15px;color:var(--tx,#f4f5f6);text-decoration:underline;text-decoration-color:var(--blue,#345cd6);text-decoration-thickness:2px;text-underline-offset:4px}
@media (hover:hover){
  .ho-x:hover{color:#fff;background:var(--night,#0d1534)}
  .ho-input:hover{border-color:var(--blue,#345cd6)}
  .ho-send:hover{background:var(--sheen,#5476e8)}
  .ho-alt:hover{color:#fff;text-decoration-color:var(--light,#7d9aff)}
}
.ho-alt.is-hint{text-decoration-color:var(--light,#7d9aff)}
.ho-done[hidden],.ho-form[hidden]{display:none}
.ho-done .ho-send{margin-top:22px}
.ho :focus-visible{outline:2px solid var(--light,#7d9aff);outline-offset:2px;border-radius:0}
.ho-input:focus-visible{outline:none}
@media (prefers-reduced-motion:reduce){.ho-x,.ho-send{transition:none}}
