*{box-sizing:border-box}
:root{--ink:#2b2630;--cream:#fff8ef;--paper:#fffdf9;--coral:#f35b69;--pink:#f8b4c0;--gold:#f4c95d;--mint:#9ed8c3;--sky:#9ed7e8;--purple:#a78bfa;--line:#eaded0}
body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background-color:var(--cream);background-image:radial-gradient(circle at 15px 15px,#f4c95d33 2px,transparent 3px),radial-gradient(circle at 75px 55px,#f35b6930 2px,transparent 3px),radial-gradient(circle at 135px 25px,#9ed8c333 2px,transparent 3px);background-size:150px 80px;color:var(--ink)}
.wrap{max-width:1050px;margin:auto;padding:0 22px}
.hero{position:relative;overflow:hidden;padding:75px 0 60px;background:linear-gradient(135deg,#f35b69 0%,#d94f78 48%,#8f63c9 100%);color:#fff;box-shadow:0 8px 35px #7d355622}
.hero:after{content:"🎁   ✨   🎀   🎁   ✨   🎀   🎁   ✨   🎀";position:absolute;left:-10px;right:-10px;bottom:9px;white-space:nowrap;font-size:23px;letter-spacing:14px;opacity:.2;transform:rotate(-2deg);pointer-events:none}
.eyebrow{font-size:11px;letter-spacing:.16em;font-weight:800;opacity:.8}.hero h1,.subhero h1{font-size:clamp(32px,6vw,58px);line-height:1.02;margin:12px 0}.hero p,.subhero p{font-size:18px;opacity:.82}
.people-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;padding:45px 0}
.person-card{position:relative;overflow:hidden;background:rgba(255,253,249,.96);border:1px solid #fff;border-radius:22px;padding:28px;box-shadow:0 12px 35px #7b4a3b16;transition:transform .18s ease,box-shadow .18s ease}.person-card:hover{transform:translateY(-3px);box-shadow:0 16px 40px #7b4a3b22}.person-card:before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,var(--coral),var(--gold),var(--mint),var(--purple))}.person-card h2{margin:18px 0 7px}.person-card>span{color:#80746c;font-size:14px}
.person-avatar{width:80px;height:80px;border-radius:50%;background:linear-gradient(145deg,#fff3cf,#ffe1e8);display:flex;align-items:center;justify-content:center;font-size:38px;box-shadow:inset 0 0 0 5px #ffffff99,0 7px 18px #8b526522}
.card-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px}.subhero{padding:35px 0 40px;background:linear-gradient(135deg,#fff0d6,#fce1e7 55%,#e9ddff);border-bottom:1px solid #f0d7cc}
.back{color:inherit;text-decoration:none;font-weight:700}.toolbar{display:flex;gap:10px;flex-wrap:wrap;padding:28px 0 5px}.section-heading{margin-top:28px}.section-heading h2{font-size:27px;margin:7px 0 0}
.wishes-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;padding:20px 0 38px}.wish-card{background:rgba(255,253,249,.97);border-radius:20px;overflow:hidden;box-shadow:0 10px 30px #7b4a3b12;border:1px solid #fff}.wish-image{aspect-ratio:4/3;background:linear-gradient(135deg,#fff0d6,#f8e5ff)}.wish-image img{width:100%;height:100%;object-fit:cover}.placeholder{display:flex;align-items:center;justify-content:center;font-size:55px}.wish-body{padding:21px}.wish-title-row{display:flex;justify-content:space-between;gap:10px}.wish-body h3{font-size:21px;margin:0}.wish-body p{line-height:1.5;color:#6d625d;white-space:pre-wrap}.price{font-weight:800;margin:14px 0;color:#c33d55}.wish-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:17px}
.button{display:inline-block;border:0;border-radius:10px;background:linear-gradient(135deg,#f35b69,#db4f78);color:#fff;padding:10px 14px;text-decoration:none;font-weight:700;cursor:pointer;font-size:13px;box-shadow:0 4px 12px #c94e6326}.button.secondary{background:#fff0d6;color:#5c4b3d;box-shadow:none}.danger{border:0;background:#f8dfe1;color:#a6323e;padding:9px 11px;border-radius:9px;cursor:pointer;font-weight:700}.buy{background:linear-gradient(135deg,#8a63c9,#5c8ed8)}.status-badge{white-space:nowrap;background:#d9f0e4;color:#276449;padding:5px 8px;border-radius:20px;font-size:10px;font-weight:800}.bought{opacity:.9}.muted{color:#888;font-size:12px}
.info-banner{margin:20px 0;padding:12px 15px;background:#fff0d6;border-left:4px solid var(--gold);border-radius:10px;font-size:12px;color:#6d625d}.suggestions-section{border-top:1px dashed #decfbd;padding:8px 0 55px}.suggestion-list{background:rgba(255,253,249,.97);border-radius:14px;overflow:hidden;box-shadow:0 5px 20px #7b4a3b10}.suggestion-row{display:flex;align-items:center;gap:12px;min-height:47px;padding:8px 13px;border-bottom:1px solid #f0e6db;font-size:13px}.suggestion-row:last-child{border-bottom:0}.suggestion-text{flex:1}.suggestion-row a{color:#7d5aa8;font-weight:700;text-decoration:none;white-space:nowrap}.suggestion-author{font-size:10px;color:#aaa;white-space:nowrap}.empty-suggestions{background:rgba(255,253,249,.97);border-radius:14px;padding:17px;color:#999;font-size:13px}
.login{padding-top:90px}.login-card{max-width:500px;margin:auto;background:rgba(255,253,249,.98);border-radius:20px;padding:35px;box-shadow:0 12px 35px #7b4a3b16}.login-card h1{font-size:40px}.login-card form{display:grid;gap:16px;margin:25px 0}.login-card label,.modal-box label{font-size:13px;font-weight:700}.login-card input,.modal-box input,.modal-box textarea{display:block;width:100%;margin-top:7px;border:1px solid #ddd0c2;border-radius:9px;padding:11px;font:inherit;background:#fff}.back-link{color:#666}.modal{position:fixed;inset:0;background:#321d2a99;display:flex;align-items:center;justify-content:center;padding:20px;z-index:10}.modal-box{position:relative;width:min(560px,100%);max-height:90vh;overflow:auto;background:#fffdf9;border-radius:20px;padding:30px}.modal-box.compact{width:min(480px,100%)}.modal-box h2{margin-top:0}.modal-box form{display:grid;gap:14px}.close{position:absolute;right:14px;top:10px;border:0;background:none;font-size:30px;cursor:pointer}.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:6px}.current-image{display:flex;gap:8px}.current-image img{width:65px;height:50px;object-fit:cover;border-radius:6px}.error{background:#f8dfe1;color:#a6323e;padding:10px;border-radius:8px}.hidden{display:none!important}
@media(max-width:650px){.hero{padding:55px 0 45px}.wishes-grid{padding-top:14px}.suggestion-row{align-items:flex-start}.suggestion-author{display:none}}
