@font-face{font-family:DM;src:url('../fonts/dm-sans.ttf') format('truetype');font-display:swap}:root{--ink:#392b4b;--muted:#786886;--red:#d75f70;--green:#278a78;--purple:#705494;--cream:#fffaf2}*{box-sizing:border-box}body{margin:0;color:var(--ink);font-family:DM,system-ui,sans-serif;background:#eee5f3;overflow-x:hidden;min-height:100svh}button,input,textarea{font:inherit}button{cursor:pointer;border:0;color:inherit;-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #8c67b4;outline-offset:4px}h1:focus,h2:focus{outline:none}button:disabled{cursor:default;opacity:.55}.hidden,[hidden]{display:none!important}svg{width:23px;height:23px;flex-shrink:0}.ambient{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:-1;background:radial-gradient(ellipse at 80% 35%,#dfcdf7,transparent 60%),radial-gradient(ellipse at 4% 80%,#f8dedc,transparent 65%)}.ambient i{position:absolute;width:380px;height:380px;border:1px solid #fff6;border-radius:50%;right:-150px;top:100px}.ambient i:nth-child(2){width:570px;height:570px;right:-180px;top:10px}.ambient i:nth-child(3){width:760px;height:760px;right:-240px;top:-90px}header{height:91px;display:flex;align-items:center;justify-content:space-between;max-width:1240px;margin:auto;padding:0 40px;border-bottom:1px solid #6b507616;position:relative;z-index:4}.logo{display:flex;gap:10px;align-items:center;background:transparent;padding:0;text-align:left;font-size:16px;letter-spacing:1px;font-weight:900;line-height:1.05}.logo b{font-size:11px;color:#a188a3;letter-spacing:0}.logo-sub{display:block;font-size:7px;color:#957f9b;letter-spacing:2.5px;margin-top:6px}.logo-icon{background:#f7faf1;display:grid;place-items:center;width:39px;height:43px;border-radius:12px;color:#e57588;transform:rotate(-7deg);box-shadow:0 4px 9px #62407914}.logo-icon svg{width:25px;height:25px}.header-tools{display:flex;align-items:center;gap:10px}.portal{font-size:9px;font-weight:900;letter-spacing:1px;margin-right:15px}.portal span{color:#9c89ae}.icon-button{width:40px;height:40px;display:grid;place-items:center;border:1px solid #8e6da526;background:#fff9f293;border-radius:50%;transition:.16s}.icon-button:hover{background:#fffaf2;transform:translateY(-1px)}.icon-button svg{width:19px;height:19px}main{max-width:1160px;min-height:calc(100svh - 145px);margin:auto;padding:32px 35px 28px}footer{max-width:1160px;margin:auto;border-top:1px solid #7457791b;display:flex;justify-content:space-between;align-items:center;padding:18px 35px;color:#967f9a;font-size:8px;letter-spacing:1px;gap:15px}footer>span:last-child{letter-spacing:0;font-size:9px}.hero{display:grid;grid-template-columns:44% 56%;min-height:610px;align-items:center;gap:20px}.hero-copy{position:relative;z-index:2;padding-left:20px}.eyebrow{display:flex;align-items:center;gap:7px;font-size:8px;font-weight:850;letter-spacing:1.7px;color:#907496}.eyebrow>span{display:block;width:5px;height:5px;border-radius:50%;background:#b293c4}.hero h1{font-size:clamp(47px,5.1vw,67px);letter-spacing:-3px;line-height:1.03;margin:24px 0 18px;font-weight:950}.red-word{color:#d86d82;text-shadow:0 3px 0 #f7d5e0}.green-word{color:#339e8c;text-shadow:0 3px 0 #cae6dc}.little-or{color:#9a7aaf;font-size:35px;font-weight:600;font-style:italic;letter-spacing:-2px}.lead{font-size:18px;line-height:1.55;margin:20px 0 12px;letter-spacing:-.3px}.hero-note{font-size:12px;line-height:1.7;color:#8a718e;margin:0 0 27px}.primary{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:17px 22px;border-radius:15px;background:#775593;color:#fff9ee;font-weight:800;font-size:13px;box-shadow:0 6px 0 #60447a,0 13px 23px #74548720;transition:.16s}.primary:hover{background:#8665a0;transform:translateY(-2px)}.primary:active{transform:translateY(4px);box-shadow:0 2px 0 #60447a}.hero .primary{width:min(100%,330px)}.home-actions{display:flex;gap:10px;margin-top:17px;width:min(100%,330px)}.home-actions button{display:flex;align-items:center;gap:8px;justify-content:center;border-radius:12px;background:#fff9f296;border:1px solid #90719f1c;padding:13px;flex:1;font-size:10px;font-weight:750}.home-actions svg{width:16px;height:16px}.home-stats{display:flex;align-items:center;gap:24px;margin-top:28px;font-size:7px;letter-spacing:.8px;color:#947798}.home-stats>span{display:flex;align-items:center;gap:6px}.home-stats svg{width:14px;height:14px}.home-stats strong{font-size:10px;color:#665070;letter-spacing:0}.hero-art{position:relative;height:530px;transform:translate(var(--px,0),var(--py,0));transition:transform .3s ease;perspective:1200px}.polaroid{position:absolute;width:260px;background:#fff9ef;border:7px solid #fff9ef;border-bottom-width:0;border-radius:20px;box-shadow:0 18px 30px #4f306425;overflow:hidden}.polaroid img{width:100%;height:310px;object-fit:cover;object-position:center 14%;display:block}.polaroid>div{padding:13px 13px 15px}.polaroid strong{font-size:17px}.polaroid span{display:block;font-size:8px;color:#9a8095;margin-top:3px}.p-one{left:5px;top:32px;transform:rotate(-10deg);z-index:2;animation:bob-a 6s ease-in-out infinite}.p-two{right:10px;top:97px;transform:rotate(9deg);z-index:1;animation:bob-b 7s ease-in-out infinite}.floating-flag{position:absolute;z-index:3;display:flex;gap:8px;align-items:center;background:#fff9eff5;padding:12px 17px;border-radius:12px;box-shadow:0 10px 20px #6d3f801c;font-size:10px;font-weight:900;letter-spacing:1px;white-space:nowrap}.flag-red{right:23px;top:33px;color:#d6697b;transform:rotate(6deg)}.flag-green{left:18px;bottom:45px;color:#309c86;transform:rotate(-5deg)}.floating-flag svg{width:24px;height:24px;fill:currentColor;stroke:#fff9ef}.heart-orbit{position:absolute;right:70px;bottom:65px;transform:rotate(15deg);color:#e888a4;filter:drop-shadow(0 5px 3px #a1467330)}.heart-orbit svg{width:58px;height:58px;fill:currentColor;stroke:#f7adc1}.art-caption{position:absolute;bottom:0;left:80px;font-size:7px;letter-spacing:2px;color:#9b7faa}.section-top{display:flex;justify-content:space-between;align-items:center;gap:20px}.back{display:flex;align-items:center;gap:6px;background:transparent;font-size:10px;color:#967b9b}.back svg{width:16px;height:16px}.selection{padding-top:12px}.selection>h1{font-size:42px;letter-spacing:-1.8px;line-height:1.1;margin:30px 0 10px}.selection>h1 em{font-style:normal;color:#9570ac}.selection>p{font-size:12px;color:#927895;line-height:1.65}.character-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:28px 0}.character-option{background:#fff9f2;padding:0;border-radius:20px;overflow:hidden;text-align:left;box-shadow:0 10px 20px #71557b13;border:1px solid #fffdf7;transition:.2s}.character-option:hover{transform:translateY(-7px);box-shadow:0 15px 25px #71557b23}.character-image{height:280px;position:relative;overflow:hidden;background:var(--character-color)}.character-image img{width:100%;height:100%;object-fit:cover;object-position:center 13%;transition:transform .3s}.character-option:hover img{transform:scale(1.04)}.character-image>span{position:absolute;right:13px;bottom:12px;width:34px;height:34px;display:grid;place-items:center;background:#fff9eff2;border-radius:50%;color:var(--character-color)}.character-image svg{width:18px;height:18px;fill:currentColor}.character-info{padding:17px}.character-info small{font-size:7px;text-transform:uppercase;letter-spacing:1px;font-weight:800;color:#9a7d9c}.character-info h2{font-size:23px;letter-spacing:-.7px;margin:8px 0}.character-info h2>span{color:#b499b6;font-size:17px;font-weight:500}.character-info p{font-size:9px;margin:8px 0 18px;color:#987d99;line-height:1.5;min-height:26px}.meet{display:flex;justify-content:space-between;align-items:center;font-size:10px;font-weight:800;padding-top:13px;border-top:1px solid #7d568113}.meet svg{width:15px;height:15px}.selection-note{text-align:center;font-size:10px!important}.game-shell{max-width:860px;margin:auto}.session-top{display:flex;align-items:center;gap:22px;margin:2px 0 23px}.session-progress{flex:1}.session-progress>div:first-child{display:flex;justify-content:space-between;font-size:8px;letter-spacing:1px;gap:8px;margin-bottom:8px}.session-progress strong{color:#705379}.session-progress span{color:#a68aae;font-size:7px}.progress-track{height:5px;background:#cdb9da57;border-radius:5px;overflow:hidden}.progress-track>i{height:100%;display:block;background:linear-gradient(90deg,#cf8ba5,#7db9a9);border-radius:5px;transition:width .3s}.score{text-align:right;min-width:64px}.score>span{font-size:7px;color:#a387aa;letter-spacing:1.5px;display:block}.score strong{font-size:24px;letter-spacing:-1px;display:block;margin-top:1px}.date-card{display:grid;grid-template-columns:43% 57%;background:#fffaf2;border:8px solid #fffaf2;border-radius:28px;overflow:hidden;box-shadow:0 20px 35px #7651821c;position:relative;touch-action:pan-y;user-select:none;transition:transform .25s,box-shadow .25s;min-height:440px}.date-portrait{position:relative;overflow:hidden;border-radius:21px;background:var(--character-color);min-height:440px}.date-portrait img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 15%;transition:transform .35s;pointer-events:none}.date-portrait::after{content:'';position:absolute;inset:65% 0 0;background:linear-gradient(transparent,#2d16388a);pointer-events:none}.date-name{position:absolute;bottom:22px;left:20px;color:#fff;z-index:2}.date-name strong{font-size:25px;letter-spacing:-.8px}.date-name span{display:block;font-size:9px;margin-top:3px;color:#fff4eccc}.speech{position:absolute;z-index:2;left:15px;right:15px;top:16px;background:#fffbf0ef;border:1px solid #fff9e6;border-radius:14px;padding:11px 14px;box-shadow:0 5px 15px #54315320;font-size:10px;line-height:1.55;color:#705778}.speech::after{content:'';position:absolute;left:26px;bottom:-7px;width:14px;height:14px;background:#fffbf0;transform:rotate(45deg)}.portrait-spark{position:absolute;bottom:25px;right:19px;z-index:2;color:#fff3dd}.portrait-spark svg{width:29px;height:29px;fill:currentColor;stroke:currentColor}.scenario-panel{padding:28px 32px 23px;display:flex;flex-direction:column;justify-content:space-between;position:relative}.card-meta{display:flex;justify-content:space-between;gap:10px;align-items:center;color:#b495ac;font-size:7px;font-weight:800;letter-spacing:1.4px}.card-meta>span:last-child{color:#bc91b5}.card-meta svg{width:19px;height:19px}.scenario-kicker{font-size:8px;color:#b895aa;letter-spacing:1.5px;font-weight:850;margin:28px 0 14px}#scenario-content h2{font-size:28px;letter-spacing:-1px;line-height:1.28;margin:0 0 22px;font-weight:850}.scenario-prompt{font-size:11px;line-height:1.6;color:#a18a9d;margin:0}.scenario-prompt em{font-style:normal;color:#806180}.swipe-labels{display:flex;justify-content:space-between;color:#c7abba;font-size:8px;letter-spacing:1.5px;margin-top:28px}.swipe-stamp{display:none;position:absolute;top:43%;left:10%;font-size:26px;border:3px solid currentColor;padding:9px 14px;transform:rotate(-10deg);font-weight:900;background:#fffaf2ee;border-radius:10px;pointer-events:none}.swipe-stamp.visible{display:block}.decision-bar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:25px}.decision{display:flex;align-items:center;justify-content:center;gap:16px;min-width:220px;border-radius:17px;padding:16px 24px;box-shadow:0 5px 0 #0001;transition:.16s}.decision.red{background:#f6d5da;color:#b84860;border:1px solid #ffe7e8}.decision.green{background:#c8e7dc;color:#247e6b;border:1px solid #e1f9ec}.decision svg{width:28px;height:28px;fill:currentColor;stroke:#ffffffb0}.decision>span{font-size:16px;font-weight:850;text-align:left}.decision small{display:block;font-size:8px;font-weight:600;margin-top:3px;opacity:.75}.decision:hover{transform:translateY(-3px)}.decision:active{transform:translateY(4px);box-shadow:0 1px 0 #0001}.combo{text-align:center}.combo span{font-size:7px;letter-spacing:1px;color:#b798b7;font-weight:850}.combo strong{font-size:10px;color:#917794;display:block;margin-top:6px;font-weight:600}.game-footnote{font-size:8px;color:#a78da9;text-align:center;margin:22px 0 4px}.choose-green{transform:translateX(45px) rotate(4deg);box-shadow:0 15px 45px #469f7660}.choose-red{transform:translateX(-45px) rotate(-4deg);box-shadow:0 15px 45px #cf667660}.revealed .date-portrait img{transform:scale(1.04)}.matched .portrait-spark{animation:pop .6s ease-in-out}.bonus-card{border-color:#fff1ca;box-shadow:0 16px 35px #be964629}.bonus-card .card-meta{color:#a4884d}.verdict{display:flex;gap:6px;align-items:center;font-size:8px;font-weight:900;letter-spacing:1px;margin-bottom:14px}.verdict svg{width:18px;height:18px}.vibe-match{color:#409e83}.vibe-different{color:#a47cab}#scenario-content .reveal-title{font-size:26px;margin-bottom:15px}.reveal-copy{font-size:15px;line-height:1.65;color:#795d7b;margin:0 0 14px}.preference{font-size:10px;line-height:1.65;color:#a185a1;margin:0}.red-text{color:#bc5467}.green-text{color:#298977}.points{color:#88669e;font-size:30px;font-weight:850;margin-top:17px;display:flex;gap:10px;align-items:center}.points>span{font-size:8px;color:#b092b1;font-weight:650}.reveal-choice{display:flex;gap:8px;align-items:center;font-size:11px;color:#a185a1}.reveal-choice svg{width:17px;height:17px}.next-button{min-width:270px}.results{max-width:870px;margin:auto;text-align:center;padding-top:7px}.results>.eyebrow{justify-content:center}.results>h1{font-size:39px;letter-spacing:-1.5px;line-height:1.1;margin:18px 0 26px}.results>h1 em{font-style:normal;color:#a374a8}.result-card{background:#fffaf2;border:1px solid #fffdf8;border-radius:28px;padding:29px;text-align:left;display:grid;grid-template-columns:56% 44%;box-shadow:0 15px 35px #76598219}.result-left{padding:9px 24px 0 4px}.result-badge{display:flex;align-items:center;gap:6px;color:#b38eab;font-size:7px;letter-spacing:1.3px;font-weight:800}.result-badge svg{width:17px;height:17px}.result-left h2{font-size:34px;letter-spacing:-1.5px;line-height:1.06;color:var(--persona-color);margin:18px 0 11px}.result-left>p{font-size:12px;line-height:1.7;color:#9b7d99;max-width:290px}.compatibility{display:flex;align-items:center;gap:20px;margin-top:26px}.compatibility>strong{font-size:67px;letter-spacing:-4px;line-height:1;color:#735589}.compatibility small{font-size:30px;letter-spacing:-1px}.compatibility>span{font-size:10px;line-height:1.8;color:#ac8fa8}.compatibility b{color:#89658e}.compat-track{height:6px;background:#e6dce9;border-radius:6px;margin-top:18px;max-width:310px;overflow:hidden}.compat-track i{display:block;height:100%;background:linear-gradient(90deg,#c790a8,#8fc6ae);border-radius:6px}.ending{display:flex;align-items:center;gap:7px;font-size:10px!important;color:#836285!important;margin-top:18px!important}.ending svg{width:17px;height:17px}.result-right{position:relative;padding-left:20px;text-align:center}.result-portrait{height:245px;width:100%;object-fit:cover;object-position:center 12%;border-radius:18px}.result-date{display:block;font-size:8px;margin:11px 0;color:#ab8aa6}.result-numbers{display:flex;justify-content:space-between;gap:10px;text-align:center;background:#f3ebf3;padding:14px 12px;border-radius:13px}.result-numbers strong{font-size:18px;letter-spacing:-.4px}.result-numbers small{display:block;font-size:6px;color:#af95ad;letter-spacing:.7px;margin-top:4px}.result-disclaimer{grid-column:1/-1;margin-top:24px;padding-top:17px;border-top:1px solid #9a769116;text-align:center;font-size:8px;color:#b196b0;line-height:1.6}.result-actions{display:flex;justify-content:center;gap:13px;margin:24px 0}.result-actions .primary{min-width:220px}.secondary{display:flex;gap:8px;align-items:center;justify-content:center;border:1px solid #b391b330;background:#fff7f299;padding:14px 17px;border-radius:13px;font-size:10px;font-weight:800}.secondary svg{width:17px;height:17px}.result-best{display:flex;align-items:center;justify-content:center;gap:7px;font-size:9px;color:#a484a4}.result-best svg{width:16px;height:16px}.text-button{background:transparent;font-size:10px;color:#a587a7;text-decoration:underline;padding:10px}.modal{position:fixed;inset:0;background:#49325760;backdrop-filter:blur(9px);z-index:15;display:grid;place-items:center;padding:20px;overflow:auto}.dialog{background:#fff9f2;border:1px solid #fffdf8;border-radius:25px;max-width:450px;width:100%;padding:30px;box-shadow:0 25px 60px #38283f40;max-height:calc(100svh - 40px);overflow:auto}.dialog h2{font-size:30px;letter-spacing:-1.2px;line-height:1.1;margin:12px 0 20px}.dialog p,.dialog ol{font-size:12px;line-height:1.8;color:#967a94}.dialog ol{padding-left:21px}.dialog li{margin:10px 0}.dialog .primary{width:100%;margin-top:22px}.dialog .secondary{width:100%;margin-top:16px}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.dialog-top h2{margin:0;font-size:27px}.setting{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #b28caf22;padding:21px 0}.setting strong{font-size:12px}.setting small{display:block;margin-top:4px;font-size:9px;color:#a488a0}.setting input{width:22px;height:22px;accent-color:#9773ac}.fine{font-size:9px!important;color:#b296ab!important;line-height:1.6!important}textarea{width:100%;height:170px;resize:vertical;border:1px solid #b390b455;border-radius:10px;padding:14px;font-size:12px;background:#fffdf6;color:#725b7c;line-height:1.8}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,15px);opacity:0;pointer-events:none;background:#674c7d;color:#fff8ec;border-radius:30px;padding:13px 22px;font-size:11px;z-index:30;transition:.2s;box-shadow:0 5px 15px #75508730;max-width:90%;text-align:center}#toast.visible{transform:translate(-50%,0);opacity:1}#confetti{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:14}#confetti i{position:absolute;left:var(--x);top:-20px;width:8px;height:16px;border-radius:2px;background:var(--c);animation:confetti 1.9s var(--d) ease-in forwards}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.ad-slot{max-width:728px;min-height:90px;margin:30px auto;border:1px dashed #b292bc;padding:25px;text-align:center;font-size:10px;color:#a68aaf}.loading{opacity:.65;pointer-events:none}@keyframes bob-a{0%,100%{transform:rotate(-10deg) translateY(0)}50%{transform:rotate(-8deg) translateY(-8px)}}@keyframes bob-b{0%,100%{transform:rotate(9deg) translateY(0)}50%{transform:rotate(7deg) translateY(7px)}}@keyframes pop{50%{transform:scale(1.3) rotate(10deg)}}@keyframes confetti{to{transform:translateY(105vh) rotate(var(--r));opacity:0}}.reduced-motion *{animation:none!important;transition:none!important}.reduced-motion .hero-art{transform:none!important}@media(max-width:1000px){.hero{grid-template-columns:45% 55%;min-height:540px;gap:0}.hero-copy{padding-left:0}.hero h1{font-size:53px}.polaroid{width:220px}.polaroid img{height:275px}.hero-art{height:470px}.p-one{left:0;top:30px}.p-two{right:0;top:85px}.flag-red{right:0;top:10px}.flag-green{left:0;bottom:20px}.heart-orbit{right:20px;bottom:35px}.art-caption{bottom:-10px;left:30px}.character-grid{gap:13px}.character-image{height:230px}.character-info{padding:14px}.character-info p{font-size:8px}.character-info small{font-size:6px}.date-card{min-height:420px}.date-portrait{min-height:420px}.scenario-panel{padding:24px}.decision{min-width:200px}main{padding:28px}}@media(max-width:760px){header{height:73px;padding:0 22px}.logo{font-size:13px}.logo-sub{font-size:6px;letter-spacing:1.6px}.logo-icon{width:32px;height:36px}.header-tools{gap:7px}.icon-button{width:34px;height:34px}.portal{display:none}main{padding:23px 22px;min-height:calc(100svh - 123px)}footer{padding:14px 22px;flex-direction:column;gap:6px;align-items:center;font-size:6px}footer>span:last-child{font-size:8px}.hero{grid-template-columns:1fr;gap:0;min-height:0}.hero-copy{order:1;text-align:center;padding-top:4px}.hero-copy>.eyebrow{justify-content:center;font-size:7px;letter-spacing:1.2px}.hero h1{font-size:51px;margin:18px 0 13px;letter-spacing:-2.4px}.little-or{font-size:30px}.lead{font-size:14px;line-height:1.55;margin:12px 0}.hero-note{font-size:10px;margin-bottom:23px}.hero .primary{max-width:310px;margin:auto;padding:16px 20px}.home-actions{max-width:310px;margin:15px auto 0}.home-stats{justify-content:center;margin-top:20px;font-size:6px;gap:19px}.hero-art{order:0;height:245px;width:350px;max-width:100%;margin:5px auto 0}.polaroid{width:154px;border-width:5px;border-bottom-width:0;border-radius:14px}.polaroid img{height:172px}.polaroid>div{padding:8px 8px 10px}.polaroid strong{font-size:12px}.polaroid span{font-size:6px;margin-top:2px}.p-one{left:25px;top:7px}.p-two{right:18px;top:17px}.floating-flag{font-size:6px;padding:8px 11px;gap:5px;border-radius:9px}.floating-flag svg{width:18px;height:18px}.flag-red{top:0;right:4px}.flag-green{bottom:19px;left:9px}.heart-orbit{right:4px;bottom:20px}.heart-orbit svg{width:30px;height:30px}.art-caption{display:none}.selection{padding-top:0}.section-top>.eyebrow{font-size:6px;letter-spacing:1px}.selection>h1{font-size:31px;letter-spacing:-1.2px;margin-top:22px}.selection>p{font-size:10px}.character-grid{grid-template-columns:repeat(2,1fr);gap:13px;margin:21px 0}.character-image{height:210px}.character-info{padding:13px}.character-info small{font-size:6px;letter-spacing:.6px}.character-info h2{font-size:21px;margin:6px 0}.character-info p{font-size:8px;margin:7px 0 9px;min-height:23px}.meet{padding-top:9px;font-size:9px}.selection-note{font-size:8px!important}.session-top{gap:12px;margin:0 0 15px}.session-progress>div:first-child{font-size:7px}.session-progress span{display:none}.score strong{font-size:22px}.score{min-width:50px}.game-shell{max-width:470px}.date-card{grid-template-columns:1fr;border-width:6px;border-radius:23px;min-height:0}.date-portrait{min-height:0;height:195px;border-radius:17px}.date-portrait img{object-position:center 22%;width:100%;height:auto;min-height:100%;top:-16%}.speech{left:14px;right:auto;top:15px;max-width:56%;font-size:8px;line-height:1.6;padding:9px 11px;border-radius:11px}.date-name{bottom:15px;left:15px}.date-name strong{font-size:20px}.date-name span{font-size:7px}.portrait-spark{bottom:19px;right:19px}.scenario-panel{padding:20px 18px 15px;min-height:246px}.card-meta{font-size:6px;letter-spacing:1px}.card-meta svg{width:16px;height:16px}.scenario-kicker{font-size:7px;margin:19px 0 12px;letter-spacing:1.1px}#scenario-content h2{font-size:23px;line-height:1.3;letter-spacing:-.75px;margin-bottom:16px}.scenario-prompt{font-size:9px}.swipe-labels{font-size:6px;margin-top:18px}.decision-bar{gap:9px;margin-top:18px}.decision{min-width:0;flex:1;padding:14px 12px;border-radius:14px;gap:9px}.decision>span{font-size:13px}.decision small{font-size:7px}.decision svg{width:22px;height:22px}.combo{max-width:65px;min-width:50px}.combo span{font-size:5px;letter-spacing:.5px}.combo strong{font-size:7px;line-height:1.4}.game-footnote{font-size:7px;margin:18px 0 1px;line-height:1.5}.verdict{font-size:7px;margin-top:14px;margin-bottom:11px}#scenario-content .reveal-title{font-size:24px;margin-bottom:12px}.reveal-copy{font-size:13px;line-height:1.65}.preference{font-size:9px}.points{font-size:26px;margin-top:12px}.points>span{font-size:7px}.revealed .scenario-panel{min-height:275px}.next-button{min-width:0;font-size:11px;padding:14px 16px;flex:1}.next-button svg{width:18px;height:18px}.reveal-choice{font-size:8px;max-width:40%;gap:5px}.reveal-choice svg{width:14px;height:14px}.results>h1{font-size:31px;margin:15px 0 22px}.results>.eyebrow{font-size:6px;letter-spacing:1px}.result-card{grid-template-columns:1fr;padding:23px;border-radius:24px}.result-left{padding:0}.result-left h2{font-size:32px;max-width:100%;margin-top:14px}.result-left>p{font-size:11px;max-width:none}.compatibility{margin-top:19px;gap:20px}.compatibility>strong{font-size:58px}.compatibility>span{font-size:9px}.compat-track{max-width:none}.result-right{padding:0;margin-top:17px;display:grid;grid-template-columns:88px 1fr;gap:11px;align-items:center;text-align:left}.result-portrait{width:88px;height:95px;border-radius:13px}.result-date{font-size:8px;grid-column:2;grid-row:1;margin:0;align-self:start;padding-top:7px}.result-numbers{grid-column:2;grid-row:1;align-self:end;padding:12px 9px;gap:8px}.result-numbers strong{font-size:15px}.result-numbers small{font-size:5px;letter-spacing:.3px}.result-disclaimer{margin-top:18px;padding-top:12px;font-size:7px}.result-actions{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin:21px 0}.result-actions .primary{grid-column:1/-1;width:100%;min-width:0}.result-actions .secondary{font-size:9px;padding:12px 11px}.result-best{font-size:8px}.dialog{padding:25px;max-width:410px}.dialog h2{font-size:27px}.dialog p,.dialog ol{font-size:11px}.dialog .primary{font-size:11px}#toast{font-size:10px;bottom:16px;padding:12px 18px}}@media(max-width:380px){main{padding:20px 16px}.hero-art{height:228px}.hero h1{font-size:46px}.polaroid{width:145px}.polaroid img{height:160px}.p-one{left:13px}.p-two{right:14px}.character-image{height:185px}.date-portrait{height:160px}.scenario-panel{padding:17px 15px;min-height:230px}#scenario-content h2{font-size:21px}.speech{font-size:7px}.decision{padding:13px 10px}.decision>span{font-size:12px}.decision svg{width:19px;height:19px}.combo{min-width:45px;max-width:45px}}@media(max-height:700px) and (min-width:761px){header{height:74px}main{padding-top:20px;min-height:calc(100svh - 124px)}.hero{min-height:490px}.hero-art{height:430px}.polaroid img{height:250px}.date-card{min-height:360px}.date-portrait{min-height:360px}.scenario-panel{padding:21px 25px}.scenario-kicker{margin-top:20px}#scenario-content h2{font-size:25px}.decision-bar{margin-top:19px}.character-image{height:220px}.game-footnote{margin-top:18px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.hero-art{transform:none!important}}
/* Readable supporting text and contrast on the pastel surfaces. */
:is(.eyebrow,.hero-note,.home-stats,.character-info small,.character-info p,.selection>p,.selection-note,.game-footnote,.card-meta,.scenario-kicker,.preference,.combo span,.combo strong,.result-badge,.result-left>p,.compatibility>span,.result-date,.result-numbers small,.result-disclaimer,.result-best,.setting small,.dialog p,.dialog ol,.fine,footer,.text-button){color:#75617f}
:is(.game-footnote,.card-meta,.scenario-kicker,.preference,.result-disclaimer,.result-date,.setting small,.fine){font-size:10px!important;line-height:1.6}
.session-progress strong,.score>span,.combo span,.character-info small{font-size:9px}.result-numbers small{font-size:8px}.red-text{color:#aa4057}.green-text{color:#227761}.red-word{color:#be546d}.green-word{color:#268a77}.date-name{text-shadow:0 1px 4px #24182fa0}.swipe-labels{font-size:9px;color:#8d6b91}.scenario-prompt{font-size:11px;color:#806585}.scenario-prompt em{color:#684b70}.reveal-copy{color:#725476}.result-left>p{color:#806585}.dialog .fine{color:#75617f!important}
@media(max-width:760px){.session-progress strong{font-size:9px}.character-info small{font-size:8px}.character-info p{font-size:10px}.selection>p,.selection-note{font-size:11px!important}.game-footnote{margin-top:20px}.card-meta{letter-spacing:.7px}.scenario-kicker{letter-spacing:1px}.combo strong{font-size:9px}.combo span{font-size:7px}.result-numbers small{font-size:7px}.home-stats{font-size:8px}.hero-note{font-size:12px}.speech{font-size:10px;max-width:60%;top:12px}.date-name span{font-size:9px}}
.character-info .character-tastes{font-size:9px;color:#70567d;min-height:30px;margin:0 0 12px;line-height:1.5}.matched .speech{background:#f1fff6;color:#377e68}.different .speech{background:#fcf2ff;color:#8c5f9a}.different .date-portrait img{transform:scale(1.025) rotate(-.5deg)}.date-card.matched{box-shadow:0 18px 35px #42957824}.date-card.different{box-shadow:0 18px 35px #8863a028}
@media(max-width:760px){.character-info .character-tastes{font-size:9px;min-height:28px;margin-bottom:9px}.reveal-copy{font-size:14px}.game-footnote{font-size:10px!important}}
/* Keep the two decisions visible on shorter desktop browser windows. */
@media(max-height:850px) and (min-width:761px){header{height:74px}main{padding-top:18px;padding-bottom:17px;min-height:calc(100svh - 122px)}.session-top{margin-bottom:15px}.date-card{height:max(300px,calc(100svh - 325px));min-height:0}.date-portrait{height:100%;min-height:0}.scenario-panel{padding:20px 26px}.scenario-kicker{margin-top:18px}#scenario-content h2{font-size:25px}.decision-bar{margin-top:18px}.decision{padding:12px 22px}.game-footnote{margin-top:15px;margin-bottom:0}.hero{min-height:540px}}
@media(max-width:760px) and (max-height:750px){header{height:64px}main{padding-top:16px;padding-bottom:16px}.date-portrait{height:150px}.scenario-panel{min-height:220px;padding:17px}#scenario-content h2{font-size:21px}.revealed .scenario-panel{min-height:260px}.decision-bar{margin-top:15px}.game-footnote{margin-top:17px}.speech{font-size:9px;max-width:60%}.hero-art{height:220px}.hero h1{font-size:46px}.polaroid img{height:153px}.polaroid{width:142px}.p-one{left:25px}.p-two{right:22px}}
@media(max-height:500px) and (orientation:landscape) and (max-width:1000px){header{height:55px;padding:0 24px}main{padding:12px 22px;min-height:calc(100svh - 95px)}.game-shell{padding-right:150px;max-width:none}.session-top{margin:0 0 10px;gap:14px}.session-top>.icon-button{width:30px;height:30px}.score strong{font-size:19px}.date-card{height:245px;min-height:0;grid-template-columns:35% 65%;border-width:5px;border-radius:20px}.date-portrait{min-height:0;height:100%;border-radius:15px}.date-portrait img{height:100%;top:0;object-fit:cover;object-position:center 15%}.date-name{left:12px;bottom:13px}.date-name strong{font-size:17px}.date-name span{font-size:7px}.speech{font-size:8px;left:8px;right:8px;max-width:none;top:9px;padding:8px}.scenario-panel{min-height:0;padding:13px 19px}.card-meta{font-size:8px!important}.scenario-kicker{margin:12px 0 8px;font-size:8px!important}#scenario-content h2{font-size:19px;margin-bottom:10px}.scenario-prompt{font-size:10px}.swipe-labels{margin-top:12px;font-size:7px}.decision-bar{position:fixed;right:20px;top:145px;margin:0;width:135px;flex-direction:column;gap:12px;z-index:5}.decision{width:135px;padding:13px 11px;gap:9px;flex:none;min-width:0}.decision>span{font-size:12px}.decision small{font-size:7px}.decision svg{width:20px;height:20px}.combo{max-width:100%;min-width:0}.combo strong{font-size:8px}.combo span{font-size:7px}.next-button{min-width:0;width:135px;padding:14px 13px;font-size:11px;gap:9px}.reveal-choice{max-width:100%;width:135px;font-size:9px;justify-content:center}.game-footnote{font-size:8px!important;line-height:1.4;margin:12px 0 0}.revealed .scenario-panel{min-height:0}.reveal-copy{font-size:12px;line-height:1.5;margin-bottom:8px}#scenario-content .reveal-title{font-size:21px;margin:8px 0}.verdict{font-size:7px;margin:0 0 5px}.preference{font-size:8px!important;line-height:1.5}.points{font-size:23px;margin-top:8px}.portrait-spark{bottom:18px;right:13px}.portrait-spark svg{width:20px;height:20px}footer{padding:10px 24px;flex-direction:row;font-size:6px}footer>span:last-child{font-size:7px}.hero{grid-template-columns:50% 50%;min-height:420px}.hero-copy{order:0;text-align:left}.hero-copy>.eyebrow{justify-content:flex-start}.hero h1{font-size:42px}.hero-art{order:1}.hero .primary,.home-actions{margin-left:0}.home-stats{justify-content:flex-start}.result-card{grid-template-columns:56% 44%}.result-right{display:block;padding-left:20px;margin-top:0}.result-portrait{width:100%;height:190px}.result-date{padding:0;margin:9px 0}.result-numbers{padding:12px}.results>h1{font-size:30px}}
