:root{--ink:#754654;--blue:#d54e7e;--bg:#fff6f7;--pink:#ef81a6;--deep:#bd3e6c;--line:#edc2d0;--muted:#966b7b}*{box-sizing:border-box}body{margin:0;background:#fff9f9;color:var(--ink);font-family:Yuanti SC,Hiragino Maru Gothic ProN,PingFang SC,Microsoft YaHei,sans-serif}button,select{font:inherit}button,a,select{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #ad3d6a;outline-offset:5px}header{max-width:1180px;margin:auto;padding:23px 30px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:21px;color:#c45078;letter-spacing:1px}.brand svg{width:42px;height:38px}.brand small{display:block;font-size:9px;letter-spacing:2px;font-weight:500;margin-top:4px;color:#a66d83}nav{display:flex;gap:16px}nav button{border:0;background:none;color:#9c6579;padding:8px 6px;font-size:12px}nav button:hover{color:#c13d6b}main{max-width:1160px;margin:auto;padding:0 30px 45px}h1,h2,h3{font-weight:800}h1{font-size:62px;line-height:1.35;letter-spacing:-1px;margin:14px 0 16px}h2{font-size:30px;line-height:1.5;margin:18px 0}p{line-height:1.9}small,.muted{color:var(--muted)}.romance-hero{background:#fff0f4;border-radius:36px;padding:32px 35px 30px;text-align:center;position:relative;isolation:isolate;overflow:hidden}.romance-hero:before,.romance-hero:after{content:"♡";position:absolute;color:#f5b4cc;font-family:serif;font-size:100px;line-height:1;z-index:-1;transform:rotate(-16deg)}.romance-hero:before{left:38px;top:180px}.romance-hero:after{right:34px;top:285px;font-size:65px;transform:rotate(17deg)}.hero-kicker{display:inline-block;font-size:12px;letter-spacing:1px;color:#b26684;margin:0 0 3px}.romance-hero h1{color:#dc6c95;font-size:60px;line-height:1.22;text-shadow:3px 3px 0 white;margin:12px 0 13px;letter-spacing:1px}.hero-copy{font-size:14px;color:#a2647d;margin:0;line-height:1.9}.date-visual{position:relative;max-width:640px;width:100%;height:355px;margin:5px auto 2px;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);place-items:center}.date-backdrop{position:absolute;width:410px;height:280px;left:calc(50% - 205px);top:35px;background:#fbd8e5;border-radius:48% 52% 50% 50%;transform:rotate(-5deg);z-index:-1}.date-visual img{width:100%;height:100%;max-height:100%;object-fit:contain;display:block;min-width:0;min-height:0;pointer-events:none}.date-whisper{position:absolute;font-size:11px;line-height:1.7;color:#b56785;background:#fffdfd;border:1px solid #edbfd1;border-radius:16px 16px 2px;padding:10px 14px;left:-60px;top:55px;transform:rotate(-7deg)}.date-whisper.right{left:auto;right:-48px;top:155px;transform:rotate(8deg);border-radius:16px 16px 16px 2px}.primary{background:#c34776;color:#fff;border:2px solid #fff8fb;border-radius:50px;padding:16px 32px;font-size:16px;font-weight:800;box-shadow:0 4px #d25d87;letter-spacing:.5px}.primary:hover{background:#d85d8b}.primary:disabled{opacity:.6;cursor:default}.secondary{background:#fff;border:1px solid #deb3c5;color:#a85477;border-radius:35px;padding:12px 23px;font-size:14px}.secondary:hover{background:#fff0f5}.actions{display:flex;flex-wrap:wrap;gap:14px;margin:24px 0}.romance-hero .actions{justify-content:center;margin:8px 0 14px}.hero-meta{font-size:11px;color:#996a7f;margin:0}.romance-intro{text-align:center;margin:44px auto 30px;max-width:620px}.romance-intro h2{font-size:27px;color:#a35473;margin:10px 0}.romance-intro p{font-size:13px;color:#a67a8c;margin:0}.tiny-heart{color:#df87a9;font-size:25px;line-height:1}.heading{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin:26px 0 20px}.heading h2{font-size:27px}.back{border:0;background:none;color:#ae6282;padding:12px 0;font-size:13px}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.tile{border:1px solid #efd0dc;border-radius:21px;background:#fffcfd;padding:16px 13px 20px;color:var(--ink);text-align:center;min-width:0;box-shadow:0 4px #f7e5ec}.tile:hover{border-color:#de8eae;background:#fff0f5}.character{display:block;object-fit:contain;max-width:100%;user-select:none}.tile .character{height:180px;width:100%;margin:0 auto 6px}.tile h3{font-size:18px;margin:10px 0 7px;color:#a65a7b}.mascot-caption{font-size:10px;color:#bd8ba0;margin-bottom:8px}.tile p{font-size:11px;margin:0;color:#a17687}.tile .tile-love-line{font-size:11px;line-height:1.7;min-height:38px;max-width:185px;margin:0 auto 10px;color:#a46782}.pair-invite{position:relative;display:flex;align-items:center;justify-content:space-between;gap:30px;margin:42px 0 10px;background:#fbe5ed;border:1px solid #efc7d6;border-radius:25px;padding:27px 32px}.pair-invite h2{font-size:25px;color:#a45577;margin:0 0 8px}.pair-invite p{font-size:13px;color:#a6788d;margin:0}.pair-invite .secondary{white-space:nowrap}.tag{display:inline-block;font-size:11px;color:#b16b88;background:#fff7fa;border:1px solid #efc8d8;border-radius:25px;padding:7px 13px}.tag:before{content:"♡ ";color:#d86a95}.quiz{max-width:680px;margin:45px auto 75px;padding:28px 34px 32px;border:1px solid #edc7d5;border-radius:24px;background:#fffdfd;box-shadow:0 7px #f7e4ec}.quiz .heading{font-size:12px;margin:0 0 12px;color:#b17a91}.quiz small{font-size:12px}.quiz h2{font-size:26px;line-height:1.6;margin:24px 0}.progress{height:8px;background:#f9e4ed;border-radius:20px;margin:19px 0 30px}.progress span{display:block;height:100%;background:#e894b3;border-radius:20px}.option{display:block;width:100%;text-align:left;font-size:14px;line-height:1.8;padding:20px 19px;border:1px solid #e9bccf;border-radius:16px;background:#fff;color:var(--ink);margin:16px 0}.option:hover{background:#ffedf4;border-color:#d884a5}.result-layout{display:grid;grid-template-columns:420px minmax(0,1fr);gap:65px;align-items:start;margin-top:30px}.poster{position:relative;padding:28px 27px;background:#fffdfc;border:1px solid #e6b2c7;border-radius:26px;text-align:center;box-shadow:0 7px #f5dce6}.poster:before{content:"";position:absolute;inset:10px;border:1px dashed #edcada;border-radius:18px;pointer-events:none}.poster .character{height:285px;width:100%;margin:9px 0 5px}.poster h2{font-size:36px;color:#b56386;margin:4px 0}.poster blockquote{font-size:17px;line-height:1.8;margin:20px 0;font-weight:700;color:#b16a88}.poster small{font-size:10px}.result-mascot-name{font-size:11px;color:#b28296;margin:4px 0 15px}.pills{display:flex;flex-wrap:wrap;gap:7px;justify-content:center}.pills span{font-size:10px;padding:5px 9px;border-radius:20px;border:1px solid #edbfd1;background:#fff4f8;color:#b1738f}.result-layout>div>h2{font-size:29px;color:#a55d7b}.result-layout>div>p{font-size:13px;line-height:1.9}.result-layout .actions{gap:12px}.result-layout .primary,.result-layout .secondary{font-size:12px;padding:12px 18px}.detail{padding:13px 0;border-bottom:1px dashed #ebc4d4}.detail h3{font-size:15px;color:#aa6382}.detail h3:before{content:"♡ ";color:#d7749b}.detail p{font-size:13px;line-height:1.9;margin:8px 0 17px}.status{font-size:12px;min-height:24px;line-height:1.8;color:#a57a8e}.selects{display:flex;gap:18px;flex-wrap:wrap;margin:24px 0;font-size:13px;color:#ad6d89}.selects label{display:flex;align-items:center;gap:8px}select{padding:11px 15px;background:#fff;border:1px solid #ddb0c4;border-radius:18px;color:var(--ink);max-width:100%}.comparison{background:#fff;border:1px solid #ebbed0;border-radius:25px;padding:30px;margin:25px 0;max-width:780px;box-shadow:0 7px #f6e1e9}.pair-portrait{display:flex;align-items:center;justify-content:center;gap:16px;border-bottom:1px dashed #ebc1d3;padding:0 0 23px;margin-bottom:24px}.pair-portrait .character{width:155px;height:180px}.pair-portrait>span{font-size:36px;color:#e590b0}.comparison h3{font-size:22px;text-align:center;color:#ae6083}.comparison p{font-size:13px;line-height:1.9}.comparison>strong{font-size:13px;color:#af6786}.gallery-lead{font-size:13px;color:#a97b8f}.gallery-title{text-align:center;padding:22px 0 10px}.gallery-title h2{font-size:31px;color:#b46487}.gallery-title .tag{font-size:11px}footer{max-width:1100px;margin:32px auto 0;border-top:1px solid #eed1dc;padding:24px 0;font-size:10px;display:flex;gap:15px;justify-content:space-between;color:#b28a9c}a{color:inherit}.gate{max-width:480px;margin:60px auto 80px;padding:38px 32px;border:1px solid #edc7d5;border-radius:24px;background:#fffdfd;box-shadow:0 7px #f7e4ec;text-align:center}.gate .brand-heart{font-size:34px;line-height:1;color:#ee98b7;margin-bottom:8px}.gate h1{font-size:26px;color:#c45078;margin:10px 0 8px}.gate p{font-size:13px;color:#a67a8c}.gate-form{display:flex;flex-direction:column;gap:14px;align-items:center;margin:22px 0 6px}.code-input{width:100%;max-width:320px;text-align:center;font-size:20px;letter-spacing:2px;padding:14px 16px;border:2px solid #deb3c5;border-radius:14px;background:#fff;color:var(--ink);font-family:inherit;text-transform:uppercase}.code-input:focus{outline:none;border-color:#c34776}.gate-error{color:#c0392b;font-size:13px;min-height:20px;margin:6px 0}@media (max-width:850px){.date-whisper{left:0;top:25px;font-size:10px}.date-whisper.right{right:0;top:140px}.result-layout{grid-template-columns:350px minmax(0,1fr);gap:30px}.grid{gap:14px}.tile .character{height:160px}.pair-invite{padding:24px;gap:22px}.pair-invite h2{font-size:23px}}@media (max-width:650px){header{padding:19px 20px;gap:15px;flex-wrap:wrap}.brand{font-size:19px}.brand svg{width:35px;height:32px}.brand small{font-size:9px}nav{gap:13px}nav button{font-size:11px;padding:5px 0}main{padding:0 16px 30px}.romance-hero{padding:25px 15px 28px;border-radius:25px}.hero-kicker{font-size:10px;letter-spacing:.5px}.romance-hero h1{font-size:40px;line-height:1.28;margin:13px 0 14px}.hero-copy{font-size:12px;line-height:1.9}.date-visual{height:255px;margin:8px auto 9px}.date-backdrop{width:245px;height:190px;left:calc(50% - 122px);top:28px}.date-whisper{font-size:9px;padding:6px 9px;top:1px;left:0}.date-whisper.right{top:auto;bottom:10px;right:0}.romance-hero:before{font-size:67px;left:10px;top:200px}.romance-hero:after{font-size:47px;right:11px;top:85px}.primary{font-size:14px;padding:14px 27px}.hero-meta{font-size:10px}.romance-intro{margin:30px auto 25px;padding-inline:8px}.romance-intro h2{font-size:22px;line-height:1.6}.romance-intro p{font-size:12px}.tiny-heart{font-size:22px}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.tile{padding:13px 10px 17px;border-radius:20px}.tile .character{height:165px}.tile h3{font-size:17px;margin-top:9px}.mascot-caption{font-size:9px}.tile .tile-love-line{font-size:10px;min-height:35px}.tile p{font-size:10px}.heading{display:block;margin:26px 0 16px}.heading h2{font-size:24px}.pair-invite{display:block;padding:24px 21px;margin-top:30px;border-radius:22px;text-align:center}.pair-invite h2{font-size:21px;line-height:1.6}.pair-invite p{font-size:12px}.pair-invite .secondary{margin-top:18px;font-size:12px;padding:11px 17px}.quiz{padding:25px 19px;margin:30px auto 60px}.quiz .heading{display:flex;font-size:11px}.quiz h2{font-size:23px}.quiz small{font-size:11px}.option{font-size:13px;padding:17px 13px}.progress{margin-bottom:25px}.result-layout{grid-template-columns:minmax(0,1fr);gap:30px;margin-top:22px}.poster{max-width:420px;width:100%;margin:auto;padding:25px 22px}.poster .character{height:270px}.poster h2{font-size:33px}.poster blockquote{font-size:16px}.result-layout>div>h2{font-size:27px}.comparison{padding:22px 19px}.comparison h3{font-size:19px}.pair-portrait{gap:10px}.pair-portrait .character{width:115px;height:155px}.pair-portrait>span{font-size:26px}.selects{gap:12px;font-size:12px}.selects label{gap:6px}select{font-size:12px;padding:10px}.gallery-title h2{font-size:26px}.gallery-lead{font-size:12px}.gallery-title{padding-top:13px}footer{margin-inline:20px;padding-block:22px;flex-direction:column;gap:7px;font-size:9px}}@media (max-width:360px){header{padding:17px 16px}.brand{font-size:17px}.romance-hero{padding-inline:12px}.romance-hero h1{font-size:36px}.hero-copy{font-size:11px}.date-visual{height:225px}.date-backdrop{width:215px;height:170px;left:calc(50% - 107px);top:24px}.date-whisper{font-size:8px;top:0}.date-whisper.right{bottom:2px}.tile .character{height:140px}.tile h3{font-size:15px}.tile .tile-love-line{font-size:9px}.poster .character{height:245px}.poster h2{font-size:30px}.pair-portrait .character{width:95px;height:140px}.pair-portrait{gap:8px}.pair-portrait>span{font-size:22px}}@media (prefers-reduced-motion:no-preference){.primary,.option,.tile{transition:background .16s,transform .16s}.primary:hover{transform:translateY(-2px)}}.pair-title{font-size:34px;color:#a55d7b}.pair-lead{font-size:14px;color:#a17687}@media (max-width:650px){.pair-title{font-size:26px;line-height:1.6}.pair-lead{font-size:13px}}@media (max-width:360px){.pair-title{font-size:23px}}
