*{margin:0;padding:0;box-sizing:border-box}:root{font-family:Inter,Segoe UI,Tahoma,Geneva,Verdana,sans-serif,-apple-system,BlinkMacSystemFont;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--bg-primary: #0a0a0a;--bg-secondary: #1a1a1a;--bg-tertiary: #2a2a2a;--text-primary: #ffffff;--text-secondary: #b3b3b3;--text-muted: #666666;--accent-primary: #ff6b6b;--accent-secondary: #4ecdc4;--accent-tertiary: #45b7d1;--border-color: #333333;--shadow-light: rgba(0, 0, 0, .3);--shadow-medium: rgba(0, 0, 0, .5);--shadow-heavy: rgba(0, 0, 0, .7);--gradient-primary: linear-gradient(135deg, #1a1a1a 0%, #2a2a2a 100%);--gradient-accent: linear-gradient(135deg, #ff6b6b 0%, #4ecdc4 100%);--max-mobile-width: 36.125rem}body{margin:0;min-width:20rem;min-height:100vh;background-color:var(--bg-primary);color:var(--text-primary)}#root{width:100%;min-height:100vh}button{font-family:inherit;cursor:pointer;transition:all .2s ease}button:disabled{cursor:not-allowed;opacity:.5}.error-modal-overlay{position:fixed;inset:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:10000;padding:1rem}.error-modal{background:var(--bg-primary, #fff);border-radius:1rem;padding:2rem;max-width:500px;width:100%;box-shadow:0 10px 40px #0000004d}.error-modal h2{margin:0 0 1rem;color:var(--text-primary, #000);font-size:1.5rem}.error-modal-description{color:var(--text-secondary, #666);margin-bottom:1.5rem;line-height:1.6}.error-modal-details{background:var(--bg-secondary, #f5f5f5);border-radius:.5rem;padding:1rem;margin-bottom:1.5rem}.error-modal-details h3{margin:0 0 .5rem;font-size:.875rem;color:var(--text-primary, #000)}.error-modal-details pre{margin:0;font-size:.75rem;color:#d32f2f;white-space:pre-wrap;word-break:break-word}.error-modal-actions{display:flex;gap:.75rem;justify-content:flex-end}.error-modal-button{padding:.75rem 1.5rem;border:none;border-radius:.5rem;font-size:1rem;cursor:pointer;transition:all .2s}.error-modal-button:disabled{opacity:.5;cursor:not-allowed}.error-modal-button-primary{background:#007bff;color:#fff}.error-modal-button-primary:hover:not(:disabled){background:#0056b3}.error-modal-button-secondary{background:var(--bg-secondary, #f5f5f5);color:var(--text-primary, #000)}.error-modal-button-secondary:hover:not(:disabled){background:var(--bg-tertiary, #e0e0e0)}.error-modal-success{text-align:center;padding:2rem 0}.error-modal-success svg{color:#4caf50;margin-bottom:1rem}.error-modal-success h3{margin:0 0 1rem;color:var(--text-primary, #000)}.error-modal-success p{margin:.5rem 0;color:var(--text-secondary, #666)}@media(max-width:480px){.error-modal{padding:1.5rem}.error-modal h2{font-size:1.25rem}.error-modal-actions{flex-direction:column-reverse}.error-modal-button{width:100%}}.app-header{position:sticky;top:0;z-index:100;background-color:var(--bg-primary);border-bottom:1px solid var(--border-color);padding:12px 16px;display:flex;align-items:center;justify-content:space-between;width:100%;max-width:100%}.header-logo{font-size:24px;font-weight:700;font-family:Billabong,Brush Script MT,cursive;background:none;border:none;color:var(--text-primary);cursor:pointer;padding:0;transition:opacity .2s;line-height:1}.header-logo:hover{opacity:.7}.header-logo .logo{width:6rem;object-fit:contain}.header-actions{display:flex;align-items:center;gap:.75rem}.header-messages-button,.header-user-button{background:none;border:none;color:var(--text-primary);cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center;transition:opacity .2s;border-radius:50%}.header-messages-button:hover,.header-user-button:hover{opacity:.7}.messages-icon{width:1.75rem;height:1.75rem}.user-avatar-small{width:2rem;height:2rem;border-radius:50%;background:linear-gradient(135deg,var(--accent-primary),#e1306c);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:600;cursor:pointer;transition:transform .2s}.user-avatar-small:hover{transform:scale(1.05)}.user-icon{width:1.75rem;height:1.75rem}@media(max-width:768px){.app-header{padding:10px 12px}.header-logo{font-size:22px}.user-avatar-small{width:28px;height:28px;font-size:13px}.user-icon,.messages-icon{width:24px;height:24px}}@media(max-width:480px){.app-header{padding:10px 12px}.header-logo{font-size:20px}.user-avatar-small{width:26px;height:26px;font-size:12px}.user-icon,.messages-icon{width:22px;height:22px}}.post-card{background:var(--bg-primary);margin-bottom:1rem}.post-card .post-header{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1rem}.post-card .post-author{display:flex;align-items:center;gap:.75rem;background:none;border:none;cursor:pointer;padding:0;text-align:left;transition:opacity .2s}.post-card .post-author:hover{opacity:.7}.post-card .post-avatar{width:2rem;height:2rem;border-radius:50%;overflow:hidden;background:var(--bg-tertiary);flex-shrink:0}.post-card .post-avatar img{width:100%;height:100%;object-fit:cover}.post-card .post-author-info{display:flex;flex-direction:column}.post-card .post-author-name{font-size:.875rem;font-weight:600;color:var(--text-primary)}.post-card .post-author-job{font-size:.75rem;color:var(--text-secondary)}.post-card .post-author-meta{font-size:.6875rem;color:var(--text-secondary)}.post-card .post-more-button{background:none;border:none;color:var(--text-primary);cursor:pointer;padding:.5rem;display:flex;align-items:center;justify-content:center;transition:opacity .2s}.post-card .post-more-button:hover{opacity:.7}.post-card .post-media{width:100%;aspect-ratio:1 / 1;background:var(--bg-tertiary);overflow:hidden}.post-card .post-media img{width:100%;height:100%;object-fit:cover}.post-card .post-media video{width:100%;height:100%;object-fit:cover}.post-card .post-actions{display:flex;align-items:center;justify-content:space-between;padding:.5rem 1rem}.post-card .post-actions-left{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:0rem}.post-card .post-actions-right{display:flex;align-items:center}.post-card .post-message-button{background:none;border:none;color:var(--text-primary);cursor:pointer;padding:.5rem;display:flex;align-items:center;gap:.375rem;transition:opacity .2s;font-size:.875rem}.post-card .post-message-button:hover{opacity:.7}.post-card .post-message-label{font-weight:800;color:#fff;margin-right:.25rem}.post-card .post-action-button{background:none;border:none;color:var(--text-primary);cursor:pointer;padding:.5rem;display:flex;align-items:center;justify-content:center;transition:all .2s}.post-card .post-action-button:hover{opacity:.7}.post-card .post-action-button.liked{animation:likeAnimation .3s ease-in-out}@keyframes likeAnimation{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.post-card .post-like-count{font-size:.875rem;font-weight:600;color:var(--text-primary);padding-left:.25rem}.post-card .post-caption{padding:0 1rem .5rem;font-size:.875rem;color:var(--text-primary);line-height:1.4;transition:opacity .2s}.post-card .post-caption:hover{opacity:.95}.post-card .post-caption-text{color:var(--text-primary);word-break:break-word}.post-card .post-caption-more-text{color:var(--text-secondary);font-weight:500}.post-card .post-comments-link{background:none;border:none;color:var(--text-secondary);font-size:.875rem;cursor:pointer;padding:0 1rem .5rem;text-align:left;transition:opacity .2s}.post-card .post-comments-link:hover{opacity:.7}.post-card .post-tags{padding:0 1rem .5rem;display:flex;flex-wrap:wrap;gap:.5rem}.post-card .post-tag{color:#0095f6;font-size:.875rem;cursor:pointer;transition:opacity .2s}.post-card .post-tag:hover{opacity:.7}.post-card .post-time{padding:0 1rem .875rem;font-size:.625rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.0125rem}.home-page{min-height:100vh;background:var(--bg-primary);display:flex;flex-direction:column}.home-container{flex:1;max-width:38.375rem;margin:0 auto;margin-top:1rem;width:100%;padding:0}.home-section{margin-bottom:2rem}.home-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;padding:0 1rem}.home-section-title{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0;padding:0}.home-section-link{background:none;border:none;font-size:.875rem;color:var(--text-secondary);cursor:pointer;padding:.25rem 0;transition:color .2s}.home-section-link:hover{color:var(--text-primary)}.home-posts-section{padding:0}.home-posts-scroll{display:flex;gap:1rem;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:.5rem;margin:0;padding-left:1rem;padding-right:1rem}.home-posts-scroll::-webkit-scrollbar{display:none}.home-posts-scroll::-webkit-scrollbar-track{background:transparent}.home-posts-scroll::-webkit-scrollbar-thumb{background:transparent}.home-posts-scroll::-webkit-scrollbar-button{display:none}.home-posts-scroll::-webkit-scrollbar-corner{display:none}.home-post-card-wrap{flex:0 0 min(85vw,20rem);max-width:20rem;scroll-snap-align:start;scroll-snap-stop:always}.home-post-card-wrap .post-card{height:100%;border-radius:.75rem;overflow:hidden;border:.0625rem solid var(--border-color);margin-bottom:0}.home-post-card-wrap:first-child{padding-left:1rem}.home-posts-empty,.home-actors-empty{padding:2rem 0;text-align:center;color:var(--text-secondary);font-size:.9375rem}.home-actors-list{list-style:none;margin:0;padding:0}.home-actors-list li{margin:0;padding:0}.home-actor-item{display:flex;align-items:center;gap:1rem;width:100%;padding:1rem;background:none;border:none;border-bottom:.0625rem solid var(--border-color);cursor:pointer;text-align:left;color:inherit;transition:background .2s}.home-actors-list li:last-child .home-actor-item{border-bottom:none}.home-actor-item:hover{background:var(--bg-secondary)}.home-actor-item:active{opacity:.9}.home-actor-avatar{width:3.5rem;height:3.5rem;border-radius:50%;overflow:hidden;background:var(--bg-tertiary);flex-shrink:0}.home-actor-avatar img{width:100%;height:100%;object-fit:cover}.home-actor-info{flex:1;min-width:0}.home-actor-name{font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:.25rem}.home-actor-job{font-size:.8125rem;color:var(--text-secondary);margin-bottom:.375rem}.home-actor-desc{font-size:.8125rem;color:var(--text-secondary);line-height:1.4}.home-actor-chevron{font-size:1.25rem;color:var(--text-secondary);flex-shrink:0;margin-left:.25rem}.home-loading,.home-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center}.home-loading p,.home-error p{color:var(--text-primary);font-size:1rem}.home-error p{color:var(--accent-primary);font-weight:500}.home-error-refresh{margin-top:.75rem;background:var(--bg-secondary);color:var(--text-primary);border:.0625rem solid var(--border-color);padding:.5rem 1rem;border-radius:.5rem;font-size:.875rem;cursor:pointer;transition:background .2s,opacity .2s}.home-error-refresh:hover{background:var(--bg-tertiary)}.home-footer{background:var(--bg-secondary);border-top:.0625rem solid var(--border-color);padding:2rem 1rem;text-align:center;margin-top:auto;max-width:38.375rem;margin-left:auto;margin-right:auto;width:100%}.home-footer .footer-links{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.home-footer .footer-link{background:none;border:none;color:var(--text-secondary);font-size:.75rem;cursor:pointer;padding:.25rem .5rem;transition:all .2s ease}.home-footer .footer-link:hover{color:var(--text-primary)}.home-footer .footer-separator{color:var(--text-secondary);font-size:.75rem;opacity:.5}.home-footer .footer-company-info{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:.5rem;margin:1rem 0}.home-footer .footer-company-info span{color:var(--text-secondary);font-size:.7rem;opacity:.7}.home-footer .footer-copyright{color:var(--text-secondary);font-size:.7rem;margin:0;opacity:.7}.home-footer .footer-version{color:var(--text-secondary);font-size:.7rem;margin:0;margin-top:1rem;opacity:.5}.feed-page{min-height:100vh;background:var(--bg-primary);display:flex;flex-direction:column}.feed-page.feed-container{flex:1;max-width:38.375rem;margin:0 auto;width:100%;padding-bottom:2rem}.feed-page .feed-posts{display:flex;flex-direction:column;gap:1rem}.feed-page .post-card{border-bottom:.5rem solid var(--bg-secondary);padding-bottom:1.5rem;margin-bottom:0}.feed-page .post-card:last-child{border-bottom:none;padding-bottom:1.5rem;margin-bottom:0}.feed-page .feed-loading,.feed-page .feed-error,.feed-page .feed-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center}.feed-page .feed-loading p,.feed-page .feed-error p{color:var(--text-primary);font-size:1rem}.feed-page .feed-error p{color:var(--accent-primary)}.feed-page .feed-error-message{font-weight:600;color:var(--accent-primary)}.feed-page .feed-error-refresh{margin-top:.75rem;background:var(--bg-secondary);color:var(--text-primary);border:.0625rem solid var(--border-color);padding:.4rem .9rem;border-radius:.5rem;font-size:.875rem;cursor:pointer;transition:background .2s,opacity .2s}.feed-page .feed-error-refresh:hover{background:var(--bg-tertiary)}.feed-page .feed-empty svg{color:var(--text-secondary);margin-bottom:1rem;opacity:.5}.feed-page .feed-empty h3{color:var(--text-primary);font-size:1.25rem;font-weight:600;margin-bottom:.5rem}.feed-page .feed-empty p{color:var(--text-secondary);font-size:.875rem}.feed-page .feed-footer{background:var(--bg-secondary);border-top:.0625rem solid var(--border-color);padding:2rem 1rem;text-align:center;margin-top:auto;max-width:38.375rem;margin-left:auto;margin-right:auto;width:100%}.feed-page .footer-links{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.feed-page .footer-link{background:none;border:none;color:var(--text-secondary);font-size:.75rem;cursor:pointer;padding:.25rem .5rem;transition:all .2s ease;text-decoration:none}.feed-page .footer-link:hover{color:var(--text-primary)}.feed-page .footer-separator{color:var(--text-secondary);font-size:.75rem;opacity:.5}.feed-page .footer-company-info{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:.5rem;margin:1rem 0}.feed-page .footer-company-info span{color:var(--text-secondary);font-size:.7rem;opacity:.7}.feed-page .footer-copyright{color:var(--text-secondary);font-size:.7rem;margin:0;opacity:.7}.feed-page .footer-version{color:var(--text-secondary);font-size:.7rem;margin:0;margin-top:1rem;opacity:.5}.page-header{display:flex;flex-direction:row;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:var(--bg-primary);border-bottom:.0625rem solid var(--border-color);position:sticky;top:0;z-index:100;min-height:3rem;gap:.5rem}.page-header-back-button{background:none;border:none;color:var(--text-primary);cursor:pointer;padding:.5rem;display:flex;align-items:center;justify-content:center;transition:opacity .2s;flex-shrink:0;width:2.5rem;height:2.5rem;margin:-.5rem 0}.page-header-back-button:hover{opacity:.7}.page-header-back-button svg{width:1.5rem;height:1.5rem}.page-header-title{font-size:1rem;font-weight:600;color:var(--text-primary);flex:1;text-align:center;margin:0;line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.page-header-right{display:flex;align-items:center;flex-shrink:0}.page-header-spacer{width:2.5rem;height:2.5rem}.profile-page{min-height:100vh;background:var(--bg-primary);max-width:38.375rem;margin:0 auto;width:100%}.profile-content{padding:.75rem}.profile-page .profile-top{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.profile-page .profile-avatar-large{width:4.375rem;height:4.375rem;border-radius:50%;overflow:hidden;background:var(--bg-tertiary);flex-shrink:0}.profile-page .profile-avatar-large img{width:100%;height:100%;object-fit:cover}.profile-page .profile-stats{display:flex;gap:1rem;flex:1}.profile-page .stat-item{display:flex;flex-direction:column;align-items:center}.profile-page .stat-value{font-size:1rem;font-weight:600;color:var(--text-primary)}.profile-page .stat-label{font-size:.8125rem;color:var(--text-secondary)}.profile-bio{margin-bottom:1.5rem}.profile-page .profile-fullname{font-size:.875rem;font-weight:600;color:var(--text-primary);margin-bottom:.25rem}.profile-page .profile-job{font-size:.875rem;color:var(--text-secondary);margin-bottom:.25rem}.profile-page .profile-meta{font-size:.8125rem;color:var(--text-secondary);margin-bottom:.5rem}.profile-page .profile-description{font-size:.875rem;color:var(--text-primary);line-height:1.4;white-space:pre-wrap}.profile-actions{display:flex;gap:.5rem;margin-bottom:1.5rem}.profile-page .action-button{flex:1;padding:.5rem 1rem;border:none;border-radius:.5rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s}.profile-page .action-button.primary{background:#0095f6;color:#fff}.profile-page .action-button.primary:hover{background:#0084e0}.profile-page .action-button.secondary{background:var(--bg-secondary);color:var(--text-primary);border:.0625rem solid var(--border-color)}.profile-page .action-button.secondary:hover{background:var(--bg-tertiary)}.profile-posts{border-top:.0625rem solid var(--border-color);margin-top:1.5rem}.profile-page .posts-header{display:flex;justify-content:center;border-bottom:.0625rem solid var(--border-color)}.profile-page .posts-tab{padding:1rem;color:var(--text-secondary);cursor:pointer;border-top:.0625rem solid transparent;margin-top:-.0625rem}.profile-page .posts-tab.active{color:var(--text-primary);border-top-color:var(--text-primary)}.profile-page .posts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.125rem;margin-top:.125rem}.profile-page .profile-post-item{position:relative;aspect-ratio:1 / 1;padding:0;border:none;background:var(--bg-secondary);cursor:pointer;overflow:hidden}.profile-page .profile-post-item:focus-visible{outline:.125rem solid var(--text-primary);outline-offset:-.125rem}.profile-page .profile-post-thumb,.profile-page .profile-post-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);color:var(--text-secondary)}.profile-page .profile-post-thumb img,.profile-page .profile-post-thumb video{width:100%;height:100%;object-fit:cover;display:block}.profile-page .profile-post-video-indicator{position:absolute;top:.4rem;right:.4rem;color:#fff;background:#00000080;border-radius:50%;width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center}.profile-page .no-posts{grid-column:1 / -1;padding:4rem 2rem;text-align:center;color:var(--text-secondary)}.profile-loading,.profile-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:2rem;text-align:center}.profile-page .profile-loading p,.profile-page .profile-error p{color:var(--text-primary);font-size:1rem;margin-bottom:1rem}.profile-page .profile-error .back-button{padding:.75rem 1.5rem;background:#0095f6;color:#fff;border:none;border-radius:.5rem;font-weight:600;cursor:pointer}.profile-page .profile-error .back-button:hover{background:#0084e0}.post-page{min-height:100vh;background:var(--bg-primary);display:flex;flex-direction:column}.post-page .post-container{flex:1;width:100%;max-width:100%;margin:0 auto;overflow-y:auto}.post-page .posts-list{display:flex;flex-direction:column;width:100%;background:var(--bg-primary)}.post-page .post-wrapper{width:100%;border-bottom:8px solid var(--bg-secondary)}.post-page .post-wrapper:last-child{border-bottom:none}.post-page .post-content{display:flex;flex-direction:column;width:100%;background:var(--bg-primary)}.post-page .post-loading,.post-page .post-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;flex:1;min-height:50vh}.post-page .post-loading p,.post-page .post-error p{color:var(--text-primary);font-size:14px;margin-bottom:16px}.post-page .post-error p{color:var(--accent-primary)}.post-page .back-button{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary);padding:10px 20px;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;transition:all .2s}.post-page .back-button:hover{background:var(--bg-tertiary)}.post-page .back-button:active{transform:scale(.98)}.guest-message-counter{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#ffffff1a;border-radius:1.25rem;margin:.5rem 0}.guest-message-counter .counter-text{color:#ffffffe6;font-size:.85rem}.guest-message-counter .counter-value{color:#ffd93d;font-weight:600}.guest-message-counter.warning .counter-value{color:#ff6b6b}.modal-overlay{position:fixed;inset:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out}.modal-content{background:linear-gradient(135deg,#1a1a2e,#16213e);border-radius:1rem;padding:2rem;max-width:25rem;width:90%;position:relative;box-shadow:0 1.25rem 3.75rem #00000080;border:.0625rem solid rgba(255,255,255,.1);animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(1.25rem);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{text-align:center;margin-bottom:1.25rem}.modal-header h2{color:#fff;font-size:1.5rem;margin:0}.modal-body{text-align:center;margin-bottom:1.5rem}.modal-message{color:#ff6b6b;font-size:1.1rem;margin:0 0 .75rem;font-weight:500}.modal-submessage{color:#ffffffb3;font-size:.9rem;margin:0}.modal-actions{display:flex;gap:.75rem}.modal-button{flex:1;padding:.875rem 1.25rem;border-radius:.5rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;border:none}.modal-button.primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.modal-button.primary:hover{transform:translateY(-.125rem);box-shadow:0 .5rem 1.25rem #667eea66}.modal-button.secondary{background:#ffffff1a;color:#fff;border:.0625rem solid rgba(255,255,255,.3)}.modal-button.secondary:hover{background:#fff3;transform:translateY(-.125rem)}.modal-close{position:absolute;top:.75rem;right:.75rem;background:none;border:none;color:#ffffff80;font-size:1.5rem;cursor:pointer;padding:.25rem .5rem;line-height:1;transition:color .2s ease}.modal-close:hover{color:#fff}.chat-input-area{width:100%;background:var(--bg-primary)}.chat-fetch-suggested-button-wrapper{padding:.75rem 1rem .5rem;display:flex;justify-content:flex-end}.chat-fetch-suggested-button{background:var(--bg-secondary);border:.0625rem solid var(--border-color);border-radius:1.25rem;padding:.5rem 1rem;color:var(--text-primary);font-size:.875rem;cursor:pointer;transition:background .15s ease,border-color .15s ease}.chat-fetch-suggested-button:hover{background:var(--bg-tertiary);border-color:var(--text-secondary)}.chat-fetch-suggested-button:active{opacity:.8}.chat-suggested-replies{display:flex;gap:.5rem;padding:.75rem 1rem .5rem;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.chat-suggested-replies-loading{padding:.75rem 1rem .5rem;color:var(--text-secondary);font-size:.875rem}.chat-suggested-replies::-webkit-scrollbar{display:none}.chat-suggested-reply-button{flex-shrink:0;background:var(--bg-secondary);border:.0625rem solid var(--border-color);border-radius:1.25rem;padding:.5rem 1rem;color:var(--text-primary);font-size:.875rem;cursor:pointer;max-width:300px;display:flex;align-items:center;justify-content:center}.chat-suggested-reply-button span{font-family:inherit;max-width:300px;word-break:break-all;text-align:left;text-overflow:ellipsis}.chat-suggested-reply-button:hover:not(:disabled){background:var(--bg-tertiary);border-color:var(--text-secondary)}.chat-suggested-reply-button:active:not(:disabled){opacity:.8}.chat-suggested-reply-button:disabled{opacity:.5;cursor:not-allowed}.chat-input-container{display:flex;align-items:flex-end;gap:.625rem;padding:.875rem 1rem;background:var(--bg-primary)}.chat-input{flex:1;background:var(--bg-secondary);border:.0625rem solid var(--border-color);border-radius:1.375rem;padding:.6875rem 1.125rem;color:var(--text-primary);font-size:.9375rem;resize:none;max-height:6.25rem;overflow-y:auto;font-family:inherit;line-height:1.5;transition:border-color .15s ease}.chat-input::placeholder{color:var(--text-secondary);opacity:.6}.chat-input:focus{outline:none;border-color:var(--text-secondary)}.chat-input:disabled{cursor:not-allowed}.chat-send-button{width:2.375rem;height:2.375rem;border-radius:50%;background:none;border:none;color:#0095f6;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:opacity .15s ease;padding:0}.chat-send-button:hover:not(:disabled){opacity:.7}.chat-send-button:active:not(:disabled){opacity:.5}.chat-send-button:disabled{opacity:.3;cursor:not-allowed}@media(max-width:48rem){.chat-input-container{padding:.625rem .875rem}.chat-suggested-replies,.chat-fetch-suggested-button-wrapper{padding:.625rem .875rem .5rem}}@media(max-width:30rem){.chat-input{font-size:.875rem;padding:.5rem .875rem}.chat-input-container{padding:.5rem .75rem}.chat-suggested-replies{padding:.5rem .75rem .375rem}.chat-suggested-reply-button{font-size:.8125rem;padding:.4375rem .875rem}.chat-fetch-suggested-button-wrapper{padding:.5rem .75rem .375rem}.chat-fetch-suggested-button{font-size:.8125rem;padding:.4375rem .875rem}}.chat-messages-container{flex:1;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;background:var(--bg-primary);min-height:0;display:flex;flex-direction:column;justify-content:flex-end}.chat-messages{padding:1rem;display:flex;flex-direction:column;gap:.5rem}.chat-message{display:flex;gap:.5rem;align-items:flex-end}.chat-message.user{flex-direction:row-reverse}.chat-message.system{justify-content:center}.chat-message-avatar{width:1.75rem;height:1.75rem;border-radius:50%;overflow:hidden;background:var(--bg-tertiary);flex-shrink:0}.chat-message-avatar img{width:100%;height:100%;object-fit:cover}.chat-message-bubble{max-width:70%;padding:.625rem .875rem;border-radius:1.125rem;position:relative;word-wrap:break-word;overflow-wrap:break-word}.chat-message.user .chat-message-bubble{background:#0095f6;color:#fff;border-bottom-right-radius:.25rem;box-shadow:0 .0625rem .125rem #0000001a}.chat-message.bot .chat-message-bubble{background:var(--bg-secondary);color:var(--text-primary);border:.0625rem solid var(--border-color);border-bottom-left-radius:.25rem}.chat-message.system .chat-message-bubble{background:var(--bg-tertiary);color:var(--text-secondary);font-size:.8125rem;max-width:85%;text-align:center}.chat-message-text{font-size:.9375rem;line-height:1.4;margin-bottom:.25rem}.chat-message-tts-icon{display:inline-flex;align-items:center;margin-right:.375rem;font-size:.9em}.chat-message-expression{opacity:.5;font-style:normal;font-size:.875rem;margin:0 .125rem}.chat-message-passage{opacity:.5;font-style:italic;font-size:.875rem;margin:0 .125rem}.chat-message-bubble.clickable{cursor:pointer;transition:background-color .2s ease}.chat-message.bot .chat-message-bubble.clickable:hover{background:var(--bg-tertiary)}.chat-message.bot .chat-message-bubble.clickable:active{transform:scale(.98)}.chat-message-asset{display:block;width:100%;max-width:18rem;height:auto;border-radius:.75rem;margin-top:.375rem}.chat-message-asset-wrapper{position:relative;display:inline-block;margin-top:.375rem;border-radius:.75rem;overflow:hidden}.chat-message-asset-wrapper.locked{cursor:pointer}.chat-message-asset-dim{position:absolute;inset:0;background:#00000059}.chat-message-asset-open{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#000000a6;color:#fff;font-size:.8125rem;padding:.25rem .5rem;border-radius:.5rem}.chat-message-asset-credit{position:absolute;right:.375rem;bottom:.375rem;background:#000000bf;color:#fff;font-size:.75rem;padding:.2rem .35rem;border-radius:.5rem}.chat-message-time{font-size:.6875rem;opacity:.7}.chat-message.user .chat-message-time{text-align:right}.chat-message-bubble.typing{padding:.875rem 1rem;background:var(--bg-secondary);border:.0625rem solid var(--border-color)}.chat-typing-indicator{display:flex;gap:.25rem;align-items:center}.chat-typing-indicator span{width:.5rem;height:.5rem;border-radius:50%;background:var(--text-secondary);animation:typingBounce 1.4s infinite}.chat-typing-indicator span:nth-child(2){animation-delay:.2s}.chat-typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typingBounce{0%,60%,to{transform:translateY(0);opacity:.7}30%{transform:translateY(-.625rem);opacity:1}}.chat-input-wrapper{position:sticky;left:0;right:0;bottom:0;z-index:10;width:100%;background:var(--bg-primary);box-shadow:0 -.125rem .5rem #00000014;padding-bottom:env(safe-area-inset-bottom,0)}.chat-input-inner{max-width:38.375rem;margin:0 auto;width:100%;background:var(--bg-primary)}@media(max-width:48rem){.chat-messages{padding:.875rem}.chat-message-bubble{max-width:75%}}@media(max-width:30rem){.chat-messages{padding:.75rem;gap:.4375rem}.chat-message-bubble{max-width:80%;padding:.5rem .75rem}.chat-message-text{font-size:.875rem}.chat-message-time{font-size:.625rem}.chat-message-avatar{width:1.5rem;height:1.5rem}}.episode-selector-overlay{position:fixed;inset:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:1001;padding:20px}.episode-selector-modal{background:#fff;border-radius:16px;width:100%;max-width:500px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 10px 40px #0003}.episode-selector-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e5e7eb}.episode-selector-header h2{margin:0;font-size:20px;font-weight:600;color:#111827}.episode-selector-close{background:none;border:none;padding:4px;cursor:pointer;color:#6b7280;border-radius:8px;transition:all .2s}.episode-selector-close:hover{background:#f3f4f6;color:#111827}.episode-selector-content{flex:1;overflow-y:auto;padding:16px 24px}.episode-selector-loading{text-align:center;padding:40px 20px;color:#6b7280;font-size:14px}.episode-selector-empty{text-align:center;padding:40px 20px}.episode-selector-empty p{margin:0 0 8px;color:#111827;font-size:15px}.episode-selector-empty-sub{color:#6b7280;font-size:13px}.episode-selector-list{display:flex;flex-direction:column;gap:12px}.episode-item{padding:16px;border:2px solid #e5e7eb;border-radius:12px;cursor:pointer;transition:all .2s;background:#fff}.episode-item:hover,.episode-item.selected{border-color:#3b82f6;background:#eff6ff}.episode-item-header{display:flex;align-items:center;gap:12px;margin-bottom:8px}.episode-item-radio{width:20px;height:20px;border:2px solid #d1d5db;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s}.episode-item.selected .episode-item-radio{border-color:#3b82f6}.episode-item-radio-dot{width:10px;height:10px;border-radius:50%;background:#3b82f6}.episode-item-title{font-size:16px;font-weight:600;color:#111827;flex:1}.episode-item-description{font-size:14px;color:#6b7280;line-height:1.5;margin-left:32px}.episode-selector-footer{display:flex;gap:12px;padding:16px 24px;border-top:1px solid #e5e7eb}.episode-selector-button{flex:1;padding:12px 24px;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s}.episode-selector-button.cancel{background:#f3f4f6;color:#374151}.episode-selector-button.cancel:hover{background:#e5e7eb}.episode-selector-button.confirm{background:#3b82f6;color:#fff}.episode-selector-button.confirm:hover{background:#2563eb}.episode-selector-button:disabled{opacity:.5;cursor:not-allowed}@media(max-width:640px){.episode-selector-modal{max-width:100%;max-height:90vh;border-radius:16px 16px 0 0}.episode-selector-header{padding:16px 20px}.episode-selector-header h2{font-size:18px}.episode-selector-content{padding:12px 20px}.episode-item{padding:14px}.episode-item-title{font-size:15px}.episode-item-description{font-size:13px}.episode-selector-footer{padding:12px 20px}.episode-selector-button{padding:10px 20px;font-size:14px}}.asset-gallery-modal-backdrop{position:fixed;inset:0;background:#000000e6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .2s ease-out}.asset-gallery-modal{background:#fff;border-radius:16px;width:90%;max-width:900px;max-height:85vh;display:flex;flex-direction:column;overflow:hidden;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}.asset-gallery-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid #e0e0e0}.asset-gallery-header h2{margin:0;font-size:1.5rem;font-weight:600;color:#333}.asset-gallery-close{background:none;border:none;cursor:pointer;padding:.5rem;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s}.asset-gallery-close:hover{background-color:#f5f5f5}.asset-gallery-close svg{color:#666}.asset-gallery-content{flex:1;overflow-y:auto;padding:1.5rem}.asset-gallery-loading,.asset-gallery-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;color:#666}.loading-spinner{width:40px;height:40px;border:4px solid #f0f0f0;border-top-color:#007bff;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.asset-gallery-section{margin-bottom:2rem}.asset-gallery-section:last-child{margin-bottom:0}.asset-gallery-section-title{font-size:1.125rem;font-weight:600;color:#333;margin:0 0 1rem;padding-left:.25rem}.asset-gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem}@media(max-width:600px){.asset-gallery-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.75rem}}.asset-gallery-item{position:relative;aspect-ratio:1;border-radius:12px;overflow:hidden;cursor:pointer;transition:transform .2s,box-shadow .2s;background:#f5f5f5}.asset-gallery-item:hover{transform:scale(1.05);box-shadow:0 4px 12px #00000026}.asset-gallery-item img{width:100%;height:100%;object-fit:cover}.asset-gallery-item.locked img{filter:brightness(.7)}.asset-gallery-item-lock{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;pointer-events:none}.asset-gallery-item-label{position:absolute;top:.5rem;right:.5rem;background:#0009;color:#fff;padding:.25rem .5rem;border-radius:12px;font-size:.75rem;font-weight:600}.asset-detail-view{position:absolute;inset:0;background:#fff;display:flex;flex-direction:column;animation:slideInRight .3s ease-out}.asset-detail-back{position:absolute;top:1rem;left:1rem;background:#ffffffe6;border:none;border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10;transition:background-color .2s;box-shadow:0 2px 8px #0000001a}.asset-detail-back:hover{background:#fff}.asset-detail-content{flex:1;overflow-y:auto;display:flex;flex-direction:column}.asset-detail-image-wrapper{position:relative;width:100%;max-height:60vh;background:#000;display:flex;align-items:center;justify-content:center}.asset-detail-image-wrapper img{max-width:100%;max-height:60vh;object-fit:contain}.asset-detail-lock-overlay{position:absolute;inset:0;background:#00000080;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;gap:1rem}.asset-detail-lock-overlay p{font-size:1rem;margin:0}.asset-detail-info{padding:1.5rem;border-top:1px solid #e0e0e0}.asset-detail-info h3{margin:0 0 .5rem;font-size:1.25rem;font-weight:600;color:#333}.asset-detail-info p{margin:0;color:#666;line-height:1.6}.asset-detail-credit{padding:1rem 1.5rem;background:#f8f9fa;color:#666;font-size:.875rem;text-align:center}@media(max-width:768px){.asset-gallery-modal{width:95%;max-height:90vh;border-radius:12px}.asset-gallery-header{padding:1rem}.asset-gallery-header h2{font-size:1.25rem}.asset-gallery-content{padding:1rem}.asset-gallery-section-title{font-size:1rem}.asset-detail-info{padding:1rem}.asset-detail-info h3{font-size:1.125rem}}.arousal-gauge{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1rem;background:var(--bg-secondary);border-radius:.75rem;border:1px solid var(--border-color)}.arousal-stage-circles{display:flex;gap:.5rem;align-items:center;justify-content:center}.arousal-circle{width:2rem;height:2rem;border-radius:50%;border:2px solid #ddd;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;color:var(--text-primary);transition:all .3s ease;position:relative}.arousal-circle.active{transform:scale(1.2);box-shadow:0 0 12px #ff333380;animation:pulse-glow 1.5s ease-in-out infinite;font-size:.875rem}.arousal-circle.passed{opacity:.7}.arousal-circle.clickable{cursor:pointer;transition:all .2s ease}.arousal-circle.clickable:hover{transform:scale(1.15);box-shadow:0 0 16px #f339}.arousal-circle.clickable:active{transform:scale(1.05)}@keyframes pulse-glow{0%,to{box-shadow:0 0 12px #ff333380}50%{box-shadow:0 0 20px #f33c}}.arousal-stage-name{display:flex;flex-direction:column;align-items:center;gap:.25rem;text-align:center}.stage-name-ko{font-size:1.125rem;font-weight:700;letter-spacing:.05em}.stage-name-en{font-size:.75rem;font-weight:500;opacity:.7;text-transform:uppercase;letter-spacing:.1em}.arousal-progress-bar{width:100%;height:.5rem;background:#ffffff1a;border-radius:.25rem;overflow:hidden;position:relative}.arousal-progress-fill{height:100%;background:linear-gradient(90deg,transparent 0%,currentColor 100%);border-radius:.25rem;transition:width .5s ease;position:relative;animation:shimmer 2s ease-in-out infinite}@keyframes shimmer{0%,to{opacity:.8}50%{opacity:1}}@media(max-width:48rem){.arousal-gauge{padding:.75rem;gap:.5rem}.arousal-circle{width:1.75rem;height:1.75rem;font-size:.6875rem}.arousal-circle.active{font-size:.75rem}.stage-name-ko{font-size:1rem}.stage-name-en{font-size:.6875rem}}@media(max-width:30rem){.arousal-circle{width:1.5rem;height:1.5rem;font-size:.625rem}.arousal-circle.active{font-size:.6875rem}.stage-name-ko{font-size:.875rem}.stage-name-en{font-size:.625rem}}.chat-page{display:flex;flex-direction:column;min-height:100dvh;min-height:100vh;background:var(--bg-primary);max-width:38.375rem;margin:0 auto;width:100%}.chat-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:var(--bg-primary);border-bottom:.0625rem solid var(--border-color);gap:.75rem}.chat-page .chat-back-button{background:none;border:none;color:var(--text-primary);cursor:pointer;padding:.5rem;display:flex;align-items:center;justify-content:center;transition:opacity .2s}.chat-page .chat-back-button:hover{opacity:.7}.chat-page .chat-header-spacer{flex:1}.chat-page .chat-actions{display:flex;align-items:center;gap:.5rem}.chat-page .chat-action-button{background:none;border:none;color:var(--text-primary);cursor:pointer;padding:.5rem;display:flex;align-items:center;justify-content:center;transition:opacity .2s;font-size:1.25rem}.chat-page .chat-action-button:hover{opacity:.7}.chat-page .chat-action-button.active{color:var(--primary-color)}.chat-menu-overlay{position:fixed;inset:0;background:#00000080;z-index:1000;animation:fadeIn .2s ease-out}.chat-menu-panel{position:absolute;top:0;right:0;bottom:0;width:85%;max-width:20rem;background:var(--bg-primary);border-left:.0625rem solid var(--border-color);animation:slideInRight .3s ease-out;overflow-y:hidden;display:flex;flex-direction:column}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}.chat-menu-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:.0625rem solid var(--border-color);background:var(--bg-primary);flex-shrink:0}.chat-menu-header h3{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin:0}.chat-menu-close{background:none;border:none;color:var(--text-primary);cursor:pointer;padding:.5rem;display:flex;align-items:center;justify-content:center;transition:opacity .2s}.chat-menu-close:hover{opacity:.7}.chat-menu-content{flex:1;padding:1rem 1.5rem;overflow-y:auto}.chat-menu-section{margin-bottom:1.5rem}.chat-menu-section:last-child{margin-bottom:0}.chat-menu-section-title{font-size:.875rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin:0 0 .75rem}.chat-menu-button-primary{width:100%;padding:.75rem 1rem;background:transparent;color:#fff;border:.125rem solid #fff;border-radius:.5rem;font-size:.9375rem;font-weight:600;cursor:pointer;transition:background .2s,color .2s,border-color .2s,opacity .2s}.chat-menu-button-primary:hover:not(:disabled){background:#ffffff26;color:#fff;border-color:#fff}.chat-menu-button-primary:disabled{opacity:.5;cursor:not-allowed}.chat-menu-toggle-item{padding:.75rem 0;border-bottom:1px solid var(--border-color)}.chat-menu-toggle-item:last-child{border-bottom:none}.chat-menu-toggle-label{display:flex;align-items:center;justify-content:space-between;cursor:pointer;font-size:.9375rem;color:var(--text-primary);-webkit-user-select:none;user-select:none}.chat-menu-arousal-gauge{padding:.5rem 0}.chat-menu-session-list{display:flex;flex-direction:column;gap:.5rem;max-height:20rem;overflow-y:auto}.chat-menu-session-item{display:flex;align-items:center;justify-content:space-between;padding:.75rem;background:var(--bg-secondary);border-radius:.5rem;border:1px solid var(--border-color);transition:background .2s}.chat-menu-session-item.active{background:var(--bg-tertiary);border-color:var(--primary-color)}.chat-menu-session-item-new{width:100%;cursor:pointer;font:inherit;text-align:left;color:#fff;border:.125rem solid rgba(255,255,255,.15);background:transparent;border-radius:.5rem;font-size:.875rem;font-weight:600;transition:background .2s,opacity .2s}.chat-menu-session-item-new:hover:not(:disabled){background:#ffffff26}.chat-menu-session-item-new:disabled{opacity:.5;cursor:not-allowed}.chat-menu-session-item-new .chat-menu-session-info{cursor:inherit}.chat-menu-session-info{flex:1;cursor:pointer;min-width:0}.chat-menu-session-title{font-size:.875rem;font-weight:600;color:var(--text-primary);margin-bottom:.25rem;display:flex;align-items:center;gap:.375rem}.chat-menu-session-episode-badge{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;background:#4caf50;border:.125rem solid var(--bg-primary, #1a1a1a);border-radius:50%;font-size:.875rem;line-height:1;box-shadow:0 .125rem .5rem #0003}.chat-menu-session-meta{font-size:.75rem;color:var(--text-secondary);display:flex;align-items:center;flex-wrap:wrap;gap:.125rem;min-width:0}.chat-menu-session-episode-title{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary)}.chat-menu-session-type{color:var(--text-tertiary, #888)}.chat-menu-session-meta-sep{color:var(--text-tertiary, #888);flex-shrink:0}.chat-menu-session-delete{padding:.375rem .75rem;background:transparent;border:1px solid var(--border-color);color:var(--text-secondary);border-radius:.375rem;font-size:.75rem;cursor:pointer;transition:all .2s;flex-shrink:0;margin-left:.5rem}.chat-menu-session-delete:hover:not(:disabled){background:#f44336;border-color:#f44336;color:#fff}.chat-menu-session-delete:disabled{opacity:.5;cursor:not-allowed}.chat-top-sticky{position:sticky;top:0;z-index:1001;background:var(--bg-primary)}.chat-profile-layer{display:flex;align-items:center;gap:1rem;padding:1.5rem 1rem;background:var(--bg-primary);border-bottom:.0625rem solid var(--border-color);transition:background .2s}.chat-page .chat-profile-avatar{width:8rem;height:8rem;border-radius:50%;overflow:visible;background:var(--bg-tertiary);flex-shrink:0;box-shadow:0 .125rem .5rem #0000001a;position:relative}.chat-page .chat-profile-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%;overflow:hidden}.chat-page .chat-profile-avatar-badge{position:absolute;bottom:.25rem;right:.25rem;background:#4caf50;border:.125rem solid var(--bg-primary);border-radius:50%;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;font-size:1rem;box-shadow:0 .125rem .5rem #0003;z-index:1}.chat-page .chat-profile-info{display:flex;flex-direction:column;gap:.25rem;flex:1}.chat-profile-album-stats{display:flex;flex-direction:column;align-items:stretch;gap:.5rem;margin-top:.5rem;font-size:.75rem;color:var(--text-secondary)}.chat-profile-album-stats-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem}.chat-profile-album-stat strong{color:var(--text-primary);font-weight:600}.chat-profile-album-stats-loading{font-size:.6875rem;color:var(--text-tertiary, #888)}.chat-profile-album-stats-button{margin-top:.25rem;padding:.375rem .75rem;font-size:.75rem;font-weight:500;color:var(--text-primary);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.5rem;cursor:pointer;transition:background .2s,border-color .2s;align-self:flex-start}.chat-profile-album-stats-button:hover{background:var(--bg-tertiary);border-color:var(--text-tertiary, #888)}.chat-profile-actions{display:flex;flex-direction:column;gap:.75rem;justify-content:flex-end;flex-shrink:0}.chat-profile-action-button{background:var(--bg-secondary);border:.0625rem solid var(--border-color);color:var(--text-secondary);padding:.4rem .75rem;border-radius:.5rem;font-size:.75rem;cursor:pointer;transition:background .2s,color .2s,opacity .2s}.chat-profile-action-button:hover:not(:disabled){background:var(--bg-tertiary);color:var(--text-primary)}.chat-profile-action-button:disabled{opacity:.6;cursor:not-allowed}.chat-auto-suggest-toggle{display:flex;align-items:center;justify-content:flex-end}.chat-auto-suggest-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.75rem;color:var(--text-secondary);-webkit-user-select:none;user-select:none}.chat-toggle-switch{position:relative;width:2.5rem;height:1.25rem;background:var(--bg-tertiary);border:.0625rem solid var(--border-color);border-radius:1rem;transition:background .3s,border-color .3s;cursor:pointer}.chat-toggle-switch.active{background:#4caf50;border-color:#4caf50}.chat-toggle-slider{position:absolute;top:.125rem;left:.125rem;width:.875rem;height:.875rem;background:#fff;border-radius:50%;transition:transform .3s;box-shadow:0 .0625rem .125rem #0003}.chat-toggle-switch.active .chat-toggle-slider{transform:translate(1.25rem)}.chat-page .chat-profile-name{font-size:1.125rem;font-weight:700;color:var(--text-primary)}.chat-page .chat-profile-job{font-size:.8125rem;color:var(--text-secondary)}.chat-page .chat-profile-meta{font-size:.75rem;color:var(--text-secondary)}.chat-error-banner{background:var(--accent-primary);color:#fff;padding:.75rem 1rem;text-align:center;font-size:.875rem;display:flex;align-items:center;justify-content:center;gap:.75rem}.chat-error-message{font-weight:600}.chat-error-refresh{background:#ffffff26;color:#fff;border:.0625rem solid rgba(255,255,255,.4);padding:.35rem .75rem;border-radius:.5rem;font-size:.8125rem;cursor:pointer;transition:background .2s,opacity .2s}.chat-error-refresh:hover{background:#ffffff40}.chat-guest-counter,.chat-credit-balance{background:var(--bg-secondary);padding:.625rem 1rem;text-align:center;font-size:.8125rem;color:var(--text-secondary);cursor:pointer;transition:background .2s;border-bottom:.0625rem solid var(--border-color)}.chat-page .chat-guest-counter:hover,.chat-page .chat-credit-balance:hover{background:var(--bg-tertiary)}.chat-page .chat-guest-counter.warning{color:var(--accent-primary);font-weight:600}.chat-arousal-gauge-container{padding:.75rem 1rem;background:var(--bg-primary);border-bottom:.0625rem solid var(--border-color);animation:chatFadeInDown .4s ease-out}@keyframes chatFadeInDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.chat-loading{display:flex;align-items:center;justify-content:center;min-height:100dvh;min-height:100vh;color:var(--text-primary)}@media(max-width:48rem){.chat-header,.chat-menu-header{padding:.625rem .875rem}.chat-profile-layer{padding:1.25rem .875rem}.chat-page .chat-profile-avatar{width:7rem;height:7rem}.chat-page .chat-profile-name{font-size:1rem}.chat-page .chat-profile-job{font-size:.75rem}}@media(max-width:30rem){.chat-page .chat-header,.chat-menu-header{padding:.5rem .75rem}.chat-profile-layer{padding:1rem .75rem;gap:.75rem}.chat-page .chat-profile-avatar{width:6rem;height:6rem}.chat-page .chat-profile-name{font-size:.9375rem}.chat-page .chat-profile-job{font-size:.6875rem}}.dm-list-page{min-height:100vh;background:var(--bg-primary);max-width:38.375rem;margin:0 auto;width:100%;display:flex;flex-direction:column}.dm-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:var(--bg-primary);border-bottom:.0625rem solid var(--border-color);position:sticky;top:0;z-index:100}.dm-list-page .back-button,.dm-list-page .user-avatar-button{background:none;border:none;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;transition:opacity .2s}.dm-list-page .back-button:hover,.dm-list-page .user-avatar-button:hover{opacity:.7}.dm-list-page .back-icon{width:1.5rem;height:1.5rem;color:var(--text-primary)}.dm-list-page .user-avatar-small{width:2rem;height:2rem;border-radius:50%;background:linear-gradient(135deg,var(--accent-primary),#e1306c);display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:600;color:#fff;transition:transform .2s}.dm-list-page .user-avatar-small:hover{transform:scale(1.05)}.dm-list-page .user-icon{width:1.75rem;height:1.75rem;color:var(--text-primary)}.dm-list-page .dm-title{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.dm-list-container{flex:1;overflow-y:auto}.dm-list-page .dm-list{display:flex;flex-direction:column}.dm-list-page .dm-item{display:flex;align-items:center;padding:.75rem 1rem;cursor:pointer;transition:background .2s;border-bottom:.0625rem solid var(--border-color);gap:.75rem}.dm-list-page .dm-item:hover{background:var(--bg-secondary)}.dm-list-page .dm-item:active{background:var(--bg-tertiary)}.dm-list-page .dm-avatar{width:3.5rem;height:3.5rem;border-radius:50%;overflow:hidden;background:var(--bg-tertiary);flex-shrink:0}.dm-list-page .dm-avatar img{width:100%;height:100%;object-fit:cover}.dm-list-page .dm-info{flex:1;min-width:0}.dm-list-page .dm-name{font-size:.875rem;font-weight:600;color:var(--text-primary);margin-bottom:.25rem}.dm-list-page .dm-preview{font-size:.875rem;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dm-list-page .dm-time{font-size:.75rem;color:var(--text-secondary);flex-shrink:0;margin-left:.5rem}.dm-loading,.dm-error,.dm-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center}.dm-list-page .dm-loading p,.dm-list-page .dm-error p{color:var(--text-primary);font-size:1rem}.dm-list-page .dm-error p{color:var(--accent-primary)}.dm-list-page .dm-empty svg{color:var(--text-secondary);margin-bottom:1rem;opacity:.5}.dm-list-page .dm-empty h3{color:var(--text-primary);font-size:1.25rem;font-weight:600;margin-bottom:.5rem}.dm-list-page .dm-empty p{color:var(--text-secondary);font-size:.875rem}.dm-footer{background:var(--bg-secondary);border-top:.0625rem solid var(--border-color);padding:2rem 1rem;text-align:center;margin-top:auto}.dm-list-page .footer-links{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.dm-list-page .footer-link{background:none;border:none;color:var(--text-secondary);font-size:.75rem;cursor:pointer;padding:.25rem .5rem;transition:all .2s ease;text-decoration:none}.dm-list-page .footer-link:hover{color:var(--text-primary)}.dm-list-page .footer-separator{color:var(--text-secondary);font-size:.75rem;opacity:.5}.dm-list-page .footer-copyright{color:var(--text-secondary);font-size:.7rem;margin:0;opacity:.7}@media(max-width:48rem){.dm-item{padding:.625rem .875rem}.dm-avatar{width:3.25rem;height:3.25rem}}@media(max-width:30rem){.dm-list-page .dm-header{padding:.625rem .75rem}.dm-list-page .dm-title{font-size:.9375rem}.dm-list-page .dm-item{padding:.5rem .75rem}.dm-list-page .dm-avatar{width:3rem;height:3rem}.dm-list-page .dm-name,.dm-list-page .dm-preview{font-size:.8125rem}.dm-list-page .footer-link{font-size:.7rem}.dm-list-page .footer-copyright{font-size:.65rem}}.intro-page{min-height:100vh;background:#fafafa;padding:0;overflow-x:hidden;max-width:38.375rem;margin:0 auto;width:100%}.intro-page .intro-header{text-align:center;padding:1rem;background:#fff;border-bottom:.0625rem solid #dbdbdb;position:sticky;top:0;z-index:100}.intro-page .login-status-icon{position:absolute;top:.75rem;right:1rem;width:2.5rem;height:2.5rem;border-radius:50%;border:none;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.intro-page .login-status-icon:hover{background:#0000000d;transform:scale(1.05)}.intro-page .login-status-icon:active{transform:scale(.95)}.intro-page .user-icon{width:1.5rem;height:1.5rem;color:#262626}.intro-page .user-avatar{width:100%;height:100%;border-radius:50%;background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888);display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:600;color:#fff}.intro-page .app-title{font-size:1.5rem;font-weight:600;color:#262626;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;letter-spacing:-.0187rem}.intro-page .app-subtitle{display:none}.intro-page .profiles-container{padding:0;width:100%;max-width:38.375rem;margin:0 auto;display:flex;flex-direction:column;gap:0;background:#fff}.intro-page .profile-card{margin-bottom:1.5rem;border-radius:0;overflow:hidden;cursor:pointer;transition:all .2s ease;box-shadow:none;width:100%;border:.0625rem solid #dbdbdb;border-left:none;border-right:none;background:#fff}.intro-page .profile-card.disabled{opacity:.3;pointer-events:none}.intro-page .profile-card:hover{transform:none;box-shadow:none}.intro-page .profile-image{position:relative;width:100%;aspect-ratio:1/1;background:#fafafa}.intro-page .profile-photo{width:100%;height:100%;object-fit:cover;object-position:center}.intro-page .profile-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#0009);padding:1.5rem 1rem 1rem;color:#fff}.intro-page .profile-info{flex:1}.intro-page .profile-name{font-size:1.2rem;font-weight:600;margin:0 0 .25rem;text-shadow:0 .0625rem .1875rem rgba(0,0,0,.5);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.intro-page .profile-job{font-size:.875rem;margin:0 0 .5rem;opacity:.95;font-weight:400}.intro-page .profile-message{font-size:.875rem;margin:0;opacity:.9;line-height:1.4}.intro-page .like-button{position:absolute;top:1rem;right:1rem;background:#0000004d;border:none;font-size:1.5rem;cursor:pointer;transition:all .2s ease;padding:.5rem;border-radius:50%;-webkit-backdrop-filter:blur(.625rem);backdrop-filter:blur(.625rem);width:2.75rem;height:2.75rem;display:flex;align-items:center;justify-content:center;display:none!important}.intro-page .like-button:hover{transform:scale(1.1);background:#00000080}.intro-page .like-button.liked{animation:heartBeat .6s ease-in-out}@keyframes heartBeat{0%{transform:scale(1)}25%{transform:scale(1.3)}50%{transform:scale(1.1)}75%{transform:scale(1.2)}to{transform:scale(1)}}.intro-page .loading-container,.intro-page .error-container{display:flex;justify-content:center;align-items:center;min-height:25rem;padding:2rem;text-align:center}.intro-page .loading-container p,.intro-page .error-container p{color:#262626;font-size:1rem}.intro-page .error-container p{color:#ed4956}.intro-page .intro-footer{background:#fff;border-top:.0625rem solid #dbdbdb;padding:2rem 1rem;text-align:center;margin-top:2rem}.intro-page .footer-links{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.intro-page .footer-link{background:none;border:none;color:#8e8e8e;font-size:.75rem;cursor:pointer;padding:.25rem .5rem;transition:all .2s ease;text-decoration:none}.intro-page .footer-link:hover{color:#262626}.intro-page .footer-separator{color:#8e8e8e;font-size:.75rem;opacity:.5}.intro-page .footer-copyright{color:#8e8e8e;font-size:.7rem;margin:0;opacity:.7}@media(max-width:48rem){.intro-page{max-width:100%}.intro-page .intro-header{padding:.75rem 1rem}.intro-page .app-title{font-size:1.375rem}.intro-page .profile-card{margin-bottom:1rem}.intro-page .profile-overlay{padding:1rem .875rem .875rem}.intro-page .profile-name{font-size:1.125rem}.intro-page .profile-job,.intro-page .profile-message{font-size:.8125rem}}@media(max-width:30rem){.intro-page .intro-header{padding:.625rem .75rem}.intro-page .app-title{font-size:1.25rem}.intro-page .profile-card{margin-bottom:.75rem}.intro-page .profile-overlay{padding:.875rem .75rem .75rem}.intro-page .profile-name{font-size:1rem}.intro-page .profile-job,.intro-page .profile-message{font-size:.75rem}.intro-page .footer-link{font-size:.7rem}.intro-page .footer-copyright{font-size:.65rem}}.name-input-page{min-height:100vh;background:#000;padding:1.25rem}.name-input-page .name-input-content{width:100%;max-width:31.25rem;margin:0 auto;color:#fff}.name-input-page .back-button{background:none;border:none;color:#fff;font-size:1rem;cursor:pointer;padding:.5rem;border-radius:.25rem;transition:background-color .3s ease;white-space:nowrap}.name-input-page .back-button:hover{background:#ffffff1a}.name-input-page .header-spacing{height:2rem}.name-input-page .selected-voice-info{text-align:center;margin-bottom:3rem;background:var(--bg-secondary);border-radius:.75rem;padding:2rem}.name-input-page .selected-avatar{width:5rem;height:5rem;border-radius:50%;margin:0 auto 1rem;display:flex;align-items:center;justify-content:center;overflow:hidden;border:.125rem solid #e9ecef}.name-input-page .profile-image{width:100%;height:100%;object-fit:cover;border-radius:50%}.name-input-page .selected-voice-info h2{font-size:1.5rem;font-weight:600;color:#fff;margin:0}.name-input-page .name-form{background:var(--bg-secondary);border-radius:.75rem;padding:3rem 2rem;color:#fff;text-align:center}.name-input-page .name-title{font-size:2rem;margin-bottom:.5rem;font-weight:700;color:#fff}.name-input-page .name-subtitle{font-size:1rem;color:#ccc;margin-bottom:2rem}.name-input-page .error-message{background:#fee;color:#c33;padding:.75rem 1rem;border-radius:.5rem;margin-bottom:1rem;font-size:.9rem}.name-input-page .name-input{width:100%;padding:1rem 1.5rem;font-size:1.2rem;border:.125rem solid #333333;border-radius:.5rem;outline:none;transition:all .3s ease;text-align:center;margin-bottom:2rem;box-sizing:border-box;background:#1a1a1a;color:#fff}.name-input-page .name-input:focus{border-color:#666;box-shadow:0 0 0 .1875rem #6666661a}.name-input-page .button-group{display:flex;flex-direction:column;gap:1rem}.name-input-page .join-button{width:100%;background:#fff;color:#000;border:.125rem solid #ffffff;padding:1rem 2rem;font-size:1.2rem;border-radius:.5rem;cursor:pointer;font-weight:600;transition:all .3s ease}.name-input-page .join-button:hover:not(:disabled){background:#f0f0f0;border-color:#f0f0f0}.name-input-page .join-button:disabled{opacity:.5;cursor:not-allowed}.name-input-page .realtime-button{width:100%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:.125rem solid transparent;padding:1rem 2rem;font-size:1.2rem;border-radius:.5rem;cursor:pointer;font-weight:600;transition:all .3s ease;position:relative;overflow:hidden}.name-input-page .realtime-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.name-input-page .realtime-button:hover:not(:disabled):before{left:100%}.name-input-page .realtime-button:hover:not(:disabled){transform:translateY(-.125rem);box-shadow:0 .5rem 1.5625rem #667eea4d}.name-input-page .realtime-button:disabled{opacity:.5;cursor:not-allowed}@media(max-width:48rem){.name-input-page .name-title{font-size:1.5rem}.name-input-page .name-form{padding:2rem 1.5rem}}.call-start-modal-overlay{position:fixed;inset:0;background:#000000d9;-webkit-backdrop-filter:blur(.625rem);backdrop-filter:blur(.625rem);display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .3s ease-out;transition:opacity .2s ease-out,visibility .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.call-start-modal-content{background:linear-gradient(135deg,#1a1a2ef2,#16213ef2);border-radius:1.875rem;padding:3rem 2.5rem;max-width:25rem;width:90%;position:relative;box-shadow:0 1.875rem 5rem #0009;border:.0625rem solid rgba(255,255,255,.1);animation:slideUpScale .4s cubic-bezier(.34,1.56,.64,1);display:flex;flex-direction:column;align-items:center;text-align:center;transition:transform .2s ease-out,opacity .2s ease-out}@keyframes slideUpScale{0%{transform:translateY(1.875rem) scale(.9);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.call-start-avatar-container{margin-bottom:1.5rem;position:relative}.call-start-avatar-ring{width:7.5rem;height:7.5rem;border-radius:50%;padding:.25rem;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;animation:pulseRing 2s ease-in-out infinite;box-shadow:0 0 1.875rem #667eea80}@keyframes pulseRing{0%,to{transform:scale(1);box-shadow:0 0 1.875rem #667eea80}50%{transform:scale(1.05);box-shadow:0 0 3.125rem #667eeacc}}.call-start-avatar{width:100%;height:100%;border-radius:50%;object-fit:cover;border:.1875rem solid rgba(255,255,255,.2)}.call-start-info{margin-bottom:1.5rem;width:100%}.call-start-name{color:#fff;font-size:1.8rem;font-weight:700;margin:0 0 .5rem;text-shadow:0 .125rem .625rem rgba(0,0,0,.3)}.call-start-description{color:#ffffffb3;font-size:.95rem;margin:0;line-height:1.5}.call-start-status{margin-bottom:2rem;width:100%}.call-start-connecting{display:flex;align-items:center;justify-content:center;gap:.75rem;color:#ffffffe6;font-size:1rem;font-weight:500}.call-start-ready{display:flex;align-items:center;justify-content:center;color:#4cd137;font-size:.95rem;font-weight:600}.call-start-spinner{width:1.25rem;height:1.25rem;border:.1875rem solid rgba(255,255,255,.3);border-top-color:#667eea;border-radius:50%;animation:spin 1s linear infinite}.call-start-actions{display:flex;flex-direction:column;gap:1rem;width:100%}.call-start-button{width:100%;padding:1rem 2rem;border-radius:.9375rem;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;border:none;display:flex;align-items:center;justify-content:center;gap:.75rem;position:relative}.call-start-button-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 .625rem 1.875rem #667eea66}.call-start-button-primary:hover:not(:disabled){transform:translateY(-.125rem);box-shadow:0 .9375rem 2.5rem #667eea99}.call-start-button-primary:active:not(:disabled){transform:translateY(0)}.call-start-button-primary:disabled{opacity:.7;cursor:not-allowed;transform:none}.call-start-button-secondary{background:#ffffff1a;color:#fff;border:.0625rem solid rgba(255,255,255,.3)}.call-start-button-secondary:hover{background:#fff3;border-color:#ffffff80}.call-start-button-icon{font-size:1.3rem;animation:phonePulse 2s ease-in-out infinite}@keyframes phonePulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.call-start-button-spinner{width:1.125rem;height:1.125rem;border:.125rem solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@media(max-width:30rem){.call-start-modal-content{padding:2rem 1.5rem;border-radius:1.25rem}.call-start-avatar-ring{width:6.25rem;height:6.25rem}.call-start-name{font-size:1.5rem}.call-start-description{font-size:.85rem}.call-start-button{padding:.875rem 1.5rem;font-size:1rem}}.call-page{position:fixed;inset:0;width:100%;height:100vh;height:100dvh;overflow:hidden;display:flex;flex-direction:column;max-width:38.375rem;margin:0 auto}.call-background{position:absolute;inset:0;width:100%;height:100%;background-size:cover;background-position:center;background-repeat:no-repeat;filter:blur(40px);transform:scale(1.1);z-index:0}.call-background-overlay{position:absolute;inset:0;width:100%;height:100%;background:linear-gradient(180deg,#0009,#000000bf,#000000d9);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);z-index:1}.call-status-bar{position:relative;z-index:10;display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;padding-top:max(1rem,env(safe-area-inset-top))}.call-status-time{color:#ffffffe6;font-size:.875rem;font-weight:500;letter-spacing:.5px}.call-status-credits{color:#fffc;font-size:.75rem;padding:.375rem .75rem;background:#ffffff26;border-radius:1rem;cursor:pointer;transition:all .2s ease;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.call-status-credits:hover{background:#ffffff40}.call-error-banner-iphone{position:relative;z-index:10;margin:0 1rem;padding:.75rem 1rem;background:#e74c3cf2;color:#fff;border-radius:.75rem;font-size:.875rem;text-align:center;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);animation:slideDown .3s ease-out}@keyframes slideDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.call-center-content{position:relative;z-index:10;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1.5rem}.call-caller-name{color:#fff;font-size:2rem;font-weight:300;letter-spacing:.5px;margin-bottom:.5rem;text-align:center;text-shadow:0 2px 8px rgba(0,0,0,.3)}.call-status-text{color:#fffc;font-size:1rem;font-weight:400;margin-bottom:3rem;text-align:center;text-shadow:0 1px 4px rgba(0,0,0,.3)}.call-avatar-large{position:relative;width:12rem;height:12rem;margin-bottom:2rem;transition:transform .3s ease}.call-avatar-large img{width:100%;height:100%;border-radius:50%;object-fit:cover;border:4px solid rgba(255,255,255,.3);box-shadow:0 8px 32px #0006;position:relative;z-index:2}.call-avatar-large.waiting-actor:before{content:"";position:absolute;inset:-6px;border-radius:50%;padding:4px;background:conic-gradient(from 0deg,#ffffffe6,#fff3 60%,#ffffff0d 70%,#ffffffe6);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:waiting-actor-border-spin 1.2s linear infinite;z-index:0;pointer-events:none}@keyframes waiting-actor-border-spin{to{transform:rotate(360deg)}}.call-avatar-glow{position:absolute;inset:10px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.4) 0%,rgba(255,255,255,.1) 50%,transparent 70%);z-index:1;animation:glow-pulse 2s ease-in-out infinite}.call-avatar-large.actor-speaking{animation:avatar-speak-pulse 1s ease-in-out infinite}.call-avatar-large.actor-speaking .call-avatar-glow{animation:glow-pulse-active 1s ease-in-out infinite}@keyframes glow-pulse{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}@keyframes avatar-speak-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}@keyframes glow-pulse-active{0%,to{opacity:.8;transform:scale(1);box-shadow:0 0 20px #4caf5080}50%{opacity:1;transform:scale(1.1);box-shadow:0 0 40px #4caf50cc}}.call-avatar-badge{position:absolute;bottom:.5rem;right:.5rem;width:2.5rem;height:2.5rem;background:#0095f6f2;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.25rem;border:3px solid rgba(0,0,0,.8);z-index:3;box-shadow:0 2px 8px #0000004d}.call-voice-indicator{position:absolute;bottom:1rem;left:50%;transform:translate(-50%);display:flex;align-items:center;justify-content:center}.call-voice-wave{display:flex;align-items:center;gap:.25rem}.call-voice-wave span{width:.25rem;height:1rem;background:#4caf50cc;border-radius:.125rem;animation:voice-wave 1s ease-in-out infinite}.call-voice-wave span:nth-child(1){animation-delay:0s}.call-voice-wave span:nth-child(2){animation-delay:.1s}.call-voice-wave span:nth-child(3){animation-delay:.2s}.call-voice-wave span:nth-child(4){animation-delay:.3s}.call-voice-wave span:nth-child(5){animation-delay:.4s}@keyframes voice-wave{0%,to{height:1rem}50%{height:2rem}}.call-actions-bottom{position:relative;z-index:10;padding:2rem 1.5rem;padding-bottom:max(2rem,env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:2rem}.call-action-icons{display:flex;justify-content:space-around;align-items:flex-start;gap:1rem}.call-action-icon-wrapper{display:flex;flex-direction:column;align-items:center;gap:.5rem}.call-action-icon{width:3.5rem;height:3.5rem;border-radius:50%;background:#ffffff26;border:none;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.call-action-icon:hover{background:#ffffff40;transform:scale(1.05)}.call-action-icon:active{transform:scale(.95)}.call-action-icon.active{background:#ffffffe6;color:#000c}.call-action-label{color:#ffffffe6;font-size:.75rem;font-weight:500;text-align:center;white-space:nowrap}.call-end-button-wrapper{display:flex;justify-content:center}.call-end-button{width:4.5rem;height:4.5rem;border-radius:50%;background:#ff3b30;border:none;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 16px #ff3b3066;position:relative}.call-end-button:before{content:"";position:absolute;inset:-8px;border-radius:50%;background:#ff3b3033;z-index:-1;animation:end-button-pulse 2s ease-in-out infinite}@keyframes end-button-pulse{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}.call-end-button:hover{background:#e5352c;transform:scale(1.05)}.call-end-button:active{transform:scale(.95)}.call-end-button:disabled{opacity:.6;cursor:not-allowed}.call-arousal-gauge-overlay{position:absolute;bottom:10rem;left:1rem;right:1rem;z-index:15;background:#00000080;border-radius:1rem;padding:1rem;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);animation:fadeInUp .4s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.arousal-dev-controls{display:flex;justify-content:center;margin-bottom:.5rem}.arousal-dev-toggle{padding:.375rem .75rem;border:1px solid rgba(255,255,255,.2);border-radius:.5rem;background:#ffffff1a;color:#fffc;font-size:.75rem;cursor:pointer;transition:all .2s ease;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.arousal-dev-toggle:hover{background:#fff3;border-color:#fff6}.arousal-dev-toggle.active{background:#0095f6e6;color:#fff;border-color:#0095f6;font-weight:600}.vad-status-indicator{position:fixed;top:50vw;left:0;width:100vw;background:#000c;color:#fff;padding:.5rem 1rem;border-radius:.5rem;font-size:.75rem;z-index:1000;text-align:center;pointer-events:none;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.vad-status{font-weight:600}.vad-status.speaking{color:#4caf50}.vad-status.short-silence{color:#f1c40f}.vad-status.ended{color:#3498db}.vad-status.silent{color:#95a5a6}@media(max-width:48rem){.call-caller-name{font-size:1.75rem}.call-status-text{font-size:.9375rem;margin-bottom:2.5rem}.call-avatar-large{width:10rem;height:10rem}.call-action-icon{width:3rem;height:3rem}.call-end-button{width:4rem;height:4rem}.call-actions-bottom{padding:1.5rem 1rem;gap:1.5rem}}@media(max-width:30rem){.call-caller-name{font-size:1.5rem}.call-status-text{font-size:.875rem;margin-bottom:2rem}.call-avatar-large{width:8rem;height:8rem}.call-action-icon{width:2.75rem;height:2.75rem}.call-action-icon svg{width:24px;height:24px}.call-action-label{font-size:.6875rem}.call-end-button{width:3.75rem;height:3.75rem}.call-end-button svg{width:28px;height:28px}.call-actions-bottom{padding:1rem .75rem;gap:1.25rem}.call-arousal-gauge-overlay{bottom:8rem}}@media(prefers-color-scheme:dark){.call-background-overlay{background:linear-gradient(180deg,#000000b3,#000000d9,#000000f2)}}@supports (padding: env(safe-area-inset-top)){.call-status-bar{padding-top:max(1rem,env(safe-area-inset-top))}.call-actions-bottom{padding-bottom:max(2rem,env(safe-area-inset-bottom))}}.call-menu-overlay{position:fixed;inset:0;background:#00000080;z-index:1000;animation:callMenuFadeIn .2s ease-out}@keyframes callMenuFadeIn{0%{opacity:0}to{opacity:1}}.call-menu-panel{position:absolute;top:0;right:0;bottom:0;width:85%;max-width:20rem;background:var(--bg-primary, #1a1a1a);border-left:1px solid var(--border-color, #333);animation:callMenuSlideIn .3s ease-out;overflow-y:hidden;display:flex;flex-direction:column}@keyframes callMenuSlideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.call-menu-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid var(--border-color, #333);flex-shrink:0}.call-menu-header h3{font-size:1.25rem;font-weight:700;color:var(--text-primary, #fff);margin:0}.call-menu-close{background:none;border:none;color:var(--text-primary, #fff);cursor:pointer;padding:.5rem;display:flex;align-items:center;justify-content:center}.call-menu-content{flex:1;padding:1rem 1.5rem;overflow-y:auto}.call-menu-section{margin-bottom:1.5rem}.call-menu-section-title{font-size:.875rem;font-weight:600;color:var(--text-secondary, #aaa);text-transform:uppercase;letter-spacing:.5px;margin:0 0 .75rem}.call-menu-session-list{display:flex;flex-direction:column;gap:.5rem;max-height:20rem;overflow-y:auto}.call-menu-session-item{display:flex;align-items:center;justify-content:space-between;padding:.75rem;background:var(--bg-secondary, #252525);border-radius:.5rem;border:1px solid var(--border-color, #333)}.call-menu-session-item.active{background:var(--bg-tertiary, #333);border-color:var(--primary-color, #4a90d9)}.call-menu-session-info{flex:1;cursor:pointer;min-width:0}.call-menu-session-title{font-size:.875rem;font-weight:600;color:var(--text-primary, #fff);margin-bottom:.25rem;display:flex;align-items:center;gap:.375rem}.call-menu-session-episode-badge{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;background:#4caf50;border:.125rem solid var(--bg-primary, #1a1a1a);border-radius:50%;font-size:.875rem;line-height:1;box-shadow:0 .125rem .5rem #0003}.call-menu-session-meta{font-size:.75rem;color:var(--text-secondary, #aaa);display:flex;align-items:center;flex-wrap:wrap;gap:.125rem;min-width:0}.call-menu-session-episode-title{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary, #fff)}.call-menu-session-type{color:var(--text-tertiary, #888)}.call-menu-session-meta-sep{color:var(--text-tertiary, #888);flex-shrink:0}.call-menu-session-delete{padding:.375rem .75rem;background:transparent;border:1px solid var(--border-color, #333);color:var(--text-secondary, #aaa);border-radius:.375rem;font-size:.75rem;cursor:pointer;flex-shrink:0;margin-left:.5rem}.call-menu-session-delete:hover:not(:disabled){background:#f44336;border-color:#f44336;color:#fff}.call-menu-session-delete:disabled{opacity:.5;cursor:not-allowed}.end-page{min-height:100vh;background:#000;padding:1.25rem}.end-page .end-content{width:100%;max-width:31.25rem;margin:0 auto;color:#fff}.end-page .back-button{background:none;border:none;color:#fff;font-size:1rem;cursor:pointer;padding:.5rem;border-radius:.25rem;transition:background-color .3s ease;white-space:nowrap}.end-page .back-button:hover{background:#ffffff1a}.end-page .header-spacing{height:2rem}.end-page .selected-voice-info{text-align:center;margin-bottom:3rem;background:var(--bg-secondary);border-radius:.75rem;padding:2rem}.end-page .selected-avatar{width:5rem;height:5rem;border-radius:50%;margin:0 auto 1rem;display:flex;align-items:center;justify-content:center;overflow:hidden;border:.125rem solid #e9ecef}.end-page .profile-image{width:100%;height:100%;object-fit:cover;border-radius:50%}.end-page .selected-voice-info h2{font-size:1.5rem;font-weight:600;color:#fff;margin:0}.end-page .summary-user-name{font-size:1rem;color:#ccc;margin:.5rem 0 1rem}.end-page .summary-duration{background:#ffffff1a;border-radius:.5rem;padding:.75rem 1rem;display:flex;justify-content:center;align-items:center;gap:.5rem;margin-top:1rem}.end-page .duration-label{font-size:.9rem;color:#ccc}.end-page .duration-value{font-size:1rem;font-weight:600;color:#fff}.end-page .end-form{background:var(--bg-secondary);border-radius:.75rem;padding:3rem 2rem;color:#fff;text-align:center}.end-page .end-icon{font-size:3rem;margin-bottom:1.5rem}.end-page .end-title{font-size:2rem;margin-bottom:.5rem;font-weight:700;color:#fff}.end-page .end-subtitle{font-size:1rem;color:#ccc;margin-bottom:2rem}.end-page .end-actions{display:flex;flex-direction:column;gap:1rem}.end-page .join-button{width:100%;background:#fff;color:#000;border:.125rem solid #ffffff;padding:1rem 2rem;font-size:1.2rem;border-radius:.5rem;cursor:pointer;font-weight:600;transition:all .3s ease}.end-page .join-button:hover:not(:disabled){background:#f0f0f0;border-color:#f0f0f0}.end-page .join-button:disabled{opacity:.5;cursor:not-allowed}.end-page .home-button{width:100%;background:transparent;color:#fff;border:.125rem solid #333333;padding:1rem 2rem;font-size:1.2rem;border-radius:.5rem;cursor:pointer;font-weight:600;transition:all .3s ease}.end-page .home-button:hover{background:#333;border-color:#333}@media(max-width:48rem){.end-page .end-title{font-size:1.5rem}.end-page .end-form{padding:2rem 1.5rem}}.login-page{min-height:100vh;background:var(--bg-primary);padding:1.25rem;display:flex;align-items:center;justify-content:center}.login-page .login-content{width:100%;max-width:25rem;margin:0 auto}.login-page .login-header{text-align:center;margin-bottom:2rem}.login-page .login-title{font-size:2.5rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem;background:var(--gradient-accent);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.login-page .login-subtitle{font-size:1rem;color:var(--text-secondary);margin:0}.login-page .login-form{background:var(--bg-secondary);border-radius:.75rem;padding:2rem}.login-page .form-group{margin-bottom:1.5rem}.login-page .form-group label{display:block;font-size:.9rem;font-weight:500;color:var(--text-primary);margin-bottom:.5rem}.login-page .form-group input[type=email],.login-page .form-group input[type=password],.login-page .form-group input[type=text]{width:100%;padding:.875rem 1rem;font-size:1rem;border:.125rem solid var(--border-color);border-radius:.5rem;outline:none;transition:all .3s ease;background:var(--bg-tertiary);color:var(--text-primary);box-sizing:border-box}.login-page .form-group input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 .1875rem #ff6b6b1a}.login-page .form-group input.error{border-color:#f44}.login-page .form-group input::placeholder{color:var(--text-muted)}.login-page .error-message{display:block;color:#f44;font-size:.8rem;margin-top:.5rem}.login-page .api-error-message{background:#ff44441a;border:.0625rem solid rgba(255,68,68,.3);color:#f44;padding:.75rem 1rem;border-radius:.5rem;margin-bottom:1rem;font-size:.9rem;text-align:center}.login-page .checkbox-group{margin-bottom:1.5rem}.login-page .checkbox-label{display:flex;align-items:center;cursor:pointer}.login-page .checkbox-label input[type=checkbox]{width:1.125rem;height:1.125rem;margin-right:.5rem;accent-color:var(--accent-primary);cursor:pointer}.login-page .checkbox-text{font-size:.9rem;color:var(--text-secondary)}.login-page .login-button{width:100%;background:var(--text-primary);color:var(--bg-primary);border:.125rem solid var(--text-primary);padding:1rem;font-size:1.1rem;border-radius:.5rem;cursor:pointer;font-weight:600;transition:all .3s ease}.login-page .login-button:hover:not(:disabled){background:#f0f0f0;border-color:#f0f0f0}.login-page .login-button:disabled{opacity:.5;cursor:not-allowed}.login-page .login-tabs{display:flex;background:var(--bg-tertiary);border-radius:.5rem;padding:.25rem;margin-bottom:1.5rem;gap:.25rem}.login-page .login-tab{flex:1;padding:.75rem 1rem;border:none;border-radius:.375rem;background:transparent;color:var(--text-secondary);font-size:.95rem;font-weight:500;cursor:pointer;transition:all .3s ease;position:relative}.login-page .login-tab:hover{color:var(--text-primary)}.login-page .login-tab.active{background:var(--bg-secondary);color:var(--text-primary);font-weight:600;box-shadow:0 .125rem .25rem #0000001a}.login-page .login-footer{text-align:center;margin-top:1.5rem}.login-page .login-footer p{color:var(--text-secondary);font-size:.9rem}.login-page .signup-link{color:var(--accent-primary);text-decoration:none;font-weight:500;transition:color .3s ease}.login-page .signup-link:hover{color:var(--accent-secondary);text-decoration:underline}@media(max-width:48rem){.login-page{padding:1rem}.login-page .login-title{font-size:2rem}.login-page .login-form{padding:1.5rem}}@media(max-width:30rem){.login-page .login-title{font-size:1.75rem}.login-page .login-subtitle{font-size:.9rem}.login-page .login-form{padding:1.25rem}.login-page .form-group input{padding:.75rem;font-size:.9rem}.login-page .login-button{padding:.875rem;font-size:1rem}}.toast{position:fixed;top:1.25rem;left:50%;transform:translate(-50%);z-index:10000;min-width:18.75rem;max-width:31.25rem;animation:toastSlideIn .3s ease-out}.toast-error{background:#ff4444f2;color:#fff;box-shadow:0 .25rem .75rem #ff44444d}.toast-success{background:#4caf50f2;color:#fff;box-shadow:0 .25rem .75rem #4caf504d}.toast-info{background:#2196f3f2;color:#fff;box-shadow:0 .25rem .75rem #2196f34d}.toast-content{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-radius:.5rem;gap:1rem}.toast-message{flex:1;font-size:.95rem;font-weight:500;line-height:1.4}.toast-close{background:none;border:none;color:#fff;font-size:1.5rem;cursor:pointer;padding:0;width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center;opacity:.8;transition:opacity .2s ease;flex-shrink:0}.toast-close:hover{opacity:1}@keyframes toastSlideIn{0%{transform:translate(-50%) translateY(-100%);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}@media(max-width:48rem){.toast{left:1rem;right:1rem;min-width:auto;max-width:none;transform:none}@keyframes toastSlideIn{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}}.signup-page{min-height:100vh;background:var(--bg-primary);padding:1.25rem;display:flex;align-items:center;justify-content:center}.signup-page .signup-content{width:100%;max-width:28.125rem;margin:0 auto;padding:2rem 0}.signup-page .signup-header{text-align:center;margin-bottom:2rem}.signup-page .signup-title{font-size:2.5rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem;background:var(--gradient-accent);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.signup-page .signup-subtitle{font-size:1rem;color:var(--text-secondary);margin:0}.signup-page .signup-form{background:var(--bg-secondary);border-radius:.75rem;padding:2rem}.signup-page .form-group{margin-bottom:1.25rem}.signup-page .form-group label{display:block;font-size:.9rem;font-weight:500;color:var(--text-primary);margin-bottom:.5rem}.signup-page .required{color:var(--accent-primary)}.signup-page .form-group input[type=email],.signup-page .form-group input[type=password],.signup-page .form-group input[type=text],.signup-page .form-group select{width:100%;padding:.875rem 1rem;font-size:1rem;border:.125rem solid var(--border-color);border-radius:.5rem;outline:none;transition:all .3s ease;background:var(--bg-tertiary);color:var(--text-primary);box-sizing:border-box}.signup-page .form-group select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%23b3b3b3' viewBox='0 0 16 16'%3E%3Cpath d='M7.247 11.14 2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.5rem}.signup-page .form-group input:focus,.signup-page .form-group select:focus{border-color:var(--accent-primary);box-shadow:0 0 0 .1875rem #ff6b6b1a}.signup-page .form-group input.error,.signup-page .form-group select.error{border-color:#f44}.signup-page .form-group input::placeholder{color:var(--text-muted)}.signup-page .error-message{display:block;color:#f44;font-size:.85rem;margin-top:.5rem;padding:0;text-align:left;line-height:1.4;font-weight:400}.signup-page .api-error-message{background:#ff44441a;border:.0625rem solid rgba(255,68,68,.3);color:#f44;padding:.75rem 1rem;border-radius:.5rem;margin-bottom:1rem;font-size:.9rem;text-align:center}.signup-page .radio-group{display:flex;flex-wrap:wrap;gap:1rem;margin-top:.5rem}.signup-page .radio-label{display:flex;align-items:center;cursor:pointer}.signup-page .radio-label input[type=radio]{width:1.125rem;height:1.125rem;margin-right:.5rem;accent-color:var(--accent-primary);cursor:pointer}.signup-page .radio-text{font-size:.9rem;color:var(--text-secondary)}.signup-page .signup-button{width:100%;background:var(--text-primary);color:var(--bg-primary);border:.125rem solid var(--text-primary);padding:1rem;font-size:1.1rem;border-radius:.5rem;cursor:pointer;font-weight:600;transition:all .3s ease;margin-top:.5rem}.signup-page .signup-button:hover:not(:disabled){background:#f0f0f0;border-color:#f0f0f0}.signup-page .signup-button:disabled{opacity:.5;cursor:not-allowed}.signup-page .signup-footer{text-align:center;margin-top:1.5rem}.signup-page .signup-footer p{color:var(--text-secondary);font-size:.9rem}.signup-page .login-link{color:var(--accent-primary);text-decoration:none;font-weight:500;transition:color .3s ease}.signup-page .login-link:hover{color:var(--accent-secondary);text-decoration:underline}@media(max-width:48rem){.signup-page{padding:1rem;align-items:flex-start}.signup-page .signup-content{padding:1rem 0}.signup-page .signup-title{font-size:2rem}.signup-page .signup-form{padding:1.5rem}.signup-page .radio-group{gap:.75rem}}@media(max-width:30rem){.signup-page .signup-title{font-size:1.75rem}.signup-page .signup-subtitle{font-size:.9rem}.signup-page .signup-form{padding:1.25rem}.signup-page .form-group input,.signup-page .form-group select{padding:.75rem;font-size:.9rem}.signup-page .signup-button{padding:.875rem;font-size:1rem}.signup-page .radio-group{flex-direction:column;gap:.5rem}}.my-page{min-height:100vh;background:var(--bg-primary);max-width:36.125rem;margin:0 auto;width:100%}.my-page .my-page-loading{display:flex;align-items:center;justify-content:center;min-height:100vh;color:var(--text-secondary);font-size:1rem}.my-page .my-page-content{padding:1.5rem 1rem}.my-page .user-profile-section{display:flex;flex-direction:column;align-items:center;padding:1.5rem;background:var(--bg-secondary);border-radius:1rem;margin-bottom:1.5rem}.my-page .user-avatar-large{width:4rem;height:4rem;border-radius:50%;background:var(--gradient-accent);display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:600;color:#fff;margin-bottom:1rem}.my-page .user-info{text-align:center}.my-page .nickname-wrapper{display:flex;align-items:center;justify-content:center;gap:.5rem;margin:0 0 .5rem}.my-page .user-nickname{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.my-page .edit-nickname-button{width:2rem;height:2rem;border:none;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .3s ease;color:var(--text-secondary);padding:0}.my-page .edit-nickname-button:hover{background:#ffffff1a;color:var(--text-primary)}.my-page .edit-nickname-button svg{width:1.125rem;height:1.125rem}.my-page .nickname-display-container{width:100%}.my-page .nickname-edit-container{width:100%;display:flex;flex-direction:column;gap:.75rem;margin-bottom:.5rem}.my-page .nickname-input{width:100%;padding:.75rem 1rem;border:.0625rem solid var(--border-color);border-radius:.5rem;background:var(--bg-primary);color:var(--text-primary);font-size:1.25rem;font-weight:600;text-align:center;transition:all .3s ease}.my-page .nickname-input:focus{outline:none;border-color:var(--accent-color, #6366f1);box-shadow:0 0 0 .1875rem #6366f11a}.my-page .nickname-input:disabled{opacity:.6;cursor:not-allowed}.my-page .error-message{color:#ff6b6b;font-size:.85rem;margin:0;text-align:center}.my-page .nickname-edit-buttons{display:flex;gap:.5rem;justify-content:center}.my-page .cancel-button,.my-page .save-button{padding:.5rem 1.5rem;border:.0625rem solid var(--border-color);border-radius:.5rem;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .3s ease}.my-page .cancel-button{background:var(--bg-primary);color:var(--text-secondary)}.my-page .cancel-button:hover:not(:disabled){background:#ffffff0d;color:var(--text-primary)}.my-page .save-button{background:var(--accent-color, #6366f1);color:#fff;border-color:var(--accent-color, #6366f1)}.my-page .save-button:hover:not(:disabled){background:var(--accent-color-hover, #4f46e5);border-color:var(--accent-color-hover, #4f46e5)}.my-page .cancel-button:disabled,.my-page .save-button:disabled{opacity:.6;cursor:not-allowed}.my-page .user-email{font-size:.9rem;color:var(--text-secondary);margin:0}.my-page .user-gender{font-size:.85rem;color:var(--text-muted);margin:.5rem 0 0}.my-page .credit-balance-section{margin-top:1.5rem;margin-bottom:1.5rem}.my-page .credit-balance-card{display:flex;flex-direction:column;align-items:stretch;gap:.75rem;padding:1.25rem;background:linear-gradient(135deg,var(--accent-primary) 0%,var(--accent-secondary) 100%);border-radius:1rem;box-shadow:0 .25rem .75rem #ff6b6b33}.my-page .credit-balance-info{display:flex;align-items:center;justify-content:center;gap:1rem;flex:1}.my-page .credit-icon{font-size:2rem;line-height:1}.my-page .credit-details{flex:1}.my-page .credit-label{margin:0 0 .25rem;font-size:.85rem;color:#ffffffe6;font-weight:500}.my-page .credit-amount{margin:0;font-size:1.5rem;font-weight:700;color:#fff}.my-page .credit-charge-button{width:100%;padding:.75rem 1.5rem;background:#fff;color:var(--accent-primary);border:.125rem solid white;border-radius:.5rem;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease;white-space:nowrap}.my-page .credit-charge-button:hover{background:#ffffffe6;transform:scale(1.05)}.my-page .my-page-actions{display:flex;flex-direction:column;gap:1rem}.my-page .logout-button{width:100%;padding:1rem;border:.0625rem solid rgba(255,100,100,.3);border-radius:.75rem;background:#ff64641a;color:#ff6b6b;font-size:1rem;font-weight:500;cursor:pointer;transition:all .3s ease}.my-page .logout-button:hover{background:#ff646433;border-color:#ff646480}.change-password-page{min-height:100vh;background:var(--bg-primary);max-width:36.125rem;margin:0 auto;width:100%}.change-password-page .change-password-content{padding:1.5rem 1rem}.change-password-page .step-container{background:var(--bg-secondary);border-radius:1rem;padding:1.5rem;transition:all .3s ease}.change-password-page .verification-container.verified-compact{padding:1rem 1.5rem}.change-password-page .verification-container.verified-compact .form-group{margin-bottom:.5rem}.change-password-page .password-container{animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.change-password-page .step-info{margin-bottom:2rem;text-align:center}.change-password-page .step-info h2{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem}.change-password-page .step-info p{font-size:.9rem;color:var(--text-secondary);margin:0}.change-password-page .form-group{margin-bottom:1.5rem}.change-password-page .form-group label{display:block;font-size:.9rem;font-weight:500;color:var(--text-primary);margin-bottom:.5rem}.change-password-page .form-group input{width:100%;padding:.75rem;font-size:.9rem;border:.125rem solid var(--border-color);border-radius:.5rem;outline:none;transition:all .3s ease;background:var(--bg-tertiary);color:var(--text-primary);box-sizing:border-box}.change-password-page .form-group input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 .1875rem #ff6b6b1a}.change-password-page .form-group input.error{border-color:#f44}.change-password-page .form-group input.verified{border-color:#28a745;background-color:#28a7451a}.change-password-page .form-group input:disabled{opacity:.6;cursor:not-allowed}.change-password-page .code-input-wrapper{display:flex;gap:.5rem}.change-password-page .code-input-wrapper input{flex:1}.change-password-page .resend-button{padding:.875rem 1.5rem;border:.125rem solid var(--accent-primary);border-radius:.5rem;background:var(--accent-primary);color:#fff;font-size:.9rem;cursor:pointer;white-space:nowrap;transition:all .3s ease}.change-password-page .resend-button:hover:not(:disabled){background:var(--accent-secondary);border-color:var(--accent-secondary)}.change-password-page .resend-button:disabled{opacity:.5;cursor:not-allowed}.change-password-page .error-message{display:block;color:#f44;font-size:.8rem;margin-top:.5rem}.change-password-page .success-message{display:block;color:#28a745;font-size:.8rem;margin-top:.5rem;min-height:auto}.change-password-page .api-error-message{background:#ff44441a;border:.0625rem solid rgba(255,68,68,.3);color:#f44;padding:.75rem 1rem;border-radius:.5rem;margin-bottom:1.5rem;font-size:.9rem;text-align:center}.change-password-page .primary-button{width:100%;background:var(--text-primary);color:var(--bg-primary);border:.125rem solid var(--text-primary);padding:.875rem;font-size:1rem;border-radius:.5rem;cursor:pointer;font-weight:600;transition:all .3s ease}.change-password-page .primary-button:hover:not(:disabled){background:#f0f0f0;border-color:#f0f0f0}.change-password-page .primary-button:disabled{opacity:.5;cursor:not-allowed}.credit-shop{min-height:100vh;background:var(--bg-primary);max-width:75rem;margin:0 auto;width:100%}.credit-shop .credit-shop-loading{display:flex;align-items:center;justify-content:center;min-height:100vh;color:var(--text-secondary);font-size:1rem}.credit-shop .credit-shop-content{padding:1.5rem 1rem;max-width:62.5rem;margin:0 auto}.credit-shop .balance-section{margin-bottom:2rem}.credit-shop .balance-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.75rem;padding:1rem;background:linear-gradient(135deg,var(--accent-primary) 0%,var(--accent-secondary) 100%);border-radius:1rem;box-shadow:0 .25rem .75rem #ff6b6b33}.credit-shop .balance-icon{font-size:2.5rem;line-height:1}.credit-shop .balance-info{flex:1}.credit-shop .balance-label{margin:0 0 .25rem;font-size:.9rem;color:#ffffffe6;font-weight:500}.credit-shop .balance-amount{margin:0;font-size:1.75rem;font-weight:700;color:#fff}.credit-shop .error-message{background:#ff44441a;border:.0625rem solid rgba(255,68,68,.3);color:#f44;padding:1rem;border-radius:.75rem;margin-bottom:1.5rem;font-size:.9rem;text-align:center}.credit-shop .success-message{background:#4caf501a;border:.0625rem solid rgba(76,175,80,.3);color:#4caf50;padding:1rem;border-radius:.75rem;margin-bottom:1.5rem;font-size:.9rem;text-align:center;animation:slideDown .3s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-.625rem)}to{opacity:1;transform:translateY(0)}}.credit-shop .products-section{margin-bottom:2rem}.credit-shop .section-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0 0 1.5rem}.credit-shop .no-products{text-align:center;padding:3rem 1rem;color:var(--text-secondary)}.credit-shop .products-grid{display:grid;grid-template-columns:1fr;gap:1rem}.credit-shop .product-card{background:var(--bg-secondary);border-radius:1rem;padding:1.25rem;border:.125rem solid var(--border-color);transition:all .3s ease;display:flex;flex-direction:column}.credit-shop .product-card:hover{border-color:var(--accent-primary);transform:translateY(-.25rem);box-shadow:0 .5rem 1.5rem #ff6b6b26}.credit-shop .product-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.credit-shop .product-name{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0}.credit-shop .product-badge{display:inline-block;padding:.25rem .75rem;background:var(--gradient-accent);color:#fff;font-size:.7rem;font-weight:600;border-radius:.75rem;text-transform:uppercase}.credit-shop .product-credits{display:flex;align-items:baseline;gap:.5rem;margin-bottom:1rem;padding:1rem;background:#ff6b6b0d;border-radius:.75rem;justify-content:center}.credit-shop .credits-amount{font-size:1.75rem;font-weight:700;background:var(--gradient-accent);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.credit-shop .credits-label{font-size:1rem;color:var(--text-secondary);font-weight:500}.credit-shop .product-description{flex:1;font-size:.9rem;color:var(--text-secondary);margin:0 0 1.5rem;line-height:1.5}.credit-shop .product-footer{display:flex;flex-direction:column;align-items:stretch;gap:1rem;padding-top:1rem;border-top:.0625rem solid var(--border-color)}.credit-shop .product-price{display:flex;align-items:baseline;gap:.25rem}.credit-shop .price-amount{font-size:1.25rem;font-weight:700;color:var(--text-primary)}.credit-shop .price-currency{font-size:1rem;color:var(--text-secondary)}.credit-shop .purchase-button{width:100%;padding:.75rem 1.5rem;background:var(--text-primary);color:var(--bg-primary);border:.125rem solid var(--text-primary);border-radius:.5rem;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease;white-space:nowrap}.credit-shop .purchase-button:hover:not(:disabled){background:#f0f0f0;border-color:#f0f0f0;transform:scale(1.05)}.credit-shop .purchase-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.credit-shop .info-section{background:var(--bg-secondary);border-radius:.75rem;padding:1.5rem;border:.0625rem solid var(--border-color)}.credit-shop .info-title{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 1rem}.credit-shop .info-list{margin:0;padding-left:1.5rem;color:var(--text-secondary);font-size:.9rem}.credit-shop .info-list li{margin-bottom:.5rem;line-height:1.5}.credit-shop .info-list li:last-child{margin-bottom:0}.credit-shop .invite-code-section{margin-bottom:2rem;padding:1rem}.credit-shop .invite-code-form{background:var(--bg-secondary);border-radius:1rem;padding:1.5rem;border:.0625rem solid var(--border-color)}.credit-shop .invite-code-input-group{display:flex;gap:.75rem}.credit-shop .invite-code-input{flex:1;padding:.75rem 1rem;border:.0625rem solid var(--border-color);border-radius:.5rem;background:var(--bg-primary);color:var(--text-primary);font-size:1rem;transition:all .3s ease}.credit-shop .invite-code-input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 .25rem rgba(var(--accent-primary-rgb),.1)}.credit-shop .invite-code-input:disabled{opacity:.5;cursor:not-allowed}.credit-shop .invite-code-button{padding:.75rem 1.5rem;border:none;border-radius:.5rem;background:linear-gradient(135deg,var(--accent-primary),#e1306c);color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;white-space:nowrap}.credit-shop .invite-code-button:hover:not(:disabled){transform:translateY(-.125rem);box-shadow:0 .5rem 1rem #00000026}.credit-shop .invite-code-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.credit-shop .invite-code-message{margin-top:.75rem;padding:.75rem;border-radius:.5rem;font-size:.875rem;text-align:center}.credit-shop .invite-code-message.success{background:#4caf501a;color:#4caf50;border:.0625rem solid rgba(76,175,80,.2)}.credit-shop .invite-code-message.error{background:#f443361a;color:#f44336;border:.0625rem solid rgba(244,67,54,.2)}.payment-page{min-height:100vh;background:var(--bg-primary);display:flex;align-items:center;justify-content:center;padding:2rem 1rem}.payment-loading{text-align:center;color:var(--text-primary)}.payment-page .payment-loading p{margin:1rem 0 0;font-size:1.1rem;font-weight:500}.payment-page .payment-loading .loading-subtext{margin-top:.5rem;font-size:.9rem;color:var(--text-secondary);font-weight:400}.payment-page .payment-loading .payment-product-info{margin-top:1.5rem;padding:1rem;background:var(--bg-secondary);border-radius:.75rem;border:.0625rem solid var(--border-color)}.payment-page .payment-loading .product-name{margin:0 0 .5rem;font-size:1rem;font-weight:600;color:var(--text-primary)}.payment-page .payment-loading .product-amount{margin:0;font-size:1.5rem;font-weight:700;background:var(--gradient-accent);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.payment-page .payment-spinner{width:3.75rem;height:3.75rem;margin:0 auto;border:.25rem solid var(--border-color);border-top-color:var(--accent-primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.payment-result{background:var(--bg-secondary);border-radius:1.25rem;padding:3rem 2rem;max-width:37.5rem;width:100%;border:.125rem solid var(--border-color);box-shadow:0 .5rem 2rem #0000001a;text-align:center}.payment-page .payment-result .result-icon{font-size:4rem;line-height:1;margin-bottom:1.5rem;animation:scaleIn .5s ease}@keyframes scaleIn{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.payment-page .payment-result h2{margin:0 0 1rem;font-size:1.75rem;font-weight:700;color:var(--text-primary)}.payment-success{border-color:#4caf50}.payment-page .payment-success .success-icon{color:#4caf50}.payment-page .payment-success .success-message{margin:0 0 2rem;font-size:1.1rem;color:var(--text-secondary);font-weight:500}.payment-page .payment-details{background:var(--bg-primary);border-radius:.75rem;padding:1.5rem;margin:2rem 0;border:.0625rem solid var(--border-color)}.payment-page .detail-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:.0625rem solid var(--border-color)}.payment-page .detail-item:last-child{border-bottom:none}.payment-page .detail-item.total{padding-top:1rem;margin-top:.5rem;border-top:.125rem solid var(--border-color)}.payment-page .detail-label{font-size:.95rem;color:var(--text-secondary);font-weight:500;white-space:nowrap;margin-right:.5rem}.payment-page .detail-value{font-size:1rem;color:var(--text-primary);font-weight:600;overflow-x:hidden}.payment-page .detail-value.highlight{font-size:1.25rem;background:var(--gradient-accent);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:700}.payment-page .detail-item.total .detail-label{font-size:1.1rem;color:var(--text-primary);font-weight:600}.payment-page .detail-item.total .detail-value{font-size:1.5rem;background:var(--gradient-accent);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:700}.payment-fail{border-color:#f44}.payment-page .payment-fail .fail-icon{color:#f44}.payment-page .payment-fail .fail-message{margin:0 0 1rem;font-size:1.1rem;color:var(--text-primary);font-weight:600}.payment-page .error-details{background:#ff44441a;border:.0625rem solid rgba(255,68,68,.3);border-radius:.5rem;padding:.75rem;margin-bottom:1.5rem}.payment-page .error-code{margin:0;font-size:.85rem;color:#f44;font-family:monospace}.payment-page .fail-info{margin-bottom:2rem}.payment-page .fail-info p{margin:.5rem 0;font-size:.95rem;color:var(--text-secondary);line-height:1.5}.payment-error .error-icon{color:#ff9800}.payment-page .payment-error h2{color:var(--text-primary)}.payment-page .payment-error .error-message{margin:0 0 2rem;font-size:1rem;color:var(--text-secondary);line-height:1.6}.result-actions{display:flex;flex-direction:column;gap:1rem;margin-top:2rem}.payment-page .primary-button,.payment-page .secondary-button,.payment-page .back-button{padding:1rem 2rem;font-size:1rem;font-weight:600;border-radius:.75rem;cursor:pointer;transition:all .3s ease;border:.125rem solid transparent;width:100%}.payment-page .primary-button{background:var(--gradient-accent);color:#fff;border:none}.payment-page .primary-button:hover{transform:translateY(-.125rem);box-shadow:0 .375rem 1.25rem #ff6b6b4d}.payment-page .secondary-button{background:transparent;color:var(--text-primary);border-color:var(--border-color)}.payment-page .secondary-button:hover{background:var(--bg-primary);border-color:var(--accent-primary)}.payment-page .back-button{background:var(--text-primary);color:var(--bg-primary);border-color:var(--text-primary)}.payment-page .back-button:hover{background:#f0f0f0;border-color:#f0f0f0;transform:translateY(-.125rem)}.payment-info{margin-top:2rem;padding-top:2rem;border-top:.0625rem solid var(--border-color)}.payment-page .info-text{margin:0;font-size:.9rem;color:var(--text-secondary);line-height:1.5}.help-section{margin-top:2rem;padding-top:2rem;border-top:.0625rem solid var(--border-color);text-align:left}.payment-page .help-section h3{margin:0 0 1rem;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.payment-page .help-list{margin:0;padding-left:1.5rem;color:var(--text-secondary);font-size:.9rem}.payment-page .help-list li{margin-bottom:.5rem;line-height:1.5}.payment-page .help-list li:last-child{margin-bottom:0}.terms-page{min-height:100vh;background:#000;display:flex;justify-content:center;align-items:center;padding:1.25rem}.terms-page .terms-container{background:#1a1a1a;border-radius:1.25rem;box-shadow:0 .625rem 2.5rem #000c;max-width:56.25rem;width:100%;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;border:.0625rem solid #333333}.terms-page .terms-header{background:#0a0a0a;color:#fff;padding:1.875rem;position:relative;border-bottom:.0625rem solid #333333}.terms-page .back-button{background:#ffffff1a;color:#fff;border:.0625rem solid #333333;padding:.625rem 1.25rem;border-radius:.625rem;font-size:1rem;cursor:pointer;transition:all .3s ease;width:5rem;height:2.5rem}.terms-page .back-button:hover{background:#fff3;transform:translate(-.3125rem);border-color:#555}.terms-page .terms-header h1{margin:0;font-size:2rem;text-align:center;font-weight:700;padding-top:1.25rem}.terms-page .terms-content{flex:1;overflow-y:auto;padding:2.5rem}.terms-page .terms-content::-webkit-scrollbar{width:.5rem}.terms-page .terms-content::-webkit-scrollbar-track{background:#1a1a1a;border-radius:.625rem}.terms-page .terms-content::-webkit-scrollbar-thumb{background:#444;border-radius:.625rem}.terms-page .terms-content::-webkit-scrollbar-thumb:hover{background:#555}.terms-page .terms-section{margin-bottom:2.5rem}.terms-page .terms-section:last-child{margin-bottom:0}.terms-page .terms-section h2{color:#fff;font-size:1.5rem;font-weight:700;margin-bottom:.9375rem;padding-bottom:.625rem;border-bottom:.125rem solid #ffffff}.terms-page .terms-section p{color:#e0e0e0;font-size:1rem;line-height:1.8;margin-bottom:.9375rem}.terms-page .terms-section ol{color:#e0e0e0;font-size:1rem;line-height:1.8;padding-left:1.5625rem}.terms-page .terms-section ol li{margin-bottom:.75rem}.terms-page .terms-section ul{color:#ccc;font-size:.9375rem;line-height:1.8;padding-left:1.5625rem;margin-top:.625rem}.terms-page .terms-section ul li{margin-bottom:.5rem}.terms-page .terms-footer{background:#1a1a1a;padding:1.5625rem 2.5rem;border-top:.0625rem solid #333333;display:flex;justify-content:center}.terms-page .primary-button{background:#0a0a0a;color:#fff;border:.0625rem solid #333333;padding:.9375rem 3.75rem;border-radius:1.5625rem;font-size:1.125rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 .25rem .9375rem #00000080}.terms-page .primary-button:hover{transform:translateY(-.125rem);background:#1a1a1a;border-color:#555;box-shadow:0 .375rem 1.25rem #000000b3}.terms-page .primary-button:active{transform:translateY(0)}.privacy-page{min-height:100vh;background:#000;display:flex;justify-content:center;align-items:center;padding:1.25rem}.privacy-page .privacy-container{background:#1a1a1a;border-radius:1.25rem;box-shadow:0 .625rem 2.5rem #000c;max-width:56.25rem;width:100%;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;border:.0625rem solid #333333}.privacy-page .privacy-header{background:#0a0a0a;color:#fff;padding:1.875rem;position:relative;border-bottom:.0625rem solid #333333}.privacy-page .back-button{position:absolute;top:1.875rem;left:1.875rem;background:#ffffff1a;color:#fff;border:.0625rem solid #333333;padding:.625rem 1.25rem;border-radius:.625rem;font-size:1rem;cursor:pointer;transition:all .3s ease;width:5rem;height:2.5rem}.privacy-page .back-button:hover{background:#fff3;transform:translate(-.3125rem);border-color:#555}.privacy-page .privacy-header h1{margin:0;font-size:2rem;text-align:center;font-weight:700;padding-top:1.25rem}.privacy-page .privacy-content{flex:1;overflow-y:auto;padding:2.5rem}.privacy-page .privacy-content::-webkit-scrollbar{width:.5rem}.privacy-page .privacy-content::-webkit-scrollbar-track{background:#1a1a1a;border-radius:.625rem}.privacy-page .privacy-content::-webkit-scrollbar-thumb{background:#444;border-radius:.625rem}.privacy-page .privacy-content::-webkit-scrollbar-thumb:hover{background:#555}.privacy-page .privacy-intro{background:#252525;border-left:.25rem solid #ffffff;padding:1.25rem;margin-bottom:1.875rem;border-radius:.5rem}.privacy-page .privacy-intro p{color:#e0e0e0;font-size:.9375rem;line-height:1.8;margin:.625rem 0}.privacy-page .privacy-section{margin-bottom:2.5rem}.privacy-page .privacy-section:last-child{margin-bottom:0}.privacy-page .privacy-section h2{color:#fff;font-size:1.5rem;font-weight:700;margin-bottom:.9375rem;padding-bottom:.625rem;border-bottom:.125rem solid #ffffff}.privacy-page .privacy-section h3{color:#ccc;font-size:1.125rem;font-weight:600;margin:1.25rem 0 .625rem}.privacy-page .privacy-section h4{color:#fff;font-size:1rem;font-weight:600;margin:.9375rem 0 .625rem}.privacy-page .privacy-section p{color:#e0e0e0;font-size:1rem;line-height:1.8;margin-bottom:.9375rem}.privacy-page .privacy-section ul{color:#ccc;font-size:.9375rem;line-height:1.8;padding-left:1.5625rem;margin:.625rem 0}.privacy-page .privacy-section ul li{margin-bottom:.5rem}.privacy-page .info-box{background:#252525;border:.0625rem solid #333333;border-radius:.625rem;padding:1.25rem;margin:.9375rem 0}.privacy-page .info-box h4{color:#fff;font-size:1rem;font-weight:600;margin:0 0 .9375rem}.privacy-page .info-box p{margin:.5rem 0;font-size:.9375rem;color:#ccc}.privacy-page .info-box ul{margin:.625rem 0;padding-left:1.25rem}.privacy-page .info-box ul li{margin-bottom:.5rem;color:#ccc}.privacy-page .info-box strong{color:#fff;font-weight:600}.privacy-page .contact-box{background:#2a2a2a;border:.125rem solid #555555}.privacy-page .privacy-table{width:100%;border-collapse:collapse;margin:.9375rem 0;font-size:.875rem}.privacy-page .privacy-table thead{background:#0a0a0a;color:#fff}.privacy-page .privacy-table th{padding:.75rem;text-align:left;font-weight:600;border:.0625rem solid #333333}.privacy-page .privacy-table td{padding:.75rem;border:.0625rem solid #333333;color:#ccc}.privacy-page .privacy-table tbody tr:nth-child(2n){background:#252525}.privacy-page .privacy-table tbody tr:hover{background:#2a2a2a}.privacy-page .warning-text{color:#ff6b6b;font-weight:600;font-size:.875rem;margin-top:.625rem}.privacy-page .privacy-footer-info{background:#252525;border-radius:.625rem;padding:1.25rem;margin-top:1.875rem;border:.0625rem solid #333333}.privacy-page .privacy-footer-info h2{color:#fff;font-size:1.25rem;border-bottom:.125rem solid #ffffff;padding-bottom:.625rem;margin-bottom:.9375rem}.privacy-page .privacy-footer-info p{color:#ccc;font-size:.9375rem;margin:.5rem 0}.privacy-page .privacy-footer{background:#1a1a1a;padding:1.5625rem 2.5rem;border-top:.0625rem solid #333333;display:flex;justify-content:center}.privacy-page .primary-button{background:#0a0a0a;color:#fff;border:.0625rem solid #333333;padding:.9375rem 3.75rem;border-radius:1.5625rem;font-size:1.125rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 .25rem .9375rem #00000080}.privacy-page .primary-button:hover{transform:translateY(-.125rem);background:#1a1a1a;border-color:#555;box-shadow:0 .375rem 1.25rem #000000b3}.privacy-page .primary-button:active{transform:translateY(0)}.customer-service-page{min-height:100vh;background-color:var(--bg-primary);color:var(--text-primary)}.customer-service-page .customer-service-container{max-width:37.5rem;margin:0 auto;padding-bottom:3.75rem}.customer-service-header{display:flex;align-items:center;justify-content:space-between;padding:1rem;background-color:var(--bg-primary);border-bottom:.0625rem solid var(--border-color);position:sticky;top:0;z-index:10}.customer-service-page .customer-service-header h1{font-size:1.125rem;font-weight:600;margin:0;flex:1;text-align:center}.customer-service-page .back-button{background:none;border:none;color:var(--text-primary);cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center;transition:opacity .2s}.customer-service-page .back-button:hover{opacity:.7}.customer-service-page .header-spacer{width:2rem}.inquiry-form{padding:1.25rem}.customer-service-page .form-intro{margin-bottom:1.5rem;padding:1rem;background-color:var(--bg-secondary);border-radius:.5rem;border-left:.1875rem solid var(--accent-primary)}.customer-service-page .form-intro p{margin:0;color:var(--text-secondary);font-size:.875rem;line-height:1.5}.customer-service-page .error-banner{padding:.75rem 1rem;margin-bottom:1.25rem;background-color:#ed49561a;border:.0625rem solid rgba(237,73,86,.3);border-radius:.5rem;color:#ed4956;font-size:.875rem}.customer-service-page .form-group{margin-bottom:1.5rem}.customer-service-page .form-group label{display:block;margin-bottom:.5rem;font-size:.875rem;font-weight:600;color:var(--text-primary)}.customer-service-page .form-group input[type=text],.customer-service-page .form-group input[type=email],.customer-service-page .form-group select,.customer-service-page .form-group textarea{width:100%;padding:.75rem 1rem;background-color:var(--bg-secondary);border:.0625rem solid var(--border-color);border-radius:.5rem;color:var(--text-primary);font-size:.875rem;font-family:inherit;transition:border-color .2s}.customer-service-page .form-group input[type=text]:focus,.customer-service-page .form-group input[type=email]:focus,.customer-service-page .form-group select:focus,.customer-service-page .form-group textarea:focus{outline:none;border-color:var(--accent-primary)}.customer-service-page .form-group select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23999' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;padding-right:2.25rem}.customer-service-page .form-group textarea{resize:vertical;min-height:7.5rem;line-height:1.5}.customer-service-page .char-count{margin-top:.375rem;font-size:.75rem;color:var(--text-secondary);text-align:right}.form-actions{display:flex;gap:.75rem;margin-top:2rem}.customer-service-page .cancel-button,.customer-service-page .submit-button{flex:1;padding:.875rem 1.5rem;border:none;border-radius:.5rem;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .2s}.customer-service-page .cancel-button{background-color:var(--bg-secondary);color:var(--text-primary);border:.0625rem solid var(--border-color)}.customer-service-page .cancel-button:hover:not(:disabled){background-color:var(--bg-tertiary)}.customer-service-page .submit-button{background-color:var(--accent-primary);color:#fff}.customer-service-page .submit-button:hover:not(:disabled){background-color:#0095f6}.customer-service-page .cancel-button:disabled,.customer-service-page .submit-button:disabled{opacity:.5;cursor:not-allowed}.contact-info{margin:2rem 1.25rem 1.25rem;padding:1.25rem;background-color:var(--bg-secondary);border-radius:.5rem;border:.0625rem solid var(--border-color)}.customer-service-page .contact-info h3{margin:0 0 1rem;font-size:1rem;font-weight:600;color:var(--text-primary)}.customer-service-page .info-item{padding:.5rem 0;font-size:.875rem;color:var(--text-secondary);line-height:1.6}.customer-service-page .info-item strong{color:var(--text-primary);margin-right:.5rem}.success-message{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2.5rem 1.25rem;text-align:center}.customer-service-page .success-icon{width:5rem;height:5rem;border-radius:50%;background-color:var(--accent-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:3rem;margin-bottom:1.5rem;animation:scaleIn .3s ease-out}@keyframes scaleIn{0%{transform:scale(0)}50%{transform:scale(1.1)}to{transform:scale(1)}}.customer-service-page .success-message h2{margin:0 0 .75rem;font-size:1.5rem;font-weight:600;color:var(--text-primary)}.customer-service-page .success-message p{margin:.5rem 0;font-size:.9375rem;color:var(--text-secondary);line-height:1.6}.customer-service-page .email-notice{margin-top:1rem!important;padding:.75rem 1.25rem;background-color:var(--bg-secondary);border-radius:.5rem;font-size:.875rem!important;color:var(--text-primary)!important}@media(max-width:30rem){.customer-service-header h1{font-size:1rem}.inquiry-form{padding:1rem}.form-actions{flex-direction:column}.cancel-button,.submit-button{width:100%}}.not-found-page{min-height:100vh;background:var(--bg-primary);display:flex;align-items:center;justify-content:center;padding:1rem}.not-found-page .not-found-content{text-align:center;max-width:25rem;width:100%}.not-found-page .not-found-code{font-size:8rem;font-weight:700;margin:0;background:var(--gradient-accent);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1;margin-bottom:1rem}.not-found-page .not-found-message{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem}.not-found-page .not-found-description{font-size:1rem;color:var(--text-secondary);margin:0 0 2rem;line-height:1.5}.not-found-page .home-button{display:inline-block;padding:.875rem 2rem;font-size:1rem;font-weight:600;color:#fff;background:var(--gradient-accent);border:none;border-radius:.75rem;cursor:pointer;transition:all .3s ease;box-shadow:0 .25rem .9375rem #ff6b6b4d}.not-found-page .home-button:hover{transform:translateY(-.125rem);box-shadow:0 .375rem 1.25rem #ff6b6b66}.not-found-page .home-button:active{transform:translateY(0)}@media(max-width:30rem){.not-found-page .not-found-code{font-size:6rem}.not-found-page .not-found-message{font-size:1.25rem}.not-found-page .not-found-description{font-size:.9rem}.not-found-page .home-button{padding:.75rem 1.5rem;font-size:.9rem}}.app{width:100%;min-height:100vh;max-width:576px;margin:0 auto}*{box-sizing:border-box}
