:root{--coral: #f8595c;--coral-deep: #e84347;--coral-soft: #ffe3e2;--gold: #ffb13c;--gold-soft: #ffe9c7;--teal: #1fc9b7;--teal-soft: #d6f6f1;--ink: #232a3b;--ink-soft: #5b6478;--ink-faint: #97a0b2;--cream: #fff8f3;--card: #ffffff;--line: #f0e6dd;--line-strong: #e7dccf;--shadow-sm: 0 1px 2px rgba(35, 42, 59, .05), 0 2px 8px rgba(35, 42, 59, .05);--shadow-md: 0 6px 22px -8px rgba(35, 42, 59, .18), 0 2px 6px rgba(35, 42, 59, .06);--shadow-lg: 0 24px 60px -20px rgba(35, 42, 59, .28), 0 8px 24px -12px rgba(35, 42, 59, .18);--shadow-coral: 0 12px 28px -10px rgba(248, 89, 92, .55);--r-sm: 12px;--r-md: 18px;--r-lg: 26px;--r-xl: 34px;--display: "Fredoka", system-ui, sans-serif;--body: "Plus Jakarta Sans", system-ui, sans-serif;--maxw: 1120px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--body);color:var(--ink);background-color:var(--cream);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;min-height:100vh;background-image:radial-gradient(48rem 36rem at 8% -8%,rgba(255,177,60,.16),transparent 60%),radial-gradient(42rem 32rem at 102% 4%,rgba(248,89,92,.14),transparent 58%),radial-gradient(40rem 34rem at 50% 116%,rgba(31,201,183,.12),transparent 60%);background-attachment:fixed}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;opacity:.5;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.045'/%3E%3C/svg%3E")}h1,h2,h3,h4{font-family:var(--display);font-weight:600;margin:0;letter-spacing:-.01em;line-height:1.08}button{font-family:inherit;cursor:pointer}a{color:inherit}input,textarea{font-family:inherit}::selection{background:var(--coral-soft);color:var(--coral-deep)}#root{position:relative;z-index:1}.shell{max-width:var(--maxw);margin:0 auto;padding:0 clamp(16px,4vw,40px)}.app-main{padding-bottom:140px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:none;border-radius:999px;font-weight:600;font-size:.95rem;padding:12px 20px;line-height:1;transition:transform .16s cubic-bezier(.34,1.56,.64,1),box-shadow .2s ease,background .2s ease,color .2s ease;white-space:nowrap}.btn:active{transform:translateY(1px) scale(.98)}.btn:focus-visible{outline:3px solid var(--teal);outline-offset:2px}.btn-primary{background:linear-gradient(135deg,var(--coral) 0%,var(--coral-deep) 100%);color:#fff;box-shadow:var(--shadow-coral)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 18px 34px -10px #f8595c9e}.btn-ghost{background:transparent;color:var(--ink);border:1.5px solid var(--line-strong)}.btn-ghost:hover{border-color:var(--coral);color:var(--coral-deep);background:var(--coral-soft)}.btn-soft{background:#fff;color:var(--ink);box-shadow:var(--shadow-sm);border:1px solid var(--line)}.btn-soft:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-lg{padding:15px 26px;font-size:1.02rem}.btn-block{width:100%}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;border:none;background:#fff;color:var(--ink-soft);box-shadow:var(--shadow-sm);transition:transform .16s ease,color .2s,background .2s}.icon-btn:hover{transform:scale(1.08);color:var(--coral-deep)}.header{position:sticky;top:0;z-index:30;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fff8f3d1;border-bottom:1px solid rgba(231,220,207,.6)}.header-inner{display:flex;align-items:center;justify-content:space-between;height:70px;gap:16px}.header-actions{display:flex;align-items:center;gap:10px}.count-pill{display:inline-flex;align-items:center;gap:7px;font-weight:600;font-size:.86rem;color:var(--ink-soft);background:#fff;border:1px solid var(--line);padding:8px 14px;border-radius:999px;box-shadow:var(--shadow-sm)}.count-pill b{color:var(--coral-deep)}.user-chip{display:inline-flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:6px 14px 6px 6px;box-shadow:var(--shadow-sm);font-weight:600;font-size:.9rem}.user-chip .avatar{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;overflow:hidden;color:#fff;font-family:var(--display);font-size:.95rem;background:linear-gradient(135deg,var(--teal),#16a99a)}.user-chip .avatar img,.profile-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}.logo{display:inline-flex;align-items:center;gap:11px;text-decoration:none;-webkit-user-select:none;user-select:none}.logo-word{font-family:var(--display);font-weight:600;font-size:1.7rem;letter-spacing:-.02em;color:var(--ink);line-height:1}.logo-word .dot,.logo-word .pe{color:var(--coral)}.hero{text-align:center;padding:clamp(34px,6vw,64px) 0 26px}.hero-eyebrow{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:.82rem;letter-spacing:.02em;color:var(--teal);background:var(--teal-soft);padding:7px 15px;border-radius:999px;margin-bottom:18px}.hero h1{font-size:clamp(2.1rem,6vw,3.5rem);font-weight:600;max-width:16ch;margin:0 auto}.hero h1 .hl{position:relative;color:var(--coral);white-space:nowrap}.hero h1 .hl:after{content:"";position:absolute;left:-2%;right:-2%;bottom:.08em;height:.32em;background:var(--gold-soft);border-radius:4px;z-index:-1;transform:rotate(-1.2deg)}.hero p.sub{color:var(--ink-soft);font-size:clamp(1rem,2.4vw,1.18rem);max-width:46ch;margin:16px auto 0;line-height:1.5}.addbar-wrap{max-width:720px;margin:30px auto 0;position:relative}.addbar{display:flex;align-items:center;gap:10px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:10px 10px 10px 18px;box-shadow:var(--shadow-lg);transition:border-color .2s,box-shadow .2s}.addbar:focus-within{border-color:var(--coral);box-shadow:var(--shadow-lg),0 0 0 4px var(--coral-soft)}.addbar .paste-ic{color:var(--ink-faint);flex:none;display:grid;place-items:center}.addbar input{flex:1;border:none;outline:none;background:transparent;font-size:1.02rem;color:var(--ink);min-width:0;padding:8px 0}.addbar input::placeholder{color:var(--ink-faint)}.addbar-actions{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:16px;flex-wrap:wrap}.linkchip{display:inline-flex;align-items:center;gap:7px;font-size:.82rem;font-weight:500;color:var(--ink-faint)}.linkchip b{color:var(--ink-soft);font-weight:600}.text-btn{background:none;border:none;font-weight:600;font-size:.95rem;color:var(--ink-soft);display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;transition:color .2s,background .2s}.text-btn:hover{color:var(--coral-deep);background:var(--coral-soft)}.auth-switch{margin:16px 0 0;text-align:center;font-size:.9rem;color:var(--ink-soft)}.auth-switch button{background:none;border:none;padding:0;font:inherit;font-weight:700;color:var(--coral-deep);cursor:pointer}.auth-switch button:hover{text-decoration:underline}.list-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:40px 0 20px}.list-head h2{font-size:1.45rem}.list-head .muted{color:var(--ink-faint);font-weight:500;font-size:.92rem}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px}.card{position:relative;background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--line-strong)}.card.priority{border-color:var(--coral);box-shadow:0 0 0 1px var(--coral),var(--shadow-md)}.card-tile{position:relative;aspect-ratio:4 / 3;background-size:cover;background-position:center;display:grid;place-items:center}.card-tile .glyph{font-size:2.4rem;opacity:.5}.card-tile.loading:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(100deg,transparent 20%,rgba(255,255,255,.6) 50%,transparent 80%);background-size:220% 100%;animation:shimmer 1.2s infinite}@keyframes shimmer{0%{background-position:220% 0}to{background-position:-120% 0}}.badge{position:absolute;top:10px;left:10px;display:inline-flex;align-items:center;gap:6px;background:#fffffff0;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:999px;padding:5px 11px 5px 6px;font-size:.76rem;font-weight:600;color:var(--ink);box-shadow:var(--shadow-sm);max-width:70%}.badge img{width:16px;height:16px;border-radius:4px;flex:none}.badge span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.heart-btn{position:absolute;top:9px;right:9px;width:38px;height:38px;border-radius:50%;border:none;background:#fffffff0;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:grid;place-items:center;box-shadow:var(--shadow-sm);color:var(--ink-faint);transition:transform .16s cubic-bezier(.34,1.56,.64,1),color .2s}.heart-btn:hover{transform:scale(1.12);color:var(--coral)}.heart-btn.on{color:var(--coral)}.card-body{padding:14px 15px 15px;display:flex;flex-direction:column;gap:6px;flex:1}.card-title{font-family:var(--display);font-weight:500;font-size:1.04rem;line-height:1.25;color:var(--ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-note{font-size:.86rem;color:var(--ink-soft);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-foot{margin-top:auto;padding-top:10px;display:flex;align-items:center;justify-content:space-between;gap:8px}.price{font-family:var(--display);font-weight:600;font-size:1.05rem;color:var(--coral-deep)}.price.empty{color:var(--ink-faint);font-family:var(--body);font-weight:600;font-size:.84rem}.card-tools{display:flex;gap:6px;opacity:0;transform:translate(4px);transition:opacity .2s,transform .2s}.card:hover .card-tools,.card:focus-within .card-tools{opacity:1;transform:none}.mini-btn{width:32px;height:32px;border-radius:50%;border:1px solid var(--line);background:#fff;display:grid;place-items:center;color:var(--ink-soft);transition:color .18s,border-color .18s,background .18s}.mini-btn:hover{color:var(--coral-deep);border-color:var(--coral);background:var(--coral-soft)}.mini-btn:disabled{cursor:default;opacity:.7}.mini-btn.spinning svg{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.card-link{text-decoration:none;font-size:.8rem;font-weight:600;color:var(--teal);display:inline-flex;align-items:center;gap:4px}.card-link:hover{text-decoration:underline}.tile-link{cursor:pointer;text-decoration:none}.tile-link:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#232a3b00;transition:background .2s}.tile-link:hover:before{background:#232a3b0f}.title-link{color:inherit;text-decoration:none}.title-link:hover{color:var(--coral-deep)}.reserve-row{margin-top:12px}.interest-btn{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1.5px solid var(--teal);background:#fff;color:var(--teal);border-radius:999px;padding:9px 14px;font-weight:700;font-size:.9rem;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.interest-btn:hover{background:#1fc9b714}.interest-btn.on{background:var(--teal);border-color:var(--teal);color:#fff}.interest-btn:disabled{opacity:.6;cursor:default}.interest-count{min-width:20px;padding:0 6px;border-radius:999px;background:#1fc9b729;color:var(--teal);font-size:.78rem;line-height:1.45}.interest-btn.on .interest-count{background:#ffffff40;color:#fff}.interest-hint{margin:6px 0 0;text-align:center;font-size:.78rem;color:var(--ink-soft)}.profile-views{margin:4px 0 0;color:var(--ink-soft);font-weight:600;font-size:.85rem}.empty{text-align:center;border:2px dashed var(--line-strong);border-radius:var(--r-xl);padding:clamp(40px,8vw,72px) 24px;background:#ffffff80}.empty .gift{font-size:3.4rem;margin-bottom:14px;display:inline-block;animation:bob 3s ease-in-out infinite}@keyframes bob{0%,to{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-8px) rotate(3deg)}}.empty h3{font-size:1.5rem}.empty p{color:var(--ink-soft);margin:10px auto 0;max-width:38ch;line-height:1.5}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#232a3b6b;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:20px}.modal{background:var(--card);border-radius:var(--r-lg);width:100%;max-width:440px;box-shadow:var(--shadow-lg);overflow:hidden;position:relative}.modal-pad{padding:clamp(22px,5vw,30px)}.modal-close{position:absolute;top:14px;right:14px;z-index:2}.modal h2{font-size:1.5rem}.modal .lead{color:var(--ink-soft);margin-top:6px;line-height:1.5;font-size:.96rem}.field{display:block;margin-top:16px}.field>span{display:block;font-weight:600;font-size:.84rem;color:var(--ink-soft);margin-bottom:7px}.input,.textarea{width:100%;border:1.5px solid var(--line-strong);border-radius:var(--r-sm);padding:12px 14px;font-size:.98rem;color:var(--ink);background:#fff;transition:border-color .18s,box-shadow .18s}.input:focus,.textarea:focus{outline:none;border-color:var(--coral);box-shadow:0 0 0 4px var(--coral-soft)}.textarea{resize:vertical;min-height:78px;line-height:1.45}.field .field-hint{display:block;margin:6px 0 0;text-align:right;font-size:.74rem;font-weight:600;color:var(--ink-faint)}.row-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.input-prefix{display:flex;align-items:center;border:1.5px solid var(--line-strong);border-radius:var(--r-sm);background:#fff;overflow:hidden;transition:border-color .18s,box-shadow .18s}.input-prefix:focus-within{border-color:var(--coral);box-shadow:0 0 0 4px var(--coral-soft)}.input-prefix .pfx{padding:12px 4px 12px 14px;color:var(--ink-soft);font-weight:600;white-space:nowrap}.input-prefix input{border:none;outline:none;padding:12px 14px 12px 2px;font-size:.98rem;flex:1;min-width:0;background:transparent}.form-actions{display:flex;gap:10px;margin-top:22px}.img-preview{margin-top:16px;border-radius:var(--r-md);aspect-ratio:16 / 9;background-size:cover;background-position:center;background-color:var(--cream);border:1px solid var(--line);display:grid;place-items:center;color:var(--ink-faint);font-size:.85rem;overflow:hidden}.method{display:flex;align-items:center;justify-content:center;gap:11px;width:100%;padding:13px 18px;border-radius:var(--r-sm);border:1.5px solid var(--line-strong);background:#fff;font-weight:600;font-size:.98rem;color:var(--ink);margin-top:11px;transition:transform .16s ease,border-color .18s,box-shadow .18s}.method:hover{transform:translateY(-2px);border-color:var(--ink-faint);box-shadow:var(--shadow-sm)}.method.apple{background:var(--ink);color:#fff;border-color:var(--ink)}.gis-btn{display:flex;justify-content:center;margin-top:11px;min-height:44px}.gis-btn>div,.gis-btn iframe{margin:0 auto!important}.divider{display:flex;align-items:center;gap:12px;color:var(--ink-faint);font-size:.82rem;font-weight:600;margin:20px 0 4px}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--line)}.avail{font-size:.82rem;font-weight:600;margin-top:9px;display:flex;align-items:center;gap:6px}.avail.ok{color:#14a07a}.avail.no{color:var(--coral-deep)}.success-burst{text-align:center;margin-bottom:6px}.success-burst .ring{width:70px;height:70px;border-radius:50%;background:var(--teal-soft);display:grid;place-items:center;margin:0 auto 14px;font-size:2rem}.link-field{display:flex;align-items:center;gap:8px;border:1.5px solid var(--line-strong);border-radius:var(--r-sm);padding:6px 6px 6px 14px;background:var(--cream);margin:18px 0 8px}.link-field .url{flex:1;min-width:0;font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.link-field .url .pre{color:var(--ink-faint)}.link-field .url b{color:var(--coral-deep)}.share-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px}.share-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:16px 8px;border-radius:var(--r-md);border:1px solid var(--line);background:#fff;font-weight:600;font-size:.82rem;color:var(--ink);transition:transform .16s ease,box-shadow .18s,border-color .18s}.share-btn:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--line-strong)}.share-btn .ic{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;color:#fff}.share-btn.wa .ic{background:#25d366}.share-btn.ig .ic{background:linear-gradient(45deg,#f9ce34,#ee2a7b 45%,#6228d7)}.share-btn.native .ic{background:linear-gradient(135deg,var(--coral),var(--coral-deep))}.share-btn.tg .ic{background:#2aabee}.share-btn.x .ic{background:var(--ink)}.share-btn.fb .ic{background:#1877f2}.banner{position:fixed;left:0;right:0;bottom:0;z-index:40;padding:0 clamp(12px,4vw,24px) calc(14px + env(safe-area-inset-bottom));pointer-events:none}.banner-inner{pointer-events:auto;max-width:760px;margin:0 auto;background:linear-gradient(135deg,#2c3346 0%,var(--ink) 100%);color:#fff;border-radius:var(--r-lg);padding:14px 14px 14px 22px;display:flex;align-items:center;justify-content:space-between;gap:14px;box-shadow:var(--shadow-lg)}.banner-inner .txt strong{font-family:var(--display);font-weight:600;font-size:1.05rem;display:block}.banner-inner .txt span{color:#ffffffb8;font-size:.86rem}.banner-inner .txt b{color:var(--gold)}.toast{position:fixed;left:50%;bottom:96px;transform:translate(-50%);z-index:80;background:var(--ink);color:#fff;font-weight:600;font-size:.9rem;padding:12px 20px;border-radius:999px;box-shadow:var(--shadow-lg);display:flex;align-items:center;gap:9px;max-width:90vw}.sparkle-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:visible;z-index:5}.spark{position:absolute;border-radius:999px}.foot{text-align:center;color:var(--ink-faint);font-size:.86rem;padding:40px 0 10px}.foot .tag{font-family:var(--display);color:var(--ink-soft);font-weight:500}.profile-hero{text-align:center;padding:40px 0 30px}.profile-avatar{display:inline-grid;place-items:center;overflow:hidden;width:84px;height:84px;border-radius:50%;color:#fff;font-family:var(--display);font-size:2.2rem;background:linear-gradient(135deg,var(--coral) 0%,var(--coral-deep) 100%);box-shadow:var(--shadow-coral);margin-bottom:16px}.profile-name{font-size:clamp(1.7rem,5vw,2.4rem)}.profile-handle{margin:6px 0 0;color:var(--ink-soft);font-weight:600;font-size:.95rem}.profile-bio{margin:12px auto 0;max-width:34rem;color:var(--ink-soft);line-height:1.5}.profile-count{margin:14px 0 0;display:inline-block;font-weight:600;font-size:.9rem;color:var(--ink-soft);background:#fff;border:1px solid var(--line);padding:8px 16px;border-radius:999px;box-shadow:var(--shadow-sm)}.heart-static{position:absolute;top:12px;right:12px;display:inline-grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#fff;color:var(--coral);box-shadow:var(--shadow-sm)}.profile-cta{margin:40px auto 0;max-width:36rem;text-align:center;background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-md);padding:clamp(24px,5vw,38px)}.profile-cta h2{margin:12px 0 6px;font-size:clamp(1.4rem,4vw,1.8rem)}.profile-cta .lead{color:var(--ink-soft);line-height:1.5;margin:0 0 20px}.profile-status{display:flex;flex-direction:column;align-items:center;text-align:center;padding:clamp(60px,14vh,130px) 0;color:var(--ink-soft)}.profile-status h1{font-size:clamp(1.5rem,5vw,2.1rem);margin-bottom:6px}.profile-status .big-glyph{font-size:3.4rem;margin-bottom:14px}.profile-status .spin{font-size:2.6rem;margin-bottom:14px;animation:profile-bounce 1.2s ease-in-out infinite}@keyframes profile-bounce{0%,to{transform:translateY(0) rotate(-6deg)}50%{transform:translateY(-10px) rotate(6deg)}}@media (max-width: 640px){.header-inner{height:62px}.logo-word{font-size:1.42rem}.count-pill,.hide-sm{display:none}.addbar{flex-wrap:wrap;border-radius:var(--r-md);padding:14px}.addbar input{width:100%;flex-basis:100%;padding:4px 0 8px}.addbar .btn{width:100%}.addbar .paste-ic{display:none}.grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:13px}.card-tools{opacity:1;transform:none}.share-grid{gap:8px}.banner-inner{padding:12px 12px 12px 16px}.banner-inner .btn{padding:12px 16px;font-size:.88rem}.overlay{align-items:flex-end;padding:0}.modal{max-width:100%;border-radius:var(--r-lg) var(--r-lg) 0 0;padding-bottom:env(safe-area-inset-bottom)}}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;transition-duration:.05ms!important}}
