@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{--bg:#151112;--paper:#f5f0e8;--muted:#a29a99;--line:#382e30;--red:#ff4b50;--accent:#e9d477}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--paper);font-family:"DM Sans",sans-serif;min-height:100svh;display:flex;flex-direction:column;background-image:radial-gradient(ellipse at 80% 15%,#4c20232a,transparent 50%)}button,input{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #fff;outline-offset:5px}button:disabled{opacity:.35;cursor:not-allowed}button{color:inherit}header{height:100px;display:flex;align-items:center;justify-content:space-between;margin:0 6%;border-bottom:1px solid var(--line)}.wordmark{font-family:"Space Grotesk",sans-serif;font-size:29px;font-weight:700;letter-spacing:-2px;background:none;border:0;padding:0}.wordmark span{color:var(--red);font-size:13px;vertical-align:top;letter-spacing:0;margin-left:4px}.edition{font-size:10px;letter-spacing:2px;color:var(--muted);display:flex;align-items:center;gap:12px}.edition i{width:5px;height:5px;border-radius:50%;background:var(--red)}.icon{background:transparent;border:1px solid var(--line);border-radius:50%;width:36px;height:36px;font-size:18px}
main{width:min(1120px,88%);margin:0 auto;flex:1}footer{margin:36px 6% 0;padding:24px 0;display:flex;justify-content:space-between;border-top:1px solid var(--line);color:var(--muted);font-size:10px;letter-spacing:1.5px}footer button{border:0;background:none;font-size:11px;letter-spacing:0;color:var(--muted)}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--red);display:flex;align-items:center;gap:9px}.eyebrow:before{content:"";height:6px;width:6px;background:currentColor;border-radius:50%}h1,h2,h3{font-family:"Space Grotesk",sans-serif}h1{font-size:clamp(50px,6vw,82px);line-height:1.02;letter-spacing:-4px;margin:24px 0}h1 em{font-style:normal;color:var(--red)}p{line-height:1.65;color:var(--muted)}.intro{display:grid;grid-template-columns:1.05fr 1fr;gap:60px;align-items:center;padding:62px 0 50px}.intro p{font-size:15px;max-width:390px}.small{font-size:12px!important}.pill{display:inline-block;border:1px solid var(--line);border-radius:20px;padding:7px 12px;font-size:10px;letter-spacing:1px;color:var(--muted)}
.setup{background:#1e181a;border:1px solid #493236;border-radius:24px;padding:30px;box-shadow:0 24px 90px #0003}.section-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.section-title h2{font-size:24px;letter-spacing:-.8px;margin:0}.counter{font-size:11px;color:var(--muted)}.setup>p{font-size:13px;margin:8px 0 20px}.add-row{display:flex;gap:8px}input[type=text]{min-width:0;width:100%;background:#120f10;border:1px solid #49383b;border-radius:10px;padding:14px;color:var(--paper);font-size:14px}.add-btn{border:0;background:var(--paper);color:#171112;border-radius:10px;width:50px;font-size:27px}.players{display:flex;flex-wrap:wrap;gap:7px;min-height:60px;padding:16px 0}.chip{border:1px solid #4b3a3d;padding:8px 11px;border-radius:8px;font-size:13px;display:flex;align-items:center;gap:15px}.chip button{border:0;background:none;color:var(--muted);padding:0;font-size:17px}.empty{font-size:12px;color:#807174;padding:4px 0}.check{display:flex;align-items:flex-start;gap:10px;font-size:12px;line-height:1.5;color:#c0b5b6;margin:12px 0 20px}.check input{accent-color:var(--red);margin:3px 0;width:16px;height:16px;flex-shrink:0}.primary{background:var(--red);color:#160e0e;border:0;border-radius:10px;width:100%;padding:16px 20px;font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:space-between;gap:15px}.primary:hover{filter:brightness(1.09)}.error{color:#ff9c9f;font-size:12px;margin:7px 0;min-height:16px}.setup .error:empty{display:none}
.bottom-note{display:flex;align-items:center;gap:12px;border-top:1px solid var(--line);padding:18px 0;font-size:11px;color:var(--muted)}.bottom-note strong{color:var(--paper)}.levels-head{display:flex;justify-content:space-between;align-items:end;padding:45px 0 28px;gap:20px}.levels-head h1{font-size:48px;margin:15px 0;letter-spacing:-2px}.text-btn{border:0;background:none;color:var(--muted);font-size:12px;padding:5px 0}.mode-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.mode{position:relative;overflow:hidden;text-align:left;border:1px solid #4d4140;border-radius:18px;min-height:340px;padding:26px;color:var(--paper);background:#211c1a;display:flex;flex-direction:column;transition:transform .2s,border-color .2s}.mode:hover{transform:translateY(-5px);border-color:var(--tone)}.mode.m0{--tone:#ebd78e;background:linear-gradient(150deg,#393024,#201b19)}.mode.m1{--tone:#ff9b62;background:linear-gradient(150deg,#492a22,#241b1a)}.mode.m2{--tone:#ff5a68;background:linear-gradient(150deg,#4b202a,#27181c)}.mode-top{display:flex;justify-content:space-between;font-size:10px;letter-spacing:1px;color:var(--tone);z-index:1}.mode-symbol{font-family:"Space Grotesk";font-size:70px;line-height:1.1;color:var(--tone);margin:26px 0 8px;letter-spacing:-11px}.mode h2{font-size:28px;letter-spacing:-1px;margin:0 0 10px;line-height:1.04;max-width:170px}.mode p{font-size:12px;margin:0 0 22px;max-width:220px;color:#c2b1ab}.mode-bottom{margin-top:auto;display:flex;justify-content:space-between;font-size:11px;border-top:1px solid #ffffff20;padding-top:17px}.mode-bottom b{font-size:19px;color:var(--tone)}.controls-row{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;padding:25px 0}.toggle{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}.toggle input{accent-color:var(--red)}.test-note{font-size:11px;color:var(--muted);border-left:2px solid var(--red);padding-left:12px;line-height:1.7}.test-note strong{color:var(--paper)}
.game-wrap{max-width:670px;margin:32px auto}.game-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.game-top span{font-size:11px;letter-spacing:1px;color:var(--muted)}.progress{height:3px;background:#392f30;border-radius:10px;margin-bottom:24px}.progress div{height:100%;background:var(--accent);transition:width .3s}.playing-card{position:relative;min-height:360px;background:var(--accent);color:#211719;border-radius:22px;padding:34px;display:flex;flex-direction:column;box-shadow:0 15px 50px #0003;overflow:hidden}.playing-card:after{content:"t";font-size:350px;font-family:"Space Grotesk";font-weight:700;position:absolute;right:-10px;bottom:-140px;opacity:.045;pointer-events:none;transform:rotate(-15deg)}.card-top{display:flex;justify-content:space-between;gap:10px;align-items:center;text-transform:uppercase;font-size:10px;letter-spacing:1.8px;font-weight:700}.card-top span:last-child{opacity:.65;letter-spacing:1px}.card-text{font-family:"Space Grotesk";font-weight:500;font-size:clamp(24px,4vw,34px);line-height:1.25;letter-spacing:-.8px;margin:auto 0;padding:35px 0;position:relative;z-index:1}.card-text strong{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px}.card-rule{font-size:11px;line-height:1.6;border-top:1px solid #0002;padding-top:15px;margin:0;color:#392c2c}.game-actions{display:grid;grid-template-columns:1fr 2fr;gap:12px;margin-top:18px}.secondary{border:1px solid #4d3d40;background:transparent;border-radius:10px;padding:15px;font-size:13px}.game-actions .primary{background:var(--paper);justify-content:center}.game-small{display:flex;justify-content:space-between;gap:12px;margin-top:20px;color:var(--muted);font-size:11px}.reaction{display:flex;gap:6px;align-items:center}.reaction button{background:none;border:1px solid var(--line);border-radius:20px;padding:7px 10px;font-size:11px}.reaction button.active{border-color:var(--red);color:var(--red)}.end{text-align:center;padding:60px 20px}.end h1{font-size:56px;letter-spacing:-2px}.end .primary,.end .secondary{max-width:350px;margin:12px auto;width:100%}.end .primary{justify-content:center}.stats{display:flex;justify-content:center;gap:35px;margin:30px 0}.stats b{display:block;font-size:30px;color:var(--paper)}.stats span{font-size:11px;color:var(--muted)}
dialog{background:#21191c;color:var(--paper);border:1px solid #674047;border-radius:22px;width:min(440px,92vw);padding:32px;max-height:88svh;overflow-y:auto}dialog::backdrop{background:#090506cc;backdrop-filter:blur(8px)}dialog .close{position:absolute;right:15px;top:15px}dialog h2{font-size:34px;line-height:1.1;letter-spacing:-1px;margin:25px 0 15px}dialog p,dialog li{font-size:13px;color:#c1b6b8;line-height:1.7}dialog ul{padding-left:18px}.price{font-size:36px;font-family:"Space Grotesk";margin:24px 0 5px}.price small{font-size:13px;color:var(--muted)}.demo{border:1px solid #76544d;background:#3c2a25;color:#efcca5;padding:12px;border-radius:10px;font-size:12px;line-height:1.6;margin:20px 0}.wide{width:100%;margin-top:12px}.modal-options{display:grid;gap:10px;margin:18px 0}.modal-options label{background:#302329;border:1px solid #584148;border-radius:10px;padding:13px;display:flex;gap:10px;font-size:13px}.modal-options input{accent-color:var(--red)}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);background:var(--paper);color:#211719;padding:12px 20px;border-radius:30px;font-size:12px;opacity:0;pointer-events:none;transition:.2s;z-index:9;max-width:90vw;text-align:center}#toast.show{opacity:1;transform:translate(-50%,0)}.resume{margin:0 0 22px;padding:16px 20px;border:1px solid #785848;border-radius:12px;display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:13px}.resume button{background:none;border:0;color:#e7c593}.subtle{font-size:11px;color:var(--muted)}.reveal{animation:enter .25s ease-out}@keyframes enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:760px){header{height:76px;margin:0 6%}.edition{font-size:8px;letter-spacing:1px;gap:7px}.wordmark{font-size:25px}.intro{grid-template-columns:1fr;gap:26px;padding:32px 0 24px}h1{font-size:60px;letter-spacing:-3px;margin:16px 0}.intro p{font-size:14px;margin:0}.intro .pill{margin-top:20px}.setup{padding:22px}.setup>p{margin:8px 0 16px}.bottom-note{align-items:flex-start;line-height:1.7}.levels-head{padding:30px 0 15px;align-items:start;flex-direction:column;gap:0}.levels-head h1{font-size:40px;margin:12px 0}.mode-grid{grid-template-columns:1fr;gap:12px}.mode{min-height:190px;padding:20px 24px}.mode-symbol{position:absolute;right:28px;top:38px;font-size:64px;opacity:.75}.mode h2{max-width:none;font-size:28px;margin:22px 0 8px;position:relative;z-index:1}.mode p{max-width:240px;margin-bottom:18px}.mode-bottom{padding-top:12px}.controls-row{align-items:start;gap:20px}.game-wrap{margin:24px auto}.playing-card{min-height:380px;padding:26px}.card-text{font-size:29px}.game-small{flex-direction:column;align-items:center;gap:16px}.game-top span{font-size:9px}.game-top .text-btn{font-size:11px}footer{margin-top:20px;font-size:8px;letter-spacing:.8px;padding-bottom:max(24px,env(safe-area-inset-bottom))}.end h1{font-size:45px}.end{padding:40px 0}dialog{padding:26px}.resume{font-size:12px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
.rule-banner{border:1px solid #8f6758;background:#342523;border-radius:10px;padding:12px 15px;margin:12px 0;font-size:12px;line-height:1.6;color:#f2d3b0}.rule-banner button{display:block;background:none;border:0;color:inherit;text-decoration:underline;padding:8px 0 0}.couple-picker{margin-top:15px;padding:16px;border:1px solid var(--line);border-radius:12px}.couple-picker p{font-size:12px;margin-top:0}.couple-picker select{background:#2c2024;color:var(--paper);border:1px solid #745058;border-radius:6px;padding:10px;margin:0 8px 10px 0;max-width:45%}.couple-picker button{display:block;width:100%}.mode h2{max-width:100%;font-size:27px}.mode-symbol{pointer-events:none}.card-text{font-size:clamp(23px,3.3vw,31px)}@media(max-width:760px){.mode h2{max-width:230px;font-size:25px}.mode-symbol{opacity:.25}.card-text{font-size:25px}.playing-card{min-height:360px}}
.language{display:flex;gap:2px;border:1px solid var(--line);padding:3px;border-radius:20px;margin-left:auto;margin-right:18px}.language button{border:0;background:transparent;border-radius:16px;font-size:11px;padding:6px 9px;color:var(--muted)}.language button.active{color:#151112;background:var(--paper)}header .edition{margin-left:auto;margin-right:auto}.footer-links{display:flex;gap:22px;align-items:center}#suggest{color:var(--paper)}.form-label{display:block;font-size:12px;margin:18px 0 7px}#suggest-form textarea,#suggest-form select{font:inherit;color:var(--paper);background:#160f12;border:1px solid #61414a;border-radius:8px;padding:12px;width:100%}#suggest-form textarea{resize:vertical;min-height:130px}#suggest-form a{color:#ffc0c7}.form-status{font-size:12px;line-height:1.6;margin-bottom:15px}.honey{display:none!important}#suggest-form .primary{margin-top:14px}@media(max-width:760px){header .edition{display:none}.footer-links{gap:12px;flex-wrap:wrap;justify-content:flex-end}footer{gap:15px}footer>span{max-width:105px;line-height:1.7}.language{margin-right:12px}.game-top{gap:12px}.game-top span{text-align:right;max-width:68%}}

.custom-mode{margin-top:22px;width:100%;min-height:0;display:flex;align-items:center;justify-content:space-between;text-align:left;background:#c3a5f5;color:#211829;padding:30px;border-radius:24px}
.custom-mode h2{margin:8px 0;font-size:32px}.custom-mode p{margin:0}.custom-arrow{font-size:64px}.custom-wrap{max-width:680px;margin:35px auto 70px}.custom-wrap h1{font-size:clamp(48px,8vw,78px);line-height:1.02;margin:22px 0}.custom-wrap h1 em{color:#c3a5f5}.custom-wrap>p{line-height:1.6}.custom-count{display:flex;align-items:center;gap:14px;margin:26px 0}.custom-count strong{font-size:28px;color:#c3a5f5}.custom-count span{font-size:14px}.custom-form{padding:26px;background:#251f24;border:1px solid #493d4d;border-radius:22px;margin-bottom:20px}.custom-form fieldset{border:0;padding:0;margin:0 0 24px;display:flex;gap:24px}.custom-form legend{margin-bottom:12px}.custom-form label{font-size:15px}.custom-form input{accent-color:#c3a5f5}.custom-form textarea{display:block;box-sizing:border-box;width:100%;margin-top:12px;resize:vertical;min-height:140px;background:#171217;color:#f5f0e8;border:1px solid #66546e;border-radius:12px;padding:16px;font:inherit}.custom-form textarea:focus{outline:2px solid #c3a5f5;outline-offset:2px}.custom-wrap .primary{background:#c3a5f5;color:#211829}.handoff{text-align:center}.custom-star{font-size:60px;color:#c3a5f5}.custom-turn{color:#c3a5f5;margin:20px 0 0;font-size:16px}.custom-wrap .subtle{line-height:1.6}@media(max-width:760px){.custom-mode{padding:24px}.custom-mode h2{font-size:26px}.custom-arrow{font-size:40px}.custom-form{padding:20px}.custom-wrap{margin-top:24px}}
.playing-card .custom-turn{color:#211829}

#analytics-choice{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);width:min(600px,94vw);z-index:20;padding:20px;background:#21191c;border:1px solid #765462;border-radius:18px;box-shadow:0 12px 60px #0009}#analytics-choice strong{font-size:16px}#analytics-choice p{font-size:12px;line-height:1.6;margin:10px 0}#analytics-choice>div{display:flex;gap:12px}#analytics-choice button{flex:1;background:#35262e;border-color:#866471}#analytics-choice button:focus-visible{outline:2px solid white}.footer-links{flex-wrap:wrap}

.round-price{font-size:52px;line-height:1.2;font-weight:700;color:var(--accent);margin:24px 0}.round-price small{font-size:17px;color:#b9aaa9;font-weight:400}.purchase-details{padding-left:20px;line-height:1.7}.purchase-details li{margin:8px 0}.payment-error{color:#ff9d9d;font-size:14px}.mode-top{gap:12px}.edition{white-space:nowrap}@media(max-width:520px){.edition{display:none}.round-price{font-size:42px}.mode-top{font-size:10px}}
.custom-mode{flex-direction:row;gap:20px}.custom-mode p{color:#3b2c48;max-width:none}.custom-mode .eyebrow{color:#49305e}.custom-arrow{flex-shrink:0}
