body{margin:0}:root{--bg:#fff5f8;--bg-elev:#fff;--ink:#4a3040;--muted:#9a7a88;--line:#e878a02e;--line-strong:#e878a059;--accent:#f472b6;--accent-deep:#ec4899;--accent-soft:#fce7f3;--lilac:#e9d5ff;--mint:#d1fae5;--radius:16px;--bar:56px;--shadow:0 8px 24px #ec48991a}*{box-sizing:border-box}html,body,#root{height:100%}body{color:var(--ink);background:radial-gradient(900px 480px at 8% -8%, #ffd6e7 0%, transparent 55%), radial-gradient(800px 420px at 100% 0%, #e9d5ff 0%, transparent 50%), radial-gradient(700px 400px at 50% 100%, #d1fae5 0%, transparent 45%), var(--bg);background-attachment:fixed;margin:0;font-family:Nunito,system-ui,sans-serif}button,input{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit}.app{max-width:1180px;min-height:100%;margin:0 auto;padding:0 16px 40px}.topbar{z-index:40;height:var(--bar);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--line);background:#fff5f8e0;justify-content:space-between;align-items:center;gap:16px;margin:0 -16px;padding:0 16px;display:flex;position:sticky;top:0}.brand{align-items:baseline;gap:12px;min-width:0;display:flex}.brand h1{letter-spacing:-.03em;margin:0;font-family:Quicksand,Nunito,sans-serif;font-size:1.5rem;font-weight:700;line-height:1}.brand h1 span{color:var(--accent-deep)}.brand p{color:var(--muted);letter-spacing:.04em;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.75rem;overflow:hidden}.wish-btn{border:1px solid var(--line-strong);height:36px;box-shadow:var(--shadow);background:#fff;border-radius:999px;align-items:center;gap:8px;padding:0 14px;font-size:.82rem;font-weight:700;transition:background .15s,border-color .15s,transform .12s;display:inline-flex}.wish-btn:hover{background:var(--accent-soft);border-color:var(--accent)}.wish-btn:active{transform:scale(.97)}.wish-btn .count{background:var(--accent-deep);color:#fff;border-radius:999px;place-items:center;min-width:1.4rem;height:1.4rem;padding:0 5px;font-size:.7rem;display:inline-grid}.search-strip{top:var(--bar);z-index:30;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--line);background:#fff5f8d1;flex-wrap:wrap;align-items:center;gap:10px;margin:0 -16px;padding:12px 16px;display:flex;position:sticky}.search{border:1px solid var(--line-strong);background:#fff;border-radius:999px;flex:220px;align-items:center;gap:10px;height:40px;padding:0 14px;display:flex;box-shadow:0 2px 10px #ec48990f}.search svg{color:var(--accent);opacity:.7;flex:none}.search input{background:0 0;border:0;outline:0;flex:1;min-width:0;font-size:.92rem}.search input::placeholder{color:#c4a0b0}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--line-strong);height:34px;color:var(--muted);background:#fff;border-radius:999px;padding:0 14px;font-size:.78rem;font-weight:700;transition:background .15s,color .15s,border-color .15s}.chip:hover{color:var(--accent-deep);border-color:var(--accent);background:var(--accent-soft)}.chip[aria-pressed=true]{background:var(--accent-deep);border-color:var(--accent-deep);color:#fff}.meta-row{color:var(--muted);justify-content:space-between;align-items:center;gap:10px;padding:14px 0 12px;font-size:.78rem;display:flex}.meta-row strong{color:var(--ink);font-size:.95rem;font-weight:800}.grid{column-count:2;column-gap:14px}@media (width>=640px){.grid{column-count:3;column-gap:16px}}@media (width>=960px){.grid{column-count:4;column-gap:18px}}@media (width>=1200px){.grid{column-count:5}}.stream-block{display:contents}.card{break-inside:avoid;-webkit-column-break-inside:avoid;page-break-inside:avoid;background:0 0;border:0;border-radius:18px;margin:0 0 14px;animation:.4s both rise;display:block;overflow:visible}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.pin{background:linear-gradient(145deg, #ffe4f0, var(--lilac));border-radius:18px;transition:transform .2s,box-shadow .2s;position:relative;overflow:hidden;box-shadow:0 2px 8px #ec489914}.card:hover .pin{transform:translateY(-2px);box-shadow:0 12px 28px #ec48992e}.pin img{width:100%;height:auto;display:block}.pin.short img{aspect-ratio:4/3;object-fit:cover}.pin.tall img{aspect-ratio:3/4;object-fit:cover}.pin.wide img{aspect-ratio:1;object-fit:cover}.pin-overlay{opacity:0;pointer-events:none;background:linear-gradient(#4a304014 0%,#4a304073 100%);flex-direction:column;justify-content:space-between;padding:12px;transition:opacity .2s;display:flex;position:absolute;inset:0}.card:hover .pin-overlay,.card:focus-within .pin-overlay{opacity:1;pointer-events:auto}.pin-top{justify-content:flex-end;display:flex}.pin-bottom{gap:8px;display:flex}.btn-save,.btn-shop{cursor:pointer;border:0;border-radius:999px;height:36px;font-size:.8rem;font-weight:800;transition:transform .12s,background .15s,filter .15s}.btn-save{background:var(--accent-deep);color:#fff;pointer-events:auto;padding:0 16px;box-shadow:0 4px 14px #ec489959}.btn-save:hover{filter:brightness(1.05);transform:scale(1.03)}.btn-save.on{color:var(--accent-deep);background:#fff}.btn-shop{color:var(--ink);pointer-events:auto;background:#fffffff2;flex:1;place-items:center;padding:0 14px;text-decoration:none;display:inline-grid}.btn-shop:hover{background:#fff}@media (hover:none){.pin-overlay{opacity:1;pointer-events:auto;background:linear-gradient(#0000 40%,#4a304066 100%)}}.card-caption{padding:10px 6px 2px}.card-caption h3{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 0 4px;font-family:Quicksand,Nunito,sans-serif;font-size:.92rem;font-weight:700;line-height:1.3;display:-webkit-box;overflow:hidden}.card-meta{color:var(--muted);justify-content:space-between;align-items:center;gap:8px;font-size:.78rem;font-weight:700;display:flex}.card-meta .price{color:var(--accent-deep);font-size:.88rem;font-weight:800}.stream{break-inside:avoid;-webkit-column-break-inside:avoid;border:1px solid var(--line);background:#ffffffb8;border-radius:14px;align-items:center;gap:10px;margin:0 0 10px;padding:10px 12px;display:flex}.stream h2{color:var(--accent-deep);margin:0;font-family:Quicksand,Nunito,sans-serif;font-size:.95rem;font-weight:800}.stream p{color:var(--muted);margin:2px 0 0;font-size:.72rem;font-weight:700}.stream .avatar{object-fit:cover;border:2px solid #fff;border-radius:50%;flex:none;width:36px;height:36px;box-shadow:0 2px 8px #ec489933}.stream .stream-copy{min-width:0}.pin-link{color:inherit;cursor:pointer;text-decoration:none;display:block}.card-caption .pin-link:hover h3{color:var(--accent-deep)}.empty{break-inside:avoid;text-align:center;color:var(--muted);border:1px dashed var(--line-strong);border-radius:var(--radius);column-span:all;background:#ffffffb3;padding:64px 16px}.empty h2{color:var(--ink);margin:0 0 8px;font-family:Quicksand,sans-serif;font-size:1.35rem}.empty p{margin:0;font-size:.9rem}.empty strong{color:var(--accent-deep)}.scrim{opacity:0;pointer-events:none;z-index:50;background:#4a304047;transition:opacity .2s;position:fixed;inset:0}.scrim.open{opacity:1;pointer-events:auto}.drawer{border-left:1px solid var(--line);z-index:60;background:#fff;flex-direction:column;width:min(380px,100%);height:100%;transition:transform .28s cubic-bezier(.2,.8,.2,1);display:flex;position:fixed;top:0;right:0;transform:translate(105%);box-shadow:-12px 0 40px #ec48991f}.drawer.open{transform:none}.drawer-head{border-bottom:1px solid var(--line);background:linear-gradient(#fff5f8,#fff);justify-content:space-between;align-items:center;gap:10px;padding:18px 18px 14px;display:flex}.drawer-head h2{color:var(--accent-deep);margin:0;font-family:Quicksand,sans-serif;font-size:1.2rem}.icon-btn{border:1px solid var(--line-strong);width:34px;height:34px;color:var(--muted);background:#fff;border-radius:999px;place-items:center;display:grid}.icon-btn:hover{color:var(--accent-deep);border-color:var(--accent);background:var(--accent-soft)}.drawer-body{background:var(--bg);flex:1;padding:12px;overflow:auto}.wish-item{border:1px solid var(--line);background:#fff;border-radius:14px;grid-template-columns:64px 1fr auto;align-items:center;gap:12px;margin-bottom:8px;padding:8px;display:grid;box-shadow:0 4px 12px #ec48990f}.wish-item .mini{background:var(--lilac);border-radius:12px;width:64px;height:64px;overflow:hidden}.wish-item .mini img{object-fit:cover;width:100%;height:100%;display:block}.wish-item h4{margin:0 0 4px;font-size:.88rem;font-weight:700;line-height:1.2}.wish-item .sub{color:var(--muted);margin:0;font-size:.75rem}.remove{border:1px solid var(--line-strong);background:var(--accent-soft);width:30px;height:30px;color:var(--accent-deep);border-radius:999px;font-weight:700}.remove:hover{background:var(--accent-deep);color:#fff;border-color:var(--accent-deep)}.drawer-foot{border-top:1px solid var(--line);background:#fff;flex-direction:column;gap:10px;padding:14px 18px 18px;display:flex}.total{color:var(--muted);justify-content:space-between;align-items:baseline;font-size:.8rem;display:flex}.total strong{color:var(--accent-deep);font-family:Quicksand,sans-serif;font-size:1.35rem}.clear{border:1px solid var(--line-strong);height:40px;color:var(--muted);background:#fff;border-radius:999px;font-size:.82rem;font-weight:700}.clear:hover{color:var(--accent-deep);border-color:var(--accent);background:var(--accent-soft)}.drawer-empty{text-align:center;color:var(--muted);padding:48px 16px;font-size:.9rem}.earn-banner{background:linear-gradient(90deg, #fff, var(--accent-soft));border:1px solid var(--line);color:var(--muted);border-radius:14px;margin:12px 0 0;padding:10px 14px;font-size:.82rem;font-weight:700}.earn-banner strong{color:var(--accent-deep)}.creator-row{-webkit-overflow-scrolling:touch;gap:8px;width:100%;padding:2px 0 4px;display:flex;overflow-x:auto}.creator-chip{border:1px solid var(--line-strong);height:40px;color:var(--ink);background:#fff;border-radius:999px;flex:none;align-items:center;gap:8px;padding:0 12px 0 6px;font-size:.78rem;font-weight:800;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.creator-chip img{object-fit:cover;background:var(--lilac);border-radius:50%;width:28px;height:28px}.creator-chip[aria-pressed=true]{background:var(--accent-deep);border-color:var(--accent-deep);color:#fff}.creator-chip.all-chip{padding:0 14px}.creator-chip.all-chip[aria-pressed=true]{background:var(--ink);border-color:var(--ink)}.byline{color:var(--muted);align-items:center;gap:6px;margin-top:6px;font-size:.72rem;font-weight:800;display:flex}.byline img{object-fit:cover;border-radius:50%;width:18px;height:18px}.byline span{color:var(--accent-deep)}
