@import url('https://fonts.googleapis.com/css2?family=Inter:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400&display=swap');
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
:root{--bg:#0c0b0f;--text:#f5f2ee;--muted:rgba(245,242,238,0.42);--accent:#e8a598;--accent2:#d4849a;--primary:linear-gradient(135deg,#c97b8a 0%,#e8a598 100%);}
html,body{height:100%;background:var(--bg);color:var(--text);font-family:'Inter',sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden;}

body::before{content:'';position:fixed;inset:0;background:radial-gradient(ellipse 50% 45% at 12% 12%,rgba(232,165,152,0.09) 0%,transparent 70%),radial-gradient(ellipse 55% 50% at 88% 88%,rgba(212,132,154,0.07) 0%,transparent 70%);pointer-events:none;z-index:0;animation:drift 15s ease-in-out infinite alternate;}
@keyframes drift{from{transform:scale(1);}to{transform:scale(1.06) translateY(-8px);}}
#overlay{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(12,11,15,0.95);backdrop-filter:blur(20px);}
#overlay.open{display:flex;}
.modal{background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.10);border-radius:24px;padding:40px 30px;max-width:320px;width:100%;text-align:center;box-shadow:0 24px 64px rgba(0,0,0,0.6);animation:pop 0.35s cubic-bezier(0.34,1.56,0.64,1) both;}
@keyframes pop{from{opacity:0;transform:scale(0.9) translateY(14px);}to{opacity:1;transform:scale(1) translateY(0);}}
.modal h2{font-size:1.1rem;font-weight:600;margin-bottom:8px;}
.modal p{font-size:0.82rem;color:var(--muted);line-height:1.55;margin-bottom:24px;}
.actions{display:flex;flex-direction:column;gap:9px;}
.confirm{padding:13px 20px;border-radius:14px;border:none;cursor:pointer;font-family:'Inter',sans-serif;font-size:0.88rem;font-weight:500;transition:transform 0.15s;}
.confirm.enter{background:var(--primary);color:#fff;box-shadow:0 4px 20px rgba(201,123,138,0.35);}
.confirm.enter:hover{opacity:0.9;transform:translateY(-1px);}
.confirm.exit{background:rgba(255,255,255,0.05);color:var(--muted);border:1px solid rgba(255,255,255,0.07);}
.notice{margin-top:16px;font-size:0.67rem;color:rgba(255,255,255,0.18);line-height:1.5;}
#root{position:relative;z-index:2;}
#app{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:52px 20px 44px;}
.card{display:flex;flex-direction:column;align-items:center;width:100%;max-width:360px;}
.photo-wrap{position:relative;margin-bottom:20px;}
.photo-ring{position:absolute;inset:-3px;border-radius:50%;z-index:0;background:conic-gradient(from 0deg,var(--accent),var(--accent2),var(--accent));animation:spin 8s linear infinite;-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 2.5px),white calc(100% - 2.5px));mask:radial-gradient(farthest-side,transparent calc(100% - 2.5px),white calc(100% - 2.5px));opacity:0.65;}
@keyframes spin{to{transform:rotate(360deg);}}
.photo{position:relative;z-index:1;width:108px;height:108px;border-radius:50%;object-fit:contain;background:var(--bg);border:3px solid var(--bg);display:block;}
.display-name{font-size:1.3rem;font-weight:500;letter-spacing:-0.02em;text-align:center;margin-bottom:5px;}
.tagline{font-size:0.85rem;color:var(--muted);text-align:center;margin-bottom:30px;line-height:1.5;}
.cta{width:100%;padding:15px 20px;border-radius:16px;border:none;cursor:pointer;font-family:'Inter',sans-serif;font-size:0.9rem;font-weight:500;color:#fff;background:var(--primary);box-shadow:0 4px 24px rgba(201,123,138,0.35);display:flex;align-items:center;justify-content:center;gap:8px;transition:transform 0.15s;margin-bottom:12px;position:relative;overflow:hidden;}
.cta::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,0.12) 0%,transparent 60%);}
.cta:hover{transform:translateY(-2px);}
.links{display:flex;gap:8px;width:100%;}
.link-btn{flex:1;padding:12px 6px;border-radius:12px;border:1px solid rgba(255,255,255,0.07);background:rgba(255,255,255,0.035);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:5px;text-decoration:none;color:var(--muted);font-family:'Inter',sans-serif;font-size:0.75rem;transition:background 0.15s,color 0.15s,transform 0.12s;}
.link-btn:hover{background:rgba(255,255,255,0.07);color:var(--text);transform:translateY(-1px);}
.link-icon{width:14px;height:14px;flex-shrink:0;}
.footer{margin-top:30px;font-size:0.67rem;color:rgba(255,255,255,0.14);text-align:center;letter-spacing:0.04em;}
.reveal{opacity:0;transform:translateY(16px);transition:opacity 0.5s ease,transform 0.5s ease;}
.reveal.in{opacity:1;transform:translateY(0);}