@import url(https://fonts.googleapis.com/css2?family=Noto+Color+Emoji&display=swap);@import url(https://fonts.googleapis.com/css2?family=Mountains+of+Christmas:wght@400;700&family=Nunito:wght@400;600;700;800;900&family=Pacifico&display=swap);@import url(https://fonts.googleapis.com/css2?family=Mountains+of+Christmas:wght@400;700&family=Nunito:wght@400;600;700;800;900&display=swap);body,html{background-color:#0a2e12;min-height:100%;min-height:-webkit-fill-available}html{height:-webkit-fill-available}.app-tab-icon,.bubble-icon,.empty-icon,.friend-list-item,.list-occasion,.side-icon{font-family:Noto Color Emoji,Apple Color Emoji,Segoe UI Emoji,sans-serif}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*,body,html{margin:0;padding:0}body,html{overflow-x:hidden;width:100%}body{font-family:Nunito,sans-serif}.landing{align-items:center;background:linear-gradient(160deg,#0a2e12,#071a0a 40%,#0b2410 70%,#0d2e15);display:flex;flex-direction:column;min-height:100vh;overflow:hidden;position:relative}.confetti-canvas{display:block;height:100vh;left:0;pointer-events:none;position:fixed;top:0;width:100vw;z-index:0}.landing-header{display:flex;justify-content:center;padding:60px 20px 20px;position:relative;width:100%;z-index:1}.logo-wrap{animation:dropIn .9s cubic-bezier(.22,1,.36,1) both;text-align:center}@keyframes dropIn{0%{opacity:0;transform:translateY(-60px) scale(.8)}to{opacity:1;transform:translateY(0) scale(1)}}.logo-bear{animation:bearBounce 2s ease-in-out infinite;display:block;filter:drop-shadow(0 4px 16px rgba(0,0,0,.3));font-size:5rem;margin-bottom:8px}@keyframes bearBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.logo-title{-webkit-text-fill-color:#0000;animation:glowPulse 3s ease-in-out infinite;background:linear-gradient(135deg,#f5e27a,#c9a227 30%,#f0d060 50%,#a07820 70%,#e8c84a);-webkit-background-clip:text;background-clip:text;color:#d4af37;filter:drop-shadow(0 4px 12px rgba(0,0,0,.5)) drop-shadow(0 0 24px rgba(197,160,40,.5));font-family:Mountains of Christmas,cursive;font-size:5rem;font-weight:700;letter-spacing:2px;line-height:1.2;padding-bottom:12px}@keyframes glowPulse{0%,to{filter:drop-shadow(0 4px 12px rgba(0,0,0,.5)) drop-shadow(0 0 24px rgba(197,160,40,.5))}50%{filter:drop-shadow(0 4px 12px rgba(0,0,0,.5)) drop-shadow(0 0 48px rgba(197,160,40,.9))}}.logo-tagline{color:#ffffffd9;font-size:1.15rem;font-weight:600;letter-spacing:.5px;margin-top:20px}.landing-main{align-items:center;display:flex;flex:1 1;flex-direction:column;justify-content:center;padding:20px 20px 40px;position:relative;width:100%;z-index:1}.signin-card{animation:riseUp .8s cubic-bezier(.22,1,.36,1) .3s both;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#ffffff1f;border-radius:32px;box-shadow:0 24px 64px #0000004d,inset 0 1px 0 #ffffff4d,0 0 0 1px #ffffff26;max-width:460px;padding:44px 48px;text-align:center;width:100%}@keyframes riseUp{0%{opacity:0;transform:translateY(40px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.signin-card h2{color:#fff;font-size:1.8rem;font-weight:900;margin-bottom:6px;text-shadow:0 2px 8px #0000004d}.signin-sub{color:#ffffffbf;font-size:.95rem;margin-bottom:24px}.signin-form{display:flex;flex-direction:column;gap:12px}.signin-form input{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff2e;border:1px solid #ffffff59;border-radius:14px;color:gold;font-family:Pacifico,cursive;font-size:1.1rem;letter-spacing:.5px;outline:none;padding:15px 18px;text-align:center;transition:border .2s,box-shadow .2s}.signin-form input::placeholder{color:#fff9}.signin-form input:focus{background:#ffffff38;border-color:#ffd700b3;box-shadow:0 0 0 3px #ffd70033}.signin-form button{background:linear-gradient(135deg,#c9900c,#8b6914,#b8860b,#6b4f0a);border:none;border-radius:14px;box-shadow:0 4px 16px #8b691480;color:#fff8e7;cursor:pointer;font-family:Nunito,sans-serif;font-size:1.05rem;font-weight:900;padding:15px;transition:transform .2s,box-shadow .2s}.signin-form button:hover{box-shadow:0 8px 24px #8b6914b3;transform:scale(1.03)}.signin-form button:disabled{cursor:not-allowed;opacity:.6;transform:none}.signin-note{color:#ffffff8c;font-size:.82rem;margin-top:14px}.signin-divider{align-items:center;color:#fff6;display:flex;font-size:.85rem;gap:12px;margin:16px 0 4px}.signin-divider:after,.signin-divider:before{background:#fff3;content:"";flex:1 1;height:1px}.btn-google{align-items:center;background:#ffffffeb;border:none;border-radius:14px;box-shadow:0 4px 16px #0003;color:#333;cursor:pointer;display:flex;font-family:Nunito,sans-serif;font-size:.95rem;font-weight:700;gap:10px;justify-content:center;padding:13px;transition:transform .2s,box-shadow .2s;width:100%}.btn-google:hover{box-shadow:0 8px 24px #0000004d;transform:scale(1.02)}.btn-google:disabled{cursor:not-allowed;opacity:.6}.signin-error{color:#ffb3b3;font-size:.9rem;margin-top:8px}.signin-sent{text-align:center}.sent-icon{font-size:3.5rem;margin-bottom:14px}.signin-sent h3{color:#fff;font-size:1.5rem;font-weight:900;margin-bottom:10px}.signin-sent p{color:#fffc;font-size:.95rem;line-height:1.7}.landing-footer{color:#ffffff80;font-size:.85rem;padding:24px;position:relative;text-align:center;z-index:1}@media (max-width:600px){.logo-bear,.logo-title{font-size:3.5rem}.signin-card{padding:32px 24px}.landing-header{padding:40px 20px 10px}}:root,[data-theme=dark]{--bg:#1a1a1a;--bg2:#ffffff0d;--bg3:#ffffff14;--text:#f0f0f0;--text2:#fff9;--text3:#888;--border:#ffffff14;--border-hover:#b8860b66;--card:#ffffff0f;--input-bg:#ffffff14;--input-border:#ffffff26}[data-theme=light]{--bg:#f5f5f0;--bg2:#0000000a;--bg3:#0000000f;--text:#1a1a1a;--text2:#444;--text3:#777;--border:#00000014;--border-hover:#b8860b80;--card:#ffffffe6;--input-bg:#fffc;--input-border:#00000026}*{box-sizing:border-box}.dashboard{background:#1a1a1a;background:var(--bg);display:flex;flex-direction:column;min-height:100vh;position:relative;transition:background .3s}.dash-content,.dash-nav{position:relative;z-index:1}.dash-nav{align-items:center;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);background:#0a2e12b3;border-bottom:1px solid #ffffff14;box-shadow:0 2px 20px #00000059;display:flex;justify-content:space-between;padding:16px 40px;position:sticky;top:0;z-index:100}.logo{background:linear-gradient(135deg,#f5e27a,#c9a227 30%,#f0d060 50%,#a07820 70%,#e8c84a);filter:drop-shadow(0 2px 6px rgba(0,0,0,.5));font-size:2rem;padding-bottom:4px}.dash-user{align-items:center;display:flex;gap:14px}.dash-email{color:#ffffff80;font-size:.85rem}.btn-logout{background:#ffffff14;border:1px solid #ffffff26;border-radius:8px;color:#ffffffa6;cursor:pointer;font-family:Nunito,sans-serif;font-size:.85rem;padding:7px 14px;transition:background .2s}.btn-logout:hover{background:#ffffff26;color:#fff}.theme-toggle{align-items:center;cursor:pointer;display:flex;gap:8px;-webkit-user-select:none;user-select:none}.theme-icon{font-size:1rem;line-height:1}.toggle-track{border-radius:12px;flex-shrink:0;height:24px;position:relative;transition:background .3s;width:44px}.toggle-dark{background:#b8860b80;border:1px solid #b8860b99}.toggle-light{background:#ffffff4d;border:1px solid #fff6}.toggle-thumb{background:#fff;border-radius:50%;box-shadow:0 1px 4px #0000004d;height:16px;position:absolute;top:3px;transition:left .3s cubic-bezier(.22,1,.36,1);width:16px}.toggle-dark .toggle-thumb{background:#d4a017;left:calc(100% - 19px)}.toggle-light .toggle-thumb{background:#fff;left:3px}.dash-content{flex:1 1;padding:48px 40px}.home-grid-wrap{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:60vh}.home-greeting{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#f5e27a,#c9a227 40%,#f0d060 60%,#a07820);-webkit-background-clip:text;background-clip:text;color:#fff9;color:var(--text2);filter:drop-shadow(0 2px 6px rgba(0,0,0,.3));font-family:Mountains of Christmas,cursive;font-size:2rem;font-weight:700;margin-bottom:36px;padding-bottom:4px}.app-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr;max-width:520px;width:100%}.app-bubble{align-items:center;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#ffffff12;border:1px solid #ffffff1f;border-radius:28px;box-shadow:0 8px 32px #00000040;cursor:pointer;display:flex;flex-direction:column;gap:14px;justify-content:center;padding:40px 20px;transition:transform .2s,background .2s,box-shadow .2s,border-color .2s}.app-bubble:hover{background:#b8860b26;border-color:#b8860b66;box-shadow:0 16px 40px #00000059;transform:scale(1.05) translateY(-4px)}.app-bubble:active{transform:scale(.97)}.bubble-icon{font-size:3rem;line-height:1}.bubble-label{color:#ffffffd9;font-weight:800;text-align:center}.btn-back-home,.bubble-label{font-family:Nunito,sans-serif;font-size:1rem}.btn-back-home{align-items:center;background:none;border:none;color:#d4a017;cursor:pointer;display:inline-flex;font-weight:700;gap:6px;margin-bottom:24px;padding:0}.btn-back-home:hover{color:#f0d060}.tab-panel h1{color:#f0f0f0;color:var(--text);font-size:1.8rem;font-weight:900;margin-bottom:6px}.tab-sub{color:#888;color:var(--text3);font-size:.9rem;margin-bottom:24px}.dash-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:28px}.dash-header h1{margin-bottom:0}.btn-new{background:linear-gradient(135deg,#c9900c,#8b6914);border:none;border-radius:12px;box-shadow:0 4px 12px #8b69144d;color:#fff8e7;cursor:pointer;font-family:Nunito,sans-serif;font-size:.9rem;font-weight:700;padding:10px 22px;transition:transform .2s}.btn-new:hover{transform:scale(1.03)}.new-list-form{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff0d;background:var(--bg2);border:1px solid #ffffff14;border:1px solid var(--border);border-radius:18px;display:flex;flex-direction:column;gap:14px;max-width:500px;padding:28px}.new-list-form input,.new-list-form select{background:#ffffff14;background:var(--input-bg);border:1px solid #ffffff26;border:1px solid var(--input-border);border-radius:10px;color:#f0f0f0;color:var(--text);font-family:Nunito,sans-serif;font-size:.95rem;outline:none;padding:12px 14px}.new-list-form input::placeholder{color:#ffffff59}.new-list-form input:focus,.new-list-form select:focus{border-color:#b8860b}.new-list-form select option{background:#1a1a1a;color:#f0f0f0}.new-list-form button{background:linear-gradient(135deg,#c9900c,#8b6914);border:none;border-radius:10px;color:#fff8e7;cursor:pointer;font-family:Nunito,sans-serif;font-size:1rem;font-weight:700;padding:13px}.lists-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.list-card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff0f;background:var(--card);border:1px solid #ffffff14;border:1px solid var(--border);border-radius:18px;box-shadow:0 2px 12px #0000001a;cursor:pointer;padding:24px 20px;position:relative;transition:transform .2s,border-color .2s,box-shadow .2s}.list-card:hover{border-color:#b8860b66;border-color:var(--border-hover);box-shadow:0 12px 28px #0003;transform:translateY(-4px)}.list-occasion{color:#cc2020;font-family:Nunito,sans-serif;font-size:1rem;font-weight:700;margin-bottom:8px}.list-card h3{color:#f0f0f0;color:var(--text);font-size:1rem;font-weight:800;margin-bottom:4px}.list-card p{color:#888;color:var(--text3);font-size:.85rem}.list-arrow{color:#b8860b;font-weight:700;position:absolute;right:16px;top:50%;transform:translateY(-50%)}.empty-icon{font-size:3.5rem;margin-bottom:14px}.empty-state h3{color:var(--text);margin-bottom:6px}.empty-state p{color:var(--text3)}.add-friend-form{display:flex;gap:10px;margin-bottom:12px;max-width:520px}.add-friend-form input{background:#ffffff14;background:var(--input-bg);border:1px solid #ffffff26;border:1px solid var(--input-border);border-radius:10px;color:#f0f0f0;color:var(--text);flex:1 1;font-family:Nunito,sans-serif;font-size:.95rem;outline:none;padding:11px 14px;transition:border-color .2s}.add-friend-form input::placeholder{color:#888;color:var(--text3)}.add-friend-form input:focus{border-color:#b8860b}.add-friend-form button{background:linear-gradient(135deg,#c9900c,#8b6914);border:none;border-radius:10px;color:#fff8e7;cursor:pointer;font-family:Nunito,sans-serif;font-weight:700;padding:11px 20px;transition:transform .2s;white-space:nowrap}.add-friend-form button:hover{transform:scale(1.03)}.add-friend-form button:disabled{opacity:.6}.friend-status{font-family:Nunito,sans-serif;font-size:.9rem;margin-bottom:20px}.status-ok{color:#4ade80}.status-err{color:#f87171}.friend-list-empty{color:#888;color:var(--text3);font-family:Nunito,sans-serif;font-size:.85rem;padding:10px 20px 10px 70px}.friends-list{display:flex;flex-direction:column;gap:10px;max-width:580px}.friend-item{background:#ffffff0f;background:var(--card);border:1px solid #ffffff14;border:1px solid var(--border);border-radius:14px;box-shadow:0 2px 8px #00000014;overflow:hidden;transition:border-color .2s}.friend-item:hover{border-color:#b8860b66;border-color:var(--border-hover)}.friend-header{background:none;border:none;color:#f0f0f0;cursor:pointer;font-family:Nunito,sans-serif;gap:14px;padding:14px 20px;width:100%}.friend-avatar,.friend-header{align-items:center;display:flex}.friend-avatar{background:linear-gradient(135deg,#0a2e12,#1a5c2a);border:2px solid #b8860b;border-radius:50%;color:#d4a017;flex-shrink:0;font-size:.95rem;font-weight:900;height:36px;justify-content:center;width:36px}.friend-name{color:#f0f0f0;color:var(--text);flex:1 1;font-size:.95rem;font-weight:700;text-align:left}.friend-count{color:#888;color:var(--text3);font-size:.78rem}.friend-chevron{color:#b8860b;font-size:.65rem;margin-left:8px}.friend-lists{border-top:1px solid #ffffff0f}.friend-list-item{background:none;border:none;border-bottom:1px solid #ffffff0a;color:#ffffffa6;cursor:pointer;font-family:Nunito,sans-serif;font-size:.88rem;font-weight:600;padding:11px 20px 11px 70px;text-align:left;transition:background .2s,color .2s;width:100%}.friend-list-item:last-child{border-bottom:none}.friend-list-item:hover{background:#b8860b1a;color:#d4a017}.ideas-notepad{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff14;background:var(--input-bg);border:1px solid #ffffff26;border:1px solid var(--input-border);border-radius:16px;color:#f0f0f0;color:var(--text);font-family:Nunito,sans-serif;font-size:1rem;line-height:1.7;max-width:680px;outline:none;padding:20px;resize:vertical;transition:border-color .2s;width:100%}.ideas-notepad:focus{border-color:#b8860b}.ideas-note{color:#555;font-family:Nunito,sans-serif;font-size:.8rem;margin-top:10px}.app-bubble-coming{opacity:.7}.bubble-soon{background:#b8860b26;border-radius:8px;color:#b8860b;font-family:Nunito,sans-serif;font-size:.65rem;font-weight:700;margin-top:-6px;padding:2px 8px}.coming-soon-card{background:#ffffff0d;background:var(--bg2);border:1px solid #ffffff14;border:1px solid var(--border);border-radius:20px;max-width:500px;padding:48px 40px;text-align:center}.coming-soon-card h3{color:#f0f0f0;color:var(--text);font-size:1.4rem;font-weight:900;margin-bottom:12px}.coming-soon-card p{color:#888;color:var(--text3);font-family:Nunito,sans-serif;line-height:1.7}.orders-list{display:flex;flex-direction:column;gap:12px;max-width:720px}.order-card{align-items:center;background:#ffffff0f;background:var(--card);border:1px solid #ffffff14;border:1px solid var(--border);border-radius:14px;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;padding:16px 20px;transition:border-color .2s}.order-card:hover{border-color:#b8860b66;border-color:var(--border-hover)}.order-main{flex:1 1;min-width:200px}.order-gift{color:#f0f0f0;color:var(--text);font-size:1rem;font-weight:800;margin-bottom:4px}.order-for{font-size:.85rem;margin-bottom:6px}.order-for,.order-meta{color:#888;color:var(--text3)}.order-meta{display:flex;flex-wrap:wrap;font-family:Nunito,sans-serif;font-size:.82rem;gap:12px}.order-price{color:#d4a017;font-weight:700}.order-actions{align-items:center;display:flex;gap:10px}.status-badge{border:none;border-radius:20px;cursor:pointer;font-family:Nunito,sans-serif;font-size:.8rem;font-weight:700;outline:none;padding:6px 14px}.status-ordered{background:#3b82f626;color:#60a5fa}.status-shipped{background:#fb923c26;color:#fb923c}.status-delivered{background:#22c55e26;color:#4ade80}.status-wrapped{background:#a855f726;color:#c084fc}.status-given{background:#b8860b26;color:#d4a017}.btn-delete{background:none;border:none;border-radius:6px;color:#666;cursor:pointer;font-size:1rem;padding:4px 8px;transition:color .2s,background .2s}.btn-delete:hover{background:#ef44441a;color:#ef4444}@media (max-width:600px){.dash-nav{padding:14px 16px}.dash-email{display:none}.dash-content{padding:32px 16px}.app-grid{gap:14px;grid-template-columns:1fr 1fr;max-width:100%}.app-bubble{border-radius:20px;padding:28px 12px}.bubble-icon{font-size:2.4rem}.bubble-label{font-size:.9rem}}.list-page{background:#1a1a1a;min-height:100vh}.loading{color:#f0f0f0;font-size:1.5rem;justify-content:center;min-height:100vh}.list-nav,.loading{align-items:center;display:flex}.list-nav{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0a2e12b3;border-bottom:1px solid #ffffff14;box-shadow:0 2px 12px #0006;justify-content:space-between;padding:16px 40px;position:sticky;top:0;z-index:100}.btn-back{background:none;border:none;color:#d4a017;cursor:pointer;font-family:Nunito,sans-serif;font-size:1rem;font-weight:700}.logo{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#f5e27a,#c9a227,#f0d060,#a07820);-webkit-background-clip:text;background-clip:text;font-family:Mountains of Christmas,cursive;font-size:1.6rem;font-weight:700;padding-bottom:3px}.list-content{margin:0 auto;max-width:1100px;padding:36px 32px}.list-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:32px}.list-occasion-tag{background:#b8860b26;border-radius:20px;color:#d4a017;display:inline-block;font-size:.85rem;font-weight:700;margin-bottom:8px;padding:4px 14px}.list-header h1{color:#f0f0f0;font-size:2rem;font-weight:900}.list-meta{color:#888;font-size:.88rem;margin-top:4px}.list-actions{align-items:center;display:flex;gap:10px}.btn-share{background:#ffffff14;border:1px solid #ffffff26;border-radius:10px;color:#fffc}.btn-add,.btn-share{cursor:pointer;font-family:Nunito,sans-serif;font-size:.88rem;font-weight:700;padding:9px 18px}.btn-add{background:linear-gradient(135deg,#c9900c,#8b6914);border:none;border-radius:10px;color:#fff8e7}.add-item-form{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:20px;display:flex;flex-direction:column;gap:12px;margin-bottom:36px;padding:28px}.add-item-form h3{color:#f0f0f0;font-size:1.1rem;font-weight:800;margin-bottom:4px}.url-row{align-items:center;display:flex;gap:10px}.input-url{flex:1 1}.scrape-msg{border-radius:8px;font-family:Nunito,sans-serif;font-size:.85rem;padding:8px 12px}.scrape-ok{background:#4ade8014;color:#4ade80}.scrape-warn{background:#fbbf2414;color:#fbbf24}.scraping-badge{background:#b8860b33;border-radius:8px;color:#d4a017;font-family:Nunito,sans-serif;font-size:.8rem;font-weight:700;padding:4px 12px;white-space:nowrap}.add-item-form input,.input-notes{background:#ffffff12;border:1px solid #ffffff1f;border-radius:10px;color:#f0f0f0;font-family:Nunito,sans-serif;font-size:.95rem;outline:none;padding:11px 14px;transition:border-color .2s}.add-item-form input::placeholder,.input-notes::placeholder{color:#ffffff59}.add-item-form input:focus,.input-notes:focus{border-color:#b8860b}.input-notes{resize:vertical;width:100%}.form-row{display:flex;gap:10px}.input-grow{flex:1 1}.input-qty{text-align:center;width:70px}.img-preview{border:1px solid #ffffff1a;border-radius:10px;height:80px;object-fit:cover;width:80px}.add-item-form button[type=submit]{background:linear-gradient(135deg,#c9900c,#8b6914);border:none;border-radius:10px;color:#fff8e7;cursor:pointer;font-family:Nunito,sans-serif;font-size:1rem;font-weight:700;padding:13px;transition:transform .2s}.add-item-form button[type=submit]:hover{transform:scale(1.02)}.add-item-form button[type=submit]:disabled{opacity:.6}.items-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.item-card{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff0f;border:1px solid #ffffff14;border-radius:18px;display:flex;flex-direction:column;overflow:hidden;transition:transform .2s,border-color .2s,box-shadow .2s}.item-card:hover{border-color:#b8860b59;box-shadow:0 12px 32px #0006;transform:translateY(-4px)}.item-card.purchased{opacity:.55}.item-img-wrap{background:#ffffff0a;overflow:hidden;padding-top:75%;position:relative;width:100%}.item-img{height:100%;inset:0;object-fit:cover;position:absolute;width:100%}.item-img-placeholder{font-size:3rem}.item-img-placeholder,.purchased-overlay{align-items:center;display:flex;inset:0;justify-content:center;position:absolute}.purchased-overlay{background:#0000008c;color:#4ade80;font-family:Nunito,sans-serif;font-size:1rem;font-weight:800}.item-info{display:flex;flex:1 1;flex-direction:column;gap:4px;padding:14px 16px}.item-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#f0f0f0;display:-webkit-box;font-size:.92rem;font-weight:700;line-height:1.4;overflow:hidden}.item-store{color:#888;font-family:Nunito,sans-serif;font-size:.78rem}.item-price-row{align-items:center;display:flex;gap:8px;margin-top:2px}.item-price{font-size:1rem}.item-price,.item-qty{color:#d4a017;font-weight:800}.item-qty{background:#b8860b26;border-radius:6px;font-size:.75rem;padding:1px 7px}.item-notes{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#ffffff73;display:-webkit-box;font-size:.78rem;font-style:italic;line-height:1.4;margin-top:2px;overflow:hidden}.item-link{color:#b8860b;font-size:.8rem;font-weight:700;margin-top:auto;padding-top:6px;text-decoration:none}.item-link:hover{color:#d4a017;text-decoration:underline}.item-actions{border-top:1px solid #ffffff0f}.btn-buying{background:#0a2e12;border:none;color:#d4a017;cursor:pointer;font-family:Nunito,sans-serif;font-size:.88rem;font-weight:700;padding:12px;transition:background .2s;width:100%}.btn-buying:hover{background:#0e3d1a}.owner-actions{display:flex}.btn-delete-item,.btn-edit-item,.btn-mark-purchased{background:none;border:none;cursor:pointer;flex:1 1;font-family:Nunito,sans-serif;font-size:.8rem;font-weight:700;padding:10px 6px;transition:background .2s}.btn-edit-item{border-right:1px solid #ffffff0f;color:#fff9}.btn-edit-item:hover{background:#ffffff0f;color:#fff}.btn-mark-purchased{border-right:1px solid #ffffff0f;color:#4ade80}.btn-mark-purchased:hover{background:#4ade8014}.btn-delete-item{color:#888}.btn-delete-item:hover{background:#ef44441a;color:#f87171}.empty-state{font-size:3rem;padding:60px 20px;text-align:center}.empty-state h3{color:#f0f0f0;font-size:1.3rem;font-weight:800;margin:12px 0 6px}.empty-state p{color:#888;font-family:Nunito,sans-serif}.modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:999}.modal{background:#242424;border:1px solid #ffffff1a;border-radius:24px;max-width:380px;padding:36px 32px;text-align:center;width:100%}.modal-wide{max-width:520px;text-align:left}.modal h3{color:#f0f0f0;font-size:1.3rem;font-weight:800;margin-bottom:12px}.modal p{color:#aaa;font-family:Nunito,sans-serif;margin-bottom:8px}.modal-sub{color:#888;font-size:.88rem;margin-bottom:20px}.modal-actions{display:flex;gap:10px;margin-top:16px}.btn-confirm{background:linear-gradient(135deg,#c9900c,#8b6914);color:#fff8e7}.btn-cancel,.btn-confirm{border:none;border-radius:12px;cursor:pointer;flex:1 1;font-family:Nunito,sans-serif;font-weight:700;padding:13px}.btn-cancel{background:#ffffff14;color:#aaa}.edit-form{display:flex;flex-direction:column;gap:10px}.edit-form input{background:#ffffff12;border:1px solid #ffffff1f;border-radius:10px;color:#f0f0f0;font-family:Nunito,sans-serif;font-size:.95rem;outline:none;padding:11px 14px}.edit-form input:focus{border-color:#b8860b}@media (max-width:600px){.list-nav{padding:14px 16px}.list-content{padding:20px 14px}.list-header{flex-direction:column}.items-grid{gap:14px;grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.list-actions{width:100%}.btn-add,.btn-share{flex:1 1;text-align:center}}.auth-page{align-items:center;background:linear-gradient(135deg,#f0f4ff,#fff8ee);display:flex;justify-content:center;min-height:100vh;padding:20px}.auth-card{background:#fff;border-radius:24px;box-shadow:0 16px 48px #2d3a8c1f;max-width:400px;padding:48px 40px;text-align:center;width:100%}.auth-logo{color:#2d3a8c;font-size:1.8rem;font-weight:800;margin-bottom:8px}.auth-card h2{color:#1a1a2e;font-size:1.6rem;font-weight:800;margin-bottom:6px}.auth-sub{color:#888;font-size:.95rem;margin-bottom:28px}.auth-error{background:#fff0f0;border-radius:10px;color:#c0392b;font-size:.9rem;margin-bottom:16px;padding:10px}.auth-card form{display:flex;flex-direction:column;gap:14px}.auth-card input{border:2px solid #e8ecf4;border-radius:12px;font-size:1rem;outline:none;padding:14px 16px;transition:border .2s}.auth-card input:focus{border-color:#2d3a8c}.btn-auth{background:#2d3a8c;border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:1rem;font-weight:700;margin-top:8px;padding:14px;transition:background .2s,transform .2s}.btn-auth:hover{background:#1a2566;transform:scale(1.02)}.btn-auth:disabled{cursor:not-allowed;opacity:.6}.auth-switch{color:#888;font-size:.9rem;margin-top:20px}.auth-switch a{color:#2d3a8c;font-weight:700;text-decoration:none}.auth-switch a:hover{text-decoration:underline}.item-detail{background:#1a1a1a;min-height:100vh}.detail-loading{color:#f0f0f0;font-size:1.5rem;justify-content:center;min-height:100vh}.detail-loading,.detail-nav{align-items:center;display:flex}.detail-nav{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0a2e12b3;border-bottom:1px solid #ffffff14;justify-content:space-between;padding:16px 40px;position:sticky;top:0;z-index:100}.btn-back-detail{background:none;border:none;color:#d4a017;cursor:pointer;font-family:Nunito,sans-serif;font-size:1rem;font-weight:700}.detail-logo{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#f5e27a,#c9a227,#f0d060,#a07820);-webkit-background-clip:text;background-clip:text;font-family:Mountains of Christmas,cursive;font-size:1.6rem;font-weight:700;padding-bottom:3px}.detail-content{grid-gap:48px;align-items:start;display:grid;gap:48px;grid-template-columns:1fr 1fr;margin:0 auto;max-width:960px;padding:48px 32px}.detail-img-wrap{align-items:center;aspect-ratio:1;background:#ffffff0d;border:1px solid #ffffff14;border-radius:20px;display:flex;justify-content:center;overflow:hidden}.detail-img{height:100%;object-fit:contain;padding:16px;width:100%}.detail-img-placeholder{font-size:6rem}.detail-info{display:flex;flex-direction:column;gap:16px}.detail-store{color:#888;font-family:Nunito,sans-serif;font-size:.85rem;letter-spacing:.5px;text-transform:uppercase}.detail-title{color:#f0f0f0;font-size:1.6rem;font-weight:900;line-height:1.3;margin:0}.detail-price-row{align-items:center;display:flex;gap:14px}.detail-price{color:#d4a017;font-size:2rem;font-weight:900}.detail-qty{background:#b8860b26;border-radius:8px;color:#d4a017;font-size:.85rem;font-weight:700;padding:4px 12px}.detail-description{background:#ffffff0a;border:1px solid #ffffff0f;border-radius:14px;padding:18px 20px}.detail-description h3{color:#888;font-size:.85rem;font-weight:700;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.detail-description p{color:#ffffffbf;font-family:Nunito,sans-serif;font-size:.95rem;line-height:1.7}.detail-actions{display:flex;flex-direction:column;gap:10px;margin-top:8px}.btn-buy{background:linear-gradient(135deg,#c9900c,#8b6914);border:none;border-radius:14px;box-shadow:0 6px 20px #8b691466;color:#fff8e7;cursor:pointer;font-family:Nunito,sans-serif;font-size:1.05rem;font-weight:800;padding:16px 28px;text-align:center;transition:transform .2s,box-shadow .2s}.btn-buy:hover{box-shadow:0 10px 28px #8b691480;transform:scale(1.03)}.btn-mark-bought-detail{background:#4ade801a;border:1px solid #4ade8033;border-radius:14px;color:#4ade80;cursor:pointer;font-family:Nunito,sans-serif;font-size:.95rem;font-weight:700;padding:13px 28px;text-align:center;transition:background .2s}.btn-mark-bought-detail:hover{background:#4ade802e}.detail-purchased-badge{background:#4ade801a;border:1px solid #4ade8033;border-radius:12px;color:#4ade80;font-family:Nunito,sans-serif;font-weight:700;padding:12px 20px;text-align:center}.modal-overlay-detail{align-items:center;animation:fadeIn .2s ease;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#000000b3;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:999}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-detail{animation:slideUp .25s cubic-bezier(.22,1,.36,1);background:#242424;border:1px solid #ffffff1a;border-radius:28px;box-shadow:0 24px 64px #00000080;max-width:400px;padding:44px 36px;text-align:center;width:100%}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.modal-icon{font-size:3rem;margin-bottom:12px}.modal-detail h3{color:#f0f0f0;font-size:1.5rem;font-weight:900;margin-bottom:10px}.modal-detail p{color:#aaa;font-family:Nunito,sans-serif;margin-bottom:6px}.modal-sub-detail{color:#777;font-size:.88rem;margin-bottom:28px}.modal-detail-actions{display:flex;flex-direction:column;gap:10px}.btn-yes-bought{background:linear-gradient(135deg,#c9900c,#8b6914);border:none;border-radius:14px;color:#fff8e7;cursor:pointer;font-family:Nunito,sans-serif;font-size:1rem;font-weight:800;padding:15px;transition:transform .2s}.btn-yes-bought:hover{transform:scale(1.02)}.btn-no-bought{background:#ffffff0f;border:none;border-radius:14px;color:#888;cursor:pointer;font-family:Nunito,sans-serif;font-size:.95rem;font-weight:700;padding:13px}@media (max-width:700px){.detail-nav{padding:14px 16px}.detail-content{gap:24px;grid-template-columns:1fr;padding:24px 16px}.detail-title{font-size:1.3rem}.detail-price{font-size:1.6rem}}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}
/*# sourceMappingURL=main.904293ea.css.map*/