@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Nanum+Gothic:wght@400;700&display=swap');
.topbar .brand{display:inline-flex;align-items:center;gap:6px;line-height:1;font-size:20px}
.brand .brand-mark{font-size:0;background:#0a1c34 url('../assets/gifto-concept4-192.png?v=borderless-2') center/cover no-repeat;width:24px;height:24px;border-radius:7px;flex-shrink:0;margin-right:0}
[data-friend-list] .friend-more{min-height:0;align-content:center;justify-items:center}
.heart-track{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;touch-action:pan-y;padding:4px 0 8px;scroll-behavior:smooth}
.heart-track::-webkit-scrollbar{display:none}.heart-page{flex:0 0 100%;display:flex;flex-direction:column;gap:10px;scroll-snap-align:start;scroll-snap-stop:always;min-width:0}.heart-more{justify-content:center;align-items:center;min-height:0}
.heart-card{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:100px;box-sizing:border-box;border:1px solid #eeeae2;border-radius:20px;background:#fff;padding:16px 18px;color:#172b40;text-decoration:none!important;text-align:left;font:inherit;cursor:pointer;box-shadow:0 3px 12px #172b4005}.heart-card:hover{background:#fffdf5}.heart-card:focus-visible{outline:2px solid #d4ad00;outline-offset:2px}.heart-card-copy{display:grid;gap:5px;min-width:0}.heart-card-copy strong{font-size:15px;overflow-wrap:anywhere}.heart-card-copy small{font-size:11px;color:#87909b}.heart-card-copy>span{font-size:12px;color:#657386}.heart-chevron{color:#a3a9ae;font-size:24px}
.heart-pages{display:flex;justify-content:center;gap:4px;margin:8px 0}.heart-dot{border:0;background:transparent;padding:12px;cursor:pointer}.heart-dot:after{content:'';display:block;width:6px;height:6px;border-radius:6px;background:#ddd}.heart-dot[aria-current=true]:after{width:18px;background:#263849}.heart-history-filters{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0 32px}.heart-history-filters .field-label{margin:0}.heart-history-filters .text-field{margin-top:9px}.heart-product-filter{grid-column:1/-1}.heart-full-list{display:grid;gap:12px;margin-top:0}.heart-detail{max-width:420px;width:calc(100% - 40px);box-sizing:border-box}.heart-detail .button{margin-top:12px}
[data-friend-list] .friend-thumb.friend-thumb-photo{background:transparent}
[data-friend-list] .friend-thumb-photo img{object-fit:contain;background:transparent}
.mini-product .product-image.contribution-photo,.mini-product .contribution-photo img{background:transparent}
.mini-product .contribution-photo img{padding:0;object-fit:contain}
[data-friend-list] .friend-card{padding:18px 12px 18px 16px;border-color:#eef0f3;border-radius:22px;gap:4px;box-shadow:0 3px 12px #18223404;min-height:112px}[data-friend-list] .friend-thumb{flex-basis:66px;height:72px;border-radius:18px;background:#fff6da;font-size:30px}[data-friend-list] .friend-copy strong{font-size:16px;line-height:1.4;margin:6px 0 9px;letter-spacing:-.04em}[data-friend-list] .friend-copy small{color:#8a8e97;font-size:12px}[data-friend-list] .friend-copy span{color:#8a692d;font-size:11px}[data-friend-list] .friend-page{gap:12px;flex-basis:100%}[data-friend-list] .friend-pages{gap:0;margin:15px 0 0}[data-friend-list] .friend-pages button{width:28px;height:30px;border:0;padding:0;background:transparent;display:grid;place-items:center}[data-friend-list] .friend-pages button::after{content:'';width:6px;height:6px;border-radius:8px;background:#dfe3e9}[data-friend-list] .friend-pages button[aria-current=true]::after{width:18px;background:#30343b}.friend-swipe-hint{text-align:center;color:#959ba4;font-size:11px;margin:0 0 6px}.friend-menu{position:relative;align-self:flex-start}.friend-menu summary{list-style:none;width:32px;height:32px;text-align:center;cursor:pointer;color:#8a8e97;font-size:23px}.friend-menu summary::-webkit-details-marker{display:none}.friend-menu[open] .friend-hide{position:absolute;right:0;top:30px;z-index:3;width:100px;padding:14px;background:white;box-shadow:0 5px 24px #0002;border:1px solid #edf0f4}.friend-menu summary:focus-visible{outline:2px solid #3b82f6}
.friend-track{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;position:relative;scroll-behavior:smooth}.friend-page{flex:0 0 100%;min-width:0;scroll-snap-align:start;scroll-snap-stop:always;display:grid;align-content:start;gap:10px}.friend-card{display:flex;align-items:center;border:1px solid #e8edf3;border-radius:16px;padding:12px;gap:8px;background:white;margin-bottom:10px}.friend-page .friend-card{margin:0}.friend-card-link{display:flex;align-items:center;gap:12px;flex:1;min-width:0;color:inherit;text-decoration:none}.friend-thumb{position:relative;display:grid;place-items:center;flex:0 0 56px;height:56px;background:#f2f7ff;border-radius:12px;overflow:hidden;font-size:24px}.friend-thumb img{position:absolute;width:100%;height:100%;object-fit:cover}.friend-copy{min-width:0}.friend-copy strong,.friend-copy small,.friend-copy span{display:block;overflow-wrap:anywhere}.friend-copy strong{font-size:14px;margin:5px 0}.friend-copy small,.friend-copy span{font-size:11px;color:#6b7280}.friend-hide{border:0;background:#f4f6f8;border-radius:8px;padding:10px 6px;font-size:11px;flex-shrink:0;cursor:pointer}.friend-tabs,.friend-pages{display:flex;gap:8px;margin:12px 0}.friend-tabs button,.friend-pages button{border:1px solid #e8edf3;border-radius:10px;padding:10px 14px;background:white;cursor:pointer}.friend-tabs [aria-pressed=true]{background:#111;color:white}.friend-more{align-content:center;min-height:240px}.friend-pages{justify-content:center}.friend-pages button:focus-visible,.friend-hide:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}
/* Shared design tokens: easy to replace when the service gets a real design system. */
:root{--ink:#111;--blue:#3B82F6;--green:#22C55E;--bg:#F8FAFC;--line:#E8EDF3;--muted:#6B7280;--radius:22px;--shadow:0 10px 30px rgba(15,23,42,.07)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:"DM Sans","Nanum Gothic",sans-serif;letter-spacing:-.03em}.app-shell{width:100%;max-width:480px;min-height:100vh;margin:auto;background:#fff;position:relative;padding-bottom:36px}.topbar{height:70px;display:flex;align-items:center;justify-content:space-between;padding:0 22px}.brand{font-weight:700;text-decoration:none;color:var(--ink);letter-spacing:-.05em;font-size:18px}.brand-mark{display:inline-grid;place-items:center;background:var(--ink);color:#fff;width:24px;height:24px;border-radius:8px;font-size:14px;margin-right:4px}.icon-button,.back{display:grid;place-items:center;width:36px;height:36px;border:0;background:#f4f6f8;border-radius:12px;color:var(--ink);text-decoration:none;font-size:20px;cursor:pointer}.back{background:transparent;font-size:25px}.topbar-spacer{width:36px}.page-title{font-size:16px;margin:0;font-weight:700}.hero{padding:55px 24px 30px}.eyebrow{margin:0 0 8px;color:var(--blue);font-size:12px;font-weight:700;letter-spacing:.04em}.hero h1,.wish-hero h1,.form-page h1,.complete-card h1,.thankyou h1{font-size:42px;line-height:1.16;margin:0;letter-spacing:-.06em}.hero-copy{font-size:15px;line-height:1.7;color:var(--muted);margin:17px 0}.hero-visual{height:205px;border-radius:28px;background:linear-gradient(135deg,#e8f1ff,#f7faff);position:relative;display:grid;place-items:center;margin:30px 0}.hero-visual span{font-size:78px;filter:drop-shadow(0 13px 8px #9dbbe655);z-index:1}.hero-visual i{position:absolute;width:68px;height:68px;background:#fff;border-radius:50%;left:20%;top:24%;opacity:.8}.hero-visual b{position:absolute;right:19%;bottom:22%;color:#ef6a6a;font-size:22px}.button{height:54px;border-radius:16px;display:flex;align-items:center;justify-content:center;gap:12px;text-decoration:none;border:0;font-size:15px;font-weight:700;cursor:pointer;width:100%;transition:transform .18s,background .18s}.button:active{transform:scale(.98)}.button-primary{color:#fff;background:var(--ink);box-shadow:0 6px 14px #1112}.button-primary span{font-size:20px}.button-ghost{margin-top:10px;background:#f4f6f8;color:var(--ink)}.section{padding:30px 22px}.compact{padding-top:18px}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px}.section-heading h2{font-size:21px;margin:0;letter-spacing:-.05em}.section-heading a{font-size:13px;color:var(--muted);text-decoration:none}.count{display:inline-grid;place-items:center;font-size:12px;background:#edf3ff;color:var(--blue);width:21px;height:21px;border-radius:8px;vertical-align:3px}.birthday-list{display:grid;gap:10px}.birthday-card{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--line);border-radius:16px;text-decoration:none;color:var(--ink)}.birthday-card strong,.birthday-card span{display:block;font-size:14px}.birthday-card span{font-size:12px;color:var(--muted);margin-top:3px}.birthday-card em{font-style:normal;margin-left:auto}.avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font-weight:700;color:#fff}.avatar-large{width:76px;height:76px;font-size:28px;margin:auto}.avatar-blue{background:linear-gradient(135deg,#72a8ff,#326ee7)}.avatar-peach{background:linear-gradient(135deg,#ffb49c,#ee7d77)}.avatar-lilac{background:linear-gradient(135deg,#c3a8ff,#8566d8)}.profile{text-align:center;padding:28px 22px 22px}.profile h1{font-size:26px;margin:12px 0 5px}.profile-meta,.profile-intro{font-size:13px;line-height:1.65;color:var(--muted);margin:0}.profile-meta span{color:#9aa1ab}.profile-intro{margin-top:16px}.share-chip{display:inline-flex;margin-top:18px;background:#eef5ff;color:#2867ce;text-decoration:none;border-radius:100px;padding:9px 13px;font-size:12px;font-weight:700}.product-list{display:grid;gap:14px}.product-card{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff;box-shadow:0 5px 16px #0f172a06}.product-image{height:145px;display:grid;place-items:center;font-size:62px;background:var(--image-bg,#f3f6fa)}.product-body{padding:15px}.product-top{display:flex;justify-content:space-between;gap:10px}.product-name{font-size:17px;margin:0 0 5px}.product-price{font-size:13px;color:var(--muted)}.tag{font-size:11px;color:#23794c;background:#eafaf0;border-radius:8px;padding:5px 7px;height:max-content}.progress-label{display:flex;justify-content:space-between;font-size:12px;margin:15px 0 7px;color:var(--muted)}.progress-label strong{color:var(--ink)}.progress-label small{font-weight:400;color:var(--muted)}.progress{height:8px;background:#edf0f3;border-radius:10px;overflow:hidden}.progress i{display:block;height:100%;border-radius:inherit;background:var(--blue)}.card-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:13px;font-size:12px;color:var(--muted)}.card-button{border:0;border-radius:11px;padding:8px 11px;background:var(--ink);color:#fff;text-decoration:none;font-size:12px;font-weight:700}.wish-hero{text-align:center;padding:25px 22px 34px;background:linear-gradient(180deg,#f3f8ff,#fff)}.wish-hero .avatar{margin-bottom:18px}.wish-hero h1{font-size:31px}.wish-hero>p:last-child{font-size:14px;line-height:1.65;color:var(--muted)}.subtle{font-size:12px;color:var(--muted)}.form-page,.contribute,.thankyou{padding:35px 24px}.form-page h1{font-size:34px}.form-description{color:var(--muted);font-size:14px;line-height:1.7;margin:15px 0 34px}.field-label{display:block;font-size:13px;font-weight:700;margin:20px 0 9px}.text-field{border:1px solid #dce3eb;border-radius:14px;width:100%;padding:15px;font:inherit;font-size:14px;outline:none;background:#fff}.text-field:focus{border-color:var(--blue);box-shadow:0 0 0 3px #3b82f61a}.textarea{height:105px;resize:none;line-height:1.6}.sticky-button{margin-top:34px}.mini-product{border-radius:18px;background:#f5f7fa;padding:13px;display:flex;align-items:center;gap:12px}.mini-product .product-image{height:54px;width:54px;border-radius:12px;font-size:28px}.mini-product .product-body{padding:0}.mini-product .product-name{font-size:14px}.mini-product .product-price{font-size:12px}.gift-message{display:flex;gap:12px;padding:22px 0;border-bottom:1px solid var(--line)}.gift-message span{font-size:25px}.gift-message strong{font-size:16px}.gift-message p{margin:5px 0 0;font-size:13px;color:var(--muted)}.amount-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:25px 0 12px}.amount-grid button{background:#fff;border:1px solid #dfe5ec;border-radius:14px;height:52px;font:inherit;font-size:14px;font-weight:700;cursor:pointer}.amount-grid button.selected{background:#edf4ff;border-color:var(--blue);color:#2769d5}.amount-input{display:none}.amount-input.visible{display:block}.notice{font-size:11px;line-height:1.5;color:#8b94a2;background:#f6f7f9;border-radius:12px;padding:12px;margin-top:18px}.is-disabled{pointer-events:none;opacity:.42}.centered-page{display:grid;place-items:center;padding:24px}.complete-card{text-align:center;width:100%;padding:20px}.success-orbit{width:92px;height:92px;border:9px solid #dff8e8;background:var(--green);color:#fff;border-radius:50%;display:grid;place-items:center;font-size:40px;font-weight:700;margin:0 auto 28px}.success-text{color:var(--green)}.complete-card h1{font-size:35px}.complete-card>p:not(.eyebrow){color:var(--muted);line-height:1.7;font-size:14px;margin:16px 0 27px}.progress-block{text-align:left;border:1px solid var(--line);border-radius:18px;padding:16px;margin-bottom:26px}.supporters{font-size:11px;color:var(--muted);display:block;margin-top:9px}.text-link{display:block;color:var(--muted);font-size:13px;text-decoration:none;margin-top:18px}.thankyou h1{font-size:34px;margin-bottom:26px}.photo-placeholder{height:214px;border:1.5px dashed #bbcadb;border-radius:20px;background:#f8fbff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;cursor:pointer}.photo-placeholder span{font-size:48px}.photo-placeholder strong{font-size:14px}.photo-placeholder small{font-size:11px;color:var(--muted)}.photo-placeholder.uploaded{border-style:solid;background:linear-gradient(135deg,#eaf4ff,#fff2ec)}.thanks-preview{display:flex;gap:11px;align-items:flex-start;background:#f4f8ff;border-radius:16px;padding:15px;margin-top:18px}.thanks-preview .avatar{flex:none}.thanks-preview strong{font-size:13px}.thanks-preview p{font-size:13px;margin:4px 0;color:#30343a}.thanks-preview span{font-size:11px;color:var(--muted)}.bottom-nav{position:sticky;bottom:0;background:#fffffff2;border-top:1px solid var(--line);height:70px;display:flex;justify-content:space-around;padding-top:10px;backdrop-filter:blur(8px)}.bottom-nav a{text-align:center;text-decoration:none;color:#9299a4;font-size:19px}.bottom-nav span{display:block;font-size:10px;margin-top:2px}.bottom-nav .active{color:var(--ink)}.toast{position:fixed;z-index:3;bottom:25px;left:50%;transform:translateX(-50%) translateY(15px);background:#111;color:white;padding:12px 16px;border-radius:12px;font-size:13px;opacity:0;transition:.25s;pointer-events:none}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(min-width:600px){body{padding:20px}.app-shell{box-shadow:0 0 0 1px #e8edf3,0 20px 60px #0f172a12;border-radius:28px;overflow:hidden;min-height:calc(100vh - 40px)}}
/* Create-wishlist controls for no-account local mode. */
.add-product-panel{margin-top:28px;padding:18px;border:1px solid var(--line);border-radius:18px;background:#fbfcfe}.panel-heading{display:flex;flex-direction:column;gap:3px}.panel-heading strong{font-size:16px}.panel-heading span{font-size:12px;color:var(--muted)}.emoji-choices{display:flex;gap:7px}.emoji-choices button{height:42px;width:42px;border:1px solid #dfe5ec;border-radius:12px;background:#fff;font-size:19px;cursor:pointer}.emoji-choices button.selected{border-color:var(--blue);background:#edf4ff}.draft-products{display:grid;gap:7px;margin-top:12px}.draft-product{display:flex;align-items:center;gap:9px;background:#fff;border-radius:11px;padding:9px;font-size:13px}.draft-product span{font-size:20px}.draft-product small{color:var(--muted);margin-left:auto}
.transfer-methods{margin:22px 0 16px}.transfer-methods .field-label{margin-top:0}.transfer-methods button{display:flex;align-items:center;gap:11px;width:100%;border:1px solid var(--line);border-radius:14px;background:#fff;margin:8px 0;padding:12px;text-align:left;cursor:pointer}.transfer-methods button:hover{border-color:#b8c9e2}.pay-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;font-size:14px;font-weight:700}.kakao{background:#fee500;color:#3c1e1e}.toss{background:#3182f6;color:#fff}.naver{background:#03c75a;color:#fff}.transfer-methods small{color:var(--muted);margin-left:auto;font-size:11px}.transfer-methods b{font-size:22px;font-weight:400;color:#9aa1ab}.pending-orbit{border-color:#e5efff;background:var(--blue);font-size:32px}.transfer-status{display:flex;justify-content:space-between;align-items:center;font-size:13px}.transfer-status small{color:#9aa1ab}.waiting-copy{font-size:14px;line-height:1.7;color:var(--muted);margin:16px 0 0}
.field-help{font-size:11px;line-height:1.5;color:var(--muted);margin:7px 0 0}.optional{font-weight:400;color:#9aa1ab}.product-image{position:relative}.product-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#fff;padding:9px}.share-chip{border:0;font:inherit;cursor:pointer}.payment-settings{padding-top:6px}.settings-copy{font-size:12px;line-height:1.6;color:var(--muted);margin:0}.payment-qr-preview{display:block;width:118px;height:118px;object-fit:contain;border:1px solid var(--line);border-radius:14px;padding:7px;margin-top:10px}.edit-hint{font-size:12px;color:var(--muted);margin:-5px 0 15px}.product-card{position:relative}.product-delete{position:absolute;z-index:1;right:12px;top:12px;border:0;border-radius:10px;background:#fffffff2;color:#68707c;padding:7px 9px;font:inherit;font-size:12px;cursor:pointer;box-shadow:0 2px 8px #1111}.product-delete:hover{background:#fff0f0;color:#d65252}.product-delete.is-locked{display:block;cursor:default;color:#27784a;background:#eafaf0;box-shadow:none}.participants-summary{margin:10px 0 24px;padding:18px;border-radius:18px;background:#f3f8ff}.participants-summary p{margin:0;color:var(--muted);font-size:13px}.participants-summary strong{display:block;margin:7px 0 4px;font-size:27px}.contributors-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.contributors-list li{display:flex;align-items:center;gap:11px;padding:15px 1px;border-bottom:1px solid var(--line);font-size:14px}.contributors-list li>span:last-child{margin-left:auto;font-weight:700}.contributor-avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#eaf2ff;color:#3975cf;font-size:13px;font-weight:700}.empty-contributors{display:block!important;text-align:center;color:var(--muted);padding:30px!important}.transfer-empty{font-size:13px;color:var(--muted);padding:14px 0;margin:0}.transfer-guide{margin-top:12px;padding:14px;border-radius:14px;background:#f5f8fc}.transfer-guide strong{font-size:13px}.transfer-guide p{font-size:12px;line-height:1.5;color:var(--muted);margin:5px 0 10px}.transfer-guide img{display:block;width:160px;height:160px;object-fit:contain;background:#fff;padding:8px;border-radius:10px}.transfer-guide code{display:block;padding:9px;background:#fff;border-radius:9px;font:inherit;font-size:12px;word-break:break-all}.transfer-guide button{margin-bottom:8px;border:0;border-radius:8px;padding:7px 9px;background:#e5eefb;color:#2867ce;font:inherit;font-size:12px;font-weight:700;cursor:pointer}
.kakao-login{background:#fee500;color:#191600;box-shadow:none}
.product-card > .product-image{height:auto;aspect-ratio:1 / 1}
.product-change-photo{position:absolute;z-index:1;right:72px;top:12px;border:0;border-radius:10px;background:#fffffff2;color:#2867ce;padding:7px 9px;font:inherit;font-size:12px;cursor:pointer;box-shadow:0 2px 8px #1111}
.product-actions{display:flex;gap:6px;align-items:center;justify-content:flex-end;padding:0 15px 15px}.product-actions .product-edit,.product-actions .product-close,.product-actions .product-delete{position:static;border:0;border-radius:10px;padding:8px 10px;font:inherit;font-size:12px;cursor:pointer;box-shadow:none}.product-actions .product-edit{background:#eef5ff;color:#2867ce}.product-actions .product-close{background:#111;color:#fff}.product-actions .product-delete{background:#f3f5f7;color:#68707c}.product-actions .product-delete.is-locked{cursor:default;color:#27784a;background:#eafaf0;box-shadow:none}
.product-editor-layer{position:fixed;z-index:20;inset:0;display:flex;align-items:flex-end;justify-content:center;height:var(--editor-viewport-height,100dvh);background:#1118;padding:max(14px,env(safe-area-inset-top)) 14px max(14px,env(safe-area-inset-bottom));overflow:hidden;overscroll-behavior:contain}
.product-editor{width:min(480px,100%);max-height:calc(100% - max(14px,env(safe-area-inset-top)) - max(14px,env(safe-area-inset-bottom)));margin:0;background:#fff;border-radius:24px;padding:22px;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;touch-action:pan-y;overscroll-behavior:contain;box-shadow:0 20px 60px #0004}
.product-editor-heading{display:flex;align-items:center;justify-content:space-between}.product-editor-heading h2{margin:0;font-size:21px}.product-editor-heading button{border:0;background:#f2f4f7;border-radius:10px;width:34px;height:34px;font-size:24px;line-height:1;cursor:pointer}
.product-editor .button{margin-top:24px}
.contribution-pending,.contribution-confirmed{font-style:normal;font-size:11px;padding:5px 7px;border-radius:8px;background:#fff5db;color:#a86b00;white-space:nowrap}.contribution-confirmed{background:#eafaf0;color:#23794c}.confirm-contribution{border:0;border-radius:9px;background:#111;color:#fff;padding:7px 9px;font:inherit;font-size:12px;cursor:pointer;white-space:nowrap}.confirm-contribution:disabled{opacity:.6}
.photo-picker{display:flex;align-items:center;justify-content:center;width:100%;height:52px;border:1px dashed #9fb9dc;border-radius:14px;background:#f8fbff;color:#2867ce;font:inherit;font-size:14px;font-weight:700;cursor:pointer}
.background-preview{margin-top:12px;padding:12px;border-radius:14px;background:#f5f8fc}.background-preview img{display:block;width:100%;max-height:210px;object-fit:contain;background-image:linear-gradient(45deg,#e4e9ef 25%,transparent 25%),linear-gradient(-45deg,#e4e9ef 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#e4e9ef 75%),linear-gradient(-45deg,transparent 75%,#e4e9ef 75%);background-size:18px 18px;background-position:0 0,0 9px,9px -9px,-9px 0}.background-preview div{display:flex;gap:8px;margin-top:10px}.background-preview button{flex:1;border:0;border-radius:10px;padding:10px;font:inherit;font-size:13px;cursor:pointer;background:#e4edf9;color:#2867ce}.background-preview button:first-child{background:#111;color:#fff}
.product-change-photo:disabled{opacity:.65;cursor:wait}
.product-photo-preview{aspect-ratio:1 / 1}
[data-owner-avatar]{position:relative;width:76px;height:76px;overflow:hidden;border-radius:50%}
[data-owner-avatar] img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover}
[data-owner-title]{overflow-wrap:anywhere}
[data-owner-copy]{white-space:pre-line}
.product-photo-preview{display:block;width:100%;height:auto;object-fit:contain;margin-top:12px;border:1px solid var(--line);border-radius:14px;background:#fff}
.product-photo-preview[hidden],[data-remove-product-photo][hidden]{display:none}
.qr-guide{margin:16px 0;padding:14px;border:1px solid var(--line);border-radius:14px;background:#f8fbff}
.qr-guide summary{cursor:pointer;font-size:13px;font-weight:700;color:#2867ce}
.qr-guide p,.qr-guide small{font-size:12px;line-height:1.7;color:var(--muted)}
.qr-guide img{display:block;width:100%;height:auto;margin:10px 0;border-radius:8px}
[data-account-avatar]{position:relative;width:76px;height:76px;min-width:76px;min-height:76px;overflow:hidden;border-radius:50%;isolation:isolate}
[data-account-avatar] img{position:absolute;inset:0;display:block;width:100%;height:100%;min-width:0;min-height:0;object-fit:cover}
.profile [data-account-name]{margin:16px 0 8px;line-height:1.4;overflow-wrap:anywhere}
.profile-actions{display:flex;justify-content:center;gap:5px}.profile-name-toggle{border:0;background:transparent;color:#718096;font:inherit;font-size:12px;text-decoration:underline;cursor:pointer;padding:2px 5px}.display-name-layer{position:fixed;z-index:30;inset:0;display:grid;align-items:end;background:#1118;padding:14px}.display-name-modal,.profile-avatar-modal{width:min(480px,100%);margin:auto;background:#fff;border-radius:24px;padding:22px;box-shadow:0 20px 60px #0004}.display-name-modal p,.profile-avatar-modal p{margin:11px 0 2px;color:var(--muted);font-size:13px}.display-name-modal .button,.profile-avatar-modal .button{margin-top:12px}.profile-avatar-modal [data-avatar-preview]{margin:18px auto}.profile-avatar-modal [data-avatar-preview] img{width:100%;height:100%;object-fit:cover}
.empty-state{padding:24px 16px;border:1px dashed #cfd8e5;border-radius:16px;color:var(--muted);font-size:13px;line-height:1.6;text-align:center}
.pending-confirmations{padding-bottom:8px}.pending-confirmation-list{list-style:none;margin:13px 0 0;padding:0;border-top:1px solid var(--line)}.pending-confirmation-list li{display:flex;align-items:center;gap:10px;padding:13px 1px;border-bottom:1px solid var(--line)}.pending-confirmation-list li>div{min-width:0;flex:1}.pending-confirmation-list strong,.pending-confirmation-list small{display:block;font-size:13px;line-height:1.45}.pending-confirmation-list small{color:var(--muted);font-size:11px;margin-top:2px}.pending-badge{position:absolute;right:16px;top:12px;z-index:4;min-width:19px;height:19px;padding:0 5px;border-radius:10px;background:#ef4444;color:#fff;font-size:11px;font-weight:700;line-height:19px;text-align:center;box-shadow:0 2px 6px #ef444455}
.pending-anchor{position:relative}.pending-anchor .pending-badge{right:-6px;top:-6px}
.home-wishlist-status{margin:24px 0 -8px}.home-wishlist-list{display:grid;gap:9px}.home-wishlist-card{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid #dce8fa;border-radius:18px;background:#fff;text-decoration:none;color:var(--ink);box-shadow:0 8px 20px #3b82f610}.home-wishlist-image{position:relative;display:grid;flex:none;place-items:center;width:54px;height:54px;overflow:hidden;border-radius:14px;background:var(--image-bg,#f2f7ff);font-size:28px}.home-wishlist-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#fff}.home-wishlist-card>div:nth-child(2){display:grid;gap:3px;min-width:0;flex:1}.home-wishlist-card p,.home-wishlist-card span{margin:0;color:var(--muted);font-size:11px}.home-wishlist-card strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.home-wishlist-card>b{font-size:22px;color:var(--blue);font-weight:400}
.home-list-summary{border:1px solid #d7efed;border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 8px 20px #18b9c714}.home-list-main{display:flex;align-items:center;gap:12px;padding:13px;text-decoration:none;color:var(--ink)}.home-list-main>div:nth-child(2){display:grid;gap:4px;min-width:0;flex:1}.home-list-main p,.home-list-main span{margin:0;color:var(--muted);font-size:11px}.home-list-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px}.home-list-main .home-list-deadline{color:#98a1ae;font-size:11px}.home-list-main> b{font-size:22px;color:#159eaa;font-weight:400}.home-list-main i{display:block;height:5px;overflow:hidden;border-radius:99px;background:#edf0f3}.home-list-main i b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--coral),var(--orange))}.home-list-actions{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #e5f0ef}.home-list-actions a{padding:10px;text-align:center;color:#118b95;text-decoration:none;font-size:12px;font-weight:700}.home-list-actions a+a{border-left:1px solid #e5f0ef}
.hero-visual[hidden]{display:none}
.hero.has-wishlist{padding-top:30px;background:linear-gradient(180deg,#f2fbfa 0%,#fffefb 78%)}.hero.has-wishlist>.eyebrow{display:none}.hero.has-wishlist>h1{font-size:28px;letter-spacing:-.05em}.hero.has-wishlist>.hero-copy{margin:8px 0 16px;font-size:13px}.hero.has-wishlist [data-home-primary-action]{height:44px;margin-top:14px;border:1px dashed #99d9d5;border-radius:14px;background:transparent;color:#118b95;box-shadow:none;font-size:13px}.hero.has-wishlist [data-home-primary-action] span{font-size:16px}.home-list-summary{background:#f9fffe;border-color:#cdebe8;box-shadow:none}.home-list-main{background:linear-gradient(135deg,#faffff,#f5fbff)}.home-list-actions{background:#edf9f8;border-top-color:#d4eeeb}.home-list-actions a{color:#117f88}.home-list-actions a+a{border-left-color:#d4eeeb}
.home-list-main [data-home-product-image]{transition:opacity .16s ease,transform .16s ease}.home-list-main [data-home-product-image].is-changing{opacity:0;transform:scale(.92)}
.birthday-fields{display:flex;align-items:center;gap:7px;margin-top:16px}.birthday-fields .text-field{min-width:0;flex:1;appearance:auto;padding:14px 10px}.birthday-fields>span{font-size:13px;font-weight:700}.birthday-locked{margin:15px 0 0;padding:13px;border-radius:14px;background:#f3f8ff;color:#2867ce;font-size:13px;line-height:1.55}
.product-proof-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.thankyou .form-description{margin-bottom:20px}.thankyou .photo-placeholder.uploaded{border-color:#89b5f5;background:#edf5ff}.thankyou .photo-placeholder.uploaded span{color:#2867ce}
.proof-image{display:block;width:100%;max-height:430px;object-fit:contain;border-radius:20px;background:#f4f7fb;margin:20px 0}
.payment-configured{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:15px 0 4px;padding:15px;border-radius:16px;background:#eef8f1}.payment-configured strong,.payment-configured span{display:block}.payment-configured strong{font-size:13px;color:#23794c}.payment-configured span{font-size:11px;color:#5d7b68;margin-top:3px}.payment-configured button{border:0;border-radius:9px;background:#fff;color:#23794c;padding:8px 9px;font:inherit;font-size:11px;font-weight:700;white-space:nowrap;cursor:pointer}
/* Profile and wishlist hierarchy refresh */
.profile-edit-button{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:999px;background:#fff;color:#536070;padding:7px 11px;margin-top:1px;font:inherit;font-size:12px;font-weight:700;cursor:pointer}.profile-edit-button span{font-size:17px;font-weight:400;line-height:10px}.profile-edit-sheet{width:min(480px,100%);margin:auto;background:#fff;border-radius:24px;padding:22px;box-shadow:0 20px 60px #0004}.profile-edit-sheet>p{margin:11px 0 16px;color:var(--muted);font-size:13px}.profile-edit-sheet>button:not(.product-editor-heading button){display:flex;align-items:center;width:100%;gap:12px;border:1px solid var(--line);border-radius:16px;background:#fff;padding:14px;text-align:left;margin-top:9px;cursor:pointer}.profile-edit-sheet>button>span{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#edf4ff;color:#2867ce;font-size:17px}.profile-edit-sheet>button>div{flex:1}.profile-edit-sheet strong,.profile-edit-sheet small{display:block}.profile-edit-sheet strong{font-size:14px}.profile-edit-sheet small{margin-top:3px;color:var(--muted);font-size:11px}.profile-edit-sheet b{font-size:20px;font-weight:400;color:#9aa4b1}
.product-tags{display:flex;flex-direction:column;align-items:flex-end;gap:5px;flex:none}.product-state{display:inline-flex;align-items:center;border-radius:999px;padding:4px 7px;background:#f1f4f7;color:#667085;font-size:10px;font-weight:700;white-space:nowrap}.product-state.state-open{background:#eafaf0;color:#23794c}.product-state.state-closed{background:#f2f3f5;color:#737b87}.product-state.state-proof_posted{background:#edf4ff;color:#2867ce}.product-state.state-draft{background:#fff5db;color:#a86b00}.product-actions{justify-content:flex-start;gap:7px;padding:12px 15px 14px;border-top:1px solid var(--line);background:#fbfcfe}.product-actions .product-edit,.product-actions .product-close,.product-actions .product-delete{min-height:36px;padding:8px 11px;border-radius:11px;font-size:12px}.product-actions .product-edit{background:#fff;border:1px solid #dce5f1;color:#2867ce}.product-actions .product-delete{background:#fff;border:1px solid #e6e9ed;color:#7b8390}.product-actions .product-close{margin-left:auto;background:#111;color:#fff}.product-actions .product-delete.is-locked{margin-right:auto;border:0;background:#f1f3f5;color:#69727f}.product-actions .product-proof-link{min-height:36px;padding:8px 11px;border-radius:11px;font-size:12px}.card-bottom>span{color:#89919d}

.participant-product-card{display:flex;gap:13px;align-items:center;margin:14px 0;padding:13px;border:1px solid var(--line);border-radius:18px;background:#fff}.participant-product-image{position:relative;display:grid;place-items:center;flex:none;width:66px;height:66px;overflow:hidden;border-radius:15px;background:var(--image-bg,#f2f7ff);font-size:32px}.participant-product-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#fff}.participant-product-card>div:last-child{display:grid;gap:4px;flex:1;min-width:0}.participant-product-card p,.participant-product-card span{margin:0;font-size:12px;color:var(--muted)}.participant-product-card strong{font-size:17px}.participant-product-card .progress{margin-top:5px}

/* My-page management actions are visually separated from the product details. */
.product-card .product-actions{background:#1d2634;border-top:0;padding:11px 13px 13px}.product-actions .product-edit,.product-actions .product-delete{background:#344154;border-color:#47576d;color:#f5f8fc}.product-actions .product-close{background:#fff;color:#17202d}.product-actions .product-delete.is-locked{background:#2a3748;color:#d5dfeb}

/* Product management: a quiet separate panel, with one clear primary action. */
.product-card .product-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:0 12px 12px;padding:10px;border:1px solid #e4e9ef;border-radius:15px;background:#f6f8fb}.product-actions-label{grid-column:1 / -1;color:#8a95a3;font-size:11px;font-weight:700;letter-spacing:.02em}.product-actions .product-edit,.product-actions .product-delete,.product-actions .product-close{display:grid;place-items:center;width:100%;min-height:38px;margin:0!important;border-radius:10px;font-size:12px;font-weight:700}.product-actions .product-edit{border:1px solid #dfe5ed;background:#fff;color:#3d5066}.product-actions .product-delete{border:1px solid #e9e1e1;background:#fff;color:#8a5f66}.product-actions .product-close{border:1px solid #1d2939;background:#1d2939;color:#fff}.product-actions .product-delete.is-locked{border:1px solid #dfe5ed;background:#eef2f6;color:#657386}.product-actions .product-proof-link{display:grid;place-items:center;text-decoration:none}

/* Two calm actions per product: edit/delete live inside the editor. */
.product-card .product-actions{grid-template-columns:repeat(2,minmax(0,1fr));padding:8px}.product-actions-label{display:none}.editor-delete{display:block;width:100%;margin-top:13px;border:0;background:transparent;color:#a65c66;font:inherit;font-size:12px;font-weight:700;cursor:pointer}

.product-editor .editor-delete{height:54px;display:flex;align-items:center;justify-content:center;margin-top:10px;border:1px solid #f0d9dd;border-radius:16px;background:#fff6f7;color:#ad5662;font:inherit;font-size:15px;font-weight:700;cursor:pointer}.product-editor .editor-delete:disabled{opacity:.6}
.editor-product-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0 20px;padding:14px;border-radius:14px;background:#f5f7fa}.editor-product-summary strong{font-size:14px}.editor-product-summary span{color:#536070;font-size:13px;font-weight:700}

.category-picker{margin:0 0 24px}.category-picker .field-label{margin:0 0 10px}.category-picker>div{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.category-picker button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:70px;border:1px solid #e1e7ee;border-radius:14px;background:#fff;color:#566372;font:inherit;font-size:19px;cursor:pointer}.category-picker button span{font-size:11px;font-weight:700;white-space:nowrap}.category-picker button.selected{border-color:#3b82f6;background:#edf4ff;color:#2465c3;box-shadow:0 0 0 2px #3b82f615}





.draft-product-thumb{display:grid;place-items:center;flex:none;width:48px;height:48px;overflow:hidden;border-radius:12px;background:#f2f5f8;object-fit:contain}.draft-product-emoji{font-size:21px}
[hidden]{display:none!important}
.product-actions .product-change{grid-column:1 / -1;min-height:36px;border:1px solid #dce5f1;border-radius:11px;background:#fff;color:#2867ce;font:inherit;font-size:12px;font-weight:700;cursor:pointer}.gift-replacement-options{display:grid;gap:9px;margin-top:18px}.gift-replacement-options>button,.gift-replacement-options>a{display:block;width:100%;border:1px solid var(--line);border-radius:16px;background:#fff;padding:14px;text-align:left;color:var(--ink);text-decoration:none;font:inherit;cursor:pointer}.gift-replacement-options>button:disabled{opacity:.55;cursor:not-allowed}.gift-replacement-options strong,.gift-replacement-options small{display:block}.gift-replacement-options strong{font-size:14px}.gift-replacement-options small{margin-top:4px;color:var(--muted);font-size:12px;line-height:1.45}
.heart-change-badge{display:inline-block;margin-left:6px;padding:2px 5px;border-radius:6px;background:#edf4ff;color:#2867ce;font-size:10px;font-style:normal;font-weight:700;vertical-align:2px}
html{background:#fffefb}body{min-height:100vh;background:#fffefb}.list-context-summary{display:grid;gap:3px;margin:18px 0 20px;padding:14px 15px;border:1px solid #dcebe8;border-radius:15px;background:#f5fbfa}.list-context-summary span,.list-context-summary small{color:var(--muted);font-size:11px}.list-context-summary strong{font-size:15px;color:var(--ink)}.form-page:has(.list-context-summary){padding-bottom:112px}.form-page:has(.list-context-summary) .sticky-button{position:sticky;bottom:max(12px,env(safe-area-inset-bottom));z-index:4;margin:22px 0 0;box-shadow:0 10px 24px #10243f2b}
.form-page.is-adding-to-list>.category-picker,.form-page.is-adding-to-list>label:has(+#list-title),.form-page.is-adding-to-list>#list-title,.form-page.is-adding-to-list>label:has(+#list-note),.form-page.is-adding-to-list>#list-note{display:none}.list-context-summary.is-loading{min-height:66px;background:linear-gradient(100deg,#f5fbfa 20%,#fff 45%,#f5fbfa 70%);background-size:220% 100%;animation:list-context-loading 1.2s ease-in-out infinite}.list-context-summary.is-loading strong{color:#7b8794}@keyframes list-context-loading{to{background-position:-220% 0}}
.funding-progress{display:flex}.funding-progress i{flex:none}.funding-progress .pending-progress{background:#bcd6ff}
.funding-legend{display:flex;flex-wrap:wrap;gap:5px 12px;font-size:11px;color:#3b6fb8;margin-top:8px}.funding-legend span:last-child{color:#778dad}
.wishlist-share-dialog{width:min(440px,92vw);max-height:90dvh;border:0;border-radius:22px;padding:24px;overflow:auto}.wishlist-share-dialog::backdrop{background:#10182899}.wishlist-share-dialog img{width:100%;border-radius:14px}.wishlist-share-dialog p{font-size:13px;line-height:1.6;color:#667085}.wishlist-share-dialog [data-close]{float:right;border:0;background:#f1f5f9;border-radius:9px;padding:8px;cursor:pointer}
.wishlist-share-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px}.wishlist-share-actions .button{width:100%;min-width:0;margin:0;padding:14px 6px;font-size:14px;white-space:nowrap}
.product-proof-link{position:relative}.product-actions .product-proof-link.proof-needed{background:#a94b0b;color:#fff;border:1px solid #a94b0b;white-space:nowrap}.product-actions .product-proof-link.proof-needed:hover{background:#873c09;border-color:#873c09}.product-actions .product-proof-link.proof-needed:focus-visible{outline:3px solid #fed7aa;outline-offset:3px}
.home-wishlist-card p{display:flex;align-items:center;gap:7px;white-space:nowrap;overflow:hidden}.home-proof-hint{display:inline-block;flex-shrink:0;padding:1px 6px;border-radius:5px;background:#fff0d9;color:#9a4a12;font-size:10px;font-style:normal;font-weight:600}
.thankyou button.photo-placeholder{width:100%;font:inherit;color:inherit}.thankyou [data-thanks-photo-preview]{margin-top:16px}
.thankyou .photo-placeholder[hidden],.proof-photo-thumbnails[hidden]{display:none}
.proof-photo-thumbnails{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:16px}
.proof-photo-thumbnails figure{margin:0;min-width:0;padding:8px;border:1px solid #e8ebef;border-radius:16px;background:#faf9f6}
.proof-photo-thumbnails .proof-image{width:100%;height:150px;max-height:none;object-fit:contain;margin:0;border-radius:10px;background:transparent}
.proof-photo-thumbnails button{display:block;margin:8px auto 0;padding:6px 12px;border:0;border-radius:8px;background:white;color:#647084;font:inherit;font-size:12px;cursor:pointer}
.proof-photo-gallery .proof-image{object-fit:contain;height:auto}
.product-actions .product-thanks-share,.thankyou [data-thanks-share]{background:#fee500;border:1px solid #fee500;color:#302515;font-weight:700}
.product-actions .product-thanks-share:hover,.thankyou [data-thanks-share]:hover{background:#f2d900;border-color:#f2d900}
.product-actions .product-thanks-share:focus-visible,.thankyou [data-thanks-share]:focus-visible{outline:3px solid #b58208;outline-offset:3px}
.thanks-dialog h2{font-size:22px}.thanks-dialog .button{margin-top:12px}
.thanks-delivery{display:flex;flex-wrap:wrap;align-items:center;gap:8px;grid-column:1 / -1;width:100%;font-size:12px}
.thanks-delivery button{border:1px solid #e6dfc4;border-radius:9px;padding:8px 10px;background:#fff9d6;color:#514016;cursor:pointer;font:inherit}
.thanks-done{color:#287050}.thanks-pending{color:#9a570f}
.thanks-summary{display:flex!important;flex-direction:column;align-items:flex-start!important;gap:8px;padding:16px!important;background:#faf9f6;border-radius:14px;margin-bottom:12px}
.thanks-summary small{font-size:11px;color:#667085}.thanks-summary label{font-size:13px}
[data-contribution-id]{flex-wrap:wrap}[data-contribution-id][hidden]{display:none!important}
.proof-alert,.home-wishlist-card .proof-alert,.collection-main .proof-alert{display:inline-flex;align-items:center;gap:5px;width:fit-content;margin:5px 0 0;padding:5px 8px;border-radius:8px;background:#fff4e6;color:#9a4a12;font-size:12px;font-style:normal;font-weight:700;white-space:normal}.proof-alert::before{content:"";width:7px;height:7px;flex-shrink:0;border-radius:50%;background:#d97706}.proof-action-badge{display:inline-block;margin-left:6px;padding:3px 5px;border-radius:6px;background:#ffe4e2;color:#9a4a12;font-size:10px;font-weight:700}.proof-reminder{color:#9a4a12;background:#fff4e6;border:1px solid #fed7aa}
.sent-record{border:1px solid var(--line);border-radius:16px;padding:16px;margin-bottom:10px}.sent-record strong{font-size:14px}.sent-record p{font-size:13px;margin:9px 0}.sent-record small{color:var(--muted);font-size:11px}
.reject-contribution{border:1px solid #e4d3d3;border-radius:10px;padding:8px;background:#fff;color:#8c4949;font:inherit;font-size:12px;cursor:pointer}
[data-receipt-login]{margin:24px 0}[data-receipt-login] p{font-size:13px;line-height:1.7;color:var(--muted)}
.wishlist-collection{border:1px solid var(--line);border-radius:20px;padding:16px;margin-bottom:14px;background:#fff;box-shadow:0 4px 16px #11104}
.collection-main{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none}.collection-main>div{display:grid;gap:4px;flex:1;min-width:0}.collection-main h3{margin:0;font-size:18px;overflow-wrap:anywhere}.collection-main small{color:var(--blue);font-size:12px}.collection-main p{margin:0;color:var(--muted);font-size:12px}.collection-main .collection-deadline{color:#98a1ae;font-size:11px}.deadline-countdown{margin-left:4px;color:#d85c51;font-style:normal;font-weight:800}.collection-icon{font-size:30px}.collection-product-image{display:grid;place-items:center;position:relative;flex:none;width:54px;height:54px;overflow:hidden;border-radius:14px;background:#f2f7ff;font-size:28px;transition:opacity .16s ease,transform .16s ease}.collection-product-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#fff}.collection-product-image.is-changing{opacity:0;transform:scale(.92)}
.collection-actions,.list-owner-actions{display:flex;gap:10px}.collection-actions{margin-top:16px}.collection-actions .button,.list-owner-actions .button{flex:1;margin:0;font-size:13px;min-width:0}.list-owner-actions{padding:0 22px 20px}
.emoji-choices button:disabled{opacity:.35;cursor:default}
.qr-guide-viewer{position:fixed;inset:0;width:100%;max-width:100vw;height:100%;max-height:100dvh;margin:0;border:0;padding:70px 16px 24px;background:rgba(15,23,42,.96);overflow:auto;color:#fff}
.qr-guide-viewer::backdrop{background:rgba(15,23,42,.9)}
.qr-guide-viewer img{display:block;width:100%;max-width:900px;height:auto;margin:auto}
.qr-guide-close{position:fixed;top:max(16px,env(safe-area-inset-top));right:20px;z-index:1;border:1px solid #ffffff55;border-radius:12px;background:#17202d;color:white;padding:12px 16px;font:inherit;cursor:pointer}
.account-help h2{margin:4px 0 13px;font-size:21px;letter-spacing:-.05em}.account-help>a{display:flex;align-items:center;justify-content:space-between;padding:15px 2px;border-top:1px solid var(--line);color:var(--ink);text-decoration:none;font-size:14px}.account-help>a:last-child{border-bottom:1px solid var(--line)}.account-help>a span{color:#9aa1ab;font-size:18px}.account-help .account-delete-link{color:#9b525c}
/* Kakao-inspired home gift hero */
.hero-visual{background:#fee500;overflow:hidden}.hero-visual img{display:block;width:100%;height:100%;object-fit:contain}.hero-visual span,.hero-visual i,.hero-visual b{display:none}
.contribution-amount-picker{padding:24px 0 0}.contribution-amount-picker h2{margin:0;font-size:22px;letter-spacing:-.05em}.amount-presets{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:18px 0 10px}.amount-presets button{height:50px;border:1px solid #dfe5ec;border-radius:14px;background:#fff;color:var(--ink);font:inherit;font-size:14px;font-weight:700;cursor:pointer}.amount-presets button.is-selected{border-color:#f1c500;background:#fff9cc;color:#4c3b00;box-shadow:inset 0 0 0 1px #f1c500}.custom-amount-card,.guest-sender-card{margin-top:12px;padding:15px;border:1px solid #e1e7ee;border-radius:16px;background:#fbfcfe}.custom-amount-card .field-label,.guest-sender-card .field-label{margin-top:0}.button:disabled{cursor:not-allowed;opacity:.5;box-shadow:none}

/* GIFTO palette: a calm canvas with the icon's pooled-gift colours as accents. */
:root{--ink:#10243f;--blue:#18b9c7;--green:#4cab78;--bg:#fffdf8;--line:#e8e6e1;--muted:#6f7781;--coral:#ff6f70;--orange:#ffad46;--lavender:#ad8af2;--lime:#b9df50;--navy:#10243f;--soft-teal:#e7f8f7;--soft-coral:#fff0ef;--soft-lavender:#f4efff}
.app-shell{background:#fffefb}.brand-mark{background:var(--navy);color:#fff}.eyebrow{color:#159eaa}.hero-visual{background:linear-gradient(135deg,var(--soft-teal),var(--soft-lavender))}.hero-visual b{color:var(--coral)}.button-primary,.card-button{background:var(--navy);box-shadow:0 6px 14px #10243f24}.button-ghost{background:var(--soft-teal)}.count{background:var(--soft-teal);color:#118b95}.share-chip{background:var(--soft-teal);color:#118b95}.progress i{background:linear-gradient(90deg,var(--coral),var(--orange))}.wish-hero{background:linear-gradient(180deg,var(--soft-teal),#fffefb)}.text-field:focus{border-color:var(--blue);box-shadow:0 0 0 3px #18b9c71c}.amount-grid button.selected,.emoji-choices button.selected{background:var(--soft-teal);border-color:var(--blue);color:#118b95}.participants-summary{background:var(--soft-lavender)}.contributor-avatar{background:var(--soft-teal);color:#118b95}.home-wishlist-card{border-color:#d7efed;box-shadow:0 8px 20px #18b9c714}.home-wishlist-card>b{color:#159eaa}.profile-edit-sheet>button>span{background:var(--soft-teal);color:#118b95}.category-picker button.selected{border-color:var(--blue);background:var(--soft-teal);color:#118b95;box-shadow:0 0 0 2px #18b9c71c}.account-help .account-delete-link{color:#bd5961}

/* Keep navigation visible when the native WebView applies a top safe-area inset. */
.topbar{position:sticky;top:0;z-index:10;background:#fffefbf2;backdrop-filter:blur(10px)}
@supports (padding-top:max(0px,env(safe-area-inset-top))){.topbar{height:calc(70px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 22px 0}}
.button.kakao-login{background:#fee500;color:#191600;box-shadow:none}
.profile-edit-sheet>button.profile-signout{border-color:#f2dfe1}.profile-edit-sheet>button.profile-signout>span{background:#fff0f1;color:#b4515b}.profile-edit-sheet>button.profile-signout strong{color:#9d4650}

/* Home is split into two calm zones: my lists are mint and friends are lilac.
   Both sections deliberately use the same product-image frame. */
.home{background:#fbfcfc}
.home .hero.has-wishlist{background:linear-gradient(180deg,#e7f7f5 0%,#f7fcfb 82%)}
.home .home-wishlist-status{margin-top:20px}
.home .home-list-summary{border-color:var(--list-accent,#bfe3df);background:#f7fffe}
.home .home-list-main{background:linear-gradient(135deg,var(--list-accent,#e7f7f5),#fbffff 62%)}
.home .home-list-actions{background:#e5f5f2;border-top-color:#cce9e5}
.home #friend-wishlists{margin-top:0;padding-top:42px;padding-bottom:34px;background:linear-gradient(180deg,#f7fcfb 0%,#f3f7fa 18%,#f7f5ff 55%,#f8f7ff 100%);border-top:0}
.home #friend-wishlists .section-heading .eyebrow{color:#7461a8}
.home #friend-wishlists .section-heading a{color:#6d5c9d;font-weight:700}
.home .home-wishlist-image,
.home [data-friend-list] .friend-thumb{width:64px;height:64px;flex-basis:64px;border:1px solid #e4e6e8;border-radius:16px;background:#fff;font-size:28px}
.home .home-wishlist-image img,
.home [data-friend-list] .friend-thumb img{object-fit:contain;background:transparent;padding:4px}
.home [data-friend-list] .friend-thumb.friend-thumb-photo{background:#fff}
.home [data-friend-list] .friend-card{min-height:112px;padding:15px 12px 15px 15px;gap:5px;border-color:#e0ddec;border-radius:20px;background:#fcfbff;box-shadow:none}
.home [data-friend-list] .friend-copy{display:grid;gap:4px}.home [data-friend-list] .friend-copy strong{margin:0;font-size:15px}
.home [data-friend-list] .friend-copy span{color:#76649e}
.home [data-friend-list] .friend-pages button[aria-current=true]::after{background:#65518f}

/* Alert meaning is carried by one stable colour: money red, proof orange, thanks green. */
.product-card>.product-image{font-size:150px}
.replacement-transfer-amount{display:flex;align-items:center;justify-content:space-between;margin:14px 0 18px;padding:12px 14px;border-radius:12px;background:#f2fbfa;color:#16878e;font-size:12px}.replacement-transfer-amount strong{font-size:15px;color:#10243f}
.notification-preference-list{border-top:1px solid var(--line)}.notification-preference-list label{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 2px;border-bottom:1px solid var(--line);cursor:pointer}.notification-preference-list label>span{display:grid;gap:3px}.notification-preference-list strong{font-size:14px}.notification-preference-list small{color:var(--muted);font-size:11px}.notification-preference-list input{appearance:none;position:relative;flex:none;width:44px;height:25px;margin:0;border:0;border-radius:99px;background:#d7dde5;cursor:pointer;transition:background .18s}.notification-preference-list input::after{content:'';position:absolute;top:3px;left:3px;width:19px;height:19px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #1113;transition:transform .18s}.notification-preference-list input:checked{background:#18b9c7}.notification-preference-list input:checked::after{transform:translateX(19px)}.notification-preference-list input:focus-visible{outline:3px solid #18b9c733;outline-offset:3px}
.birthday-preparation-card{display:flex;align-items:center;gap:11px;margin:0 0 12px;padding:13px 14px;border:1px solid #f1d5a6;border-radius:17px;background:linear-gradient(135deg,#fff9e9,#fffdf8);color:#4d3517}.birthday-preparation-card>span{display:grid;place-items:center;flex:none;width:42px;height:42px;border-radius:13px;background:#fff0c8;font-size:24px}.birthday-preparation-card>div{display:grid;min-width:0;flex:1;gap:2px}.birthday-preparation-card small{color:#bd7540;font-size:11px;font-weight:800}.birthday-preparation-card strong{font-size:13px}.birthday-preparation-card p{margin:0;color:#8e7b67;font-size:11px}.birthday-preparation-card>a{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:#fff0c8;color:#9b621f;text-decoration:none;font-size:18px;font-weight:800}
#my-lists .section-heading>a{color:var(--ink);font-weight:700}
.pending-confirmations .eyebrow{color:#d0444d}
.pending-confirmations .count{background:#fff0f1;color:#d0444d}
.pending-confirmations .confirm-contribution{background:#d0444d}
.pending-confirmations .confirm-contribution:hover{background:#b73640}
.product-actions .product-proof-link.proof-needed{background:#d97716;border-color:#d97716}
.product-actions .product-proof-link.proof-needed:hover{background:#b95f0a;border-color:#b95f0a}
.thanks-inbox .eyebrow{color:#2f8a58}
.thanks-inbox .sent-record{border-color:#cce9d7;background:#f5fcf7}
.thanks-inbox .sent-record strong{color:#24734a}
.thanks-inbox .sent-record a{display:inline-flex;margin-top:2px;color:#24734a;font-size:12px;font-weight:700;text-decoration:none}
.participant-columns,.contributors-list[data-participants] li[data-contribution-id]{display:grid;grid-template-columns:34px minmax(0,1fr) minmax(80px,max-content) 100px;gap:10px;align-items:center}
.participant-columns{padding:10px 1px;color:var(--muted);font-size:11px;border-top:1px solid var(--line)}
.participant-columns>span:first-child{grid-column:1 / 3}
.participant-columns>span:nth-child(2){text-align:center}
.participant-columns>span:last-child{text-align:center}
.contributors-list[data-participants] li[data-contribution-id]>strong{min-width:0;overflow-wrap:anywhere}
.contributors-list[data-participants] .contributor-avatar{position:relative;overflow:hidden;min-width:0;min-height:0;aspect-ratio:1;align-self:center}
.contributors-list[data-participants] .contributor-avatar>img{position:absolute;inset:0;display:block;width:100%;height:100%;min-width:0;min-height:0;object-fit:cover;object-position:center}
.contributors-list[data-participants] li[data-contribution-id]>span:nth-child(3){text-align:center;font-variant-numeric:tabular-nums;white-space:nowrap;margin:0;font-weight:600}
.contributors-list[data-participants] li[data-contribution-id]>em{justify-self:stretch;text-align:center;white-space:normal;line-height:1.5}
.contributors-list[data-participants] li[data-contribution-id][hidden]{display:none}
@media(max-width:380px){.participant-columns,.contributors-list[data-participants] li[data-contribution-id]{grid-template-columns:28px minmax(0,1fr) minmax(72px,max-content) 86px;gap:6px}.contributors-list[data-participants] li[data-contribution-id]{font-size:12px}.contributors-list[data-participants] .contributor-avatar{width:28px;height:28px}}
