@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;700;800&family=Be+Vietnam+Pro:wght@400;500;600;700&display=swap";*{margin:0;padding:0;box-sizing:border-box}:root{--primary: #796200;--primary-dim: #6a5600;--primary-container: #fed747;--on-primary: #ffffff;--on-primary-container: #5d4b00;--secondary: #be2935;--secondary-dim: #ad1b2a;--secondary-container: #ffdad8;--on-secondary: #ffffff;--on-secondary-container: #a31224;--tertiary: #3e6e59;--tertiary-container: #c0f4d9;--on-tertiary: #ffffff;--on-tertiary-container: #2f5e4a;--surface: #fefcf4;--surface-container: #f5f4e8;--surface-container-low: #fbfaef;--surface-container-high: #eeefdf;--surface-container-highest: #e8ead7;--surface-container-lowest: #ffffff;--on-surface: #36392c;--on-surface-variant: #636657;--outline: #7f8273;--outline-variant: #b9bbaa;--error: #b23d21;--error-container: #fa7150;--on-error: #ffffff;--shadow: 0 2px 8px rgba(54, 57, 44, .08);--radius: 1rem;--font-headline: "Plus Jakarta Sans", sans-serif;--font-body: "Be Vietnam Pro", sans-serif}body{font-family:var(--font-body);background-color:var(--surface);background-image:linear-gradient(#36392c10 1px,transparent 1px),linear-gradient(90deg,#36392c10 1px,transparent 1px);background-size:24px 24px;color:var(--on-surface);min-height:100vh}a{color:inherit;text-decoration:none}input,button{font-family:inherit}.wobbly-border{border:2px solid var(--on-surface);border-radius:12px}.comic-outline{box-shadow:4px 4px 0 0 var(--on-surface)}.ink-underline{border-bottom:3px solid var(--on-surface);border-radius:12px}.pick-user{max-width:420px;margin:0 auto;padding:60px 20px;text-align:center}.pick-user h1{font-family:var(--font-headline);font-size:2.8rem;font-weight:800;color:var(--primary);margin-bottom:4px;letter-spacing:-.03em;transform:rotate(-1deg)}.subtitle{color:var(--on-surface-variant);font-size:1.1rem;margin-bottom:32px;font-style:italic}.existing-members{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:24px}.member-btn{display:flex;align-items:center;gap:8px;padding:10px 18px;background:var(--surface-container-lowest);cursor:pointer;font-size:.95rem;font-weight:600;transition:all .15s;border:2px solid var(--on-surface);border-radius:12px;box-shadow:3px 3px 0 0 var(--on-surface)}.member-btn:hover{transform:translateY(-2px) rotate(-1deg);box-shadow:5px 5px 0 0 var(--on-surface)}.member-btn:active{transform:translateY(1px);box-shadow:1px 1px 0 0 var(--on-surface)}.member-avatar{font-size:1.3rem}.divider{display:flex;align-items:center;gap:12px;color:var(--on-surface-variant);font-size:.85rem;font-style:italic;margin:20px 0}.divider:before,.divider:after{content:"";flex:1;height:2px;border-bottom:2px dashed var(--outline-variant)}.avatar-picker{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-bottom:12px}.avatar-opt{width:48px;height:48px;font-size:1.4rem;border:2px solid var(--outline-variant);border-radius:50%;background:var(--surface-container-lowest);cursor:pointer;transition:all .15s}.avatar-opt.selected{border-color:var(--primary);background:var(--primary-container);transform:scale(1.15) rotate(-3deg);box-shadow:2px 2px 0 0 var(--on-surface)}.name-row{display:flex;gap:8px}.name-row input{flex:1;padding:12px 16px;border:2px solid var(--on-surface);border-radius:12px;font-size:1rem;outline:none;background:var(--surface-container-lowest);transition:border-color .15s}.name-row input:focus{border-color:var(--primary)}.btn-primary{padding:12px 24px;background:var(--primary);color:var(--on-primary);border:2px solid var(--on-surface);border-radius:12px;font-family:var(--font-headline);font-size:1rem;font-weight:700;cursor:pointer;transition:all .15s;box-shadow:3px 3px 0 0 var(--on-surface)}.btn-primary:hover{transform:translateY(-1px);box-shadow:4px 4px 0 0 var(--on-surface)}.btn-primary:active{transform:translateY(2px) translate(2px);box-shadow:0 0 0 0 var(--on-surface)}.btn-secondary{padding:10px 20px;background:var(--surface-container-lowest);color:var(--on-surface);border:2px solid var(--on-surface);border-radius:12px;font-family:var(--font-headline);font-size:.9rem;font-weight:600;cursor:pointer;transition:all .15s;box-shadow:2px 2px 0 0 var(--on-surface)}.btn-secondary:hover{border-color:var(--primary);transform:translateY(-1px)}.btn-secondary:active{transform:translateY(1px) translate(1px);box-shadow:0 0 0 0 var(--on-surface)}.btn-sm{padding:6px 14px;background:var(--tertiary);color:var(--on-tertiary);border:2px solid var(--on-surface);border-radius:12px;font-family:var(--font-headline);font-size:.8rem;font-weight:700;cursor:pointer;transition:all .15s;box-shadow:2px 2px 0 0 var(--on-surface)}.btn-sm:hover{transform:translateY(-1px)}.btn-sm:active{transform:translateY(1px) translate(1px);box-shadow:0 0 0 0 var(--on-surface)}.card{background:var(--surface-container-lowest);padding:20px;border:2px solid var(--on-surface);border-radius:12px;box-shadow:4px 4px 0 0 var(--on-surface)}.home{max-width:600px;margin:0 auto;padding:24px 16px}.home-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.home-header h1{font-family:var(--font-headline);font-size:1.8rem;font-weight:800;color:var(--primary);letter-spacing:-.03em;transform:rotate(-1deg)}.user-badge{padding:6px 14px;background:var(--primary-container);border-radius:50px;font-size:.85rem;font-weight:600;border:2px solid var(--on-surface);color:var(--on-primary-container)}.new-event h2{font-family:var(--font-headline);font-size:1.2rem;font-weight:700;margin-bottom:12px}.new-event input{width:100%;padding:10px 14px;border:2px solid var(--on-surface);border-radius:12px;font-size:.95rem;margin-bottom:8px;outline:none;background:transparent}.new-event input:focus{border-color:var(--primary)}.new-event .btn-primary{width:100%;margin-top:4px}.events-list{margin-top:28px}.events-list h2{font-family:var(--font-headline);font-size:1.2rem;font-weight:700;margin-bottom:12px}.event-card{display:block;margin-bottom:12px;transition:transform .15s,box-shadow .15s}.event-card:nth-child(odd){transform:rotate(-.5deg)}.event-card:nth-child(2n){transform:rotate(.5deg)}.event-card:hover{transform:translateY(-3px) rotate(0);box-shadow:6px 6px 0 0 var(--on-surface)}.event-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.event-card-top h3{font-family:var(--font-headline);font-size:1.05rem;font-weight:700}.event-card-bottom{display:flex;gap:16px;color:var(--on-surface-variant);font-size:.85rem}.status-badge{padding:3px 12px;border-radius:50px;font-family:var(--font-headline);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;border:2px solid var(--on-surface)}.status-badge.voting{background:var(--primary-container);color:var(--on-primary-container)}.status-badge.confirmed{background:var(--tertiary-container);color:var(--on-tertiary-container)}.status-badge.done{background:var(--surface-container-highest);color:var(--on-surface-variant)}.empty{color:var(--on-surface-variant);font-style:italic;text-align:center;padding:20px}.event-page{max-width:600px;margin:0 auto;padding:24px 16px}.event-header{margin-bottom:20px}.back-link{color:var(--on-surface-variant);font-size:.9rem;font-weight:600}.back-link:hover{color:var(--primary)}.event-header h1{font-family:var(--font-headline);font-size:2.4rem;font-weight:800;color:var(--primary);margin-top:8px;letter-spacing:-.03em;transform:rotate(-1deg)}.event-date{color:var(--on-surface-variant);margin:4px 0 8px;font-style:italic}.status-row{display:flex;align-items:center;gap:12px}.rsvp-section{margin-bottom:20px}.rsvp-section h2{font-family:var(--font-headline);font-size:1.3rem;font-weight:800;margin-bottom:12px}.rsvp-buttons{display:flex;gap:8px;margin-bottom:14px}.btn-rsvp{flex:1;padding:14px 8px;border:2px solid var(--on-surface);border-radius:12px;background:var(--surface-container-lowest);font-family:var(--font-headline);font-size:.85rem;font-weight:700;cursor:pointer;transition:all .15s;box-shadow:2px 2px 0 0 var(--on-surface)}.btn-rsvp:active{transform:translateY(2px) translate(2px);box-shadow:0 0 0 0 var(--on-surface)}.btn-rsvp.yes{color:var(--tertiary)}.btn-rsvp.yes.active{background:var(--tertiary-container);border-color:var(--tertiary);transform:scale(1.05) rotate(-1deg);font-size:1.1rem;box-shadow:3px 3px 0 0 var(--on-surface)}.btn-rsvp.maybe{color:var(--primary)}.btn-rsvp.maybe.active{background:var(--primary-container);border-color:var(--primary)}.btn-rsvp.no{color:var(--on-surface-variant)}.btn-rsvp.no.active{background:var(--surface-container-highest);border-color:var(--outline)}.rsvp-list{display:flex;flex-wrap:wrap;gap:8px}.rsvp-list{display:flex;flex-wrap:wrap;gap:10px}.rsvp-sticker{display:flex;align-items:center;gap:8px;padding:6px 14px;border-radius:4px;font-family:var(--font-headline);font-size:.85rem;font-weight:700;box-shadow:1px 2px #36392c26;transition:transform .15s}.rsvp-sticker:hover{transform:rotate(0) scale(1.05)}.rsvp-sticker:nth-child(1){transform:rotate(-2deg)}.rsvp-sticker:nth-child(2){transform:rotate(2.5deg)}.rsvp-sticker:nth-child(3){transform:rotate(-1deg)}.rsvp-sticker:nth-child(4){transform:rotate(1.5deg)}.rsvp-sticker:nth-child(5){transform:rotate(-3deg)}.rsvp-sticker:nth-child(6){transform:rotate(1deg)}.rsvp-sticker:nth-child(7){transform:rotate(-1.5deg)}.rsvp-sticker .dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.rsvp-sticker.yes{background:var(--tertiary-container);color:var(--on-tertiary-container);border-bottom:2px solid var(--on-tertiary-container)}.rsvp-sticker.yes .dot{background:var(--tertiary)}.rsvp-sticker.maybe{background:var(--primary-container);color:var(--on-primary-container);border-bottom:2px solid var(--on-primary-container)}.rsvp-sticker.maybe .dot{background:var(--primary)}.rsvp-sticker:nth-child(3n+1).yes{background:var(--tertiary-container)}.rsvp-sticker:nth-child(3n+2).yes{background:#fef9c3;color:var(--primary);border-bottom-color:var(--primary)}.rsvp-sticker:nth-child(3n+2).yes .dot{background:var(--primary)}.rsvp-sticker:nth-child(3n).yes{background:var(--secondary-container);color:var(--on-secondary-container);border-bottom-color:var(--on-secondary-container)}.rsvp-sticker:nth-child(3n).yes .dot{background:var(--secondary)}.tabs{display:flex;gap:4px;margin-bottom:16px;background:var(--surface-container-highest);border-radius:var(--radius);padding:4px;border:2px solid var(--on-surface)}.tabs button{flex:1;padding:10px;border:none;background:transparent;border-radius:12px;font-family:var(--font-headline);font-size:.9rem;font-weight:700;cursor:pointer;transition:all .15s;color:var(--on-surface-variant)}.tabs button.active{background:var(--surface-container-lowest);color:var(--on-surface);box-shadow:2px 2px 0 0 var(--on-surface);border:2px solid var(--on-surface)}.suggest-place{margin-bottom:16px}.suggest-place h2{font-family:var(--font-headline);font-size:1.1rem;font-weight:700;margin-bottom:10px}.suggest-place input{width:100%;padding:10px 14px;border:2px solid var(--on-surface);border-radius:12px;font-size:.95rem;margin-bottom:8px;outline:none;background:transparent}.suggest-place input:focus{border-color:var(--primary)}.price-picker{display:flex;gap:6px;margin-bottom:10px}.price-btn{padding:6px 14px;border:2px solid var(--outline-variant);border-radius:12px;background:var(--surface-container-lowest);font-family:var(--font-headline);font-size:.85rem;font-weight:700;cursor:pointer;color:var(--on-surface-variant);transition:all .15s}.price-btn.selected{border-color:var(--primary);color:var(--primary);background:var(--primary-container);transform:scale(1.08) rotate(-2deg)}.suggest-place .btn-primary{width:100%}.place-card{margin-bottom:12px}.place-card:nth-child(odd){transform:rotate(-.5deg)}.place-card:nth-child(2n){transform:rotate(.8deg)}.place-info{display:flex;justify-content:space-between;align-items:center}.place-info h3{font-family:var(--font-headline);font-size:1.1rem;font-weight:700}.price-tag{color:var(--primary);font-family:var(--font-headline);font-weight:700;font-size:.9rem}.place-meta{color:var(--on-surface-variant);font-size:.8rem;font-style:italic;margin:4px 0 8px}.btn-vote{padding:8px 20px;border:2px solid var(--on-surface);border-radius:12px;background:var(--surface-container-lowest);font-size:1rem;cursor:pointer;transition:all .15s;box-shadow:2px 2px 0 0 var(--on-surface)}.btn-vote:hover{border-color:var(--primary);transform:scale(1.05) rotate(-1deg);background:var(--primary-container)}.btn-vote:active{transform:translateY(2px) translate(2px);box-shadow:0 0 0 0 var(--on-surface)}.receipt-section h2{font-family:var(--font-headline);font-size:1.1rem;font-weight:700;margin-bottom:12px}.upload-area{display:flex;gap:8px}.btn-upload{flex:1;padding:10px 20px;background:var(--secondary);color:var(--on-secondary);border:2px solid var(--on-surface);border-radius:12px;font-family:var(--font-headline);font-size:.9rem;font-weight:600;cursor:pointer;text-align:center;transition:all .15s;box-shadow:3px 3px 0 0 var(--on-surface)}.btn-upload:hover{transform:translateY(-1px);box-shadow:4px 4px 0 0 var(--on-surface)}.btn-upload:active{transform:translateY(2px) translate(2px);box-shadow:0 0 0 0 var(--on-surface)}.receipt-tabs{display:flex;gap:4px;margin:12px 0}.receipt-tabs button{padding:6px 14px;border:2px solid var(--outline-variant);border-radius:12px;background:var(--surface-container-lowest);font-family:var(--font-headline);font-size:.8rem;font-weight:600;cursor:pointer}.receipt-tabs button.active{background:var(--secondary);color:var(--on-secondary);border-color:var(--on-surface);box-shadow:2px 2px 0 0 var(--on-surface)}.receipt-image{margin:12px 0;text-align:center}.receipt-image img{max-width:100%;border-radius:8px;border:2px solid var(--on-surface)}.add-item{margin:12px 0}.add-item h3{font-family:var(--font-headline);font-size:.95rem;font-weight:700;margin-bottom:8px}.item-input-row{display:flex;gap:6px}.item-input-row input{flex:1;padding:8px 12px;border:2px solid var(--on-surface);border-radius:12px;font-size:.9rem;outline:none;background:transparent}.item-input-row input:focus{border-color:var(--primary)}.item-input-row input[type=number]{width:80px;flex:none}.item-input-row .btn-primary{padding:8px 16px;font-size:1.2rem}.item-card{margin-bottom:10px}.item-card:nth-child(odd){transform:rotate(-.3deg)}.item-card:nth-child(2n){transform:rotate(.5deg)}.item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;gap:8px}.item-name{font-family:var(--font-headline);font-weight:700}.item-price{font-family:var(--font-headline);font-weight:800;color:var(--primary)}.btn-delete{width:28px;height:28px;border:2px solid var(--error);background:var(--secondary-container);color:var(--secondary);border-radius:50%;font-size:1.1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.btn-delete:hover{background:var(--error-container);color:var(--on-error)}.claim-buttons{display:flex;align-items:center;gap:10px;margin-bottom:4px}.btn-claim{padding:5px 14px;border:2px solid var(--outline-variant);border-radius:12px;background:var(--surface-container-lowest);font-family:var(--font-headline);font-size:.8rem;font-weight:600;cursor:pointer;transition:all .15s}.btn-claim.claimed{background:var(--tertiary-container);border-color:var(--tertiary);color:var(--on-tertiary-container);transform:rotate(-1deg);box-shadow:2px 2px 0 0 var(--on-surface)}.claim-info{font-size:.78rem;color:var(--on-surface-variant);font-style:italic}.claimers{display:flex;gap:4px;flex-wrap:wrap}.claimer-chip{padding:2px 10px;background:var(--surface-container-high);border-radius:4px;font-size:.75rem;font-weight:600;border-bottom:2px solid var(--outline-variant);transform:rotate(-1deg)}.claimer-chip:nth-child(2n){transform:rotate(1deg)}.totals{margin-top:16px}.totals h3{font-family:var(--font-headline);font-size:1rem;font-weight:700;margin-bottom:10px}.total-row{display:flex;justify-content:space-between;padding:6px 0;border-bottom:2px dashed var(--outline-variant);font-size:.9rem}.total-row.grand-total{border-bottom:none;border-top:3px solid var(--on-surface);margin-top:4px;padding-top:8px;font-family:var(--font-headline);font-weight:800;font-size:1.1rem}.total-amount{font-family:var(--font-headline);font-weight:700}.loading{text-align:center;padding:60px;color:var(--on-surface-variant);font-size:1.1rem;font-style:italic}@media (max-width: 480px){.pick-user h1{font-size:2.2rem}.rsvp-buttons{flex-direction:column}.btn-rsvp.yes.active{font-size:1rem}}
