@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Sora:wght@600;700&display=swap";:root{--bg: #f0f1f8;--ink: #1a1c2e;--ink-soft: #4a4d66;--text-muted: #8488a8;--glass-card: rgba(255, 255, 255, .55);--glass-card-hover: rgba(255, 255, 255, .78);--glass-topbar: rgba(240, 241, 248, .78);--glass-modal: rgba(255, 255, 255, .88);--glass-border: rgba(255, 255, 255, .6);--glass-border-hover: rgba(255, 255, 255, .9);--line: rgba(99, 102, 241, .08);--line-solid: rgba(210, 212, 235, .7);--shadow-card: 0 2px 8px rgba(30, 32, 80, .04), 0 12px 32px rgba(30, 32, 80, .06), inset 0 1px 0 rgba(255, 255, 255, .8);--shadow-hover: 0 8px 24px rgba(30, 32, 80, .08), 0 24px 56px rgba(30, 32, 80, .14), inset 0 1px 0 rgba(255, 255, 255, .9);--shadow-modal: 0 12px 32px rgba(20, 22, 60, .08), 0 40px 88px rgba(20, 22, 60, .2), inset 0 1px 0 rgba(255, 255, 255, .9);--grad: linear-gradient(135deg, #4f46e5 0%, #6366f1 50%, #818cf8 100%);--grad-glow: rgba(99, 102, 241, .35);--accent-0: #6366f1;--accent-1: #0ea5a4;--accent-2: #e2660d;--accent-3: #2563eb;--accent-4: #c026a3;--accent-5: #16a34a;--r: 18px;--r-sm: 10px;--r-pill: 999px;--ease-pop: cubic-bezier(.34, 1.56, .64, 1);--ease-out: cubic-bezier(.25, .46, .45, .94);--t: .28s}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:Inter,system-ui,sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;overflow-x:hidden;background:#f0f1f8;position:relative}body:before{content:"";position:fixed;width:800px;height:800px;top:-250px;left:-250px;border-radius:50%;background:radial-gradient(circle,rgba(139,92,246,.2) 0%,rgba(99,102,241,.08) 45%,transparent 70%);filter:blur(80px);pointer-events:none;z-index:0}body:after{content:"";position:fixed;width:700px;height:700px;bottom:-200px;right:-200px;border-radius:50%;background:radial-gradient(circle,rgba(14,165,164,.15) 0%,rgba(56,189,248,.08) 45%,transparent 70%);filter:blur(90px);pointer-events:none;z-index:0}#root{position:relative;z-index:1}#root:before{content:"";position:fixed;width:600px;height:600px;top:40%;left:50%;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(192,38,163,.06) 0%,rgba(99,102,241,.04) 50%,transparent 70%);filter:blur(100px);pointer-events:none;z-index:0}#root:after{content:"";position:fixed;width:400px;height:400px;top:10%;right:10%;border-radius:50%;background:radial-gradient(circle,rgba(16,185,129,.08) 0%,transparent 70%);filter:blur(80px);pointer-events:none;z-index:0}h1,h2,h3,.display{font-family:Sora,sans-serif;letter-spacing:-.02em}button{font-family:inherit;cursor:pointer}input{font-family:inherit;font-size:14px}::selection{background:#c7d2fe;color:var(--ink)}.topbar{display:flex;align-items:center;justify-content:space-between;padding:20px 5vw 14px;flex-wrap:wrap;gap:14px;position:sticky;top:0;z-index:40;background:var(--glass-topbar);backdrop-filter:blur(28px) saturate(1.6);-webkit-backdrop-filter:blur(28px) saturate(1.6);border-bottom:1px solid rgba(255,255,255,.5);box-shadow:0 1px #6366f10a,0 4px 24px #1e20500a}.brand{display:flex;align-items:center;gap:12px}.brand .logo{width:44px;height:44px;border-radius:14px;background:var(--grad);display:flex;align-items:center;justify-content:center;font-size:20px;box-shadow:0 4px 16px var(--grad-glow),inset 0 1px #ffffff40;transition:transform var(--t) var(--ease-pop),box-shadow var(--t) ease}.brand .logo:hover{transform:rotate(-6deg) scale(1.06);box-shadow:0 8px 28px var(--grad-glow),inset 0 1px #ffffff4d}.brand .title{font-family:Sora,sans-serif;font-weight:700;font-size:21px;color:var(--ink);letter-spacing:-.025em;background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.search-bar{display:flex;align-items:center;gap:8px;background:#ffffff80;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1.5px solid var(--glass-border);border-radius:var(--r-sm);padding:10px 16px;min-width:260px;box-shadow:0 2px 8px #1e20500a,inset 0 1px #fffc;transition:border-color var(--t) ease,box-shadow var(--t) ease,background var(--t) ease}.search-bar:focus-within{border-color:#6366f166;background:#ffffffbf;box-shadow:0 0 0 4px #6366f114,0 2px 8px #1e20500a}.search-bar input{border:none;outline:none;background:transparent;flex:1;font-size:14px;color:var(--ink)}.search-bar input::placeholder{color:var(--text-muted)}.search-bar span{opacity:.4;font-size:15px}.btn{border:none;border-radius:var(--r-sm);padding:11px 22px;font-size:13.5px;font-weight:600;display:inline-flex;align-items:center;gap:8px;letter-spacing:-.01em;white-space:nowrap;position:relative;overflow:hidden;transition:transform var(--t) var(--ease-pop),box-shadow var(--t) ease,background var(--t) ease,border-color var(--t) ease}.btn:before{content:"";position:absolute;top:0;left:-120%;width:100%;height:100%;background:linear-gradient(105deg,transparent 20%,rgba(255,255,255,.35) 50%,transparent 80%);transition:left .5s ease;pointer-events:none;z-index:1}.btn:hover:before{left:120%}.btn:active{transform:translateY(1px) scale(.97)!important}.btn-gradient{background:var(--grad);color:#fff;box-shadow:0 4px 16px var(--grad-glow),0 1px 3px #4f46e533}.btn-gradient:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 8px 28px var(--grad-glow),0 2px 6px #4f46e540}.btn-ghost{background:#ffffff80;color:var(--ink);border:1.5px solid var(--line-solid);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.btn-ghost:hover{background:#ffffffd9;border-color:#6366f14d;transform:translateY(-2px);box-shadow:0 4px 16px #1e20500f}.btn-danger-ghost{background:#fff3f580;color:#c0273f;border:1.5px solid rgba(192,39,63,.15);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.btn-danger-ghost:before{background:linear-gradient(105deg,transparent 20%,rgba(255,160,160,.2) 50%,transparent 80%)}.btn-danger-ghost:hover{background:#fff0f4d9;border-color:#c0273f4d;transform:translateY(-2px);box-shadow:0 4px 12px #c0273f14}.btn-danger-solid{background:linear-gradient(135deg,#e11d48,#be123c);color:#fff;box-shadow:0 4px 16px #e11d484d}.btn-danger-solid:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 8px 28px #e11d4866}.btn-sm{padding:7px 14px;font-size:12px;border-radius:8px}.main{padding:24px 5vw 80px;max-width:1320px;margin:0 auto;position:relative;z-index:1}.section-heading{display:flex;align-items:baseline;justify-content:space-between;margin:32px 0 24px;flex-wrap:wrap;gap:12px}.section-heading h2{font-size:20px;margin:0;color:var(--ink);font-weight:700}.section-heading .meta{font-size:13px;color:var(--text-muted);margin-right:auto;margin-left:14px;font-weight:500}.set-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:22px}@keyframes cardIn{0%{opacity:0;transform:translateY(24px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.set-grid>*{animation:cardIn .5s var(--ease-out) both}.set-grid>*:nth-child(1){animation-delay:.02s}.set-grid>*:nth-child(2){animation-delay:.06s}.set-grid>*:nth-child(3){animation-delay:.1s}.set-grid>*:nth-child(4){animation-delay:.14s}.set-grid>*:nth-child(5){animation-delay:.18s}.set-grid>*:nth-child(6){animation-delay:.22s}.set-grid>*:nth-child(7){animation-delay:.26s}.set-grid>*:nth-child(8){animation-delay:.3s}.set-card{background:var(--glass-card);backdrop-filter:blur(24px) saturate(1.6);-webkit-backdrop-filter:blur(24px) saturate(1.6);border:1.5px solid var(--glass-border);border-radius:var(--r);box-shadow:var(--shadow-card);padding:24px 24px 20px;display:flex;flex-direction:column;gap:14px;border-left:4px solid transparent;position:relative;overflow:visible;transition:transform var(--t) var(--ease-out),box-shadow var(--t) ease,background var(--t) ease,border-color var(--t) ease;will-change:transform}.set-card:before{content:"";position:absolute;top:0;left:8%;right:8%;height:1.5px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.95) 50%,transparent);pointer-events:none}.set-card:after{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:inherit;padding:2px;background:linear-gradient(135deg,transparent 0%,transparent 100%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;transition:background .6s ease;z-index:-1}.set-card:hover:after{background:linear-gradient(135deg,#6366f14d,#6366f10d,#6366f126)}.set-card .card-glow{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:linear-gradient(155deg,rgba(255,255,255,.15) 0%,transparent 55%);pointer-events:none}.set-card:hover{transform:translateY(-6px) scale(1.01);background:var(--glass-card-hover);border-color:var(--glass-border-hover);box-shadow:var(--shadow-hover)}.set-card-title{font-family:Sora,sans-serif;font-weight:600;font-size:16px;color:var(--ink);letter-spacing:-.015em}.set-card-count{font-size:12px;color:var(--text-muted);margin-top:3px;font-weight:500}.item-list{display:flex;flex-direction:column;gap:6px;padding-right:3px}.item-list::-webkit-scrollbar{width:4px}.item-list::-webkit-scrollbar-thumb{background:#6366f126;border-radius:99px}.item-list::-webkit-scrollbar-thumb:hover{background:#6366f140}.item-row{display:flex;align-items:center;gap:10px;font-size:13px;background:#ffffff4d;border:1px solid rgba(255,255,255,.4);border-radius:8px;padding:8px 7px;color:var(--ink-soft);transition:background var(--t) ease,border-color var(--t) ease,transform .2s ease,padding-left .2s ease,color var(--t) ease,box-shadow var(--t) ease}.item-row:hover{background:#eef0ffb3;border-color:#6366f126;transform:translate(4px);padding-left:15px;color:var(--ink);box-shadow:0 2px 8px #6366f10a}.item-row .dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;opacity:.9;transition:transform .2s ease}.item-row:hover .dot{transform:scale(1.3)}.item-row .item-text{flex:1;font-weight:500}.set-card-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:16px;border-top:1.5px solid rgba(210,212,235,.4)}.empty-state{border:2px dashed rgba(99,102,241,.15);border-radius:var(--r);padding:80px 20px;text-align:center;color:var(--text-muted);background:#ffffff4d;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);transition:border-color var(--t) ease,background var(--t) ease}.empty-state:hover{border-color:#6366f140;background:#fff6}.empty-state .display{font-size:20px;margin-bottom:8px;color:var(--ink);font-weight:600}.empty-state .emoji{font-size:42px;margin-bottom:16px;display:block}@keyframes overlayIn{0%{opacity:0}to{opacity:1}}@keyframes modalIn{0%{opacity:0;transform:scale(.92) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#10122899;display:flex;align-items:flex-start;justify-content:center;padding:50px 16px;z-index:50;overflow-y:auto;animation:overlayIn .25s ease}.modal{background:var(--glass-modal);backdrop-filter:blur(36px) saturate(1.8);-webkit-backdrop-filter:blur(36px) saturate(1.8);border:1.5px solid rgba(255,255,255,.8);border-radius:22px;width:100%;max-width:500px;padding:30px 30px 26px;box-shadow:var(--shadow-modal);animation:modalIn .35s var(--ease-pop);position:relative;overflow:hidden}.modal:before{content:"";position:absolute;top:0;left:6%;right:6%;height:1.5px;background:linear-gradient(90deg,transparent,rgba(255,255,255,1) 50%,transparent);pointer-events:none}.modal h2{font-size:20px;margin:0 0 6px;color:var(--ink);font-weight:700}.modal .modal-sub{color:var(--text-muted);font-size:13.5px;margin-bottom:24px;line-height:1.6}.field-group{margin-bottom:20px}.field-group label{display:block;font-size:11.5px;font-weight:700;color:var(--text-muted);margin-bottom:8px;text-transform:uppercase;letter-spacing:.08em}.field-group input{width:100%;padding:11px 14px;border:1.5px solid var(--line-solid);border-radius:var(--r-sm);background:#ffffff80;color:var(--ink);transition:border-color var(--t) ease,box-shadow var(--t) ease,background var(--t) ease}.field-group input:hover{border-color:#6366f140;background:#ffffffb3}.field-group input:focus{outline:none;border-color:#6366f1;background:#fff;box-shadow:0 0 0 4px #6366f114}.field-group input::placeholder{color:var(--text-muted)}.color-picker{display:flex;gap:10px}.color-swatch{width:32px;height:32px;border-radius:10px;cursor:pointer;border:2.5px solid transparent;box-shadow:0 2px 8px #0000001a;transition:transform var(--t) var(--ease-pop),box-shadow var(--t) ease,border-color var(--t) ease}.color-swatch:hover{transform:scale(1.15) translateY(-3px);box-shadow:0 6px 16px #00000026}.color-swatch.active{border-color:var(--ink);transform:scale(1.2);box-shadow:0 6px 20px #0000002e}.items-editor{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}.item-edit-row{display:flex;align-items:center;gap:8px;background:#f8f8fc99;border:1.5px solid var(--line-solid);border-radius:var(--r-sm);padding:9px 11px;transition:border-color var(--t) ease,background var(--t) ease,transform .2s ease}.item-edit-row:hover{border-color:#6366f133;background:#eef0ff80;transform:translate(3px)}.item-edit-row input{border:none;background:transparent;flex:1;padding:3px 4px;color:var(--ink-soft);font-size:13.5px}.item-edit-row input:focus{outline:none;box-shadow:none;color:var(--ink)}.item-edit-row button{border:none;background:transparent;color:#c0273f;font-size:14px;padding:3px 6px;border-radius:5px;opacity:.5;transition:opacity .15s ease,background .15s ease,transform .15s ease}.item-edit-row button:hover{opacity:1;background:#c0273f14;transform:scale(1.15)}.add-item-row{display:flex;gap:8px;margin-bottom:16px}.add-item-row input{flex:1}.suggestion-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;margin-bottom:20px}.suggestion-chip{border:1.5px solid var(--line-solid);background:#fff6;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:var(--ink-soft);border-radius:var(--r-pill);padding:6px 14px;font-size:12px;font-weight:500;position:relative;overflow:hidden;transition:border-color var(--t) ease,background var(--t) ease,color var(--t) ease,transform .2s var(--ease-pop),box-shadow var(--t) ease}.suggestion-chip:before{content:"";position:absolute;top:0;left:-120%;width:100%;height:100%;background:linear-gradient(105deg,transparent 20%,rgba(255,255,255,.4) 50%,transparent 80%);transition:left .5s ease;pointer-events:none}.suggestion-chip:hover:before{left:120%}.suggestion-chip:hover{border-color:#6366f159;background:#eef0ffcc;color:var(--ink);transform:translateY(-3px) scale(1.03);box-shadow:0 4px 14px #6366f11a}.suggestion-chip:active{transform:scale(.96)}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:26px}.confirm-modal{max-width:400px;text-align:center}.confirm-icon{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#fff0f3,#ffe2e7);border:1.5px solid rgba(192,39,63,.12);display:flex;align-items:center;justify-content:center;font-size:24px;margin:0 auto 18px;box-shadow:0 4px 16px #c0273f14}.confirm-modal h2{font-size:18px;font-weight:700}.confirm-modal .modal-sub{font-size:13.5px;margin-bottom:8px;color:var(--text-muted)}.confirm-modal .modal-actions{justify-content:center;margin-top:24px}@keyframes toastUp{0%{opacity:0;transform:translate(-50%) translateY(20px) scale(.94)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}.toast{position:fixed;bottom:32px;left:50%;transform:translate(-50%);background:#161830e6;backdrop-filter:blur(24px) saturate(1.4);-webkit-backdrop-filter:blur(24px) saturate(1.4);border:1.5px solid rgba(255,255,255,.1);color:#f0f1ff;padding:13px 28px;border-radius:var(--r-pill);font-size:13.5px;font-weight:500;letter-spacing:-.01em;box-shadow:0 8px 32px #00000040,inset 0 1px #ffffff0f;z-index:100;animation:toastUp .3s var(--ease-pop) both;white-space:nowrap}@media (max-width: 768px){.topbar{padding:16px 5vw 10px;flex-direction:column;gap:12px}.search-bar{min-width:0;width:100%}.main{padding:16px 5vw 60px}.modal{padding:24px 20px 20px}.section-heading .meta{margin-left:0;width:100%;order:3}.set-grid{grid-template-columns:1fr;gap:16px}.brand .title{font-size:18px}}@media (max-width: 480px){.set-card{padding:18px 18px 16px}.set-card-actions{flex-direction:column}.set-card-actions .btn{width:100%;justify-content:center}.modal-actions{flex-direction:column-reverse}.modal-actions .btn{width:100%;justify-content:center}.toast{bottom:20px;left:20px;right:20px;transform:none;text-align:center;white-space:normal}@keyframes toastUp{0%{opacity:0;transform:translateY(20px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
