:root{font-family:'DM Sans',sans-serif;color:#352742;background:#fffbf8;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 95% 2%,#f0ddfc 0%,transparent 30%),radial-gradient(circle at 0% 52%,#ffe3ec 0%,transparent 34%),#fffbf8}h1,h2,h3,.brand{font-family:Outfit,sans-serif}h1{font-size:clamp(2rem,4vw,3.4rem);line-height:1.09;margin:0}h2{margin:0 0 12px}h3{margin:0 0 8px}p{line-height:1.6}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0}a{color:#7651a4}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #b79bf1;outline-offset:2px}.hidden{display:none!important}.landing{min-height:100vh;display:grid;place-items:center;padding:20px}.hero{width:min(1030px,100%);display:grid;grid-template-columns:1fr 420px;gap:55px;align-items:center}.hero-copy{padding:18px}.brand{font-weight:800;font-size:27px;letter-spacing:-1.1px;color:#7552a6}.brand em{font-style:normal;color:#ec79a1}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:800;color:#aa7cac;text-transform:uppercase}.hero p{max-width:520px;color:#776b7e}.spark{display:inline-flex;background:#f9e4fa;color:#8059a1;padding:9px 15px;border-radius:30px;font-weight:700;font-size:12px;margin-bottom:20px}.auth-card,.panel,.modal-card{border:1px solid #f0e5ee;background:#fffefdf7;box-shadow:0 18px 65px #52335b14;border-radius:26px;padding:27px}.auth-card h2{font-size:28px}.auth-card label,.field label{font-size:12px;font-weight:800;display:block;margin:12px 0 6px;color:#75647f}.auth-card input,.field input,.field textarea,.field select,.composer input,.search{width:100%;padding:13px 14px;border:1px solid #e9dfe9;background:#fffcfe;border-radius:13px;color:#352742;outline:none}.auth-card input:focus,.field input:focus{border-color:#956ecc}.btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;padding:12px 18px;background:#8e62bd;color:white;border-radius:13px;font-weight:800;transition:transform .2s,background .2s}.btn:hover{transform:translateY(-2px);background:#754da6}.btn.secondary{background:#f3eafa;color:#7752a3}.btn.ghost{background:transparent;color:#7958a2}.btn.pink{background:#e57da3}.btn.small{font-size:13px;padding:8px 12px}.btn.danger{background:#fff0f0;color:#b64865}.full{width:100%}.switch{margin-top:20px;font-size:13px;text-align:center}.topbar{height:76px;background:#ffffffcf;backdrop-filter:blur(14px);border-bottom:1px solid #ede5ed;display:flex;align-items:center;justify-content:space-between;padding:0 5%;position:sticky;top:0;z-index:10}.topbar .brand{font-size:22px}.nav{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.nav button{padding:10px 12px;border-radius:12px;background:transparent;color:#786b84;font-weight:700}.nav button.active,.nav button:hover{background:#f1e8f9;color:#7652a4}.content{max-width:1110px;margin:0 auto;padding:36px 22px 85px}.heading{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:23px}.muted{color:#817686;font-size:14px}.subtle{font-size:12px;color:#8d8192}.cols{display:grid;grid-template-columns:2fr 1fr;gap:22px}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px}.circle-card,.gift-card{background:white;border:1px solid #efe5ee;border-radius:22px;padding:20px;box-shadow:0 8px 28px #55345e0a;transition:transform .2s;cursor:pointer}.circle-card:hover,.gift-card:hover{transform:translateY(-4px)}.circle-emoji{display:grid;place-items:center;border-radius:18px;background:linear-gradient(140deg,#f8e0f0,#e9dcff);height:85px;font-size:38px;margin-bottom:15px}.circle-card h3{font-size:20px}.panel h3{font-size:20px}.welcome{display:flex;gap:20px;align-items:center;background:linear-gradient(120deg,#f5e6fd,#fce7eb);padding:28px 34px;border-radius:26px;margin-bottom:25px}.welcome .illustration{font-size:65px;animation:float 4s ease-in-out infinite}@keyframes float{50%{transform:translateY(-8px) rotate(5deg)}}.pill{display:inline-flex;background:#f2eaf8;padding:6px 10px;border-radius:30px;color:#7d53a9;font-size:11px;font-weight:800}.members{display:flex;flex-wrap:wrap;gap:12px}.member{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #efe4ef;border-radius:16px;padding:12px 14px;cursor:pointer}.avatar{display:grid;place-items:center;flex-shrink:0;width:42px;height:42px;border-radius:50%;background:linear-gradient(145deg,#e9c7ed,#d5d5ff);color:#694a95;font-size:18px;font-weight:800}.gift-img{width:100%;height:142px;object-fit:cover;background:#f4ecf9;border-radius:14px}.gift-placeholder{display:grid;place-items:center;font-size:48px;background:#f7edf7;height:142px;border-radius:14px}.gift-card h3{margin:11px 0 4px;font-size:17px}.gift-detail{display:flex;justify-content:space-between;gap:8px;align-items:center}.gift-card .actions{margin-top:12px;display:flex;gap:8px;flex-wrap:wrap}.profile-hero{display:flex;align-items:center;gap:20px;background:linear-gradient(120deg,#f8e9fc,#fdecf1);padding:24px;border-radius:25px;margin-bottom:22px}.profile-hero .avatar{width:78px;height:78px;font-size:34px}.chatbox{border:1px solid #f0e5ed;background:white;border-radius:22px;overflow:hidden}.chat-messages{height:380px;overflow:auto;padding:20px;display:flex;flex-direction:column;gap:11px}.message{max-width:82%;padding:11px 14px;border-radius:16px;background:#f5eff8;align-self:flex-start}.message.mine{background:#e8d9f9;align-self:flex-end}.message small{font-size:10px;color:#8e7799}.message p{margin:4px 0;white-space:pre-wrap;overflow-wrap:anywhere}.composer{display:flex;gap:8px;padding:13px;border-top:1px solid #eee5ec}.composer input{flex:1}.modal-backdrop{position:fixed;inset:0;background:#261b36a6;z-index:30;display:flex;justify-content:center;align-items:center;padding:15px}.modal-card{width:min(540px,100%);max-height:90vh;overflow:auto}.modal-head{display:flex;justify-content:space-between;align-items:center}.field{margin:9px 0}.field textarea{min-height:76px}.checkbox-list{display:flex;flex-wrap:wrap;gap:8px}.checkpill{padding:7px 10px;border:1px solid #eadcea;border-radius:10px;font-size:13px}.checkpill input{width:auto}.empty{text-align:center;padding:50px 20px;color:#807287;background:#fff;border:1px dashed #e8daeb;border-radius:20px}.empty .big{font-size:48px}.chat-list{display:flex;flex-direction:column;gap:9px}.chat-list button{width:100%;padding:15px;border-radius:14px;text-align:left;background:#f9f5fa;color:#4e3b5b}.chat-list button:hover{background:#efe5f8}.foot{padding:26px;text-align:center;font-size:12px;color:#a192aa}#toast{position:fixed;z-index:50;bottom:25px;left:50%;transform:translateX(-50%);background:#39294c;color:white;border-radius:16px;padding:13px 19px;box-shadow:0 10px 35px #24123233;display:none;max-width:90vw}.inline-row{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.divider{height:1px;background:#f0e5ee;margin:20px 0}.link{border:0;background:none;color:#8058ae;font-weight:800;padding:0}.badge-claimed{background:#fff1d7;color:#996629}.badge-purchased{background:#ddf4e8;color:#25734d}.badge-wrapped{background:#e3defe;color:#5540aa}@media(max-width:800px){.hero{grid-template-columns:1fr;gap:12px}.hero-copy{padding:0 4px}.hero h1{font-size:39px}.cols{grid-template-columns:1fr}.topbar{height:auto;min-height:74px;display:block;padding:13px 18px}.nav{margin-top:8px;overflow:auto;flex-wrap:nowrap;padding-bottom:3px}.nav button{white-space:nowrap;font-size:12px}.content{padding:24px 15px 80px}.heading{align-items:flex-start}.welcome{padding:19px}.welcome .illustration{font-size:43px}.profile-hero{align-items:flex-start}.auth-card{padding:22px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Circle member dashboard: wishlist left, private sidebar right */
.circle-banner{margin-top:12px}.member-selected{border-color:#ab7bd5;background:#f5eafc;box-shadow:0 0 0 2px #ab7bd526}.circle-dashboard{display:grid;grid-template-columns:minmax(0,2.15fr) minmax(270px,1fr);gap:20px;margin-top:24px;align-items:start}.circle-dashboard>.panel{min-width:0}.circle-section-head{display:flex;align-items:start;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:16px}.circle-section-head h2{margin:6px 0}.circle-section-head p{margin:4px 0}.circle-gift-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(205px,1fr));gap:14px}.circle-gift-grid .gift-card{min-width:0;padding:15px}.circle-sidebar{padding:0;overflow:hidden;position:sticky;top:95px}.secret-count-panel{padding:28px 21px;text-align:center;background:linear-gradient(155deg,#f6e8fc,#fffdfd)}.secret-total{font-size:65px;font-family:Outfit,sans-serif;font-weight:800;color:#9566c2;line-height:1.2;margin:8px 0}.count-icon{font-size:40px;margin-bottom:14px}.secret-count-panel .pill{margin-top:10px}.inline-chat{display:flex;flex-direction:column;min-height:480px}.inline-chat-head{padding:18px 17px 12px;border-bottom:1px solid #f0e5ed;background:#fcf6ff}.inline-chat-head h3{margin:0 0 5px}.inline-chat-head p{margin:0}.inline-messages{flex:1;height:350px;min-height:250px;padding:12px}.inline-messages .message{max-width:95%}.inline-composer{padding:10px;gap:6px}.inline-composer input{min-width:0;padding:11px 9px}.inline-composer button{padding:9px 11px}@media(max-width:850px){.circle-dashboard{grid-template-columns:1fr}.circle-sidebar{position:static}.inline-chat{min-height:400px}.inline-messages{height:280px}.circle-dashboard>.panel{padding:20px}.circle-dashboard>.circle-sidebar{padding:0}.circle-gift-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}}

/* Auto-fill wishlist dialog */
.import-row{display:flex;gap:9px;align-items:center}.import-row input{flex:1;min-width:0}.import-row button{white-space:nowrap}.gift-import-preview:not([hidden]){display:flex;align-items:center;gap:14px;background:#faf3fc;border:1px solid #edddf0;border-radius:15px;padding:12px;margin:12px 0}.gift-import-preview img{width:90px;height:90px;border-radius:10px;object-fit:contain;background:white}.gift-import-preview img[hidden]{display:none}.gift-import-preview strong{word-break:break-word}.import-row button:disabled{opacity:.65;cursor:wait}@media(max-width:500px){.import-row{flex-direction:column;align-items:stretch}}
