@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700;800;900&display=swap');
:root{font-family:'Noto Sans JP',sans-serif;color:#f4f1f5;background:#111016;font-synthesis:none;--pink:#ff426b;--muted:#a8a3af;--line:#343039}*{box-sizing:border-box}body{margin:0}button{font:inherit;cursor:pointer}button:focus-visible{outline:3px solid #ffb7c8;outline-offset:4px}button:disabled{cursor:default;opacity:.45}.site-header{max-width:1240px;margin:auto;padding:27px 44px;display:flex;align-items:center;gap:30px;border-bottom:1px solid var(--line)}.brand{color:white;background:none;border:0;padding:0;font-weight:900;font-size:23px;letter-spacing:-1px}.brand span{color:var(--pink)}.header-note{font-size:13px;color:var(--muted)}.edition{margin-left:auto;font-size:12px;letter-spacing:2px;color:var(--muted)}main{max-width:1240px;margin:auto;padding:45px 44px 30px}.intro{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:28px}.eyebrow{font-size:12px;color:var(--pink);letter-spacing:3px;font-weight:700}.intro h1{font-size:48px;margin:10px 0 8px;letter-spacing:-2px;line-height:1.3}.intro p{color:var(--muted);margin:0;font-size:15px}.play-note{border-left:2px solid var(--pink);padding:5px 0 5px 17px;font-size:14px;line-height:1.9;color:#c7c2cc}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.card{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:9px;background:#1a1820;padding:0;color:white;text-align:left;transition:transform .2s,border-color .2s}.card:hover{transform:translateY(-6px);border-color:var(--pink)}.portrait{width:100%;height:335px;object-fit:cover;display:block;object-position:center}.photo-wrap{position:relative}.photo-wrap:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,rgba(17,16,22,.8))}.number{position:absolute;top:15px;left:16px;z-index:1;font-size:12px;letter-spacing:2px;background:#11101680;padding:5px 8px;border-radius:4px}.character-type{position:absolute;left:18px;bottom:16px;z-index:1;font-size:13px;padding:5px 10px;border:1px solid #ffffff60;border-radius:30px;background:#17141b66;backdrop-filter:blur(5px)}.card-info{padding:19px 18px 22px}.card-name{font-size:23px;font-weight:800;margin:0 0 9px}.age{font-size:13px;font-weight:400;color:var(--muted);margin-left:9px}.quote{font-size:14px;color:#d1ccd5;line-height:1.8;min-height:50px;margin:0 0 18px}.card-bottom{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--muted);border-top:1px solid var(--line);padding-top:14px}.view-profile{color:var(--pink);font-size:13px}.instruction{display:flex;align-items:center;justify-content:center;gap:24px;margin:31px 0 8px;color:var(--muted);font-size:14px}.instruction b{color:#f1edf3;font-weight:500}.step-dot{color:var(--pink);font-size:12px}footer{max-width:1240px;margin:15px auto 0;padding:23px 44px 28px;font-size:12px;color:#7f7889;border-top:1px solid #27232e}.back{border:0;background:transparent;color:var(--muted);font-size:14px;padding:0;margin-bottom:24px}.profile{display:grid;grid-template-columns:1fr 1fr;max-width:840px;margin:0 auto;overflow:hidden;border-radius:12px;border:1px solid var(--line);background:#1b1821}.profile>img{width:100%;height:530px;object-fit:cover}.profile-content{padding:44px 35px;display:flex;flex-direction:column;justify-content:center}.profile h1{font-size:32px;margin:10px 0}.profile .bio{line-height:2;font-size:16px;white-space:pre-line;color:#dcd6e3;margin:25px 0}.pill{font-size:13px;color:var(--pink)}.primary{background:var(--pink);color:white;border:0;border-radius:7px;padding:16px 22px;font-weight:700;font-size:16px}.primary:hover{background:#eb315b}.small-note{font-size:12px;color:var(--muted);margin-top:15px;text-align:center}.chat-layout{max-width:980px;margin:auto;display:grid;grid-template-columns:250px 1fr;gap:35px}.chat-side img{width:100%;height:280px;object-fit:cover;border-radius:9px}.chat-side h2{font-size:24px;margin-bottom:8px}.chat-side p{color:var(--muted);font-size:14px;line-height:1.9}.chat-hint{border-top:1px solid var(--line);margin-top:27px;padding-top:20px;color:#bcb4c5;font-size:14px;line-height:1.9}.chat-shell{border:1px solid var(--line);border-radius:13px;background:#1b1822;overflow:hidden;display:flex;flex-direction:column;height:min(740px,85vh);min-height:540px}.chat-header{display:flex;align-items:center;gap:12px;background:#25202d;padding:15px 20px;border-bottom:1px solid var(--line)}.avatar{width:39px;height:39px;border-radius:50%;object-fit:cover}.chat-title{font-size:16px;font-weight:700}.subline{font-size:12px;color:var(--muted);margin-top:3px}.timer{margin-left:auto;font-variant-numeric:tabular-nums;font-size:18px;letter-spacing:1px}.progress{height:2px;background:#3d3347}.progress>div{height:100%;background:var(--pink);transition:width .3s}.messages{overflow:auto;flex:1;padding:20px;scroll-behavior:smooth}.day{text-align:center;font-size:12px;color:#9d94a9;margin-bottom:22px}.message{display:flex;align-items:flex-end;gap:8px;margin-bottom:15px;animation:appear .25s ease-out}.message.mine{justify-content:flex-end}.bubble{max-width:85%;padding:12px 16px;background:#342e3e;color:#f4f0f7;border-radius:14px 14px 14px 3px;font-size:15px;line-height:1.75;white-space:pre-line;overflow-wrap:anywhere}.mine .bubble{background:var(--pink);border-radius:14px 14px 3px 14px}.read{font-size:10px;color:#a79aac;flex-shrink:0}.typing{color:#aa9faf;font-size:13px;margin:10px 0;animation:pulse 1s infinite}.choices{border-top:1px solid var(--line);padding:17px 20px 20px;background:#211c29}.choice-label{display:flex;justify-content:space-between;font-size:12px;color:#b5aabe;margin-bottom:11px}.choice{width:100%;text-align:left;color:#eee7f4;background:#2d2636;border:1px solid #4c3d58;padding:12px 14px;margin-top:7px;border-radius:7px;font-size:14px;line-height:1.6;transition:background .15s}.choice:hover{background:#433048;border-color:var(--pink)}.choice span{font-size:12px;color:#af9ebd;margin-right:13px}.wait-button{background:none;border:0;color:#ab9ab4;font-size:12px;display:block;margin:12px auto 0;text-decoration:underline}.result{max-width:720px;margin:10px auto;text-align:center}.result-face{width:92px;height:92px;border-radius:50%;object-fit:cover;margin-bottom:23px;border:3px solid #544454}.result h1{font-size:36px;line-height:1.4;margin:14px 0 20px}.ending-type{font-size:13px;letter-spacing:3px;color:var(--pink)}.result-text{color:#ccc1d3;line-height:2;font-size:16px;white-space:pre-line}.result-chat{margin:28px auto;max-width:430px;text-align:left;border:1px solid var(--line);border-radius:10px;padding:23px;background:#211b28;white-space:pre-line;line-height:2}.analysis{border-top:1px solid var(--line);padding-top:23px;margin-top:28px;text-align:left}.analysis h2{font-size:16px}.analysis p{font-size:14px;color:#b7abbf;line-height:1.9}.result-actions{display:flex;justify-content:center;gap:12px;margin-top:26px}.secondary{border:1px solid #55465f;background:transparent;color:white;border-radius:7px;padding:14px 20px;font-size:14px}@keyframes appear{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{50%{opacity:.4}}@media(max-width:1000px){.cards{grid-template-columns:repeat(2,1fr)}.portrait{height:330px}.intro h1{font-size:40px}.chat-layout{grid-template-columns:190px 1fr;gap:20px}}@media(max-width:600px){.site-header{padding:20px;gap:0}.brand{font-size:21px}.header-note{display:none}.edition{font-size:10px;letter-spacing:1px}main{padding:30px 18px 15px}.intro{display:block;margin-bottom:24px}.intro h1{font-size:35px}.intro p{font-size:14px}.play-note{margin-top:18px;font-size:12px;line-height:1.7}.cards{gap:12px}.portrait{height:230px}.card-info{padding:14px 12px}.card-name{font-size:18px}.age{display:block;margin:4px 0 0;font-size:12px}.quote{font-size:12px;min-height:65px;margin-bottom:12px}.character-type{left:10px;bottom:12px;font-size:11px;padding:4px 8px}.card-bottom{font-size:10px;display:block}.view-profile{display:block;margin-top:8px;font-size:12px}.instruction{font-size:11px;gap:10px;flex-wrap:wrap}footer{font-size:10px;padding:20px 18px}.profile{grid-template-columns:1fr}.profile>img{height:330px}.profile-content{padding:25px}.profile h1{font-size:28px}.profile .bio{margin:17px 0;font-size:15px}.chat-layout{display:block}.chat-side{display:none}body.in-chat main{padding:12px 8px 0}body.in-chat footer{display:none}body.in-chat .site-header{padding:12px 16px}.chat-shell{height:calc(100dvh - 75px);min-height:480px}.messages{padding:17px 13px}.choices{padding:12px}.choice{font-size:14px;padding:10px 12px}.bubble{font-size:14px}.result h1{font-size:29px}.result-actions{flex-direction:column}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.free-form{margin-top:15px;padding-top:13px;border-top:1px solid #493a53}.free-label{display:block;font-size:12px;color:#c6b6d0;margin-bottom:8px}.composer{display:flex;align-items:flex-end;gap:8px}.composer textarea{flex:1;min-width:0;resize:none;border:1px solid #594465;border-radius:8px;background:#17121f;color:#fff;font:inherit;font-size:16px;line-height:1.5;padding:11px 12px;min-height:47px;max-height:92px}.composer textarea:focus{outline:2px solid var(--pink);outline-offset:1px}.composer textarea::placeholder{color:#a393ad}.send-button{border:0;border-radius:7px;background:var(--pink);color:white;min-height:47px;padding:10px 16px;font-size:14px;font-weight:700}.composer-meta{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:#aa99b5;margin-top:5px;min-height:17px}.composer-meta>span:first-child{color:#ffa1b7}.choices{max-height:60%;overflow-y:auto;flex-shrink:0}.messages{min-height:100px}@media(max-width:600px){.free-form{margin-top:10px;padding-top:10px}.choice{margin-top:5px;padding:8px 10px}.wait-button{margin-top:7px}.chat-shell{min-height:600px}.choices{max-height:65%}body.in-chat{overflow-y:auto}.composer textarea{font-size:16px}}
.character-hook{font-size:15px;font-weight:700;color:#fff0f4;line-height:1.9;border-left:2px solid var(--pink);padding-left:14px;margin:22px 0}.date-verdict{display:inline-block;font-size:13px;padding:7px 14px;border:1px solid #725062;border-radius:30px;background:#ff426b18;color:#ffb8c9;margin-bottom:7px}.result-bad .date-verdict{color:#c1b8cd;background:#aaa1b314;border-color:#54465e}.affection-hero{border:1px solid #6b3549;border-radius:14px;margin:28px 0 20px;padding:28px;background:radial-gradient(ellipse at 50% 90%,#5b193633,transparent 70%),#211822}.affection-hero>span{font-size:15px;color:#dbbfd0}.affection-hero strong{display:block;font-size:82px;letter-spacing:-5px;line-height:1.2;color:#ff668b;margin:5px 0;font-variant-numeric:tabular-nums}.affection-hero strong small{font-size:30px;letter-spacing:0;margin-left:7px}.affection-hero p{font-size:14px;color:#d2b6c5;margin:10px 0 0}.result-scores{display:grid;grid-template-columns:repeat(2,1fr);gap:20px 24px;text-align:left;padding:8px 4px}.score-metric>div:first-child{display:flex;justify-content:space-between;align-items:center;font-size:14px;margin-bottom:10px;color:#d3c6de}.score-metric b{font-size:23px;color:#eee2f4;font-variant-numeric:tabular-nums}.score-metric small{font-size:12px;margin-left:4px}.metric-bar{height:7px;border-radius:8px;background:#3a2e44;overflow:hidden}.metric-bar i{display:block;height:100%;background:#a790db;border-radius:8px}.danger .metric-bar i{background:#ff6e8e}.score-note{font-size:12px;color:#a092ac;text-align:left;line-height:1.8;margin:18px 0 28px}.inner-voice{text-align:left;background:#26202e;border-left:3px solid #aa8fd0;padding:20px 23px;border-radius:0 9px 9px 0}.inner-voice>span{font-size:12px;color:#bda2d7}.inner-voice p{font-size:16px;line-height:1.9;margin:8px 0 0}.result-chat{max-width:none;font-size:15px}.score-trend{text-align:left;margin:27px 0}.score-trend h3{font-size:15px;font-weight:600}.score-trend svg{width:100%;height:auto;display:block;background:#211a28;border-radius:9px;padding:12px}.trend-labels{display:flex;justify-content:space-between;font-size:12px;color:#a294af;margin-top:8px}.decisive{text-align:left;border:1px solid #634156;padding:24px;border-radius:10px;margin-top:28px}.decisive .eyebrow{letter-spacing:1px}.decisive blockquote{font-size:19px;font-weight:700;margin:18px 0;line-height:1.8}.decisive p{font-size:14px;color:#c8b5d0;line-height:1.9;margin:0}.reply-review{text-align:left;border:1px solid #49354f;border-radius:10px;margin-top:28px;overflow:hidden}.reply-review summary{padding:20px;font-size:15px;font-weight:600;cursor:pointer;background:#241b2d}.review-row{display:flex;gap:15px;padding:20px;border-top:1px solid #392c42}.review-index{color:#ab8eba;font-size:13px;flex-shrink:0;padding-top:3px}.review-row p{font-size:13px;color:#b7a6c3;line-height:1.9;margin:0 0 9px;white-space:pre-line;overflow-wrap:anywhere}.review-row .review-question{color:#ded3e6}.review-row .review-answer{font-size:14px;color:#ffb5c9}.delta{display:inline-block;font-size:12px;color:#d8b4ff;background:#aa78d522;padding:4px 8px;border-radius:4px;margin:3px 5px 0 0}.delta.negative{color:#ff9bae;background:#ff6c8b18}.secondary-delta{color:#c0b0cf;background:#75608028}@media(max-width:600px){.result{margin-top:0}.affection-hero{padding:23px}.affection-hero strong{font-size:72px}.result-scores{gap:17px}.decisive{padding:20px}.decisive blockquote{font-size:17px}.inner-voice{padding:17px}.review-row{padding:17px 13px;gap:10px}}
.share-result{margin-top:30px}.share-x{display:flex;align-items:center;justify-content:center;gap:13px;width:100%;border:1px solid #726377;border-radius:8px;background:#08080a;padding:17px 20px;color:white;text-decoration:none;font-size:16px;font-weight:700;transition:background .2s}.share-x span{font-size:23px;line-height:1}.share-x:hover{background:#29202f}.share-x:focus-visible{outline:3px solid #ffb7c8;outline-offset:4px}.share-result p{font-size:12px;color:#a99ab3;margin:12px 0 0}
