@font-face{font-family:'Anton';font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/anton-400.ttf') format('truetype')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/montserrat-400.ttf') format('truetype')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:600;font-display:swap;src:url('assets/fonts/montserrat-600.ttf') format('truetype')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:700;font-display:swap;src:url('assets/fonts/montserrat-700.ttf') format('truetype')}
:root{--canvas:#111113;--panel:#080809;--pink:#f6007b;--white:#fffaf4;--muted:#a2a2a8;--line:#2b2b30}*{box-sizing:border-box}body{margin:0;background:var(--canvas);color:var(--white);font-family:Montserrat,Arial,sans-serif}button{-webkit-tap-highlight-color:transparent;cursor:pointer;font:inherit;color:inherit}button:focus-visible{outline:3px solid var(--pink);outline-offset:5px}[hidden]{display:none!important}.app{width:min(100%,480px);margin:0 auto;padding:21px 20px 25px}.app-brand{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.brand{font:400 30px/1 Anton,Impact,sans-serif;letter-spacing:-2px}.edition{font-size:8px;font-weight:700;letter-spacing:1.7px;color:var(--muted)}.panel{padding:21px;border-radius:34px;background:var(--panel);box-shadow:0 12px 60px #0002}.screen{height:clamp(500px,calc(100svh - 140px),670px);display:flex;flex-direction:column}.screen.slide-in{animation:screen-in .24s cubic-bezier(.2,.7,.2,1)}.welcome-tag{font-size:10px;letter-spacing:2px;text-align:center;color:var(--muted);margin:11px 0 0}.welcome-deck{flex:1;position:relative;display:flex;align-items:center;justify-content:center;padding:37px 23px}.welcome-deck:before,.welcome-deck:after{content:'';position:absolute;width:calc(100% - 54px);height:calc(100% - 76px);max-height:365px;border-radius:21px;border:1px solid #f6007b80;background:#321322;transform:rotate(-9deg)}.welcome-deck:after{transform:rotate(7deg);background:var(--pink);border-color:var(--pink)}.cover-card{position:relative;z-index:1;background:#171719;border:1px solid #424247;border-radius:21px;width:100%;height:100%;max-height:365px;padding:24px 20px 19px;display:flex;flex-direction:column;justify-content:center;transform:rotate(-2deg);box-shadow:0 12px 30px #0004}.cover-corner{position:absolute;top:18px;right:20px;font-size:21px;color:var(--pink)}.cover-card h1{font:400 clamp(43px,10vw,56px)/.98 Anton,Impact,sans-serif;letter-spacing:-2.5px;margin:15px 0 27px}.cover-card h1 span{display:block}.cover-card .or{font:700 12px/1 Montserrat,Arial,sans-serif;letter-spacing:3px;margin:13px 0}.pink-word{color:var(--pink)}.cover-bottom{position:absolute;left:20px;right:20px;bottom:18px;display:flex;align-items:center;justify-content:space-between;gap:8px}.cover-bottom>span:first-child{font:400 23px/1 Anton,Impact,sans-serif;letter-spacing:-1.5px}.cover-bottom>span:last-child{font-size:7px;letter-spacing:1.4px;color:var(--muted)}.welcome-actions>p{font-size:12px;color:var(--muted);text-align:center;margin:0 0 18px}.welcome-actions{padding:0 3px 3px}.primary{width:100%;display:flex;justify-content:space-between;align-items:center;border:0;border-radius:50px;background:var(--pink);color:white;font-weight:700;font-size:17px;letter-spacing:-.3px;padding:18px 22px;min-height:56px}.primary:hover{background:#df006f}.primary>span{font:28px/.7 Montserrat,Arial,sans-serif}.screen-head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:42px}.screen-head>span{color:var(--pink);font-size:10px;letter-spacing:2px;font-weight:700}.back{border:0;background:transparent;color:var(--white);height:42px;width:42px;text-align:left;font-size:29px;line-height:1;padding:0}.level-title{font:400 34px/1.03 Anton,Impact,sans-serif;letter-spacing:-1px;margin:20px 4px 26px;outline:none}.level-options{display:grid;grid-template-rows:repeat(4,1fr);gap:11px;flex:1;margin:0 2px}.level-options button{display:flex;align-items:center;gap:13px;text-align:left;background:#121214;border:1px solid var(--line);border-radius:16px;padding:13px 15px;color:var(--white);font:400 18px/1.15 Anton,Impact,sans-serif;letter-spacing:-.4px;min-height:65px}.level-options button:hover{border-color:var(--pink);background:#1b1018}.level-options small{display:block;margin-top:5px;font:11px/1.2 Montserrat,Arial,sans-serif;letter-spacing:0;color:var(--muted)}.level-icon{display:grid;place-items:center;width:29px;font:30px/1 Montserrat,Arial,sans-serif;flex-shrink:0;color:#e4b2cb}.level-arrow{margin-left:auto;font:23px/1 Montserrat,Arial,sans-serif;color:#8d8d94}.level-options .spicy{border-color:#ad155f}.level-options .spicy .level-arrow,.level-options .spicy .level-icon{color:var(--pink)}.quiet-note{font-size:10px;color:var(--muted);text-align:center;margin:19px 0 3px}.choice-heading{font-size:10px;font-weight:700;letter-spacing:2px;color:var(--muted);margin:14px 3px 21px;outline:none}.choice-buttons{flex:1;display:grid;grid-template-rows:1fr 1fr;gap:16px;padding:0 0 1px}.choice{position:relative;text-align:left;background:#080809;border:2px solid #29292d;border-radius:26px;display:flex;align-items:center;padding:36px 20px 26px 39px;transition:border-color .15s,background .15s}.choice:hover{border-color:var(--pink);background:#151013}.choice:active{background:#1e1219}.choice-label{font:400 clamp(43px,10vw,54px)/1 Anton,Impact,sans-serif;letter-spacing:-2px;display:block}.choice-label small{font:700 12px/1 Montserrat,Arial,sans-serif;letter-spacing:3px;display:block;margin-bottom:12px;color:var(--pink)}.radio{position:absolute;left:19px;top:22px;width:21px;height:21px;border:2px solid var(--white);border-radius:50%}.dare{border-color:var(--pink)}.dare .radio{border:7px solid var(--pink);background:white}.arrow{position:absolute;right:21px;bottom:19px;font-size:25px;font-weight:400;color:#777}.dare .arrow{color:var(--pink)}.deal-stage{position:relative;flex:1;display:flex;align-items:center;padding:24px 7px 26px;perspective:1200px;min-height:0}.deck-stack{position:absolute;inset:33px 11px 29px 9px;background:#41162e;border:1px solid #7c1b4b;border-radius:21px;transform:rotate(-4deg)}.deck-stack:after{content:'';position:absolute;inset:-2px;background:#e5a5c6;border:1px solid #f0bcda;border-radius:21px;transform:rotate(7deg)}.playing-card{position:relative;width:100%;height:100%;min-height:280px;max-height:445px;perspective:1100px;z-index:1}.card-flipper{position:relative;width:100%;height:100%;transform-style:preserve-3d}.playing-card.dealing .card-flipper{animation:deal-card .68s cubic-bezier(.2,.75,.25,1) both}.card-front,.card-reverse{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:19px;display:flex;flex-direction:column;padding:23px;color:#181016;background:#fff7ec;border:1px solid #fff9;box-shadow:0 12px 22px #0004;overflow:hidden}.playing-card[data-kind=dare] .card-front{background:#f7b4d3}.card-top{display:flex;justify-content:space-between;align-items:center;font-size:10px;font-weight:700;letter-spacing:2px}.card-top>span:last-child{font:400 29px/1 Anton,Impact,sans-serif;color:#a9165f;letter-spacing:0}.card-front h1{flex:1;display:flex;align-items:center;margin:13px 0 19px;font:400 clamp(23px,5vw,29px)/1.23 Anton,Impact,sans-serif;letter-spacing:-.8px;outline:none;text-wrap:pretty}.card-foot{display:flex;align-items:center;justify-content:space-between;font-size:8px;letter-spacing:2px}.card-brand{font:400 24px/1 Anton,Impact,sans-serif;letter-spacing:-1.5px}.card-reverse{background:var(--pink);color:white;transform:rotateY(180deg);align-items:center;justify-content:center;gap:18px}.card-reverse>span{font:400 59px/1 Anton,Impact,sans-serif;letter-spacing:-4px}.card-reverse>small{font-size:9px;letter-spacing:2px}.reveal-actions{display:flex;flex-direction:column;gap:3px;padding:2px 3px 0}.skip{align-self:center;border:0;background:transparent;color:var(--muted);font-size:12px;min-height:42px;min-width:120px;padding:10px}.skip:hover{color:white}@keyframes screen-in{from{opacity:0;transform:translateX(14px)}to{opacity:1;transform:none}}@keyframes deal-card{0%{transform:translateY(37px) rotateZ(-8deg) rotateY(180deg) scale(.88)}32%{transform:translateY(-9px) rotateZ(4deg) rotateY(110deg) scale(1.035)}70%{transform:translateY(2px) rotateZ(-1deg) rotateY(-9deg) scale(1.01)}100%{transform:translateY(0) rotateZ(0) rotateY(0) scale(1)}}@media(max-width:420px){.app{padding:18px 17px 22px}.panel{padding:18px;border-radius:30px}.app-brand{margin-bottom:17px}.brand{font-size:28px}.screen{height:clamp(485px,calc(100svh - 130px),670px)}.cover-card h1{font-size:48px}.cover-card{padding-left:17px}.cover-bottom{left:17px;right:17px}.welcome-deck{padding:34px 18px}.welcome-deck:before,.welcome-deck:after{width:calc(100% - 42px);height:calc(100% - 76px)}.choice{padding-left:31px}.choice-label{font-size:47px}.level-options button{font-size:17px;padding:12px 13px;gap:11px}.level-icon{width:25px;font-size:27px}.level-title{font-size:32px}.card-front,.card-reverse{padding:21px}.card-front h1{font-size:25px}.deal-stage{padding-top:25px;padding-bottom:24px}}@media(max-width:350px){.app{padding:16px 12px 20px}.panel{padding:16px}.edition{font-size:7px;letter-spacing:1.4px}.cover-card h1{font-size:42px}.choice-label{font-size:40px}.level-options button{font-size:15px;padding:11px}.level-icon{width:21px;font-size:24px}.card-front,.card-reverse{padding:19px}.card-front h1{font-size:23px}}@media(max-height:720px){.level-title{font-size:28px;margin:12px 4px 17px}.quiet-note{margin-top:12px}.level-options{gap:8px}.level-options button{padding-top:10px;padding-bottom:10px;min-height:58px}.welcome-deck{padding-top:22px;padding-bottom:26px}.cover-card h1{font-size:44px}.cover-card .or{margin:9px 0}.welcome-tag{margin-top:3px}.cover-card{padding-top:20px}.cover-bottom{bottom:15px}.cover-bottom>span:first-child{font-size:20px}.cover-corner{top:15px}.card-front h1{font-size:23px}.deal-stage{padding-top:20px;padding-bottom:19px}.playing-card{min-height:265px}.card-front,.card-reverse{padding:19px}.welcome-actions>p{margin-bottom:13px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
.level-options button[aria-current=true]{border-color:var(--pink);background:#24101b}

/* Match the storefront's Anton / Montserrat typography and use its actual wordmark. */
.brand-logo{display:block;object-fit:contain;filter:brightness(0) invert(1);flex-shrink:0}
.app-brand .brand-logo{width:96px;height:32px}
.cover-bottom .brand-logo,.card-foot .brand-logo{width:72px;height:24px}
.card-foot .brand-logo{filter:none}
.card-reverse .brand-logo{width:168px;height:56px}
.cover-card h1{font-family:Anton,Impact,sans-serif;letter-spacing:-.7px;font-size:60px;line-height:1.05}
.cover-card .or{font-family:Montserrat,Arial,sans-serif;letter-spacing:2.5px}
.level-title{letter-spacing:0;font-size:37px}
.level-options button{font-family:Anton,Impact,sans-serif;font-size:21px;letter-spacing:.2px}
.primary{position:relative;justify-content:center;text-align:center;font-family:Montserrat,Arial,sans-serif;font-weight:700;padding:18px 52px;letter-spacing:-.3px}
.primary>span{position:absolute;right:21px;top:50%;transform:translateY(-50%)}
.choice{justify-content:center;text-align:center;padding:36px 30px}
.choice-label{font-family:Anton,Impact,sans-serif;font-size:62px;line-height:1.05;letter-spacing:0;text-align:center}
.choice-label small{text-align:center;font-family:Montserrat,Arial,sans-serif}
.card-front h1{font-family:Montserrat,Arial,sans-serif;font-weight:600;font-size:25px;line-height:1.3;letter-spacing:-.6px}
@media(max-width:420px){.cover-card h1{font-size:56px}.level-title{font-size:35px}.level-options button{font-size:20px}.choice-label{font-size:58px}.card-front h1{font-size:23px}}
@media(max-width:350px){.cover-card h1{font-size:48px}.level-options button{font-size:18px}.choice-label{font-size:53px}.card-front h1{font-size:21px}.primary{font-size:15px;padding-left:43px;padding-right:43px}}
@media(max-height:720px){.cover-card h1{font-size:49px}.card-front h1{font-size:22px}}
/* Two-player setup and personalized turns. */
input{font:inherit;color:inherit}
.names-screen .level-title{margin-bottom:10px}
.names-intro{font-size:13px;line-height:1.5;color:var(--muted);margin:0 4px 24px}
.names-form{display:flex;flex-direction:column;flex:1;min-height:0}
.name-fields{display:flex;flex-direction:column;justify-content:center;flex:1;padding:0 3px 15px}
.name-fields label{display:block}
.name-fields label>span{display:block;font:600 10px/1.4 Montserrat,Arial,sans-serif;letter-spacing:1.6px;margin:0 2px 9px;color:#d9cbd3}
.name-fields input{display:block;width:100%;min-height:62px;padding:16px 18px;background:#151216;border:1px solid #45323e;border-radius:15px;font-family:Montserrat,Arial,sans-serif;font-size:19px;font-weight:600;outline:none}
.name-fields input::placeholder{font-weight:400;color:#807780;font-size:15px}
.name-fields input:focus{border-color:var(--pink);box-shadow:0 0 0 3px #f6007b26}
.name-fields input[aria-invalid=true]{border-color:#ff8ab8}
.names-plus{text-align:center;color:var(--pink);font:400 29px/1.4 Anton,Impact,sans-serif;margin:8px 0}
.name-error{font-size:12px;line-height:1.5;color:#ff9ac4;margin:14px 2px 0}
.name-actions{padding:0 3px 3px}
.name-actions .quiet-note{margin:12px 0 18px}
.choice-heading{text-align:center;margin:8px 0 18px}
.choice-heading>span{font-size:9px;letter-spacing:2px;color:var(--muted)}
.choice-heading h1{font:400 33px/1.1 Anton,Impact,sans-serif;letter-spacing:0;color:var(--white);margin:7px 0 0;overflow-wrap:anywhere}
.edit-names{display:block;align-self:center;min-height:38px;background:none;border:0;font:400 11px Montserrat,Arial,sans-serif;color:var(--muted);padding:12px 16px 2px}
.edit-names:hover{color:var(--white)}
.card-player{font:700 10px/1.5 Montserrat,Arial,sans-serif;color:#9c1e5e;letter-spacing:.2px;margin:9px 0 0;overflow-wrap:anywhere}
.card-front h1{margin-top:11px;overflow-wrap:anywhere}
.card-front h1[data-length=long]{font-size:22px;line-height:1.28}
@media(max-width:420px){.card-front h1[data-length=long]{font-size:20px}}
@media(max-width:350px){.choice-heading h1{font-size:28px}.card-front h1[data-length=long]{font-size:18px}.names-intro{font-size:12px}.name-fields input{min-height:56px;font-size:17px}}
@media(max-height:720px){.names-screen .level-title{margin-bottom:8px}.names-intro{margin-bottom:12px}.name-fields input{min-height:54px;padding:12px 16px}.names-plus{margin:5px 0}.choice-heading{margin:5px 0 12px}.choice-heading h1{font-size:28px}.card-front h1[data-length=long]{font-size:19px}.card-player{font-size:9px}}
/* Relationship length lives with the names, before choosing an intensity. */
.names-screen .level-title{font-size:33px;line-height:1.05;margin:12px 4px 8px}
.names-intro{margin-bottom:17px}
.names-form{justify-content:space-between;gap:13px}
.name-fields{flex:0;justify-content:flex-start;padding-bottom:0}
.name-fields input{min-height:55px;padding:13px 16px;font-size:18px}
.name-fields label>span{margin-bottom:6px}
.names-plus{font-size:23px;margin:3px 0}
.relationship-field{padding:14px 4px 0}
.relationship-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:16px}
.relationship-heading label{font:600 9px/1.4 Montserrat,Arial,sans-serif;letter-spacing:1px;color:#d9cbd3}
.relationship-heading output{font:700 12px/1.4 Montserrat,Arial,sans-serif;color:#ff82bd;white-space:nowrap}
.relationship-range{--progress:33.333%;appearance:none;-webkit-appearance:none;width:100%;height:6px;display:block;margin:18px 0 12px;padding:0;border:0;border-radius:10px;background:linear-gradient(to right,var(--pink) 0,var(--pink) var(--progress),#41323c var(--progress),#41323c 100%);cursor:pointer;touch-action:pan-y}
.relationship-range::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:25px;height:25px;border:3px solid #ffbddc;border-radius:50%;background:var(--pink);box-shadow:0 0 0 5px #f6007b18}
.relationship-range::-moz-range-thumb{width:20px;height:20px;border:3px solid #ffbddc;border-radius:50%;background:var(--pink)}
.relationship-range:focus-visible{outline:2px solid #fff;outline-offset:10px}
.relationship-stops{display:flex;justify-content:space-between;margin:0 -9px}
.relationship-stops button{background:none;border:0;min-width:46px;min-height:44px;padding:9px 8px 2px;color:#a49aa3;font-size:12px;font-weight:700;line-height:1.3;text-align:center}
.relationship-stops button span{display:block;font-size:8px;font-weight:400;margin-top:2px}
.relationship-stops button[aria-pressed=true]{color:#ff82bd}
.name-actions .quiet-note{margin:2px 0 12px}
@media(max-height:720px){.names-screen{height:auto;min-height:485px}.names-screen .level-title{font-size:28px;margin-top:9px}.names-intro{margin-bottom:13px}.names-form{gap:12px}.relationship-field{padding-top:9px}.name-fields input{min-height:50px;padding:11px 15px}.names-plus{font-size:20px;margin:2px 0}}

/* Keep the chosen relationship range visible without repeating setup. */
.session-context{display:flex;flex-direction:column;align-items:flex-end;gap:4px;text-align:right}
.session-context small{font:500 9px/1.2 Montserrat,sans-serif;letter-spacing:.035em;text-transform:none;color:#aaa}
.session-context>span{color:var(--pink);font-size:10px;letter-spacing:2px;font-weight:700}

/* A quiet, native disclosure keeps phone-saving help beside the welcome action. */
.welcome{height:auto;min-height:clamp(500px,calc(100svh - 140px),670px)}
.welcome .welcome-deck{flex:1 0 auto;height:clamp(330px,calc(100svh - 320px),480px);min-height:330px}
.welcome-actions{flex-shrink:0}
.save-phone{margin-top:5px}
.save-phone>summary{display:flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:11px 8px;list-style:none;cursor:pointer;color:#b9b4bc;font:600 12px/1.5 Montserrat,Arial,sans-serif;text-align:center;-webkit-tap-highlight-color:transparent;border-radius:10px}
.save-phone>summary::-webkit-details-marker{display:none}
.save-phone>summary:hover{color:var(--white)}
.save-phone>summary:focus-visible{outline:2px solid var(--pink);outline-offset:2px}
.save-phone-chevron{width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);flex-shrink:0}
.save-phone[open] .save-phone-chevron{transform:translateY(2px) rotate(225deg)}
.save-phone-guide{padding:15px 16px 16px;border:1px solid var(--line);border-radius:15px;background:#121013;color:#bbb5bd;font:400 12px/1.65 Montserrat,Arial,sans-serif;overflow-wrap:anywhere;text-align:left}
.save-phone-guide p{margin:0}
.save-phone-guide .save-phone-intro{margin-bottom:17px;color:#d7d0d8}
.save-phone-guide h2{margin:16px 0 5px;color:var(--white);font:700 12px/1.5 Montserrat,Arial,sans-serif;letter-spacing:0}
.save-phone-guide strong{color:#e8dce4;font-weight:600}
@media(max-width:420px){.welcome{min-height:clamp(485px,calc(100svh - 130px),670px)}}
@media(max-height:720px){.welcome .welcome-deck{min-height:300px}}
