.sw-page{--sw-bg:#fdf1f4;--sw-ink:#2b2130;--sw-muted:#8b7d88;--sw-accent:#ff4d7d;--sw-second:#7a5cff;--sw-soft:#ffe3ec;--sw-line:#f2dde4;--sw-card:#fff;background:var(--sw-bg);color:var(--sw-ink);flex-direction:column;height:100dvh;font-family:DM Sans,sans-serif;display:flex;overflow:hidden}.sw-page.flame{--sw-bg:#fff8f2;--sw-ink:#33150f;--sw-muted:#96786c;--sw-accent:#fd5068;--sw-second:#ff9a44;--sw-soft:#ffe4da;--sw-line:#f3e2d6}.sw-page button{box-shadow:none}.sw-page :focus-visible{outline:2px solid var(--sw-accent);outline-offset:3px}.sw-top{border-bottom:1px solid var(--sw-line);justify-content:space-between;align-items:center;gap:12px;min-height:52px;padding:0 20px;display:flex}.sw-back{color:var(--sw-muted);align-items:center;gap:6px;font-size:12px;text-decoration:none;display:inline-flex}.sw-back:hover{color:var(--sw-ink)}.sw-wordmark{color:var(--sw-accent);align-items:center;gap:6px;font-size:14px;font-weight:700;display:inline-flex}.sw-count{color:var(--sw-muted);font-size:11px}.sw-stage{touch-action:pan-y;flex:1;min-height:0;display:flex}.sw-screen{scrollbar-width:thin;touch-action:pan-y;flex-direction:column;flex:1;gap:14px;width:100%;max-width:440px;min-height:0;margin:0 auto;padding:18px 22px 12px;display:flex;overflow-y:auto}.sw-title{letter-spacing:-.02em;margin:0;font-size:26px;font-weight:700}.sw-sub{color:var(--sw-muted);margin:0;font-size:13px}.sw-deck{flex:1;min-height:300px;position:relative}.sw-card{background:var(--sw-card);border:1px solid var(--sw-line);touch-action:pan-y;-webkit-user-select:none;user-select:none;cursor:grab;box-shadow:0 18px 40px color-mix(in srgb, var(--sw-ink) 10%, transparent);border-radius:26px;flex-direction:column;transition:transform .25s;display:flex;position:absolute;inset:0;overflow:hidden}.sw-card-dragging{cursor:grabbing;transition:none}.sw-card-under{z-index:-1;box-shadow:none;transform:scale(.94)translateY(14px)}.sw-art{flex:1;place-items:center;min-height:0;display:grid}.sw-art-1{background:linear-gradient(160deg,#ffd3e0,#ff8fb0 55%,#ff4d7d)}.sw-art-2{background:linear-gradient(160deg,#d9d0ff,#a08bff 55%,#7a5cff)}.sw-art-3{background:linear-gradient(160deg,#ffe6c7,#ffb46b 55%,#ff8a3d)}.sw-art-4{background:linear-gradient(160deg,#d2f0dd,#8fd4ab 55%,#4cae78)}.flame .sw-art-1{background:linear-gradient(160deg,#ffd9cd,#ff9a76 55%,#fd5068)}.flame .sw-art-2{background:linear-gradient(160deg,#ffe9c4,#ffc46b 55%,#ff9a44)}.flame .sw-art-3{background:linear-gradient(160deg,#f6d3ff,#d98ff2 55%,#b45ae0)}.flame .sw-art-4{background:linear-gradient(160deg,#cdeffd,#7fd0f0 55%,#3aa8d6)}.sw-avatar{color:#fff;background:color-mix(in srgb, var(--sw-ink) 30%, transparent);border:3px solid #ffffffbf;border-radius:50%;flex-shrink:0;place-items:center;font-size:1.1em;font-weight:700;display:grid}.sw-card-info{background:var(--sw-card);padding:16px 18px 18px}.sw-card-info h2{letter-spacing:-.01em;margin:0;font-size:21px;font-weight:700}.sw-card-info p{color:var(--sw-muted);margin:4px 0 10px;font-size:13px}.sw-away{color:var(--sw-accent);background:var(--sw-soft);border-radius:20px;align-items:center;gap:5px;padding:5px 11px;font-size:11px;display:inline-flex}.sw-stamp{letter-spacing:2px;pointer-events:none;border:3px solid;border-radius:10px;padding:6px 14px;font-size:20px;font-weight:800;position:absolute;top:22px}.sw-stamp-like{color:#22c55e;border-color:#22c55e;left:16px;transform:rotate(-12deg)}.sw-stamp-nope{color:var(--sw-accent);border-color:var(--sw-accent);right:16px;transform:rotate(12deg)}.sw-hint{text-align:center;color:var(--sw-muted);margin:0;font-size:11px}.sw-actions{justify-content:center;align-items:center;gap:18px;padding-bottom:4px;display:flex}.sw-page .sw-action{background:var(--sw-card);border:none;border-radius:50%;padding:0}.sw-action-nope{width:58px;height:58px;color:var(--sw-accent);box-shadow:0 8px 20px color-mix(in srgb, var(--sw-accent) 22%, transparent)!important}.sw-action-nope svg{width:26px;height:26px}.sw-action-star{width:46px;height:46px;color:var(--sw-second)}.sw-action-like{color:#fff;width:58px;height:58px;background:linear-gradient(140deg, var(--sw-accent), var(--sw-second))!important;box-shadow:0 10px 24px color-mix(in srgb, var(--sw-accent) 35%, transparent)!important}.sw-action-like svg{fill:currentColor;width:26px;height:26px}.sw-list{flex-direction:column;gap:10px;display:flex}.sw-page .sw-row{background:var(--sw-card);border:1px solid var(--sw-line);width:100%;height:auto;color:var(--sw-ink);text-align:left;border-radius:18px;justify-content:flex-start;align-items:center;gap:13px;padding:12px 14px;display:flex}.sw-row-text{flex-direction:column;gap:2px;min-width:0;display:flex}.sw-row-text strong{font-size:14px;font-weight:600}.sw-row-text small{color:var(--sw-muted);font-size:11px}.sw-row-badge{color:var(--sw-accent);background:var(--sw-soft);border-radius:14px;margin-left:auto;padding:5px 10px;font-size:11px;font-weight:600}.sw-row-icon{background:var(--sw-soft);width:34px;height:34px;color:var(--sw-accent);border-radius:12px;place-items:center;display:grid}.sw-chat{gap:12px}.sw-chat-head{align-items:center;gap:11px;display:flex}.sw-page .sw-icon{background:var(--sw-card);width:36px;height:36px;color:var(--sw-ink);border:none;border-radius:50%;padding:0}.sw-chat-head .sw-row-text{flex:1}.sw-msgs{flex-direction:column;flex:1;gap:12px;min-height:0;padding:6px 0;display:flex;overflow-y:auto}.sw-msg{align-self:flex-start;max-width:82%}.sw-msg p{background:var(--sw-card);border:1px solid var(--sw-line);overflow-wrap:anywhere;border-radius:20px 20px 20px 5px;margin:0 0 4px;padding:12px 15px;font-size:14px;line-height:1.45}.sw-msg.out{text-align:right;align-self:flex-end}.sw-msg.out p{background:linear-gradient(140deg, var(--sw-accent), var(--sw-second));color:#fff;border:none;border-radius:20px 20px 5px}.sw-msg time{color:var(--sw-muted);align-items:center;gap:4px;font-size:10px;display:inline-flex}.sw-composer{background:var(--sw-card);border:1px solid var(--sw-line);border-radius:30px;align-items:center;gap:8px;padding:5px 5px 5px 17px;display:flex}.sw-composer input{min-width:0;color:var(--sw-ink);background:0 0;border:none;outline:none;flex:1;height:36px;font-size:13px}.sw-page .sw-send{background:linear-gradient(140deg, var(--sw-accent), var(--sw-second));color:#fff;border:none;border-radius:50%;width:38px;min-width:38px;height:38px;padding:0}.sw-profile-head{text-align:center;flex-direction:column;align-items:center;gap:8px;padding-top:8px;display:flex}.sw-profile-head .sw-avatar{font-size:30px}.sw-stats{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.sw-stat{background:var(--sw-card);border:1px solid var(--sw-line);text-align:center;border-radius:18px;flex-direction:column;gap:3px;padding:14px 8px;display:flex}.sw-stat strong{font-size:21px;font-weight:800}.sw-stat span{color:var(--sw-muted);text-transform:uppercase;letter-spacing:1px;font-size:10px}.sw-stat-accent{background:linear-gradient(140deg, var(--sw-accent), var(--sw-second));color:#fff;border:none}.sw-stat-accent span{color:#fffc}.sw-nav{background:var(--sw-card);border:1px solid var(--sw-line);box-shadow:0 12px 30px color-mix(in srgb, var(--sw-ink) 12%, transparent);border-radius:40px;gap:6px;margin:6px auto 16px;padding:6px;display:flex}.sw-page .sw-tab{width:52px;height:44px;color:var(--sw-muted);background:0 0;border:none;border-radius:30px;padding:0}.sw-tab svg{width:20px;height:20px}.sw-tab[aria-current=page]{background:linear-gradient(140deg, var(--sw-accent), var(--sw-second));color:#fff}.sw-match{z-index:20;background:color-mix(in srgb, var(--sw-ink) 45%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);place-items:center;padding:24px;display:grid;position:fixed;inset:0}.sw-match-card{background:var(--sw-card);text-align:center;border-radius:28px;flex-direction:column;gap:12px;width:100%;max-width:340px;padding:30px 24px 24px;display:flex}.sw-match-avatars{justify-content:center;align-items:center;gap:10px;display:flex}.sw-match-avatars .sw-avatar{font-size:24px}.sw-match-heart{color:#fff;background:linear-gradient(140deg, var(--sw-accent), var(--sw-second));z-index:1;border-radius:50%;place-items:center;width:44px;height:44px;margin:0 -4px;display:grid}.sw-match-heart svg{fill:currentColor}.sw-match-card h2{letter-spacing:-.02em;margin:4px 0 0;font-size:26px;font-weight:800}.sw-match-card p{color:var(--sw-muted);margin:0;font-size:13px;line-height:1.5}.sw-page .sw-primary{background:linear-gradient(140deg, var(--sw-accent), var(--sw-second));color:#fff;border:none;border-radius:30px;height:48px;font-size:15px;font-weight:700}.sw-page .sw-ghost{color:var(--sw-muted);background:0 0;border:none}@media (height<=720px){.sw-screen{gap:10px;padding-top:12px}.sw-deck{min-height:240px}.sw-nav{margin-bottom:10px}}@media (prefers-reduced-motion:reduce){.sw-card{transition:none}}.sw-center{text-align:center;justify-content:center;align-items:center}.sw-h2{margin:4px 0 0;font-size:15px;font-weight:700}.sw-roles{grid-template-columns:1fr 1fr;gap:12px;display:grid}.sw-role{text-align:left;background:var(--sw-card);border:2px solid var(--sw-line);color:var(--sw-ink);cursor:pointer;border-radius:22px;flex-direction:column;align-items:flex-start;gap:4px;padding:16px;transition:transform .15s;display:flex}.sw-role:active{transform:scale(.97)}.sw-role.on{border-color:var(--sw-accent);box-shadow:0 10px 24px color-mix(in srgb, var(--sw-accent) 20%, transparent)}.sw-role-emoji{font-size:30px}.sw-role strong{font-size:15px}.sw-role small{color:var(--sw-muted);font-size:11px}.sw-hero{color:#fff;background:linear-gradient(140deg, var(--sw-accent), var(--sw-second));border-radius:26px;justify-content:space-between;align-items:center;padding:20px;display:flex}.sw-hero div{flex-direction:column;gap:4px;display:flex}.sw-hero strong{font-size:22px;font-weight:800}.sw-hero small{opacity:.9;font-size:12px}.sw-cta-row{align-items:center;gap:10px;display:flex}.sw-grow{flex:1}.sw-wide{width:100%}.sw-page .sw-filter{border:1px solid var(--sw-line);width:48px;height:48px;color:var(--sw-accent)}.sw-radar{place-items:center;width:220px;height:220px;display:grid;position:relative}.sw-radar:before,.sw-radar:after{content:"";background:var(--sw-accent);opacity:.25;border-radius:50%;animation:2s ease-out infinite sw-pulse;position:absolute;inset:0}.sw-radar:after{animation-delay:1s}.sw-radar .sw-avatar{z-index:1;font-size:30px;position:relative}@keyframes sw-pulse{0%{opacity:.45;transform:scale(.4)}to{opacity:0;transform:scale(1)}}.sw-chips{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.sw-chips span{background:var(--sw-soft);color:var(--sw-ink);border-radius:20px;padding:7px 12px;font-size:12px;font-weight:600}.sw-timer{color:var(--sw-accent);background:var(--sw-soft);border-radius:14px;align-items:center;gap:4px;padding:5px 9px;font-size:11px;font-weight:700;display:inline-flex}.sw-stars{gap:8px;display:flex}.sw-star{cursor:pointer;color:var(--sw-line);background:0 0;border:none;padding:2px}.sw-star svg{fill:currentColor;width:38px;height:38px}.sw-star.on{color:var(--sw-accent)}.sw-switch-row{background:var(--sw-card);border:1px solid var(--sw-line);width:100%;color:var(--sw-ink);cursor:pointer;border-radius:18px;align-items:center;gap:10px;padding:14px 16px;font-size:14px;font-weight:600;display:flex}.sw-switch-row svg{color:var(--sw-accent)}.sw-switch{background:var(--sw-line);border-radius:12px;width:40px;height:24px;margin-left:auto;transition:background .2s;position:relative}.sw-switch:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:left .2s;position:absolute;top:3px;left:3px}.sw-switch-row.on .sw-switch{background:var(--sw-accent)}.sw-switch-row.on .sw-switch:after{left:19px}@media (prefers-reduced-motion:reduce){.sw-radar:before,.sw-radar:after{animation:none}}.sw-explore{border:2px solid var(--sw-line);background:var(--sw-card);width:100%;height:52px;color:var(--sw-ink);border-radius:26px;gap:8px;font-size:15px;font-weight:700}.sw-matching{gap:12px}.sw-pill{background:var(--sw-soft);color:var(--sw-ink);text-transform:uppercase;letter-spacing:.08em;border-radius:20px;align-items:center;gap:8px;padding:7px 14px;font-size:11px;font-weight:800;display:inline-flex}.sw-dot{background:var(--sw-accent);border-radius:50%;width:8px;height:8px;animation:1.4s ease-out infinite sw-pulse}.sw-matching .sw-radar{width:170px;height:170px}.sw-question{background:var(--sw-card);border:2px solid var(--sw-line);text-align:left;border-radius:24px;gap:10px;width:100%;padding:16px;display:grid}.sw-question small{text-transform:uppercase;letter-spacing:.08em;color:var(--sw-muted);font-size:11px;font-weight:800}.sw-question h2{color:var(--sw-ink);margin:0;font-size:18px;font-weight:800;line-height:1.3}.sw-question .sw-composer{margin:0;padding:0;position:static}
