@import"https://rsms.me/inter/inter.css";*,:before,:after{box-sizing:border-box}html{font-family:system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";line-height:1.15;-webkit-text-size-adjust:100%;tab-size:4}body{margin:0}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-color:currentcolor}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}legend{padding:0}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}input[type=text],input[type=email],input[type=password],textarea{border:2px solid var(--color-primary);transition:border-color .2s ease,box-shadow .2s ease}input[type=text]:focus,input[type=email]:focus,input[type=password]:focus,textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #9ad2f233}.Button{display:flex;width:100%;padding:16px 18px;justify-content:space-between;align-items:center;text-decoration:none;color:#fff;background:var(--color-primary);border-radius:12px;border:2px solid var(--color-primary);cursor:pointer;transition:background-color .25s ease,border-color .25s ease,box-shadow .25s ease,transform .2s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #0000001a;font-family:Inter,sans-serif;font-weight:700;line-height:150%}.Button .icon-text{display:flex;align-items:center;justify-content:center;gap:32px}.Button .icon-text img{border-radius:64px;transition:transform .2s ease}.Button .arrow{fill:#fff;transition:transform .2s ease}.Button:active{transform:scale(.98);box-shadow:0 1px 4px #0000001f;background:#5a6778}.Button:active .arrow{transform:translate(2px)}.Button:focus{outline:3px solid var(--color-accent);outline-offset:2px}.Button.secondary{color:var(--color-primary);background:#ffffffe6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:2px solid var(--color-primary)}.Button.secondary .arrow{fill:var(--color-primary)}.Button.secondary:active{transform:scale(.98);background:var(--color-accent);border-color:var(--color-accent);color:#000;box-shadow:0 1px 4px #0000001f}.Button.secondary:active .arrow{fill:#000;transform:translate(2px)}.Button.secondary:focus{outline:3px solid var(--color-accent);outline-offset:2px}.Button.danger{background:linear-gradient(135deg,#dc2626,#b91c1c);border-color:#dc2626}.Button.danger:active{transform:scale(.98);background:#991b1b;border-color:#991b1b}.Button:not(:has(img,.arrow)),.Button:not(:has(span,.arrow)){padding:14px 18px}:is(.Button:not(:has(img,.arrow)),.Button:not(:has(span,.arrow))) .icon-text{width:100%}.login-container{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;animation:loginFadeIn .5s ease-out}@keyframes loginFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.login-title{font-size:2rem;font-weight:700;text-align:center;color:var(--color-primary)}.login-subtitle{margin-bottom:2rem;text-align:center}.login-error{color:#dc2626;margin-bottom:1rem;text-align:center;padding:12px 16px;background:#dc26261a;border-radius:12px;animation:shakeError .4s ease-out}.login-form{width:100%;max-width:300px;display:flex;flex-direction:column;gap:1rem}.login-form input{padding:14px 16px;border-radius:12px;background:#ffffffe6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:box-shadow .2s ease,background-color .2s ease}.login-form input:focus{background:#fff;box-shadow:0 4px 20px #00000014}.login-btn{background:var(--color-primary);color:#fff;border:none;border-radius:12px;padding:14px;font-weight:700;cursor:pointer;transition:background-color .25s ease,box-shadow .25s ease,transform .2s ease;box-shadow:0 4px 12px #4a556840}.login-btn:active{transform:scale(.98);background:#5a6778;box-shadow:0 2px 8px #4a556833}.login-btn:focus{outline:3px solid var(--color-accent);outline-offset:2px}.login-bottom-text{margin-top:1.5rem;animation:fadeInUp .4s ease-out .2s both}.login-bottom-text a{color:var(--color-primary);font-weight:600;text-decoration:none;transition:opacity .2s ease}.login-bottom-text a:active{opacity:.7}.auth-logo-large{width:150px;height:150px;animation:logoBounce .8s ease-out both}.auth-title{font-size:2rem;font-weight:800;margin:0;padding:0;background:linear-gradient(135deg,#2d3748,#4a5568,#718096);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.register-container{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1rem;animation:registerFadeIn .5s ease-out}@keyframes registerFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.register-title{font-size:2rem;font-weight:700;text-align:center;color:var(--color-primary)}.register-subtitle{color:var(--color-neutral);text-align:center;margin-bottom:2rem;opacity:.8}.error-text{color:#dc2626;font-size:.875rem;margin-bottom:1rem;text-align:center;padding:12px 16px;background:#dc26261a;border-radius:12px;animation:shakeError .4s ease-out}@keyframes shakeError{0%,to{transform:translate(0)}20%,60%{transform:translate(-8px)}40%,80%{transform:translate(8px)}}.register-form{width:100%;max-width:300px;display:flex;flex-direction:column;gap:1rem}.register-form input{padding:14px 16px;border-radius:12px;background:#ffffffe6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:box-shadow .2s ease,background-color .2s ease}.register-form input:focus{background:#fff;box-shadow:0 4px 20px #00000014}.primary-btn{background-color:var(--color-primary);color:#fff;padding:14px;border:none;border-radius:12px;font-weight:700;cursor:pointer;transition:background-color .25s ease,box-shadow .25s ease,transform .2s ease;box-shadow:0 4px 12px #4a556840}.primary-btn:active{transform:scale(.98);background:#5a6778;box-shadow:0 2px 8px #4a556833}.primary-btn:focus{outline:3px solid var(--color-accent);outline-offset:2px}.bottom-text{margin-top:1.5rem;font-size:.875rem;color:var(--color-neutral);animation:fadeInUp .4s ease-out .2s both}.bottom-text a{font-weight:700;color:var(--color-primary);text-decoration:none;transition:opacity .2s ease}.bottom-text a:active{opacity:.7}.auth-header-row{display:flex;align-items:center;justify-content:center;gap:.15rem;margin-bottom:10rem;animation:headerSlideIn .5s ease-out}@keyframes headerSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.auth-logo-large{width:120px;height:120px;animation:logoBounce .8s ease-out both}.auth-text-group{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;line-height:1.2}.auth-title{font-size:2rem;font-weight:800;margin:0;padding:0;background:linear-gradient(135deg,#2d3748,#4a5568,#718096);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.auth-subtitle{margin:.2rem 0 0;font-size:1rem;color:var(--color-neutral);opacity:.8}@keyframes logoBounce{0%{transform:translateY(-20px) scale(.8);opacity:0}50%{transform:translateY(8px) scale(1.05);opacity:1}to{transform:translateY(0) scale(1)}}.verify-container{display:flex;align-items:center;justify-content:center;height:100vh}.verify-box{text-align:center;border:1px solid var(--color-primary);border-radius:.5rem;padding:2rem;width:300px;background:#ffffff80}.verify-box h2{font-weight:700;margin-bottom:1rem}.verify-box p{margin-bottom:1rem;font-size:.9rem}.otp-inputs{display:flex;justify-content:center;gap:.5rem;margin-bottom:1.5rem}.otp-inputs input{width:2rem;height:2rem;text-align:center;font-size:1.25rem;border:1px solid var(--color-primary);border-radius:.25rem;transition:border-color .2s ease,box-shadow .2s ease}.otp-inputs input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #9ad2f233}.verify-btn{background:var(--color-primary);color:#fff;padding:.75rem;width:100%;border:none;border-radius:.5rem;font-weight:600;cursor:pointer;transition:background-color .2s ease,box-shadow .2s ease;box-shadow:0 2px 4px #0000001a}.verify-btn:hover{background:var(--color-accent);color:#000;box-shadow:0 4px 8px #00000026}.verify-btn:focus{outline:2px solid var(--color-accent);outline-offset:2px}.verify-btn:active{transform:translateY(1px);box-shadow:0 1px 2px #0000001a}.resend-text{margin-top:1rem;font-size:.8rem}.resend-link{font-weight:700;text-decoration:underline;cursor:pointer}.dashboard-container{font-family:system-ui,-apple-system,sans-serif;max-width:400px;padding:8px 0;min-height:100vh;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;position:relative;animation:dashboardFadeIn .4s ease-out}@keyframes dashboardFadeIn{0%{opacity:0}to{opacity:1}}.dashboard-header{position:fixed;top:0;left:50%;transform:translate(-50%);width:100%;box-sizing:border-box;display:flex;align-items:center;margin:0 0 24px;padding:28px 24px;border-bottom:2px solid rgba(74,85,104,.2);background:#fafafab3;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:100;transition:background-color .3s ease,box-shadow .3s ease}.dashboard-header.scrolled{background:#fafafaf2;box-shadow:0 4px 20px #00000014}.dashboard-header-spacer{height:72px}.dashboard-title{position:absolute;left:50%;transform:translate(-50%);font-size:24px;font-weight:700;margin:0}.menu-icon{position:absolute;right:16px;cursor:pointer;padding:4px;border:2px solid var(--color-primary);border-radius:8px;background:#fffc;transition:background-color .2s ease,border-color .2s ease,transform .2s ease}.menu-icon:active{transform:scale(.95);background-color:var(--color-accent);border-color:var(--color-accent)}.menu-icon:focus{outline:2px solid var(--color-accent);outline-offset:2px}.quick-actions{margin-bottom:40px;padding:0 16px;position:relative;animation:slideUp .4s ease-out .1s both}.button-spacing{display:flex;flex-direction:column;gap:16px}.my-groups{padding:0 16px 32px;flex:1;position:relative;animation:slideUp .4s ease-out .2s both}.section-title{margin-bottom:16px}.group-item-wrapper{position:relative;overflow:hidden;width:100%;height:auto;animation:groupItemSlide .35s ease-out both}.group-item-wrapper:nth-child(1){animation-delay:.25s}.group-item-wrapper:nth-child(2){animation-delay:.3s}.group-item-wrapper:nth-child(3){animation-delay:.35s}.group-item-wrapper:nth-child(4){animation-delay:.4s}.group-item-wrapper:nth-child(5){animation-delay:.45s}@keyframes groupItemSlide{0%{opacity:0;transform:translate(-15px)}to{opacity:1;transform:translate(0)}}.group-item-container{position:relative;display:flex;align-items:stretch;width:100%;background:#ffffffd9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:transform .3s cubic-bezier(.4,0,.2,1);transform:translate(0);z-index:1;border-radius:12px}.group-item-container.swiped{transform:translate(-64px)}.group-item-container.swiped .Button{border-radius:12px 0 0 12px;border-right:none}.group-item-container .Button{flex:1;margin:0}.delete-group-button{position:absolute;right:0;top:0;bottom:0;width:64px;height:100%;background:linear-gradient(135deg,#dc2626,#b91c1c);border:none;border-radius:0 12px 12px 0;cursor:pointer;color:#fff;display:flex;align-items:center;justify-content:center;transition:transform .2s ease,box-shadow .2s ease;flex-shrink:0;margin:0;padding:0;z-index:0}.delete-group-button:active{transform:scale(.95);box-shadow:inset 0 0 10px #0000004d}.delete-group-button:focus{outline:2px solid #dc2626;outline-offset:-2px}.profile-container{min-height:100vh;display:flex;flex-direction:column;padding:2rem 1rem 120px;font-family:system-ui,-apple-system,sans-serif;max-width:400px;margin:0 auto;animation:fadeIn .4s ease-out}.account-section{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2rem;width:100%;animation:slideUp .4s ease-out .1s both}.profile-pic-container{position:relative;width:120px;height:120px;margin:0 auto}.profile-pic{border:2px solid var(--color-primary);border-radius:50%;width:120px;height:120px;object-fit:cover;overflow:hidden}.profile-pic-empty{display:flex;justify-content:center;align-items:center;font-size:.75rem;background-color:#f0f0f0;color:#999}.edit-pic-button{position:absolute;bottom:0;right:0;width:40px;height:40px;border-radius:50%;background-color:var(--color-primary);color:#fff;border:2px solid white;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 12px #00000040;transition:background-color .2s ease,transform .2s ease,box-shadow .2s ease}.edit-pic-button:active{background-color:#5a6778;transform:scale(.95);box-shadow:0 2px 8px #0003}.edit-pic-button:focus{outline:3px solid var(--color-accent);outline-offset:2px}.profile-info{display:flex;flex-direction:column;gap:1rem;width:100%}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:600;font-size:.875rem;color:#333}.form-group input{padding:14px 16px;border-radius:12px;font-size:16px;box-sizing:border-box;width:100%;background:#ffffffe6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:box-shadow .2s ease,background-color .2s ease}.form-group input:focus{background:#fff;box-shadow:0 4px 20px #00000014}.message{padding:12px;border-radius:8px;margin-bottom:1rem;text-align:center;font-weight:500}.message.success{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.message.error{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.sign-out-button{width:100%;padding:14px;background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:700;cursor:pointer;margin-top:1rem;transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 4px 12px #dc26264d}.sign-out-button:active{background:#991b1b;transform:scale(.98);box-shadow:0 2px 8px #dc262640}.sign-out-button:focus{outline:3px solid rgba(220,38,38,.3);outline-offset:2px}.header{display:flex;align-items:center;justify-content:space-between;margin:0;padding:10px 16px;border-bottom:2px solid rgba(74,85,104,.2);position:fixed;top:0;left:50%;transform:translate(-50%);width:100%;background:#fafafab3;box-sizing:border-box;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:100000;transition:background-color .3s ease,box-shadow .3s ease,border-color .3s ease}.header.scrolled{background:#fafafa80;box-shadow:0 4px 20px #00000014;border-bottom-color:#4a556826}.header-spacer{height:76px}.header-back-button{cursor:pointer;padding:4px 4px 2px;background:#fffc;border:2px solid var(--color-primary);border-radius:8px;transition:background-color .2s ease,border-color .2s ease,transform .2s ease;z-index:2;flex-shrink:0}.header-back-button:active{transform:scale(.95);background-color:var(--color-accent);border-color:var(--color-accent)}.header-back-button:focus{outline:2px solid var(--color-accent);outline-offset:2px}.header-title{position:absolute;left:50%;transform:translate(-50%);font-size:24px;font-weight:700;margin:0;white-space:nowrap}.header-title.has-menu{left:50%}.header-menu-container{position:relative;z-index:2;flex-shrink:0}.header-menu-button{cursor:pointer;padding:4px;background:#fffc;border:2px solid var(--color-primary);border-radius:8px;transition:background-color .2s ease,border-color .2s ease,transform .2s ease;display:flex;align-items:center;justify-content:center}.header-menu-button:active{transform:scale(.95);background-color:var(--color-accent);border-color:var(--color-accent)}.header-menu-button:focus{outline:2px solid var(--color-accent);outline-offset:2px}.header-dropdown-menu{position:absolute;top:calc(100% + 8px);right:0;background:#fffffff2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:2px solid var(--color-primary);border-radius:12px;box-shadow:0 8px 32px #0000001f;min-width:160px;z-index:100;overflow:hidden;animation:dropdownFadeIn .2s ease-out}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.dropdown-item{width:100%;padding:14px 16px;background:none;border:none;text-align:left;cursor:pointer;font-size:14px;font-weight:500;transition:background-color .15s ease,transform .15s ease}.dropdown-item:active{background-color:var(--color-accent);transform:scale(.98)}.dropdown-item:not(:last-child){border-bottom:1px solid rgba(0,0,0,.08)}.join-container{max-width:400px;margin:0 auto;padding:8px 0;font-family:system-ui,-apple-system,sans-serif}.search-container{padding:0 16px 16px}.search-input{width:100%;padding:16px;border-radius:8px;font-size:16px;font-family:system-ui,-apple-system,sans-serif;box-sizing:border-box}.invites-section{display:flex;flex-direction:column;gap:16px;margin-bottom:16px;padding:0 16px}.invites-title{font-size:18px;font-weight:700;padding:0 16px}.invite-item{display:flex;align-items:center;padding:16px;border:2px solid var(--color-primary);border-radius:8px;margin-bottom:12px;cursor:pointer;background:#fff}.invite-pic{width:48px;height:48px;border-radius:50%;background:#e5e5e5;display:flex;align-items:center;justify-content:center;margin-right:16px;font-size:12px;color:#666}.invite-name{flex:1;font-size:16px;font-weight:600}.invite-arrow{color:#000}.group-button{width:100%;padding:16px;border:2px solid var(--color-primary);border-radius:8px;background:#fff;font-size:16px;font-weight:600;cursor:pointer;font-family:system-ui,-apple-system,sans-serif}.no-results{color:#666;font-size:14px;text-align:center;padding:16px;margin:0 16px}.join-code-section{padding:16px;margin-bottom:16px}.section-title{font-size:18px;font-weight:700;margin-bottom:12px}.code-input-group{display:flex;gap:12px;align-items:center}.code-input{flex:1;padding:16px;border-radius:8px;font-size:16px;font-family:system-ui,-apple-system,sans-serif;box-sizing:border-box;text-transform:uppercase;letter-spacing:2px;font-weight:600}.code-input::placeholder{color:#999;text-transform:none;letter-spacing:normal;font-weight:400}.divider{display:flex;align-items:center;text-align:center;margin:24px 16px;color:#999}.divider:before,.divider:after{content:"";flex:1;border-bottom:1px solid #ddd}.divider span{padding:0 16px;font-size:14px;font-weight:600}.invite-dialog{padding:0;border:none;border-radius:20px;animation:dialogSlideUp .35s cubic-bezier(.4,0,.2,1)}@keyframes dialogSlideUp{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.invite-dialog::backdrop{background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:backdropFadeIn .25s ease-out}@keyframes backdropFadeIn{0%{opacity:0}to{opacity:1}}.dialog-content{background:#fffffff2;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:2px solid var(--color-primary);border-radius:20px;padding:28px;max-width:340px;width:100%;position:relative;box-shadow:0 20px 60px #00000026}.dialog-layout{display:flex;flex-direction:row;gap:16px;align-items:flex-start;margin-bottom:24px}.dialog-photo{flex-shrink:0}.dialog-photo img{width:64px;height:64px;border-radius:50%;object-fit:cover;border:3px solid var(--color-accent);box-shadow:0 4px 12px #0000001a}.dialog-group-name{font-size:20px;font-weight:700;margin-bottom:8px;line-height:1.2;color:var(--color-neutral)}.dialog-by{font-size:14px;color:#666;margin-bottom:8px}.dialog-description{font-size:14px;color:#666;line-height:1.5;margin:0}.dialog-buttons{display:flex;gap:12px}.dialog-button-half{flex:1}.create-container{font-family:system-ui,-apple-system,sans-serif;max-width:400px;padding:8px 0;animation:createFadeIn .4s ease-out}@keyframes createFadeIn{0%{opacity:0}to{opacity:1}}.create-content{padding:0 16px;animation:contentSlideUp .4s ease-out .1s both}@keyframes contentSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.form-textarea{margin-bottom:14px}.profile-upload{border:2px dashed var(--color-primary);border-radius:16px;padding:60px 24px;text-align:center;margin-bottom:24px;cursor:pointer;color:#666;font-size:16px;background:#fff9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:border-color .25s ease,background-color .25s ease,transform .2s ease}.profile-upload:active{border-color:var(--color-accent);background-color:#a0aec01a;transform:scale(.99)}.invite-section{margin-bottom:14px}.selected-users{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.selected-user-tag{display:flex;align-items:center;gap:6px;background-color:var(--color-primary);color:#fff;padding:8px 12px;border-radius:20px;font-size:14px;font-weight:500;animation:tagPopIn .25s ease-out}@keyframes tagPopIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.remove-user-btn{background:none;border:none;color:#fff;font-size:20px;line-height:1;cursor:pointer;padding:0;width:18px;height:18px;display:flex;align-items:center;justify-content:center;transition:transform .15s ease}.remove-user-btn:active{transform:scale(1.2)}.suggestion-avatar{width:36px;height:36px;border-radius:50%;object-fit:cover;border:2px solid var(--color-accent)}.editable-text-field{display:flex;gap:4px;justify-content:space-between}.editable-text-field input{border-radius:8px;flex:1}.editable-text-field .edit-icon{justify-self:flex-end}.editable-text-field button{background:none;border:none;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px}.editable-text-field button:disabled{background:#ddd}.editable-text-field .edit-field-discard{background:#fff1f4}.editable-text-field .edit-field-save{background:#ebf8f6}.editable-tags-field{display:flex;gap:4px;justify-content:space-between;position:relative;padding-right:8px;margin-bottom:16px}.editable-tags-field input{border-radius:8px;flex:1}.editable-tags-field .edit-icon{position:absolute;right:0;top:0;z-index:1;background:#fff}.editable-tags-field button{background:none;border:none;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px}.editable-tags-field button:disabled{background:#ddd}.editable-tags-field .edit-field-discard{background:#fff1f4}.editable-tags-field .edit-field-save{background:#ebf8f6}.activity-details-popup{border:none;border-radius:16px;max-height:80%;width:90%;box-shadow:2px 2px 8px #00000040;scale:1;transition:all .1s ease-in-out,scale .2s ease-in-out,display .2s allow-discrete,overlay .2s allow-discrete}@starting-style{.activity-details-popup{scale:1 0}}.activity-details-popup:not([open]){scale:1 0}.activity-details-popup *{scale:1;transition:all .2s ease-in-out}@starting-style{.activity-details-popup *{scale:1 0}}.activity-details-popup>*{--stagger: calc((sibling-index() - 1)*.1s) ;transition:opacity .5s ease-in-out var(--stagger),translate .5s cubic-bezier(.34,1.56,.64,1) var(--stagger)}@starting-style{.activity-details-popup>*{opacity:0;translate:-100px 0}}.activity-details-popup>*:not(:last-child){margin-bottom:32px}.activity-details-popup>img{display:block;border-radius:4px;width:100%;height:auto}.activity-details-popup::backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background-color:#00000040}.activity-details-popup .activity-name{font-size:20px;text-align:center;margin:0}.activity-details-popup section h3{font-size:18px;margin-block:.5em}.activity-details-popup .main-activity-image{width:100%;height:auto;max-height:300px;border-radius:16px;object-fit:cover}.activity-details-popup .members-list{list-style:none;padding:0}.activity-details-popup .members-list>*{--stagger: calc((sibling-index() - 1)*.1s + .5s) ;transition:opacity .5s ease-in-out var(--stagger),translate .5s cubic-bezier(.34,1.56,.64,1) var(--stagger)}@starting-style{.activity-details-popup .members-list>*{opacity:0;translate:-100px 0}}.activity-details-popup .members-list li{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:8px 16px;background-color:#f8f9fa;border-radius:8px;border:1px solid #e0e0e0;font-size:16px;font-weight:600;color:#333}.activity-details-popup .members-list li img{width:48px;height:48px;border-radius:50%}.activity-details-popup .members-list li span{flex:1}.activity-details-popup .activity-completed{display:flex;padding:8px;align-items:center;justify-content:space-evenly;gap:16px;border-radius:8px;background:#f8f9fa;outline:1px solid #e1e1e1}.activity-details-popup .activity-completed:has(input:checked){background:hsla(from var(--color-accent) h s l / 50%);outline:2px solid var(--color-primary)}.activity-details-popup .activity-completed input[type=checkbox]{width:32px;height:32px}.activity-details-popup .activity-completed p{margin-block:2px}.activity-details-popup .activity-completed p:last-child{opacity:.7}.activity-details-popup .delete-activity-btn{width:100%;padding:12px 24px;background-color:#dc3545;color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:background-color .2s}.activity-details-popup .delete-activity-btn:hover:not(:disabled){background-color:#c82333}.activity-details-popup .delete-activity-btn:disabled{opacity:.6;cursor:not-allowed}.bucket-list-container{min-height:100vh;display:flex;flex-direction:column;max-width:400px;margin:0 auto;font-family:system-ui,-apple-system,sans-serif;position:relative;padding-bottom:80px;animation:fadeIn .4s ease-out}.bucket-list-header{width:100%;position:relative;z-index:1}.header-container{max-width:400px;margin:0 auto;padding:24px}.search-container{padding:0 16px 16px;position:relative;z-index:1;animation:slideDown .3s ease-out .1s both}.search-input{width:100%;padding:14px 18px;border-radius:12px;font-size:16px;box-sizing:border-box;font-family:system-ui,-apple-system,sans-serif;background:#ffffffe6;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:box-shadow .2s ease,background-color .2s ease}.tabs-container{padding:0 16px 16px;position:relative;z-index:0;animation:slideDown .3s ease-out .15s both}.tabs-wrapper{display:flex;border-radius:12px;overflow:hidden;border:2px solid var(--color-primary);background:#fffc}.tab-button{flex:1;padding:14px 16px;font-size:16px;font-weight:700;border:none;cursor:pointer;font-family:system-ui,-apple-system,sans-serif;transition:background-color .25s ease,color .25s ease,transform .15s ease}.tab-button:active{transform:scale(.98)}.tab-button.todo-active{background-color:var(--color-primary);color:#fff}.tab-button.todo-inactive{background-color:transparent;color:var(--color-primary)}.tab-button.done-active{background-color:var(--color-primary);color:#fff}.tab-button.done-inactive{background-color:transparent;color:var(--color-primary)}.content-area{flex:1;overflow-y:auto;padding:0 16px;position:relative}.content-list{display:flex;flex-direction:column;gap:32px;padding:8px 0 180px}.empty-state{text-align:center;color:#666;padding:48px 0;font-size:16px;animation:fadeIn .4s ease-out}.activity-card{background:#ffffffd9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:2px solid var(--color-primary);border-radius:16px;padding:16px;transition:transform .35s cubic-bezier(.4,0,.2,1),box-shadow .35s cubic-bezier(.4,0,.2,1),background-color .35s ease;animation:cardSlideIn .4s ease-out both;overflow:hidden}.activity-card:nth-child(1){animation-delay:.1s}.activity-card:nth-child(2){animation-delay:.15s}.activity-card:nth-child(3){animation-delay:.2s}.activity-card:nth-child(4){animation-delay:.25s}.activity-card:nth-child(5){animation-delay:.3s}.activity-card:nth-child(6){animation-delay:.35s}.activity-card.in-view{transform:scale(1.02);box-shadow:0 8px 32px #0000001a;background:#fffffff2}.card-image-container{max-height:0;overflow:hidden;transition:max-height .4s cubic-bezier(.4,0,.2,1),opacity .3s ease,margin .4s ease;opacity:0;margin-bottom:0;border-radius:12px}.activity-card.in-view .card-image-container{max-height:180px;opacity:1;margin-bottom:12px}.card-image{width:100%;height:160px;object-fit:cover;border-radius:12px}.card-image-placeholder{width:100%;height:160px;background:linear-gradient(135deg,#4a55681a,#a0aec026);border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--color-primary);font-size:14px;font-weight:500}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.card-title{font-size:18px;font-weight:700;flex:1;margin:0;transition:color .2s ease}.card-title.completed{text-decoration:line-through;color:#666}.likes-container{display:flex;align-items:center;gap:4px;margin-left:8px;padding:8px 12px;border-radius:20px;background:#4a556814;outline:2px solid transparent;transition:transform .2s ease,background-color .5s ease,outline .5s ease,color .5s ease}.likes-container.liked{background:#ff00661a;outline:2px solid hsla(336,100%,50%,1);color:#3a0a0a}.likes-container svg,.likes-container span{scale:1;transition:scale .2s ease-in-out}@starting-style{.likes-container svg,.likes-container span{scale:0 1}}.likes-container:active{transform:scale(1.1);background:#4a556826}.heart-icon{width:16px;height:16px;color:#e53e3e;fill:currentColor;transition:transform .2s ease}.likes-container:active .heart-icon{transform:scale(1.2)}.likes-count{font-size:14px;font-weight:600}.card-type-location{font-size:14px;color:var(--color-neutral);margin-bottom:6px;margin-top:0;opacity:.7}.card-added-info{font-size:13px;color:var(--color-neutral);margin-bottom:12px;margin-top:0;opacity:.6}.card-tags{display:flex;flex-wrap:wrap;gap:8px}.tag{display:flex;justify-content:center;align-items:center;padding:6px 14px;font-size:12px;font-weight:600;border:2px solid var(--color-primary);border-radius:9999px;background:#ffffffe6;color:var(--color-primary);transition:background-color .2s ease,transform .2s ease}.tag:active{background-color:var(--color-accent);transform:scale(.95)}.fab-button{position:fixed;bottom:100px;right:24px;width:60px;height:60px;background:linear-gradient(135deg,var(--color-primary) 0%,#5a6778 100%);border-radius:50%;display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;z-index:10;color:#fff;box-shadow:0 4px 20px #4a556859;transition:transform .25s cubic-bezier(.4,0,.2,1),box-shadow .25s ease;animation:fabPulse 2s ease-in-out infinite}.fab-button:active{transform:scale(.92);box-shadow:0 2px 12px #4a55684d}.fab-button:focus{outline:3px solid var(--color-accent);outline-offset:3px}.modal-overlay{animation:overlayFadeIn .25s ease-out}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}.modal-content{animation:modalSlideUp .3s cubic-bezier(.4,0,.2,1)}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.add-place-container{min-height:100vh;background-color:#fff;display:flex;flex-direction:column;max-width:400px;margin:0 auto;font-family:system-ui,-apple-system,sans-serif;position:relative;padding-bottom:80px}.add-place-header{width:100%;background-color:#fff;border-bottom:2px solid var(--color-primary);margin:16px -16px 0}.add-place-header-content{display:flex;align-items:center;justify-content:space-between;padding:16px}.add-place-title{position:absolute;left:50%;transform:translate(-50%);font-size:24px;font-weight:700;margin:0}.add-place-content{flex:1;padding:24px 16px}.question-text{font-size:18px;font-weight:700;margin-bottom:24px;color:#000}.button-container{display:flex;flex-direction:column;gap:16px;margin-bottom:48px}.recent-additions-section{margin-top:32px}.section-title{font-size:18px;font-weight:700;margin-bottom:16px;color:#000}.recent-additions-list{list-style:none;padding:0;margin:0}.recent-addition-item{font-size:16px;color:#000;margin-bottom:8px;padding-left:16px;position:relative}.recent-addition-item:before{content:"•";position:absolute;left:0;color:#000}.add-place-manually-container{min-height:100vh;display:flex;flex-direction:column;max-width:400px;margin:0 auto;font-family:system-ui,-apple-system,sans-serif;position:relative;padding-bottom:80px}.add-place-manually-header{width:100%;background-color:#fff;border-bottom:2px solid var(--color-primary);margin:16px -16px 0}.add-place-manually-header-content{display:flex;align-items:center;justify-content:space-between;padding:16px}.add-place-manually-title{position:absolute;left:50%;transform:translate(-50%);font-size:24px;font-weight:700;margin:0}.add-place-manually-content{flex:1;padding:24px 16px;overflow-y:auto}.select-container{position:relative;margin:8px 0 16px}.select-input{padding-right:48px;appearance:none;background-color:#fff}.select-chevron{position:absolute;right:16px;top:40%;transform:translateY(-50%);pointer-events:none;color:#000;transition:transform .15s ease-in-out}.form-section{margin-bottom:24px}.form-textarea{width:100%;padding:16px;border-radius:8px;font-size:16px;font-family:system-ui,-apple-system,sans-serif;resize:vertical;box-sizing:border-box}.form-textarea::placeholder{color:#999}.add-photos-area{border:2px dashed var(--color-primary);border-radius:8px;padding:48px 16px;text-align:center;cursor:pointer;background-color:#fff;transition:border-color .2s ease,background-color .2s ease}.add-photos-area:hover{border-color:var(--color-accent);background-color:#9ad2f20d}.add-photos-plus{font-size:48px;color:#999;display:inline-block;margin-right:8px}.suggestions-list{position:absolute;top:100%;left:0;width:100%;background:#fff;border:1px solid #ccc;border-radius:4px;list-style:none;padding:0;margin:0;z-index:1000;max-height:200px;overflow-y:auto}.suggestions-list li{padding:10px;cursor:pointer;border-bottom:1px solid #eee}.suggestions-list li:hover{background-color:#f0f0f0}.add-place-link-container{min-height:100vh;display:flex;flex-direction:column;max-width:400px;margin:0 auto;font-family:system-ui,-apple-system,sans-serif;position:relative;padding-bottom:80px}.add-place-link-header{width:100%;background-color:#fff;border-bottom:2px solid var(--color-primary);margin:16px -16px 0}.add-place-link-header-content{display:flex;align-items:center;justify-content:space-between;padding:16px}.back-button{width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;background:var(--color-primary);border:2px solid var(--color-primary);border-radius:4px;padding:0;color:#fff;transition:background-color .2s ease,border-color .2s ease}.back-button:hover{background:var(--color-accent);border-color:var(--color-accent)}.back-button:focus{outline:2px solid var(--color-accent);outline-offset:2px}.back-button svg{width:20px;height:20px;stroke:currentColor}.add-place-link-title{position:absolute;left:50%;transform:translate(-50%);font-size:24px;font-weight:700;margin:0}.header-spacer{width:24px}.add-place-link-content{flex:1;padding:24px 16px;overflow-y:auto}.section{margin-bottom:24px}.section-heading{font-size:18px;font-weight:700;margin-bottom:12px;color:#000}.form-input{width:100%;padding:16px;border-radius:8px;font-size:16px;margin-bottom:16px;box-sizing:border-box;font-family:system-ui,-apple-system,sans-serif}.form-input::placeholder{color:#999}.import-button-container{margin-bottom:24px}.preview-box{width:100%;min-height:200px;border:2px solid var(--color-primary);border-radius:8px;background-color:#f5f5f5;display:flex;align-items:center;justify-content:center;padding:48px;box-sizing:border-box}.preview-text{font-size:16px;color:#666;font-weight:500}.place-name{font-size:20px;font-weight:700;margin-bottom:8px;color:#000}.place-location{font-size:16px;color:#000;margin:0}.highlights-list{list-style:none;margin:0;padding:0 0 0 20px}.highlights-list li{font-size:16px;color:#000;margin-bottom:8px;position:relative}.highlights-list li:before{content:"•";position:absolute;left:-20px;color:#000}.submit-button-container{margin-top:32px;margin-bottom:16px}.decision-container{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:24px 16px 32px;height:95%;position:relative}.mode-row{display:flex;align-items:center;justify-content:center;width:100%;max-width:640px;gap:8px}.mode-buttons{display:flex;gap:16px}.decision-wheel-button{margin-bottom:12px;width:100%;max-width:640px}.decision-wheel-button button{width:100%}.decision-wheel{width:min(90vw,600px);height:min(90vw,600px);border-radius:12px}.decided-activity-popup{border:none;border-radius:16px;animation:popup-fade .22s ease}.decided-activity-popup>*{margin-block:16px;text-align:center}.decided-activity-popup img{border-radius:4px;width:100%;height:auto}.decided-activity-popup .decided-activity-name{font-size:32px;font-weight:700}.decided-activity-popup::backdrop{background-color:#0006}@keyframes popup-fade{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.history-panel{width:100%;max-width:640px;background:#f7f5f1;border:1px solid #e5dfd6;border-radius:12px;padding:12px 16px;box-shadow:0 4px 10px #0000000d}.history-title{font-weight:700;margin-bottom:8px;color:#3f3a32}.history-empty{color:#6e665c;font-size:14px}.history-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.history-item{display:flex;flex-direction:column;gap:2px;background:#fff;border:1px solid #e5dfd6;border-radius:10px;padding:8px 10px}.history-activity{font-weight:700;color:#3f3a32}.history-meta{font-size:12px;color:#6e665c}.search-container{padding:0 16px 36px;animation:slideDown .3s ease-out .1s both}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.search-input{width:100%;padding:14px 18px;border-radius:12px;font-size:16px;font-family:system-ui,-apple-system,sans-serif;box-sizing:border-box;background:#ffffffe6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:box-shadow .2s ease,background-color .2s ease}.search-input:focus{background:#fff;box-shadow:0 4px 20px #00000014}.memory-container{max-width:400px;font-family:system-ui,-apple-system,sans-serif;box-sizing:border-box;position:relative;min-height:100vh;animation:fadeIn .4s ease-out}.memory-header{font-size:24px;font-weight:700;text-align:center;margin-bottom:16px}.memory-divider{border:1px solid var(--color-primary);margin-bottom:24px}.memory-empty{text-align:center;color:#666;font-size:16px;margin:120px 16px 0}.memory-list{display:flex;flex-direction:column;gap:24px;padding:0 16px 200px}.memory-card{position:relative;background:#ffffffd9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:2px solid var(--color-primary);border-radius:16px;padding:16px;margin-bottom:16px;transition:transform .3s ease,box-shadow .3s ease;animation:cardSlideIn .4s ease-out both}@keyframes cardSlideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.memory-card:nth-child(1){animation-delay:.1s}.memory-card:nth-child(2){animation-delay:.15s}.memory-card:nth-child(3){animation-delay:.2s}.memory-card:nth-child(4){animation-delay:.25s}.memory-card:nth-child(5){animation-delay:.3s}.memory-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;margin-top:10px}.memory-title{font-size:18px;font-weight:700;margin-bottom:4px}.memory-date{font-size:14px;color:#666;font-weight:500}.star-rating-display{display:flex;gap:2px;margin-top:4px}.star-filled{color:#fbbf24}.star-empty{color:#d1d5db}.memory-comment{margin-top:12px;padding:12px;background:#f9fafbcc;border-radius:8px;border-left:3px solid var(--color-primary)}.comment-label{font-size:12px;font-weight:600;color:#666;margin:0 0 4px;text-transform:uppercase;letter-spacing:.5px}.comment-text{font-size:14px;color:#333;margin:0;line-height:1.5;word-wrap:break-word}.more-photos-btn{display:flex;justify-content:center;align-items:center;font-size:14px;font-weight:600;background:linear-gradient(135deg,#4a556826,#a0aec033);border:2px solid var(--color-primary);cursor:pointer;color:var(--color-primary);transition:transform .2s ease,background-color .2s ease}.more-photos-btn:active{transform:scale(.95);background:var(--color-accent)}.memory-photo-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;width:100%}.photo-item{aspect-ratio:1 / 1;border-radius:12px;overflow:hidden;cursor:pointer;background:linear-gradient(135deg,#4a55681a,#a0aec026);width:100%;height:auto;display:flex;justify-content:center;align-items:center;transition:transform .2s ease,box-shadow .2s ease}.photo-item:active{transform:scale(.95);box-shadow:0 4px 12px #00000026}.photo-item img{width:100%;height:100%;object-fit:cover}.add-memory-btn{position:fixed;bottom:100px;right:24px;width:60px;height:60px;border-radius:50%;border:none;background:linear-gradient(135deg,var(--color-primary) 0%,#5a6778 100%);color:#fff;font-size:28px;font-weight:600;cursor:pointer;box-shadow:0 4px 20px #4a556859;z-index:1000;transition:transform .25s cubic-bezier(.4,0,.2,1),box-shadow .25s ease;animation:fabPulse 2s ease-in-out infinite}@keyframes fabPulse{0%,to{box-shadow:0 4px 20px #4a556859}50%{box-shadow:0 6px 28px #4a556873}}.add-memory-btn:active{transform:scale(.92);box-shadow:0 2px 12px #4a55684d}.add-memory-btn:focus{outline:3px solid var(--color-accent);outline-offset:3px}.memory-actions{display:flex;justify-content:space-between;gap:12px;margin-top:12px}.memory-actions .Button{flex:1;font-size:14px;padding:12px}.memory-actions-icons{position:absolute;top:10px;right:10px;display:flex;gap:8px}.icon{cursor:pointer;transition:transform .2s ease,color .2s ease;padding:4px;border-radius:8px;background:#fffc}.icon:active{transform:scale(1.15)}.edit-icon{color:var(--color-primary)}.delete-icon{color:#dc2626}.memory-footer{margin-top:12px;padding-top:12px;border-top:1px solid rgba(0,0,0,.1)}.comments-btn{display:flex;align-items:center;gap:6px;background:none;border:none;cursor:pointer;color:#666;font-size:14px;font-weight:500;padding:6px 12px;border-radius:8px;transition:background-color .2s ease,color .2s ease;font-family:system-ui,-apple-system,sans-serif}.comments-btn:hover{background:#0000000d;color:var(--color-primary)}.comments-btn:active{transform:scale(.98)}.popup-overlay{position:fixed;inset:0;background:#0006;display:flex;justify-content:center;align-items:center;z-index:1000}.popup-content{background:#fff;border-radius:12px;padding:20px;width:90%;max-width:380px;max-height:90vh;overflow-y:auto;box-shadow:0 4px 10px #0000001a;display:flex;flex-direction:column}.select-place-container{position:relative;margin-bottom:24px}.select-place-dropdown{width:100%;padding:16px 48px 16px 16px;border:1px solid #ccc;border-radius:8px;font-size:16px;box-sizing:border-box;font-family:system-ui,-apple-system,sans-serif;cursor:pointer;appearance:none;background-color:#fff}.select-place-dropdown:focus{outline:none;border-color:#000}.select-place-chevron{position:absolute;right:16px;top:50%;transform:translateY(-50%);pointer-events:none;color:#000}.rating-section{margin-bottom:24px;display:flex;flex-direction:column;gap:8px}.rating-label{font-size:14px;font-weight:600;color:#333}.star-rating{display:flex;gap:8px;justify-content:flex-start}.star{cursor:pointer;transition:transform .2s ease,color .2s ease}.star:hover{transform:scale(1.15)}.star-active{color:#fbbf24}.star-inactive{color:#d1d5db}.error-text{color:#d32f2f;font-size:14px;margin-top:-10px;margin-bottom:16px;text-align:center}.add-photos-container{border:2px dashed #000;border-radius:8px;padding:48px 16px;margin-bottom:24px;min-height:200px;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.add-photos-container.has-photos{border:none;padding:0;min-height:auto;margin-bottom:24px;display:flex;flex-direction:column}.add-photos-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;gap:8px;width:100%;height:100%}.add-photos-plus{font-size:48px;color:#999;line-height:1}.add-photos-text{font-size:16px;color:#999}.photos-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;width:100%;padding-right:4px}.photo-item{position:relative;width:100%;aspect-ratio:1 / 1;border-radius:8px;overflow:hidden;background:#f0f0f0}.photo-item img{width:100%;height:100%;object-fit:cover;display:block}.remove-btn{position:absolute;top:6px;right:6px;width:24px;height:24px;border-radius:50%;background:#0009;color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;z-index:10;transition:background .2s;padding:0;line-height:1}.remove-btn:hover{background:#d32f2fe6}.add-more-photos-tile{width:100%;aspect-ratio:1 / 1;border:2px dashed #ccc;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;background:#fafafa;transition:border-color .2s;box-sizing:border-box}.add-more-photos-tile:hover{border-color:#666}.add-photos-plus.small{font-size:28px;color:#888}.add-photos-text.small{font-size:12px;color:#888}.popup-buttons{display:flex;flex-direction:column;gap:12px}.btn-base{padding:12px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;border:none;width:100%;transition:opacity .2s}.btn-primary{background-color:#1976d2;color:#fff}.btn-secondary{background-color:transparent;color:#1976d2;border:1px solid #1976d2}.btn-base:hover{opacity:.9}.gallery-modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000000e6;display:flex;justify-content:center;align-items:center;z-index:9999}.gallery-modal-overlay .gallery-content{position:relative;max-width:90%;max-height:90%;display:flex;flex-direction:column;align-items:center}.gallery-modal-overlay .gallery-main-image{max-width:100%;object-fit:contain}.gallery-modal-overlay .gallery-main-image.slide-left{animation:slide-out-to-left 1s forwards}.gallery-modal-overlay .gallery-main-image.slide-right{animation:slide-out-to-right 1s forwards}.gallery-modal-overlay .gallery-next-image{position:absolute;z-index:-1;max-width:100%;object-fit:contain}.gallery-modal-overlay .gallery-next-image.slide-left{animation:slide-in-from-right 1s forwards}.gallery-modal-overlay .gallery-next-image.slide-right{animation:slide-in-from-left 1s forwards}.gallery-modal-overlay .gallery-close-btn{position:absolute;top:20px;right:20px;background:transparent;border:none;cursor:pointer;z-index:10001;opacity:.8;transition:opacity .2s}.gallery-modal-overlay .gallery-close-btn:hover{opacity:1}.gallery-modal-overlay .gallery-nav-btn{position:absolute;top:50%;transform:translateY(-50%);background:transparent;border:none;cursor:pointer;z-index:10000;opacity:.7;transition:opacity .2s}.gallery-modal-overlay .gallery-nav-btn:hover{opacity:1}.gallery-modal-overlay .gallery-nav-btn.left{left:20px}.gallery-modal-overlay .gallery-nav-btn.right{right:20px}.gallery-modal-overlay .gallery-counter{margin-top:15px;color:#fff;font-size:1.1rem;font-weight:500;font-family:sans-serif}@media(max-width:768px){.gallery-modal-overlay .gallery-nav-btn.left{left:5px;display:block}.gallery-modal-overlay .gallery-nav-btn.right{right:5px;display:block}.gallery-modal-overlay .gallery-main-image,.gallery-modal-overlay .gallery-next-image{max-width:100vw}}@keyframes slide-out-to-left{0%{translate:0}50%{opacity:1}to{translate:-100%;opacity:0}}@keyframes slide-out-to-right{0%{translate:0}50%{opacity:1}to{translate:100%;opacity:0}}@keyframes slide-in-from-left{0%{translate:-100%;opacity:0}50%{opacity:1}to{translate:0}}@keyframes slide-in-from-right{0%{translate:100%;opacity:0}50%{opacity:1}to{translate:0}}.comments-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:2000;animation:fadeIn .2s ease-out}.comments-modal-content{background:#fff;border-radius:16px;width:90%;max-width:500px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 10px 40px #0003;animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.comments-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #e5e7eb}.comments-modal-header h2{margin:0;font-size:20px;font-weight:700}.close-btn{background:none;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;color:#666;border-radius:8px;transition:background-color .2s ease}.close-btn:hover{background:#f3f4f6}.comments-list{flex:1;overflow-y:auto;padding:16px 20px;display:flex;flex-direction:column;gap:16px}.no-comments{text-align:center;color:#9ca3af;padding:40px 20px}.no-comments p{margin:0;font-size:15px}.comment-item{display:flex;gap:12px;animation:commentSlideIn .3s ease-out}@keyframes commentSlideIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.comment-avatar{flex-shrink:0;width:36px;height:36px;border-radius:50%;overflow:hidden}.comment-avatar img{width:100%;height:100%;object-fit:cover}.avatar-placeholder{width:100%;height:100%;background:linear-gradient(135deg,var(--color-primary, #4a5568) 0%,#718096 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:16px}.comment-content{flex:1;min-width:0}.comment-header{display:flex;align-items:baseline;gap:8px;margin-bottom:4px}.comment-username{font-weight:600;font-size:14px;color:#111827}.comment-time{font-size:12px;color:#9ca3af}.comment-text{margin:0;font-size:14px;color:#374151;line-height:1.5;word-wrap:break-word}.delete-comment-btn{flex-shrink:0;background:none;border:none;cursor:pointer;padding:8px;color:#ef4444;border-radius:6px;opacity:.7;transition:opacity .2s ease,background-color .2s ease}.delete-comment-btn:hover{opacity:1;background:#fee2e2}.add-comment-section{display:flex;gap:12px;padding:16px 20px;border-top:1px solid #e5e7eb;background:#f9fafb;border-bottom-left-radius:16px;border-bottom-right-radius:16px}.comment-input{flex:1;padding:12px 16px;border:1px solid #d1d5db;border-radius:24px;font-size:14px;font-family:system-ui,-apple-system,sans-serif;outline:none;transition:border-color .2s ease}.comment-input:focus{border-color:var(--color-primary, #4a5568)}.comment-input::placeholder{color:#9ca3af}.send-comment-btn{flex-shrink:0;width:40px;height:40px;border-radius:50%;border:none;background:var(--color-primary, #4a5568);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s ease,background-color .2s ease}.send-comment-btn:hover:not(:disabled){background:#2d3748;transform:scale(1.05)}.send-comment-btn:disabled{opacity:.5;cursor:not-allowed}.send-comment-btn:active:not(:disabled){transform:scale(.95)}.group-settings-container{min-height:100vh;max-width:400px;margin:0 auto;font-family:system-ui,-apple-system,sans-serif;padding-bottom:120px;position:relative;animation:fadeIn .4s ease-out}.settings-content{padding:16px;position:relative;animation:slideUp .4s ease-out .1s both}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.settings-section{margin-bottom:32px}.group-icon-display{width:128px;height:128px;margin:0 auto 16px;border-radius:16px;overflow:hidden;border:2px solid var(--color-primary)}.group-icon-display img{width:100%;height:100%;object-fit:cover}.group-name-display{text-align:center;font-size:24px;font-weight:700;margin:0 0 8px;color:#333}.group-desc-display{text-align:center;color:#666;margin:0 0 24px;font-size:14px}.section-title{font-size:18px;font-weight:700;margin:0 0 8px;color:#333}.section-description{font-size:14px;color:#666;margin:0 0 12px}.invite-code-container{background:#f8f9fae6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:12px;padding:16px;border:2px solid var(--color-primary)}.invite-code-display{display:flex;align-items:center;gap:12px}.invite-code-value{flex:1;padding:14px 16px;background-color:#fff;border:2px solid var(--color-primary);border-radius:8px;font-size:20px;font-weight:700;letter-spacing:3px;text-align:center;color:var(--color-primary)}.icon-button{padding:14px;background-color:var(--color-primary);border:none;border-radius:12px;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .2s ease,box-shadow .2s ease;min-width:48px;height:48px;box-shadow:0 2px 8px #0000001a}.icon-button:active:not(:disabled){transform:scale(.95);background-color:#5a6778;box-shadow:0 1px 4px #0000001a}.icon-button:disabled{opacity:.5;cursor:not-allowed}.autocomplete-wrapper{position:relative}.search-input{width:100%;padding:14px 16px;border-radius:12px;font-size:16px;font-family:system-ui,-apple-system,sans-serif;box-sizing:border-box;border:2px solid var(--color-primary);background:#ffffffe6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:box-shadow .2s ease,background-color .2s ease}.search-input:focus{outline:none;border-color:var(--color-primary);background:#fff;box-shadow:0 4px 20px #00000014}.search-input::placeholder{color:#999}.suggestions-dropdown{position:absolute;top:100%;left:0;right:0;background:#fffffff2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:2px solid var(--color-primary);border-radius:12px;max-height:200px;overflow-y:auto;box-shadow:0 8px 32px #0000001f;z-index:1000;margin-top:8px;animation:dropdownSlideIn .2s ease-out}@keyframes dropdownSlideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.suggestion-item{display:flex;align-items:center;gap:12px;padding:12px 16px;cursor:pointer;transition:background-color .15s ease,transform .15s ease}.suggestion-item:active{background-color:var(--color-accent);transform:scale(.98)}.suggestion-item:not(:last-child){border-bottom:1px solid rgba(0,0,0,.06)}.suggestion-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover}.members-list{display:flex;flex-direction:column;gap:12px}.member-item{display:flex;align-items:center;gap:12px;padding:12px;background:#f8f9fae6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:12px;border:2px solid var(--color-primary);transition:transform .2s ease,box-shadow .2s ease;animation:memberSlideIn .3s ease-out both}@keyframes memberSlideIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.member-item:nth-child(1){animation-delay:.05s}.member-item:nth-child(2){animation-delay:.1s}.member-item:nth-child(3){animation-delay:.15s}.member-item:nth-child(4){animation-delay:.2s}.member-item:nth-child(5){animation-delay:.25s}.member-avatar{width:48px;height:48px;border-radius:50%;object-fit:cover;flex-shrink:0}.member-info{flex:1;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.member-username{font-size:16px;font-weight:600;color:#333}.owner-badge{padding:4px 10px;background:linear-gradient(135deg,gold,#ffed4e);color:#333;border-radius:12px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 2px 4px #ffd7004d}.admin-badge{padding:4px 10px;background-color:var(--color-primary);color:#fff;border-radius:12px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.member-actions{display:flex;gap:6px;flex-shrink:0}.action-button{padding:8px;border:none;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;background-color:#fff;border:2px solid #ddd}.action-button:hover{transform:scale(1.05)}.action-button:active{transform:scale(.95)}.promote-button{color:#28a745;border-color:#28a745}.promote-button:hover{background-color:#28a745;color:#fff}.demote-button{color:#ffc107;border-color:#ffc107}.demote-button:hover{background-color:#ffc107;color:#fff}.remove-button{color:#dc3545;border-color:#dc3545}.remove-button:hover{background-color:#dc3545;color:#fff}.pending-badge{padding:4px 12px;background-color:#ffc107;color:#fff;border-radius:12px;font-size:12px;font-weight:600}.navbar{display:flex;align-items:center;justify-content:space-evenly;position:fixed;bottom:0;left:0;right:0;border-top:1px solid rgba(74,85,104,.15);background:#fafafab3;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);padding:4px 0 env(safe-area-inset-bottom,8px) 0;z-index:100;box-shadow:0 -4px 20px #0000000f}.navbar a{width:100%;text-align:center;padding:10px 8px;border-radius:12px;text-decoration:none;color:var(--color-accent);transition:transform .2s cubic-bezier(.4,0,.2,1),color .2s ease;position:relative}.navbar a svg{display:block;margin:auto;transition:transform .2s ease}.navbar a:active{transform:scale(.85)}.navbar a:active svg{transform:scale(1.1)}.navbar a.active{color:var(--color-primary)}.navbar a.active:after{content:"";position:absolute;bottom:4px;left:50%;transform:translate(-50%);width:4px;height:4px;background:var(--color-primary);border-radius:50%;animation:dotPop .3s ease-out}@keyframes dotPop{0%{opacity:0;transform:translate(-50%) scale(0)}50%{transform:translate(-50%) scale(1.3)}to{opacity:1;transform:translate(-50%) scale(1)}}:root{height:100%;overflow-x:hidden;--color-primary: #4a5568;--color-accent: #a0aec0;--color-neutral: #1a202c;--color-primary-light: rgba(74, 85, 104, .1);--soft-mint-green: #d1e8e2;--deep-teal: #19747e;--light-sky-blue: #a9d6e5;--light-gray: #e2e2e2}html,*,body,#root,.content-area{scroll-behavior:smooth}body{margin:0;min-height:100vh;background-color:#fafafa;background-image:radial-gradient(circle at 0% 0%,rgba(245,222,179,.4) 0,transparent 55%),radial-gradient(circle at 100% 0%,rgba(255,216,190,.3) 0,transparent 55%),radial-gradient(circle at 15% 80%,rgba(255,160,170,.22) 0,transparent 55%),radial-gradient(circle at 85% 100%,rgba(255,140,180,.18) 0,transparent 55%),radial-gradient(circle at 15% 20%,rgba(74,85,104,.12) 0,transparent 55%),radial-gradient(circle at 85% 25%,rgba(113,128,150,.1) 0,transparent 55%),radial-gradient(circle at 20% 85%,rgba(160,174,192,.08) 0,transparent 55%),radial-gradient(circle at 80% 80%,rgba(74,85,104,.1) 0,transparent 55%);background-repeat:no-repeat;background-attachment:fixed;background-size:100% 100%;animation:lumaLikeBg 28s ease-in-out infinite alternate;overflow-x:hidden}@keyframes lumaLikeBg{0%{background-position:0% 0%,100% 0%,15% 80%,85% 100%,15% 20%,85% 25%,20% 85%,80% 80%}50%{background-position:10% 10%,90% 5%,5% 90%,95% 95%,5% 30%,90% 20%,25% 90%,70% 70%}to{background-position:0% 20%,100% 10%,20% 100%,80% 90%,18% 10%,80% 35%,15% 80%,90% 90%}}#root{min-height:100vh;padding:0 16px;max-width:400px;margin:auto;position:relative;overflow-x:hidden}.section-title{font-size:18px;font-weight:700;margin-bottom:16px}@keyframes spin1{to{rotate:360deg}}@keyframes spin2{to{transform:rotate(360deg)}}.spin-loader{animation:spin1 1s ease-in-out infinite,spin2 2s linear infinite}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.animate-fade-in{animation:fadeIn .3s ease-out}.animate-fade-in-up{animation:fadeInUp .4s ease-out}.animate-scale-in{animation:scaleIn .3s ease-out}.stagger-1{animation-delay:.05s}.stagger-2{animation-delay:.1s}.stagger-3{animation-delay:.15s}.stagger-4{animation-delay:.2s}.stagger-5{animation-delay:.25s}
