:root{color-scheme:dark;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100vh;background:#0a0a0a;color:#fafafa}.shell{min-height:100vh;display:grid;place-items:center;padding:2rem;background:radial-gradient(ellipse at 50% 30%,rgba(220,40,80,.12) 0%,transparent 60%),#0a0a0a}.love-card{position:relative;overflow:hidden}.heart-bg{position:absolute;top:-30px;right:-20px;font-size:10rem;opacity:.03;color:#e8355a;pointer-events:none;-webkit-user-select:none;user-select:none}.card{max-width:28rem;width:100%;border:1px solid rgba(255,255,255,.1);padding:2rem;border-radius:.75rem;background:#ffffff05}.tag{display:inline-block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.65rem;letter-spacing:.22em;text-transform:uppercase;color:#e8657a;border:1px solid rgba(232,53,90,.3);padding:.25rem .5rem;border-radius:.25rem;margin-bottom:1rem}.title{margin:0 0 .5rem;font-size:1.75rem;font-weight:700;letter-spacing:-.02em;background:linear-gradient(135deg,#ff6b8a,#f36,#e8355a);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.subtitle{margin:0 0 1.75rem;color:#ffffff8c;font-size:.95rem}.form{display:flex;flex-direction:column;gap:.75rem}.input-group{display:flex;flex-direction:column;gap:.35rem}.input-group label{font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;color:#ffffff73}.input-group input{padding:.75rem 1rem;border-radius:.5rem;border:1px solid rgba(255,255,255,.1);background:#ffffff0d;color:#fafafa;font-size:1rem;font-family:inherit;outline:none;transition:border-color .2s,box-shadow .2s}.input-group input::placeholder{color:#ffffff40}.input-group input:focus{border-color:#e8355a80;box-shadow:0 0 0 3px #e8355a1a}.heart-divider{text-align:center;font-size:1.25rem;color:#e8355a;opacity:.6;margin:.25rem 0}.calculate-btn{margin-top:.5rem;padding:.85rem 1.5rem;border-radius:.5rem;border:none;background:linear-gradient(135deg,#e8355a,#d42d4f);color:#fff;font-size:1rem;font-weight:600;font-family:inherit;cursor:pointer;transition:transform .15s,box-shadow .2s,opacity .2s}.calculate-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px #e8355a59}.calculate-btn:active:not(:disabled){transform:translateY(0)}.calculate-btn:disabled{opacity:.5;cursor:not-allowed}.calculating{display:flex;align-items:center;justify-content:center;gap:.5rem}.pulse-heart{display:inline-block;animation:pulse .6s ease-in-out infinite;color:#ffb3c1}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.3)}}.result{display:flex;flex-direction:column;align-items:center;gap:1rem;animation:fadeIn .5s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.names-display{display:flex;align-items:center;gap:.75rem;margin-bottom:.25rem}.result-name{font-size:1.25rem;font-weight:600;color:#fafafa}.result-heart{font-size:1.5rem;color:#e8355a;animation:pulse 1s ease-in-out infinite}.score-ring{position:relative;width:140px;height:140px}.score-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.ring-bg{fill:none;stroke:#ffffff14;stroke-width:8}.ring-fill{fill:none;stroke:#e8355a;stroke-width:8;stroke-linecap:round;stroke-dasharray:0 327;transition:stroke-dasharray 1.2s ease}.score-inner{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;gap:2px}.score-number{font-size:2.25rem;font-weight:700;color:#fafafa}.score-percent{font-size:1rem;color:#ffffff80;margin-top:.5rem}.result-emoji{font-size:2.5rem;line-height:1}.result-message{text-align:center;font-size:1.1rem;color:#ffffffbf;margin:0}.reset-btn{background:transparent;border:1px solid rgba(255,255,255,.15);color:#ffffffb3;margin-top:.25rem}.reset-btn:hover:not(:disabled){background:#ffffff0d;box-shadow:none;transform:none}
