/* One browser-specific overview, using the shared Swipe sheet palette. */
.sw-install{position:fixed;inset:auto 0 0;width:min(100%,480px);max-width:100%;max-height:calc(100dvh - max(16px,env(safe-area-inset-top)));margin:auto auto 0;padding:0;border:0;border-radius:24px 24px 0 0;background:#fff;color:#342b38;font:400 16px/1.4 'Swipe Work','NS Work',sans-serif;overflow:auto;overscroll-behavior:contain;box-shadow:0 -8px 50px #342b3826;animation:sw-install-in 300ms cubic-bezier(.2,.8,.2,1) both}
.sw-install::backdrop{background:#342b3866;backdrop-filter:blur(3px)}
.sw-install.is-closing{animation:sw-install-out 300ms cubic-bezier(.4,0,.8,.2) both}
.sw-install *{box-sizing:border-box}.sw-install button,.sw-install input{font:inherit}.sw-install button{cursor:pointer;-webkit-tap-highlight-color:transparent}.sw-install button:disabled{cursor:wait;opacity:.55}.sw-install h2:focus{outline:none}.sw-install button:focus-visible,.sw-install input:focus-visible,.sw-install summary:focus-visible{outline:2px solid #79314e;outline-offset:3px}
.sw-install svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.sw-install-head{display:flex;align-items:center;justify-content:space-between;padding:12px 12px 4px 20px;gap:12px;position:sticky;top:0;background:#fff;z-index:2}.sw-install-head:before{content:'';position:absolute;top:6px;left:calc(50% - 18px);width:36px;height:4px;border-radius:4px;background:#deccd5}.sw-install-head>span{font-weight:500;color:#79314e}.sw-install-close{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border:0!important;background:transparent;border-radius:50%;color:#79314e;box-shadow:none!important}
.sw-install-body{padding:8px 20px max(16px,env(safe-area-inset-bottom));text-align:left}.sw-install-intro{display:flex;align-items:center;gap:12px;margin-bottom:20px}.sw-install-intro>img{flex:0 0 52px;border-radius:12px}.sw-install-intro>div{min-width:0}.sw-install h2{font:500 25px/1.16 'Swipe Work','NS Work',sans-serif;letter-spacing:-.6px;color:#79314e;margin:0 0 4px}.sw-install p{font-size:16px;color:#776772;margin:0 0 16px}.sw-install p.sw-install-browser-label{margin:0;color:#776772}
.sw-install-instructions{list-style:none;margin:0;padding:0}.sw-install-instructions>li{display:flex;gap:12px;padding:14px 0;border-top:1px solid #eee4e9}.sw-install-instructions>li>div{min-width:0}.sw-install-instruction-icon{display:grid;place-items:center;flex:0 0 36px;height:36px;background:#fff4f6;border-radius:10px;color:#79314e}.sw-install h3{font:600 17px/1.3 'Swipe Work','NS Work',sans-serif;letter-spacing:0;margin:0 0 4px;color:#342b38}.sw-install-instructions p{margin:0;color:#655661}.sw-install strong{font-weight:600}
.sw-install p.sw-install-ready{display:flex;align-items:center;gap:10px;background:#fff4f6;border-radius:12px;color:#79314e;padding:12px;margin:4px 0 0}.sw-install-ready svg{width:20px;height:20px}
.sw-install-primary,.sw-install-secondary{width:100%;min-height:52px;padding:12px 16px;border:0;border-radius:14px;font-weight:600;display:flex;justify-content:center;align-items:center;text-align:center}.sw-install-primary{background:#79314e;color:#fff}.sw-install-secondary{background:#fff4f6;color:#79314e;margin:8px 0}.sw-install p.sw-install-native-note{margin:8px 0 14px}
.sw-install-transfer{text-align:left}.sw-install-transfer summary{min-height:44px;display:flex;align-items:center;cursor:pointer;color:#79314e;padding:10px 0;gap:12px;list-style:none;font-size:16px}.sw-install-transfer summary::-webkit-details-marker{display:none}.sw-install-transfer summary:after{content:'+';margin-left:auto;font-size:22px}.sw-install-transfer details[open] summary:after{content:'−'}.sw-install-transfer p{font-size:16px;margin:6px 0 12px}.sw-install-code{display:block;padding:12px;text-align:center;background:#fff4f6;color:#79314e;font-size:24px;letter-spacing:3px;border-radius:12px;font-weight:600}.sw-install-restore label{display:block;color:#342b38;margin:12px 0 6px}.sw-install-restore input{width:100%;min-height:52px;border:1px solid #cfbdc6;border-radius:12px;padding:12px;font-size:20px;color:#79314e;letter-spacing:2px;text-transform:uppercase;background:#fff}.sw-install-status:empty{display:none}.sw-install p.sw-install-status{margin:14px 0 0;padding:12px;border-radius:12px;background:#fff4f6;color:#79314e;text-align:left}.sw-install-status.is-error{border-left:3px solid #79314e}
@keyframes sw-install-in{from{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes sw-install-out{from{transform:translateY(0)}to{transform:translateY(100%)}}
@media(min-width:700px){.sw-install{inset:0;margin:auto;max-height:calc(100dvh - 48px);border-radius:24px;animation:sw-install-desktop-in 180ms ease-out both}.sw-install.is-closing{animation:sw-install-desktop-out 180ms ease-in both}.sw-install-head:before{display:none}.sw-install-body{padding:12px 24px 24px}}
@keyframes sw-install-desktop-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes sw-install-desktop-out{to{opacity:0;transform:translateY(8px)}}
@media(max-height:650px){.sw-install-intro{margin-bottom:12px}.sw-install-instructions>li{padding:10px 0}.sw-install-body{padding-top:4px}}
@media(prefers-reduced-motion:reduce){.sw-install,.sw-install.is-closing{animation:none}}

/* Same layer structure and controls as the name-swipe settings. */
.sw-install{overflow:hidden;max-height:calc(100dvh - 16px);border-radius:28px 28px 0 0;animation:sw-install-in 420ms cubic-bezier(.22,1,.36,1) both}.sw-install[open]{display:flex;flex-direction:column}.sw-install:not([open]){display:none}.sw-install-handle{height:20px;flex:none;display:flex;align-items:center;justify-content:center}.sw-install-handle span{width:36px;height:4px;border-radius:4px;background:#d9c4ce}.sw-install-head{position:static;flex:none;min-height:60px;padding:4px 16px 12px;gap:10px;border-bottom:1px solid #eadce2}.sw-install-head:before{display:none}.sw-install-head h2{flex:1;font:600 21px/1.2 'Swipe Work','NS Work',sans-serif;letter-spacing:-.5px;margin:0;color:#342b38}.sw-install .sw-install-close{width:44px;height:44px;background:#fff;border:1px solid #eadce2!important;color:#8c3654}.sw-install-close svg{width:21px;height:21px}.sw-install-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:16px 16px max(16px,env(safe-area-inset-bottom))}.sw-install .sw-install-intro-title{font-size:21px;font-weight:500;color:#79314e;margin:0 0 4px}.sw-install-body,.sg-scroll{scrollbar-width:auto;scrollbar-color:auto}.sw-install-body::-webkit-scrollbar,.sg-scroll::-webkit-scrollbar{width:4px;height:4px}.sw-install-body::-webkit-scrollbar-thumb,.sg-scroll::-webkit-scrollbar-thumb{background:#d9c1cd;border-radius:4px}.sw-install-body::-webkit-scrollbar-track,.sg-scroll::-webkit-scrollbar-track{background:transparent}
@media(min-width:700px){.sw-install{inset:0;margin:auto;max-height:min(680px,calc(100dvh - 48px));height:max-content;border-radius:24px;animation:sw-install-desktop-in 180ms ease-out both}.sw-install-handle{display:none}.sw-install-head{padding:12px 16px;min-height:68px}.sw-install-body{max-height:490px}}
@media(prefers-reduced-motion:reduce){.sw-install{animation:none}.sw-install::backdrop{backdrop-filter:none}}

@supports not selector(::-webkit-scrollbar){.sw-install-body,.sg-scroll{scrollbar-width:thin;scrollbar-color:#d9c1cd transparent}}

/* Floating install invitation, with reserved space so swipe controls stay clear. */
.sw-install-banner{position:fixed;z-index:25;left:50%;bottom:calc(12px + env(safe-area-inset-bottom));transform:translateX(-50%);width:min(480px,calc(100% - 24px));display:flex;align-items:flex-start;padding:10px 8px 10px 12px;gap:4px;border:1px solid #eadce2;border-radius:20px;background:#fff;color:#342b38;box-shadow:0 8px 28px #79314e1c;box-sizing:border-box;font:400 16px/1.4 'Swipe Work','NS Work',sans-serif}
.sw-install-banner[hidden]{display:none}.sw-install-banner button{font:inherit;cursor:pointer;border:0;background:transparent;color:inherit}
.sw-install-banner-open{display:flex;align-items:center;gap:12px;flex:1;min-width:0;min-height:64px;padding:4px;text-align:left;border-radius:12px}.sw-install-banner-open>img{width:40px;height:40px;flex:none;border-radius:10px}.sw-install-banner-open>span{display:grid;gap:4px;min-width:0}.sw-install-banner-open strong{font-size:17px;font-weight:600;color:#79314e}.sw-install-banner-open>span>span{font-size:16px;color:#776772;text-wrap:pretty}.sw-install-banner-open svg{display:inline-block;width:17px;height:17px;vertical-align:-3px;margin-left:2px;stroke:#8c3654;stroke-width:1.7;fill:none}
.sw-install-banner-close{display:grid;place-items:center;width:44px;height:44px;flex:none;border-radius:50%;padding:10px}.sw-install-banner-close svg{width:20px;height:20px;stroke:#8c3654;stroke-width:1.7;fill:none}.sw-install-banner button:focus-visible{outline:2px solid #8c3654;outline-offset:2px}.sw-install-banner button:hover{background:#fff4f6}.sw-install-banner button:active{background:#f6e9ef}
body:has(dialog[open]) .sw-install-banner{visibility:hidden;pointer-events:none}
.sw-install-banner-visible .sg-launch-main{padding-bottom:calc(28px + var(--sw-install-banner-space,120px) + env(safe-area-inset-bottom))}
.sw-install-banner-visible .ns-app,.sw-install-banner-visible .gk-tinder{height:calc(100dvh - 72px - var(--sw-install-banner-space,120px) - env(safe-area-inset-bottom));min-height:320px}
body.sw-install-banner-visible{overflow-y:auto}
@media(max-width:350px){.sw-install-banner-open{gap:8px}.sw-install-banner-open>img{width:32px;height:32px}.sw-install-banner{padding-left:8px}}
@media(display-mode:standalone),(display-mode:fullscreen){.sw-install-banner{display:none!important}}

.sw-install-save{display:flex;gap:10px;padding:12px;margin:14px 0 0;border-radius:12px;background:#f0f6f2;color:#326b50}.sw-install-save>svg{width:22px;height:22px;flex:none;stroke:currentColor;stroke-width:1.7;fill:none}.sw-install-save strong{font-size:16px;font-weight:600}.sw-install-body .sw-install-save p{font-size:16px;line-height:1.4;margin:4px 0 0;color:#536b5e}.sw-install-save.is-error{background:#fff4f6;color:#79314e}.sw-install-body .sw-install-save.is-error p{color:#776772}.sw-install-save.is-saving{background:#fff8fa;color:#8c3654}
body.sw-install-banner-visible:has(.ns-app),body.gk-tinder-pagina.sw-install-banner-visible{padding-bottom:calc(var(--sw-install-banner-space,120px) + env(safe-area-inset-bottom));box-sizing:border-box}

/* Intrinsic content height also in Safari; do not let a flex body collapse. */
.sw-install{height:max-content;max-height:calc(100vh - 16px);max-height:calc(100dvh - 16px);animation:none;transform:none}
.sw-install-body{flex:1 1 auto}
.sw-install.sw-install-entering{animation:sw-install-in 420ms cubic-bezier(.22,1,.36,1)}
@media(min-width:700px){.sw-install{max-height:min(680px,calc(100dvh - 48px))}.sw-install.sw-install-entering{animation:sw-install-desktop-in 180ms ease-out}}
@media(prefers-reduced-motion:reduce){.sw-install.sw-install-entering{animation:none}}

.sw-install-ready>img{width:36px;height:36px;flex:none;border-radius:9px}.sw-install p.sw-install-ready{justify-content:center;gap:12px}
