:root{--bg-color:#fff9fa;--surface-color:#ffffffbf;--primary-color:#3b284c;--secondary-color:#7b6294;--accent-color:#ff5e8f;--accent-hover:#e04a79;--accent-purple:#8b5cf6;--border-color:#ff5e8f2e;--good-bg:#10b98114;--warning-bg:#ef444414;--font-heading:"Zen Maru Gothic", sans-serif;--font-text:"M PLUS Rounded 1c", sans-serif;--shadow-sm:0 4px 12px #ff5e8f14;--shadow-md:0 8px 32px #ff5e8f26}body{font-family:var(--font-text);color:var(--primary-color);-webkit-font-smoothing:antialiased;background:linear-gradient(135deg,#ffe5ec,#ffc2d1,#e8dbfc,#c2e9fb,#e3f2fd) 0 0/400% 400%;justify-content:center;min-height:100vh;margin:0;padding:0;animation:18s infinite auroraFlow;display:flex}@keyframes auroraFlow{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}.mobile-container{-webkit-backdrop-filter:blur(20px);box-sizing:border-box;background:#ffffff8c;border-left:1px solid #fff6;border-right:1px solid #fff6;width:100%;max-width:500px;min-height:100vh;padding:30px 20px;position:relative;box-shadow:0 12px 40px #ff9aa240}.mt-2{margin-top:10px}.mt-4{margin-top:20px}.app-header{text-align:center;border-bottom:2px dashed #ff5e8f40;margin-bottom:35px;padding-top:85px;padding-bottom:20px}.app-header h1{font-family:var(--font-heading);background:linear-gradient(135deg,#ff5e8f,#8b5cf6);-webkit-text-fill-color:transparent;letter-spacing:-.01em;filter:drop-shadow(0 2px 4px #ff5e8f1f);-webkit-background-clip:text;margin:0 0 10px;font-size:2.3rem;font-weight:700}.app-header .subtitle{color:#6d4b94;letter-spacing:.05em;background:#ffffffa6;border-radius:20px;margin:0;padding:6px 16px;font-size:.85rem;font-weight:800;display:inline-block;box-shadow:0 2px 10px #00000005}.form-section{box-shadow:var(--shadow-sm);background:#ffffffb3;border:1px solid #ffffff80;border-radius:22px;margin-bottom:25px;padding:24px 18px;transition:transform .3s cubic-bezier(.175,.885,.32,1.275),box-shadow .3s}.form-section:hover{transform:translateY(-2px);box-shadow:0 10px 24px #ff5e8f1f}.form-section h2{font-family:var(--font-heading);color:var(--primary-color);align-items:center;margin:0 0 18px;font-size:1.15rem;display:flex}.section-icon{margin-right:8px;font-size:1.25rem}.match-heart{text-align:center;filter:drop-shadow(0 4px 10px #ff5e8f4d);margin:-15px 0 15px;font-size:2.2rem;animation:1.8s ease-in-out infinite heartPulse}@keyframes heartPulse{0%{transform:scale(1)}14%{transform:scale(1.15)}28%{transform:scale(1)}42%{transform:scale(1.15)}70%{transform:scale(1)}}.input-group{margin-bottom:18px}.input-group label{color:var(--secondary-color);margin-bottom:8px;font-size:.85rem;font-weight:800;display:block}input[type=text],input[type=number],select,textarea{border:2px solid var(--border-color);width:100%;font-family:var(--font-text);box-sizing:border-box;color:var(--primary-color);background:#ffffffd9;border-radius:12px;padding:12px 16px;font-size:.95rem;font-weight:700;transition:all .25s cubic-bezier(.175,.885,.32,1.275)}input:focus,select:focus,textarea:focus{border-color:var(--accent-color);background:#fff;outline:none;transform:scale(1.01);box-shadow:0 0 0 4px #ff5e8f26}input::placeholder,textarea::placeholder{color:#cbbad6}.btn-selector{gap:10px;display:flex}.btn-selector label{flex:1;margin:0}.btn-selector input[type=radio]{display:none}.btn-selector span{text-align:center;border:2px solid var(--border-color);cursor:pointer;color:var(--secondary-color);background:#ffffffd9;border-radius:14px;padding:12px 0;font-size:.95rem;font-weight:800;transition:all .25s cubic-bezier(.175,.885,.32,1.275);display:block;box-shadow:0 2px 4px #00000005}.btn-selector label:hover span{border-color:var(--accent-color);color:var(--accent-color);transform:translateY(-2px)}.btn-selector input[type=radio]:checked+span{background:linear-gradient(135deg, var(--accent-color), #ff8ea7);color:#fff;border-color:#0000;transform:translateY(-1px)scale(1.02);box-shadow:0 4px 12px #ff5e8f4d}.btn-selector.grid-5{grid-template-columns:repeat(5,1fr);gap:6px;display:grid}.btn-selector.grid-5 label{min-width:0}.btn-selector.grid-5 span{padding:12px 0;font-size:.9rem}.mbti-selector{gap:8px;display:flex}.mbti-pair{flex-direction:column;flex:1;gap:6px;display:flex}.mbti-pair label{margin:0}.mbti-pair input[type=radio]{display:none}.mbti-pair span{text-align:center;border:2px solid var(--border-color);cursor:pointer;color:var(--secondary-color);background:#ffffffd9;border-radius:12px;padding:12px 0;font-size:1rem;font-weight:800;transition:all .25s cubic-bezier(.175,.885,.32,1.275);display:block;box-shadow:0 2px 4px #00000005}.mbti-pair label:hover span{border-color:var(--accent-purple);color:var(--accent-purple);transform:translateY(-2px)}.mbti-pair input[type=radio]:checked+span{background:linear-gradient(135deg, var(--accent-purple), #a78bfa);color:#fff;border-color:#0000;transform:translateY(-1px)scale(1.02);box-shadow:0 4px 12px #8b5cf64d}.unknown-btn{width:100%;color:var(--secondary-color);border:2px dashed var(--border-color);cursor:pointer;font-size:.85rem;font-weight:800;font-family:var(--font-text);background:#ffffff80;border-radius:12px;padding:10px;transition:all .2s}.unknown-btn:hover{border-color:var(--accent-purple);color:var(--accent-purple);background:#ffffffd9}.unknown-btn:active{transform:scale(.98)}.date-inputs,.time-inputs{align-items:center;gap:6px;display:flex}.date-inputs input,.time-inputs input{text-align:center;padding:12px 6px}.time-inputs input[disabled]{color:#aaa;background:#0000000d;border-color:#00000014}.checkbox-label{cursor:pointer;align-items:center;display:flex;margin:10px 0 0!important}.checkbox-label input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent-color);cursor:pointer;margin-right:8px}.checkbox-text{color:var(--secondary-color);font-size:.85rem;font-weight:800}select.premium-select{appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%237b6294' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'></polyline></svg>");background-position:right 16px center;background-repeat:no-repeat;background-size:16px;padding-right:40px}.submit-btn{color:#fff;width:100%;font-size:1.15rem;font-weight:800;font-family:var(--font-heading);letter-spacing:.05em;cursor:pointer;background:linear-gradient(135deg,#ff5e8f,#8b5cf6);border:none;border-radius:18px;padding:16px;transition:all .25s cubic-bezier(.175,.885,.32,1.275);box-shadow:0 6px 20px #ff5e8f4d}.submit-btn:hover{transform:translateY(-3px)scale(1.02);box-shadow:0 10px 28px #ff5e8f73}.submit-btn:active{transform:translateY(-1px)scale(.99)}.submit-btn.outline{color:var(--primary-color);border:2px solid var(--primary-color);box-shadow:none;background:#fff9}.submit-btn.outline:hover{background:#ffffffd9;box-shadow:0 4px 12px #0000000d}#loading{text-align:center;padding:60px 20px}.heart-loader{filter:drop-shadow(0 4px 12px #ff5e8f66);margin-bottom:20px;font-size:3.5rem;animation:1.2s ease-in-out infinite heartBeat;display:inline-block}@keyframes heartBeat{0%{transform:scale(1)}15%{transform:scale(1.25)}30%{transform:scale(1)}45%{transform:scale(1.25)}70%{transform:scale(1)}to{transform:scale(1)}}#loading p{font-family:var(--font-heading);color:var(--primary-color);font-size:1.1rem;animation:1.5s ease-in-out infinite alternate pulseText}@keyframes pulseText{0%{opacity:.6}to{opacity:1}}.result-title{text-align:center;font-family:var(--font-heading);color:var(--primary-color);margin-bottom:25px;font-size:1.5rem}details{border:2px solid var(--border-color);box-shadow:var(--shadow-sm);background:#ffffffbf;border-radius:18px;margin-bottom:16px;padding:16px 20px;transition:all .3s;overflow:hidden}details[open]{border-color:var(--accent-purple);background:#fffffff2;box-shadow:0 8px 24px #8b5cf626}summary{font-family:var(--font-text);color:var(--primary-color);cursor:pointer;align-items:center;padding:4px 0;font-size:1.05rem;font-weight:800;list-style:none;display:flex}summary::-webkit-details-marker{display:none}summary:after{content:"💖";margin-left:auto;font-size:1.1rem;transition:transform .3s}details[open] summary:after{content:"✨";transform:rotate(180deg)}.result-box p,.result-box li{color:var(--primary-color);margin-top:12px;font-size:.95rem;line-height:1.8}.result-box ul{margin:8px 0;padding-left:20px}.good-point{color:#047857;background:#d1fae5;border:1px solid #a7f3d0;border-radius:6px;padding:2px 6px;font-weight:800}.warning-point{color:#b91c1c;background:#fee2e2;border:1px solid #fecaca;border-radius:6px;padding:2px 6px;font-weight:800}.advice-point{color:#1d4ed8;background:#dbeafe;border:1px solid #bfdbfe;border-radius:6px;padding:2px 6px;font-weight:800}details.score-card{background-color:#0000;background-image:linear-gradient(135deg,#fff3f6,#f3e8ff),linear-gradient(135deg,#ff5e8f,#8b5cf6);background-position:0 0;background-repeat:repeat;background-size:auto;background-attachment:scroll;background-origin:padding-box,border-box;background-clip:padding-box,border-box;border:3px solid #0000;box-shadow:0 10px 30px #ff5e8f33}details.score-card summary{font-size:1.25rem;font-family:var(--font-heading);background:linear-gradient(135deg,#ff5e8f,#8b5cf6);-webkit-text-fill-color:transparent;-webkit-background-clip:text}details.score-card summary:after{content:"🏆"}details.score-card[open] summary:after{content:"👑"}.action-buttons{gap:10px;margin-top:30px;display:flex}.action-btn{cursor:pointer;color:var(--primary-color);border:2px solid var(--border-color);font-size:.95rem;font-weight:800;font-family:var(--font-text);background:#fff;border-radius:14px;flex:1;padding:14px 0;transition:all .2s;box-shadow:0 4px 12px #00000005}.action-btn:hover{border-color:var(--accent-purple);color:var(--accent-purple);transform:translateY(-2px);box-shadow:0 6px 16px #8b5cf626}.action-btn:active{transform:translateY(0)}.share-section{text-align:center;border-top:2px dashed var(--border-color);margin-top:35px;padding-top:25px}.share-section p{color:var(--secondary-color);margin-bottom:18px;font-size:.9rem;font-weight:800}.share-buttons{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.share-btn{cursor:pointer;color:#fff;font-size:.9rem;font-weight:800;font-family:var(--font-text);border:none;border-radius:25px;padding:12px 20px;transition:all .2s;box-shadow:0 4px 10px #0000001a}.share-btn:hover{transform:translateY(-2px)scale(1.03)}.share-btn:active{transform:translateY(0)scale(.98)}.share-btn.native{background:linear-gradient(135deg,#ff5e8f,#8b5cf6);box-shadow:0 4px 12px #ff5e8f40}.share-btn.line{background:#06c755;box-shadow:0 4px 12px #06c75540}.share-btn.x{background:#111;box-shadow:0 4px 12px #00000040}.share-btn.fb{background:#1877f2;box-shadow:0 4px 12px #1877f240}.top-actions{z-index:100;flex-direction:column;align-items:flex-end;gap:6px;display:flex;position:absolute;top:15px;right:20px}.share-title{color:var(--secondary-color);text-shadow:0 1px 2px #fffc;margin-bottom:2px;font-size:.7rem;font-weight:800}.top-action-btn{cursor:pointer;font-size:.75rem;font-weight:800;font-family:var(--font-text);color:var(--primary-color);border:none;border:1.5px solid var(--border-color);text-align:center;box-sizing:border-box;background:#fff;border-radius:20px;width:110px;padding:6px 12px;transition:all .2s;box-shadow:0 4px 10px #ff5e8f1f}.top-action-btn:hover{transform:translateY(-1px)scale(1.04);box-shadow:0 6px 14px #ff5e8f2e}.top-action-btn:active{transform:translateY(0)scale(.98)}.top-action-btn.line{color:#fff;background:#06c755;border-color:#0000}.privacy-note{color:var(--secondary-color);text-align:center;margin-top:14px;margin-bottom:0;font-size:.75rem;font-weight:700;line-height:1.5}.feedback-section{border:2px dashed var(--border-color);box-shadow:var(--shadow-sm);background:#fff9;border-radius:20px;margin-top:35px;padding:22px 18px}.feedback-intro{text-align:center;color:var(--primary-color);font-size:1.05rem;font-weight:800;line-height:1.6;font-family:var(--font-heading);margin:0 0 16px}.feedback-intro .subtext{color:var(--secondary-color);font-size:.75rem;font-weight:700;font-family:var(--font-text);margin-top:4px;display:block}.feedback-group{margin-bottom:14px}.feedback-group label{color:var(--secondary-color);margin-bottom:6px;font-size:.8rem;font-weight:800;display:block}.feedback-group input[type=text],.feedback-group textarea{border:2px solid var(--border-color);box-sizing:border-box;background:#ffffffd9;border-radius:10px;width:100%;padding:10px 14px;font-size:.9rem}.rating-selector{grid-template-columns:repeat(10,1fr);gap:4px;display:grid}.rating-selector label{margin:0}.rating-selector input[type=radio]{display:none}.rating-selector span{text-align:center;border:2px solid var(--border-color);cursor:pointer;color:var(--secondary-color);background:#ffffffd9;border-radius:8px;padding:8px 0;font-size:.85rem;font-weight:800;transition:all .2s;display:block}.rating-selector label:hover span{border-color:var(--accent-purple);color:var(--accent-purple);transform:translateY(-1px)}.rating-selector input[type=radio]:checked+span{background:linear-gradient(135deg, var(--accent-purple), #a78bfa);color:#fff;border-color:#0000;box-shadow:0 3px 8px #8b5cf640}.feedback-submit-btn{background:linear-gradient(135deg, #ff8ea7, var(--accent-color));color:#fff;cursor:pointer;width:100%;font-size:.95rem;font-weight:800;font-family:var(--font-heading);border:none;border-radius:12px;padding:12px;transition:all .2s;box-shadow:0 4px 12px #ff5e8f33}.feedback-submit-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #ff5e8f4d}.feedback-submit-btn:active{transform:translateY(0)}.thankyou-box{text-align:center;box-shadow:var(--shadow-sm);background:#ffffffe6;border:2px solid #10b981;border-radius:16px;padding:18px 15px;animation:.5s cubic-bezier(.175,.885,.32,1.275) bounceIn}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{transform:scale(1.05)}70%{transform:scale(.9)}to{opacity:1;transform:scale(1)}}.thankyou-box h3{color:#047857;font-size:1.1rem;font-family:var(--font-heading);margin:0 0 8px}.thankyou-box p{color:var(--primary-color);margin:0;font-size:.85rem;font-weight:700;line-height:1.5}@media print{body{color:#3b284c!important;font-family:var(--font-text)!important;background:#fff!important}.mobile-container{width:100%!important;max-width:100%!important;box-shadow:none!important;background:#fff!important;border:none!important;padding:0!important}.app-header,#fortune-form,.action-buttons,.share-section,.feedback-section,.top-actions,.privacy-note,#reset-btn,#loading{display:none!important}details{page-break-inside:avoid;box-shadow:none!important;background:#fff!important;border:1px solid #dcd1e8!important;margin-bottom:20px!important}summary{border-bottom:1px dashed #dcd1e8!important;padding-bottom:8px!important;font-size:1.1rem!important}summary:after{display:none!important}}
