:root{--font: "Outfit", system-ui, -apple-system, sans-serif;--r-sm: 8px;--r-md: 12px;--r-lg: 14px;--r-xl: 20px;--r-pill: 999px;--touch: 44px;--bg: #F6F5FB;--surface: #FFFFFF;--surface-muted: #EEECF7;--text: #1A1830;--text-muted: #5E5B7A;--border: #E0DEEE;--primary: #5B3FD1;--on-primary: #FFFFFF;--teal: #1BA39C;--teal-text: #0F7F79;--sun: #F5B83D;--sun-text: #9A6400;--idea-bg: #EEECF7;--idea-fg: #5E5B7A;--bought-bg: #FBEBC8;--bought-fg: #9A6400;--wrapped-bg: #D6F2EF;--wrapped-fg: #0F6B66;--danger: #C62F4B;--logo-bg: #1A1830;color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #0E0D1C;--surface: #17152B;--surface-muted: #221F3D;--text: #ECEAF8;--text-muted: #A19DC2;--border: #2A2745;--primary: #9A85FF;--on-primary: #0E0D1C;--teal: #3FE0D0;--teal-text: #3FE0D0;--sun: #F5C55A;--sun-text: #F5C55A;--idea-bg: #221F3D;--idea-fg: #A19DC2;--bought-bg: #3A2F12;--bought-fg: #F5C55A;--wrapped-bg: #123A39;--wrapped-fg: #3FE0D0;--danger: #FF7A8F;--logo-bg: #1E1B3A;color-scheme:dark}}:root[data-theme=dark]{--bg: #0E0D1C;--surface: #17152B;--surface-muted: #221F3D;--text: #ECEAF8;--text-muted: #A19DC2;--border: #2A2745;--primary: #9A85FF;--on-primary: #0E0D1C;--teal: #3FE0D0;--teal-text: #3FE0D0;--sun: #F5C55A;--sun-text: #F5C55A;--idea-bg: #221F3D;--idea-fg: #A19DC2;--bought-bg: #3A2F12;--bought-fg: #F5C55A;--wrapped-bg: #123A39;--wrapped-fg: #3FE0D0;--danger: #FF7A8F;--logo-bg: #1E1B3A;color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;max-width:100%;overflow-x:clip}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:16px;font-weight:400;line-height:1.45;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}h1,h2,h3{font-weight:800;letter-spacing:-.02em;line-height:1.1;margin:0}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:12px;padding:calc(env(safe-area-inset-top,0px) + 10px) 16px 10px;background:var(--bg);border-bottom:1px solid var(--border)}.topbar .logo{width:44px;height:44px;flex:none;border-radius:var(--r-md);background:var(--logo-bg);display:grid;place-items:center;overflow:hidden}.topbar .logo img{width:44px;height:44px;display:block}.titles{flex:1;min-width:0}.wordmark{font-size:1.5rem;white-space:nowrap}.groupname{font-size:.85rem;color:var(--text-muted);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.icon-btn.avatar{border-radius:var(--r-pill);background:var(--primary);color:var(--on-primary);border:0;font-weight:800}.wordmark span{color:var(--primary)}.icon-btn{min-width:var(--touch);min-height:var(--touch);display:grid;place-items:center;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);cursor:pointer;font-size:1.15rem}.btn{min-height:var(--touch);padding:0 18px;border:0;border-radius:var(--r-pill);font-weight:700;cursor:pointer}.btn-primary{background:var(--primary);color:var(--on-primary)}.btn-outline{background:transparent;border:1px solid var(--border)}.btn:disabled,.btn-sm:disabled{opacity:.55;cursor:default}.btn-sm{min-height:var(--touch);padding:0 16px;border:0;border-radius:var(--r-md);font-weight:700;cursor:pointer;white-space:nowrap}.primary{background:var(--primary);color:var(--on-primary)}.wrap{max-width:680px;margin:0 auto;padding:24px 16px calc(env(safe-area-inset-bottom,0px) + 48px);display:grid;gap:18px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:18px}.muted{color:var(--text-muted)}.s-idea{background:var(--idea-bg);color:var(--idea-fg)}.s-bought{background:var(--bought-bg);color:var(--bought-fg)}.s-wrapped{background:var(--wrapped-bg);color:var(--wrapped-fg)}.narrow{max-width:440px}.stack{display:grid;gap:14px}.center{text-align:center}.small{font-size:.85rem}.row-between{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.err{color:var(--danger);font-size:.9rem;margin:0}.section-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-weight:700;margin:0 0 6px}.empty{background:var(--surface);border:1px dashed var(--border);border-radius:var(--r-lg);padding:22px;text-align:center;color:var(--text-muted)}input,select,textarea{font:inherit;font-size:16px;min-height:var(--touch);padding:9px 12px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);color:var(--text);width:100%;min-width:0}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.field{display:grid;gap:6px}.field>span{font-weight:600;font-size:.9rem}.code{font-size:1.4rem;letter-spacing:.2em;font-variant-numeric:tabular-nums}.linkbtn{background:none;border:0;color:var(--primary);font-weight:600;font-size:.92rem;cursor:pointer;padding:10px 2px;min-height:var(--touch)}.linkbtn:disabled{opacity:.5}.choice{display:grid;gap:4px;text-align:left;width:100%;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:18px;cursor:pointer}.choice b{font-size:1.2rem;font-weight:800;color:var(--primary)}.choice span{color:var(--text-muted)}.choice:hover{border-color:var(--primary)}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.stat{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:8px 12px;min-width:0;text-align:left}.stat b{display:block;font-size:1.25rem;font-variant-numeric:tabular-nums}.stat span{font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted)}.stat-bud{display:flex;flex-direction:column;font:inherit;color:inherit}.stat-bud.editable{cursor:pointer}.stat-bud.editable:hover{border-color:var(--primary)}.stat-bud .of{font-size:.78rem;color:var(--text-muted);font-variant-numeric:tabular-nums;line-height:1.2;overflow-wrap:anywhere}.overtxt{color:var(--danger)}.tileIn{margin-bottom:4px;text-align:left!important;width:100%!important}@media(max-width:420px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.addperson{display:grid;grid-template-columns:minmax(0,1fr) 104px auto;gap:8px}.listbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:4px;font-size:.85rem;color:var(--text-muted)}.people{display:grid;gap:8px}.person{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden}.phead{display:flex;align-items:center;gap:6px;padding:2px 8px 2px 2px}.phead h2{margin:0;flex:1;min-width:0;font-size:inherit}.ptoggle{all:unset;box-sizing:border-box;display:flex;flex-wrap:wrap;align-items:baseline;column-gap:12px;row-gap:2px;width:100%;min-height:var(--touch);padding:10px;cursor:pointer;border-radius:10px}.ptoggle:before{content:"";align-self:center;flex:none;width:8px;height:8px;border-right:2px solid var(--text-muted);border-bottom:2px solid var(--text-muted);transform:rotate(-45deg);transition:transform .15s;margin:0 4px}.person.open .ptoggle:before{transform:rotate(45deg)}.ptoggle:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.pname{font-weight:600;font-size:1.15rem;letter-spacing:-.01em;overflow-wrap:anywhere}.psum{font-size:.82rem;color:var(--text-muted);font-weight:500}@media(prefers-reduced-motion:reduce){.ptoggle:before{transition:none}}.budget{font-size:.88rem;color:var(--text-muted);font-variant-numeric:tabular-nums}.budget.over{color:var(--danger);font-weight:600}.budbtn{background:none;border:0;cursor:pointer;padding:8px 6px;min-height:var(--touch);border-radius:var(--r-sm);white-space:nowrap}.budbtn:hover{color:var(--primary);background:var(--surface-muted)}.budbtn.unset{text-decoration:underline dotted;text-underline-offset:3px}.budIn{width:112px;text-align:right;font-variant-numeric:tabular-nums}.x{background:none;border:0;color:var(--text-muted);font-size:1.2rem;cursor:pointer;min-width:var(--touch);min-height:var(--touch);border-radius:var(--r-sm)}.x.armed{color:var(--danger);font-size:.8rem;font-weight:700}.gift{display:grid;grid-template-columns:auto 1fr auto auto;gap:10px;align-items:center;padding:10px 14px;border-top:1px solid var(--border)}.gift .what{min-width:0}.gift .what div{font-weight:600;overflow-wrap:anywhere}.gift .what small{color:var(--text-muted);font-size:.8rem}.status{border:0;border-radius:var(--r-pill);padding:5px 10px;font-weight:600;font-size:.78rem;min-width:68px;text-align:center}.price{font-variant-numeric:tabular-nums;font-size:.92rem;color:var(--text-muted)}.pfoot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:4px 14px;border-top:1px dashed var(--border);background:color-mix(in srgb,var(--surface-muted) 45%,transparent)}.rename{display:flex;gap:8px;align-items:center;width:100%;padding:6px 0}.sheet-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;background:#0a08148c;display:flex;align-items:flex-end;justify-content:center}.sheet{background:var(--surface);color:var(--text);width:100%;max-width:560px;border-radius:var(--r-xl) var(--r-xl) 0 0;padding:18px 16px calc(18px + env(safe-area-inset-bottom,0px));display:grid;gap:16px;max-height:88vh;overflow:auto}.seg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;background:var(--surface-muted);padding:4px;border-radius:var(--r-md)}.seg button{border:0;background:transparent;color:var(--text-muted);border-radius:9px;min-height:40px;font-weight:700;font-size:.9rem;cursor:pointer}.seg button[aria-pressed=true]{background:var(--surface);color:var(--text);box-shadow:0 1px 3px #0000002e}.stack>*{margin:0}.thumb{width:44px;height:44px;padding:0;border:1px solid var(--border);border-radius:var(--r-sm);overflow:hidden;cursor:zoom-in;background:var(--surface-muted)}.thumb img{width:100%;height:100%;object-fit:cover;display:block}.shop{font-size:.8rem;color:var(--text-muted);margin-top:2px}.shop a{color:var(--primary);font-weight:600;text-decoration:none}.shop a:hover,.shop a:focus-visible{text-decoration:underline}.viewer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#0a0807d9;display:flex;align-items:center;justify-content:center;padding:calc(16px + env(safe-area-inset-top,0px)) 16px calc(16px + env(safe-area-inset-bottom,0px))}.viewer figure{margin:0;display:grid;gap:12px;max-width:min(720px,100%);max-height:100%}.viewer img{max-width:100%;max-height:75vh;border-radius:var(--r-md);object-fit:contain;justify-self:center;background:var(--surface)}.viewer figcaption{display:flex;gap:12px;align-items:center;justify-content:space-between;color:#f3eee9;font-weight:600}.leftover{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:4px 14px}.leftover summary{cursor:pointer;font-weight:600;min-height:var(--touch);display:flex;align-items:center}.leftover ul{margin:4px 0 12px;padding-left:18px;color:var(--text-muted);font-size:.92rem}.rmlist{list-style:none;padding:0!important}.rm{display:flex;align-items:center;gap:12px;padding:4px 0;border-top:1px solid var(--border);color:var(--text)}.rmtext{flex:1;min-width:0;overflow-wrap:anywhere}.rmtext small{color:var(--text-muted);font-size:.8rem}.filebtn{display:flex;align-items:center;justify-content:center;text-align:center}.filebtn.busy{opacity:.7;pointer-events:none}.linkbtn.danger{color:var(--danger);justify-self:center}.grouplist{display:grid;gap:6px}.grouplist button{display:grid;text-align:left;gap:2px;padding:10px 14px;min-height:var(--touch);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);cursor:pointer}.grouplist button[aria-pressed=true]{border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary)}.grouplist small{color:var(--text-muted)}.status{cursor:pointer}.priceIn{width:72px;min-height:40px;padding:6px 8px;text-align:right;font-variant-numeric:tabular-nums}.priceIn:placeholder-shown{border-style:dashed}.gift.hasPhoto{grid-template-columns:auto auto 1fr auto auto}@media(max-width:420px){.gift.hasPhoto{grid-template-columns:auto auto 1fr auto}.gift.hasPhoto .price,.gift.hasPhoto .priceIn{grid-column:3;justify-self:end}}.addgift{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:12px 14px;border-top:1px dashed var(--border);background:color-mix(in srgb,var(--surface-muted) 45%,transparent)}.addgift select{grid-column:1 / -1;text-overflow:ellipsis}.stepper{display:flex;align-items:center;gap:2px}.stepper button{min-width:36px;min-height:var(--touch);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);font-size:1.1rem;cursor:pointer}.stepper button:disabled{opacity:.35;cursor:default}.stepper span{min-width:24px;text-align:center;font-variant-numeric:tabular-nums}.addcloset{display:grid;grid-template-columns:minmax(0,1fr) 64px auto;gap:8px;padding:10px 0 14px;border-top:1px solid var(--border)}.toast{position:fixed;left:50%;transform:translate(-50%);bottom:calc(24px + env(safe-area-inset-bottom,0px));z-index:50;display:flex;align-items:center;gap:14px;background:var(--text);color:var(--bg);padding:8px 8px 8px 18px;border-radius:var(--r-pill);font-weight:600;max-width:calc(100vw - 32px);box-shadow:0 6px 20px #00000040}.toast span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toastbtn{background:none;border:0;color:var(--bg);font-weight:800;text-decoration:underline;cursor:pointer;min-height:40px;padding:0 12px}.groupbtn{background:none;border:0;padding:0;cursor:pointer;text-align:left;max-width:100%;display:block;min-height:22px}.groupbtn:hover{color:var(--primary)}.invitecard{display:grid;gap:12px;padding:14px;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface-muted)}.invitecard>*{margin:0}.bigcode{font-size:2.2rem;font-weight:800;letter-spacing:.12em;text-align:center;font-variant-numeric:tabular-nums}.memberlist{list-style:none;margin:0;padding:0;display:grid;gap:0}.member{border-top:1px solid var(--border);padding:8px 0}.member details summary{list-style:none;display:inline-flex;align-items:center}.member details summary::-webkit-details-marker{display:none}.checks{display:grid;gap:2px;padding:4px 0 8px}.check{display:flex;align-items:center;gap:12px;min-height:var(--touch);cursor:pointer}.check input{width:22px;height:22px;min-height:0;flex:none;accent-color:var(--primary)}.invite-note{max-width:440px;margin:16px auto 0;padding:0 16px;text-align:center;color:var(--primary);font-weight:600}.wishactions{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px}.wishactions .btn{padding:0 10px}.wishes{list-style:none;margin:0;padding:0;display:grid;gap:8px}.wish{display:grid;grid-template-columns:auto auto 1fr auto;gap:10px;align-items:center;padding:6px 8px 6px 4px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg)}.wish.starred{border-color:var(--sun)}.wish .what{min-width:0;overflow-wrap:anywhere;font-weight:600}.wish .what small{display:block;color:var(--text-muted);font-weight:400;font-size:.82rem}.wish .what small.mw{color:var(--sun-text);font-weight:700}.star{min-width:var(--touch);min-height:var(--touch);border:0;background:none;font-size:1.5rem;color:var(--sun-text);cursor:pointer}.wishphoto{width:48px;height:48px;object-fit:cover;border-radius:var(--r-sm)}.wish:not(:has(.wishphoto)){grid-template-columns:auto 1fr auto}.snapprev{width:100%;max-height:280px;object-fit:contain;border-radius:var(--r-md);background:var(--surface-muted)}textarea{min-height:120px;resize:vertical;line-height:1.4}.implist{display:grid;background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden}.impitem{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;padding:10px 12px;border-top:1px solid var(--border);cursor:pointer;overflow-wrap:anywhere}.impitem:first-child{border-top:0}.impitem input{width:20px;height:20px;min-height:0;margin-top:2px;accent-color:var(--primary)}.impitem small{color:var(--text-muted)}.wishtag{display:flex;align-items:center;gap:0 6px;flex-wrap:wrap;color:var(--teal-text)!important;font-weight:600}.newtag{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:var(--r-pill);background:var(--primary);color:var(--on-primary);font-size:.68rem;font-weight:800;letter-spacing:.04em}.mwstar{color:var(--sun-text)}.note-warn{display:block;color:var(--sun-text)!important;font-weight:600}.wishbanner{margin:0;padding:10px 14px;border-top:1px solid var(--border);background:color-mix(in srgb,var(--teal) 12%,transparent);color:var(--teal-text);font-size:.88rem;font-weight:600}.choice:disabled{opacity:.6}.linkbox{margin:0;padding:10px;border-radius:var(--r-sm);background:var(--surface);border:1px solid var(--border);font-size:.8rem;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all}.wishtag .newtag{margin-left:0}
