:root{--bg: #FFC120;--bg-2: #FFD45E;--ink: #1B1614;--ink-soft: #4A413B;--purple: #7A2BE2;--purple-deep:#5A1CAC;--purple-100: #EFE3FF;--red: #F03A2E;--red-deep: #C32519;--cream: #FFF7EA;--white: #FFFFFF;--green: #1FA463;--accent: var(--purple);--accent-deep:var(--purple-deep);--line: 3px;--radius: 16px;--radius-sm: 11px;--shadow: 5px 5px 0 var(--ink);--shadow-lg: 8px 8px 0 var(--ink);--shadow-sm: 3px 3px 0 var(--ink);--font-display: 'Anton', 'Schibsted Grotesk', sans-serif;--font-ui: 'Schibsted Grotesk', system-ui, sans-serif;--maxw: 1240px}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body{overflow-x:hidden}::selection{background:var(--accent);color:var(--white)}button{font-family:inherit}a{color:inherit;text-decoration:none}h1,h2,h3,h4{margin:0}p{margin:0}.app-bg{min-height:100vh;display:flex;flex-direction:column;background:radial-gradient(circle at 12% 18%, var(--bg-2) 0, transparent 38%),radial-gradient(circle at 88% 8%, var(--bg-2) 0, transparent 30%),var(--bg)}main{flex:1}.display{font-family:var(--font-display);font-weight:400;line-height:.92;letter-spacing:.01em;text-transform:uppercase}.kicker{display:inline-block;font-family:var(--font-ui);font-weight:800;letter-spacing:.18em;text-transform:uppercase;font-size:.72rem;color:var(--accent-deep)}.page{max-width:var(--maxw);margin:0 auto;padding:clamp(1.5rem,4vw,3rem) clamp(1rem,4vw,2.5rem) 5rem;width:100%}.page--narrow{max-width:920px}.page--form{max-width:820px}.row{display:flex;align-items:center}.col{display:flex;flex-direction:column}.spread{display:flex;align-items:center;justify-content:space-between;gap:1rem}.pagehead{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;margin-bottom:1.8rem}.pagehead h1{font-family:var(--font-display);font-weight:400;font-size:clamp(2.4rem,5vw,3.6rem);line-height:1.04;text-transform:uppercase;white-space:nowrap}.pagehead-actions{display:flex;gap:.7rem;flex-wrap:wrap}.section-tab{display:inline-flex;align-items:center;gap:.5rem;flex:none;font-family:var(--font-display);text-transform:uppercase;font-size:1.35rem;background:var(--ink);color:var(--white);padding:.35rem .9rem;border-radius:10px;transform:rotate(-1.2deg);line-height:1.05}.section-tab--green{background:var(--green)}.muted{color:var(--ink-soft)}.tag-date{font-weight:700;font-size:.8rem;color:var(--ink-soft)}.fadein{animation:rise .35s ease both}@keyframes rise{from{transform:translateY(8px)}to{transform:none}}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-thumb{background:var(--ink);border-radius:999px;border:3px solid var(--bg)}.btn{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-ui);font-weight:800;font-size:1rem;line-height:1;padding:.85rem 1.4rem;border:var(--line) solid var(--ink);border-radius:var(--radius-sm);background:var(--white);color:var(--ink);box-shadow:var(--shadow);cursor:pointer;text-decoration:none;transition:transform .08s ease,box-shadow .08s ease,background .15s ease;white-space:nowrap}.btn:hover{transform:translate(-2px, -2px);box-shadow:7px 7px 0 var(--ink)}.btn:active{transform:translate(2px, 2px);box-shadow:2px 2px 0 var(--ink)}.btn--primary{background:var(--accent);color:var(--white)}.btn--red{background:var(--red);color:var(--white)}.btn--ghost{background:var(--cream)}.btn--lg{font-size:1.18rem;padding:1.05rem 1.8rem}.btn--sm{font-size:.85rem;padding:.55rem .9rem;box-shadow:var(--shadow-sm)}.btn--sm:hover{box-shadow:var(--shadow)}.btn--block{width:100%;justify-content:center}.btn--dashed{border-style:dashed;border-width:2px;box-shadow:none}.btn--dashed:hover{transform:none;box-shadow:none;background:var(--white)}.btn--facebook{background:#1877f2;color:var(--white)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:var(--shadow)}.iconbtn{display:inline-grid;place-items:center;width:46px;height:46px;border:var(--line) solid var(--ink);border-radius:var(--radius-sm);background:var(--white);box-shadow:var(--shadow-sm);cursor:pointer;color:var(--ink);transition:transform .08s ease,box-shadow .08s ease}.iconbtn:hover{transform:translate(-2px, -2px);box-shadow:var(--shadow)}.iconbtn:active{transform:translate(1px, 1px);box-shadow:1px 1px 0 var(--ink)}.iconbtn--flat{box-shadow:none;width:32px;height:32px}.iconbtn--flat:hover{transform:none;box-shadow:none;background:var(--cream)}.card{background:var(--white);border:var(--line) solid var(--ink);border-radius:var(--radius);box-shadow:var(--shadow)}.panel{background:var(--cream);border:var(--line) solid var(--ink);border-radius:var(--radius)}.sparkle{display:inline-block;color:var(--ink);line-height:0}.sparkle svg{display:block}.mascot svg{display:block;margin:0 auto}.pill{display:inline-flex;align-items:center;gap:.4rem;font-weight:700;font-size:.8rem;padding:.3rem .7rem;border-radius:999px;border:2px solid var(--ink);background:var(--white);white-space:nowrap}.pill--purple{background:var(--purple-100)}.pill--red{background:#ffe0dc}.pill--ink{background:var(--ink);color:var(--white)}.field{display:flex;flex-direction:column;gap:.4rem}.label{font-weight:800;font-size:.82rem;letter-spacing:.02em}.input,.textarea{font-family:var(--font-ui);font-size:1rem;font-weight:600;padding:.8rem 1rem;border:var(--line) solid var(--ink);border-radius:var(--radius-sm);background:var(--white);color:var(--ink);width:100%}.input::placeholder,.textarea::placeholder{color:#a99b8e;font-weight:500}.input:focus,.textarea:focus{outline:none;box-shadow:var(--shadow-sm)}.textarea{resize:vertical;min-height:90px}.input--bare{border:none;box-shadow:none;padding:.45rem .55rem;background:rgba(0,0,0,0);font-weight:600}.input--bare:focus{box-shadow:none;background:hsla(0,0%,100%,.7)}.input--display{font-family:var(--font-display);text-transform:uppercase;font-size:1.6rem}.field-error{color:var(--red-deep);font-weight:700;font-size:.85rem}.wishtable{width:100%;border-collapse:separate;border-spacing:0}.wishtable th{text-align:left;font-weight:800;font-size:.8rem;letter-spacing:.04em;text-transform:uppercase;padding:.7rem .9rem;color:var(--white);background:var(--ink)}.wishtable th:first-child{border-top-left-radius:10px}.wishtable th:last-child{border-top-right-radius:10px}.wishtable td{padding:.85rem .9rem;border-bottom:2px solid #ece2d4;font-weight:600;vertical-align:middle}.wishtable tr:last-child td{border-bottom:none}.wishrow.bought td:not(.cell-check){color:#b6a899}.wishrow.bought .wish-name{text-decoration:line-through;text-decoration-thickness:2px}.cell-check{width:56px}.cell-price{width:110px;white-space:nowrap}.cell-qty{width:70px}.cell-left{width:90px;font-weight:800}.cell-left--full{color:var(--green)}.allbought-row{display:none}.hide-bought .wishrow.bought{display:none}.hide-bought .allbought-row{display:table-row}.check{width:26px;height:26px;padding:0;border:var(--line) solid var(--ink);border-radius:7px;background:var(--white);display:grid;place-items:center;cursor:pointer;transition:background .1s,transform .08s}.check:hover{transform:scale(1.08)}.check svg{opacity:0;color:var(--ink)}.check.on{background:var(--green)}.check.on svg{opacity:1;color:var(--white)}dialog.modal{width:min(560px,100% - 3rem);max-height:90vh;overflow:auto;padding:0;background:var(--cream);color:var(--ink);border:var(--line) solid var(--ink);border-radius:var(--radius);box-shadow:var(--shadow-lg)}dialog.modal[open]{animation:pop .18s cubic-bezier(0.2, 1.3, 0.4, 1)}dialog.modal::backdrop{background:rgba(27,22,20,.55)}@keyframes pop{from{transform:translateY(14px) scale(0.97);opacity:.4}to{transform:none;opacity:1}}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.2rem 1.4rem;border-bottom:var(--line) solid var(--ink)}.modal-head h2{font-family:var(--font-display);font-weight:400;text-transform:uppercase;font-size:1.5rem;white-space:nowrap}.modal-body{padding:1.4rem;display:flex;flex-direction:column;gap:1.2rem}.modal-divider{height:2px;background:#e4d8c6}.banner{display:flex;align-items:center;gap:1rem;background:var(--purple);color:var(--white);border:var(--line) solid var(--ink);border-radius:var(--radius);padding:1rem 1.2rem;box-shadow:var(--shadow)}.banner .btn{flex:none}.banner--ink{background:var(--ink)}.empty{text-align:center;padding:2.5rem 1.5rem;border:var(--line) dashed var(--ink);border-radius:var(--radius);background:hsla(0,0%,100%,.5);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.9rem}.empty p{font-weight:700;max-width:30ch;margin:0}.segmented{display:inline-flex;border:var(--line) solid var(--ink);border-radius:var(--radius-sm);overflow:hidden;background:var(--white);box-shadow:var(--shadow-sm)}.segmented button,.segmented a{border:none;background:rgba(0,0,0,0);font-weight:800;font-size:.9rem;padding:.6rem 1rem;cursor:pointer;display:flex;align-items:center;gap:.4rem}.segmented .on{background:var(--ink);color:var(--white)}.segmented :not(.on):hover{background:var(--cream)}.avatar{border-radius:50%;border:var(--line) solid var(--ink);display:inline-grid;place-items:center;font-weight:800;color:var(--white);flex:none;overflow:hidden;line-height:1}.avatar--stack{margin-left:-12px}.avatar--stack:first-child{margin-left:0}.topbar{position:static;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;padding:1.1rem clamp(1rem,4vw,2.5rem);background:rgba(0,0,0,0)}.topbar-left{display:flex;align-items:center;gap:.35rem;justify-self:start;min-width:0}.topbar-right{display:flex;align-items:center;gap:.5rem;justify-self:end}.brand{justify-self:center;display:flex;align-items:center;gap:.4rem}.logo-sticker{font-family:var(--font-display);font-weight:400;text-transform:uppercase;color:var(--cream);-webkit-text-stroke:.11em var(--ink);paint-order:stroke fill;letter-spacing:.012em;line-height:1;font-size:2rem;text-shadow:.028em .034em 0 var(--ink),.056em .068em 0 var(--ink),.084em .102em 0 var(--ink)}.navlink{font-weight:700;font-size:.95rem;padding:.5rem .8rem;border-radius:9px;border:var(--line) solid rgba(0,0,0,0);cursor:pointer;white-space:nowrap;transition:background .12s,border-color .12s}.navlink:hover{background:var(--cream)}.navlink.active{background:var(--white);border-color:var(--ink);box-shadow:var(--shadow-sm)}.flash-section{max-width:var(--maxw);margin:0 auto;padding:0 clamp(1rem,4vw,2.5rem);display:flex;flex-direction:column;gap:.6rem}.flash{font-weight:700}.flash--notice{background:var(--green)}.flash--alert{background:var(--red)}.flash a{text-decoration:underline}.bottomnav{display:none}.site-footer{background:var(--ink);color:var(--cream);padding:2.5rem clamp(1rem,4vw,2.5rem);border-top:var(--line) solid var(--ink);margin-top:auto}.site-footer-inner{max-width:var(--maxw);margin:0 auto;display:flex;justify-content:space-between;flex-wrap:wrap;gap:1.5rem;align-items:center}.site-footer-brand{font-family:var(--font-display);text-transform:uppercase;font-size:1.6rem;display:flex;align-items:center;gap:.3rem}.site-footer-links{display:flex;gap:1.4rem;font-weight:700;flex-wrap:wrap}.site-footer-links a:hover{text-decoration:underline}.site-footer-copy{color:#a99b8e;font-weight:600}.landing-hero{max-width:780px;margin:0 auto;padding:clamp(2.5rem,6vw,5rem) clamp(1rem,4vw,2.5rem);text-align:center}.landing-hero .kicker{font-size:.8rem;margin-bottom:1.5rem}.landing-hero h1{font-size:clamp(2.2rem,5vw,3.6rem);line-height:1.14;margin-bottom:1.8rem}.landing-hero-lead{font-size:1.2rem;font-weight:600;max-width:44ch;line-height:1.55;margin:0 auto 2rem}.landing-hero-actions{display:flex;gap:.8rem;flex-wrap:wrap;justify-content:center}.landing-hero-social{display:flex;align-items:center;justify-content:center;gap:.7rem;margin-top:1.8rem}.landing-hero-avatars{display:flex}.landing-hero-avatars .avatar{margin-left:-12px}.landing-hero-avatars .avatar:first-child{margin-left:0}.landing-hero-count{font-weight:700;font-size:.95rem}.landing-hiw{background:var(--purple);border-top:var(--line) solid var(--ink);border-bottom:var(--line) solid var(--ink);padding:clamp(2.5rem,6vw,4.5rem) 0;color:var(--white)}.landing-hiw-inner{max-width:var(--maxw);margin:0 auto;padding:0 clamp(1rem,4vw,2.5rem)}.landing-hiw-head{display:flex;align-items:center;justify-content:center;gap:.7rem;margin-bottom:2rem}.landing-hiw-head h2{font-size:clamp(1.8rem,4vw,2.8rem);color:var(--white);white-space:nowrap}.landing-hiw-card{padding:1.5rem;color:var(--ink);position:relative}.landing-hiw-number{font-size:3.2rem;color:var(--accent);-webkit-text-stroke:2px var(--ink)}.landing-hiw-card h3{font-size:1.4rem;margin:.3rem 0 .5rem}.landing-hiw-card p{font-weight:600;line-height:1.45}.hiw-grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:1.4rem}.landing-try{padding-bottom:1rem}.hero-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2rem,5vw,4rem);align-items:center}.landing-try-copy h2{font-size:clamp(1.8rem,3.5vw,2.5rem);margin:.5rem 0 1.1rem;line-height:1.14}.landing-try-copy p{font-size:1.1rem;font-weight:600;line-height:1.55;margin-bottom:1.6rem}.hero-card-wrap{position:relative}.landing-burst{position:absolute;top:-50px;right:-26px;z-index:3;width:140px;height:120px;transform:rotate(9deg)}.landing-burst svg{position:absolute;inset:0}.landing-burst-text{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:12%;color:var(--red);font-size:1.1rem;line-height:.95}.landing-mascot{position:absolute;right:-26px;bottom:-40px;z-index:3}.try-card{padding:1.4rem;transform:rotate(1deg)}.try-card .wishtable{table-layout:fixed}.try-title-input{font-family:var(--font-display);font-size:1.5rem;text-transform:uppercase;padding:.5rem .7rem;margin-bottom:.9rem}.try-card-panel{overflow:hidden}.try-card .cell-remove{width:44px}.try-card td.cell-remove{padding-left:0;padding-right:.5rem}.try-qty{width:46px;text-align:center}.try-add{margin:.7rem}.try-banner{margin-top:1rem;padding:.8rem 1rem}.try-banner-text{font-weight:700;font-size:.95rem}.landing-types{padding-bottom:3rem}.landing-types-heading{font-size:clamp(1.8rem,4vw,2.6rem);text-align:center;margin-bottom:1.8rem}.landing-type-card{padding:1.6rem}.landing-type-card h3{font-size:1.7rem;margin:.8rem 0 .5rem}.landing-type-card p{font-weight:600;line-height:1.45}.landing-types-cta{text-align:center;margin-top:2.5rem}@media(max-width: 680px){.landing-try .hero-card-wrap{margin-top:1.5rem}.landing-burst{right:-8px}.landing-mascot{right:-8px}.try-title-input{font-size:1.25rem}.try-card .wishtable .cell-price{width:64px}.try-card .wishtable .cell-qty{width:44px}.try-card .wishtable .cell-remove{width:40px}}.dine-section{margin-bottom:2.6rem}.dine-section-head{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;margin-bottom:1.1rem}.dine-hint{font-weight:600}.dine-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(300px, 1fr));gap:1.2rem}.listcard{position:relative;padding:1.3rem;display:flex;flex-direction:column;gap:.9rem;transition:transform .08s ease,box-shadow .08s ease}.listcard:has(.listcard-link:hover){transform:translate(-2px, -2px);box-shadow:7px 7px 0 var(--ink)}.listcard-kind{position:absolute;top:14px;right:14px;pointer-events:none}.listcard--tagged .listcard-title{padding-right:5rem}.listcard-title{font-size:1.45rem;line-height:1.05;overflow-wrap:anywhere}.listcard-link::after{content:"";position:absolute;inset:0;border-radius:var(--radius)}.listcard-link:focus-visible{outline:none}.listcard-link:focus-visible::after{outline:3px solid var(--accent-deep);outline-offset:2px}.listcard-meta{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.listcard-meta .tag-date{white-space:nowrap}.listcard-partner{font-size:.72rem}.listcard-stats{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.listcard-count{font-weight:800;white-space:nowrap}.listcard-hidden{font-size:.74rem}.listcard-groupmeta{font-weight:700}.listcard-actions{position:relative;z-index:1;display:flex;gap:.5rem;margin-top:auto}.list-back{margin-bottom:1.4rem}.listhead{position:relative;overflow:hidden;padding:1.6rem 1.7rem;margin-bottom:1.4rem}.listhead-sparkle{position:absolute;top:16px;right:20px}.listhead-kind{margin-bottom:.7rem}.listhead-title{font-size:clamp(2rem,5vw,3rem);max-width:22ch;line-height:1.02;overflow-wrap:anywhere}.listhead-meta{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center;margin-top:.8rem}.listhead-actions{display:flex;gap:.6rem;margin-top:1.2rem;flex-wrap:wrap;align-items:center}.listhead-actions form{display:inline-flex;margin:0}.list-banner{margin-bottom:1.4rem}.list-banner--giver{flex-wrap:wrap}.list-banner-text{flex:1;min-width:200px}.banner-toggle{display:inline-flex;align-items:center;gap:.4rem;background:rgba(0,0,0,0);border:none;padding:0;color:var(--white);font-family:var(--font-ui);font-weight:800;font-size:.95rem;cursor:pointer;white-space:nowrap;flex:none}.banner-toggle-icon{line-height:0}.wishtable-card{overflow:hidden}.wishtable td form{margin:0}.wishtable-empty{text-align:center;padding:2rem !important;font-weight:700}.wishtable .allbought-row td{text-align:center;padding:2rem;font-weight:700}.hide-bought .wishrow:not(.bought)~.allbought-row{display:none}.pill-others{font-size:.68rem;margin-left:.5rem}.group-toc{padding:1.1rem 1.3rem;margin-bottom:1.4rem}.group-toc .kicker{margin-bottom:.6rem}.group-toc-pills{display:flex;gap:.6rem;flex-wrap:wrap}.group-toc-add{margin-top:1rem}.group-section{margin-bottom:1.8rem;scroll-margin-top:1.5rem}.group-section-head{display:flex;align-items:center;gap:.6rem;margin-bottom:.8rem}.group-section-head form{margin-left:auto}.group-section-title{font-size:1.6rem;line-height:1.05}.list-ingroups{margin-top:1.4rem}.list-mascot{text-align:center;margin-top:2rem}.list-mascot-text{font-weight:700;margin-top:.4rem}.modal-head-title{display:flex;align-items:center;gap:.6rem}.copy-row{display:flex;gap:.5rem}.copy-row .btn{flex:none}.share-alt{display:flex;gap:.6rem;flex-wrap:wrap}.share-alt .btn{flex:1;justify-content:center}.dialog-rows{display:flex;flex-direction:column;gap:.5rem}.dialog-row{display:flex;align-items:center;gap:.7rem;background:var(--white);border:2px solid var(--ink);border-radius:var(--radius-sm);padding:.55rem .7rem}.dialog-row form{margin:0;flex:none}.dialog-row-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:.1rem;overflow-wrap:anywhere}.dialog-row-main .muted{font-size:.8rem}.partner-search-form{display:flex;gap:.5rem;margin-bottom:.8rem}.partner-search-form .btn{flex:none}turbo-frame{display:block}.edit-form-top{margin-bottom:1.4rem}.edit-form-top .pill[hidden]{display:none}.edit-form-kicker{position:relative;display:inline-block;margin-bottom:1.2rem}.edit-form-kicker .sparkle{position:absolute;top:-16px;right:-26px}.edit-form-card{padding:1.6rem}.edit-form-title{margin-bottom:1.4rem}.edit-form-panel{overflow:hidden}.edit-form-panel .cell-remove{width:44px}.edit-form-panel td.cell-remove{padding-left:0;padding-right:.5rem}.edit-form-qty{width:50px;text-align:center}.edit-form-add{margin:.8rem}.edit-form-actions{display:flex;gap:.7rem;justify-content:flex-end;margin-top:1.6rem;flex-wrap:wrap}.edit-form-tip{font-weight:600;margin-top:1rem;text-align:center}.form-errors{border:var(--line) solid var(--red);background:#ffe0dc;border-radius:var(--radius-sm);padding:.9rem 1.1rem;margin-bottom:1.4rem}.form-errors ul{margin:.4rem 0 0;padding-left:1.2rem;font-weight:600}.form-errors-title{font-weight:800}.group-form-heading{font-size:clamp(2rem,5vw,3rem);line-height:1.04;margin:.3rem 0 1.4rem}.group-picker{margin-bottom:1.2rem}.group-picker-head{display:flex;align-items:baseline;gap:.6rem;margin-bottom:.6rem}.group-picker-hint{font-size:.78rem;font-weight:600;color:var(--ink-soft)}.group-picker-rows{display:grid;gap:.5rem}.group-picker-row{position:relative;display:flex;align-items:center;gap:.8rem;padding:.8rem 1rem;cursor:pointer}.group-picker-row input[type=checkbox]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.group-picker-row .check svg{transition:opacity .1s}.group-picker-row:hover .check{transform:scale(1.08)}.group-picker-row:focus-within{box-shadow:var(--shadow-sm)}.group-picker-row:has(:checked){border-color:var(--accent);background:var(--purple-100)}.group-picker-row:has(:checked) .check{background:var(--green)}.group-picker-row:has(:checked) .check svg{opacity:1;color:var(--white)}.group-picker-main{flex:1;min-width:0;display:flex;flex-direction:column}.group-picker-main strong{font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.group-picker-empty{font-weight:600}.friend-search{display:flex;align-items:center;gap:.6rem;max-width:520px;margin-bottom:2rem;padding:.5rem .5rem .5rem .9rem}.friend-search>svg{flex:none}.friend-search .input--bare{flex:1;min-width:0}.friend-cards{display:grid;gap:1.2rem}.friend-card{padding:1.3rem;display:flex;flex-direction:column;gap:1rem}.friend-card-head{display:flex;align-items:center;gap:.9rem;flex-wrap:wrap}.friend-card-title{min-width:0}.friend-card-title .display{font-size:1.5rem;line-height:1.05;overflow-wrap:anywhere}.friend-card-title .muted{font-weight:600}.friend-card-actions{margin-left:auto;display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.friend-nolists{font-weight:600}.friend-lists{display:grid;grid-template-columns:repeat(auto-fill, minmax(260px, 1fr));gap:.8rem}.listrow{display:flex;justify-content:space-between;align-items:center;gap:.8rem;padding:1rem;transition:transform .08s ease,box-shadow .08s ease}.listrow:hover{transform:translate(-2px, -2px);box-shadow:var(--shadow-sm)}.listrow>svg{color:var(--accent);flex:none}.listrow-text{min-width:0}.listrow-title{font-weight:800;overflow-wrap:anywhere}.friend-button{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.friend-button form.button_to{display:contents}.profile-id{display:flex;align-items:center;gap:1rem;min-width:0}.profile-id h1{white-space:normal}.profile-section{margin-bottom:2.6rem}.profile-section-head{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;margin-bottom:1.1rem}.profile-hint{font-weight:600}.shopping-sum{padding:.7rem 1.1rem;font-weight:800;white-space:nowrap}.shopping-sum-amount{color:var(--red)}.shopping-section{margin-bottom:2.4rem}.shopping-section-head{display:flex;align-items:center;gap:.7rem;margin-bottom:1rem}.shopping-section-count{font-weight:700}.shopping-card{overflow:hidden}.shopping-row{display:flex;align-items:center;gap:1rem;padding:1rem 1.2rem;border-bottom:2px solid #ece2d4}.shopping-row:last-child{border-bottom:none}.shopping-row--done{opacity:.7}.shopping-row--done .shopping-row-name{text-decoration:line-through;text-decoration-thickness:2px}.shopping-row form.button_to{display:contents}.shopping-row-main{flex:1;min-width:0}.shopping-row-name{font-weight:800;overflow-wrap:anywhere}.shopping-row-recipient:hover{text-decoration:underline}.shopping-row-price{font-weight:800;white-space:nowrap}.shopping-empty p{max-width:46ch}.auth-page{display:flex;flex-direction:column;align-items:center;gap:1.4rem}.auth-card{width:100%;max-width:440px;padding:2rem 1.8rem;display:flex;flex-direction:column;gap:1.3rem}.auth-card--wide{max-width:560px}.auth-head{display:flex;align-items:center;justify-content:space-between;gap:.8rem}.auth-head h1{font-size:2rem;line-height:1.1}.auth-intro{color:var(--ink-soft);font-weight:600;font-size:.95rem}.auth-back{align-self:flex-start}.auth-pagehead{width:100%;max-width:560px;display:flex;flex-direction:column;align-items:flex-start;gap:.3rem}.auth-pagehead h1{font-size:clamp(2rem,5vw,2.8rem);line-height:1.08}.auth-pagehead .auth-back{margin-bottom:.6rem}.auth-page>.auth-errors{width:100%;max-width:560px}.auth-section-title{font-family:var(--font-display);font-weight:400;text-transform:uppercase;font-size:1.35rem;line-height:1.1}.auth-form{display:flex;flex-direction:column;gap:1.1rem}.auth-form .btn{margin-top:.2rem}.hint{font-size:.8rem;color:var(--ink-soft);font-weight:600}.checkfield{display:flex;align-items:flex-start;gap:.7rem}.checkfield input[type=checkbox]{appearance:none;width:24px;height:24px;flex:none;margin:0;border:var(--line) solid var(--ink);border-radius:7px;background:var(--white);cursor:pointer;display:inline-grid;place-items:center;transition:background .1s,transform .08s}.checkfield input[type=checkbox]:hover{transform:scale(1.08)}.checkfield input[type=checkbox]:checked{background:var(--green)}.checkfield input[type=checkbox]:checked::after{content:"";width:11px;height:6px;border-left:3px solid var(--white);border-bottom:3px solid var(--white);transform:rotate(-45deg) translateY(-2px)}.checkfield-text{display:flex;flex-direction:column;gap:.15rem}.checkfield-text .label{cursor:pointer}.auth-errors{background:#ffe0dc;border:var(--line) solid var(--ink);border-radius:var(--radius-sm);padding:.9rem 1.1rem;font-weight:600;font-size:.9rem}.auth-errors-title{font-weight:800;color:var(--red-deep)}.auth-errors ul{margin:.35rem 0 0;padding-left:1.2rem}.auth-errors li{margin-top:.15rem}.auth-links{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.6rem;font-weight:700;font-size:.9rem}.auth-links a{text-decoration:underline;text-underline-offset:3px}.auth-links a:hover{color:var(--accent-deep)}.auth-logout-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.auth-danger{border-color:var(--red-deep)}.auth-danger .auth-section-title{color:var(--red-deep)}.feedback-table-card{padding:0;overflow:hidden}.feedback-table-card .wishtable td{vertical-align:top}.feedback-text{max-width:42ch;overflow-wrap:anywhere}.feedback-cell{display:flex;flex-direction:column;gap:.5rem;align-items:flex-start}.feedback-status-actions{display:flex;flex-wrap:wrap;gap:.3rem}.feedback-status-btn{font-family:var(--font-ui);font-weight:700;font-size:.72rem;padding:.25rem .55rem;border:2px solid var(--ink);border-radius:999px;background:var(--white);cursor:pointer}.feedback-status-btn:hover{background:var(--purple-100)}.feedback-status--considered{background:var(--cream)}.feedback-status--planed{background:var(--purple-100)}.feedback-status--implemented{background:#d8f2e4}.feedback-status--denied{background:#ffe0dc}.feedback-row-actions{display:flex;gap:.4rem;align-items:center}.feedback-row-actions form{display:inline-flex}@media(max-width: 820px){.topbar-left .navlink{display:none}}@media(max-width: 680px){:root{--maxw: 100%}.page{padding:1.2rem 1rem 6rem}.topbar{padding:.8rem 1rem;gap:.5rem}.logo-sticker{font-size:1.2rem}.topbar-right .btn{padding:.5rem .8rem;font-size:.82rem}.hide-mobile{display:none !important}.hero-grid{grid-template-columns:1fr !important;gap:2.5rem !important}.hero-card-wrap{order:2}.hiw-grid{grid-template-columns:1fr !important}.pagehead{flex-direction:column;align-items:flex-start;gap:1rem;margin-bottom:1.4rem}.pagehead h1{white-space:normal;font-size:clamp(2rem,9vw,2.6rem)}.pagehead-actions{width:100%}.pagehead-actions .btn{flex:1;justify-content:center}.dine-grid{grid-template-columns:1fr !important}.section-tab{font-size:1.15rem}.table-scroll{overflow-x:auto !important;-webkit-overflow-scrolling:touch}.wishtable th,.wishtable td{padding:.6rem .55rem;font-size:.9rem}.wishtable .cell-price{width:auto}.wishtable .cell-qty{width:44px}.wishtable .cell-check{width:44px}dialog.modal{width:calc(100% - 2rem);max-height:94vh}.bottomnav{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:50;background:var(--white);border-top:var(--line) solid var(--ink);padding:.5rem .5rem calc(.5rem + env(safe-area-inset-bottom, 0px));justify-content:space-around}.bottomnav a{flex:1;display:flex;flex-direction:column;align-items:center;gap:.2rem;background:none;border:none;cursor:pointer;font-family:var(--font-ui);font-weight:800;font-size:.68rem;color:var(--ink-soft);padding:.35rem 0;text-transform:uppercase;letter-spacing:.02em}.bottomnav a.on{color:var(--accent-deep)}.bottomnav a.on .bn-ico{background:var(--accent);color:var(--white);border-color:var(--ink)}.bn-ico{width:40px;height:30px;border-radius:9px;display:grid;place-items:center;border:2px solid rgba(0,0,0,0);transition:background .12s}}
