:root{--saha-bubble-h:64px;--saha-bubble-gap:16px;--saha-help-clear:144px}.saha-launch{position:fixed;right:calc(var(--saha-bubble-gap) + env(safe-area-inset-right,0px));bottom:calc(var(--saha-bubble-gap) + env(safe-area-inset-bottom,0px));z-index:90;display:inline-flex;align-items:center;gap:10px;height:var(--saha-bubble-h);padding:0 20px 0 8px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--fg);box-shadow:var(--shadow-lift);font:inherit;font-weight:600;font-size:.95rem;cursor:pointer}.saha-launch:hover{border-color:var(--action)}.saha-launch:focus-visible{outline:2px solid var(--action);outline-offset:3px}.saha-launch img{width:48px;height:48px;border-radius:50%;flex:none}.saha-launch-short{display:none}@media (max-width:520px){.saha-launch-long{display:none}.saha-launch-short{display:inline}}body.has-saha-bubble .footer{padding-bottom:calc(34px + var(--saha-bubble-h) + var(--saha-bubble-gap) + var(--saha-help-clear))}.saha-sheet-layer{position:fixed;inset:0;z-index:2500}.saha-sheet-scrim{position:absolute;inset:0;border:0;padding:0;background:rgba(28,36,33,.45);cursor:pointer}.saha-sheet{position:absolute;top:0;right:0;bottom:0;width:min(440px,100%);display:flex;flex-direction:column;background:var(--bg);border-left:1px solid var(--border);box-shadow:var(--shadow-lift)}.saha-sheet-head{display:flex;align-items:center;gap:10px;padding:10px 12px 10px 16px;border-bottom:1px solid var(--border);background:var(--surface)}.saha-sheet-head img{width:32px;height:32px;flex:none}.saha-sheet-h{margin:0;flex:1;font-family:var(--serif);font-weight:400;font-size:1.25rem;color:var(--fg)}.saha-sheet-close{width:44px;height:44px;border-radius:var(--r-lg);border:1px solid var(--border);background:var(--surface);color:var(--fg);font-size:1.4rem;cursor:pointer}.saha-sheet-close:focus-visible{outline:2px solid var(--action);outline-offset:2px}.saha-sheet-body{flex:1;min-height:0;padding:12px}@media (max-width:760px){.saha-sheet{width:100%;border-left:0}.saha-sheet-body{padding:8px}}@media (prefers-reduced-motion:no-preference){.saha-sheet{animation:saha-sheet-in .22s ease both}@keyframes saha-sheet-in{0%{transform:translateX(24px);opacity:0}to{transform:none;opacity:1}}}