.avatar{border-radius:50%;object-fit:cover;display:block;flex-shrink:0}.avatar-default{position:relative;background:#e5e5ea;display:flex;align-items:center;justify-content:center;overflow:hidden;border:none;box-shadow:none}.avatar-icon{width:55%;height:55%;color:#8e8e93;position:absolute}.avatar-initials{position:absolute;color:#fff;font-weight:600;font-size:.5em;text-transform:uppercase;z-index:1;text-shadow:0 1px 2px rgba(0,0,0,.2)}.avatar-small{width:32px;height:32px}.avatar-medium{width:40px;height:40px}.avatar-large{width:64px;height:64px}.avatar-xlarge{width:96px;height:96px}.avatar-small .avatar-initials{font-size:.4em}.avatar-medium .avatar-initials{font-size:.45em}.avatar-large .avatar-initials{font-size:.6em}.avatar-xlarge .avatar-initials{font-size:.7em}.avatar:not(.avatar-default){border:2px solid rgba(255,255,255,.2);box-shadow:0 2px 8px #0000001a}.particle-banner{position:relative;width:100%;height:140px;overflow:hidden;border-radius:0 0 16px 16px}.particle-canvas{position:absolute;top:0;left:0;width:100%;height:100%}.particle-overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 0%,transparent 60%,rgba(45,27,78,.3) 100%);pointer-events:none}@media(max-width:600px){.particle-banner{height:120px;border-radius:0}}@media(max-width:400px){.particle-banner{height:100px}}.header{background:#fff;position:relative;z-index:100;width:100%;max-width:600px;margin:0 auto;flex-shrink:0}@media(max-width:600px){.header{max-width:100%}}@media(min-width:769px){.header{max-width:900px}}.header-banner{position:relative;width:100%;height:140px;border-radius:0 0 16px 16px;overflow:hidden}.header-nav-overlay{position:absolute;top:.5rem;left:0;right:0;padding:.5rem 1rem;display:flex;align-items:center;justify-content:flex-end;gap:.5rem;background:transparent;z-index:20;transform:none}.header-avatar-container{position:absolute;top:94px;left:1rem;z-index:50}.header-creator-avatar{width:92px;height:92px;border-radius:50%;object-fit:cover;border:3px solid #fff;box-shadow:0 2px 12px #00000026;transition:transform .3s ease;display:block}.header-creator-avatar:hover{transform:scale(1.03)}.header-creator-section{padding:.5rem 1rem .75rem calc(92px + 1.75rem);min-height:55px;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:.5rem;background:#fff}.header-creator-left{display:flex;flex-direction:column;gap:0}.header-creator-info{display:flex;align-items:center;gap:.375rem}.header-creator-name{font-size:1.125rem;font-weight:700;color:#262626;margin:0;letter-spacing:-.3px}.header-creator-emoji{font-size:1rem}.header-online-status{display:flex;align-items:center;gap:.375rem;margin-top:.125rem}.online-dot{width:8px;height:8px;background:#34c759;border-radius:50%;animation:onlinePulse 2s ease-in-out infinite}@keyframes onlinePulse{0%,to{opacity:1}50%{opacity:.6}}.online-text{font-size:.875rem;color:#34c759;font-weight:500}.talk-with-sara-btn{display:flex;align-items:center;gap:.5rem;background:linear-gradient(135deg,#007aff,#5856d6);color:#fff;border:none;border-radius:20px;padding:.5rem 1rem;font-size:.8125rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #007aff4d}.talk-with-sara-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #007aff66}.talk-with-sara-btn:active{transform:translateY(0)}.talk-with-sara-btn svg{flex-shrink:0}.header-user-menu{position:relative}.header-user-trigger{position:relative;display:flex;align-items:center;justify-content:center;background:#fff;border:none;cursor:pointer;padding:1px;border-radius:50%;transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 2px 8px #00000026}.header-notification-badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 5px;background:linear-gradient(135deg,#ff6b6b,#ff6a88);color:#fff;font-size:.6875rem;font-weight:600;line-height:18px;text-align:center;border-radius:9999px;border:2px solid #fff;box-shadow:0 2px 8px #ff6b6b66}.header-user-trigger:hover{transform:scale(1.05);box-shadow:0 4px 12px #00000026}.header-user-trigger:active{transform:scale(.95)}.header-avatar{width:30px;height:30px;border-radius:50%;object-fit:cover;display:block}.header-dropdown{position:fixed;top:3.5rem;right:1rem;background:#fff;border:1px solid #DBDBDB;border-radius:12px;box-shadow:0 8px 32px #0000002e,0 2px 8px #0000001a;min-width:260px;animation:fadeIn .15s ease-out;z-index:10000;isolation:isolate;-webkit-transform:translateZ(0);transform:translateZ(0)}@keyframes fadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.dropdown-header{display:flex;align-items:center;gap:.75rem;padding:1rem}.dropdown-avatar{width:48px;height:48px;border-radius:50%;object-fit:cover}.dropdown-user-info{flex:1;min-width:0}.dropdown-name{font-size:.9375rem;font-weight:600;color:#262626;margin-bottom:.125rem}.dropdown-email{font-size:.8125rem;color:#8e8e8e;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:.375rem}.dropdown-subscriber-badge,.dropdown-free-badge{display:inline-flex;align-items:center;gap:.25rem;font-size:.75rem;font-weight:500;padding:.125rem .375rem;border-radius:4px}.dropdown-subscriber-badge{background:#e8f5e9;color:#2e7d32}.dropdown-free-badge{background:#f5f5f5;color:#757575}.dropdown-notifications-section{border-top:1px solid #EFEFEF;padding:0}.dropdown-notifications-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem .5rem}.dropdown-notifications-title{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;font-weight:600;color:#262626}.dropdown-notifications-title svg{color:#8e8e8e}.dropdown-notifications-count{background:linear-gradient(135deg,#ff6b6b,#ff6a88);color:#fff;font-size:.6875rem;font-weight:600;padding:.125rem .375rem;border-radius:9999px;min-width:18px;text-align:center}.dropdown-mark-all-read{background:none;border:none;color:#ff6b6b;font-size:.75rem;font-weight:500;cursor:pointer;padding:.25rem .5rem;border-radius:6px;transition:background .2s ease}.dropdown-mark-all-read:hover{background:#ff6b6b1a}.dropdown-notifications-list{max-height:200px;overflow-y:auto}.dropdown-notification-empty{padding:1.5rem 1rem;text-align:center;color:#8e8e8e;font-size:.8125rem}.dropdown-notification-item{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem 1rem;cursor:pointer;transition:background .15s ease;position:relative}.dropdown-notification-item:hover{background:#f8f8f8}.dropdown-notification-item.unread{background:#ff6b6b0a}.dropdown-notification-item.unread:hover{background:#ff6b6b14}.dropdown-notification-icon{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#f5f5f5;border-radius:50%;color:#8e8e8e}.dropdown-notification-icon .notification-sara-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover}.dropdown-notification-content{flex:1;min-width:0}.dropdown-notification-title{font-size:.8125rem;font-weight:600;color:#262626;margin-bottom:.125rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dropdown-notification-message{font-size:.75rem;color:#8e8e8e;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.dropdown-notification-time{font-size:.6875rem;color:#aeaeb2;margin-top:.25rem}.dropdown-notification-dot{position:absolute;top:50%;right:.75rem;transform:translateY(-50%);width:8px;height:8px;background:linear-gradient(135deg,#ff6b6b,#ff6a88);border-radius:50%}.dropdown-divider{height:1px;background:#efefef;margin:0}.dropdown-item{display:flex;align-items:center;gap:.75rem;width:100%;padding:.75rem 1rem;background:none;border:none;cursor:pointer;font-size:.875rem;color:#262626;text-align:left;transition:background .15s ease}.dropdown-item:hover{background:#fafafa}.dropdown-item svg{flex-shrink:0;color:#8e8e8e}.dropdown-item.danger{color:#ed4956}.dropdown-item.danger svg{color:#ed4956}@media(max-width:600px){.header{max-width:100%}.header-banner{height:120px;border-radius:0}.header-avatar-container{top:80px}.header-creator-avatar{width:80px;height:80px;border-width:3px}.header-creator-section{padding-left:calc(80px + 1.5rem);padding-right:.75rem;min-height:50px;gap:.375rem}.header-creator-name{font-size:1rem}.talk-with-sara-btn{padding:.5rem .875rem;font-size:.75rem;min-height:36px;border-radius:18px}.online-text{font-size:.8125rem}.header-nav-overlay{padding:.5rem .75rem}.header-user-trigger{padding:2px}.header-avatar{width:32px;height:32px}}@media(max-width:400px){.header-banner{height:100px}.header-avatar-container{top:67px;left:.75rem}.header-creator-avatar{width:66px;height:66px;border-width:2px}.header-creator-section{padding-left:calc(66px + 1.125rem);padding-right:.5rem;min-height:40px}.header-creator-name{font-size:.9375rem}.talk-with-sara-btn{padding:.375rem .625rem;font-size:.6875rem;min-height:32px;gap:.25rem}.talk-with-sara-btn svg{width:12px;height:12px}.online-text{font-size:.75rem}.online-dot{width:6px;height:6px}.header-dropdown{min-width:240px;right:.5rem}.dropdown-header{padding:.75rem}.dropdown-avatar{width:40px;height:40px}.dropdown-item{padding:.625rem .75rem;font-size:.8125rem}}@media(max-width:320px){.header-banner{height:85px}.header-avatar-container{top:55px;left:.5rem}.header-creator-avatar{width:56px;height:56px}.header-creator-section{padding-left:calc(56px + .875rem);padding-right:.375rem;min-height:36px}.header-creator-name{font-size:.875rem}.talk-with-sara-btn span{display:none}.talk-with-sara-btn{padding:.5rem;min-width:36px;border-radius:50%}}.payment-modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:10000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.payment-modal{background:#fff;border-radius:16px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease-out}.payment-modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid #e5e7eb}.payment-modal-header h2{margin:0;font-size:24px;font-weight:600;color:#111827}.close-btn{background:none;border:none;font-size:28px;color:#6b7280;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .2s}.close-btn:hover:not(:disabled){background:#f3f4f6;color:#111827}.close-btn:disabled{opacity:.5;cursor:not-allowed}.payment-modal-content{padding:24px}.payment-description{color:#6b7280;font-size:16px;margin-bottom:24px;line-height:1.5}.payment-amount{display:flex;justify-content:space-between;align-items:center;padding:16px;background:#f9fafb;border-radius:12px;margin-bottom:24px}.amount-label{font-size:16px;color:#6b7280;font-weight:500}.amount-value{font-size:28px;font-weight:700;color:#111827}.processor-selection{margin-bottom:24px}.processor-selection label:first-child{display:block;font-size:14px;font-weight:600;color:#374151;margin-bottom:12px}.processor-options{display:flex;flex-direction:column;gap:12px}.processor-option{display:flex;align-items:flex-start;padding:16px;border:2px solid #e5e7eb;border-radius:12px;cursor:pointer;transition:all .2s}.processor-option:hover{border-color:#9333ea;background:#faf5ff}.processor-option input[type=radio]{margin-right:12px;margin-top:2px;cursor:pointer;width:20px;height:20px;accent-color:#9333ea}.processor-option input[type=radio]:disabled{cursor:not-allowed}.processor-info{flex:1}.processor-name{font-size:16px;font-weight:600;color:#111827;margin-bottom:4px}.processor-desc{font-size:14px;color:#6b7280}.payment-error{padding:12px 16px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:14px;margin-bottom:24px}.payment-modal-actions{display:flex;gap:12px;margin-bottom:16px}.cancel-btn,.pay-btn{flex:1;padding:14px 24px;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s;border:none}.cancel-btn{background:#f3f4f6;color:#374151}.cancel-btn:hover:not(:disabled){background:#e5e7eb}.pay-btn{background:linear-gradient(135deg,#9333ea,#7c3aed);color:#fff;box-shadow:0 4px 12px #9333ea4d}.pay-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #9333ea66}.pay-btn:disabled,.cancel-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.payment-note{font-size:12px;color:#9ca3af;text-align:center;margin:0;line-height:1.5}.helio-checkout-container{margin:24px 0;min-height:400px;display:flex;flex-direction:column;align-items:center;justify-content:center}.helio-checkout-container>*{width:100%}@media(max-width:640px){.payment-modal{width:95%;margin:20px}.payment-modal-header,.payment-modal-content{padding:20px}.amount-value{font-size:24px}}.profile-header{display:flex;align-items:flex-start;gap:1.25rem;padding:1.5rem 1.25rem;background:linear-gradient(180deg,#fff,#fffbf8);border-bottom:1px solid rgba(0,0,0,.06);max-width:600px;margin:0 auto;animation:headerFadeIn .5s ease-out}@media(min-width:769px){.profile-header{max-width:900px}}@keyframes headerFadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.profile-pic-container{flex-shrink:0;animation:picPop .6s cubic-bezier(.34,1.56,.64,1) .1s both}@keyframes picPop{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.profile-pic{width:86px;height:86px;border-radius:50%;object-fit:cover;border:3px solid transparent;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(135deg,#ff9a8b,#ff6a88,#b794f6) border-box;box-shadow:0 4px 20px #ff6a8840;transition:transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .3s ease}.profile-pic:hover{transform:scale(1.05);box-shadow:0 8px 30px #ff6a8859}.profile-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.625rem;animation:infoSlideIn .5s ease-out .15s both}@keyframes infoSlideIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.profile-stats{display:flex;gap:.5rem}.stat{display:flex;flex-direction:column;align-items:center;padding:.5rem .875rem;border-radius:12px;transition:all .25s cubic-bezier(.34,1.56,.64,1);cursor:default}.stat:hover{background:#ff6b6b14;transform:translateY(-2px)}.stat-number{font-size:1.125rem;font-weight:700;line-height:1.2;background:linear-gradient(135deg,#262626,#ff6b6b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.stat-name{font-size:.75rem;font-weight:500;color:#8e8e8e;text-transform:lowercase}.profile-identity{display:flex;flex-direction:column;gap:.125rem}.profile-name{display:flex;align-items:center;gap:.375rem}.profile-name h1{font-size:1rem;font-weight:700;color:#262626;margin:0;line-height:1.3;letter-spacing:-.3px}.verified{display:flex;align-items:center;justify-content:center;width:18px;height:18px;background:linear-gradient(135deg,#0095f6,#5856d6);border-radius:50%;flex-shrink:0;animation:verifiedPulse 3s ease-in-out infinite}.verified svg{width:12px;height:12px;color:#fff;fill:#fff}@keyframes verifiedPulse{0%,to{box-shadow:0 0 #0095f666}50%{box-shadow:0 0 0 6px #0095f600}}.profile-handle{font-size:.8125rem;color:#8e8e8e;font-weight:400}.profile-bio{font-size:.8125rem;color:#262626;margin:0;line-height:1.5}.profile-actions{display:flex;gap:.625rem;margin-top:.375rem}.chat-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;background:linear-gradient(135deg,#ff9a8b,#ff6a88,#ff99ac);color:#fff;border:none;border-radius:12px;padding:.75rem 1.25rem;font-size:.875rem;font-weight:600;cursor:pointer;box-shadow:0 4px 14px #ff6a8859;transition:all .25s cubic-bezier(.34,1.56,.64,1);flex:1;position:relative;overflow:hidden}.chat-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.25),transparent);transition:left .5s ease}.chat-btn:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 8px 25px #ff6a8873}.chat-btn:hover:before{left:100%}.chat-btn:active{transform:translateY(-1px) scale(.98)}.chat-btn svg{width:18px;height:18px}.subscribe-btn{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#262626;border:1.5px solid rgba(0,0,0,.1);border-radius:12px;padding:.75rem 1.25rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .25s ease;flex:1}.subscribe-btn:hover{background:#fff;border-color:#ff6b6b;color:#ff6b6b;transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.subscribe-btn:active{transform:translateY(0) scale(.98)}@media(max-width:480px){.profile-header{padding:1.25rem 1rem;gap:1rem}.profile-pic{width:72px;height:72px}.profile-stats{gap:.25rem}.stat{padding:.375rem .625rem}.stat-number{font-size:1rem}.stat-name{font-size:.6875rem}.profile-name h1{font-size:.9375rem}.verified{width:16px;height:16px}.verified svg{width:10px;height:10px}.profile-handle,.profile-bio{font-size:.75rem}.profile-actions{flex-direction:column;gap:.5rem}.chat-btn,.subscribe-btn{padding:.625rem 1rem;font-size:.8125rem;border-radius:10px}}@media(min-width:768px){.profile-header{padding:1.75rem 1.5rem;gap:1.5rem}.profile-pic{width:96px;height:96px}.profile-stats{gap:.75rem}.stat{padding:.5rem 1rem}.stat-number{font-size:1.25rem}.profile-name h1{font-size:1.0625rem}.verified{width:20px;height:20px}.verified svg{width:13px;height:13px}.profile-bio{font-size:.875rem}.chat-btn,.subscribe-btn{padding:.875rem 1.5rem}}.post{background:#fff;border-radius:16px;box-shadow:0 1px 3px #00000014;margin-bottom:1rem;overflow:hidden;animation:fadeIn .4s ease-out both}.post:nth-child(1){animation-delay:.05s}.post:nth-child(2){animation-delay:.1s}.post:nth-child(3){animation-delay:.15s}.post:nth-child(4){animation-delay:.2s}.post:nth-child(5){animation-delay:.25s}.post:nth-child(n+6){animation-delay:.3s}.post-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem}.post-time{font-size:.8125rem;color:#8e8e8e}.post-access-badge{font-size:.75rem;font-weight:600;padding:.25rem .625rem;border-radius:9999px;text-transform:uppercase;letter-spacing:.3px}.post-access-badge.free{background:#e8f5e9;color:#2e7d32}.post-access-badge.ppv{background:linear-gradient(135deg,#fff3e0,#ffe0b2);color:#e65100}.post-access-badge.subscriber{background:linear-gradient(135deg,#e3f2fd,#bbdefb);color:#1565c0}.post-caption{font-size:.9375rem;line-height:1.5;color:#262626;padding:0 1rem .75rem;margin:0;white-space:pre-wrap;word-wrap:break-word}.post-media-grid{display:grid;gap:2px;grid-template-columns:1fr}.post-media-grid:has(.post-media-item:nth-child(2)){grid-template-columns:repeat(2,1fr)}.post-media-grid:has(.post-media-item:nth-child(3)){grid-template-columns:repeat(2,1fr)}.post-media-grid:has(.post-media-item:nth-child(4)){grid-template-columns:repeat(2,1fr)}.post-media-item{position:relative;background:#f7f9fa;cursor:pointer;aspect-ratio:1;overflow:hidden}.post-media-item:hover{opacity:.95}.post-media-item.locked{cursor:pointer}.post-image,.post-video{width:100%;height:100%;object-fit:cover;display:block}.post-image.blurred,.post-video.blurred{filter:blur(20px);transform:scale(1.1)}.post-media-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#f0f0f0;color:#666;font-size:2rem}.media-lock-overlay{position:absolute;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;z-index:2}.lock-icon{font-size:2rem;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.lock-price{font-size:1.25rem;font-weight:700;color:gold;text-shadow:0 2px 4px rgba(0,0,0,.5)}.unlock-btn{background:linear-gradient(135deg,#ff9a8b,#ff6a88,#ff99ac);color:#fff;border:none;padding:.625rem 1.5rem;border-radius:9999px;font-size:.875rem;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 4px 12px #ff6a8859}.unlock-btn:hover{transform:scale(1.05);box-shadow:0 6px 16px #ff6a8873}.unlock-btn:active{transform:scale(.98)}.media-count-indicator{position:absolute;top:.75rem;right:.75rem;background:#000000b3;color:#fff;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;z-index:3}.media-count-indicator:before{content:"1/"}.post-actions{display:flex;align-items:center;padding:.75rem 1rem;border-top:1px solid #EFEFEF}.tip-button{display:flex;align-items:center;gap:.5rem;background:none;border:none;color:#ff6b6b;font-size:.875rem;font-weight:600;cursor:pointer;padding:.5rem .75rem;border-radius:8px;transition:background .2s ease}.tip-button:hover{background:#ff6b6b1a}.tip-button svg{stroke:#ff6b6b}.tip-modal-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out}.tip-modal{background:#fff;border-radius:20px;padding:1.5rem;width:90%;max-width:360px;position:relative;animation:slideUp .3s ease-out}.tip-modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;color:#8e8e8e;cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center}.tip-modal-close:hover{color:#262626}.tip-modal h3{font-size:1.25rem;font-weight:700;color:#262626;margin:0 0 .25rem;text-align:center}.tip-modal p{font-size:.875rem;color:#8e8e8e;margin:0 0 1.25rem;text-align:center}.tip-presets{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin-bottom:1rem}.tip-preset{background:#f7f9fa;border:2px solid transparent;border-radius:12px;padding:.75rem .5rem;font-size:1rem;font-weight:600;color:#262626;cursor:pointer;transition:all .2s ease}.tip-preset:hover{background:#efefef}.tip-preset.active{background:linear-gradient(135deg,#fff0ed,#ffe5e0);border-color:#ff6b6b;color:#ff6b6b}.tip-custom{display:flex;align-items:center;gap:.5rem;background:#f7f9fa;border-radius:12px;padding:.75rem 1rem;margin-bottom:1rem}.tip-currency{font-size:1.125rem;font-weight:600;color:#8e8e8e}.tip-custom input{flex:1;background:none;border:none;font-size:1.125rem;font-weight:500;color:#262626;outline:none}.tip-custom input::placeholder{color:#bdbdbd}.tip-submit{width:100%;background:linear-gradient(135deg,#ff9a8b,#ff6a88,#ff99ac);color:#fff;border:none;border-radius:12px;padding:.875rem;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 4px 12px #ff6a8859}.tip-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #ff6a8873}.tip-submit:disabled{opacity:.5;cursor:not-allowed}.lightbox{position:fixed;inset:0;background:#000000f2;z-index:1000;display:flex;flex-direction:column;align-items:center;justify-content:center;animation:lightboxFadeIn .2s ease-out}@keyframes lightboxFadeIn{0%{opacity:0}to{opacity:1}}.lightbox-close{position:absolute;top:1rem;right:1rem;background:#ffffff1a;border:none;color:#fff;width:44px;height:44px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:1001;transition:background .2s ease}.lightbox-close:hover{background:#fff3}.lightbox-content{position:relative;display:flex;align-items:center;justify-content:center;max-width:90vw;max-height:80vh}.lightbox-image,.lightbox-video{max-width:90vw;max-height:80vh;object-fit:contain;border-radius:8px;animation:lightboxImageIn .3s ease-out}@keyframes lightboxImageIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);background:#ffffff26;border:none;color:#fff;width:48px;height:48px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:1001;transition:background .2s ease,transform .2s ease}.lightbox-nav:hover{background:#ffffff40;transform:translateY(-50%) scale(1.1)}.lightbox-prev{left:-60px}.lightbox-next{right:-60px}.lightbox-dots{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);display:flex;gap:.5rem;z-index:1001}.lightbox-dot{width:8px;height:8px;border-radius:50%;background:#fff6;border:none;cursor:pointer;transition:background .2s ease,transform .2s ease;padding:0}.lightbox-dot:hover{background:#fff9}.lightbox-dot.active{background:#fff;transform:scale(1.25)}@media(max-width:768px){.post{border-radius:0;margin-bottom:.5rem}.post-header{padding:.75rem}.post-avatar{width:36px;height:36px}.post-caption{padding:0 .75rem .625rem;font-size:.875rem}.post-actions{padding:.625rem .75rem}.lightbox-nav{width:40px;height:40px}.lightbox-prev{left:.5rem}.lightbox-next{right:.5rem}.lightbox-close{top:.5rem;right:.5rem;width:40px;height:40px}.lightbox-dots{bottom:1.5rem}.lightbox-image,.lightbox-video{max-width:100vw;max-height:75vh;border-radius:0}}@media(max-width:480px){.post-author-name{font-size:.875rem}.post-access-badge{font-size:.6875rem;padding:.1875rem .5rem}.tip-button{font-size:.8125rem}.unlock-btn{padding:.5rem 1.25rem;font-size:.8125rem}.lock-price{font-size:1.125rem}.lock-icon{font-size:1.75rem}.tip-modal{width:95%;padding:1.25rem}.tip-presets{grid-template-columns:repeat(2,1fr)}}.feed{max-width:600px;margin:1rem auto;padding:0 1rem;animation:fadeIn .4s ease-out}@media(min-width:769px){.feed{max-width:900px;padding:0 1.5rem}}.posts-container{display:flex;flex-direction:column;gap:0}@media(max-width:768px){.feed{padding:0 1rem;margin:.75rem auto}}@media(max-width:480px){.feed{padding:0 .75rem;margin:.5rem auto}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton-post{background:#fff;border-radius:16px;box-shadow:0 1px 3px #00000014;margin-bottom:1rem;overflow:hidden}.skeleton-post:nth-child(1){animation:fadeIn .3s ease-out 0s both}.skeleton-post:nth-child(2){animation:fadeIn .3s ease-out .1s both}.skeleton-post:nth-child(3){animation:fadeIn .3s ease-out .2s both}.skeleton-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem}.skeleton-header-left{display:flex;align-items:center;gap:.75rem}.skeleton-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.skeleton-text{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:4px}.skeleton-name{width:80px;height:14px;margin-bottom:6px}.skeleton-time{width:50px;height:12px}.skeleton-badge{width:60px;height:24px;border-radius:9999px}.skeleton-caption{padding:0 1rem .75rem;display:flex;flex-direction:column;gap:8px}.skeleton-line{height:14px;border-radius:4px}.skeleton-line-full{width:100%}.skeleton-line-medium{width:75%}.skeleton-line-short{width:40%}.skeleton-media{width:100%;aspect-ratio:1 / 1;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.skeleton-actions{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem}.skeleton-action-btn{width:32px;height:32px;border-radius:50%}.skeleton-action-text{width:24px;height:12px}.upgrade-prompt-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .3s ease-out;padding:1rem}.upgrade-prompt{background:#fff;border-radius:20px;max-width:500px;width:100%;box-shadow:0 20px 60px #0000004d;position:relative;animation:slideUp .3s ease-out;overflow:hidden}.upgrade-close{position:absolute;top:1rem;right:1rem;background:#f0f0f0;border:none;width:32px;height:32px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:#666;transition:all .2s;z-index:1}.upgrade-close:hover{background:#e0e0e0;color:#333}.upgrade-content{padding:2.5rem 2rem 2rem;text-align:center}.upgrade-icon{color:var(--primary-blue);margin-bottom:1rem;display:flex;justify-content:center}.upgrade-content h2{margin:0 0 1rem;font-size:1.75rem;font-weight:700;color:#1a1a1a}.upgrade-message{color:#666;font-size:1rem;line-height:1.6;margin:0 0 1.5rem}.upgrade-stats{display:flex;gap:2rem;justify-content:center;margin:1.5rem 0;padding:1.5rem;background:#f8f9fa;border-radius:12px}.stat-item{display:flex;flex-direction:column;align-items:center;gap:.5rem}.stat-value{font-size:2rem;font-weight:700;color:var(--primary-blue)}.stat-label{font-size:.875rem;color:#666}.upgrade-benefits{text-align:left;margin:2rem 0;padding:1.5rem;background:linear-gradient(135deg,#0080ff0d,#0066cc14);border-radius:12px}.upgrade-benefits h3{margin:0 0 1rem;font-size:1.1rem;font-weight:600;color:#1a1a1a}.upgrade-benefits ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem}.upgrade-benefits li{color:#333;font-size:.95rem;line-height:1.5;display:flex;align-items:flex-start;gap:.5rem}.upgrade-actions{display:flex;flex-direction:column;gap:.75rem;margin:2rem 0 1rem}.upgrade-btn-primary{background:var(--gradient-primary);color:#fff;border:none;padding:1rem 2rem;border-radius:12px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .3s;box-shadow:0 4px 12px #0080ff4d}.upgrade-btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0080ff66}.upgrade-btn-secondary{background:transparent;color:#666;border:1.5px solid #e0e0e0;padding:.75rem 2rem;border-radius:12px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s}.upgrade-btn-secondary:hover{border-color:#ccc;background:#f8f9fa}.upgrade-note{font-size:.85rem;color:#999;margin:1rem 0 0;font-style:italic}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@media(max-width:768px){.upgrade-prompt{max-width:100%;border-radius:16px;margin:1rem}.upgrade-content{padding:2rem 1.5rem 1.5rem}.upgrade-content h2{font-size:1.5rem}.upgrade-stats{flex-direction:column;gap:1rem;padding:1.25rem}.upgrade-benefits{padding:1.25rem}.upgrade-actions{margin:1.5rem 0 1rem}.upgrade-btn-primary,.upgrade-btn-secondary{width:100%}}.chat-container{width:100%;max-width:600px;margin:0 auto;background:#fff;border-radius:0;box-shadow:none;border:0;display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;position:relative}.chat-container:before,.chat-container:after{content:none;display:none}.chat-header{display:flex;align-items:center;gap:.75rem;padding:1rem;border:none;background:transparent}.skeleton-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:skeletonShimmer 1.5s ease-in-out infinite}.skeleton-text-group{display:flex;flex-direction:column;gap:.5rem;flex:1}.skeleton-text{height:12px;border-radius:6px;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:skeletonShimmer 1.5s ease-in-out infinite}.skeleton-title{width:120px}.skeleton-subtitle{width:80px}.message-skeleton{display:flex;align-items:flex-end;gap:.5rem;padding:.5rem 1rem}.message-skeleton.user{justify-content:flex-end}.message-skeleton.sara{justify-content:flex-start}.skeleton-message{height:40px;width:60%;max-width:200px;border-radius:16px;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:skeletonShimmer 1.5s ease-in-out infinite}@keyframes skeletonShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media(min-width:769px){.chat-container{max-width:900px}}.message-limit-banner{background:linear-gradient(135deg,#fff3cd,#ffe69c);border-bottom:1px solid #ffc107;border-top:none;padding:.625rem 1rem;display:flex;justify-content:space-between;align-items:center;font-size:.875rem;color:#856404;font-weight:600;flex-shrink:0;gap:.75rem;flex-wrap:wrap}.message-limit-banner>span{flex:1;min-width:0;word-wrap:break-word;overflow-wrap:break-word;line-height:1.4}.message-limit-banner .upgrade-link{flex-shrink:0;white-space:nowrap;padding:.375rem .875rem;font-size:.8125rem}.upgrade-link{background:var(--frontend-primary);color:var(--frontend-text-inverse);border:none;padding:var(--frontend-space-2) var(--frontend-space-4);border-radius:var(--frontend-radius-lg);font-size:var(--frontend-text-sm);font-weight:var(--frontend-font-semibold);font-family:var(--frontend-font-sans);cursor:pointer;transition:all var(--frontend-transition-base);box-shadow:var(--frontend-shadow-sm)}.upgrade-link:hover{background:var(--frontend-primary-hover);transform:translateY(-1px);box-shadow:var(--frontend-shadow-md)}.chat-status-indicator{display:flex;align-items:center;gap:.375rem;font-size:.8125rem;color:#34c759;font-weight:500}.chat-status-indicator:before{content:"";width:8px;height:8px;background:#34c759;border-radius:50%;animation:pulse 2s ease-in-out infinite}.chat-header-actions{display:flex;align-items:center;gap:.5rem}.audio-toggle-btn{background:none;border:none;padding:.5rem;border-radius:var(--ios-radius-medium);cursor:pointer;color:var(--ios-text-tertiary);transition:all .2s ease;display:flex;align-items:center;justify-content:center;min-width:36px;min-height:36px;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.audio-toggle-btn:hover{background:var(--ios-gray-6);color:var(--ios-text-primary)}.audio-toggle-btn.active{color:var(--ios-blue)}.audio-toggle-btn.active:hover{background:#007aff1a}.audio-toggle-btn.disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.audio-toggle-btn.disabled:hover{background:none;color:var(--ios-text-tertiary)}.voice-chat-page-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;padding:.5rem 1rem;border-radius:var(--ios-radius-medium);cursor:pointer;color:#fff;transition:all .2s ease;display:flex;align-items:center;gap:.5rem;font-size:.85rem;font-weight:600;-webkit-tap-highlight-color:transparent;touch-action:manipulation;box-shadow:0 2px 8px #667eea4d}.voice-chat-page-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.voice-chat-page-btn:active{transform:translateY(0)}.voice-chat-page-btn span{display:none}@media(min-width:768px){.voice-chat-page-btn span{display:inline}}.voice-chat-btn{background:none;border:none;padding:.5rem;border-radius:var(--ios-radius-medium);cursor:pointer;color:var(--ios-text-tertiary);transition:all .2s ease;display:flex;align-items:center;justify-content:center;min-width:36px;min-height:36px;-webkit-tap-highlight-color:transparent;touch-action:manipulation;position:relative}.voice-chat-btn:hover{background:var(--ios-gray-6);color:var(--ios-text-primary)}.voice-chat-btn.active{background:#ff3b30;color:#fff;animation:pulse 1.5s ease-in-out infinite}.voice-chat-btn.active:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100%;height:100%;border-radius:50%;background:#ff3b304d;animation:ripple 1.5s ease-out infinite}.voice-chat-btn.disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.voice-chat-btn.disabled:hover{background:none;color:var(--ios-text-tertiary)}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes ripple{0%{width:100%;height:100%;opacity:.5}to{width:150%;height:150%;opacity:0}}.chat-profile-pic{width:40px;height:40px;border-radius:50%;object-fit:cover;border:none;background:#e9e9eb;padding:0;box-shadow:none;transition:all .2s ease-out}.chat-profile-pic:hover{transform:scale(1.02)}.chat-header h3{color:#000;font-size:1.0625rem;margin:0;font-weight:600;letter-spacing:-.022em;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.chat-status{color:#8e8e93;font-size:.8125rem;font-weight:400;display:flex;align-items:center;gap:.375rem;margin-top:.125rem}.chat-status:before{content:"";width:6px;height:6px;background:#34c759;border-radius:50%;box-shadow:none;animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.1)}}.chat-messages{flex:1;width:100%;overflow-y:auto;overflow-x:hidden;padding:.75rem 1rem;padding-bottom:130px;display:flex;flex-direction:column;gap:.25rem;background:#fafafa;min-height:0;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;border:0!important;outline:0!important;box-shadow:none!important;position:relative}.chat-messages:before,.chat-messages:after{content:none!important;display:none!important;width:0!important;height:0!important}.message{display:flex;gap:.625rem;align-items:flex-end;animation:messageSlideIn .3s cubic-bezier(.16,1,.3,1);transition:all .2s cubic-bezier(.16,1,.3,1);margin-bottom:.25rem;padding:0 .5rem;opacity:1;animation-fill-mode:forwards}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.message-content{user-select:text;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;background:linear-gradient(135deg,#fff,#f8f9fa);padding:.875rem 1.125rem;border-radius:20px;box-shadow:0 1px 3px #0000000f,0 4px 12px #0000000a;border:1px solid rgba(0,0,0,.06);position:relative;transition:all .2s ease;word-wrap:break-word;overflow-wrap:break-word;line-height:1.4}.message.reacting{animation:reactionPulse .3s cubic-bezier(.16,1,.3,1)}@keyframes reactionPulse{0%{transform:scale(1)}50%{transform:scale(1.01)}to{transform:scale(1)}}.message.user{flex-direction:row-reverse}.message-content:hover{box-shadow:0 2px 6px #00000014,0 6px 16px #0000000f}.message.user .message-content{background:linear-gradient(135deg,#007aff,#5856d6);color:#fff;border:none;box-shadow:0 2px 8px #007aff40,0 4px 16px #5856d626;margin-left:auto}.message.user .message-content:hover{box-shadow:0 4px 12px #007aff59,0 8px 24px #5856d640;transform:translateY(-1px)}.message.sara:not(.grouped) .message-content:before{content:"";position:absolute;left:-6px;bottom:6px;width:0;height:0;border-style:solid;border-width:0 6px 12px 0;border-color:transparent #F8F9FA transparent transparent;filter:drop-shadow(-1px 1px 1px rgba(0,0,0,.05))}.message.sara{justify-content:flex-start}.message.sara .message-content{margin-left:0}.message.user:not(.grouped) .message-content:after{content:"";position:absolute;right:-6px;bottom:6px;width:0;height:0;border-style:solid;border-width:0 0 12px 6px;border-color:transparent transparent transparent #5856D6;filter:drop-shadow(1px 1px 1px rgba(88,86,214,.2))}.message-content p{margin:0;line-height:1.4;color:inherit;font-size:.9375rem;font-weight:400;letter-spacing:-.011em;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,sans-serif}.message-time{font-size:.6875rem;color:#8e8e93;margin-top:.25rem;display:block;font-weight:400;opacity:1}.message-media{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem}.media-item{position:relative;border-radius:12px;overflow:hidden;max-width:100%}.message-image{max-width:100%;max-height:400px;width:auto;height:auto;border-radius:16px;object-fit:contain;display:block;cursor:pointer;transition:all .3s cubic-bezier(.16,1,.3,1);box-shadow:0 2px 8px #0000001a,0 4px 12px #00000014;border:1px solid rgba(0,0,0,.06)}.message-image:hover{box-shadow:0 2px 6px #00000026}.message-video{max-width:100%;max-height:400px;width:auto;height:auto;border-radius:12px;display:block;box-shadow:0 1px 3px #0000001f;border:none;transition:all .2s ease-out}.message-video:hover{box-shadow:0 2px 6px #00000026}.message-file{display:flex;align-items:center;justify-content:space-between;padding:.75rem;background:#0000000d;border-radius:8px;gap:1rem}.message-file a{color:var(--primary-blue);text-decoration:none;font-size:.85rem;font-weight:600}.message-file a:hover{text-decoration:underline}.ppv-badge{position:absolute;top:8px;right:8px;background:#000000b3;color:#fff;padding:.25rem .5rem;border-radius:6px;font-size:.75rem;font-weight:600;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.chat-attach-btn{background:transparent;border:none;color:#666;cursor:pointer;padding:.5rem;display:flex;align-items:center;justify-content:center;border-radius:12px;transition:all .3s cubic-bezier(.16,1,.3,1);flex-shrink:0;min-width:44px;min-height:44px;touch-action:manipulation}.chat-attach-btn:hover{background:linear-gradient(135deg,#007aff14,#007aff0d);color:#007aff;transform:scale(1.1) rotate(15deg)}.chat-attach-btn:disabled{opacity:.5;cursor:not-allowed}.upload-spinner{display:inline-block;animation:spin 1s linear infinite}.file-previews{display:flex;gap:.5rem;padding:.5rem 1rem;background:transparent;flex-wrap:wrap;max-height:60px;overflow-y:auto;align-items:center}.file-preview-item{position:relative;border-radius:8px;overflow:hidden;border:1px solid rgba(0,128,255,.3);background:#fff;box-shadow:0 1px 3px #0000001a;flex-shrink:0}.preview-image,.preview-video{width:40px;height:40px;object-fit:cover;display:block}.preview-file{padding:.5rem;min-width:40px;height:40px;display:flex;align-items:center;justify-content:center;font-size:.7rem;color:#666}.remove-preview-btn{position:absolute;top:-6px;right:-6px;background:#ff0000e6;color:#fff;border:none;border-radius:50%;width:18px;height:18px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:12px;line-height:1;transition:all .2s;z-index:10;box-shadow:0 1px 3px #0000004d}.remove-preview-btn:hover{background:red;transform:scale(1.15)}.message.user .message-time{color:#ffffffd9}.message-reactions{position:absolute;bottom:-8px;right:8px;display:flex;gap:4px;align-items:center;z-index:10;animation:reactionFadeIn .2s cubic-bezier(.16,1,.3,1)}@keyframes reactionFadeIn{0%{opacity:0;transform:scale(.8) translateY(4px)}to{opacity:1;transform:scale(1) translateY(0)}}.message.user .message-reactions{right:auto;left:8px}.reaction{font-size:16px;line-height:1;filter:none;animation:reactionPop .3s cubic-bezier(.16,1,.3,1);display:inline-block;opacity:1;transform:scale(1)}.reaction-btn{background:linear-gradient(135deg,#fffffffa,#fffffff2);border:1px solid rgba(255,59,48,.2);border-radius:20px;padding:6px 12px;font-size:16px;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex;align-items:center;justify-content:center;line-height:1;opacity:1;transform:scale(1);box-shadow:0 2px 8px #ff3b3026,0 0 0 1px #ff3b301a;min-width:36px;min-height:36px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);animation:reactionPop .3s cubic-bezier(.16,1,.3,1)}.reaction-btn:hover{background:linear-gradient(135deg,#fff,#fff8f8);border-color:#ff3b304d;box-shadow:0 4px 12px #ff3b3033,0 0 0 1px #ff3b3026;transform:scale(1.05)}.reaction-btn:active{transform:scale(.95)}.reaction-btn.active{opacity:1;background:linear-gradient(135deg,#ff3b301f,#ff3b3014);border-color:#ff3b3040;box-shadow:0 2px 8px #ff3b3033,0 0 0 1px #ff3b3026;transform:scale(1)}.message.user .reaction-btn{background:linear-gradient(135deg,#ffffff4d,#ffffff40);border-color:#fff6;box-shadow:0 2px 8px #00000026,0 0 0 1px #fff3;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.message.user .reaction-btn:hover{background:linear-gradient(135deg,#fff6,#ffffff59);border-color:#ffffff80;box-shadow:0 4px 12px #0003,0 0 0 1px #ffffff4d}.message.user .reaction-btn.active{background:linear-gradient(135deg,#ffffff59,#ffffff4d);border-color:#ffffff80;box-shadow:0 2px 8px #0003,0 0 0 1px #ffffff4d}@keyframes reactionPop{0%{transform:scale(0);opacity:0}50%{transform:scale(1.15)}to{transform:scale(1);opacity:1}}.typing-indicator{opacity:1}.typing-indicator .message-content{background:#e5e5ea;padding:.75rem 1rem;min-width:52px;max-width:60px;border-radius:18px;box-shadow:none;border:none}.typing-dots{display:flex;gap:4px;padding:0;align-items:center;justify-content:center}.typing-dots span{width:7px;height:7px;border-radius:50%;background:#8e8e93;animation:iosTyping 1s infinite ease-in-out}.typing-dots span:nth-child(1){animation-delay:0s}.typing-dots span:nth-child(2){animation-delay:.15s}.typing-dots span:nth-child(3){animation-delay:.3s}@keyframes iosTyping{0%,60%,to{opacity:.4;transform:scale(1)}30%{opacity:1;transform:scale(1)}}.chat-input-form{padding:.5rem .75rem;border-top:1px solid rgba(0,0,0,.06);display:flex;gap:.5rem;background:#fff;align-items:center;flex-shrink:0;position:fixed;bottom:calc(62px + env(safe-area-inset-bottom,0));left:0;right:0;width:100%;z-index:110;box-sizing:border-box;box-shadow:0 -2px 10px #0000000d}@media(min-width:601px){.chat-input-form{left:50%;right:auto;transform:translate(-50%);max-width:600px;padding:.5rem .75rem}}@media(min-width:769px){.chat-input-form{max-width:900px}}.chat-input{flex:1;padding:.625rem 1rem;border:1.5px solid #E5E5EA;border-radius:20px;font-size:.9375rem;outline:none;transition:all .2s ease;background:#f8f8f8;color:#000;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,sans-serif;min-height:38px;max-height:100px;resize:none;line-height:1.4}.chat-input::placeholder{color:#8e8e93}.chat-input:hover:not(:focus){border-color:#c7c7cc}.chat-input:focus{background:#fff;border-color:#007aff;box-shadow:inset 0 1px 3px #00000005,0 0 0 4px #007aff1a}.chat-send-btn{background:linear-gradient(135deg,#007aff,#5856d6);color:#fff;border:none;width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);flex-shrink:0;box-shadow:0 4px 14px #007aff40;position:relative;overflow:hidden}.chat-send-btn:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.2) 0%,transparent 60%);opacity:0;transition:opacity .25s ease}.chat-send-btn:hover:not(:disabled){transform:scale(1.08) translateY(-2px);box-shadow:0 6px 20px #007aff66,0 2px 8px #5856d64d}.chat-send-btn:hover:not(:disabled):before{opacity:1}.chat-send-btn:active:not(:disabled){transform:scale(.95);box-shadow:0 2px 8px #007aff33}.chat-send-btn:disabled{opacity:.5;cursor:not-allowed;background:#c7c7cc;box-shadow:none}.chat-send-btn svg{width:18px;height:18px;position:relative;z-index:1}.chat-messages::-webkit-scrollbar{display:none;width:0;height:0}.chat-messages{scrollbar-width:none;-ms-overflow-style:none}@media(max-width:480px){.message-limit-banner{padding:.5rem .75rem;font-size:.8125rem;flex-direction:row;align-items:center}.message-limit-banner>span{font-size:.8125rem;line-height:1.3}.message-limit-banner .upgrade-link{padding:.375rem .75rem;font-size:.75rem}}.chat-header h3{font-size:1.1rem}.chat-status{font-size:.85rem}.chat-messages{padding:var(--space-md);padding-bottom:130px;gap:.875rem}.message-content{max-width:85%;padding:.75rem 1rem}.message-content p{font-size:.9rem}.message-time{font-size:.7rem}.chat-input{padding:var(--space-md) var(--space-lg);font-size:16px;min-height:44px;color:var(--text-primary)}.chat-send-btn{width:38px;height:38px;min-width:38px;min-height:38px;touch-action:manipulation}.chat-attach-btn{min-width:38px;min-height:38px}@media(min-width:481px){.chat-messages{padding:var(--space-xl);padding-bottom:130px;gap:1rem}.message-content{max-width:80%;padding:.875rem 1.125rem}.message-content p{font-size:.95rem}.chat-input{padding:.75rem 1.125rem;font-size:.9375rem}.chat-send-btn{width:40px;height:40px;min-width:40px;min-height:40px}}@media(min-width:769px){.message-content{max-width:70%;padding:1rem 1.25rem}.chat-messages{gap:1.125rem}}.date-separator{display:flex;align-items:center;justify-content:center;margin:1.5rem 0;background:transparent}.date-separator:before,.date-separator:after{content:none!important;display:none!important}.date-separator span{padding:.375rem 1rem;font-size:.6875rem;color:#8e8e93;font-weight:600;background:#8e8e931f;text-transform:uppercase;letter-spacing:.1em;border-radius:12px;border:none}.message.grouped{margin-top:0;padding-top:.125rem}.message.grouped .message-content:before,.message.grouped .message-content:after{display:none}.message-footer{display:flex;align-items:center;gap:.5rem;margin-top:.25rem;font-size:.7rem}.message-status{color:#ffffffb3;font-size:.7rem;opacity:.8}.message.user .message-status{color:#ffffffb3}.message.selected{position:relative}.message-actions-menu{position:absolute;bottom:100%;right:0;margin-bottom:.5rem;background:linear-gradient(135deg,#fffffffa,#fffffff2);border-radius:16px;box-shadow:0 8px 32px #0000001f,0 2px 8px #00000014,0 0 0 1px #0000000a;padding:.5rem;z-index:100;display:flex;flex-direction:column;gap:.25rem;min-width:140px;animation:slideDown .3s cubic-bezier(.16,1,.3,1);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%)}.message.user .message-actions-menu{right:auto;left:0}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.action-btn{display:flex;align-items:center;gap:.625rem;padding:.625rem .875rem;border:none;background:transparent;color:var(--text-primary);cursor:pointer;border-radius:10px;font-size:.875rem;font-weight:500;transition:all .25s cubic-bezier(.16,1,.3,1);width:100%;text-align:left}.action-btn:hover{background:linear-gradient(135deg,#00000008,#0000000d);transform:translate(2px)}.action-btn.danger{color:#ef4444}.action-btn.danger:hover{background:#fee2e2}.action-btn svg{flex-shrink:0}.lightbox-overlay{position:fixed;inset:0;background:linear-gradient(135deg,#000000f5,#000000f0);z-index:1000;display:flex;align-items:center;justify-content:center;padding:var(--space-lg);animation:fadeIn .3s cubic-bezier(.16,1,.3,1);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.lightbox-content{position:relative;max-width:90vw;max-height:90vh;display:flex;flex-direction:column;align-items:center}.lightbox-close{position:absolute;top:-3rem;right:0;background:linear-gradient(135deg,#ffffff26,#ffffff1a);color:#fff;border:1px solid rgba(255,255,255,.2);width:44px;height:44px;border-radius:50%;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s cubic-bezier(.16,1,.3,1);z-index:1001;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 4px 12px #0000004d}.lightbox-close:hover{background:linear-gradient(135deg,#ffffff40,#fff3);transform:scale(1.1) rotate(90deg);box-shadow:0 6px 16px #0006}.lightbox-image{max-width:100%;max-height:80vh;object-fit:contain;border-radius:8px}.lightbox-video{max-width:100%;max-height:80vh;border-radius:8px}.lightbox-caption{margin-top:var(--space-md);color:#fff;font-size:.875rem;text-align:center;opacity:.8}.empty-chat-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 1.5rem;text-align:center;color:#9ca3af;min-height:300px;animation:fadeIn .6s cubic-bezier(.16,1,.3,1)}.empty-chat-icon{font-size:4rem;margin-bottom:1.5rem;opacity:.5;animation:float 3s ease-in-out infinite;filter:drop-shadow(0 4px 8px rgba(0,0,0,.1))}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.empty-chat-state h3{font-size:1.0625rem;margin-bottom:.5rem;color:#1a1a1a;font-weight:600;letter-spacing:-.01em}.empty-chat-state p{font-size:.875rem;color:#9ca3af;font-weight:400}.refresh-indicator{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:var(--space-md);color:var(--gray-500);font-size:.875rem;animation:slideDown .3s ease-out}.refresh-spinner{width:16px;height:16px;border:2px solid var(--gray-300);border-top-color:var(--primary-blue);border-radius:50%;animation:spin .8s linear infinite}@media(max-width:480px){.message-actions-menu{min-width:100px;font-size:.8125rem}.action-btn{padding:.4375rem .625rem;font-size:.8125rem}.lightbox-content{max-width:95vw;max-height:95vh}.lightbox-close{top:-3rem;width:36px;height:36px;font-size:1.25rem}}.loading-older-indicator{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem;color:#8e8e93;font-size:.8125rem;font-weight:500;background:#ffffffe6;border-radius:12px;margin:.5rem auto;width:fit-content;box-shadow:0 2px 8px #00000014;animation:fadeIn .2s ease-out}.loading-older-messages{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:var(--space-md);color:var(--gray-500);font-size:.875rem;animation:fadeIn .3s ease-out}.loading-spinner-small{width:16px;height:16px;border:2px solid #E5E5EA;border-top-color:#007aff;border-right-color:#5856d6;border-radius:50%;animation:spin .8s linear infinite}@keyframes messageSend{0%{opacity:0;transform:translate(20px) scale(.9)}50%{transform:translate(-5px) scale(1.02)}to{opacity:1;transform:translate(0) scale(1)}}.message.user{animation:messageSend .4s cubic-bezier(.34,1.56,.64,1)}@keyframes messageArrive{0%{opacity:0;transform:translate(-20px) scale(.9)}60%{transform:translate(3px) scale(1.01)}to{opacity:1;transform:translate(0) scale(1)}}.message.sara{animation:messageArrive .45s cubic-bezier(.34,1.56,.64,1)}.toast{position:fixed;bottom:var(--space-lg);left:50%;transform:translate(-50%) translateY(100px);background:var(--bg-primary);color:var(--text-primary);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);z-index:var(--z-tooltip);max-width:90%;min-width:280px;display:flex;align-items:center;gap:var(--space-sm);font-size:.875rem;font-weight:500;opacity:0;transition:all .3s cubic-bezier(.4,0,.2,1);border:1px solid var(--gray-200);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.toast.show{opacity:1;transform:translate(-50%) translateY(0)}.toast-info{border-left:4px solid var(--primary-blue)}.toast-success{border-left:4px solid #10b981;background:linear-gradient(135deg,#fff,#f0fdf4)}.toast-error{border-left:4px solid #ef4444;background:linear-gradient(135deg,#fff,#fef2f2)}.toast-warning{border-left:4px solid #f59e0b;background:linear-gradient(135deg,#fff,#fffbeb)}.toast:before{content:"";width:20px;height:20px;flex-shrink:0;border-radius:50%;display:flex;align-items:center;justify-content:center}.toast-info:before{content:"ℹ️"}.toast-success:before{content:"✓";background:#10b981;color:#fff;font-size:.75rem;font-weight:700}.toast-error:before{content:"✕";background:#ef4444;color:#fff;font-size:.75rem;font-weight:700}.toast-warning:before{content:"⚠";background:#f59e0b;color:#fff;font-size:.75rem}@media(max-width:480px){.toast{bottom:var(--space-md);left:var(--space-md);right:var(--space-md);max-width:none;min-width:auto;transform:translateY(100px)}.toast.show{transform:translateY(0)}}.media-gallery-container{max-width:1400px;margin:0 auto;padding:var(--space-xl)}.media-gallery-loading{text-align:center;padding:var(--space-3xl);font-size:1.2rem;color:var(--text-secondary);display:flex;flex-direction:column;align-items:center;gap:var(--space-lg)}.media-gallery-header{text-align:center;margin-bottom:2rem}.media-gallery-header h1{font-size:2.5rem;font-weight:700;color:#1a1a1a;margin:0 0 .5rem}.media-gallery-subtitle{font-size:1rem;color:#666;margin:0}.media-gallery-filters{display:flex;gap:var(--space-lg);margin-bottom:var(--space-xl);padding:var(--space-lg);background:var(--bg-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);border:1px solid var(--gray-200);flex-wrap:wrap}.filter-group{display:flex;flex-direction:column;gap:.5rem;min-width:150px}.filter-group label{font-size:.875rem;font-weight:600;color:#333}.filter-select{padding:.75rem 1rem;border:1px solid var(--gray-300);border-radius:var(--radius-md);font-size:.9375rem;background:var(--bg-primary);color:var(--text-primary);cursor:pointer;transition:all var(--transition-base);min-height:44px;touch-action:manipulation}.filter-select:focus{outline:none;border-color:#0080ff;box-shadow:0 0 0 3px #0080ff1a}.media-gallery-empty{text-align:center;padding:var(--space-3xl);color:var(--text-secondary);font-size:1.1rem;background:var(--bg-primary);border-radius:var(--radius-xl);border:1px solid var(--gray-200);box-shadow:var(--shadow-sm)}.media-gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--space-lg)}.media-gallery-item{position:relative;aspect-ratio:1;border-radius:var(--radius-xl);overflow:hidden;cursor:pointer;background:var(--gray-100);transition:all var(--transition-slow);box-shadow:var(--shadow-sm);border:1px solid var(--gray-200)}.media-gallery-item:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--gray-300)}.media-gallery-item.locked{cursor:pointer}.media-gallery-item.locked:hover{transform:translateY(-2px)}.media-gallery-item img,.media-gallery-item video{width:100%;height:100%;object-fit:cover;display:block}.media-gallery-item img.blurred,.media-gallery-item video.blurred{filter:blur(20px);transform:scale(1.1)}.lock-overlay{position:absolute;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1}.media-lock-badge{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2;text-align:center;color:#fff;pointer-events:none}.media-lock-badge .lock-icon{font-size:3rem;margin-bottom:.5rem;filter:drop-shadow(0 2px 4px rgba(0,0,0,.5))}.media-lock-badge .lock-text{font-size:1rem;font-weight:600;text-shadow:0 2px 4px rgba(0,0,0,.5);background:#0009;padding:.5rem 1rem;border-radius:8px}.video-overlay{position:absolute;inset:0;background:#0000004d;display:flex;align-items:center;justify-content:center;font-size:3rem;color:#fff;pointer-events:none}.media-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#f0f0f0;color:#999;font-size:3rem}.media-gallery-item-info{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(0,0,0,.8),transparent);padding:1rem;color:#fff;opacity:0;transition:opacity .2s}.media-gallery-item:hover .media-gallery-item-info{opacity:1}.media-stats{display:flex;gap:1rem;margin-bottom:.5rem;font-size:.875rem}.media-stats .stat{display:flex;align-items:center;gap:.25rem}.media-date{font-size:.75rem;opacity:.9}.media-viewer-overlay{position:fixed;inset:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem}.media-viewer-modal{background:var(--bg-primary);border-radius:var(--radius-2xl);max-width:90vw;max-height:90vh;width:auto;height:auto;overflow:hidden;box-shadow:var(--shadow-xl);border:1px solid var(--gray-200);display:flex;flex-direction:column}.media-viewer-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid #e0e0e0;flex-shrink:0}.media-viewer-header h2{margin:0;font-size:1.2rem;color:#1a1a1a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:calc(100% - 50px)}.close-modal{background:none;border:none;font-size:2rem;color:#666;cursor:pointer;line-height:1;padding:0;width:44px;height:44px;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s;touch-action:manipulation}.close-modal:hover{background:#f0f0f0;color:#333}.media-viewer-content{flex-grow:1;display:flex;align-items:center;justify-content:center;padding:1rem;overflow:hidden;min-height:400px;max-height:calc(90vh - 150px)}.media-viewer-content img,.media-viewer-content video{max-width:100%;max-height:100%;object-fit:contain;display:block}.media-viewer-footer{padding:1rem 1.5rem;border-top:1px solid #e0e0e0;flex-shrink:0}.media-viewer-stats{display:flex;gap:1.5rem;font-size:.9rem;color:#666;flex-wrap:wrap}.media-viewer-stats span{display:flex;align-items:center;gap:.5rem}@media(max-width:768px){.media-gallery-container{padding:1rem}.media-gallery-header h1{font-size:2rem}.media-gallery-filters{flex-direction:column;gap:1rem;padding:1rem}.filter-group{min-width:100%}.media-gallery-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.75rem}.media-gallery-item{touch-action:manipulation}.media-viewer-overlay{padding:1rem}.media-viewer-modal{max-width:100vw;max-height:100vh;border-radius:0}.media-viewer-header{padding:1rem}.media-viewer-content{padding:.5rem;min-height:300px;max-height:calc(100vh - 200px)}.media-viewer-footer{padding:1rem}}@media(max-width:480px){.media-gallery-container{padding:.75rem}.media-gallery-header h1{font-size:1.75rem}.media-gallery-filters{padding:.875rem}.media-gallery-grid{grid-template-columns:repeat(2,1fr);gap:.5rem}.media-viewer-header h2{font-size:1rem}.close-modal{width:40px;height:40px;font-size:1.5rem}}.auth-loading{display:flex;justify-content:center;align-items:center;min-height:200px}.spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #0066ff;border-radius:50%;animation:spin 1s linear infinite}.auth-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.auth-card{background:#fff;border-radius:16px;padding:40px;box-shadow:0 20px 60px #0000004d;max-width:400px;width:100%;text-align:center}.auth-card h2{margin:0 0 10px;color:#1a1a1a;font-size:28px;font-weight:700}.auth-card p{margin:0 0 30px;color:#666;font-size:14px;line-height:1.5}.google-sign-in-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:12px;padding:14px 24px;background:#fff;border:1px solid #dadce0;border-radius:8px;font-size:16px;font-weight:500;color:#3c4043;cursor:pointer;transition:all .2s ease}.google-sign-in-btn:hover{background:#f8f9fa;box-shadow:0 2px 4px #0000001a;transform:translateY(-1px)}.google-sign-in-btn:active{transform:translateY(0)}.google-sign-in-btn.disabled{opacity:.5;cursor:not-allowed;background:#f5f5f5}.google-sign-in-btn.disabled:hover{transform:none;box-shadow:none;background:#f5f5f5}.auth-consent{display:flex;flex-direction:column;gap:12px;margin-bottom:24px;text-align:left}.consent-item{display:flex;align-items:flex-start;gap:12px;cursor:pointer;position:relative;padding-left:32px}.consent-item input[type=checkbox]{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.consent-item .checkmark{position:absolute;left:0;top:2px;height:20px;width:20px;background-color:#fff;border:2px solid #dadce0;border-radius:4px;transition:all .2s ease}.consent-item:hover .checkmark{border-color:#667eea}.consent-item input:checked~.checkmark{background-color:#667eea;border-color:#667eea}.consent-item .checkmark:after{content:"";position:absolute;display:none;left:6px;top:2px;width:5px;height:10px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.consent-item input:checked~.checkmark:after{display:block}.consent-text{font-size:13px;color:#444;line-height:1.4}.consent-text a{color:#667eea;text-decoration:none;font-weight:500}.consent-text a:hover{text-decoration:underline}.consent-text strong{font-weight:600;color:#1a1a1a}.consent-hint{margin:12px 0 0;font-size:12px;color:#888}.google-icon{width:20px;height:20px}.auth-user{display:flex;align-items:center;gap:12px}.user-info{display:flex;align-items:center;gap:10px}.user-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover;border:2px solid #0066ff}.user-name{font-size:14px;font-weight:500;color:#1a1a1a;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sign-out-btn{padding:8px 16px;background:#f0f0f0;border:none;border-radius:6px;font-size:13px;font-weight:500;color:#666;cursor:pointer;transition:all .2s ease}.sign-out-btn:hover{background:#e0e0e0;color:#333}@media(max-width:768px){.auth-card{padding:30px 20px}.auth-card h2{font-size:24px}.user-name{max-width:100px}}.admin-header{background:var(--admin-surface);padding:1rem 2rem;border-bottom:1px solid var(--admin-border);display:flex;justify-content:space-between;align-items:center;box-shadow:var(--admin-shadow-sm);position:sticky;top:0;z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2}.admin-header h1{margin:0;font-size:1.5rem;font-weight:700;color:var(--admin-text);letter-spacing:-.5px;background:linear-gradient(135deg,var(--admin-primary) 0%,#764ba2 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.header-actions{display:flex;gap:var(--admin-spacing-sm);align-items:center;flex-wrap:wrap}.header-action-btn{padding:.5rem 1rem;background:transparent;border:1px solid var(--admin-border);border-radius:var(--admin-radius);cursor:pointer;font-size:.8125rem;font-weight:600;transition:all .2s ease;color:var(--admin-text-secondary);display:flex;align-items:center;gap:.5rem;white-space:nowrap;font-family:var(--admin-font-sans)}.header-action-btn:hover{background:var(--admin-primary-light);border-color:var(--admin-primary);color:var(--admin-primary);transform:translateY(-1px)}.header-action-btn.active{background:var(--admin-primary);color:#fff;border-color:var(--admin-primary);box-shadow:var(--admin-shadow)}.header-action-btn.active:hover{background:var(--admin-primary-hover);border-color:var(--admin-primary-hover);transform:translateY(-1px);box-shadow:var(--admin-shadow-md)}.header-action-btn.back-btn{background:#f9fafb;border-color:var(--admin-border);color:var(--admin-text)}.header-action-btn.back-btn:hover{background:#f3f4f6;border-color:var(--admin-border-hover);color:var(--admin-text)}@media(max-width:768px){.admin-header{padding:.75rem 1rem;flex-direction:column;align-items:flex-start;gap:.75rem}.header-actions{width:100%;gap:.5rem}.header-action-btn{flex:1;justify-content:center;font-size:.7rem;padding:.4rem .5rem}}:root{--admin-primary: #667eea;--admin-primary-hover: #5568d3;--admin-primary-light: rgba(102, 126, 234, .1);--admin-success: #10b981;--admin-success-hover: #059669;--admin-danger: #ef4444;--admin-danger-hover: #dc2626;--admin-warning: #f59e0b;--admin-info: #3b82f6;--admin-bg: #fafafa;--admin-surface: #ffffff;--admin-border: #e8e8e8;--admin-border-hover: #d1d5db;--admin-text: #1a1a1a;--admin-text-secondary: #666666;--admin-text-muted: #9ca3af;--admin-shadow-sm: 0 1px 2px rgba(0, 0, 0, .03);--admin-shadow: 0 2px 8px rgba(0, 0, 0, .05);--admin-shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--admin-shadow-lg: 0 8px 24px rgba(0, 0, 0, .12);--admin-spacing-xs: .25rem;--admin-spacing-sm: .5rem;--admin-spacing-md: 1rem;--admin-spacing-lg: 1.5rem;--admin-spacing-xl: 2rem;--admin-spacing-2xl: 3rem;--admin-radius-sm: 6px;--admin-radius: 8px;--admin-radius-md: 12px;--admin-radius-lg: 16px;--admin-font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", sans-serif;--admin-font-mono: "SF Mono", Monaco, "Cascadia Code", "Roboto Mono", Consolas, monospace}.admin-page-container{max-width:1400px;margin:0 auto;padding:var(--admin-spacing-xl);background:var(--admin-bg);min-height:calc(100vh - 80px)}@media(max-width:768px){.admin-page-container{padding:var(--admin-spacing-md)}}.admin-page-header{margin-bottom:var(--admin-spacing-xl)}.admin-page-header h1{margin:0 0 var(--admin-spacing-sm) 0;font-size:2rem;font-weight:700;color:var(--admin-text);letter-spacing:-.5px}.admin-page-header p{margin:0;color:var(--admin-text-secondary);font-size:.95rem;line-height:1.6}.admin-page-header-actions{display:flex;gap:var(--admin-spacing-sm);margin-top:var(--admin-spacing-md);flex-wrap:wrap}.admin-card{background:var(--admin-surface);border:1px solid var(--admin-border);border-radius:var(--admin-radius-md);padding:var(--admin-spacing-lg);box-shadow:var(--admin-shadow);transition:all .2s ease}.admin-card:hover{box-shadow:var(--admin-shadow-md);border-color:var(--admin-border-hover)}.admin-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--admin-spacing-md);flex-wrap:wrap;gap:var(--admin-spacing-md)}.admin-card-title{margin:0;font-size:1.25rem;font-weight:600;color:var(--admin-text)}.admin-card-content{color:var(--admin-text-secondary);line-height:1.6}.admin-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--admin-spacing-sm);padding:.625rem 1.25rem;border:1px solid transparent;border-radius:var(--admin-radius);font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap;font-family:var(--admin-font-sans)}.admin-btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.admin-btn-primary{background:var(--admin-primary);color:#fff;border-color:var(--admin-primary)}.admin-btn-primary:hover:not(:disabled){background:var(--admin-primary-hover);border-color:var(--admin-primary-hover);transform:translateY(-1px);box-shadow:var(--admin-shadow)}.admin-btn-success{background:var(--admin-success);color:#fff;border-color:var(--admin-success)}.admin-btn-success:hover:not(:disabled){background:var(--admin-success-hover);border-color:var(--admin-success-hover);transform:translateY(-1px);box-shadow:var(--admin-shadow)}.admin-btn-danger{background:var(--admin-danger);color:#fff;border-color:var(--admin-danger)}.admin-btn-danger:hover:not(:disabled){background:var(--admin-danger-hover);border-color:var(--admin-danger-hover);transform:translateY(-1px);box-shadow:var(--admin-shadow)}.admin-btn-secondary{background:var(--admin-surface);color:var(--admin-text);border-color:var(--admin-border)}.admin-btn-secondary:hover:not(:disabled){background:#f9fafb;border-color:var(--admin-border-hover)}.admin-btn-ghost{background:transparent;color:var(--admin-text-secondary);border-color:transparent}.admin-btn-ghost:hover:not(:disabled){background:var(--admin-primary-light);color:var(--admin-primary)}.admin-btn-sm{padding:.5rem 1rem;font-size:.8125rem}.admin-btn-lg{padding:.75rem 1.5rem;font-size:.9375rem}.admin-form-group{margin-bottom:var(--admin-spacing-lg)}.admin-form-group label{display:block;margin-bottom:var(--admin-spacing-sm);font-size:.875rem;font-weight:600;color:var(--admin-text)}.admin-form-group label.required:after{content:" *";color:var(--admin-danger)}.admin-input,.admin-select,.admin-textarea{width:100%;padding:.625rem 1rem;border:1px solid var(--admin-border);border-radius:var(--admin-radius);font-size:.875rem;font-family:var(--admin-font-sans);background:var(--admin-surface);color:var(--admin-text);transition:all .2s ease}.admin-input:focus,.admin-select:focus,.admin-textarea:focus{outline:none;border-color:var(--admin-primary);box-shadow:0 0 0 3px var(--admin-primary-light)}.admin-textarea{min-height:100px;resize:vertical;font-family:var(--admin-font-sans)}.admin-input:disabled,.admin-select:disabled,.admin-textarea:disabled{background:#f9fafb;color:var(--admin-text-muted);cursor:not-allowed}.admin-filters{display:flex;gap:var(--admin-spacing-md);margin-bottom:var(--admin-spacing-xl);padding:var(--admin-spacing-lg);background:var(--admin-surface);border-radius:var(--admin-radius-md);box-shadow:var(--admin-shadow);flex-wrap:wrap}.admin-filter-group{display:flex;flex-direction:column;gap:var(--admin-spacing-sm);min-width:200px;flex:1}.admin-filter-group label{font-size:.8125rem;font-weight:600;color:var(--admin-text-secondary);text-transform:uppercase;letter-spacing:.5px}.admin-table-container{background:var(--admin-surface);border-radius:var(--admin-radius-md);box-shadow:var(--admin-shadow);overflow:hidden}.admin-table{width:100%;border-collapse:collapse}.admin-table thead{background:#f9fafb;border-bottom:2px solid var(--admin-border)}.admin-table th{padding:var(--admin-spacing-md) var(--admin-spacing-lg);text-align:left;font-size:.8125rem;font-weight:600;color:var(--admin-text-secondary);text-transform:uppercase;letter-spacing:.5px}.admin-table td{padding:var(--admin-spacing-md) var(--admin-spacing-lg);border-bottom:1px solid var(--admin-border);font-size:.875rem;color:var(--admin-text)}.admin-table tbody tr:hover{background:#f9fafb}.admin-table tbody tr:last-child td{border-bottom:none}.admin-badge{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.admin-badge-primary{background:var(--admin-primary-light);color:var(--admin-primary)}.admin-badge-success{background:#10b9811a;color:var(--admin-success)}.admin-badge-danger{background:#ef44441a;color:var(--admin-danger)}.admin-badge-warning{background:#f59e0b1a;color:var(--admin-warning)}.admin-badge-info{background:#3b82f61a;color:var(--admin-info)}.admin-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--admin-spacing-lg);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.admin-modal{background:var(--admin-surface);border-radius:var(--admin-radius-lg);box-shadow:var(--admin-shadow-lg);max-width:600px;width:100%;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease}.admin-modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--admin-spacing-lg);border-bottom:1px solid var(--admin-border)}.admin-modal-header h2{margin:0;font-size:1.5rem;font-weight:600;color:var(--admin-text)}.admin-modal-close{background:none;border:none;font-size:1.5rem;color:var(--admin-text-secondary);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--admin-radius);transition:all .2s ease}.admin-modal-close:hover{background:#f9fafb;color:var(--admin-text)}.admin-modal-body{padding:var(--admin-spacing-lg)}.admin-modal-footer{display:flex;justify-content:flex-end;gap:var(--admin-spacing-sm);padding:var(--admin-spacing-lg);border-top:1px solid var(--admin-border)}.admin-loading{display:flex;align-items:center;justify-content:center;padding:var(--admin-spacing-2xl);color:var(--admin-text-secondary)}.admin-spinner{width:32px;height:32px;border:3px solid var(--admin-border);border-top-color:var(--admin-primary);border-radius:50%;animation:spin .8s linear infinite}.admin-empty-state{text-align:center;padding:var(--admin-spacing-2xl);color:var(--admin-text-secondary)}.admin-empty-state-icon{font-size:3rem;margin-bottom:var(--admin-spacing-md);opacity:.5}.admin-empty-state h3{margin:0 0 var(--admin-spacing-sm) 0;font-size:1.25rem;color:var(--admin-text)}.admin-empty-state p{margin:0;color:var(--admin-text-secondary)}.admin-flex{display:flex}.admin-flex-between{display:flex;justify-content:space-between;align-items:center}.admin-flex-center{display:flex;align-items:center;justify-content:center}.admin-gap-sm{gap:var(--admin-spacing-sm)}.admin-gap-md{gap:var(--admin-spacing-md)}.admin-gap-lg{gap:var(--admin-spacing-lg)}.admin-mt-sm{margin-top:var(--admin-spacing-sm)}.admin-mt-md{margin-top:var(--admin-spacing-md)}.admin-mt-lg{margin-top:var(--admin-spacing-lg)}.admin-mb-sm{margin-bottom:var(--admin-spacing-sm)}.admin-mb-md{margin-bottom:var(--admin-spacing-md)}.admin-mb-lg{margin-bottom:var(--admin-spacing-lg)}.admin-layout{min-height:100vh;display:flex;flex-direction:column;background:var(--admin-bg)}.admin-layout-content{flex:1;overflow-y:auto}.admin-layout-loading{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--admin-bg)}.admin-layout-loading .spinner{width:48px;height:48px;border:4px solid var(--admin-border);border-top-color:var(--admin-primary);border-radius:50%;animation:spin .8s linear infinite}.app-footer{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1.5rem 1rem;margin-top:2rem;background:#fafafa;border-top:1px solid #EFEFEF}.footer-links{display:flex;align-items:center;gap:.5rem}.footer-links a{color:#8e8e8e;text-decoration:none;font-size:.8125rem;transition:color .2s ease}.footer-links a:hover{color:#262626}.footer-dot{color:#c7c7cc;font-size:.75rem}.footer-copyright{color:#aeaeb2;font-size:.75rem;margin:0}.beta-access-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.beta-access-card{background:#fff;border-radius:16px;padding:40px;max-width:500px;width:100%;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease-out}.beta-access-header{text-align:center;margin-bottom:32px}.beta-access-header h2{margin:0 0 8px;font-size:28px;font-weight:700;color:#111827}.beta-access-header p{margin:0;color:#6b7280;font-size:16px}.beta-access-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:14px;font-weight:600;color:#374151}.invite-code-input{padding:14px 16px;border:2px solid #e5e7eb;border-radius:8px;font-size:18px;font-weight:600;letter-spacing:2px;text-align:center;text-transform:uppercase;transition:all .2s}.invite-code-input:focus{outline:none;border-color:#9333ea;box-shadow:0 0 0 3px #9333ea1a}.invite-code-input:disabled{opacity:.5;cursor:not-allowed}.form-help{font-size:12px;color:#9ca3af;margin:0}.beta-error{padding:12px 16px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:14px}.beta-submit-btn{padding:14px 24px;background:linear-gradient(135deg,#9333ea,#7c3aed);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 4px 12px #9333ea4d}.beta-submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #9333ea66}.beta-submit-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.beta-links{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:8px;font-size:14px}.beta-link{color:#9333ea;text-decoration:none;transition:color .2s}.beta-link:hover{color:#7c3aed;text-decoration:underline}.beta-separator{color:#d1d5db}.beta-success{text-align:center;padding:20px 0}.success-icon{font-size:64px;margin-bottom:16px}.beta-success h3{margin:0 0 8px;font-size:24px;color:#111827}.beta-success p{margin:0;color:#6b7280;font-size:16px}@media(max-width:640px){.beta-access-card{padding:24px}.beta-access-header h2{font-size:24px}}.bottom-nav{position:fixed;bottom:0;left:0;right:0;width:100%;display:flex;justify-content:space-around;align-items:center;background:#fffffff2;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid rgba(0,0,0,.06);padding:.5rem 0;padding-bottom:calc(.5rem + env(safe-area-inset-bottom,0));z-index:200;height:50px;box-sizing:content-box}@media(min-width:601px){.bottom-nav{left:50%;right:auto;transform:translate(-50%);max-width:600px;border-radius:16px 16px 0 0;box-shadow:0 -4px 20px #00000014}}@media(min-width:769px){.bottom-nav{max-width:900px}}.nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;background:none;border:none;padding:.5rem 1.25rem;min-height:44px;min-width:64px;cursor:pointer;color:#8e8e8e;transition:color .15s ease,transform .15s ease;-webkit-tap-highlight-color:transparent;touch-action:manipulation;position:relative}.nav-item:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:#ff6b6b33;border-radius:50%;transform:translate(-50%,-50%);transition:width .3s ease,height .3s ease}.nav-item:active:after{width:60px;height:60px}.nav-item svg{width:24px;height:24px;transition:transform .2s cubic-bezier(.34,1.56,.64,1);flex-shrink:0}.nav-item span{font-size:.6875rem;font-weight:600;letter-spacing:.3px;text-transform:uppercase}.nav-item:hover{color:#262626}.nav-item:active{transform:scale(.95)}.nav-item.active{color:#ff6b6b}.nav-item.active svg{transform:scale(1.15)}@media(min-width:768px){.nav-item{padding:.625rem 2rem;min-width:80px}.nav-item svg{width:26px;height:26px}.nav-item span{font-size:.75rem}.nav-item:hover svg{transform:scale(1.1)}}.about-section{max-width:680px;margin:0 auto;padding:2rem 1.5rem 3rem}.about-content{display:flex;flex-direction:column;gap:2rem}.about-intro{text-align:center;margin-bottom:.5rem}.about-intro h2{font-size:1.75rem;font-weight:700;color:var(--ios-text-primary);margin:0 0 .5rem;letter-spacing:-.5px}.about-tagline{font-size:1.125rem;color:var(--ios-text-secondary);margin:0;font-style:italic}.about-story,.about-philosophy,.about-now,.about-connect{padding:0}.about-story h3,.about-philosophy h3,.about-now h3,.about-connect h3{font-size:1.125rem;font-weight:600;color:var(--ios-blue);margin:0 0 .75rem;letter-spacing:-.2px}.about-story p,.about-philosophy p,.about-now p,.about-connect p{font-size:1rem;line-height:1.7;color:var(--ios-text-primary);margin:0 0 1rem}.about-story p:last-child,.about-philosophy p:last-child,.about-now p:last-child,.about-connect p:last-child{margin-bottom:0}.about-philosophy p:last-child,.about-story p:last-child{font-style:italic;color:var(--ios-text-secondary)}.about-details{display:flex;justify-content:center;gap:2rem;padding:1.5rem;background:var(--ios-gray-6);border-radius:12px;margin-top:1rem}.detail-item{display:flex;flex-direction:column;align-items:center;gap:.25rem}.detail-label{font-size:.75rem;font-weight:500;color:var(--ios-text-tertiary);text-transform:uppercase;letter-spacing:.5px}.detail-value{font-size:1rem;font-weight:600;color:var(--ios-text-primary)}@media(max-width:480px){.about-section{padding:1.5rem 1rem 2.5rem}.about-intro h2{font-size:1.5rem}.about-tagline,.about-story h3,.about-philosophy h3,.about-now h3,.about-connect h3{font-size:1rem}.about-story p,.about-philosophy p,.about-now p,.about-connect p{font-size:.9375rem;line-height:1.65}.about-details{flex-direction:column;gap:1rem;padding:1.25rem}.detail-item{flex-direction:row;justify-content:space-between;width:100%;padding-bottom:.75rem;border-bottom:1px solid var(--ios-separator)}.detail-item:last-child{padding-bottom:0;border-bottom:none}}.consent-modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;justify-content:center;align-items:center;z-index:10000;padding:20px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.consent-modal{background:#fff;border-radius:16px;max-width:440px;width:100%;box-shadow:0 20px 60px #0000004d;animation:modalSlideIn .3s ease}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.consent-modal-header{padding:24px 24px 16px;text-align:center;border-bottom:1px solid #f0f0f0}.consent-modal-header h2{margin:0 0 8px;font-size:22px;font-weight:700;color:#1a1a1a}.consent-modal-header p{margin:0;font-size:14px;color:#666}.consent-modal-body{padding:20px 24px;display:flex;flex-direction:column;gap:16px}.consent-modal-item{display:flex;align-items:flex-start;gap:12px;cursor:pointer;position:relative;padding-left:32px}.consent-modal-item input[type=checkbox]{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.consent-modal-checkmark{position:absolute;left:0;top:2px;height:20px;width:20px;background-color:#fff;border:2px solid #dadce0;border-radius:4px;transition:all .2s ease}.consent-modal-item:hover .consent-modal-checkmark{border-color:#667eea}.consent-modal-item input:checked~.consent-modal-checkmark{background-color:#667eea;border-color:#667eea}.consent-modal-checkmark:after{content:"";position:absolute;display:none;left:6px;top:2px;width:5px;height:10px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.consent-modal-item input:checked~.consent-modal-checkmark:after{display:block}.consent-modal-text{font-size:14px;color:#444;line-height:1.5}.consent-modal-text a{color:#667eea;text-decoration:none;font-weight:500}.consent-modal-text a:hover{text-decoration:underline}.consent-modal-text strong{font-weight:600;color:#1a1a1a}.consent-modal-footer{padding:16px 24px 24px;border-top:1px solid #f0f0f0}.consent-modal-button{width:100%;padding:14px 24px;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;font-size:16px;font-weight:600;color:#fff;cursor:pointer;transition:all .2s ease}.consent-modal-button:hover:not(.disabled){transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.consent-modal-button.disabled{opacity:.5;cursor:not-allowed}.consent-modal-note{margin:12px 0 0;font-size:12px;color:#888;text-align:center}@media(max-width:480px){.consent-modal{margin:10px}.consent-modal-header{padding:20px 20px 14px}.consent-modal-header h2{font-size:20px}.consent-modal-body{padding:16px 20px}.consent-modal-footer{padding:14px 20px 20px}}:root{--ios-blue: #007AFF;--ios-blue-dark: #0051D5;--ios-blue-light: #5AC8FA;--ios-blue-pressed: #0051D5;--ios-gray-1: #8E8E93;--ios-gray-2: #AEAEB2;--ios-gray-3: #C7C7CC;--ios-gray-4: #D1D1D6;--ios-gray-5: #E5E5EA;--ios-gray-6: #F2F2F7;--ios-bg-primary: #FFFFFF;--ios-bg-secondary: #F2F2F7;--ios-bg-tertiary: #FFFFFF;--ios-bg-grouped: #F2F2F7;--ios-text-primary: #000000;--ios-text-secondary: #3C3C43;--ios-text-tertiary: #8E8E93;--ios-text-placeholder: #C7C7CC;--ios-separator: rgba(60, 60, 67, .29);--ios-separator-opaque: #C6C6C8;--color-primary-50: #E3F2FD;--color-primary-100: #BBDEFB;--color-primary-200: #90CAF9;--color-primary-300: #64B5F6;--color-primary-400: #42A5F5;--color-primary-500: #2196F3;--color-primary-600: #1E88E5;--color-primary-700: #1976D2;--color-primary-800: #1565C0;--color-primary-900: #0D47A1;--color-accent-pink: #FF2D55;--color-accent-blue: var(--ios-blue);--color-accent-cyan: #5AC8FA;--color-accent-amber: #FF9500;--color-neutral-50: var(--ios-gray-6);--color-neutral-100: var(--ios-gray-5);--color-neutral-200: var(--ios-gray-4);--color-neutral-300: var(--ios-gray-3);--color-neutral-400: var(--ios-gray-2);--color-neutral-500: var(--ios-gray-1);--color-neutral-600: #636366;--color-neutral-700: #48484A;--color-neutral-800: #3A3A3C;--color-neutral-900: #1C1C1E;--color-success: #10b981;--color-success-light: #d1fae5;--color-warning: #f59e0b;--color-warning-light: #fef3c7;--color-error: #ef4444;--color-error-light: #fee2e2;--color-info: #3b82f6;--color-info-light: #dbeafe;--text-primary: var(--ios-text-primary);--text-secondary: var(--ios-text-secondary);--text-tertiary: var(--ios-text-tertiary);--text-muted: var(--ios-text-placeholder);--text-inverse: #ffffff;--bg-primary: var(--ios-bg-primary);--bg-secondary: var(--ios-bg-secondary);--bg-tertiary: var(--ios-bg-tertiary);--bg-elevated: var(--ios-bg-primary);--bg-overlay: rgba(0, 0, 0, .4);--bg-overlay-light: rgba(0, 0, 0, .1);--gradient-primary: var(--ios-blue);--gradient-primary-hover: var(--ios-blue-dark);--gradient-primary-subtle: rgba(0, 122, 255, .1);--gradient-accent: var(--ios-blue);--gradient-accent-hover: var(--ios-blue-dark);--gradient-surface: var(--ios-bg-primary);--gradient-surface-elevated: var(--ios-bg-primary);--gradient-gold: #FF9500;--gradient-sunset: #FF2D55;--gradient-ocean: var(--ios-blue);--glass-bg: rgba(255, 255, 255, .8);--glass-bg-dark: rgba(0, 0, 0, .3);--glass-border: rgba(255, 255, 255, .18);--sara-coral: #FF6B6B;--sara-coral-light: #FFE5E5;--sara-coral-dark: #E85555;--sara-lavender: #B794F6;--sara-lavender-light: #E9DEFF;--sara-cream: #FFF9F5;--sara-cream-dark: #FFF0E8;--sara-honey: #FFB347;--sara-teal: #4ECDC4;--sara-gray-warm-1: #8B8680;--sara-gray-warm-2: #A8A299;--sara-gray-warm-3: #C4BFB7;--sara-gray-warm-4: #E0DCD6;--sara-gray-warm-5: #F5F2EE;--sara-bg-warm: #FFFBF8;--sara-bg-secondary-warm: #FAF7F4;--sara-bg-elevated: #FFFFFF;--gradient-sara-primary: linear-gradient(135deg, #FF9A8B 0%, #FF6A88 50%, #FF99AC 100%);--gradient-sara-subtle: linear-gradient(135deg, rgba(255, 154, 139, .1) 0%, rgba(255, 106, 136, .05) 100%);--gradient-sara-lavender: linear-gradient(135deg, #B794F6 0%, #9F7AEA 100%);--shadow-sara-coral: 0 4px 14px 0 rgba(255, 107, 107, .25);--shadow-sara-lavender: 0 4px 14px 0 rgba(183, 148, 246, .25);--shadow-sara-warm: 0 4px 20px 0 rgba(255, 154, 139, .15);--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .03);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .08), 0 1px 2px 0 rgba(0, 0, 0, .04);--shadow-md: 0 2px 4px 0 rgba(0, 0, 0, .08), 0 1px 3px 0 rgba(0, 0, 0, .06);--shadow-lg: 0 4px 8px 0 rgba(0, 0, 0, .1), 0 2px 4px 0 rgba(0, 0, 0, .08);--shadow-xl: 0 8px 16px 0 rgba(0, 0, 0, .12), 0 4px 8px 0 rgba(0, 0, 0, .1);--shadow-2xl: 0 12px 24px 0 rgba(0, 0, 0, .15), 0 6px 12px 0 rgba(0, 0, 0, .12);--shadow-inner: inset 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-primary: 0 2px 8px 0 rgba(0, 122, 255, .2), 0 1px 4px 0 rgba(0, 122, 255, .15);--shadow-primary-lg: 0 4px 12px 0 rgba(0, 122, 255, .25), 0 2px 6px 0 rgba(0, 122, 255, .2);--shadow-accent: 0 2px 8px 0 rgba(255, 45, 85, .2), 0 1px 4px 0 rgba(255, 45, 85, .15);--glow-primary: 0 0 10px rgba(0, 122, 255, .2);--glow-accent: 0 0 10px rgba(255, 45, 85, .2);--font-family-sans: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Helvetica Neue", sans-serif;--font-family-mono: "SF Mono", "Monaco", "Menlo", "Courier New", monospace;--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-extrabold: 800;--font-weight-black: 900;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: 3rem;--text-6xl: 3.75rem;--leading-none: 1;--leading-tight: 1.25;--leading-snug: 1.375;--leading-normal: 1.5;--leading-relaxed: 1.625;--leading-loose: 2;--tracking-tighter: -.05em;--tracking-tight: -.025em;--tracking-normal: 0;--tracking-wide: .025em;--tracking-wider: .05em;--tracking-widest: .1em;--space-0: 0;--space-px: 1px;--space-0-5: .125rem;--space-1: .25rem;--space-1-5: .375rem;--space-2: .5rem;--space-2-5: .625rem;--space-3: .75rem;--space-3-5: .875rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-7: 1.75rem;--space-8: 2rem;--space-9: 2.25rem;--space-10: 2.5rem;--space-11: 2.75rem;--space-12: 3rem;--space-14: 3.5rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--space-28: 7rem;--space-32: 8rem;--space-xs: var(--space-1);--space-sm: var(--space-2);--space-md: var(--space-4);--space-lg: var(--space-6);--space-xl: var(--space-8);--space-2xl: var(--space-12);--space-3xl: var(--space-16);--radius-none: 0;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.25rem;--radius-3xl: 1.5rem;--radius-full: 9999px;--ios-radius-small: 6px;--ios-radius-medium: 10px;--ios-radius-large: 14px;--ios-radius-extra-large: 20px;--radius-xs: var(--radius-sm);--ease-linear: linear;--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--ease-spring: cubic-bezier(.68, -.55, .265, 1.55);--ease-smooth: cubic-bezier(.25, .46, .45, .94);--ease-bounce: cubic-bezier(.68, -.6, .32, 1.6);--duration-instant: 0ms;--duration-fast: .1s;--duration-base: .2s;--duration-slow: .3s;--duration-slower: .4s;--duration-slowest: .5s;--transition-fast: var(--duration-fast) var(--ease-out);--transition-base: var(--duration-base) var(--ease-out);--transition-slow: var(--duration-slow) var(--ease-out);--transition-slower: var(--duration-slower) var(--ease-out);--transition-spring: var(--duration-base) var(--ease-spring);--transition-smooth: var(--duration-slow) var(--ease-smooth);--transition-xs: var(--transition-fast);--z-0: 0;--z-10: 10;--z-20: 20;--z-30: 30;--z-40: 40;--z-50: 50;--z-auto: auto;--z-dropdown: 1000;--z-sticky: 100;--z-fixed: 200;--z-modal-backdrop: 3000;--z-modal: 3100;--z-popover: 4000;--z-tooltip: 5000;--z-toast: 6000;--z-sticky-legacy: var(--z-sticky)}body{font-family:var(--font-family-sans);font-size:var(--text-base);font-weight:var(--font-weight-normal);line-height:var(--leading-normal);color:var(--text-primary);background:var(--bg-secondary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"kern" 1,"liga" 1;overflow-x:hidden;min-height:100vh;min-height:100dvh}@keyframes fadeInScale{0%{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes scaleOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.9)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes glow{0%,to{box-shadow:0 0 20px #667eea66}50%{box-shadow:0 0 30px #667eea99,0 0 40px #764ba266}}.glass{background:var(--glass-bg);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid var(--glass-border)}.btn-premium{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);font-size:var(--text-base);font-weight:var(--font-weight-semibold);line-height:var(--leading-none);border:none;border-radius:var(--radius-xl);cursor:pointer;transition:all var(--transition-smooth);overflow:hidden;isolation:isolate;-webkit-tap-highlight-color:transparent;touch-action:manipulation;min-height:44px;min-width:44px}.btn-premium:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.2) 0%,transparent 100%);opacity:0;transition:opacity var(--transition-base);pointer-events:none}.btn-premium:hover:before{opacity:1}.btn-premium:active{transform:scale(.98)}.card-premium{background:var(--bg-elevated);border-radius:var(--radius-2xl);border:1px solid rgba(0,0,0,.06);box-shadow:var(--shadow-sm);transition:all var(--transition-smooth);overflow:hidden}.card-premium:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.input-premium{width:100%;padding:var(--space-3) var(--space-4);font-size:var(--text-base);font-weight:var(--font-weight-normal);line-height:var(--leading-normal);color:var(--text-primary);background:var(--bg-primary);border:1.5px solid var(--color-neutral-300);border-radius:var(--radius-xl);transition:all var(--transition-base);min-height:44px}.input-premium:focus{outline:none;border-color:var(--color-primary-500);box-shadow:0 0 0 4px #667eea1a}.input-premium::placeholder{color:var(--text-muted)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg-secondary);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb{background:var(--color-neutral-400);border-radius:var(--radius-full);border:2px solid var(--bg-secondary);transition:background var(--transition-base)}::-webkit-scrollbar-thumb:hover{background:var(--color-neutral-500)}::selection{background:#667eea33;color:var(--text-primary)}*:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:2px;border-radius:var(--radius-sm)}@media(min-width:768px){:root{--text-xs: clamp(.75rem, .7rem + .1vw, .8rem);--text-sm: clamp(.875rem, .8rem + .15vw, .95rem);--text-base: clamp(1rem, .95rem + .2vw, 1.05rem);--text-lg: clamp(1.125rem, 1.05rem + .25vw, 1.2rem);--text-xl: clamp(1.25rem, 1.15rem + .3vw, 1.35rem);--text-2xl: clamp(1.5rem, 1.35rem + .4vw, 1.65rem);--text-3xl: clamp(1.875rem, 1.65rem + .5vw, 2rem);--text-4xl: clamp(2.25rem, 1.95rem + .6vw, 2.5rem)}}@media(hover:none)and (pointer:coarse){*:hover{transform:none!important}}:root{--frontend-primary: #007AFF;--frontend-primary-dark: #0051D5;--frontend-primary-light: #5AC8FA;--frontend-primary-hover: #0051D5;--frontend-accent-pink: #FF2D55;--frontend-accent-cyan: #5AC8FA;--frontend-accent-amber: #FF9500;--frontend-accent-gold: #FFD700;--frontend-success: #10b981;--frontend-success-light: rgba(16, 185, 129, .1);--frontend-warning: #f59e0b;--frontend-warning-light: rgba(245, 158, 11, .1);--frontend-danger: #ef4444;--frontend-danger-light: rgba(239, 68, 68, .1);--frontend-info: #3b82f6;--frontend-info-light: rgba(59, 130, 246, .1);--frontend-gray-1: #8E8E93;--frontend-gray-2: #AEAEB2;--frontend-gray-3: #C7C7CC;--frontend-gray-4: #D1D1D6;--frontend-gray-5: #E5E5EA;--frontend-gray-6: #F2F2F7;--frontend-bg-primary: #FFFFFF;--frontend-bg-secondary: #F2F2F7;--frontend-bg-tertiary: #FFFFFF;--frontend-bg-grouped: #F2F2F7;--frontend-bg-elevated: #FFFFFF;--frontend-bg-overlay: rgba(0, 0, 0, .4);--frontend-bg-overlay-light: rgba(0, 0, 0, .1);--frontend-text-primary: #000000;--frontend-text-secondary: #3C3C43;--frontend-text-tertiary: #8E8E93;--frontend-text-placeholder: #C7C7CC;--frontend-text-inverse: #FFFFFF;--frontend-separator: rgba(60, 60, 67, .29);--frontend-separator-opaque: #C6C6C8;--frontend-shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .03);--frontend-shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .08), 0 1px 2px 0 rgba(0, 0, 0, .04);--frontend-shadow-md: 0 2px 4px 0 rgba(0, 0, 0, .08), 0 1px 3px 0 rgba(0, 0, 0, .06);--frontend-shadow-lg: 0 4px 8px 0 rgba(0, 0, 0, .1), 0 2px 4px 0 rgba(0, 0, 0, .08);--frontend-shadow-xl: 0 8px 16px 0 rgba(0, 0, 0, .12), 0 4px 8px 0 rgba(0, 0, 0, .1);--frontend-shadow-2xl: 0 12px 24px 0 rgba(0, 0, 0, .15), 0 6px 12px 0 rgba(0, 0, 0, .12);--frontend-shadow-primary: 0 2px 8px 0 rgba(0, 122, 255, .2), 0 1px 4px 0 rgba(0, 122, 255, .15);--frontend-shadow-primary-lg: 0 4px 12px 0 rgba(0, 122, 255, .25), 0 2px 6px 0 rgba(0, 122, 255, .2);--frontend-font-sans: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Helvetica Neue", sans-serif;--frontend-font-mono: "SF Mono", "Monaco", "Menlo", "Courier New", monospace;--frontend-font-light: 300;--frontend-font-normal: 400;--frontend-font-medium: 500;--frontend-font-semibold: 600;--frontend-font-bold: 700;--frontend-font-extrabold: 800;--frontend-text-xs: .75rem;--frontend-text-sm: .875rem;--frontend-text-base: 1rem;--frontend-text-lg: 1.125rem;--frontend-text-xl: 1.25rem;--frontend-text-2xl: 1.5rem;--frontend-text-3xl: 1.875rem;--frontend-text-4xl: 2.25rem;--frontend-leading-none: 1;--frontend-leading-tight: 1.25;--frontend-leading-snug: 1.375;--frontend-leading-normal: 1.5;--frontend-leading-relaxed: 1.625;--frontend-leading-loose: 2;--frontend-space-0: 0;--frontend-space-1: .25rem;--frontend-space-2: .5rem;--frontend-space-3: .75rem;--frontend-space-4: 1rem;--frontend-space-5: 1.25rem;--frontend-space-6: 1.5rem;--frontend-space-8: 2rem;--frontend-space-10: 2.5rem;--frontend-space-12: 3rem;--frontend-space-16: 4rem;--frontend-space-20: 5rem;--frontend-radius-sm: 6px;--frontend-radius-md: 10px;--frontend-radius-lg: 14px;--frontend-radius-xl: 20px;--frontend-radius-2xl: 24px;--frontend-radius-full: 9999px;--frontend-ease-out: cubic-bezier(0, 0, .2, 1);--frontend-ease-in-out: cubic-bezier(.4, 0, .2, 1);--frontend-ease-spring: cubic-bezier(.68, -.55, .265, 1.55);--frontend-ease-smooth: cubic-bezier(.25, .46, .45, .94);--frontend-duration-fast: .15s;--frontend-duration-base: .2s;--frontend-duration-slow: .3s;--frontend-duration-slower: .4s;--frontend-transition-fast: var(--frontend-duration-fast) var(--frontend-ease-out);--frontend-transition-base: var(--frontend-duration-base) var(--frontend-ease-out);--frontend-transition-slow: var(--frontend-duration-slow) var(--frontend-ease-out);--frontend-transition-smooth: var(--frontend-duration-slow) var(--frontend-ease-smooth);--frontend-z-base: 0;--frontend-z-dropdown: 1000;--frontend-z-sticky: 100;--frontend-z-fixed: 200;--frontend-z-modal-backdrop: 3000;--frontend-z-modal: 3100;--frontend-z-popover: 4000;--frontend-z-tooltip: 5000;--frontend-z-toast: 6000}*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{font-family:var(--frontend-font-sans);font-size:var(--frontend-text-base);font-weight:var(--frontend-font-normal);line-height:var(--frontend-leading-normal);color:var(--frontend-text-primary);background:var(--frontend-bg-secondary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"kern" 1,"liga" 1;overflow-x:hidden;min-height:100vh;min-height:100dvh}.btn-frontend{display:inline-flex;align-items:center;justify-content:center;gap:var(--frontend-space-2);padding:var(--frontend-space-3) var(--frontend-space-5);border:none;border-radius:var(--frontend-radius-lg);font-size:var(--frontend-text-base);font-weight:var(--frontend-font-semibold);font-family:var(--frontend-font-sans);cursor:pointer;transition:all var(--frontend-transition-base);white-space:nowrap;min-height:44px;min-width:44px;-webkit-tap-highlight-color:transparent;touch-action:manipulation;position:relative;overflow:hidden}.btn-frontend:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-frontend-primary{background:var(--gradient-sara-primary, linear-gradient(135deg, #FF9A8B 0%, #FF6A88 50%, #FF99AC 100%));color:var(--frontend-text-inverse);box-shadow:var(--shadow-sara-coral, 0 4px 14px 0 rgba(255, 107, 107, .25));position:relative;overflow:hidden}.btn-frontend-primary:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.25) 0%,transparent 50%);opacity:0;transition:opacity .3s ease}.btn-frontend-primary:hover:not(:disabled){background:linear-gradient(135deg,#ff8a7a,#ff5a78,#ff899c);box-shadow:0 6px 20px #ff6a8859,0 2px 8px #ff9a8b40;transform:translateY(-2px)}.btn-frontend-primary:hover:not(:disabled):before{opacity:1}.btn-frontend-primary:active:not(:disabled){transform:translateY(0) scale(.98)}.btn-frontend-secondary{background:var(--frontend-bg-primary);color:var(--frontend-text-primary);border:1px solid var(--frontend-separator-opaque);box-shadow:var(--frontend-shadow-sm)}.btn-frontend-secondary:hover:not(:disabled){background:var(--frontend-gray-6);border-color:var(--frontend-gray-3);transform:translateY(-1px)}.btn-frontend-ghost{background:transparent;color:var(--frontend-text-secondary);border:none}.btn-frontend-ghost:hover:not(:disabled){background:var(--frontend-gray-6);color:var(--frontend-text-primary)}.btn-frontend-success{background:var(--frontend-success);color:var(--frontend-text-inverse);box-shadow:var(--frontend-shadow-sm)}.btn-frontend-success:hover:not(:disabled){background:#059669;transform:translateY(-1px);box-shadow:var(--frontend-shadow-md)}.btn-frontend-danger{background:var(--frontend-danger);color:var(--frontend-text-inverse);box-shadow:var(--frontend-shadow-sm)}.btn-frontend-danger:hover:not(:disabled){background:#dc2626;transform:translateY(-1px);box-shadow:var(--frontend-shadow-md)}.btn-frontend-sm{padding:var(--frontend-space-2) var(--frontend-space-4);font-size:var(--frontend-text-sm);min-height:36px}.btn-frontend-lg{padding:var(--frontend-space-4) var(--frontend-space-6);font-size:var(--frontend-text-lg);min-height:48px}.card-frontend{background:var(--frontend-bg-primary);border-radius:var(--frontend-radius-xl);border:.5px solid var(--frontend-separator);box-shadow:var(--frontend-shadow-sm);transition:all var(--frontend-transition-base);overflow:hidden}.card-frontend:hover{box-shadow:var(--frontend-shadow-md);border-color:var(--frontend-gray-3)}.card-frontend-header{padding:var(--frontend-space-4) var(--frontend-space-5);border-bottom:.5px solid var(--frontend-separator);background:var(--frontend-bg-primary)}.card-frontend-body{padding:var(--frontend-space-4) var(--frontend-space-5)}.card-frontend-footer{padding:var(--frontend-space-4) var(--frontend-space-5);border-top:.5px solid var(--frontend-separator);background:var(--frontend-gray-6)}.input-frontend{width:100%;padding:.875rem 1.125rem;border:2px solid var(--sara-gray-warm-4, #E0DCD6);border-radius:14px;font-size:var(--frontend-text-base);font-family:var(--frontend-font-sans);background:var(--sara-bg-elevated, #FFFFFF);color:var(--frontend-text-primary);transition:all .25s ease;min-height:48px;box-shadow:inset 0 1px 3px #00000008}.input-frontend:hover:not(:focus):not(:disabled){border-color:var(--sara-gray-warm-3, #C4BFB7)}.input-frontend:focus{outline:none;border-color:var(--sara-coral, #FF6B6B);box-shadow:inset 0 1px 3px #00000005,0 0 0 4px #ff6b6b1f}.input-frontend::placeholder{color:var(--sara-gray-warm-2, #A8A299)}.input-frontend:disabled{background:var(--sara-gray-warm-5, #F5F2EE);color:var(--frontend-text-tertiary);cursor:not-allowed;border-color:var(--sara-gray-warm-4, #E0DCD6)}.badge-frontend{display:inline-flex;align-items:center;padding:var(--frontend-space-1) var(--frontend-space-3);border-radius:var(--frontend-radius-full);font-size:var(--frontend-text-xs);font-weight:var(--frontend-font-semibold);text-transform:uppercase;letter-spacing:.5px}.badge-frontend-primary{background:#007aff1a;color:var(--frontend-primary)}.badge-frontend-success{background:var(--frontend-success-light);color:var(--frontend-success)}.badge-frontend-warning{background:var(--frontend-warning-light);color:var(--frontend-warning)}.badge-frontend-danger{background:var(--frontend-danger-light);color:var(--frontend-danger)}.badge-frontend-info{background:var(--frontend-info-light);color:var(--frontend-info)}.modal-overlay-frontend{position:fixed;inset:0;background:linear-gradient(135deg,#ff9a8b0d,#0006,#b794f60d);display:flex;align-items:center;justify-content:center;z-index:var(--frontend-z-modal-backdrop);padding:var(--frontend-space-4);backdrop-filter:blur(12px) saturate(150%);-webkit-backdrop-filter:blur(12px) saturate(150%);animation:fadeIn var(--frontend-transition-base)}.modal-frontend{background:linear-gradient(135deg,#fffffffa,#fffbf8f2);border-radius:24px;box-shadow:0 8px 32px #0000001f,0 24px 64px #00000014,0 0 0 1px #ff9a8b1a;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;animation:modalSlideUp .4s cubic-bezier(.16,1,.3,1);border:1px solid rgba(255,255,255,.8)}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(40px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-frontend-header{display:flex;justify-content:space-between;align-items:center;padding:var(--frontend-space-5) var(--frontend-space-6);border-bottom:.5px solid var(--frontend-separator)}.modal-frontend-header h2{margin:0;font-size:var(--frontend-text-2xl);font-weight:var(--frontend-font-bold);color:var(--frontend-text-primary)}.modal-frontend-close{background:none;border:none;font-size:1.5rem;color:var(--frontend-text-tertiary);cursor:pointer;padding:var(--frontend-space-2);width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:var(--frontend-radius-md);transition:all var(--frontend-transition-base)}.modal-frontend-close:hover{background:var(--frontend-gray-6);color:var(--frontend-text-primary)}.modal-frontend-body{padding:var(--frontend-space-5) var(--frontend-space-6)}.modal-frontend-footer{display:flex;justify-content:flex-end;gap:var(--frontend-space-3);padding:var(--frontend-space-5) var(--frontend-space-6);border-top:.5px solid var(--frontend-separator)}.loading-frontend{display:flex;align-items:center;justify-content:center;padding:var(--frontend-space-8);color:var(--frontend-text-secondary)}.spinner-frontend{width:32px;height:32px;border:3px solid var(--frontend-gray-5);border-top-color:var(--frontend-primary);border-radius:50%;animation:spin var(--frontend-duration-slower) linear infinite}.empty-state-frontend{text-align:center;padding:var(--frontend-space-12) var(--frontend-space-6);color:var(--frontend-text-secondary)}.empty-state-frontend-icon{font-size:4rem;margin-bottom:var(--frontend-space-4);opacity:.5}.empty-state-frontend h3{margin:0 0 var(--frontend-space-2) 0;font-size:var(--frontend-text-xl);font-weight:var(--frontend-font-bold);color:var(--frontend-text-primary)}.empty-state-frontend p{margin:0;color:var(--frontend-text-secondary);font-size:var(--frontend-text-base)}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.flex-frontend{display:flex}.flex-frontend-between{display:flex;justify-content:space-between;align-items:center}.flex-frontend-center{display:flex;align-items:center;justify-content:center}.gap-frontend-sm{gap:var(--frontend-space-2)}.gap-frontend-md{gap:var(--frontend-space-4)}.gap-frontend-lg{gap:var(--frontend-space-6)}::-webkit-scrollbar-track{background:var(--frontend-bg-secondary);border-radius:var(--frontend-radius-full)}::-webkit-scrollbar-thumb{background:var(--frontend-gray-3);border-radius:var(--frontend-radius-full);transition:background var(--frontend-transition-base)}::-webkit-scrollbar-thumb:hover{background:var(--frontend-gray-2)}::selection{background:#007aff33;color:var(--frontend-text-primary)}*:focus-visible{outline:2px solid var(--frontend-primary);outline-offset:2px;border-radius:var(--frontend-radius-sm)}@media(max-width:768px){body{font-size:16px}button,a,[role=button]{min-height:44px;min-width:44px}}@media(hover:none)and (pointer:coarse){.btn-frontend:hover,.card-frontend:hover{transform:none!important}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:.75rem 1.5rem;border:none;border-radius:var(--radius-lg);font-size:.9375rem;font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-base);-webkit-tap-highlight-color:transparent;touch-action:manipulation;position:relative;overflow:hidden;white-space:nowrap}.btn:disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:var(--shadow-blue);position:relative;overflow:hidden}.btn-primary:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff4d;transform:translate(-50%,-50%);transition:width .6s,height .6s}.btn-primary:hover:not(:disabled):before{width:300px;height:300px}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-blue-lg)}.btn-primary:active:not(:disabled){transform:translateY(0) scale(.98)}.btn-secondary{background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--gray-300);box-shadow:var(--shadow-sm)}.btn-secondary:hover:not(:disabled){background:var(--gray-50);border-color:var(--gray-400);transform:translateY(-1px)}.btn-ghost{background:transparent;color:var(--text-secondary);border:1px solid transparent}.btn-ghost:hover:not(:disabled){background:var(--gray-100);color:var(--text-primary)}.card{background:var(--bg-primary);border-radius:var(--radius-xl);border:1px solid var(--gray-200);box-shadow:var(--shadow-sm);transition:all var(--transition-base);overflow:hidden}.card:hover{box-shadow:var(--shadow-md);border-color:var(--gray-300)}.card-header{padding:var(--space-lg);border-bottom:1px solid var(--gray-200);background:linear-gradient(135deg,var(--gray-50) 0%,var(--bg-primary) 100%)}.card-body{padding:var(--space-lg)}.card-footer{padding:var(--space-lg);border-top:1px solid var(--gray-200);background:var(--gray-50)}.input{width:100%;padding:.75rem 1rem;border:1px solid var(--gray-300);border-radius:var(--radius-md);font-size:.9375rem;color:var(--text-primary);background:var(--bg-primary);transition:all var(--transition-base)}.input:focus{outline:none;border-color:var(--primary-blue);box-shadow:0 0 0 3px #0080ff1a}.input::placeholder{color:var(--text-muted)}.badge{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:var(--radius-full);font-size:.75rem;font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.5px}.badge-primary{background:#0080ff1a;color:var(--primary-blue)}.badge-success{background:#10b9811a;color:#059669}.badge-warning{background:#fbbf241a;color:#d97706}.badge-danger{background:#ef44441a;color:#dc2626}.spinner{width:40px;height:40px;border:3px solid var(--gray-200);border-top-color:var(--primary-blue);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{background:linear-gradient(90deg,var(--gray-200) 0%,var(--gray-100) 50%,var(--gray-200) 100%);background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite;border-radius:var(--radius-md)}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.empty-state{text-align:center;padding:var(--space-3xl) var(--space-xl);color:var(--text-secondary)}.empty-state-icon{font-size:4rem;margin-bottom:var(--space-lg);opacity:.5}.empty-state-title{font-size:1.5rem;font-weight:var(--font-weight-bold);color:var(--text-primary);margin-bottom:var(--space-sm)}.empty-state-description{font-size:1rem;color:var(--text-secondary);max-width:400px;margin:0 auto}*:focus-visible{outline:2px solid var(--primary-blue);outline-offset:2px;border-radius:var(--radius-sm)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--gray-100);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb{background:var(--gray-400);border-radius:var(--radius-sm);transition:background var(--transition-base)}::-webkit-scrollbar-thumb:hover{background:var(--gray-500)}::selection{background:#0080ff33;color:var(--text-primary)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mt-xs{margin-top:var(--space-xs)}.mt-sm{margin-top:var(--space-sm)}.mt-md{margin-top:var(--space-md)}.mt-lg{margin-top:var(--space-lg)}.mt-xl{margin-top:var(--space-xl)}.mb-xs{margin-bottom:var(--space-xs)}.mb-sm{margin-bottom:var(--space-sm)}.mb-md{margin-bottom:var(--space-md)}.mb-lg{margin-bottom:var(--space-lg)}.mb-xl{margin-bottom:var(--space-xl)}.p-xs{padding:var(--space-xs)}.p-sm{padding:var(--space-sm)}.p-md{padding:var(--space-md)}.p-lg{padding:var(--space-lg)}.p-xl{padding:var(--space-xl)}.btn{min-height:44px;min-width:44px;padding:.75rem 1.25rem;font-size:.9375rem;touch-action:manipulation;-webkit-tap-highlight-color:rgba(0,128,255,.15)}.card{border-radius:var(--radius-lg);overflow:hidden}.card-header,.card-body,.card-footer{padding:var(--space-md)}.input{min-height:44px;font-size:16px;padding:.75rem 1rem;touch-action:manipulation}.badge{font-size:.75rem;padding:.25rem .625rem}@media(min-width:481px){.btn{padding:.75rem 1.5rem;font-size:.9375rem}.card-header,.card-body,.card-footer{padding:var(--space-lg)}}@media(min-width:769px){.btn{padding:.75rem 1.5rem;font-size:.9375rem}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-blue-lg)}.btn-secondary:hover:not(:disabled){background:var(--gray-50);border-color:var(--gray-400);transform:translateY(-1px)}.card:hover{box-shadow:var(--shadow-md);border-color:var(--gray-300)}}@media(hover:none)and (pointer:coarse){.btn:hover,.card:hover{transform:none}.btn:active{transform:scale(.98);opacity:.9}}@media(max-width:480px){.btn{padding:.625rem 1rem;font-size:.875rem;min-height:44px}.card-header,.card-body,.card-footer{padding:var(--space-sm)}.input{padding:.625rem .875rem;font-size:16px}}.app{width:100%;min-height:100vh;min-height:100dvh;background:#f5f5f5;padding-bottom:calc(80px + env(safe-area-inset-bottom,0));background-attachment:scroll;animation:appFadeIn .3s ease-out;scroll-behavior:smooth;-webkit-overflow-scrolling:touch}@keyframes appFadeIn{0%{opacity:0}to{opacity:1}}.app.chat-mode{background:#f0f0f0;padding-bottom:0;display:flex;flex-direction:column;height:100vh;height:100dvh;overflow:hidden}.app.chat-mode .header{background:#fff;box-shadow:0 -10px 20px #0000000d;border-radius:16px 16px 0 0;margin-top:.5rem;padding-bottom:0}.app.chat-mode .header-banner{border-radius:16px 16px 0 0}.app.chat-mode .header-creator-section{border-bottom:1px solid rgba(0,0,0,.06);margin-bottom:0}.app.chat-mode .chat-container{background:#fff;box-shadow:0 10px 20px #0000000d;border-radius:0;margin-top:0}@media(max-width:600px){.app.chat-mode .header{border-radius:0;margin-top:0}.app.chat-mode .header-banner{border-radius:0}.app.chat-mode .chat-container{box-shadow:none}}.app-loading{display:flex;justify-content:center;align-items:center;min-height:100vh;min-height:100dvh}.media-tab{max-width:100%;margin:var(--space-lg) auto;padding:0 var(--space-md)}.media-placeholder{background:#fff;border-radius:var(--radius-xl);padding:var(--space-2xl) var(--space-lg);text-align:center;box-shadow:var(--shadow-lg);border:1px solid rgba(0,0,0,.06);animation:fadeIn .6s ease-out}.media-placeholder h2{background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:var(--space-md);font-size:1.75rem;font-weight:800;line-height:1.2}.media-placeholder p{color:#666;font-size:1rem;line-height:1.6}@keyframes tabSlideIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.media-content{animation:tabSlideIn .2s ease-out}@media(min-width:481px){.app{padding-bottom:var(--space-xl)}.media-tab{max-width:1200px;margin:var(--space-2xl) auto;padding:0 var(--space-lg)}.media-placeholder{padding:var(--space-3xl) var(--space-2xl);border-radius:var(--radius-2xl)}.media-placeholder h2{font-size:2rem}.media-placeholder p{font-size:1.1rem}}@media(min-width:769px){.app{background-attachment:fixed;padding-bottom:var(--space-2xl)}.media-tab{max-width:1400px;margin:3rem auto;padding:0 var(--space-xl)}.media-placeholder{padding:5rem 3rem}.media-placeholder h2{font-size:2.5rem}.media-placeholder p{font-size:1.2rem}}*{margin:0;padding:0;box-sizing:border-box}:root{--primary-blue: #0080ff;--primary-blue-dark: #0066cc;--primary-blue-light: #3399ff;--primary-blue-hover: #0052a3;--gray-50: #f8f9fa;--gray-100: #f1f3f5;--gray-200: #e9ecef;--gray-300: #dee2e6;--gray-400: #ced4da;--gray-500: #adb5bd;--gray-600: #868e96;--gray-700: #495057;--gray-800: #343a40;--gray-900: #212529;--text-primary: #1a1a1a;--text-secondary: #4a5568;--text-tertiary: #718096;--text-muted: #a0aec0;--bg-primary: #ffffff;--bg-secondary: #f8f9fa;--bg-tertiary: #f1f3f5;--gradient-primary: linear-gradient(135deg, #0080ff 0%, #0066cc 50%, #004d99 100%);--gradient-gold: linear-gradient(135deg, #ffd700 0%, #ffb347 100%);--gradient-purple: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--gradient-subtle: linear-gradient(180deg, #f8f9fa 0%, #ffffff 100%);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .04);--shadow-sm: 0 2px 4px rgba(0, 0, 0, .05);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .12);--shadow-xl: 0 12px 40px rgba(0, 0, 0, .16);--shadow-blue: 0 4px 20px rgba(0, 128, 255, .25);--shadow-blue-lg: 0 8px 30px rgba(0, 128, 255, .35);--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 20px;--radius-full: 9999px;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-extrabold: 800;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: .3s cubic-bezier(.4, 0, .2, 1);--transition-slower: .4s cubic-bezier(.4, 0, .2, 1);--z-dropdown: 1000;--z-sticky: 100;--z-modal: 2000;--z-tooltip: 3000}body{font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--gradient-subtle);background-attachment:fixed;color:var(--text-primary);min-height:100vh;line-height:1.6;font-weight:var(--font-weight-normal)}#root{width:100%;min-height:100vh}html{scroll-behavior:smooth}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.02)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes glow{0%,to{box-shadow:0 0 20px #0080ff4d}50%{box-shadow:0 0 30px #0080ff99}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.9)}to{transform:scale(1)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes ripple{0%{transform:scale(0);opacity:1}to{transform:scale(4);opacity:0}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-4px)}20%,40%,60%,80%{transform:translate(4px)}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes staggerFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes spring{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes heartBeat{0%{transform:scale(1)}14%{transform:scale(1.3)}28%{transform:scale(1)}42%{transform:scale(1.3)}70%{transform:scale(1)}}@keyframes loadingDots{0%,20%{content:"."}40%{content:".."}60%,to{content:"..."}}body{font-size:16px;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}button,a,[role=button],input[type=button],input[type=submit]{min-height:44px;min-width:44px;-webkit-tap-highlight-color:rgba(0,128,255,.15);touch-action:manipulation}button,[role=button]{-webkit-user-select:none;-moz-user-select:none;user-select:none}*{-webkit-overflow-scrolling:touch}html,body{overflow-x:hidden;max-width:100vw;position:relative}@supports (padding: max(0px)){body{padding-left:max(0px,env(safe-area-inset-left));padding-right:max(0px,env(safe-area-inset-right))}}@media(hover:none)and (pointer:coarse){button:hover,a:hover,[role=button]:hover{transform:none!important}}@media(min-width:481px){body{font-size:16px}}@media(min-width:769px){body{font-size:16px}button:hover,a:hover,[role=button]:hover{transform:translateY(-1px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media(prefers-contrast:high){:root{--text-primary: #000000;--text-secondary: #1a1a1a;--bg-primary: #ffffff}}*:focus-visible{outline:2px solid var(--primary-blue);outline-offset:2px}*:focus:not(:focus-visible){outline:none}input,textarea,select{font-size:16px;border-radius:var(--radius-md)}input[type=text],input[type=email],input[type=password],input[type=search],textarea{-webkit-appearance:none;appearance:none}.scroll-snap-x{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.scroll-snap-x>*{scroll-snap-align:start}.hide-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.hide-scrollbar::-webkit-scrollbar{display:none}.gpu-accelerated{transform:translateZ(0);will-change:transform;backface-visibility:hidden}
