@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(data:font/woff2;base64,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) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-vietnamese-wght-normal-qRpaaN48.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-ext-wght-normal-DmpS2jIq.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-wght-normal-eXO_dkmS.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-wght-normal-CnvboYUG.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-wght-normal-Ca2vKHc0.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-wght-normal-ukD16Tqj.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ink: #241d3a;--ink-soft: #5b5270;--muted: #948aa8;--rose: #ff6b8a;--coral: #ff5c7c;--coral-deep: #ef3d6a;--violet: #7b61ff;--indigo: #6c5ce7;--sky: #57b6ff;--mint: #34d6a6;--gold: #ffb648;--card: rgba(255, 255, 255, .72);--glass: rgba(255, 255, 255, .55);--glass-strong: rgba(255, 255, 255, .82);--line: rgba(255, 255, 255, .6);--hair: rgba(120, 90, 140, .12);--shadow: 0 30px 60px -22px rgba(70, 40, 90, .4);--shadow-soft: 0 16px 34px -18px rgba(70, 40, 90, .34);--shadow-glow: 0 12px 30px -8px rgba(239, 61, 106, .5);--radius: 30px;--radius-sm: 18px;--sat: env(safe-area-inset-top, 0px);--sab: env(safe-area-inset-bottom, 0px);--font: "Plus Jakarta Sans Variable", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--display: "Fraunces Variable", Georgia, "Times New Roman", serif;font-family:var(--font);color-scheme:light}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;margin:0}body{color:var(--ink);background:#fdeef0;overflow:hidden;overscroll-behavior:none;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}.aurora{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;pointer-events:none;background:linear-gradient(160deg,#fff1ec,#ffe6ee 40%,#efe9ff)}.blob{position:absolute;width:60vmax;height:60vmax;border-radius:46% 54% 60% 40%/55% 45%;filter:blur(46px);opacity:.6;will-change:transform;mix-blend-mode:normal}.b1{background:radial-gradient(circle at 30% 30%,#ff9bb3,transparent 70%);top:-22vmax;left:-14vmax;animation:drift1 24s ease-in-out infinite}.b2{background:radial-gradient(circle at 60% 40%,#9db8ff,transparent 70%);bottom:-26vmax;right:-18vmax;animation:drift2 30s ease-in-out infinite}.b3{background:radial-gradient(circle at 50% 50%,#c9a6ff,transparent 70%);top:22vmax;right:-20vmax;animation:drift3 27s ease-in-out infinite}.b4{background:radial-gradient(circle at 50% 50%,#8ef0cf,transparent 72%);bottom:-18vmax;left:-16vmax;opacity:.42;animation:drift1 33s ease-in-out infinite reverse}@keyframes drift1{0%,to{transform:translate(0) scale(1)}50%{transform:translate(10vmax,6vmax) scale(1.14)}}@keyframes drift2{0%,to{transform:translate(0) scale(1.05)}50%{transform:translate(-9vmax,-7vmax) scale(.92)}}@keyframes drift3{0%,to{transform:translate(0) scale(1)}50%{transform:translate(-7vmax,9vmax) scale(1.1)}}.floaties{position:absolute;top:0;right:0;bottom:0;left:0}.floaty{position:absolute;bottom:-8%;left:calc(6% + (var(--i) * 11%));font-size:calc(1rem + (var(--i) * .15rem));opacity:0;filter:drop-shadow(0 4px 8px rgba(220,90,130,.25));animation:rise 15s linear infinite;animation-delay:calc(var(--i) * -1.9s)}@keyframes rise{0%{transform:translateY(0) rotate(0);opacity:0}12%{opacity:.4}85%{opacity:.34}to{transform:translateY(-108vh) rotate(28deg);opacity:0}}@media (prefers-reduced-motion: reduce){.blob,.floaty{animation:none}.floaty{display:none}}.app{position:relative;z-index:1;width:100%;max-width:460px;margin:0 auto;height:100dvh;display:flex;flex-direction:column;overflow:hidden}.screen{flex:1;display:flex;flex-direction:column;min-height:0;padding:calc(22px + var(--sat)) 24px calc(24px + var(--sab));animation:screenIn .5s cubic-bezier(.22,1,.36,1) both}.center{justify-content:center;align-items:center;text-align:center}.tab-content{flex:1;min-height:0;display:flex;flex-direction:column;overflow-y:auto;-webkit-overflow-scrolling:touch}@keyframes screenIn{0%{opacity:0;transform:translateY(16px) scale(.985)}}.stagger>*{animation:itemIn .55s cubic-bezier(.22,1,.36,1) both}.stagger>*:nth-child(1){animation-delay:.05s}.stagger>*:nth-child(2){animation-delay:.12s}.stagger>*:nth-child(3){animation-delay:.19s}.stagger>*:nth-child(4){animation-delay:.26s}.stagger>*:nth-child(5){animation-delay:.33s}.stagger>*:nth-child(6){animation-delay:.4s}@keyframes itemIn{0%{opacity:0;transform:translateY(18px)}}h1{font-family:var(--display);font-weight:600;font-size:clamp(2.3rem,9vw,3rem);line-height:1.04;letter-spacing:-.015em;margin:0 0 .35em}h2{font-family:var(--display);font-weight:600;font-size:1.7rem;letter-spacing:-.01em;margin:0 0 .4em}h3{font-size:1rem;font-weight:800;margin:0 0 .7em}p{margin:0 0 1em;color:var(--ink-soft);line-height:1.6;font-size:1.02rem}.muted{color:var(--muted);font-size:.92rem}.brand{font-family:var(--display);font-weight:600;font-size:clamp(2.8rem,13vw,3.6rem);letter-spacing:-.02em;background:linear-gradient(110deg,var(--coral) 10%,var(--violet) 90%);-webkit-background-clip:text;background-clip:text;color:transparent}.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:9px;width:100%;padding:17px 22px;border-radius:var(--radius-sm);font-size:1.04rem;font-weight:800;letter-spacing:-.01em;overflow:hidden;transition:transform .16s cubic-bezier(.34,1.56,.64,1),box-shadow .25s,opacity .2s,filter .2s}.btn:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.45) 50%,transparent 70%);transform:translate(-120%);transition:transform .7s ease}.btn:hover:after{transform:translate(120%)}.btn:active{transform:scale(.96)}.btn:disabled{opacity:.45;pointer-events:none;filter:grayscale(.3)}.btn-primary{color:#fff;background:linear-gradient(120deg,var(--rose),var(--coral-deep));box-shadow:var(--shadow-glow)}.btn-ghost{color:var(--ink);background:var(--glass-strong);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--line);box-shadow:var(--shadow-soft)}.back{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;font-size:.98rem;color:var(--ink-soft);font-weight:700;padding:8px 14px 8px 10px;border-radius:999px;background:var(--glass);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);margin-bottom:14px;transition:transform .15s}.back:active{transform:scale(.94)}.stack{display:flex;flex-direction:column;gap:12px;width:100%}label.field{display:block;text-align:left;font-weight:700;font-size:.86rem;color:var(--ink-soft);margin-bottom:16px}.field input{width:100%;margin-top:8px;padding:16px 18px;font-size:1.05rem;font-family:inherit;border-radius:var(--radius-sm);border:1.5px solid var(--line);background:var(--glass-strong);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--ink);transition:border-color .2s,box-shadow .2s,transform .15s}.field input::placeholder{color:#b6adc4}.field input:focus{outline:none;border-color:var(--rose);box-shadow:0 0 0 4px #ff6b8a29}.code-input input{text-transform:uppercase;letter-spacing:.35em;text-align:center;font-weight:800;font-size:1.7rem;font-family:var(--display)}.error{color:var(--coral-deep);font-size:.9rem;font-weight:700;margin:2px 0 10px;min-height:1.1em;text-align:left}.gender-grid{display:flex;flex-direction:column;gap:13px;width:100%;margin-bottom:6px}.gender-card{position:relative;display:flex;align-items:center;gap:16px;padding:18px 20px;border-radius:22px;background:var(--glass-strong);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:2px solid transparent;box-shadow:var(--shadow-soft);text-align:left;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .25s,border-color .2s}.gender-card:active{transform:scale(.98)}.gender-card .emoji{font-size:1.9rem;display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:linear-gradient(150deg,#fff,#ffeef4);box-shadow:inset 0 0 0 1px var(--hair);flex-shrink:0;transition:transform .3s}.gender-card .g-title{font-weight:800;font-size:1.06rem}.gender-card .g-sub{font-size:.83rem;color:var(--muted);margin-top:2px}.gender-card .tick{margin-left:auto;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:.8rem;background:linear-gradient(135deg,var(--rose),var(--coral-deep));transform:scale(0);transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.gender-card.sel{border-color:var(--rose);box-shadow:var(--shadow-glow);transform:translateY(-2px)}.gender-card.sel .emoji{transform:scale(1.08) rotate(-6deg)}.gender-card.sel .tick{transform:scale(1)}.code-chip{display:inline-flex;align-items:center;gap:14px;font-family:var(--display);font-size:clamp(2rem,11vw,2.6rem);font-weight:600;letter-spacing:.2em;padding:20px 22px 20px 30px;border-radius:26px;background:var(--glass-strong);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:var(--shadow);border:1px solid var(--line);margin:10px 0 6px;animation:chipPop .6s cubic-bezier(.34,1.56,.64,1) both}@keyframes chipPop{0%{transform:scale(.8);opacity:0}}.copy-btn{font-size:1.2rem;width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,var(--rose),var(--coral-deep));box-shadow:var(--shadow-glow);transition:transform .15s}.copy-btn:active{transform:scale(.9)}.hero-emoji{font-size:4.6rem;margin-bottom:12px;filter:drop-shadow(0 12px 22px rgba(239,61,106,.32));animation:bob 3.4s ease-in-out infinite}@keyframes bob{0%,to{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-10px) rotate(2deg)}}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:calc(14px + var(--sat)) 18px 10px;animation:itemIn .5s ease both}.code-pill{display:inline-flex;align-items:center;gap:7px;font-weight:800;letter-spacing:.14em;font-size:.84rem;color:var(--ink);background:var(--glass-strong);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--line);padding:9px 15px;border-radius:999px;box-shadow:var(--shadow-soft);transition:transform .15s}.code-pill:active{transform:scale(.95)}.partners{display:flex;align-items:center}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-size:.82rem;font-weight:800;color:#fff;background:linear-gradient(135deg,var(--violet),var(--rose));box-shadow:0 6px 14px -6px #46285a99,0 0 0 3px #ffffffb3;margin-left:-8px}.avatar:first-child{margin-left:0}.avatar.ghost{background:#ffffffb3;color:var(--muted);border:1.5px dashed #d8cfe0;box-shadow:0 0 0 3px #ffffff80}.topbar-right{display:flex;align-items:center;gap:10px}.waiting-banner{display:flex;align-items:center;gap:12px;width:calc(100% - 36px);margin:2px 18px 6px;padding:12px 15px;border-radius:18px;background:var(--glass-strong);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--line);box-shadow:var(--shadow-soft);font-size:.86rem;font-family:inherit;color:var(--ink-soft);line-height:1.45;text-align:left;animation:itemIn .5s ease both;transition:transform .15s}.waiting-banner:active{transform:scale(.98)}.waiting-banner b{color:var(--coral-deep)}.wb-icon{font-size:1.4rem;flex-shrink:0;animation:bob 3s ease-in-out infinite}.deck-wrap{flex:1;display:flex;flex-direction:column;min-height:0;padding:4px 20px 8px}.deck{position:relative;flex:1;min-height:340px;margin:8px 0 16px;perspective:1400px}.name-card{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--radius);overflow:hidden;will-change:transform;-webkit-user-select:none;user-select:none;touch-action:none;box-shadow:var(--shadow);background:#fff}.name-card .banner{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:26px}.name-card.m .banner{background:linear-gradient(165deg,#eef6ff,#cfe4ff 55%,#bcd8ff)}.name-card.f .banner{background:linear-gradient(165deg,#fff0f5,#ffd6e6 55%,#ffc4da)}.name-card.u .banner{background:linear-gradient(165deg,#ecfbf4,#cdf3e2 55%,#bdeed6)}.name-card .banner:before{content:"";position:absolute;top:-20%;right:-20%;width:70%;height:60%;background:radial-gradient(circle,rgba(255,255,255,.85),transparent 70%);filter:blur(6px)}.name-card .watermark{position:absolute;top:50%;left:50%;transform:translate(-50%,-54%);font-family:var(--display);font-weight:600;font-size:17rem;line-height:1;color:#ffffff80;opacity:.55;pointer-events:none;-webkit-user-select:none;user-select:none}.name-card .origin-line{z-index:1;font-size:.82rem;font-weight:600;color:var(--ink-soft);opacity:.85;text-align:center;padding:0 10px}.name-card .swipe-hint{position:absolute;bottom:22px;left:0;right:0;z-index:1;display:flex;align-items:center;justify-content:center;gap:12px;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);opacity:.4}.name-card .dot-sep{width:4px;height:4px;border-radius:50%;background:currentColor}.name-card .drag-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;touch-action:none}.name-card .the-name{font-family:var(--display);font-weight:600;font-size:clamp(2.6rem,13vw,3.6rem);letter-spacing:-.02em;color:var(--ink);text-align:center;line-height:1.02;z-index:1;text-shadow:0 6px 20px rgba(70,40,90,.12)}.name-card .sex-badge{z-index:1;font-size:.8rem;font-weight:800;letter-spacing:.02em;padding:8px 15px;border-radius:999px;background:#ffffffb3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--ink-soft);box-shadow:0 4px 12px -6px #46285a66}.name-card .tags{z-index:1;display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.tag{font-size:.72rem;font-weight:800;padding:6px 12px;border-radius:999px;background:#ffffffc7;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--ink-soft)}.tag.fr{color:#c1306f;background:#ffe0ece6}.tag.rare{color:#6b4bd6;background:#e9e2ffeb}.tag.trend{color:#a8500a;background:linear-gradient(120deg,#ffecc7f2,#ffdae9f2)}.glow{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none;opacity:0;transition:opacity .12s}.glow.like{background:radial-gradient(circle at 30% 50%,rgba(52,214,166,.55),transparent 65%)}.glow.nope{background:radial-gradient(circle at 70% 50%,rgba(239,61,106,.5),transparent 65%)}.stamp{position:absolute;top:30px;z-index:3;font-family:var(--display);font-size:1.5rem;font-weight:700;letter-spacing:.06em;padding:8px 18px;border-radius:14px;border:3px solid;background:#ffffff8c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0}.stamp.like{left:26px;color:var(--mint);border-color:var(--mint);transform:rotate(-15deg)}.stamp.nope{right:26px;color:var(--coral-deep);border-color:var(--coral-deep);transform:rotate(15deg)}.deck-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;padding:34px;color:var(--ink-soft)}.deck-empty .big{font-size:3rem;animation:bob 3s ease-in-out infinite}.deck-actions{display:flex;justify-content:center;align-items:center;gap:18px;padding:2px 0 6px}.round{position:relative;border-radius:50%;display:grid;place-items:center;background:var(--glass-strong);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow-soft);border:1px solid var(--line);transition:transform .18s cubic-bezier(.34,1.56,.64,1),box-shadow .2s}.round:active{transform:scale(.86)}.round.undo{width:50px;height:50px;font-size:1.25rem;color:var(--gold)}.round.nope{width:64px;height:64px;font-size:1.6rem;color:var(--coral-deep)}.round.like{width:78px;height:78px;font-size:2.1rem;color:#fff;background:linear-gradient(135deg,var(--rose),var(--coral-deep));box-shadow:var(--shadow-glow);border:none;animation:heartbeat 2.4s ease-in-out infinite}@keyframes heartbeat{0%,to{transform:scale(1)}8%{transform:scale(1.09)}16%{transform:scale(1)}24%{transform:scale(1.06)}32%{transform:scale(1)}}.round:disabled{opacity:.4;pointer-events:none}.bottom-nav{position:relative;display:flex;margin:0 16px calc(12px + var(--sab));padding:8px;background:var(--glass-strong);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow)}.nav-highlight{position:absolute;top:8px;bottom:8px;left:8px;width:calc((100% - 16px) / 3);border-radius:18px;background:linear-gradient(135deg,#ff6b8a29,#7b61ff29);border:1px solid rgba(255,107,138,.25);transition:transform .42s cubic-bezier(.34,1.4,.5,1);z-index:0}.nav-item{position:relative;z-index:1;flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:9px 4px;color:var(--muted);font-size:.68rem;font-weight:800;transition:color .25s,transform .2s}.nav-item .ic{font-size:1.3rem;transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.nav-item.active{color:var(--coral-deep)}.nav-item.active .ic{transform:translateY(-2px) scale(1.16)}.nav-item .badge{position:absolute;top:3px;right:calc(50% - 24px);background:linear-gradient(135deg,var(--rose),var(--coral-deep));color:#fff;font-size:.6rem;font-weight:800;min-width:17px;height:17px;border-radius:999px;display:grid;place-items:center;padding:0 4px;box-shadow:0 3px 8px -3px var(--coral-deep);animation:chipPop .4s cubic-bezier(.34,1.56,.64,1) both}.section-head{padding:6px 22px 2px;animation:itemIn .5s ease both}.list{display:flex;flex-direction:column;gap:11px;overflow-y:auto;padding:6px 20px 16px;flex:1;-webkit-overflow-scrolling:touch}.match-row{display:flex;align-items:center;gap:15px;padding:15px 17px;background:var(--glass-strong);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-soft);animation:itemIn .45s cubic-bezier(.22,1,.36,1) both}.match-row .dot{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;font-size:1.4rem;flex-shrink:0;box-shadow:inset 0 0 0 1px var(--hair)}.dot.m{background:linear-gradient(150deg,#eef6ff,#cfe4ff)}.dot.f{background:linear-gradient(150deg,#fff0f5,#ffd6e6)}.dot.u{background:linear-gradient(150deg,#ecfbf4,#cdf3e2)}.match-row .m-text{flex:1;min-width:0}.match-row .mname{font-family:var(--display);font-weight:600;font-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.match-row .msub{font-size:.76rem;color:var(--muted);font-weight:600}.match-row.fav{border-color:#ffb6488c;box-shadow:0 14px 30px -18px #ff9628cc}.match-row.pending{opacity:.92}.pending-dot{font-size:1rem;opacity:.7}.row-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.mini{min-width:34px;height:34px;padding:0 9px;border-radius:11px;display:grid;place-items:center;font-size:.95rem;font-weight:700;color:var(--ink-soft);background:#ffffffbf;border:1px solid var(--line);transition:transform .15s,background .2s,color .2s}.mini:active{transform:scale(.88)}.mini.on{color:var(--gold);background:#fff6e6;border-color:#ffb64880}.mini.danger{color:#fff;font-size:.8rem;background:linear-gradient(135deg,var(--rose),var(--coral-deep));border:none}.winner-card{position:relative;text-align:center;padding:26px 22px 20px;border-radius:26px;color:#fff;background:linear-gradient(140deg,#ffb648,#ff6b8a 55%,#7b61ff);box-shadow:0 24px 46px -22px #ef3d6ad9;animation:chipPop .5s cubic-bezier(.34,1.56,.64,1) both;overflow:hidden}.winner-card:after{content:"";position:absolute;top:-40%;right:-30%;width:70%;height:90%;background:radial-gradient(circle,rgba(255,255,255,.35),transparent 70%)}.winner-card .crown{font-size:2.2rem;animation:bob 3s ease-in-out infinite}.winner-card .wc-label{font-size:.76rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;opacity:.9;margin-top:2px}.winner-card .wc-name{font-family:var(--display);font-weight:600;font-size:clamp(2.2rem,11vw,3rem);line-height:1.1;margin:2px 0 12px;text-shadow:0 8px 22px rgba(0,0,0,.22)}.winner-card .wc-undo{position:relative;font-size:.82rem;font-weight:700;color:#fff;padding:8px 16px;border-radius:999px;background:#ffffff38;border:1px solid rgba(255,255,255,.35)}.segmented{position:relative;display:flex;gap:6px;margin:8px 20px 4px;padding:5px;border-radius:16px;background:var(--glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--line)}.segmented button{flex:1;padding:9px 8px;border-radius:12px;font-size:.82rem;font-weight:800;color:var(--muted);transition:color .2s,background .3s,box-shadow .3s}.segmented button b{font-size:.72rem;padding:1px 6px;margin-left:4px;border-radius:999px;background:#0000000f}.segmented button.on{color:var(--ink);background:#fff;box-shadow:var(--shadow-soft)}.segmented button.on b{background:#ffe3ee;color:var(--coral-deep)}.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:6px;padding:46px 30px;color:var(--ink-soft)}.empty .big{font-size:2.8rem;animation:bob 3s ease-in-out infinite}.insight-actions{display:flex;flex-direction:column;gap:10px;padding:8px 20px 22px}.btn-quiet{color:var(--muted);background:transparent;font-weight:700;font-size:.92rem;padding:12px;box-shadow:none}.share-stack{display:flex;flex-direction:column;align-items:center;width:100%;gap:4px}.qr-card{display:flex;flex-direction:column;align-items:center;gap:10px;padding:16px 16px 12px;margin:6px 0 18px;border-radius:24px;background:var(--glass-strong);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--line);box-shadow:var(--shadow-soft)}.qr{width:168px;height:168px;padding:10px;border-radius:16px;background:#fff;display:grid;place-items:center}.qr svg{width:100%;height:100%;display:block}.qr svg path{fill:#241d3a}.qr-label{font-size:.8rem;font-weight:700;color:var(--muted)}.chevron{font-size:1.2rem;color:var(--muted)}.insight-card{background:var(--glass-strong);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--line);border-radius:22px;padding:18px 20px;box-shadow:var(--shadow-soft);margin:0 20px 12px;animation:itemIn .5s ease both}.chips{display:flex;gap:8px;flex-wrap:wrap}.chip{padding:9px 15px;border-radius:999px;background:linear-gradient(120deg,#fff2f6,#efeaff);border:1px solid var(--line);font-weight:800;color:var(--ink);animation:chipPop .4s cubic-bezier(.34,1.56,.64,1) both}.stat-row{display:flex;gap:12px;margin:0 20px 14px}.stat{flex:1;background:var(--glass-strong);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--line);border-radius:20px;padding:16px;text-align:center;box-shadow:var(--shadow-soft);animation:itemIn .5s ease both}.stat .num{font-family:var(--display);font-size:2rem;font-weight:600;background:linear-gradient(120deg,var(--coral),var(--violet));-webkit-background-clip:text;background-clip:text;color:transparent}.stat .lab{font-size:.73rem;color:var(--muted);font-weight:700}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:32px;color:#fff;overflow:hidden;background:radial-gradient(circle at 50% 30%,#7b61fff5,#ef3d6af7);animation:overlayIn .4s ease both}@keyframes overlayIn{0%{opacity:0}}.overlay .hearts{font-size:3.6rem;margin-bottom:8px;animation:burst .6s cubic-bezier(.34,1.56,.64,1) both}@keyframes burst{0%{transform:scale(.2) rotate(-20deg);opacity:0}60%{transform:scale(1.25) rotate(6deg)}to{transform:scale(1) rotate(0);opacity:1}}.overlay .match-title{font-family:var(--display);font-size:clamp(2.6rem,12vw,3.4rem);font-weight:600;letter-spacing:-.01em;margin-bottom:4px;text-shadow:0 8px 26px rgba(0,0,0,.25);animation:itemIn .5s .1s ease both}.overlay .match-name{font-family:var(--display);font-size:clamp(2rem,10vw,2.8rem);font-weight:600;padding:14px 34px;border-radius:22px;background:#ffffff29;border:1px solid rgba(255,255,255,.3);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);margin:16px 0 28px;animation:chipPop .6s .2s cubic-bezier(.34,1.56,.64,1) both}.overlay .stack{max-width:330px;animation:itemIn .5s .3s ease both}.overlay .btn-primary{color:var(--coral-deep);background:#fff;box-shadow:0 16px 30px -12px #0006}.overlay .btn-soft{color:#fff;background:#ffffff2e;border:1px solid rgba(255,255,255,.3)}.confetti{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.confetti i{position:absolute;top:-12%;width:10px;height:14px;border-radius:3px;opacity:.95;animation:fall linear forwards}@keyframes fall{to{transform:translateY(120vh) rotate(720deg);opacity:.9}}.spacer{flex:1}.spinner{width:38px;height:38px;border:3px solid rgba(255,255,255,.5);border-top-color:var(--coral);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.toast{position:fixed;left:50%;bottom:calc(104px + var(--sab));transform:translate(-50%);background:#241d3af0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;padding:12px 20px;border-radius:999px;font-weight:700;font-size:.9rem;z-index:60;box-shadow:var(--shadow);animation:toastIn .3s cubic-bezier(.34,1.56,.64,1) both}@keyframes toastIn{0%{transform:translate(-50%,14px);opacity:0}}
