.contact-sheet{z-index:60;position:fixed;inset:0}.contact-sheet__overlay{z-index:0;cursor:default;pointer-events:auto;opacity:0;touch-action:manipulation;background-color:#00000080;border:none;margin:0;padding:0;transition:opacity .32s;position:fixed;inset:0}.contact-sheet__overlay.is-visible{opacity:1}.contact-sheet__panel{z-index:1;pointer-events:auto;box-sizing:border-box;background-color:var(--background);color:var(--foreground);will-change:transform;padding:0 1rem max(1rem, env(safe-area-inset-bottom,0px));border-radius:1rem 1rem 0 0;flex-direction:column;gap:.75rem;transition:transform .32s cubic-bezier(.32,.72,0,1);display:flex;position:fixed;bottom:0;left:0;right:0;transform:translateY(100%)}.contact-sheet__panel.is-visible{transform:translate(0,0)}.contact-sheet__handle{background-color:var(--border);border-radius:9999px;flex-shrink:0;width:2.5rem;height:.25rem;margin:.625rem auto 0}.contact-sheet__intro{color:var(--muted-foreground);text-align:center;margin:0;font-size:.875rem;line-height:1.45}.contact-sheet__actions{flex-direction:column;gap:.5rem;padding-bottom:.25rem;display:flex}.contact-sheet__action{width:100%;min-height:2.75rem;font:inherit;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border-radius:.5rem;justify-content:flex-start;align-items:center;gap:.75rem;padding-inline:.75rem;font-size:.875rem;font-weight:600;text-decoration:none;display:inline-flex}.contact-sheet__action-icon{flex-shrink:0;width:1rem;height:1rem}.contact-sheet__x-icon{flex-shrink:0;width:1rem;height:1rem;font-size:.8125rem;font-weight:700;line-height:1}@media (prefers-reduced-motion:reduce){.contact-sheet__overlay,.contact-sheet__panel{transition:none}.contact-sheet__panel{transform:translate(0,0)}}
.locale-sheet{z-index:60;position:fixed;inset:0}.locale-sheet__overlay{z-index:0;cursor:default;pointer-events:auto;opacity:0;touch-action:manipulation;background-color:#00000080;border:none;margin:0;padding:0;transition:opacity .32s;position:fixed;inset:0}.locale-sheet__overlay.is-visible{opacity:1}.locale-sheet__panel{z-index:1;pointer-events:auto;box-sizing:border-box;background-color:var(--background);max-height:min(70dvh,28rem);color:var(--foreground);will-change:transform;padding-bottom:max(.5rem, env(safe-area-inset-bottom,0px));border-radius:1rem 1rem 0 0;flex-direction:column;transition:transform .32s cubic-bezier(.32,.72,0,1);display:flex;position:fixed;bottom:0;left:0;right:0;transform:translateY(100%)}.locale-sheet__panel.is-visible{transform:translate(0,0)}.locale-sheet__handle{background-color:var(--border);border-radius:9999px;flex-shrink:0;width:2.5rem;height:.25rem;margin:.625rem auto 0}.locale-sheet__header{text-align:center;flex-shrink:0;padding:.75rem 1rem .5rem;font-size:.875rem;font-weight:600;line-height:1.25rem}.locale-sheet__list{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:1;min-height:0;padding:0 .5rem .75rem;overflow-y:auto}.locale-sheet__option{width:100%;min-height:2.75rem;font:inherit;color:var(--foreground);text-align:start;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:.5rem;justify-content:space-between;align-items:center;gap:.75rem;padding:0 .75rem;font-size:.875rem;line-height:1.25rem;transition:background-color .15s;display:flex}.locale-sheet__option:hover{background-color:var(--muted)}.locale-sheet__option.is-selected{background-color:color-mix(in oklab, var(--muted) 70%, var(--accent));font-weight:600}.locale-sheet__option:active{transform:scale(.99)}.locale-sheet__check{width:1.25rem;height:1.25rem;color:var(--primary);flex-shrink:0}@media (prefers-reduced-motion:reduce){.locale-sheet__overlay,.locale-sheet__panel{transition:none}.locale-sheet__panel{transform:translate(0,0)}}
.morse-config-sheet{z-index:60;position:fixed;inset:0}.morse-config-sheet__overlay{z-index:0;cursor:default;pointer-events:auto;opacity:0;touch-action:manipulation;background-color:#00000080;border:none;margin:0;padding:0;transition:opacity .32s;position:fixed;inset:0}.morse-config-sheet__overlay.is-visible{opacity:1}.morse-config-sheet__panel{z-index:1;pointer-events:auto;box-sizing:border-box;background-color:var(--background);max-height:min(70dvh,28rem);color:var(--foreground);will-change:transform;padding-bottom:max(.5rem, env(safe-area-inset-bottom,0px));border-radius:1rem 1rem 0 0;flex-direction:column;transition:transform .32s cubic-bezier(.32,.72,0,1);display:flex;position:fixed;bottom:0;left:0;right:0;transform:translateY(100%)}.morse-config-sheet__panel.is-visible{transform:translate(0,0)}.morse-config-sheet__handle{background-color:var(--border);border-radius:9999px;flex-shrink:0;width:2.5rem;height:.25rem;margin:.625rem auto 0}.morse-config-sheet__header{text-align:center;flex-shrink:0;padding:.75rem 1rem .25rem;font-size:.875rem;font-weight:600;line-height:1.25rem}.morse-config-sheet__hint{text-align:center;color:var(--muted-foreground);flex-shrink:0;margin:0;padding:0 1rem .5rem;font-size:.75rem;line-height:1.35}.morse-config-sheet__list{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:1;min-height:0;padding:0 .5rem .75rem;overflow-y:auto}.morse-config-sheet__option{width:100%;min-height:2.75rem;font:inherit;color:var(--foreground);text-align:start;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:.5rem;justify-content:space-between;align-items:center;gap:.75rem;padding:0 .75rem;font-size:.875rem;line-height:1.25rem;transition:background-color .15s;display:flex}.morse-config-sheet__option:hover:not(:disabled){background-color:var(--muted)}.morse-config-sheet__option.is-selected{background-color:color-mix(in oklab, var(--muted) 70%, var(--accent));font-weight:600}.morse-config-sheet__option:disabled{opacity:.45;cursor:not-allowed}.morse-config-sheet__option:active:not(:disabled){transform:scale(.99)}.morse-config-sheet__check{width:1.25rem;height:1.25rem;color:var(--primary);flex-shrink:0}@media (prefers-reduced-motion:reduce){.morse-config-sheet__overlay,.morse-config-sheet__panel{transition:none}.morse-config-sheet__panel{transform:translate(0,0)}}
@keyframes app-drawer-enter{0%{transform:translateY(-100%)}to{transform:translate(0,0)}}@keyframes app-drawer-exit{0%{transform:translate(0,0)}to{transform:translateY(-100%)}}.app-drawer{z-index:50;pointer-events:none;position:fixed;inset:0}.app-drawer__overlay{z-index:0;cursor:default;pointer-events:none;opacity:0;touch-action:manipulation;background-color:#00000080;border:none;margin:0;padding:0;transition:opacity .48s;position:fixed;inset:0}.app-drawer__overlay[data-visible=true]{opacity:1;pointer-events:auto}.app-drawer__shell{z-index:1;pointer-events:auto;width:100%;position:fixed;top:0;left:0;right:0;transform:translateY(-100%)}.app-drawer__shell[data-motion=entering]{will-change:transform;animation:.48s cubic-bezier(.32,.72,0,1) forwards app-drawer-enter}.app-drawer__shell[data-motion=open]{will-change:auto;transform:translate(0,0)}.app-drawer__shell[data-motion=closing]{will-change:transform;pointer-events:none;animation:.42s cubic-bezier(.32,.72,0,1) forwards app-drawer-exit}.app-drawer__panel{box-sizing:border-box;background-color:var(--background);width:100%;max-height:88dvh;color:var(--foreground);padding-top:max(.75rem, env(safe-area-inset-top,0px));padding-bottom:max(1rem, calc(.5rem + env(safe-area-inset-bottom,0px)));border-radius:0 0 1rem 1rem;flex-direction:column;display:flex;position:relative;overflow:hidden}.app-drawer__body{box-sizing:border-box;min-height:0;max-height:calc(76dvh - max(.75rem, env(safe-area-inset-top,0px)) - max(1rem, calc(.5rem + env(safe-area-inset-bottom,0px))));flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.app-drawer__scroll{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;flex:1;min-height:0;overflow:hidden auto;-webkit-mask-image:linear-gradient(#000 0% calc(100% - 2.75rem),#0000 100%);mask-image:linear-gradient(#000 0% calc(100% - 2.75rem),#0000 100%);-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.app-drawer__version{z-index:1;color:var(--muted-foreground);font-variant-numeric:tabular-nums;pointer-events:none;font-size:.75rem;font-weight:500;line-height:1;position:absolute;top:.5rem;right:1rem}.app-drawer__nav{flex-direction:column;gap:.125rem;padding:2rem .75rem 0;display:flex}.app-drawer__nav-spacer{height:2rem;min-height:max(2rem, calc(1.25rem + env(safe-area-inset-bottom,0px)));pointer-events:none;flex-shrink:0}.app-drawer__supporter-highlight{background-color:color-mix(in oklab, #fbb300 18%, var(--background));width:100%;height:2.75rem;color:var(--foreground);border:none;border-radius:.5rem;justify-content:flex-start;gap:.75rem;padding-left:.75rem;padding-right:.75rem}button.app-drawer__supporter-highlight:hover{color:var(--foreground);background-color:color-mix(in oklab, #fbb300 26%, var(--background))!important}.app-drawer__supporter-highlight:focus-visible{outline:none;box-shadow:0 0 0 3px #fbb30047;box-shadow:0 0 0 3px lab(78.3332% 18.8907 80.4861/.28)}@media (prefers-reduced-motion:reduce){.app-drawer__overlay{transition:none}.app-drawer__shell,.app-drawer__shell[data-motion=entering],.app-drawer__shell[data-motion=closing]{animation:none!important;transform:translate(0,0)!important}}
