@font-face{font-family:Unbounded;font-style:normal;font-weight:200 900;font-display:swap;src:url(/fonts/unbounded-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Unbounded;font-style:normal;font-weight:200 900;font-display:swap;src:url(/fonts/unbounded-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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}:root{--bg:#16060f;--bg2:#2a0a1e;--pink:#ff2e63;--pink2:#ff637b;--purple:#7b2cbf;--text:#fff4f7;--muted:#c9899d;font-family:Unbounded,system-ui,-apple-system,sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:radial-gradient(120% 100% at 50% 0%, var(--bg2), var(--bg) 70%);color:var(--text);-webkit-font-smoothing:antialiased;overscroll-behavior:none}.screen{min-height:100dvh;padding:max(20px, env(safe-area-inset-top)) 24px max(24px, env(safe-area-inset-bottom));flex-direction:column;align-items:stretch;gap:16px;max-width:480px;margin:0 auto;display:flex}.home{text-align:center;justify-content:center;align-items:center}.heart-logo{filter:drop-shadow(0 0 26px #ff2e6380);width:150px;max-width:60vw}.logo{letter-spacing:-1px;background:linear-gradient(100deg, var(--pink), var(--pink2) 55%, var(--purple));color:#0000;text-shadow:0 0 40px #ff2e6340;-webkit-background-clip:text;background-clip:text;font-size:46px;font-weight:900}.tagline{color:var(--muted);font-size:17px}h2{font-size:24px;font-weight:800}.btn{cursor:pointer;color:var(--text);background:#ffffff14;border:none;border-radius:18px;padding:16px 24px;font-size:18px;font-weight:700;transition:transform .1s}.btn:active{transform:scale(.97)}.btn.primary{background:linear-gradient(100deg, var(--pink), var(--purple));min-width:220px;box-shadow:0 8px 28px #ff2e6359}.btn.primary:disabled{opacity:.35;box-shadow:none;cursor:default}.btn.ghost{color:var(--muted);background:0 0}.btn.small{min-width:56px;padding:12px;font-size:22px}.btn.sticky{margin-top:auto}.back{color:var(--muted);cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:4px 0;font-size:17px}.back.light{color:#ffffffd9;z-index:2;font-size:24px}.row{gap:10px;display:flex}input{min-width:0;color:var(--text);background:#0000004d;border:2px solid #ff2e6359;border-radius:16px;outline:none;flex:1;padding:14px 16px;font-size:17px}input:focus{border-color:var(--pink)}.players{flex-direction:column;gap:8px;list-style:none;display:flex;overflow-y:auto}.players li{background:#ffffff0f;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;font-size:17px;display:flex}.players li>button{color:var(--muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;font-size:16px}.deck-open{color:var(--text);cursor:pointer;text-align:left;background:0 0;border:none;flex:1;font-size:17px}.deck-open small{color:var(--muted)}.hint{color:var(--muted);font-size:15px}.disclaimer{color:var(--muted);opacity:.8;margin-top:24px;font-size:13px}.deck-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.deck-tile{color:var(--text);cursor:pointer;background:#ffffff0d;border:2px solid #ffffff1a;border-radius:20px;flex-direction:column;align-items:center;gap:6px;padding:20px 12px;display:flex}.deck-tile.on{border-color:var(--pink);background:#ff2e6329;box-shadow:0 0 20px #ff2e6340}.deck-emoji{font-size:34px}.deck-name{font-size:17px;font-weight:800}.deck-count{color:var(--muted);font-size:13px}.game{text-align:center;cursor:pointer;-webkit-user-select:none;user-select:none;background:linear-gradient(160deg,#f94367,#b8125c 60%,#7b2cbf);justify-content:center;align-items:center;max-width:none}.game.alt{background:linear-gradient(160deg,#ff637b,#e0257a 60%,#8f3bd4)}.game.over{background:radial-gradient(120% 100% at 50% 0%, var(--bg2), var(--bg) 70%)}.game .back{top:max(16px, env(safe-area-inset-top));position:absolute;left:20px}.card-text{white-space:pre-line;text-shadow:0 2px 16px #00000040;max-width:560px;font-size:clamp(19px,5.2vw,30px);font-weight:700;line-height:1.35}.cards-list li span{font-size:15px;line-height:1.4}.deck-tile.featured{background:linear-gradient(120deg,#ff2e6324,#7b2cbf24);border-width:2px;border-color:#ff2e6373;padding:24px 16px}.deck-tile.featured.on{border-color:var(--pink);background:linear-gradient(120deg,#ff2e6347,#7b2cbf47);box-shadow:0 0 26px #ff2e6359}.deck-tile.featured .deck-emoji{font-size:44px}.deck-tile.featured .deck-name{font-size:22px}.variant-box{cursor:default;border-top:1px solid #ff2e6359;flex-direction:column;gap:8px;width:100%;margin-top:14px;padding-top:14px;display:flex}.variant-box button{color:var(--muted);cursor:pointer;background:#00000038;border:1.5px solid #ffffff24;border-radius:12px;padding:11px 8px;font-size:14px;font-weight:700}.variant-box button.on{color:var(--text);background:linear-gradient(100deg, var(--pink), var(--purple));border-color:#0000}.variant-row{gap:8px;display:flex}.variant-row button{flex:1}.imprint-link{right:12px;bottom:max(10px, env(safe-area-inset-bottom));color:var(--muted);opacity:.4;cursor:pointer;background:0 0;border:none;font-family:inherit;font-size:10px;position:fixed}.modal-backdrop{z-index:10;background:#000000b3;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal{background:var(--bg2);text-align:left;border:1px solid #ff2e634d;border-radius:20px;flex-direction:column;gap:14px;width:100%;max-width:420px;max-height:80dvh;padding:24px;display:flex;overflow-y:auto}.modal h3{font-size:18px}.modal p{color:var(--text);font-size:12px;line-height:1.7}
