@font-face{font-family:Heartfall;src:url(/assets/fonts/Cinzel.ttf)format("truetype");font-weight:400 900;font-display:swap}@font-face{font-family:HeartfallGame;src:url(/assets/fonts/SwanseaBold-white.ttf)format("truetype");font-display:swap}:root{--background:#101213;--foreground:#efeae0;--muted:#8d9290;--line:#ffffff15;--accent:#edb8b6;--mode-color:#e0142a;--glass:#0d081ad1;--glass-strong:#0d0814e6;--glass-border:#a673eb8c;--glass-glow:#1f0a4dbf;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{background:var(--background);color:var(--foreground);margin:0;font-family:Arial,Helvetica,sans-serif;font-size:14px}button,input,select{font:inherit}button{cursor:pointer;color:inherit}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:5px}button{background:0 0;border:0}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Georgia,Times New Roman,serif;font-weight:400}p{line-height:1.7}a{color:inherit}.app-shell{min-height:100dvh}.atmosphere{z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 50% 45%, color-mix(in srgb, var(--warp-base,#e0142a) 55%, #4d4d4d), color-mix(in srgb, var(--warp-accent,#0f051e) 75%, #4d4d4d) 80%);transition:background 1.5s ease-in-out;position:fixed;inset:0}.atmosphere-canvas{inset:0;position:absolute!important}.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;max-width:1440px;height:94px;margin:auto;padding:0 6%;display:flex}.wordmark{letter-spacing:3px;align-items:center;gap:12px;font-family:Heartfall,Georgia,serif;font-size:23px;display:flex}.wordmark>span:first-child{color:var(--accent);font-size:24px}.wordmark-dot{align-self:flex-start;margin-top:7px;margin-left:-8px;font:9px Arial}.site-header nav{color:#b9bbb6;align-items:center;gap:24px;font-size:12px;display:flex}.site-header nav button:hover{color:#fff}.edition{letter-spacing:2px;color:var(--muted);border-left:1px solid var(--line);padding-left:25px;font-size:9px}.account{align-items:center;gap:9px;display:flex}.avatar{width:30px;height:30px;color:var(--accent);background:#e9b8b21a;border:1px solid #e9b8b23a;border-radius:50%;place-items:center;display:inline-grid}.menu{max-width:1280px;margin:auto;padding:0 5.5%}.hero{grid-template-columns:1.1fr 1fr;align-items:center;gap:40px;min-height:430px;padding:55px 0 40px;display:grid}.eyebrow{letter-spacing:3px;color:var(--accent);align-items:center;gap:9px;font-size:10px;font-weight:600;display:flex}.eyebrow>span{background:var(--accent);border-radius:50%;width:5px;height:5px}.hero h1{letter-spacing:-2px;margin:24px 0;font-size:clamp(42px,4.8vw,68px);line-height:1.08}.hero h1 em{color:var(--accent);font-weight:400}.hero-copy>p{color:#d1cfc8;font-size:16px}.hero-copy>p>span{color:var(--muted);font-size:13px}.hero-rule{color:var(--muted);align-items:center;gap:13px;margin-top:30px;font-size:9px;display:flex}.hero-rule>span{font-size:14px}.hero-rule>span:nth-child(2n){color:var(--accent)}.hero-rule i{background:var(--line);width:35px;height:1px;display:block}.hero-cards{perspective:1200px;height:335px;position:relative}.hero-card{filter:drop-shadow(0 15px 22px #0009);border-radius:11px;width:155px;position:absolute;top:48px;left:50%}.card-left{top:70px;transform:translate(-130%)rotate(-19deg)}.card-right{top:70px;transform:translate(22%)rotate(20deg)}.card-center{width:168px;top:26px;transform:translate(-50%)rotate(-3deg)}.halo{background:radial-gradient(#f8989917,#0000 65%);border-radius:50%;position:absolute;inset:-30px -50px}.floating-suit{color:var(--accent);font-size:18px;position:absolute;bottom:42px;left:50%;transform:translate(-50%)}.card-caption{text-align:center;letter-spacing:3px;color:#8a6d6e;width:100%;font-size:8px;position:absolute;bottom:3px}.section-label{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.section-label h2{margin:0;font-size:25px}.section-label button{color:var(--muted);font-size:11px}.play-options{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.play-option{text-align:left;background:linear-gradient(135deg,#ffffff05,#ffffff01);border:1px solid #ffffff17;border-radius:6px;flex-direction:column;align-items:flex-start;min-height:175px;padding:26px;transition:border-color .2s,transform .2s;display:flex;position:relative}.play-option:not(:disabled):hover{border-color:#edb8b67a;transform:translateY(-4px)}.play-option:disabled{opacity:.65}.option-number{color:#646763;font-size:9px;position:absolute;top:22px;right:24px}.option-icon{color:var(--accent);margin-bottom:13px;font-size:31px;line-height:1.1}.option-casual .option-icon{color:#97bbaa}.option-solo .option-icon{color:#b7adc8}.play-option strong{margin-bottom:7px;font-family:Georgia,serif;font-size:24px;font-weight:400}.play-option>span:not([class]){color:#959990;font-size:11px}.option-arrow{color:#93978f;position:absolute;bottom:25px;right:24px}.signin-row{justify-content:center;align-items:center;gap:20px;min-height:85px;display:flex}.signin-row>span,.signin-row>p{color:var(--muted);font-size:11px}.signin-row p{text-align:center;max-width:650px;margin:20px 0}.primary{background:var(--accent);color:#292122;border-radius:4px;min-height:42px;padding:12px 24px;font-size:12px;font-weight:600;transition:filter .2s}.primary:hover{filter:brightness(1.08)}.google-g{margin-right:12px;font:700 16px Arial}.secondary{border:1px solid #ffffff30;border-radius:4px;padding:11px 24px;font-size:12px}.resume-link{color:var(--accent);margin:15px auto;display:block}.modes-strip{border-top:1px solid var(--line);justify-content:space-between;gap:20px;margin:22px 0 30px;padding:30px 0;display:flex}.modes-strip button{color:#9b9d95;align-items:center;gap:10px;font-size:10px;display:flex}.modes-strip img{object-fit:contain;opacity:.75;width:25px;height:25px}.site-footer{border-top:1px solid var(--line);color:#656d65;letter-spacing:1.3px;justify-content:space-between;gap:16px;max-width:1440px;margin:0 auto;padding:24px 6%;font-size:8px;display:flex}.site-footer button{font-size:9px}.notice{background:#422d2d;border-bottom:1px solid #e6b9ba30;align-items:center;gap:16px;padding:14px 6%;font-size:12px;display:flex}.notice>button:last-child{margin-left:auto;font-size:20px}.queue-screen{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:75dvh;display:flex}.queue-screen h1{margin:22px 0 10px;font-size:40px}.queue-screen p{color:var(--muted)}.queue-orbit{border:1px solid #edb8b61a;border-radius:50%;width:130px;height:130px;margin-bottom:45px;animation:14s linear infinite orbit;position:relative}.queue-orbit>span{color:var(--accent);place-items:center;font-size:55px;display:grid;position:absolute;inset:0}.queue-orbit i{color:var(--muted);background:#101213;font-size:20px;font-style:normal;position:absolute}.queue-orbit i:nth-child(2){top:-10px;left:55px}.queue-orbit i:nth-child(3){bottom:15px;left:0}.queue-orbit i:nth-child(4){bottom:15px;right:0}@keyframes orbit{to{transform:rotate(360deg)}}.in-game .site-header{height:68px}.in-game .site-footer{padding:12px 5%}.game-screen{max-width:1440px;margin:auto;padding:0 4%}.game-topline{height:52px;color:var(--muted);justify-content:space-between;align-items:center;font-size:11px;display:flex}.divider{color:#ffffff30;padding:0 14px}.text-button{font-size:11px}.table{background:radial-gradient(at 50% 45%,#ffffff06,#00000026 75%);border:1px solid #ffffff14;border-radius:160px;height:calc(100dvh - 210px);min-height:480px;max-height:850px;font-family:HeartfallGame,Georgia,serif;position:relative;overflow:hidden;box-shadow:inset 0 0 80px #0000004d}.game-canvas{inset:0;position:absolute!important}.card-hit{color:#0000;background:0 0;border:2px solid #0000;border-radius:8px;padding:0}.card-hit:focus-visible{outline-offset:3px;outline:3px solid #f4d49b}.card-hit:disabled{opacity:1}.seat{z-index:40;pointer-events:none;align-items:center;gap:9px;display:flex;position:absolute}.seat-avatar{background:var(--glass);border:1px solid var(--glass-border);color:#f2ecfb;width:34px;height:34px;box-shadow:0 3px 14px var(--glass-glow);border-radius:50%;place-items:center;display:grid;position:relative}.moon-watch{filter:drop-shadow(0 0 6px #fff5cc);width:22px;height:22px;transition:opacity .3s;position:absolute;top:-10px;right:-14px}.moon-flash{animation:1.25s ease-in-out infinite moon-flash}@keyframes moon-flash{50%{filter:drop-shadow(0 0 1px #fff5cc)brightness(.6)}}.seat>div:last-child{text-shadow:0 0 3px #000000e6,2px 2px #000000a6}.seat strong{text-overflow:ellipsis;white-space:nowrap;max-width:100px;font-size:11px;font-weight:400;display:block;overflow:hidden}.seat span{margin-top:3px;font-family:Georgia,serif;font-size:18px;display:block}.seat small{color:#e4ada0;font:10px Arial}.seat-active .seat-avatar{border-color:var(--mode-color);box-shadow:0 0 14px var(--mode-color)}.seat-north{top:32px;left:50%;transform:translate(-50%)}.seat-west{top:42%;left:30px}.seat-east{top:42%;right:30px}.seat-south{background:var(--glass);border:1px solid var(--glass-border);box-shadow:0 3px 14px var(--glass-glow);border-radius:20px;padding:3px 14px;bottom:10px;left:50%;transform:translate(-50%)}.seat-south .seat-avatar{width:22px;height:22px;font-size:10px}.seat-south>div:last-child{align-items:center;gap:8px;display:flex}.seat-south span{margin:0;font-size:14px}.phase-info{text-align:center;z-index:41;pointer-events:none;width:65%;position:absolute;top:20%;left:50%;transform:translate(-50%)}.mode-pill{letter-spacing:2px;text-transform:uppercase;color:var(--mode-color);font-size:8px}.phase-info h2{margin:10px 0 6px;font-size:20px}.phase-info p{color:#d4c9e6;margin:0;font-size:10px}.timer{color:#e5c1b6;font-variant-numeric:tabular-nums;margin-top:8px;font-size:10px;display:inline-block}.pass-button{z-index:45;min-height:35px;padding:10px 20px;position:absolute;bottom:190px;left:50%;transform:translate(-50%)}.connection-banner{z-index:50;background:var(--glass-strong);border:1px solid var(--glass-border);text-align:center;border-radius:6px;max-width:90%;padding:18px 30px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.game-bottomline{color:#b3a8c7;justify-content:space-between;align-items:center;gap:20px;min-height:52px;font-size:9px;display:flex}.game-bottomline>span:first-child{letter-spacing:2px}.game-bottomline>span:nth-child(2){text-align:center;max-width:60%}.game-bottomline button{white-space:nowrap}.score-overlay{z-index:60;background:#07040eb8;place-items:center;display:grid;position:absolute;inset:0}.score-card{background:var(--glass-strong);border:1px solid #a673eb73;border-radius:12px;min-width:320px;max-width:92%;padding:32px;box-shadow:0 0 32px #59269e59}.score-card .eyebrow{justify-content:center}.score-card h2{text-align:center;margin:16px 0 25px;font-size:32px}.score-row{border-bottom:1px solid var(--line);justify-content:space-between;gap:35px;padding:13px 0;font-size:12px;display:flex}.score-row small{color:var(--accent);font-size:9px}.score-card>.primary{margin:24px auto 0;display:block}.chat-panel{background:var(--glass);border:1px solid var(--glass-border);border-radius:8px;margin:0 0 20px;padding:20px}.chat-history p{margin:0 0 8px;font-size:12px}.chat-presets{flex-wrap:wrap;gap:8px;display:flex}.chat-presets button{border:1px solid var(--line);background:#ffffff08;border-radius:20px;padding:7px 11px;font-size:11px}.table-loading{place-items:center;display:grid;position:absolute;inset:0}.heart-loader{color:var(--accent);font-size:40px}.flat-table{flex-direction:column;justify-content:flex-end;gap:20px;padding:20px;display:flex;position:absolute;inset:0}.flat-table>p{text-align:center;font-size:10px}.flat-hand{z-index:44;gap:2px;padding-bottom:30px;display:flex;overflow-x:auto}.flat-hand button{flex:0 0 55px;padding:0}.flat-hand img{width:55px}.flat-trick{justify-content:center;display:flex}.flat-trick img{width:55px}.flat-hand button[aria-pressed=true]{transform:translateY(-10px)}dialog{color:var(--foreground);background:#110b1c;border:1px solid #ffffff20;border-radius:12px;width:min(590px,100% - 30px);max-height:85dvh;padding:0;box-shadow:0 30px 150px #000b}dialog::backdrop{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#06030cc9}.modal{padding:30px}.modal-heading{justify-content:space-between;align-items:center;margin-bottom:25px;display:flex}.modal-heading h2{margin:0;font-size:32px}.modal-heading button{color:var(--muted);font-size:28px}.rules-intro{color:#c5cabe;font-size:13px}.muted{color:var(--muted);font-size:12px}.rules-modes>div{border-top:1px solid var(--line);gap:18px;padding:17px 0;display:flex}.rules-modes img{object-fit:contain;width:32px;height:32px;margin-top:3px}.rules-modes h3{margin:0 0 6px;font-family:Georgia,serif;font-size:19px;font-weight:400}.rules-modes p{color:#a0aa9e;margin:0;font-size:12px}.settings-list>label{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding:18px 0;font-size:12px;display:flex}.settings-list select{background:#1d1430;border:1px solid #ffffff20;border-radius:4px;padding:7px 12px;font-size:12px}.range-control{align-items:center;gap:12px;display:flex}.range-control span{width:32px;color:var(--muted);font-size:10px}input[type=range]{accent-color:var(--accent);width:140px}input[type=checkbox]{accent-color:var(--accent);width:17px;height:17px}.profile-name{align-items:center;gap:15px;display:flex}.profile-name h3{margin:0;font:25px Georgia}.profile-stats{grid-template-columns:repeat(3,1fr);gap:10px;margin:30px 0;display:grid}.profile-stats>div{text-align:center;border:1px solid var(--line);background:#ffffff05;border-radius:6px;padding:20px 10px}.profile-stats b{font:24px Georgia;display:block}.profile-stats span{color:var(--muted);margin-top:10px;font-size:10px;display:block}.achievement{color:#d9b885;border:1px solid #d9b88522;border-radius:4px;padding:12px}.tabs{gap:10px;margin-bottom:20px;display:flex}.tabs button{border:1px solid var(--line);border-radius:20px;padding:9px 18px;font-size:12px}.tabs button[aria-pressed=true]{background:var(--accent);color:#291d1d}.leaderboard{border-collapse:collapse;text-align:left;width:100%}.leaderboard th{color:var(--muted);padding:10px;font-size:10px;font-weight:400}.leaderboard td{border-top:1px solid var(--line);padding:14px 10px;font-size:12px}.leaderboard td small{color:var(--muted);margin-top:5px;font-size:9px;display:block}.leaderboard td:last-child,.leaderboard th:last-child{text-align:right}@media (max-width:760px){.site-header{height:74px;padding:0 5%}.wordmark{letter-spacing:2px;gap:8px;font-size:18px}.wordmark-dot,.desktop-label,.edition{display:none}.site-header nav{gap:15px;font-size:10px}.hero{grid-template-columns:1fr;gap:5px;min-height:0;padding-top:35px}.hero h1{font-size:49px}.hero-copy{text-align:center}.eyebrow{justify-content:center}.hero-rule{justify-content:center;gap:8px;font-size:8px}.hero-cards{height:245px;margin-top:10px}.hero-card{width:105px;top:40px}.card-center{width:116px;top:15px}.card-caption{font-size:7px;bottom:5px}.floating-suit{font-size:13px;bottom:28px}.play-options{gap:9px}.play-option{min-height:145px;padding:16px 12px}.play-option strong{font-size:21px}.play-option>span:not([class]){max-width:100px;font-size:10px;line-height:1.5}.option-number{font-size:8px;top:17px;right:12px}.option-icon{font-size:25px}.option-arrow{display:none}.section-label h2{font-size:23px}.signin-row{flex-direction:column;gap:12px;padding:24px 0}.modes-strip{flex-wrap:wrap;justify-content:center;gap:17px;margin:10px 0;padding:22px 0}.modes-strip button{gap:6px;font-size:9px}.modes-strip img{width:20px;height:20px}.site-footer>span:nth-child(2){display:none}.site-footer{padding:20px 5%;font-size:7px}.hero-copy>p{font-size:14px}.hero-copy>p>span{font-size:11px}.game-screen{padding:0 2%}.table{border-radius:70px;height:calc(100dvh - 190px);min-height:490px}.seat-west{top:43%;left:15px}.seat-east{top:43%;right:15px}.seat-west,.seat-east{text-align:center;flex-direction:column;gap:5px}.seat-avatar{width:28px;height:28px;font-size:11px}.seat strong{max-width:60px;font-size:10px}.seat-north{top:25px}.phase-info{width:78%;top:20%}.phase-info h2{font-size:17px}.mode-pill{font-size:7px}.phase-info p{font-size:9px}.pass-button{font-size:11px;bottom:150px}.game-bottomline{gap:8px;padding:0 10px;font-size:8px}.game-bottomline>span:first-child{display:none}.game-bottomline>span:nth-child(2){text-align:left;max-width:75%}.game-topline{padding:0 10px;font-size:10px}.text-button{font-size:10px}.score-card{width:90%;min-width:0;padding:22px}.score-card h2{font-size:26px}.score-row{gap:15px;font-size:11px}.modal{padding:23px}.modal-heading h2{font-size:28px}.range-control input{width:100px}.settings-list>label{font-size:11px}.queue-screen h1{font-size:30px}}@media (max-height:600px) and (min-width:600px){.in-game .site-header{height:45px}.game-topline{height:35px}.table{height:calc(100dvh - 135px);min-height:330px}.game-bottomline{min-height:30px}.seat-north{top:15px}.phase-info{width:30%;top:10%;left:25%}.phase-info h2{font-size:15px}.pass-button{font-size:10px;bottom:45%;left:78%}.seat-west,.seat-east{top:25%}.in-game .site-footer{padding:7px 5%}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}html[data-motion=reduced] *{transition:none!important;animation:none!important}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.seat span span{font:inherit;display:inline}.presentation{z-index:70;text-align:center;background:var(--glass-strong);border:1px solid var(--glass-border);pointer-events:none;border-radius:12px;flex-direction:column;align-items:center;gap:12px;width:min(440px,88%);padding:22px 30px;animation:.35s ease-out presentation-in;display:flex;position:absolute;top:35%;left:50%;transform:translate(-50%,-50%);box-shadow:0 10px 70px #0007}.presentation strong{color:var(--mode-color);text-shadow:0 2px 10px #000;font:30px HeartfallGame,Georgia}.presentation>span{color:#d4c9e6;font-size:11px}.presentation .celebration-symbol{color:#f5d99d;font-size:48px}.presentation-victory,.presentation-moon{background:#14122af5;top:27%}.presentation-moon strong,.presentation-victory strong{color:#f5d99d}@keyframes presentation-in{0%{opacity:0;margin-top:10px}to{opacity:1;margin-top:0}}.pass-index{color:#f5d99d;pointer-events:none;font-size:18px;position:absolute;top:-24px;left:50%;transform:translate(-50%)}@media (max-width:600px){.pass-button{bottom:230px}.phase-info{top:18%}.seat-west,.seat-east{top:40%}}.hero-cards{overflow:clip}.play-option{min-width:0}@media (max-width:480px){.play-options{grid-template-columns:1fr}.play-option{min-height:100px;padding:18px 52px}.play-option .option-icon{position:absolute;top:33px;left:18px}.play-option strong{font-size:23px}.play-option>span:not([class]){max-width:none;font-size:11px}.option-arrow{display:block;bottom:25px;right:18px}.hero h1{font-size:44px}}.heal-pop{color:#3f3;text-shadow:0 0 12px #3f39,0 2px #000;pointer-events:none;font:48px HeartfallGame,Georgia,serif;animation:1s ease-out forwards heal-pop;display:block}@keyframes heal-pop{0%{opacity:0;transform:scale(.5)}15%{opacity:1;transform:scale(1.3)}25%{transform:scale(1)}45%{opacity:1;transform:translate(0)}to{transform:translate(var(--dx), var(--dy)) scale(.6);opacity:0}}.presentation-mode{animation:2.25s ease-in-out both mode-card}.presentation-mode .mode-icon{object-fit:contain;width:64px;height:64px}.presentation-mode strong{font-size:36px}@keyframes mode-card{0%{opacity:0}11%,78%{opacity:1}to{opacity:0}}.presentation-roulette{--item-h:44px;background:#0d0814e0;border-color:#d180ffeb;width:min(460px,92%);top:46%;box-shadow:0 0 40px #8c3dd966}.presentation-roulette>strong{color:#fff;font-size:40px}.reels{gap:6px;width:100%;margin:0;padding:0;list-style:none;display:grid}.reels li{align-items:center;gap:10px;display:flex}.reel-index{color:#d4c9e6;width:24px;font:22px HeartfallGame,Georgia,serif}.reel-window{height:var(--item-h);background:#ffffff0a;border:1px solid #a673eb40;border-radius:8px;flex:1;overflow:hidden}.reel-strip{animation:reel-spin var(--spin) linear .589s both;flex-direction:column;display:flex}.reel-item{height:var(--item-h);color:#fff;text-shadow:0 0 2px #000a;flex:none;align-items:center;gap:12px;padding:0 12px;font:22px HeartfallGame,Georgia,serif;display:flex}.reel-item img{object-fit:contain;width:28px;height:28px}@keyframes reel-spin{0%{animation-timing-function:linear;transform:translateY(0)}65%{transform:translateY(calc(var(--decel) * -1 * var(--item-h)));animation-timing-function:cubic-bezier(.33,1,.68,1)}to{transform:translateY(calc(var(--items) * -1 * var(--item-h)))}}.reels-settled .reel-window{animation:reel-pulse .6s ease-in-out calc(var(--i) * .2s) infinite alternate both}@keyframes reel-pulse{0%{filter:drop-shadow(0 0 #0000)sepia(0);border-color:#e08cff;box-shadow:0 0 14px #e08cff73}to{filter:sepia(.35)saturate(1.4);border-color:#ffe059;box-shadow:0 0 14px #ffe05973}}
