@import"https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/static/pretendard.min.css";*{margin:0;padding:0;box-sizing:border-box}button,input,select,textarea,option{font-family:inherit}html,body{padding-top:env(safe-area-inset-top)}:root{--accent: #B91C1C;--accent-hover: #991B1B;--accent-rgb: 185, 28, 28;--bg-primary: #FAF7F2;--bg-secondary: #F5F0E8;--bg-tertiary: #EDE8DE;--text-primary: #1C1917;--text-secondary: #57534E;--text-tertiary: #A8A29E;--border: #D6D3D1;--success: #16A34A;--warning: #D97706;--danger: #DC2626;--gold: #D4AF37;--gold-light: #F5E6B8;--red-light: rgba(185, 28, 28, .1);--shadow-sm: 0 1px 2px rgba(28, 25, 23, .05);--shadow-md: 0 4px 12px rgba(28, 25, 23, .08);--shadow-lg: 0 8px 24px rgba(28, 25, 23, .12)}body{font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg-primary);color:var(--text-primary);min-height:100vh}.setup-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:20px;background:var(--bg-primary)}.setup-card{background:var(--bg-secondary);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:20px;padding:48px 36px;width:100%;max-width:380px;border:1px solid var(--border);position:relative;z-index:1;animation:cardFadeIn .5s ease-out}@keyframes cardFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.app-logo{text-align:center;margin-bottom:36px}.app-name{font-size:32px;font-weight:600;color:var(--text-primary);letter-spacing:-.5px}.app-tagline{color:var(--text-secondary);font-size:13px;margin-top:8px;font-weight:400}@keyframes fadeIn{to{opacity:1}}.setup-card h1{font-size:24px;margin-bottom:8px;text-align:center}.setup-card p{color:var(--text-secondary);text-align:center;margin-bottom:24px;font-size:14px}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:11px;color:#0006;margin-bottom:8px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.form-group input,.form-group textarea{width:100%;padding:14px 16px;background:#0000000a;border:1px solid rgba(0,0,0,.08);border-radius:10px;color:var(--text-primary);font-size:14px;transition:all .2s}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#6366f180;background:#0000000f}.form-group input::placeholder{color:#00000040}.form-group textarea{min-height:100px;resize:vertical;font-family:monospace;font-size:12px}.btn{width:100%;padding:14px;border:none;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover)}.btn-secondary{background:transparent;color:#00000080;border:1px solid rgba(0,0,0,.1)}.btn-secondary:hover{background:#0000000d;color:#000c}.btn-danger{background:var(--danger);color:#fff}.tabs{display:flex;gap:8px;margin-bottom:20px}.tab{flex:1;padding:10px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:8px;color:var(--text-secondary);cursor:pointer;text-align:center;font-size:14px;transition:all .2s}.tab.active{background:var(--accent);color:#fff;border-color:var(--accent)}.app-container{display:none;height:100vh}.app-container.active{display:flex}.sidebar{width:280px;background:var(--bg-secondary);border-right:1px solid var(--border);display:flex;flex-direction:column}.chat-list{flex:1;overflow-y:auto;padding:8px;scrollbar-width:none;-ms-overflow-style:none}.chat-list::-webkit-scrollbar{display:none}.chat-item{padding:12px 16px;cursor:pointer;display:flex;align-items:center;gap:12px;transition:background .15s;border-bottom:1px solid rgba(255,255,255,.06);-webkit-user-select:none;-webkit-touch-callout:none;user-select:none}.chat-item:last-child{border-bottom:none}.chat-item:hover,.chat-item:active{background:var(--bg-tertiary)}.chat-item.hidden-chat{opacity:.5}.chat-item-info{flex:1;min-width:0;display:flex;align-items:center;gap:12px}.chat-avatar-wrapper{width:48px!important;height:48px!important;min-width:48px;min-height:48px;max-width:48px;max-height:48px;border-radius:16px;overflow:visible;flex-shrink:0;background:var(--bg-tertiary);position:relative}.chat-avatar-wrapper>.img-loading-wrapper{width:100%;height:100%;border-radius:16px;overflow:hidden}.chat-avatar-wrapper .spinner{width:20px!important;height:20px!important}.chat-item-avatar{width:100%;height:100%;border-radius:16px;object-fit:cover}.chat-avatar-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--text-tertiary);background:var(--bg-tertiary);border-radius:16px}.pending-indicator{position:absolute;bottom:-2px;right:-2px;width:16px;height:16px;background:var(--accent);border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid var(--bg-primary);z-index:1}.spinner-small{width:8px;height:8px;border:1.5px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite}.unread-badge{position:absolute;top:-4px;right:-4px;background:var(--accent);color:#fff;font-size:10px;font-weight:600;min-width:18px;height:18px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 5px;border:2px solid var(--bg-primary);z-index:1}.chat-item-text{flex:1;min-width:0}.chat-item-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.chat-item-name-row{display:flex;align-items:center;gap:6px;min-width:0;flex:1}.chat-mode-badge{font-size:9px;padding:2px 5px;border-radius:4px;font-weight:600;flex-shrink:0}.chat-mode-badge.character{background:rgba(var(--accent-rgb),.15);color:var(--accent)}.chat-mode-badge.story{background:#8b5cf626;color:#dc2626}.chat-mode-badge.character{display:none}.session-count-badge{font-size:10px;padding:2px 8px;border-radius:8px;background:#00000014;color:var(--text-secondary);font-weight:500;margin-left:6px}.chat-item-title{font-size:15px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-primary)}.chat-item-date{font-size:11px;color:var(--text-tertiary);flex-shrink:0;white-space:nowrap}.chat-item-preview{font-size:13px;color:var(--text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:6px;max-width:100%}.chat-list-loading{display:inline-flex;gap:3px;align-items:center}.chat-list-loading span{width:4px;height:4px;background:var(--text-tertiary);border-radius:50%;animation:bounce 1.4s ease-in-out infinite both}.chat-list-loading span:nth-child(1){animation-delay:-.32s}.chat-list-loading span:nth-child(2){animation-delay:-.16s}.chat-item-delete{padding:4px 8px;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;opacity:0;transition:opacity .2s}.chat-item:hover .chat-item-delete{opacity:1}.chat-item-delete:hover{color:var(--danger)}.user-info{display:flex;align-items:center;justify-content:space-between;font-size:13px}.user-email{color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px}.logout-btn{padding:6px 12px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:4px;color:var(--text-secondary);font-size:12px;cursor:pointer}.chat-area{flex:1;display:flex;flex-direction:column;height:100vh;overflow:hidden}.chat-header{padding:16px 24px;border-bottom:1px solid rgba(0,0,0,.06);display:flex;align-items:center;justify-content:space-between;flex-shrink:0;background:#000;z-index:10}.chat-title{font-size:16px}.header-actions{display:flex;align-items:center;gap:8px}.carbon-display{display:flex;align-items:center;gap:4px;padding:6px 10px;background:var(--bg-tertiary);border-radius:8px;font-size:13px;font-weight:600;color:var(--accent)}.carbon-display svg{opacity:.8}.header-icon-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:transparent;border:none;border-radius:8px;color:var(--text-secondary);cursor:pointer;transition:all .2s}.header-icon-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.header-icon-btn svg{stroke-linecap:round;stroke-linejoin:round}.memory-toggle{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary)}.memory-indicator{width:8px;height:8px;border-radius:50%;background:var(--success)}.messages-container{flex:1;overflow-y:auto;padding:24px;scrollbar-width:none;-ms-overflow-style:none;overflow-anchor:none}.messages-container::-webkit-scrollbar{display:none}.chat-content{flex:1;display:flex;flex-direction:column;overflow:hidden}.fixed-meta-bar{display:flex;flex-direction:row;gap:0;padding:6px 16px;background:var(--bg-primary);border-bottom:1px solid rgba(0,0,0,.1);flex-shrink:0}.meta-bar-row{display:flex;gap:12px;align-items:center;width:100%;justify-content:flex-end}.meta-bar-item{display:flex;align-items:center;gap:6px;padding:0;background:transparent;border-radius:0;font-size:12px}.meta-bar-item.compact{padding:0;font-size:12px}.meta-bar-icon{font-size:12px;opacity:.6}.meta-bar-icon-svg{color:#888;opacity:.7;flex-shrink:0}.meta-bar-item.compact .meta-bar-icon{font-size:12px}.meta-bar-label{color:var(--text-secondary)}.meta-bar-value{font-weight:500;color:var(--text-secondary);font-size:12px}.meta-bar-item.affinity{gap:8px}.meta-bar-affinity-bar{width:50px;height:4px;background:#ffffff1a;border-radius:2px;overflow:hidden}.meta-bar-affinity-fill{height:100%;border-radius:2px;transition:width .3s ease,background .3s ease}@media(max-width:600px){.fixed-meta-bar{flex-direction:row;gap:0;padding:6px 12px;background:var(--bg-primary);border-bottom:1px solid rgba(0,0,0,.1)}.meta-bar-row{display:flex;gap:12px;width:100%;justify-content:flex-end}.meta-bar-item{display:flex;align-items:center;padding:0;background:transparent;border-radius:0;font-size:11px;gap:4px}.meta-bar-item.compact{padding:0}.meta-bar-icon{font-size:11px;flex-shrink:0;opacity:.6}.meta-bar-value{color:var(--text-secondary);font-weight:500;white-space:nowrap;font-size:11px}}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-secondary)}.empty-state h3{font-size:18px;margin-bottom:8px;color:var(--text-primary)}.message{margin-bottom:24px;-webkit-user-select:none;-webkit-touch-callout:none;user-select:none}.message.assistant{display:flex;flex-direction:column;align-items:flex-start;gap:8px;max-width:100%}.message.assistant .message-content{max-width:85%;flex:0 1 auto}.message.assistant .message-meta{flex-shrink:0;white-space:nowrap;padding-bottom:2px}.message.user{max-width:85%;margin-left:auto;display:flex;flex-direction:row-reverse;align-items:flex-end;gap:8px}.message.user .message-meta{flex-shrink:0;white-space:nowrap;padding-bottom:2px}.message-content{font-size:14px;line-height:1.5;white-space:pre-wrap}.message.user .message-content{background:var(--accent);padding:10px 14px;border-radius:16px 16px 4px;display:inline-block;max-width:100%;width:fit-content;color:#fff}.message.assistant .message-content{background:transparent;padding:0}.action-text{color:#888;font-style:italic}.message.user .action-text{color:#000000a6;font-style:italic}.bold-text{font-weight:700;color:#fff;background:#a855f726;padding:0 4px;border-radius:3px}.message.user .bold-text{background:#00000026}.saju-section-header{display:inline-block;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;padding:6px 14px;border-radius:6px;font-weight:600;font-size:13px;margin:12px 0 6px;box-shadow:0 2px 4px #6366f14d}.ai-content-block{margin-bottom:20px}.ai-content-block:last-child{margin-bottom:0}.narration-block{color:#4b5563;font-style:italic;padding:10px 14px;background:#f3f4f6;border-radius:8px;margin:0;line-height:1.7;font-size:15px;white-space:pre-wrap}.message.user.user-quote-from-ai .action-text{color:#000000a6;font-style:italic}.user-quote-wrapper{width:calc(100% / .85);margin-right:calc(-15% / .85);display:flex;justify-content:flex-end}.user-quote-block{max-width:85%;display:flex;flex-direction:row-reverse;align-items:flex-end;gap:8px}.user-quote-content{background:var(--accent);color:#fff;padding:10px 14px;border-radius:16px 16px 4px;font-size:15px;line-height:1.5;white-space:pre-wrap;word-break:break-word}.user-quote-content .action-text{color:#000000a6;font-style:italic}.dialogue-block{display:flex;gap:8px;margin:0;align-items:flex-start}.dialogue-avatar{width:36px;height:36px;border-radius:50%;background:var(--accent);display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}.dialogue-avatar-wrapper{width:36px;height:36px;border-radius:50%;overflow:hidden}.dialogue-avatar-wrapper .spinner{width:16px;height:16px}.dialogue-avatar img,.dialogue-avatar-img{width:100%;height:100%;border-radius:50%;object-fit:cover;cursor:pointer;transition:transform .2s,box-shadow .2s}.dialogue-avatar-img:hover{transform:scale(1.1);box-shadow:0 4px 12px #0000004d}.extra-character-avatar{width:36px;height:36px;border-radius:50%;background:#3a3a3a;display:flex;align-items:center;justify-content:center;flex-shrink:0}.extra-character-avatar svg{width:20px;height:20px;color:#8a8a8a}.thought-avatar .extra-character-avatar{width:32px;height:32px}.thought-avatar .extra-character-avatar svg{width:18px;height:18px}.dialogue-content{flex:1;min-width:0}.dialogue-speaker{font-size:12px;font-weight:500;color:var(--text-secondary);margin-bottom:4px}.dialogue-bubble{background:#e5e5e5;padding:10px 14px;border-radius:4px 12px 12px;display:inline-block;max-width:100%}.dialogue-text{color:#1a1a1a;line-height:1.5;font-size:15px;white-space:pre-wrap}.plain-text-block{line-height:1.5;color:var(--text-primary);font-size:15px}.helper-block{display:flex;gap:8px;margin:0;align-items:flex-start}.helper-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#fbbf24,#f59e0b);display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0;box-shadow:0 2px 8px #fbbf244d}.helper-content{flex:1;min-width:0}.helper-speaker{font-size:11px;font-weight:500;color:#fbbf24;margin-bottom:3px}.helper-bubble{background:#fbbf2414;padding:8px 12px;border-radius:3px 10px 10px;display:inline-block;max-width:100%;border:1px solid rgba(251,191,36,.2)}.helper-text{color:#fcd34d;line-height:1.5;font-size:14px}.thought-block{display:flex;gap:10px;margin:12px 0;align-items:flex-start;opacity:.85}.thought-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--accent),#DC2626);display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0;box-shadow:0 2px 8px #6366f140;filter:grayscale(30%)}.thought-avatar .dialogue-avatar-img{filter:grayscale(30%);opacity:.85}.thought-avatar .dialogue-avatar-img:hover{filter:grayscale(0%);opacity:1}.thought-content{flex:1;min-width:0}.thought-speaker{font-size:11px;font-weight:500;color:#a5b4fc;margin-bottom:3px}.thought-speaker:after{content:"의 생각";font-weight:400;color:#6b7280;margin-left:4px}.thought-bubble{background:#6366f10f;padding:10px 14px;border-radius:3px 12px 12px;display:inline-block;max-width:100%;border:1px dashed rgba(99,102,241,.25)}.thought-text{color:#c7d2fe;line-height:1.6;font-size:14px;font-style:italic;white-space:pre-wrap}.thought-text:before{content:"'";color:var(--accent)}.thought-text:after{content:"'";color:var(--accent)}.turn-meta-header{font-size:11px;color:var(--text-secondary);background:#6366f11a;padding:6px 10px;border-radius:8px;margin-bottom:8px;display:inline-block}.image-modal-overlay{position:fixed;inset:0;background:#000000f2;display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px;animation:fadeIn .2s ease}.image-modal-content{position:relative;max-width:90vw;max-height:90vh}.image-modal-content img{max-width:100%;max-height:90vh;border-radius:12px;box-shadow:0 8px 32px #00000080}.image-modal-close{position:absolute;top:-40px;right:0;width:36px;height:36px;background:#ffffff1a;border:none;border-radius:50%;color:#fff;font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center}.image-modal-close:hover{background:#fff3}.character-name{font-size:20px;font-weight:600;margin-bottom:4px}.character-subtitle{font-size:13px;color:var(--text-secondary);margin-bottom:12px}.character-tags{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-bottom:12px}.character-tag{padding:4px 10px;background:var(--bg-primary);border-radius:12px;font-size:11px;color:var(--text-secondary)}.scenario-box{background:var(--bg-primary);border-radius:12px;padding:14px;text-align:left;margin-top:12px}.scenario-box .label{font-size:11px;color:var(--accent);margin-bottom:6px}.scenario-box .content{font-size:13px;color:var(--text-secondary);line-height:1.6}.spinner{width:50px;height:50px;border:3px solid var(--bg-tertiary);border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite}.modal-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}#loginModal{opacity:0;visibility:hidden;transition:opacity .25s ease,visibility .25s ease}#loginModal.active{opacity:1;visibility:visible}#loginModal .setup-card{transform:scale(.95) translateY(10px);transition:transform .25s ease}#loginModal.active .setup-card{transform:scale(1) translateY(0)}.modal{background:var(--bg-secondary);border-radius:16px;width:100%;max-width:500px;max-height:80vh;overflow:hidden;display:flex;flex-direction:column;border:1px solid var(--border)}.modal-header{padding:20px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.modal-header h3{font-size:18px}.modal-close{background:none;border:none;color:var(--text-secondary);font-size:24px;cursor:pointer}.modal-body{padding:20px;overflow-y:auto;flex:1}.modal-footer{padding:16px 20px;border-top:1px solid var(--border);display:flex;gap:10px;justify-content:flex-end}.modal-footer .btn{width:auto;padding:10px 20px}.session-modal-overlay{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s}.session-modal-overlay.open{opacity:1;visibility:visible}.session-modal-backdrop{position:absolute;inset:0;background:#000000b3;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.session-modal-content{position:relative;width:100%;max-width:420px;max-height:80vh;background:var(--bg-primary);border-radius:20px;border:1px solid var(--border-light, rgba(128, 128, 128, .15));overflow:hidden;display:flex;flex-direction:column;transform:scale(.96) translateY(8px);opacity:0;transition:all .25s cubic-bezier(.4,0,.2,1);box-shadow:0 25px 50px -12px #00000040,0 0 0 1px #0000000d inset}.session-modal-overlay.open .session-modal-content{transform:scale(1) translateY(0);opacity:1}.session-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 20px 16px;border-bottom:1px solid rgba(0,0,0,.06)}.session-modal-header h3{margin:0;font-size:17px;font-weight:600;letter-spacing:-.02em}.session-modal-header .close-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:none;border:none;font-size:20px;color:var(--text-tertiary);cursor:pointer;padding:0;line-height:1;border-radius:8px;transition:all .15s}.session-modal-header .close-btn:hover{background:#00000014;color:var(--text-secondary)}.session-list{flex:1;overflow-y:auto;padding:16px}.session-list-loading{display:flex;justify-content:center;padding:40px}.session-empty,.session-error{text-align:center;color:var(--text-tertiary);padding:48px 20px;font-size:14px}.session-item{display:flex;align-items:center;background:#00000008;border:1px solid rgba(0,0,0,.04);border-radius:14px;margin-bottom:8px;overflow:hidden;transition:all .2s cubic-bezier(.4,0,.2,1);animation:sessionItemReveal .3s ease forwards;opacity:0}@keyframes sessionItemReveal{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.session-item:nth-child(1){animation-delay:.05s}.session-item:nth-child(2){animation-delay:.1s}.session-item:nth-child(3){animation-delay:.15s}.session-item:nth-child(4){animation-delay:.2s}.session-item:nth-child(5){animation-delay:.25s}.session-item:nth-child(n+6){animation-delay:.3s}.session-item:hover{background:#0000000d;border-color:#00000014;transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.session-item-main{flex:1;padding:14px 16px;cursor:pointer;min-width:0;display:flex;flex-direction:column;justify-content:center}.session-item-header{display:flex;justify-content:space-between;align-items:center}.session-name-group{display:flex;align-items:center;min-width:0;flex:1;gap:6px;margin-right:8px}.session-name{font-size:14px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.01em}.session-turn{font-size:10px;color:var(--text-secondary);background:#0000000f;padding:3px 7px;border-radius:6px;font-weight:500;flex-shrink:0}.session-pending-indicator{display:inline-flex;align-items:center;gap:3px;margin-left:6px}.session-pending-indicator span{width:4px;height:4px;background:var(--accent);border-radius:50%;animation:sessionPendingBounce 1.4s ease-in-out infinite}.session-pending-indicator span:nth-child(1){animation-delay:0s}.session-pending-indicator span:nth-child(2){animation-delay:.2s}.session-pending-indicator span:nth-child(3){animation-delay:.4s}@keyframes sessionPendingBounce{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.session-item.pending{background:rgba(var(--accent-rgb),.06);border-color:rgba(var(--accent-rgb),.15)}.session-preview{font-size:12px;color:var(--text-tertiary);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.4;margin-top:6px}.session-date{font-size:11px;color:var(--text-tertiary)}.new-session-btn{margin:4px 16px 12px;padding:14px;background:transparent;color:var(--accent);border:1.5px dashed rgba(var(--accent-rgb),.4);border-radius:12px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.new-session-btn:hover{background:rgba(var(--accent-rgb),.08);border-color:var(--accent);border-style:solid}.session-modal-header-actions{display:flex;align-items:center;gap:4px}.session-edit-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:none;border:none;padding:0;color:var(--text-secondary);cursor:pointer;border-radius:8px;transition:all .2s}.session-edit-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.session-checkbox-wrapper{display:none;align-items:center;justify-content:center;padding:0 12px 0 16px;cursor:pointer}.session-item.edit-mode .session-checkbox-wrapper{display:flex}.session-item.edit-mode .session-item-actions,.session-checkbox{display:none}.session-checkbox-custom{width:20px;height:20px;border:2px solid var(--border);border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .2s}.session-checkbox:checked+.session-checkbox-custom{background:var(--accent);border-color:var(--accent)}.session-checkbox:checked+.session-checkbox-custom:after{content:"";width:5px;height:9px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg);margin-bottom:2px}.session-edit-footer{padding:12px;border-top:1px solid var(--border);display:flex;justify-content:center}.session-delete-selected-btn{flex:1;padding:12px;background:#ef4444;color:#fff;border:none;border-radius:10px;font-size:14px;font-weight:500;cursor:pointer;transition:opacity .2s}.session-delete-selected-btn:disabled{background:var(--text-tertiary);opacity:.5;cursor:not-allowed}.session-delete-selected-btn:not(:disabled):hover{opacity:.9}.session-pending-dots{display:inline-flex;align-items:center;gap:3px}.session-pending-dots span{width:4px;height:4px;background:var(--accent);border-radius:50%;animation:sessionPendingBounce 1.4s ease-in-out infinite}.session-pending-dots span:nth-child(1){animation-delay:0s}.session-pending-dots span:nth-child(2){animation-delay:.2s}.session-pending-dots span:nth-child(3){animation-delay:.4s}.session-preview.pending-preview{color:var(--accent)}.memory-section.session-info{background:var(--bg-tertiary);border-radius:10px;padding:12px 14px;margin-bottom:12px}.memory-session-row{display:flex;align-items:center;justify-content:space-between}.memory-session-label{font-size:12px;color:var(--text-tertiary)}.memory-session-name-wrapper{display:flex;align-items:center;gap:8px}.memory-session-name{font-size:14px;font-weight:500;color:var(--text-primary)}.memory-session-edit-btn{background:none;border:none;padding:4px;color:var(--text-tertiary);cursor:pointer;border-radius:4px;transition:all .2s;display:flex;align-items:center;justify-content:center}.memory-session-edit-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.memory-session-actions{display:flex;gap:8px;margin-top:10px}.memory-session-action-btn{flex:1;padding:6px 8px;font-size:12px;color:var(--text-secondary);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;cursor:pointer;transition:all .2s}.memory-session-action-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.memory-session-action-btn:active{transform:scale(.96)}.profile-list{display:flex;flex-direction:column;gap:10px}.profile-card{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:12px;padding:14px;cursor:pointer;transition:all .2s}.profile-card:hover{border-color:var(--accent)}.profile-card.selected{border-color:var(--accent);background:#6366f11a}.profile-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.profile-card-name{font-weight:600;font-size:15px}.profile-card-actions{display:flex;gap:8px}.profile-card-actions button{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:14px;padding:4px}.profile-card-actions button:hover{color:var(--text-primary)}.profile-card-desc{font-size:13px;color:var(--text-secondary);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.add-profile-btn{border:2px dashed var(--border);background:transparent;border-radius:12px;padding:20px;color:var(--text-secondary);cursor:pointer;transition:all .2s;font-size:14px}.add-profile-btn:hover{border-color:var(--accent);color:var(--accent)}.current-profile{display:flex;align-items:center;gap:8px;padding:6px 12px;background:var(--bg-tertiary);border-radius:20px;cursor:pointer;font-size:13px;transition:background .2s}.current-profile:hover{background:var(--border)}.profile-avatar-small{width:24px;height:24px;background:var(--accent);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px}.user-note-section{margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.user-note-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.user-note-header h4{font-size:13px;color:var(--text-secondary)}.user-note-edit-btn{background:none;border:none;color:var(--accent);cursor:pointer;font-size:12px}.user-note-content{background:var(--bg-tertiary);border-radius:8px;padding:12px;font-size:13px;line-height:1.6;color:var(--text-secondary);min-height:60px}.user-note-content.empty{color:#666;font-style:italic}.user-note-textarea{width:100%;min-height:120px;padding:12px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);font-size:13px;resize:vertical;font-family:inherit;line-height:1.6}.user-note-textarea:focus{outline:none;border-color:var(--accent)}.char-count{text-align:right;font-size:11px;color:var(--text-secondary);margin-top:6px}.char-count.warning{color:var(--warning)}.char-count.error{color:var(--danger)}.profile-manager-btn{display:flex;align-items:center;gap:8px;padding:10px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);cursor:pointer;font-size:13px;width:100%;margin-bottom:12px;transition:all .2s}.profile-manager-btn:hover{border-color:var(--accent)}.message-meta{font-size:11px;color:var(--text-secondary);padding:0}.profile-select-bar{position:relative;padding:12px 16px;background:var(--bg-primary);border-top:1px solid var(--border-light, rgba(128, 128, 128, .15))}.profile-select-content{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0;background:transparent}.profile-select-icon{display:none}.profile-select-text{flex:1;font-size:13px;color:var(--text-secondary)}.profile-select-btn{padding:8px 16px;background:var(--accent);border:none;border-radius:8px;color:#fff;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.profile-select-btn:hover{background:var(--accent-hover)}.input-area{position:relative;padding:12px 24px;border-top:1px solid rgba(0,0,0,.06);background:var(--bg-primary);flex-shrink:0}.input-wrapper{display:flex;gap:8px;align-items:center}.input-wrapper textarea{flex:1;padding:10px 14px;background:var(--bg-tertiary);border:none;border-radius:8px;color:var(--text-primary);font-size:14px;resize:none;min-height:36px;max-height:120px;overflow-y:auto;font-family:inherit;line-height:1.4}.input-wrapper textarea:focus{outline:none}.action-insert-btn{width:36px;height:36px;background:var(--bg-tertiary);border:none;border-radius:8px;color:var(--text-secondary);font-size:16px;font-weight:600;cursor:pointer;transition:all .2s;flex-shrink:0;display:flex;align-items:center;justify-content:center}.action-insert-btn:hover{background:var(--border);color:var(--text-primary)}.send-btn{width:36px;height:36px;background:var(--accent);border:none;border-radius:8px;color:#fff;font-size:16px;cursor:pointer;transition:background .2s;display:flex;align-items:center;justify-content:center;flex-shrink:0}.send-btn:hover{background:var(--accent-hover)}.send-btn:disabled{background:var(--bg-tertiary);color:var(--text-secondary);cursor:not-allowed}.recommended-questions-btn{width:36px;height:36px;background:var(--bg-tertiary);border:none;border-radius:8px;color:var(--text-secondary);cursor:pointer;transition:all .2s;flex-shrink:0;display:flex;align-items:center;justify-content:center}.recommended-questions-btn:hover{background:var(--border);color:var(--text-primary)}.recommended-questions-btn.active{background:var(--accent);color:#fff}.recommended-questions-panel{padding:12px 16px;background:var(--bg-secondary);border-top:1px solid rgba(0,0,0,.06);border-radius:16px 16px 0 0;animation:slideUp .2s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.recommended-questions-grid{display:flex;flex-wrap:wrap;gap:8px}.question-chip{padding:8px 14px;background:var(--bg-primary);border:1px solid var(--border);border-radius:20px;color:var(--text-primary);font-size:13px;cursor:pointer;transition:all .2s;white-space:nowrap}.question-chip:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.question-chip.highlight{background:linear-gradient(135deg,#ff6b9d,#ff8a80);color:#fff;border-color:transparent;font-weight:600;box-shadow:0 2px 8px #ff6b9d4d}.question-chip.highlight:hover{background:linear-gradient(135deg,#ff4d8d,#ff6b6b);transform:translateY(-1px);box-shadow:0 4px 12px #ff6b9d66}.memory-panel{position:fixed;inset:0;background:var(--bg-primary);display:flex;flex-direction:column;transform:translate(100%);transition:transform .3s ease;z-index:1000}.memory-panel.active{transform:translate(0)}.memory-panel-header{padding:8px 16px;border-bottom:1px solid var(--border-light, rgba(128, 128, 128, .15));display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.memory-panel-header h3{font-size:16px;font-weight:600;display:flex;align-items:center;gap:8px}.memory-header-icon{color:var(--text-secondary)}.close-panel-btn{width:36px;height:36px;background:none;border:none;color:var(--text-primary);cursor:pointer;font-size:20px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .2s}.close-panel-btn:hover{background:#00000014}.timeline-section{padding:12px 16px;border-bottom:1px solid var(--border-light, rgba(128, 128, 128, .15))}.timeline-profile-section{padding:10px 16px;border-bottom:1px solid var(--border-light, rgba(128, 128, 128, .15))}.timeline-profile-row{display:flex;align-items:center;justify-content:space-between;cursor:pointer;padding:6px 0}.timeline-profile-info{display:flex;align-items:center;gap:8px}.timeline-profile-name{font-size:13px;font-weight:500;color:var(--text-primary)}.timeline-profile-gender{font-size:11px;padding:2px 6px;background:var(--bg-secondary);border-radius:4px;color:var(--text-secondary)}.timeline-profile-actions{display:flex;align-items:center;gap:8px}.timeline-profile-edit-btn{background:transparent;border:none;padding:4px;cursor:pointer;color:var(--text-tertiary);border-radius:4px;transition:all .2s}.timeline-profile-edit-btn:hover{background:var(--bg-secondary);color:var(--text-secondary)}.timeline-profile-arrow{color:var(--text-tertiary)}.memory-tabs{display:flex;padding:0 16px;margin-top:12px;flex-shrink:0;border-bottom:1px solid var(--border-light, rgba(128, 128, 128, .15));background:var(--bg-primary)}.memory-tab{padding:12px 16px;background:transparent;border:none;font-size:14px;font-weight:500;color:var(--text-tertiary);cursor:pointer;white-space:nowrap;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .2s}.memory-tab.active{color:var(--text-primary);border-bottom-color:var(--text-primary)}.memory-session-action-btn.danger{color:#ef4444;border-color:#ef44444d}.memory-session-action-btn.danger:hover{background:#ef44441a;border-color:#ef444480}.memory-content{flex:1;overflow-y:auto;padding:20px 16px 16px;scrollbar-width:none;-ms-overflow-style:none}.memory-content::-webkit-scrollbar{display:none}.memory-section{margin-bottom:20px}.memory-section.narrative{padding-bottom:16px;border-bottom:1px solid var(--border);margin-bottom:16px}.memory-section-title{font-size:12px;color:var(--text-secondary);margin-bottom:8px;display:flex;align-items:center;gap:6px}.memory-item{padding:10px;background:var(--bg-tertiary);border-radius:8px;font-size:13px;margin-bottom:6px;line-height:1.5}.memory-item-meta{font-size:11px;color:var(--text-secondary);margin-top:6px}.memory-section-title{display:flex;justify-content:space-between;align-items:center}.memory-count{background:var(--bg-tertiary);padding:2px 8px;border-radius:10px;font-size:11px;color:var(--text-secondary)}.memory-list{display:flex;flex-direction:column;gap:8px}.memory-card{background:var(--bg-tertiary);border-radius:10px;padding:12px}.memory-context{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px;font-size:11px}.memory-day{background:var(--bg-secondary);padding:2px 8px;border-radius:4px;color:var(--accent)}.memory-chars{color:var(--text-secondary)}.memory-emotion{font-size:14px}.memory-content{font-size:13px;line-height:1.5;color:var(--text-primary)}.memory-footer{display:flex;justify-content:space-between;align-items:center;margin-top:8px;font-size:10px;color:var(--text-secondary)}.memory-importance{letter-spacing:1px;color:var(--warning)}.memory-turn{opacity:.6}.memory-empty{text-align:center;padding:20px;color:var(--text-secondary);font-size:12px}.memory-overview{background:var(--bg-tertiary);border-radius:10px;padding:12px;margin-bottom:16px}.memory-stat-bar{display:flex;flex-wrap:wrap;gap:8px;font-size:12px}.mem-stat{padding:4px 8px;border-radius:6px;background:var(--bg-secondary)}.mem-stat.core{color:var(--danger)}.mem-stat.episodic{color:var(--success)}.mem-stat.semantic{color:var(--accent)}.memory-day-filter{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}.mem-day-btn{padding:4px 10px;border:1px solid var(--border);border-radius:12px;background:transparent;color:var(--text-secondary);font-size:11px;cursor:pointer;transition:all .2s}.mem-day-btn:hover{border-color:var(--accent);color:var(--accent)}.mem-day-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.memory-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.memory-section-count{background:var(--bg-secondary);padding:2px 8px;border-radius:10px;font-size:11px;color:var(--text-secondary)}.memory-section-desc{font-size:11px;color:var(--text-secondary);margin-bottom:10px;opacity:.7}.memory-item-enhanced{background:var(--bg-tertiary);border-radius:10px;padding:12px;margin-bottom:8px;transition:all .2s}.memory-item-content{font-size:13px;line-height:1.5;color:var(--text-primary);margin-bottom:8px}.memory-item-context{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.mem-ctx-tag{padding:2px 8px;border-radius:4px;font-size:10px;background:var(--bg-secondary)}.mem-ctx-day{color:var(--accent);font-weight:500}.mem-ctx-time{color:var(--warning)}.mem-ctx-location{color:var(--success)}.memory-item-footer{display:flex;align-items:center;gap:8px;font-size:10px;color:var(--text-secondary)}.mem-type-badge{padding:2px 6px;border-radius:4px;font-size:9px;text-transform:uppercase}.mem-type-core{background:#ef444433;color:var(--danger)}.mem-type-episodic{background:#22c55e33;color:var(--success)}.mem-type-semantic{background:#a855f733;color:var(--accent)}.memory-importance-bar{flex:1;height:4px;background:var(--bg-secondary);border-radius:2px;max-width:80px}.memory-importance-fill{height:100%;background:linear-gradient(90deg,var(--success),var(--warning),var(--danger));border-radius:2px;transition:width .3s}.mem-turn{opacity:.6}.memory-show-more{width:100%;padding:10px;background:var(--bg-tertiary);border:1px dashed var(--border);border-radius:8px;color:var(--text-secondary);font-size:12px;cursor:pointer;transition:all .2s;margin-top:4px}.memory-show-more:hover{border-color:var(--accent);color:var(--accent)}.state-item{padding:8px 10px;background:var(--bg-tertiary);border-radius:6px;font-size:12px;margin-bottom:4px;display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.state-key{color:var(--text-secondary);flex-shrink:0;white-space:nowrap;min-width:40px}.state-value{color:var(--accent);text-align:right;word-break:break-word;flex:1}.loading{display:inline-flex;gap:4px}.loading span{width:6px;height:6px;background:var(--text-secondary);border-radius:50%;animation:bounce 1.4s ease-in-out infinite both}.loading span:nth-child(1){animation-delay:-.32s}.loading span:nth-child(2){animation-delay:-.16s}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.message.streaming .streaming-content{white-space:pre-wrap;word-break:break-word;min-height:20px}.message.streaming .message-meta{display:none}.typing-indicator{margin-top:8px;opacity:1;transition:opacity .3s ease}.typing-indicator.fade-out{opacity:0}.typing-indicator .loading{display:inline-flex;gap:4px;padding:8px 12px;background:var(--bg-tertiary);border-radius:12px}.message-actions{display:none;gap:8px;margin-top:8px;padding-left:4px}.message.assistant:last-child:not(.streaming) .message-actions{display:flex}.message-action-btn{display:inline-flex;align-items:center;gap:4px;padding:6px 10px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:8px;color:var(--text-secondary);font-size:12px;cursor:pointer;transition:all .15s ease}.message-action-btn:hover{background:var(--bg-secondary);color:var(--text-primary);border-color:var(--accent)}.message-action-btn.icon-only{padding:6px 8px}.message-action-btn svg{width:14px;height:14px}.message.scene-image{padding:8px}.scene-image-container{position:relative;max-width:280px;width:100%;aspect-ratio:1;border-radius:12px;overflow:hidden;cursor:pointer;background:var(--bg-tertiary)}.scene-image-container img{width:100%;height:100%;object-fit:cover;display:block;border-radius:12px}.scene-image-overlay{position:absolute;bottom:8px;right:8px;width:32px;height:32px;background:#0009;border-radius:8px;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s}.scene-image-container:hover .scene-image-overlay{opacity:1}.scene-image-overlay svg{width:18px;height:18px;color:#fff}.images-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.images-gallery-header{padding:0 4px 12px}.images-count{font-size:13px;color:var(--text-secondary)}.images-gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.gallery-image-item{aspect-ratio:1;border-radius:8px;overflow:hidden;cursor:pointer;background:var(--bg-secondary)}.gallery-image-item .img-loading-wrapper{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.gallery-image-item img{width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .3s}.gallery-image-item img.loaded{opacity:1}.gallery-image-item .img-loading-wrapper.loaded .spinner{display:none}.edit-message-modal{position:fixed;inset:0;background:var(--bg-primary);z-index:9999;display:none}.edit-message-container{display:flex;flex-direction:column;height:100%;max-width:800px;margin:0 auto}.edit-message-header{display:flex;justify-content:space-between;align-items:center;padding:8px 16px;border-bottom:1px solid rgba(0,0,0,.12);background:var(--bg-primary)}.edit-close-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:none;border:none;color:var(--text-secondary);cursor:pointer;border-radius:50%;transition:all .15s ease}.edit-close-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.edit-save-btn{padding:8px 20px;background:var(--accent);border:none;border-radius:20px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease}.edit-save-btn:hover{opacity:.9;transform:scale(1.02)}.edit-message-textarea{flex:1;width:100%;padding:20px;background:var(--bg-primary);border:none;color:var(--text-primary);font-size:16px;line-height:1.7;resize:none;outline:none;font-family:inherit}.edit-message-textarea::placeholder{color:var(--text-muted)}.settings-panel{width:380px;max-width:90vw;max-height:85vh;background:var(--bg-secondary);border-radius:16px;border:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 40px #0000004d}.settings-panel-header{padding:18px 20px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;background:var(--bg-tertiary)}.settings-header-title{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:600;color:var(--text-primary)}.settings-header-title svg{color:var(--accent)}.settings-close-btn{background:none;border:none;cursor:pointer;color:var(--text-secondary);padding:6px;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:all .2s}.settings-close-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.settings-panel-content{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:20px}.settings-section{display:flex;flex-direction:column;gap:12px}.settings-section-header{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.settings-section-header svg{color:var(--accent);opacity:.8}.settings-profile-card{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:var(--bg-tertiary);border-radius:12px;border:1px solid var(--border)}.settings-profile-info{display:flex;align-items:center;gap:12px}.settings-profile-avatar{width:40px;height:40px;background:linear-gradient(135deg,var(--accent),#DC2626);border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff}.settings-profile-text{display:flex;flex-direction:column;gap:2px}.settings-profile-name{font-size:14px;font-weight:500;color:var(--text-primary)}.settings-profile-desc{font-size:12px;color:var(--text-secondary)}.settings-change-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;color:var(--text-secondary);font-size:12px;cursor:pointer;transition:all .2s}.settings-change-btn:hover{background:var(--accent);border-color:var(--accent);color:#fff}.settings-selector-container{margin-top:8px;padding:12px;background:var(--bg-tertiary);border-radius:10px;border:1px solid var(--border)}.settings-selector-list{max-height:180px;overflow-y:auto;margin-bottom:12px}.profile-manager-list{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.profile-manager-item{display:flex;align-items:center;justify-content:space-between;padding:12px;border-radius:10px;background:var(--bg-tertiary);border:1px solid transparent;transition:all .15s}.profile-manager-item:hover{background:var(--bg-secondary)}.profile-manager-item.primary{background:#eab30814;border:1px solid rgba(234,179,8,.2)}.profile-manager-info{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.profile-manager-name{font-size:14px;font-weight:600;color:var(--text-primary)}.profile-manager-gender{font-size:11px;padding:2px 6px;border-radius:4px;background:var(--bg-secondary);color:var(--text-tertiary)}.profile-manager-actions{display:flex;align-items:center;gap:6px;margin-left:12px}.profile-action-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:6px;color:var(--text-tertiary);cursor:pointer;transition:all .15s}.profile-action-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.profile-action-btn.danger:hover{background:#ef44441a;color:#ef4444}.profile-selector-list{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.profile-selector-item{display:flex;align-items:center;justify-content:space-between;padding:12px;border-radius:10px;background:var(--bg-tertiary);transition:all .15s}.profile-selector-item:hover{background:var(--bg-secondary)}.profile-selector-item.selected{background:#6366f11f;border:1px solid rgba(99,102,241,.3)}.profile-selector-content{flex:1;cursor:pointer;min-width:0}.profile-selector-header{display:flex;align-items:center;gap:8px;margin-bottom:2px}.profile-selector-name{font-size:14px;font-weight:600;color:var(--text-primary)}.profile-selector-gender{font-size:11px;padding:2px 6px;border-radius:4px;background:var(--bg-secondary);color:var(--text-tertiary)}.profile-selector-desc{font-size:12px;color:var(--text-secondary);margin-top:4px;line-height:1.4}.profile-selector-actions{display:flex;align-items:center;gap:8px;margin-left:12px}.profile-edit-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:6px;color:var(--text-tertiary);cursor:pointer;transition:all .15s}.profile-edit-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.profile-check-icon{flex-shrink:0}.profile-selector-item.primary{background:#eab30814;border:1px solid rgba(234,179,8,.2)}.primary-badge{font-size:10px;padding:2px 6px;border-radius:4px;background:#eab30826;color:#eab308;font-weight:600}.set-primary-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:6px;color:var(--text-tertiary);cursor:pointer;transition:all .15s}.set-primary-btn:hover{background:#eab30826;color:#eab308}.settings-apply-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:6px;padding:10px;background:var(--accent);border:none;border-radius:8px;color:#fff;font-size:13px;font-weight:500;cursor:pointer;transition:opacity .2s}.settings-apply-btn:hover{opacity:.9}.settings-select-wrapper{position:relative}.settings-select{width:100%;padding:12px 40px 12px 14px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:10px;color:var(--text-primary);font-size:14px;cursor:pointer;appearance:none;-webkit-appearance:none;transition:border-color .2s}.settings-select:focus{outline:none;border-color:var(--accent)}.settings-select-arrow{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--text-secondary);pointer-events:none}.settings-slider-container{display:flex;align-items:center;gap:14px;padding:8px 0}.settings-slider{flex:1;height:6px;-webkit-appearance:none;appearance:none;background:var(--bg-tertiary);border-radius:3px;cursor:pointer}.settings-slider::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;background:var(--accent);border-radius:50%;cursor:pointer;box-shadow:0 2px 6px #6366f166;transition:transform .15s}.settings-slider::-webkit-slider-thumb:hover{transform:scale(1.1)}.settings-slider::-moz-range-thumb{width:20px;height:20px;background:var(--accent);border-radius:50%;cursor:pointer;border:none}.settings-slider-value{min-width:50px;padding:6px 10px;background:var(--accent);border-radius:6px;color:#fff;font-size:12px;font-weight:600;text-align:center}.settings-slider-labels{display:flex;justify-content:space-between;font-size:11px;color:var(--text-secondary);padding:0 4px}.settings-manage-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:10px;color:var(--text-secondary);font-size:13px;cursor:pointer;transition:all .2s}.settings-manage-btn:hover{background:#6366f11a;border-color:var(--accent);color:var(--accent)}.settings-manage-btn svg{opacity:.8}.settings-save-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:14px;background:linear-gradient(135deg,var(--accent),#DC2626);border:none;border-radius:10px;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;margin-top:8px}.settings-save-btn:hover{opacity:.9;transform:translateY(-1px)}.settings-save-btn:active{transform:translateY(0)}.settings-image-models{display:flex;flex-direction:column;gap:8px}.settings-image-model-card{display:flex;align-items:center;gap:12px;padding:10px 12px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:10px;cursor:pointer;transition:all .2s}.settings-image-model-card:hover{border-color:var(--accent);background:#00000005}.settings-image-model-card.selected{border-color:var(--accent);background:#6366f11a}.settings-image-model-thumb{width:48px;height:48px;border-radius:8px;object-fit:cover;background:var(--bg-secondary)}.settings-image-model-info{flex:1;display:flex;flex-direction:column;gap:2px}.settings-image-model-name{font-size:14px;font-weight:500;color:var(--text-primary)}.settings-image-model-desc{font-size:12px;color:var(--text-secondary)}.settings-image-model-check{width:24px;height:24px;display:flex;align-items:center;justify-content:center;opacity:0;color:var(--accent);transition:opacity .2s}.settings-image-model-card.selected .settings-image-model-check{opacity:1}.toast{position:fixed;top:80px;left:50%;transform:translate(-50%) translateY(-20px);display:flex;align-items:center;gap:8px;padding:10px 16px;background:#1e1e1ef2;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:10px;font-size:13px;font-weight:500;color:#fff;z-index:999999;opacity:0;visibility:hidden;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 8px 32px #0000004d,0 2px 8px #0003;white-space:nowrap;overflow:hidden}.toast-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.toast-icon svg{width:16px;height:16px}.toast-message{line-height:1.3}.toast-progress{position:absolute;bottom:0;left:0;height:2px;background:#0000004d;border-radius:0 0 10px 10px}.toast.show{opacity:1;visibility:visible;transform:translate(-50%) translateY(0)}.toast.show .toast-progress{animation:toastProgress 2s linear forwards}.toast.info{background:linear-gradient(135deg,#3b82f6f2,#2563ebf2)}.toast.info .toast-progress{background:#0006}.toast.success{background:linear-gradient(135deg,#22c55ef2,#16a34af2)}.toast.success .toast-progress{background:#0006}.toast.warning{background:linear-gradient(135deg,#f59e0bf2,#d97706f2)}.toast.warning .toast-progress{background:#0006}.toast.error{background:linear-gradient(135deg,#ef4444f2,#dc2626f2)}.toast.error .toast-progress{background:#0006}@keyframes toastProgress{0%{width:100%}to{width:0%}}@media(max-width:768px){.sidebar{position:fixed;left:-100%;top:0;height:100vh;z-index:100;transition:left .3s}.sidebar.open{left:0}.mobile-overlay{display:none;position:fixed;inset:0;background:#00000080;z-index:99}.mobile-overlay.show{display:block}.chat-header{padding:12px 16px;flex-shrink:0;background:#000;border-bottom:1px solid rgba(0,0,0,.06)}.chat-title{font-size:14px;max-width:120px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.current-profile{display:none!important}.mobile-header-btn{display:flex!important}.messages-container{padding:16px;flex:1;overflow-y:auto}.input-area{padding:12px 16px;padding-bottom:calc(12px + env(safe-area-inset-bottom));flex-shrink:0;background:var(--bg-primary);border-top:1px solid rgba(0,0,0,.06)}.choice-container{padding:10px 16px;flex-shrink:0}.character-intro{padding:16px}.message{max-width:90%}.world-btn-text{display:none}}.mobile-header-btn{display:none;background:none;border:none;color:var(--text-primary);font-size:18px;cursor:pointer;padding:6px}.no-chat-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:40px;text-align:center}.no-chat-state .icon{font-size:64px;margin-bottom:20px}.no-chat-state h2{font-size:24px;margin-bottom:12px}.no-chat-state p{color:var(--text-secondary);margin-bottom:24px;max-width:300px}.no-chat-state .start-btn{padding:14px 32px;background:var(--accent);border:none;border-radius:12px;color:#fff;font-size:16px;font-weight:600;cursor:pointer;transition:background .2s}.no-chat-state .start-btn:hover{background:var(--accent-hover)}.choice-popup{position:absolute;bottom:100%;left:0;right:0;padding:12px 16px;background:var(--bg-secondary);border-top:1px solid var(--border);border-radius:12px 12px 0 0;box-shadow:0 -4px 20px #0000004d}.choice-toggle-btn{position:relative;display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:none;border:none;border-radius:8px;color:var(--text-secondary);cursor:pointer;transition:all .2s;flex-shrink:0}.choice-toggle-btn:hover{background:var(--bg-tertiary);color:var(--accent)}.choice-toggle-btn.active{color:var(--accent);background:#6366f126}.choice-buttons{display:flex;flex-direction:column;gap:8px}.choice-btn{padding:10px 14px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:12px;color:var(--text-primary);font-size:14px;text-align:left;cursor:pointer;transition:all .2s;line-height:1.4}.choice-btn:hover{border-color:var(--accent);background:#6366f11a}.mode-selector{display:flex;gap:12px;margin-bottom:20px}.mode-card{flex:1;padding:20px 16px;background:var(--bg-tertiary);border:2px solid var(--border);border-radius:12px;cursor:pointer;text-align:center;transition:all .2s}.mode-card:hover{border-color:var(--accent)}.mode-card.selected{border-color:var(--accent);background:#6366f11a}.mode-card .icon{font-size:32px;margin-bottom:8px}.mode-card .title{font-weight:600;margin-bottom:4px}.mode-card .desc{font-size:12px;color:var(--text-secondary)}.gender-selector{display:flex;gap:10px;margin-top:12px}.gender-btn{flex:1;padding:12px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);cursor:pointer;font-size:14px;transition:all .2s}.gender-btn:hover{border-color:var(--accent)}.gender-btn.selected{border-color:var(--accent);background:#6366f133}.genre-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:12px}.genre-btn{padding:10px 12px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);cursor:pointer;font-size:13px;transition:all .2s;text-align:center;white-space:nowrap}.genre-btn:hover{border-color:var(--accent)}.genre-btn.selected{border-color:var(--accent);background:#6366f133}.world-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);cursor:pointer;font-size:13px;transition:all .2s}.world-btn:hover{border-color:var(--accent)}.world-info{background:linear-gradient(135deg,#1a1a2e,#16213e);border:1px solid var(--border);border-radius:16px;padding:20px;margin-bottom:20px}.world-title{font-size:20px;font-weight:600;margin-bottom:8px;display:flex;align-items:center;gap:8px}.world-desc{font-size:14px;color:var(--text-secondary);line-height:1.6;margin-bottom:16px}.world-characters{display:flex;flex-wrap:wrap;gap:8px}.world-char-badge{display:flex;align-items:center;gap:6px;padding:6px 12px;background:var(--bg-primary);border-radius:20px;font-size:13px}.world-char-badge .status{width:8px;height:8px;border-radius:50%;background:var(--success)}.char-status-card{background:var(--bg-tertiary);border-radius:10px;padding:12px;margin-bottom:10px;overflow:hidden}.char-status-card.has-image{padding-top:0}.char-card-image{width:calc(100% + 24px);margin:0 -12px 12px;height:120px;cursor:pointer;overflow:hidden;position:relative}.char-card-image img{width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform .3s}.char-card-image:hover img{transform:scale(1.05)}.char-status-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover;cursor:pointer;transition:transform .2s}.char-status-avatar img:hover{transform:scale(1.1)}.memory-char-hero{width:calc(100% + 24px);margin:-12px -12px 12px;aspect-ratio:1 / 1;cursor:pointer;overflow:hidden;position:relative}.memory-char-hero img{width:100%;height:100%;object-fit:cover;object-position:center 15%;transition:transform .3s}.memory-char-hero:hover img{transform:scale(1.05)}.memory-char-hero-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#000000b3);padding:20px 12px 10px}.memory-char-hero-name{font-size:16px;font-weight:600;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.5)}.char-status-header{display:flex;align-items:flex-start;gap:10px;margin-bottom:8px}.char-status-avatar{width:36px;height:36px;min-width:36px;min-height:36px;flex-shrink:0;background:var(--accent);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px}.char-status-header>div:last-child{flex:1;min-width:0}.char-status-name{font-weight:600;font-size:14px;word-break:break-word;line-height:1.3}.char-status-role{font-size:11px;color:var(--text-secondary);word-break:break-word;line-height:1.3;margin-top:2px}.char-status-info{display:flex;flex-direction:column;gap:4px;font-size:12px}.char-status-row{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.char-status-label{color:var(--text-secondary);flex-shrink:0;min-width:32px;white-space:nowrap}.char-status-value{color:var(--accent);text-align:right;word-break:break-word;flex:1}.char-memory-list{margin-top:8px;padding-top:8px;border-top:1px solid var(--border)}.char-memory-item{font-size:11px;color:var(--text-secondary);padding:4px 0;line-height:1.4}.char-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}.char-info-item{background:var(--bg-tertiary);padding:8px 10px;border-radius:6px}.char-info-item.full{grid-column:1 / -1}.char-info-label{font-size:10px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;display:block;margin-bottom:2px}.char-info-value{font-size:13px;color:var(--text-primary)}.char-detail-section{display:flex;flex-direction:column;gap:10px}.char-detail-item{background:var(--bg-tertiary);padding:10px 12px;border-radius:8px}.char-detail-label{font-size:11px;color:var(--accent);font-weight:600;display:block;margin-bottom:4px}.char-detail-item p{font-size:12px;color:var(--text-secondary);line-height:1.5;margin:0}.turn-meta-header{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:12px}.btn-google{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;padding:14px;background:#fff;border:1px solid #ddd;border-radius:12px;color:#333;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-google:hover{background:#f8f8f8;box-shadow:0 2px 8px #0000001a}.auth-divider{display:flex;align-items:center;margin:20px 0;color:var(--text-secondary);font-size:12px}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--border)}.auth-divider span{padding:0 16px}.tab-content{display:none;flex-direction:column;height:calc(100vh - 70px);overflow-y:auto}.tab-content.active{display:flex}.bottom-nav{position:fixed;bottom:0;left:0;right:0;display:none;justify-content:space-around;background:var(--bg-primary);padding:8px 0;padding-bottom:calc(8px + env(safe-area-inset-bottom));z-index:100}.app-container.active .bottom-nav{display:flex}.nav-item{display:flex;flex-direction:column;align-items:center;gap:2px;background:none;border:none;color:var(--text-tertiary);font-size:10px;cursor:pointer;padding:6px 20px;border-radius:12px;transition:all .2s ease}.nav-item:hover{background:#0000000d}.nav-item.active{color:var(--accent)}.nav-item.active svg{fill:var(--accent);stroke:none}.nav-item svg{transition:transform .2s ease;fill:var(--text-tertiary)}.nav-item.active svg{transform:scale(1.1)}.nav-item[data-tab=myWorks]{display:none}.nav-item[data-tab=myWorks].admin-visible{display:flex}.home-tabs{display:flex;gap:8px;padding:8px 20px;background:var(--bg-primary);border-bottom:1px solid var(--border)}.home-tab{padding:8px 16px;background:var(--bg-tertiary);border:none;border-radius:20px;color:var(--text-secondary);font-size:14px;cursor:pointer;transition:all .2s}.home-tab.active{background:var(--accent);color:#fff}.content-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;padding:20px;flex:1;overflow-y:auto}@media(min-width:768px){.content-grid{grid-template-columns:repeat(3,1fr)}}@media(min-width:1024px){.content-grid{grid-template-columns:repeat(4,1fr)}}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px;grid-column:1 / -1}.spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.chats-container{padding:0;min-height:100%}.chats-header{display:flex;justify-content:space-between;align-items:center;padding:20px 16px 16px;background:var(--bg-primary);position:sticky;top:0;z-index:10}.chats-header h2{font-size:18px;font-weight:600;color:var(--text-primary);margin:0}.mypage-header{display:flex;justify-content:space-between;align-items:center;padding:20px;background:var(--bg-secondary);border-bottom:1px solid var(--border)}.mypage-user-info{display:flex;align-items:center;gap:14px}.mypage-avatar{width:52px;height:52px;background:linear-gradient(135deg,var(--accent),#DC2626);border-radius:14px;display:flex;align-items:center;justify-content:center;color:#fff}.mypage-user-details{display:flex;flex-direction:column;gap:4px}.mypage-nickname-row{display:flex;align-items:center;gap:8px;margin-bottom:2px}.mypage-nickname{font-size:16px;font-weight:600}.edit-nickname-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center}.edit-nickname-btn:hover{color:var(--primary)}.mypage-email{font-size:13px;color:var(--text-secondary)}.mypage-carbon{display:flex;align-items:center;gap:4px;font-size:13px;color:var(--accent)}.mypage-tabs{display:flex;background:var(--bg-primary);border-bottom:1px solid var(--border)}.mypage-tab{flex:1;padding:14px;background:none;border:none;border-bottom:2px solid transparent;color:var(--text-secondary);font-size:14px;cursor:pointer;transition:all .2s}.mypage-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.mypage-content{flex:1;overflow-y:auto;padding:20px}.mypage-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.mypage-section-header h3{font-size:16px;font-weight:600}.add-profile-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;background:var(--accent);border:none;border-radius:8px;color:#fff;font-size:13px;cursor:pointer}.empty-state-small{text-align:center;padding:40px 20px;color:var(--text-secondary)}.published-list{display:flex;flex-direction:column;gap:12px}.published-item{display:flex;align-items:center;gap:14px;padding:14px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px}.published-item-image{width:56px;height:56px;background:var(--bg-tertiary);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:24px}.published-item-info{flex:1}.published-item-title{font-weight:600;margin-bottom:4px}.published-item-stats{font-size:12px;color:var(--text-secondary)}.settings-list{display:flex;flex-direction:column;gap:8px}.settings-item{display:flex;align-items:center;gap:14px;padding:16px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;cursor:pointer;transition:background .2s}.settings-item:hover{background:var(--bg-tertiary)}.settings-item-icon{width:40px;height:40px;background:var(--bg-tertiary);border-radius:10px;display:flex;align-items:center;justify-content:center;color:var(--accent)}.settings-item span{flex:1;font-size:15px}.settings-item svg:last-child{color:var(--text-secondary)}.chat-overlay{position:fixed;inset:0;background:var(--bg-primary);z-index:200;display:flex;flex-direction:column;transform:translate(100%);transition:transform .3s ease}.chat-overlay.active{transform:translate(0)}body:has(.chat-overlay.active){overflow:hidden}body:has(.chat-overlay.active) .content-detail-modal{overflow:hidden!important;touch-action:none!important;pointer-events:none!important}.chat-overlay-header{display:flex;align-items:center;gap:12px;padding:8px 16px;background:var(--bg-primary);border-bottom:1px solid rgba(0,0,0,.12)}.back-btn{background:none;border:none;color:#333;cursor:pointer;padding:8px;margin:-8px;display:flex}.chat-overlay-title{flex:1;display:flex;align-items:center;gap:8px}.chat-overlay-title span{font-size:16px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-overlay-actions{display:flex;align-items:center;gap:8px}.chat-carbon-display{display:flex;align-items:center;gap:4px;padding:4px 8px;background:var(--bg-tertiary);border-radius:12px;font-size:13px;font-weight:600;color:var(--text-primary)}.chat-overlay .messages-container{flex:1;overflow-y:auto;padding:16px;overflow-anchor:none}.chat-overlay .input-area{padding:12px 16px;padding-bottom:calc(12px + env(safe-area-inset-bottom));background:var(--bg-primary);border-top:1px solid rgba(0,0,0,.06)}.keyboard-visible .chat-overlay .input-area{padding-bottom:12px}.character-profile-card{background:var(--bg-secondary);border-radius:16px;overflow:hidden;margin-bottom:32px}.character-hero-image{position:relative;width:100%;height:380px;cursor:pointer;overflow:hidden}.character-hero-image img{width:100%;height:100%;object-fit:cover;object-position:center 20%}.character-hero-overlay{position:absolute;bottom:0;left:0;right:0;padding:20px 16px;background:linear-gradient(transparent 0%,#00000080 30%,#000000e6)}.character-hero-name{font-size:22px;font-weight:700;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.5)}.character-hero-subtitle{font-size:14px;color:#ffffffe6;margin-top:4px;text-shadow:0 1px 3px rgba(0,0,0,.5)}.character-hero-fallback-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 24px;background:linear-gradient(135deg,var(--bg-tertiary),var(--bg-secondary))}.character-hero-fallback{font-size:56px;margin-bottom:12px}.character-profile-body{padding:16px}.character-info-grid{display:grid;grid-template-columns:1fr;gap:12px;margin-bottom:16px}.character-info-item{background:var(--bg-tertiary);padding:12px;border-radius:10px}.character-info-item.full-width{grid-column:1 / -1}.character-info-label{font-size:11px;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;font-weight:600}.character-info-value{font-size:14px;color:#9ca3af;line-height:1.5}.scenario-cards{display:flex;flex-direction:column;gap:10px}.scenario-card{background:var(--bg-tertiary);border-radius:10px;overflow:hidden}.scenario-card-content{padding:12px}.scenario-card-label{font-size:11px;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-weight:600}.scenario-card-value{font-size:14px;color:#9ca3af;line-height:1.5}.characters-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.character-card-mini{background:var(--bg-tertiary);border-radius:12px;overflow:hidden;border:1px solid var(--border)}.character-card-img-wrapper{width:100%;height:120px;background:var(--bg-secondary)}.character-card-image{width:100%;height:100%;object-fit:cover}.character-card-fallback{width:100%;height:80px;background:linear-gradient(135deg,var(--bg-tertiary),var(--bg-secondary));display:flex;align-items:center;justify-content:center;font-size:32px}.character-card-info{padding:10px}.character-card-name{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:2px}.character-card-role{font-size:12px;color:var(--accent);margin-bottom:4px}.character-card-age{font-size:11px;color:var(--text-secondary);margin-bottom:4px}.character-card-personality{font-size:12px;color:var(--text-secondary);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.location-image-container{width:100%;height:150px;border-radius:12px;overflow:hidden;margin-bottom:12px}.location-image{width:100%;height:100%;object-fit:cover}.profiles-list{display:flex;flex-direction:column;gap:12px}.profile-list-item{display:flex;align-items:center;gap:14px;padding:14px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px}.profile-list-avatar{width:48px;height:48px;background:linear-gradient(135deg,var(--accent),#DC2626);border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:20px}.profile-list-info{flex:1}.profile-list-name{font-weight:600;margin-bottom:4px}.profile-list-desc{font-size:13px;color:var(--text-secondary)}.profile-list-actions{display:flex;gap:8px}.profile-list-actions button{padding:6px 12px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);font-size:12px;cursor:pointer}.profile-list-actions button:hover{border-color:var(--accent);color:var(--accent)}.sidebar{display:none}.app-container{display:flex;flex-direction:column;height:100vh;padding-bottom:70px}.chat-area{display:none}.chat-action-sheet{max-height:280px}.chat-action-sheet .bottom-sheet-body{padding:16px 20px 24px}.chat-action-buttons{display:flex;flex-direction:column;gap:8px}.chat-action-btn{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--bg-tertiary);border:1px solid var(--border-light, rgba(128, 128, 128, .15));border-radius:12px;color:var(--text-primary);font-size:15px;cursor:pointer;transition:all .2s}.chat-action-btn:hover{border-color:var(--accent)}.chat-action-btn.danger{color:var(--danger)}.chat-action-btn.danger:hover{border-color:var(--danger);background:#ef44441a}.bottom-sheet-overlay{position:fixed;inset:0;z-index:1000;pointer-events:none}.bottom-sheet-overlay.open{pointer-events:auto}.bottom-sheet-backdrop{position:absolute;inset:0;background:#00000080;opacity:0;transition:opacity .3s ease}.bottom-sheet-overlay.open .bottom-sheet-backdrop{opacity:1}.bottom-sheet{position:absolute;bottom:0;left:0;right:0;background:var(--bg-primary);border-radius:20px 20px 0 0;max-height:85vh;display:flex;flex-direction:column;transform:translateY(100%);transition:transform .3s ease}.message-context-sheet{padding-bottom:env(safe-area-inset-bottom,0)}.message-context-buttons{display:flex;flex-direction:column;gap:4px}.message-context-btn{display:flex;align-items:center;gap:14px;width:100%;padding:14px 16px;background:transparent;border:none;border-radius:12px;color:var(--text-primary);font-size:15px;font-weight:500;cursor:pointer;transition:background .15s}.message-context-btn:hover,.message-context-btn:active{background:var(--bg-tertiary)}.message-context-btn svg{color:var(--text-secondary);flex-shrink:0}.message-context-btn.danger{color:#ef4444}.message-context-btn.danger svg{color:#ef4444}.session-menu-sheet{padding-bottom:env(safe-area-inset-bottom,0)}.session-menu-buttons{display:flex;flex-direction:column;gap:4px}.session-menu-btn{display:flex;align-items:center;gap:14px;width:100%;padding:14px 16px;background:transparent;border:none;border-radius:12px;color:var(--text-primary);font-size:15px;font-weight:500;cursor:pointer;transition:background .15s}.session-menu-btn:hover,.session-menu-btn:active{background:var(--bg-tertiary)}.session-menu-btn svg{color:var(--text-secondary);flex-shrink:0}.session-menu-btn.danger{color:#ef4444}.session-menu-btn.danger svg{color:#ef4444}.session-rename-sheet{padding-bottom:env(safe-area-inset-bottom,0)}.rename-sheet-title{font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:16px}.rename-input{width:100%;padding:14px 16px;border:1px solid var(--border-color);border-radius:12px;background:var(--bg-tertiary);color:var(--text-primary);font-size:16px;outline:none;transition:border-color .2s,background .2s;box-sizing:border-box;margin-bottom:16px}.rename-input:focus{border-color:var(--primary-color);background:var(--bg-secondary)}.rename-input::placeholder{color:var(--text-tertiary)}.rename-confirm-btn{width:100%;padding:14px;background:var(--primary-color);color:#fff;border:none;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;transition:opacity .15s}.rename-confirm-btn:hover,.rename-confirm-btn:active{opacity:.9}.token-info-sheet{padding-bottom:env(safe-area-inset-bottom,0);max-height:70vh}.token-info-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:20px}.token-info-item{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;background:var(--bg-tertiary);border-radius:10px}.token-info-item.cached{background:#10b9811a}.token-label{color:var(--text-secondary);font-size:13px}.token-value{color:var(--text-primary);font-weight:600;font-size:14px;font-variant-numeric:tabular-nums}.token-info-breakdown{border-top:1px solid var(--border-light, rgba(128, 128, 128, .15));padding-top:16px}.token-info-breakdown h4{font-size:13px;font-weight:500;color:var(--text-secondary);margin:0 0 12px}.token-breakdown-item{display:flex;align-items:center;gap:10px;margin-bottom:10px}.token-breakdown-label{flex:0 0 90px;font-size:12px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.token-breakdown-bar{flex:1;height:6px;background:var(--bg-tertiary);border-radius:3px;overflow:hidden}.token-breakdown-fill{height:100%;background:var(--accent, #10b981);border-radius:3px;transition:width .3s ease}.token-breakdown-value{flex:0 0 55px;text-align:right;font-size:11px;color:var(--text-primary);font-variant-numeric:tabular-nums}.token-info-sheet-v2{padding-bottom:env(safe-area-inset-bottom,0);max-height:85vh;background:var(--bg-secondary)}.token-info-sheet-v2 .bottom-sheet-body{padding:8px 20px 20px}.token-section{padding:14px 0;border-bottom:1px solid var(--border-light, rgba(128, 128, 128, .12))}.token-section:last-child{border-bottom:none}.token-section-header{display:flex;justify-content:space-between;align-items:center}.token-section-title{font-size:14px;font-weight:500;color:var(--text-primary)}.token-section-value{font-size:15px;font-weight:600;color:var(--text-primary);font-variant-numeric:tabular-nums}.token-progress-bar{height:6px;background:var(--bg-tertiary);border-radius:3px;margin-top:10px;overflow:hidden}.token-progress-fill{height:100%;background:linear-gradient(90deg,#10b981,#34d399);border-radius:3px}.token-cached-info{font-size:12px;color:#10b981;margin-top:6px}.token-input-bar{display:flex;height:6px;background:var(--bg-tertiary);border-radius:3px;margin-top:10px;overflow:hidden}.token-input-used{height:100%;background:var(--accent)}.token-input-cached{height:100%;background:#10b981}.token-input-legend{display:flex;justify-content:space-between;margin-top:8px}.token-input-item{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary)}.token-input-dot{width:8px;height:8px;border-radius:50%}.token-input-item.used .token-input-dot{background:var(--accent)}.token-input-item.cached .token-input-dot{background:#10b981}.token-breakdown-list{margin-top:12px}.token-breakdown-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0}.token-breakdown-row .token-breakdown-label{flex:1;font-size:13px;color:var(--text-secondary)}.token-breakdown-values{display:flex;align-items:center;gap:10px}.token-breakdown-percent{font-size:12px;color:var(--text-tertiary);font-variant-numeric:tabular-nums}.token-breakdown-count{font-size:13px;font-weight:500;color:var(--text-primary);font-variant-numeric:tabular-nums;min-width:50px;text-align:right}.token-output-detail{font-size:12px;color:var(--text-secondary);margin-top:4px}.token-model-badge{display:inline-flex;align-items:center;padding:4px 10px;background:var(--accent, #a855f7);color:#fff;font-size:12px;font-weight:500;border-radius:12px}.token-timing-bar{display:flex;height:6px;background:var(--bg-tertiary);border-radius:3px;margin-top:10px;overflow:hidden}.token-timing-first{height:100%;background:var(--accent)}.token-timing-gen{height:100%;background:#10b981}.token-timing-legend{display:flex;justify-content:space-between;margin-top:8px}.token-timing-item{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary)}.token-timing-dot{width:8px;height:8px;border-radius:50%}.token-timing-item.first .token-timing-dot{background:var(--accent)}.token-timing-item.gen .token-timing-dot{background:#10b981}.token-section.cost-section{background:#a855f70d;margin:0 -20px;padding:14px 20px;border-bottom:none;border-radius:0 0 20px 20px}.token-cost-icon{margin-right:4px}.token-cost-value{font-size:20px;font-weight:700;color:var(--accent, #a855f7);font-variant-numeric:tabular-nums}.token-cost-krw{text-align:right;font-size:12px;color:var(--text-tertiary);margin-top:2px}.confirm-modal-overlay{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s}.confirm-modal-overlay.open{opacity:1;visibility:visible}.confirm-modal-backdrop{position:absolute;inset:0;background:#0009}.confirm-modal{position:relative;background:var(--bg-secondary);border-radius:20px;padding:28px 24px 24px;max-width:320px;width:calc(100% - 48px);text-align:center;transform:scale(.9);transition:transform .2s}.confirm-modal-overlay.open .confirm-modal{transform:scale(1)}.confirm-modal-icon{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;background:#a855f726;color:#a855f7}.confirm-modal-icon.danger{background:#ef444426;color:#ef4444}.confirm-modal-title{font-size:18px;font-weight:600;color:var(--text-primary);margin:0 0 8px}.confirm-modal-desc{font-size:14px;color:var(--text-secondary);line-height:1.5;margin:0 0 24px}.confirm-modal-warning{color:#ef4444;font-size:12px}.confirm-modal-info{color:var(--text-secondary);font-size:12px}.confirm-modal-buttons{display:flex;gap:12px}.confirm-modal-buttons.single{justify-content:center}.confirm-modal-buttons.single .confirm-modal-btn{flex:none;min-width:120px}.confirm-modal-btn{flex:1;padding:12px 16px;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;transition:all .15s}.confirm-modal-btn.cancel{background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-primary)}.confirm-modal-btn.cancel:hover{background:var(--bg-hover)}.confirm-modal-btn.danger{background:#ef4444;border:none;color:#fff}.confirm-modal-btn.danger:hover{background:#dc2626}.confirm-modal-btn.primary{background:var(--accent);border:none;color:#fff}.confirm-modal-btn.primary:hover{background:var(--accent-hover)}.chats-filters{display:none;gap:20px;padding:12px 16px;background:var(--bg-primary);border-top:1px solid rgba(0,0,0,.08);border-bottom:1px solid rgba(0,0,0,.08)}.chats-filter-btn{padding:4px 0;border-radius:0;font-size:16px;font-weight:600;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;transition:all .2s}.chats-filter-btn.active{background:transparent;border:none;color:var(--text-primary)}.chats-filter-btn:active{transform:scale(.97)}.hidden-toggle-btn{width:36px;height:36px;border-radius:50%;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.hidden-toggle-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.hidden-toggle-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.home-tab-bar{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:var(--bg-primary)}.home-tabs-left{display:flex;align-items:center;gap:20px}.ranking-period-select{padding:4px 8px;font-size:13px;font-weight:500;color:var(--text-primary);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;cursor:pointer;outline:none;margin-left:-8px}.ranking-period-select:focus{border-color:var(--accent)}.home-tab-btn{background:none;border:none;font-size:18px;font-weight:600;color:var(--text-secondary);cursor:pointer;padding:4px 0;transition:color .2s}.home-tab-btn.active{color:var(--text-primary)}.home-search-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--text-primary);cursor:pointer}.home-content-grid{display:grid;grid-template-columns:repeat(2,1fr);align-content:start;gap:8px;padding:8px 12px 100px;overflow-y:auto;flex:1;scrollbar-width:none;-ms-overflow-style:none;overscroll-behavior:contain}.home-content-grid::-webkit-scrollbar{display:none}.home-card-wrapper{display:flex;flex-direction:column;cursor:pointer}.home-card-wrapper:active .home-card{transform:scale(.98)}.home-card{position:relative;border-radius:12px;overflow:hidden;width:100%;padding-bottom:155%;height:0;background:linear-gradient(135deg,var(--bg-tertiary) 0%,var(--bg-secondary) 100%);transition:transform .1s}.home-card-inner{position:absolute;inset:0}.home-card-image{width:100%;height:100%;object-fit:cover}.home-card-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:64px;background:linear-gradient(135deg,#2a2a3d,#1a1a2e)}.home-card-plays{position:absolute;top:8px;left:8px;padding:2px 6px;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:4px;font-size:10px;color:#ccc;display:flex;align-items:center;gap:3px}.home-card-plays svg{opacity:.7}.home-card-recommend-badge{position:absolute;top:8px;right:8px;padding:3px 7px;background:#00000073;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:4px;font-size:9px;font-weight:500;color:#000000e6;letter-spacing:.3px}.home-card-overlay{position:absolute;bottom:0;left:0;right:0;padding:100px 12px 12px;background:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.3) 30%,rgba(0,0,0,.7) 60%,rgba(0,0,0,.85) 100%)}.home-card-title{font-size:15px;font-weight:600;color:#fff;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-card-desc{font-size:12px;color:#ffffffb3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.4;margin-bottom:6px}.home-card-tags{display:flex;flex-wrap:nowrap;gap:6px;overflow:hidden;align-items:center}.home-card-tag{font-size:11px;color:#ef4444;background:none;padding:0;white-space:nowrap;flex-shrink:0}.home-card-tag.unfilter{color:#fff;background:linear-gradient(135deg,#7F1D1D 0%,#991B1B 50%,var(--accent) 100%);padding:2px 6px;border-radius:4px;font-weight:600;box-shadow:0 2px 8px #6366f14d;font-size:9px}.empty-state-section{text-align:center;padding:60px 20px;color:var(--text-secondary);font-size:14px;grid-column:1 / -1}.search-modal{position:fixed;inset:0;background:var(--bg-primary);display:flex;flex-direction:column}.search-header{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border)}.search-input-wrap{flex:1;min-width:0;display:flex;align-items:center;gap:10px;background:var(--bg-tertiary);padding:10px 14px;border-radius:10px}.search-input-wrap svg{color:var(--text-secondary);flex-shrink:0}.search-input-wrap input{flex:1;min-width:0;background:none;border:none;color:var(--text-primary);font-size:15px;outline:none}.search-input-wrap input::placeholder{color:var(--text-secondary)}.search-close-btn{background:none;border:none;color:var(--accent);font-size:15px;font-weight:500;cursor:pointer;padding:8px;white-space:nowrap;flex-shrink:0}.search-results{flex:1;overflow-y:auto;padding:16px}.search-placeholder{text-align:center;color:var(--text-secondary);padding:40px}.search-results-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}#contentDetailModal.modal-overlay{background:transparent!important;padding:0!important;overflow:hidden!important}.content-detail-modal{position:fixed;inset:0;width:100%;height:100%;background:var(--bg-primary);overflow-x:hidden;overflow-y:auto;overscroll-behavior:none;-webkit-overflow-scrolling:touch;transform:translate(100%);opacity:0;transition:transform .3s ease,opacity .3s ease;scrollbar-width:none;-ms-overflow-style:none;display:flex;flex-direction:column}.content-detail-modal::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}.content-detail-modal .detail-content{flex:1}.content-detail-modal *::-webkit-scrollbar{display:none}.content-detail-modal *{scrollbar-width:none;-ms-overflow-style:none}body:has(.content-detail-modal.active){overflow:hidden}.content-detail-modal.active{transform:translate(0);opacity:1}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.detail-header{position:sticky;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:8px 12px;padding-top:calc(8px + env(safe-area-inset-top));z-index:100;background:transparent;transition:background .3s ease}.detail-header.scrolled{background:#000000f2}.detail-back-btn,.detail-menu-btn{width:32px;height:32px;border:none;background:transparent;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0}.detail-back-btn svg,.detail-menu-btn svg{width:20px;height:20px}.detail-header-title{flex:1;text-align:center;font-size:16px;font-weight:600;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 8px;opacity:0;transition:opacity .3s ease}.detail-header.scrolled .detail-header-title{opacity:1}.detail-menu-sheet{position:fixed;top:0;right:0;width:200px;background:var(--bg-secondary);border-radius:0 0 12px 12px;padding:8px;padding-top:calc(8px + env(safe-area-inset-top));animation:slideDown .2s ease-out;box-shadow:0 4px 20px #0000004d}@keyframes slideDown{0%{transform:translateY(-100%)}to{transform:translateY(0)}}.detail-menu-item{display:flex;align-items:center;gap:10px;padding:12px;color:var(--text-primary);cursor:pointer;border-radius:8px;font-size:14px}.detail-menu-item:hover{background:var(--bg-tertiary)}.detail-menu-item.danger{color:#ef4444}.detail-menu-item.danger svg{stroke:#ef4444}.detail-menu-cancel{display:none}.detail-close-btn{position:fixed;top:16px;right:16px;width:36px;height:36px;border-radius:50%;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:none;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10}.detail-image-container{position:relative;width:100%;aspect-ratio:3 / 4;flex-shrink:0;overflow:hidden;margin-top:calc(-48px - env(safe-area-inset-top))}.detail-image{width:100%;height:calc(100% + 60px);position:absolute;top:0;background:linear-gradient(135deg,var(--bg-tertiary) 0%,var(--bg-secondary) 100%);display:flex;align-items:flex-start;justify-content:center;font-size:80px}.detail-image img{width:100%;height:100%;object-fit:cover;object-position:top}.detail-image .img-loading-wrapper{width:100%;height:100%}.detail-image .img-loading-wrapper img{width:100%;height:100%;object-fit:cover;object-position:top}.detail-image-gradient{position:absolute;bottom:0;left:0;right:0;height:100px;background:linear-gradient(transparent,var(--bg-primary))}.detail-content{padding:0 20px 50px;flex:1}.detail-image-thumbnails{display:none;gap:8px;justify-content:flex-start;padding:16px 0 8px}.detail-image-thumbnails.has-multiple{display:flex}.detail-thumb-item{width:40px;height:40px;border-radius:8px;overflow:hidden;cursor:pointer;opacity:.5;transition:opacity .2s,transform .2s;border:2px solid transparent}.detail-thumb-item.active{opacity:1;border-color:var(--accent)}.detail-thumb-item:hover:not(.active){opacity:.8}.detail-thumb-item img{width:100%;height:100%;object-fit:cover}.detail-title{font-size:24px;font-weight:700;margin-top:16px;margin-bottom:12px}.detail-badges{display:flex;justify-content:flex-start;gap:8px;margin-bottom:8px}.detail-badge{padding:4px 10px;border-radius:4px;font-size:11px;font-weight:600}.detail-badge.unfilter{background:linear-gradient(135deg,#7F1D1D 0%,#991B1B 50%,var(--accent) 100%);color:#fff;box-shadow:0 2px 8px #6366f14d}.detail-badge.type{background:var(--accent);color:#fff}#detailTypeBadge{display:none}.detail-description{font-size:15px;line-height:1.6;color:var(--text-secondary);margin-bottom:10px}.detail-tags{font-size:14px;color:var(--text-secondary);margin-bottom:12px;line-height:1.5}.detail-meta-row{display:flex;justify-content:flex-start;align-items:center;gap:8px;margin-bottom:16px}.detail-play-badge{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:#00000080;background:var(--bg-tertiary);padding:4px 8px;border-radius:6px}.detail-play-badge svg{opacity:.7}.detail-creator-badge{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:#00000080;background:var(--bg-tertiary);padding:4px 8px;border-radius:6px}.detail-creator-badge .verified-icon{flex-shrink:0}.detail-divider{height:1px;background:var(--border);margin:16px 0}.detail-section-title{font-size:18px;font-weight:700;color:var(--text-primary);margin-bottom:20px}.detail-character-info{margin-bottom:0}.detail-char-header{display:flex;flex-direction:column;align-items:flex-start;text-align:left;margin-bottom:20px}.detail-char-header.mt-16{margin-top:24px;padding-top:20px;border-top:1px solid var(--border-light)}.detail-char-thumb{width:120px;height:120px;border-radius:12px;overflow:hidden;margin-bottom:12px}.detail-char-thumb img{width:100%;height:100%;object-fit:cover}.detail-char-name-row{display:flex;align-items:baseline;gap:8px;margin-bottom:4px}.detail-char-name{font-size:18px;font-weight:600;color:#fff}.detail-char-age,.detail-char-relationship{font-size:14px;color:var(--text-secondary)}.detail-char-section{margin-bottom:16px}.detail-char-section:last-child{margin-bottom:0}.detail-char-section-title{font-size:13px;font-weight:600;color:#000000b3;margin-bottom:12px}.detail-char-section-content{font-size:14px;line-height:1.6;color:var(--text-secondary);white-space:pre-line}.detail-intro,.detail-example-dialogues{margin-bottom:0}.detail-example-dialogues .detail-section-title{margin-top:16px}.detail-example-dialogues .detail-section-title:first-child{margin-top:0}.detail-intro-messages{display:flex;flex-direction:column;gap:12px}.detail-intro-messages .ai-content-block{margin-bottom:0;max-width:85%}.detail-intro-messages .ai-content-block.user-quote-wrapper{max-width:100%;width:100%;margin-right:0;justify-content:flex-end}.detail-intro-messages .user-quote-block{max-width:85%}.detail-intro-messages .narration-block,.detail-intro-messages .dialogue-block,.detail-intro-messages .thought-block,.detail-intro-messages .plain-text-block{max-width:100%}.detail-intro-narration{font-size:15px;line-height:1.7;color:#4b5563;font-style:italic;padding:12px;background:#f3f4f6;border-radius:8px;white-space:pre-wrap}.detail-intro-dialogue{background:#e5e5e5;border-radius:12px;padding:12px}.intro-dialogue-content{white-space:pre-wrap}.intro-dialogue-header{font-size:13px;font-weight:600;color:var(--accent);margin-bottom:6px}.intro-dialogue-content{font-size:15px;line-height:1.6;color:#1a1a1a}.detail-creator-section{padding:8px 0}.detail-creator-info{display:flex;align-items:center;gap:10px}.creator-name{font-size:14px;font-weight:500;color:var(--text-primary)}.detail-similar-section{margin:0 -20px;padding-bottom:0}.detail-similar-title{font-size:14px;color:var(--text-secondary);margin-bottom:12px;padding-left:20px}.detail-similar-scroll{display:flex;gap:12px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:4px}.detail-similar-scroll::-webkit-scrollbar{display:none}.detail-similar-scroll .home-card-wrapper{flex-shrink:0;width:140px}.detail-similar-scroll .home-card-wrapper:first-child{margin-left:20px}.detail-similar-scroll:after{content:"";flex-shrink:0;width:20px}.detail-similar-scroll .home-card,.detail-similar-scroll .home-card-image{height:180px}.detail-actions{position:sticky;bottom:-1px;display:flex;align-items:center;gap:8px;padding:10px 16px;padding-bottom:calc(10px + env(safe-area-inset-bottom));background:var(--bg-secondary);border-top:1px solid var(--border);z-index:10;flex-shrink:0;margin-top:auto}.detail-like-btn{width:36px;height:36px;border-radius:8px;background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;padding:0;cursor:pointer;transition:all .2s}.detail-like-btn svg{width:18px;height:18px}.detail-like-btn span{display:none}.detail-like-btn.liked{background:#ef444426;border-color:#ef4444;color:#ef4444}.detail-like-btn.liked svg{fill:#ef4444}.detail-main-actions{flex:1;display:flex;gap:8px}.detail-action-btn{flex:1;padding:10px 16px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;border:none}.detail-action-btn.primary{background:var(--accent);color:#fff}.detail-action-btn.primary:active{background:var(--accent-hover)}.detail-action-btn.secondary{background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-primary)}.detail-action-btn.secondary:active{background:var(--bg-secondary)}#globalLoadingOverlay{position:fixed;inset:0;background:#000000b3;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:200010;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;transition:opacity .2s ease-out;pointer-events:none}#globalLoadingOverlay.visible{opacity:1;pointer-events:auto}#globalLoadingOverlay .kaomoji-face{font-size:20px;color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.3);-webkit-user-select:none;user-select:none}.load-more-spinner{display:flex;justify-content:center;align-items:center;padding:30px 20px;grid-column:1 / -1}.load-more-spinner .spinner{width:32px;height:32px;border-width:2px}.img-loading-wrapper{position:relative;width:100%;height:100%;background:var(--bg-tertiary)}.img-loading-wrapper .spinner{position:absolute;top:50%;left:50%;margin-top:-12px;margin-left:-12px;width:24px;height:24px;border-width:2px}.img-loading-wrapper img{opacity:0;transition:opacity .3s ease}.img-loading-wrapper img.loaded{opacity:1}.img-loading-wrapper.loaded .spinner{display:none}.skeleton{background:linear-gradient(90deg,var(--bg-tertiary) 25%,var(--bg-secondary) 50%,var(--bg-tertiary) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s infinite ease-in-out}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.lazy-image-wrapper{position:relative;overflow:hidden;border-radius:12px}.lazy-image-wrapper img{display:block;width:100%;height:100%;object-fit:cover}.lazy-image-wrapper.loaded img{opacity:1}.lazy-image-wrapper .image-error{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:100px;color:var(--text-tertiary);font-size:12px;background:var(--bg-tertiary)}.chat-image-skeleton{width:100%;max-width:300px;aspect-ratio:1;border-radius:12px}.scene-image-skeleton{width:100%;height:100%;border-radius:12px}.character-hero-skeleton{width:100%;height:200px;border-radius:12px}.avatar-skeleton{width:40px;height:40px;border-radius:50%}.card-image-skeleton{width:100%;aspect-ratio:1;border-radius:12px}.load-more-trigger{height:1px;width:100%}.load-more-spinner{display:flex;justify-content:center;align-items:center;padding:16px}.load-more-spinner .spinner{width:24px;height:24px;border-width:2px}.carbon-section{padding:20px 16px;display:flex;flex-direction:column;align-items:center;gap:20px}.carbon-balance-card{width:100%;max-width:300px;background:linear-gradient(135deg,var(--bg-tertiary),var(--bg-secondary));border:1px solid var(--border);border-radius:16px;padding:24px;display:flex;align-items:center;gap:16px}.carbon-icon{flex-shrink:0}.carbon-balance-info{display:flex;flex-direction:column;gap:4px}.carbon-balance-label{font-size:13px;color:var(--text-secondary)}.carbon-balance-value{font-size:32px;font-weight:700;color:var(--text-primary)}.carbon-recharge-btn{width:100%;max-width:300px;padding:14px 24px!important;font-size:15px!important;display:flex!important;align-items:center;justify-content:center;gap:8px}.carbon-info-text{text-align:center;color:var(--text-secondary);font-size:12px;max-width:280px}.carbon-package-list{display:flex;flex-direction:column;gap:12px}.carbon-package{position:relative;padding:16px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:12px;cursor:pointer;transition:all .2s;display:flex;justify-content:space-between;align-items:center}.carbon-package:hover{border-color:var(--accent);background:rgba(var(--accent-rgb),.05)}.carbon-package.popular{border-color:var(--accent);background:rgba(var(--accent-rgb),.1)}.carbon-package-badge{position:absolute;top:-8px;left:12px;padding:2px 8px;background:var(--accent);color:#fff;font-size:10px;font-weight:600;border-radius:4px}.carbon-package-amount{font-size:16px;font-weight:600;color:var(--text-primary)}.carbon-package-bonus{font-size:12px;color:var(--accent);font-weight:500;margin-top:2px}.carbon-package-price{font-size:15px;font-weight:600;color:var(--text-primary)}.carbon-package-list-v2{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:0 4px}.carbon-package-item-v2{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px 12px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:16px;cursor:pointer;transition:all .2s ease;min-height:110px}.carbon-package-item-v2:hover{border-color:var(--accent);background:rgba(var(--accent-rgb),.05);transform:translateY(-2px)}.carbon-package-item-v2:active{transform:scale(.98)}.carbon-package-item-v2 .package-badge{position:absolute;top:-8px;left:50%;transform:translate(-50%);padding:2px 10px;background:var(--accent);color:#fff;font-size:10px;font-weight:600;border-radius:10px;white-space:nowrap}.carbon-package-item-v2 .package-amount{display:flex;align-items:baseline;gap:4px;margin-bottom:4px}.carbon-package-item-v2 .amount-value{font-size:22px;font-weight:700;color:var(--text-primary)}.carbon-package-item-v2 .amount-unit{font-size:13px;font-weight:500;color:var(--text-secondary)}.carbon-package-item-v2 .package-bonus{font-size:11px;color:var(--accent);font-weight:600;margin-bottom:8px}.carbon-package-item-v2 .package-price{font-size:14px;font-weight:600;color:var(--text-secondary)}.user-var-placeholder{background:#8b5cf633;color:#a78bfa;padding:1px 4px;border-radius:3px;font-size:.9em}.model-selector-btn{display:flex;align-items:center;gap:3px;padding:0 8px;height:24px;background:var(--bg-tertiary, rgba(128, 128, 128, .15));border:none;border-radius:10px;color:var(--text-secondary);font-size:11px;font-weight:500;cursor:pointer;transition:all .15s ease}.model-selector-btn:hover{background:var(--bg-secondary, rgba(128, 128, 128, .25));color:var(--text-primary)}.model-selector-btn:active{transform:scale(.98)}.model-selector-btn svg{opacity:.5}.model-option{display:flex;align-items:center;padding:14px 16px;background:#0000000a;border:1px solid rgba(0,0,0,.08);border-radius:12px;margin-bottom:10px;cursor:pointer;transition:all .15s ease}.model-option:hover{background:#00000014;border-color:#00000026}.model-option:active{transform:scale(.99)}.model-option.selected{background:rgba(var(--accent-rgb),.15);border-color:var(--accent)}.model-option-info{flex:1}.model-option-name{font-size:15px;font-weight:600;color:var(--text-primary);margin-bottom:2px}.model-option-desc{font-size:12px;color:var(--text-secondary)}.model-option-carbon{display:flex;align-items:center;gap:4px;padding:4px 8px;background:#00000014;border-radius:6px;font-size:12px;color:var(--text-secondary)}.model-option.selected .model-option-carbon{background:rgba(var(--accent-rgb),.2);color:var(--accent)}.model-option-carbon.free{background:#22c55e26;color:#22c55e;font-weight:500}.model-option.selected .model-option-carbon.free{background:#22c55e40;color:#4ade80}.model-option-check{width:20px;height:20px;margin-left:12px;display:none}.model-option.selected .model-option-check{display:block;color:var(--accent)}.pending-response-container{opacity:.9}.pending-content{display:flex;flex-direction:column;align-items:flex-start}.pending-message{display:flex;align-items:center;gap:12px;color:var(--text-secondary);font-size:14px}.pending-message.failed{color:#ef4444}.pending-message.failed svg{color:#ef4444}.pending-actions{display:flex;gap:8px;margin-top:16px}.pending-actions .btn-secondary{padding:8px 16px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s}.pending-actions .btn-secondary:hover{background:var(--accent);border-color:var(--accent);color:#fff}.pending-actions .btn-text{padding:8px 16px;background:transparent;border:none;color:var(--text-tertiary);font-size:13px;cursor:pointer;transition:color .15s}.pending-actions .btn-text:hover{color:var(--text-primary)}.memory-edit-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:12px;color:var(--text-secondary);font-size:14px}.memory-accordion{display:flex;flex-direction:column;gap:0;padding:0}.memory-accordion-item{background:transparent;border-radius:0;overflow:hidden;border:none;border-bottom:1px solid rgba(128,128,128,.12)}.memory-accordion-item:last-child{border-bottom:none}.memory-accordion-header{display:flex;align-items:center;padding:14px 16px;cursor:pointer;gap:8px;transition:background .15s}.memory-accordion-header:hover{background:#00000008}.accordion-title{flex:1;font-weight:600;font-size:13px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.accordion-count{font-size:11px;padding:2px 8px;border-radius:10px;font-weight:500;background:#80808026;color:var(--text-secondary)}.accordion-arrow{transition:transform .2s ease;color:var(--text-muted);flex-shrink:0}.memory-accordion-item.open .accordion-arrow{transform:rotate(180deg)}.memory-accordion-content{max-height:0;overflow:hidden;transition:max-height .3s ease-out;background:#00000026}.memory-accordion-item.open .memory-accordion-content{max-height:none;overflow-y:auto}.memory-layer-loading{display:flex;justify-content:center;padding:30px}.memory-layer-header{display:flex;align-items:center;justify-content:flex-end;padding:8px 12px;border-bottom:1px solid rgba(128,128,128,.08)}.memory-add-inline-btn{display:flex;align-items:center;gap:4px;padding:6px 12px;background:transparent;border:1px solid rgba(128,128,128,.2);border-radius:6px;color:var(--text-secondary);font-size:12px;cursor:pointer;transition:all .15s}.memory-add-inline-btn:hover{border-color:var(--accent);color:var(--accent)}.memory-layer-empty{display:flex;flex-direction:column;align-items:center;padding:24px 16px;gap:8px;color:var(--text-muted)}.empty-text{font-size:13px}.memory-add-btn{display:flex;align-items:center;gap:6px;margin-top:8px;padding:8px 16px;background:transparent;border:1px solid rgba(128,128,128,.2);border-radius:8px;color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s}.memory-add-btn:hover{border-color:var(--accent);color:var(--accent)}.memory-layer-item{padding:12px;border-bottom:1px solid rgba(128,128,128,.08)}.memory-layer-item:last-child{border-bottom:none}.memory-item-actions{display:flex;gap:8px;margin-top:10px}.memory-item-actions.compact{margin-top:0;flex-shrink:0}.memory-edit-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);font-size:12px;cursor:pointer;transition:all .15s}.memory-edit-btn:hover{border-color:var(--accent);color:var(--accent)}.memory-icon-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:all .15s}.memory-icon-btn:hover{border-color:var(--accent);color:var(--accent)}.memory-icon-btn.danger:hover{border-color:#ef4444;color:#ef4444}.memory-world-current{padding:12px}.world-info-list{display:flex;flex-direction:column;gap:10px}.world-info-row{display:flex;align-items:baseline;gap:12px}.world-info-label{font-size:12px;color:var(--text-muted);flex-shrink:0;min-width:40px}.world-info-value{font-size:14px;color:var(--text-primary);line-height:1.5}.memory-relationship-current{padding:12px}.relationship-desc{font-size:14px;color:var(--text-primary);line-height:1.5;margin-bottom:8px}.relationship-turn{font-size:11px;color:var(--text-muted)}.relationship-traits{padding:12px;border-top:1px solid rgba(128,128,128,.08)}.traits-label,.milestones-label{font-size:11px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.traits-list{display:flex;flex-wrap:wrap;gap:6px}.trait-tag{padding:4px 10px;background:color-mix(in srgb,var(--trait-color, #F472B6) 15%,transparent);color:var(--trait-color, #F472B6);border-radius:12px;font-size:12px;font-weight:500}.relationship-milestones{padding:12px;border-top:1px solid rgba(128,128,128,.08)}.milestones-list{display:flex;flex-direction:column;gap:8px}.milestone-item{display:flex;align-items:flex-start;gap:8px}.milestone-icon{font-size:14px}.milestone-event{font-size:13px;color:var(--text-primary);flex:1}.milestone-time{font-size:11px;color:var(--text-muted)}.memory-entity-list{display:flex;flex-direction:column}.entity-item .entity-header{display:flex;align-items:center;gap:10px}.entity-main{flex:1;min-width:0;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.entity-name{font-size:14px;font-weight:500;color:var(--text-primary)}.entity-type{font-size:11px;color:var(--text-muted);padding:2px 6px;background:#8080801a;border-radius:4px}.entity-relation{font-size:12px;color:var(--text-secondary)}.entity-traits{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}.entity-trait{padding:2px 8px;background:#60a5fa26;color:#60a5fa;border-radius:10px;font-size:11px}.entity-facts{margin-top:8px;padding-top:8px;border-top:1px solid rgba(128,128,128,.08)}.entity-fact{display:flex;align-items:flex-start;gap:8px;margin-bottom:4px}.fact-dot{width:4px;height:4px;background:var(--text-muted);border-radius:50%;margin-top:6px;flex-shrink:0}.fact-text{font-size:12px;color:var(--text-secondary);line-height:1.4}.entity-facts-more{font-size:11px;color:var(--text-muted);margin-top:4px}.entity-meta{margin-top:8px}.entity-turn{font-size:11px;color:var(--text-muted)}.memory-event-list{display:flex;flex-direction:column;gap:16px;padding:8px 0}.event-item{padding:12px;background:#0000000a;border:none;border-bottom:1px solid rgba(128,128,128,.12);border-radius:0;transition:background .15s}.event-item:last-child{border-bottom:none}.event-item:hover{background:#0000000f}.event-item .event-header{display:flex;align-items:flex-start;gap:12px;margin-bottom:8px}.event-importance{display:flex;align-items:center;justify-content:center;padding:3px 10px;border-radius:12px;font-size:11px;font-weight:500;flex-shrink:0;margin-top:2px}.event-main{flex:1;min-width:0}.event-title{display:block;font-size:15px;font-weight:600;color:var(--text-primary);margin-bottom:4px}.event-time{font-size:12px;color:var(--text-muted)}.event-desc{font-size:14px;color:var(--text-primary);line-height:1.6;margin-top:4px}.event-location{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-muted);margin-top:10px}.event-quotes{margin-top:10px;padding:10px 12px;background:#00000008;border-radius:8px}.event-quote{display:flex;gap:8px;margin-bottom:6px}.event-quote:last-child{margin-bottom:0}.quote-speaker{font-size:12px;font-weight:500;color:var(--text-secondary);flex-shrink:0}.quote-text{font-size:12px;color:var(--text-primary);font-style:italic}.event-meta{display:flex;align-items:center;gap:12px;margin-top:12px;padding-top:10px;border-top:1px solid rgba(128,128,128,.08)}.event-turn,.event-participants{font-size:11px;color:var(--text-muted)}.memory-quote-list{display:flex;flex-direction:column}.quote-item{position:relative;padding-right:60px}.quote-item .memory-item-actions.compact{position:absolute;top:12px;right:8px}.quote-item .quote-content{font-size:15px;color:var(--text-primary);line-height:1.5;margin-bottom:8px}.quote-mark{color:var(--accent);font-size:18px;font-weight:300}.quote-text{font-style:italic}.quote-item .quote-info{display:flex;align-items:center;gap:10px}.quote-item .quote-speaker{font-size:13px;font-weight:500;color:var(--text-primary)}.quote-item .quote-importance{padding:2px 8px;border-radius:10px;font-size:11px;font-weight:500}.quote-item .quote-situation{font-size:12px;color:var(--text-secondary);margin-top:6px}.quote-meta{display:flex;align-items:center;gap:12px;margin-top:8px}.quote-turn,.quote-time{font-size:11px;color:var(--text-muted)}.memory-layer-history{padding:0 12px 12px}.history-toggle{display:flex;align-items:center;gap:6px;padding:8px 0;cursor:pointer;color:var(--text-secondary);font-size:12px}.history-toggle:hover{color:var(--text-primary)}.history-toggle-arrow{transition:transform .2s}.history-toggle-arrow.rotated{transform:rotate(180deg)}.history-content{padding-top:8px}.history-content.collapsed{display:none}.history-item{padding:8px 0;border-bottom:1px solid rgba(128,128,128,.06)}.history-item:last-child{border-bottom:none}.history-turn{font-size:11px;color:var(--text-muted)}.history-detail{display:flex;gap:8px;margin-top:4px}.history-loc,.history-time{font-size:12px;color:var(--text-secondary)}.history-header{display:flex;align-items:center;gap:8px}.history-badge{padding:2px 6px;background:#fbbf2433;color:#fbbf24;border-radius:4px;font-size:10px;font-weight:500}.history-desc{font-size:13px;color:var(--text-primary);margin-top:4px}.history-context{font-size:12px;color:var(--text-secondary);margin-top:2px}.history-more{font-size:11px;color:var(--text-muted);padding:8px 0}.memory-edit-sheet{max-height:92vh;display:flex;flex-direction:column}.memory-edit-sheet .bottom-sheet-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid rgba(128,128,128,.1);flex-shrink:0}.edit-sheet-title{font-size:16px;font-weight:600;color:var(--text-primary);margin:0}.edit-sheet-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#8080801a;border:none;color:var(--text-secondary);cursor:pointer;border-radius:50%;transition:all .15s}.edit-sheet-close:hover{background:#80808033;color:var(--text-primary)}.memory-edit-sheet .bottom-sheet-body{flex:1;overflow-y:auto;padding:20px}.memory-edit-sheet .bottom-sheet-footer{display:flex;gap:12px;padding:16px 20px;padding-bottom:calc(16px + env(safe-area-inset-bottom,0));background:var(--bg-secondary);border-top:1px solid rgba(128,128,128,.1);flex-shrink:0}.memory-edit-form{display:flex;flex-direction:column;gap:16px}.memory-edit-form-group{display:flex;flex-direction:column;gap:6px}.memory-edit-form-label{font-size:13px;font-weight:500;color:var(--text-secondary)}.memory-edit-form-label .required{color:#ef4444;margin-left:2px}.memory-edit-form-input,.memory-edit-form-textarea,.memory-edit-form-select{width:100%;padding:12px 14px;background:var(--bg-tertiary);border:1px solid rgba(128,128,128,.15);border-radius:10px;color:var(--text-primary);font-size:14px;font-family:inherit;transition:border-color .15s}.memory-edit-form-input:focus,.memory-edit-form-textarea:focus,.memory-edit-form-select:focus{outline:none;border-color:var(--accent)}.memory-edit-form-textarea{min-height:100px;resize:vertical}.memory-edit-form-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 24 24' fill='none' stroke='%239ca3af' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}.edit-form-errors{margin-top:8px}.edit-error{padding:10px 12px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;color:#ef4444;font-size:13px;margin-bottom:8px}.edit-sheet-btn{flex:1;padding:14px;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .15s}.edit-sheet-btn.cancel{background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-secondary)}.edit-sheet-btn.cancel:hover{background:var(--bg-secondary);color:var(--text-primary)}.edit-sheet-btn.save{background:var(--accent);border:none;color:#fff}.edit-sheet-btn.save:hover{opacity:.9}.edit-sheet-btn.save:disabled{opacity:.5;cursor:not-allowed}.edit-sheet-btn .spinner.small{width:16px;height:16px;border-width:2px}.world-info-label,.relationship-turn,.milestone-time,.event-turn,.event-time,.event-location,.quote-turn,.quote-time,.history-turn,.history-loc,.history-time,.event-meta{color:#00000080!important}.event-meta .event-participants{color:#0000008c!important}.memory-load-more-btn{display:block;width:100%;margin:0;padding:14px 12px;background:#00000005;border:none;border-top:1px dashed rgba(0,0,0,.08);border-radius:0;color:#00000073;font-size:13px;cursor:pointer;transition:all .15s}.memory-load-more-btn:hover{background:#0000000d;color:#000000b3}.tts-toggle-section{padding:12px 0;border-bottom:1px solid rgba(0,0,0,.06)}.tts-toggle-row{display:flex;align-items:center;justify-content:space-between;padding:0 16px}.tts-toggle-info{display:flex;align-items:center;gap:10px}.tts-toggle-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#8b5cf61a;border-radius:8px;color:#8b5cf6}.tts-toggle-icon svg{width:18px;height:18px}.tts-toggle-text{display:flex;flex-direction:column;gap:2px}.tts-toggle-label{font-size:14px;font-weight:500;color:#000000d9}.tts-toggle-voice{font-size:12px;color:#00000073}.tts-toggle-switch{position:relative;display:inline-block;width:44px;height:24px;flex-shrink:0}.tts-toggle-switch input{opacity:0;width:0;height:0}.tts-toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:#00000026;transition:.3s;border-radius:24px}.tts-toggle-slider:before{position:absolute;content:"";height:20px;width:20px;left:2px;bottom:2px;background-color:#fff;transition:.3s;border-radius:50%;box-shadow:0 1px 3px #0003}.tts-toggle-switch input:checked+.tts-toggle-slider{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.tts-toggle-switch input:checked+.tts-toggle-slider:before{transform:translate(20px)}.voice-select-wrapper{display:flex;gap:8px;align-items:center}.voice-select-wrapper select{flex:1}.voice-preview-btn{display:flex;align-items:center;justify-content:center;gap:4px;padding:8px 12px;background:#8b5cf61a;border:1px solid rgba(139,92,246,.2);border-radius:8px;color:#8b5cf6;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.voice-preview-btn svg{width:16px;height:16px}.voice-preview-btn:hover{background:#8b5cf626;border-color:#8b5cf64d}.voice-preview-btn:active{transform:scale(.98)}.voice-preview-btn:disabled{opacity:.5;cursor:not-allowed}.voice-preview-btn.loading{pointer-events:none}.voice-preview-btn.loading svg{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.splash-screen{position:fixed;inset:0;background:var(--bg-primary, #FAF7F2);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:99999;transition:opacity .5s ease,visibility .5s ease;overflow:hidden}.splash-screen.modern-dark{background:linear-gradient(135deg,#0a0a0f,#12121a,#1a1a28 50%,#0f0f18)}.splash-screen.talisman-theme{background:linear-gradient(160deg,#f7e8c8,wheat,#f0d5a0,#ecd08d,#e8c878)}.splash-screen.fade-out{opacity:0;visibility:hidden;pointer-events:none}.particle-canvas{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;pointer-events:none}.gradient-overlay{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 0%,rgba(139,92,246,.15) 0%,transparent 50%),radial-gradient(ellipse at 80% 20%,rgba(212,175,55,.1) 0%,transparent 40%),radial-gradient(ellipse at 20% 80%,rgba(139,92,246,.08) 0%,transparent 40%);z-index:2;pointer-events:none}.brand-container{display:flex;flex-direction:column;align-items:center;gap:16px;z-index:10}.brand-text{font-family:"Noto Serif SC",Noto Sans KR,serif;font-size:72px;font-weight:700;letter-spacing:8px;margin:0;white-space:nowrap;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;background:linear-gradient(135deg,#d4af37,#f4e4bc,#d4af37,#c9a227,#d4af37);background-size:200% 200%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:none;opacity:0;transform:translateY(20px);animation:brandReveal 1.5s cubic-bezier(.16,1,.3,1) forwards;animation-delay:.3s}.brand-text.glow-active{animation:brandReveal 1.5s cubic-bezier(.16,1,.3,1) forwards,brandShimmer 4s ease-in-out infinite 2s}@keyframes brandReveal{0%{opacity:0;transform:translateY(20px);filter:blur(10px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}@keyframes brandShimmer{0%,to{background-position:0% 50%;filter:drop-shadow(0 0 20px rgba(212,175,55,.3))}50%{background-position:100% 50%;filter:drop-shadow(0 0 40px rgba(212,175,55,.5))}}.brand-tagline{font-family:Noto Sans KR,sans-serif;font-size:16px;font-weight:300;letter-spacing:4px;color:#fff9;margin:0;opacity:0;transform:translateY(10px);animation:taglineReveal 1s ease-out forwards;animation-delay:1s}@keyframes taglineReveal{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.modern-dark .splash-auth{background:linear-gradient(to top,rgba(10,10,15,.98) 0%,rgba(18,18,26,.95) 40%,rgba(26,26,40,.8) 70%,transparent 100%)}.modern-dark .splash-auth-google{background:#fffffff2;color:#1a1a1a;border:none;box-shadow:0 4px 20px #0000004d}.modern-dark .splash-auth-google:hover{background:#fff;box-shadow:0 6px 24px #d4af3733;transform:translateY(-2px)}.modern-dark .splash-auth-email-link{color:#ffffff80}.modern-dark .splash-auth-email-link:hover{color:#d4af37cc}.hanji-texture{position:absolute;inset:0;pointer-events:none;z-index:1;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 400 400' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");opacity:.12;mix-blend-mode:multiply}.talisman-border{position:absolute;inset:20px;border:3px solid rgba(139,69,19,.25);border-radius:8px;pointer-events:none;z-index:2}.talisman-border:before{content:"";position:absolute;inset:8px;border:1px solid rgba(139,69,19,.15);border-radius:4px}.hosingo-text{font-family:Nanum Brush Script,cursive;font-size:100px;color:#a41e1e;text-shadow:2px 2px 4px rgba(0,0,0,.15),0 0 40px rgba(164,30,30,.25),0 0 80px rgba(164,30,30,.15);letter-spacing:8px;position:relative;z-index:10;opacity:0;transform:scale(.85);animation:brushReveal 2s cubic-bezier(.16,1,.3,1) forwards;animation-delay:.3s}@keyframes brushReveal{0%{opacity:0;transform:scale(.85);filter:blur(8px)}50%{opacity:.7;filter:blur(2px)}to{opacity:1;transform:scale(1);filter:blur(0)}}.hosingo-text.glow-active{opacity:1;transform:scale(1);filter:blur(0);text-shadow:2px 2px 4px rgba(0,0,0,.15),0 0 50px rgba(164,30,30,.35),0 0 100px rgba(164,30,30,.2);animation:glowPulse 3s ease-in-out infinite}@keyframes glowPulse{0%,to{opacity:1;transform:scale(1);text-shadow:2px 2px 4px rgba(0,0,0,.15),0 0 40px rgba(164,30,30,.25),0 0 80px rgba(164,30,30,.15)}50%{opacity:1;transform:scale(1);text-shadow:2px 2px 4px rgba(0,0,0,.15),0 0 60px rgba(164,30,30,.4),0 0 120px rgba(164,30,30,.25)}}.splash-bg-char,.splash-matrix,.star-canvas,.hosingo-container,.hosingo-brush,.hosingo-text,.hanji-texture,.talisman-border,.crt-overlay,.crt-scanlines,.crt-vignette,.crt-glow,.crt-noise,.crt-flicker,.crt-bezel,.crt-rgb-shift,.traditional-overlay,.splash-phrase{display:none}.splash-content{position:absolute;inset:0;z-index:10;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 20px;transition:bottom .5s cubic-bezier(.32,.72,0,1)}.splash-screen.auth-visible .splash-content{bottom:150px}.splash-auth{position:absolute;bottom:0;left:0;right:0;padding:24px 20px calc(env(safe-area-inset-bottom,20px) + 24px);background:linear-gradient(to top,var(--bg-primary, #FAF7F2) 0%,rgba(250,247,242,.95) 50%,rgba(250,247,242,.8) 70%,rgba(250,247,242,.4) 85%,transparent 100%);z-index:200;display:flex;flex-direction:column;gap:12px;animation:slide-up .5s ease-out}.talisman-theme .splash-auth{background:linear-gradient(to top,rgba(232,200,120,.98) 0%,rgba(240,213,160,.95) 40%,rgba(245,222,179,.8) 70%,transparent 100%)}@keyframes slide-up{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.splash-auth-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:16px 20px;border-radius:14px;font-size:16px;font-weight:600;border:none;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.splash-auth-btn:active{transform:scale(.98)}.splash-auth-google{background:var(--bg-tertiary, #EDE8DE);color:var(--text-primary, #1C1917);border:1px solid var(--border, #D6D3D1)}.talisman-theme .splash-auth-google{background:#ffffffd9;color:#3d2c1e;border:1px solid rgba(139,69,19,.3);box-shadow:0 2px 8px #0000001a}.talisman-theme .splash-auth-google:hover{background:#fffffff2;border-color:#8b451380;box-shadow:0 4px 16px #8b451326}.splash-auth-google:hover{background:var(--bg-secondary, #F5F0E8);box-shadow:var(--shadow-md, 0 4px 12px rgba(28, 25, 23, .08))}.splash-auth-email-link{background:transparent;border:none;color:var(--text-secondary, #57534E);font-size:14px;padding:12px;cursor:pointer;transition:color .2s ease}.talisman-theme .splash-auth-email-link{color:#3d2c1eb3}.talisman-theme .splash-auth-email-link:hover{color:#8b4513}.splash-auth-email-link:hover{color:var(--text-primary, #1C1917)}.auth-fullscreen-modal{position:fixed;inset:0;z-index:200000;visibility:hidden;pointer-events:none;transition:visibility 0s .35s}.auth-fullscreen-modal.open{visibility:visible;pointer-events:auto;transition:visibility 0s 0s}.auth-fullscreen-modal .auth-modal-backdrop{position:absolute;inset:0;background:#0000004d;opacity:0;transition:opacity .3s ease}.auth-fullscreen-modal.open .auth-modal-backdrop{opacity:1}.auth-fullscreen-modal .auth-modal-content{position:absolute;top:0;right:0;bottom:0;width:100%;max-width:100%;background:var(--bg-primary, #FAF7F2);transform:translate(100%);transition:transform .35s cubic-bezier(.32,.72,0,1);display:flex;flex-direction:column;overflow:hidden}.auth-fullscreen-modal.open .auth-modal-content{transform:translate(0)}.auth-modal-header{display:flex;align-items:center;justify-content:center;position:relative;padding:16px 20px;padding-top:calc(env(safe-area-inset-top,16px) + 16px);background:var(--bg-primary, #FAF7F2);border-bottom:1px solid var(--border, #D6D3D1);flex-shrink:0}.auth-back-btn{position:absolute;left:20px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--text-secondary, #57534E);cursor:pointer;padding:8px;transition:color .2s}.auth-back-btn:hover{color:var(--text-primary, #1C1917)}.auth-back-btn svg{width:24px;height:24px}.auth-modal-title{font-size:18px;font-weight:600;color:var(--text-primary, #1C1917);margin:0}.email-auth-sheet{flex:1;background:var(--bg-primary, #FAF7F2);padding:24px 24px calc(env(safe-area-inset-bottom,20px) + 24px);overflow-y:auto;display:flex;flex-direction:column}.email-auth-header{text-align:center;padding:24px 0 20px}.email-auth-header h2{font-size:22px;font-weight:700;color:var(--text-primary, #1C1917);margin:0 0 8px}.email-auth-subtitle{font-size:14px;color:var(--text-secondary, #57534E);margin:0}.verification-icon{font-size:48px;margin-bottom:16px}.email-auth-form{display:flex;flex-direction:column;gap:16px}.auth-field{position:relative}.auth-field label{display:block;font-size:13px;font-weight:500;color:var(--text-secondary, #57534E);margin-bottom:8px}.auth-field input{width:100%;padding:16px;background:var(--bg-secondary, #F5F0E8);border:1px solid var(--border, #D6D3D1);border-radius:12px;color:var(--text-primary, #1C1917);font-size:16px;transition:border-color .2s;box-sizing:border-box;-webkit-appearance:none}.auth-field input:focus{outline:none;border-color:var(--accent, #B91C1C)}.auth-field input::placeholder{color:var(--text-tertiary, #A8A29E)}.auth-field-password{position:relative}.auth-field-password input{padding-right:50px}.password-toggle{position:absolute;right:16px;bottom:14px;background:none;border:none;color:var(--text-tertiary, #A8A29E);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center}.password-toggle:hover{color:var(--text-secondary, #57534E)}.auth-terms{margin:4px 0;padding:16px;background:var(--bg-secondary, #F5F0E8);border-radius:12px}.terms-checkbox,.terms-item{display:flex;align-items:center;gap:12px;cursor:pointer;padding:8px 0;color:var(--text-primary, #1C1917);font-size:15px}.terms-checkbox{font-weight:600;padding-bottom:12px;border-bottom:1px solid var(--border, #D6D3D1);margin-bottom:4px}.terms-checkbox input,.terms-item input{display:none}.checkmark{width:22px;height:22px;min-width:22px;border:2px solid var(--border, #D6D3D1);border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .2s}input:checked+.checkmark{background:var(--accent, #B91C1C);border-color:var(--accent, #B91C1C)}input:checked+.checkmark:after{content:"✓";color:#fff;font-size:14px;font-weight:700}.terms-item{font-size:14px;color:var(--text-secondary, #57534E)}.terms-link{margin-left:auto;color:var(--accent, #B91C1C);text-decoration:none;font-size:13px;flex-shrink:0}.terms-link:hover{text-decoration:underline}.forgot-password-btn{background:none;border:none;color:var(--text-tertiary, #A8A29E);font-size:14px;cursor:pointer;padding:8px 0;text-align:left;transition:color .2s}.forgot-password-btn:hover{color:var(--accent, #B91C1C)}.email-auth-actions{margin-top:24px}.auth-primary-btn{width:100%;padding:16px;background:var(--accent, #B91C1C);border:none;border-radius:12px;color:#fff;font-size:16px;font-weight:600;cursor:pointer;transition:opacity .2s,transform .2s}.auth-primary-btn:hover{opacity:.9}.auth-primary-btn:active{transform:scale(.98)}.auth-primary-btn:disabled{background:var(--border, #D6D3D1);color:var(--text-tertiary, #A8A29E);cursor:not-allowed}.auth-secondary-btn{width:100%;padding:14px;background:transparent;border:none;color:var(--text-secondary, #57534E);font-size:14px;cursor:pointer;margin-top:12px;transition:color .2s}.auth-secondary-btn:hover{color:var(--text-primary, #1C1917)}.auth-secondary-btn span{color:var(--accent, #B91C1C);font-weight:600}.splash-orbit{display:none}.creator-container{padding:104px 0 0;min-height:100%}.creator-header{display:none;justify-content:space-between;align-items:center;padding:20px 16px 16px;background:var(--bg-primary);position:fixed;top:0;left:0;right:0;z-index:51}#myWorksTab.active .creator-header{display:flex}.creator-header h2{font-size:18px;font-weight:600;color:var(--text-primary);margin:0}.creator-header-actions{display:flex;align-items:center;gap:8px}.creator-search-btn{width:36px;height:36px;border-radius:50%;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.creator-search-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.creator-header-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;background:var(--accent);color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease}.creator-header-btn:hover{opacity:.9}.creator-header-btn:active{transform:scale(.98)}.creator-fab{display:none}.creator-filters{display:none;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--bg-primary);border-top:1px solid rgba(0,0,0,.08);border-bottom:1px solid rgba(0,0,0,.08);position:fixed;top:56px;left:0;right:0;z-index:51}#myWorksTab.active .creator-filters{display:flex}.creator-filter-left{display:flex;gap:20px}.creator-filter-btn{padding:4px 0;border-radius:0;font-size:16px;font-weight:600;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;transition:all .2s}.creator-filter-btn.active{background:transparent;border:none;color:var(--text-primary)}.creator-filter-btn:active{transform:scale(.97)}.creator-sort-btn{display:flex;align-items:center;gap:4px;padding:6px 10px;background:var(--bg-tertiary);border:none;border-radius:6px;color:var(--text-secondary);font-size:13px;cursor:pointer;transition:all .2s}.creator-sort-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.creator-sort-modal{background:var(--bg-secondary);border-radius:12px;padding:16px;width:280px;max-width:90vw}.creator-sort-title{font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--border)}.creator-sort-option{display:flex;align-items:center;justify-content:space-between;width:100%;padding:12px;background:transparent;border:none;border-radius:8px;color:var(--text-secondary);font-size:15px;cursor:pointer;transition:all .2s}.creator-sort-option:hover{background:var(--bg-tertiary)}.creator-sort-option.active{color:var(--accent)}.creator-sort-option .check-icon{display:none;color:var(--accent)}.creator-sort-option.active .check-icon{display:block}.creator-list{padding:12px 0 80px;display:flex;flex-direction:column;gap:10px;scrollbar-width:none;-ms-overflow-style:none}.creator-list::-webkit-scrollbar{display:none}#myWorksTab{scrollbar-width:none;-ms-overflow-style:none}#myWorksTab::-webkit-scrollbar{display:none}.creator-bottom-bar{position:fixed;bottom:calc(60px + env(safe-area-inset-bottom));left:0;right:0;display:none;gap:8px;padding:10px 16px;background:var(--bg-primary);border-top:1px solid rgba(0,0,0,.08);z-index:50}#myWorksTab.active .creator-bottom-bar{display:flex}.creator-bottom-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 12px;border-radius:10px;font-size:14px;font-weight:600;border:none;cursor:pointer;transition:all .2s ease}.creator-bottom-btn svg{flex-shrink:0}.creator-bottom-btn--primary{background:var(--accent);color:#fff}.creator-bottom-btn--primary:hover{opacity:.9}.creator-bottom-btn--primary:active{transform:scale(.98)}.creator-bottom-btn--secondary{background:var(--bg-tertiary);color:var(--text-secondary)}.creator-bottom-btn--secondary:hover{background:var(--bg-secondary);color:var(--text-primary)}.creator-bottom-btn--secondary:active{transform:scale(.98);color:var(--text-secondary)}.creator-bottom-btn--secondary:focus{outline:none;color:var(--text-secondary)}.creator-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;color:var(--text-tertiary);text-align:center}.creator-empty svg{margin-bottom:12px;width:40px;height:40px}.creator-empty p{font-size:14px;margin-bottom:4px}.creator-empty span{font-size:13px;color:var(--text-tertiary);opacity:.7}.creator-create-btn{margin-top:16px;padding:10px 20px;border-radius:8px;background:var(--accent);border:none;color:#fff;font-size:14px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:all .2s}.creator-create-btn svg{width:14px;height:14px;flex-shrink:0;margin:0}.creator-create-btn span{color:#fff;line-height:1}.creator-create-btn:active{transform:scale(.97)}.creator-loading{display:flex;justify-content:center;align-items:center;padding:60px 20px}.creator-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.06)}.creator-item:last-child{border-bottom:none}.creator-item:active{background:var(--bg-tertiary)}.creator-item-image{width:48px;height:48px;border-radius:12px;background:var(--bg-tertiary);overflow:hidden;flex-shrink:0;display:flex;align-items:center;justify-content:center;position:relative}.creator-item-image img{width:100%;height:100%;object-fit:cover}.creator-item-image span{font-size:20px}.creator-item-plays-badge{display:inline-flex;align-items:center;gap:3px;margin-top:6px;padding:2px 6px;background:#00000014;border-radius:4px;font-size:11px;color:var(--text-secondary)}.creator-item-plays-badge svg{opacity:.7}.creator-item-info{flex:1;min-width:0}.creator-item-header{display:flex;align-items:center;gap:8px}.creator-item-name{font-size:15px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.creator-item-status{font-size:10px;padding:2px 6px;border-radius:4px;font-weight:500;flex-shrink:0}.creator-item-status.public{background:#22c55e26;color:#22c55e}.creator-item-status.private{background:#eab30826;color:#eab308}.creator-item-status.draft{background:#9ca3af26;color:#9ca3af}.creator-item-plays{font-size:11px;color:var(--text-tertiary);margin-left:auto}.creator-item-actions{display:flex;gap:4px;flex-shrink:0}.creator-action-btn{width:32px;height:32px;border-radius:8px;background:transparent;border:none;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.creator-action-btn:active{background:var(--bg-tertiary)}.creator-action-btn.edit:active{color:var(--accent)}.creator-action-btn.stats:active{color:#22c55e}.creator-item-menu{position:fixed;bottom:100px;left:50%;transform:translate(-50%);z-index:1000;background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:6px 0;min-width:200px;box-shadow:0 4px 20px #0000004d}.creator-item-menu button{display:flex;align-items:center;gap:10px;width:100%;padding:10px 16px;background:none;border:none;color:var(--text-primary);font-size:14px;cursor:pointer;text-align:left}.creator-item-menu button:active{background:var(--bg-tertiary)}.creator-item-menu button.danger{color:#ef4444}.editor-context-menu{bottom:auto;left:auto;transform:none;min-width:140px}.stats-fullscreen-modal{position:fixed;inset:0;background:var(--bg-primary);z-index:1000;transform:translate(100%);transition:transform .3s ease;display:flex;flex-direction:column}.stats-fullscreen-modal.open{transform:translate(0)}.stats-fullscreen-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:transparent;border-bottom:1px solid var(--border-light, rgba(128, 128, 128, .15));flex-shrink:0}.stats-back-btn{width:36px;height:36px;background:none;border:none;color:#333;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .2s}.stats-back-btn:hover{background:#00000014;color:#111}.stats-header-title{font-size:16px;font-weight:600;color:var(--text-primary)}.stats-fullscreen-content{flex:1;overflow-y:auto;padding:16px;scrollbar-width:none;-ms-overflow-style:none}.stats-fullscreen-content::-webkit-scrollbar{display:none}.stats-creation-info{display:flex;gap:14px;padding:16px;background:#0000000a;border-radius:14px;margin-bottom:16px}.stats-creation-image{width:72px;height:72px;border-radius:12px;background:var(--bg-tertiary);overflow:hidden;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:var(--text-tertiary)}.stats-creation-image img{width:100%;height:100%;object-fit:cover}.stats-creation-details{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center}.stats-creation-name{font-size:16px;font-weight:600;color:var(--text-primary);margin:0 0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stats-creation-desc{font-size:13px;color:var(--text-secondary);margin:0 0 8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.stats-creation-dates{display:flex;gap:12px;font-size:11px;color:var(--text-tertiary)}.stats-creation-dates span{display:flex;align-items:center;gap:4px}.creator-stats-modal{width:100%;height:100%;max-width:500px;background:var(--bg-primary);display:flex;flex-direction:column}.creator-stats-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border-light, rgba(128, 128, 128, .15))}.creator-stats-title{font-size:17px;font-weight:600;color:var(--text-primary)}.creator-stats-content{flex:1;overflow-y:auto;padding:16px;scrollbar-width:none;-ms-overflow-style:none}.creator-stats-content::-webkit-scrollbar{display:none}.stats-loading{display:flex;justify-content:center;padding:60px 0}.stats-error{text-align:center;padding:40px 20px;color:var(--text-tertiary)}.stats-period-tabs{display:flex;gap:8px;margin-bottom:16px}.stats-period-tab{flex:1;padding:10px;border-radius:10px;font-size:14px;font-weight:500;background:#0000000f;border:none;color:var(--text-secondary);cursor:pointer;transition:all .2s}.stats-period-tab.active{background:var(--accent);color:#fff}.stats-dashboard{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}.stats-hero-card{background:#0000000a;border-radius:14px;padding:16px;display:flex;align-items:center;gap:12px}.stats-hero-card.accent{background:linear-gradient(135deg,rgba(var(--accent-rgb),.15),rgba(var(--accent-rgb),.05))}.stats-hero-icon{width:44px;height:44px;border-radius:12px;background:#00000014;display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.stats-hero-card.accent .stats-hero-icon{background:rgba(var(--accent-rgb),.2);color:var(--accent)}.stats-hero-content{display:flex;flex-direction:column}.stats-hero-value{font-size:22px;font-weight:700;color:var(--text-primary);line-height:1.2}.stats-hero-label{font-size:12px;color:var(--text-secondary);margin-top:2px}.stats-divider{height:1px;background:#00000014;margin:16px 0}.stats-summary-row{display:flex;gap:16px;margin-bottom:20px}.stats-summary-item{display:flex;align-items:center;gap:6px;padding:8px 12px;background:#0000000a;border-radius:8px;color:var(--text-secondary)}.stats-summary-item.accent{background:rgba(var(--accent-rgb),.1);color:var(--accent)}.stats-summary-item svg{flex-shrink:0}.stats-summary-value{font-size:15px;font-weight:600;color:var(--text-primary)}.stats-summary-item.accent .stats-summary-value{color:var(--accent)}.stats-summary-label{font-size:12px;color:var(--text-secondary)}.stats-period-filter{display:flex;align-items:center;gap:4px;padding:6px 10px;background:var(--bg-tertiary);border:none;border-radius:6px;color:var(--text-secondary);font-size:13px;cursor:pointer;transition:all .2s}.stats-period-filter:hover{background:var(--bg-secondary);color:var(--text-primary)}.stats-period-menu{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:4px;box-shadow:0 4px 12px #0000004d;z-index:10000;min-width:80px}.stats-period-menu button{display:block;width:100%;padding:8px 12px;background:transparent;border:none;border-radius:6px;color:var(--text-secondary);font-size:13px;text-align:left;cursor:pointer;transition:all .15s}.stats-period-menu button:hover{background:#00000014;color:var(--text-primary)}.stats-period-menu button.active{background:var(--accent);color:#fff}.stats-info-section{background:#0000000a;border-radius:12px;padding:12px 14px;margin-bottom:16px}.stats-info-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0}.stats-info-row+.stats-info-row{border-top:1px solid rgba(0,0,0,.06)}.stats-info-label{font-size:13px;color:var(--text-secondary)}.stats-info-value{font-size:13px;font-weight:500;color:var(--text-primary)}.stats-section{margin-bottom:20px}.stats-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.stats-section-header h4{font-size:14px;font-weight:600;color:var(--text-primary);margin:0}.stats-section-sub{font-size:11px;color:var(--text-tertiary)}.stats-chart-card{background:#0000000a;border-radius:12px;padding:16px;overflow:hidden}.stats-chart-empty{display:flex;align-items:center;justify-content:center;height:100px;color:var(--text-tertiary);font-size:13px}.stats-chart-bars{display:flex;align-items:flex-end;justify-content:space-between;height:100px;gap:2px;overflow:visible;padding:0 12px;margin:0 -12px}.stats-chart-bar-container{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;height:100%}.stats-chart-bar{width:100%;max-width:16px;background:linear-gradient(180deg,var(--accent),rgba(var(--accent-rgb),.5));border-radius:3px 3px 0 0;position:relative;min-height:4px;margin-top:auto}.stats-chart-bar-value{position:absolute;top:-14px;left:50%;transform:translate(-50%);font-size:8px;color:var(--text-secondary);white-space:nowrap}.stats-chart-bar-label{font-size:9px;color:var(--text-tertiary);margin-top:6px}.stats-chart-bar-label.hidden{visibility:hidden}.stats-chart-bar-empty{width:100%;max-width:16px;height:1px;background:#0000001a;margin-top:auto}.stats-section-header .stats-period-tabs{display:flex;gap:4px;margin-bottom:0}.stats-section-header .stats-period-tab{padding:6px 12px;border-radius:6px;font-size:12px;font-weight:500;background:#0000000f;border:none;color:var(--text-secondary);cursor:pointer;transition:all .2s}.stats-section-header .stats-period-tab.active{background:var(--accent);color:#fff}.stats-metrics-dashboard{display:flex;flex-direction:column;gap:10px}.stats-metric-card{background:#0000000a;border-radius:12px;padding:14px}.stats-metric-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.stats-metric-icon{font-size:16px}.stats-metric-title{font-size:13px;color:var(--text-secondary);flex:1}.stats-metric-body{margin-bottom:8px}.stats-metric-value{font-size:24px;font-weight:700;color:var(--text-primary)}.stats-metric-bar{height:4px;background:#0000001a;border-radius:2px;overflow:hidden}.stats-metric-bar-fill{height:100%;background:var(--accent);border-radius:2px;transition:width .3s ease}.stats-metric-bar-fill.bar-good{background:linear-gradient(90deg,#22c55e,#16a34a)}.stats-metric-bar-fill.bar-normal{background:linear-gradient(90deg,var(--accent),var(--accent-dark, var(--accent)))}.stats-metric-bar-fill.bar-bad{background:linear-gradient(90deg,#ef4444,#dc2626)}.stats-badge{font-size:10px;font-weight:600;padding:3px 8px;border-radius:10px;text-transform:uppercase;letter-spacing:.3px}.stats-badge.good{background:#22c55e26;color:#22c55e}.stats-badge.normal{background:#f59e0b26;color:#f59e0b}.stats-badge.bad{background:#ef444426;color:#ef4444}.stats-metric-card{cursor:pointer;transition:background .2s}.stats-metric-card:active{background:#00000014}.stats-metric-info-icon{color:var(--text-tertiary);flex-shrink:0;margin-left:auto}.stats-metric-info-modal{position:fixed;inset:0;z-index:10001;display:flex;flex-direction:column;justify-content:flex-end}.stats-metric-info-overlay{position:absolute;inset:0;background:#0000;transition:background .3s ease}.stats-metric-info-modal.active .stats-metric-info-overlay{background:#00000080}.stats-metric-info-sheet{position:relative;background:var(--bg-secondary);border-radius:20px 20px 0 0;max-height:70vh;transform:translateY(100%);transition:transform .3s ease}.stats-metric-info-modal.active .stats-metric-info-sheet{transform:translateY(0)}.stats-metric-info-header{display:flex;align-items:center;justify-content:space-between;padding:20px 20px 16px;border-bottom:1px solid var(--border)}.stats-metric-info-header h3{font-size:18px;font-weight:600;color:var(--text-primary);margin:0}.stats-metric-info-close{width:32px;height:32px;border-radius:50%;background:#00000014;border:none;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer}.stats-metric-info-body{padding:20px;padding-bottom:calc(20px + env(safe-area-inset-bottom))}.stats-metric-info-desc{font-size:15px;line-height:1.6;color:var(--text-primary);margin:0 0 16px}.stats-metric-info-formula{background:#0000000a;border-radius:10px;padding:12px 14px;margin-bottom:16px}.stats-metric-info-formula .formula-label{display:block;font-size:11px;color:var(--text-tertiary);margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px}.stats-metric-info-formula .formula-value{font-size:14px;font-weight:500;color:var(--accent)}.stats-metric-info-tips{background:#0000000a;border-radius:10px;padding:12px 14px}.stats-metric-info-tips .tips-label{display:block;font-size:11px;color:var(--text-tertiary);margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.stats-metric-info-tips ul{margin:0;padding-left:18px}.stats-metric-info-tips li{font-size:13px;line-height:1.6;color:var(--text-secondary);margin-bottom:6px}.stats-metric-info-tips li:last-child{margin-bottom:0}.stats-actions{margin-top:8px}.stats-edit-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px;border-radius:12px;background:#0000000f;border:none;color:var(--text-primary);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.stats-edit-btn:hover{background:#0000001a}.stats-edit-btn:active{transform:scale(.98)}.character-editor{width:100%;height:100%;max-width:600px;max-height:100%;background:var(--bg-primary);display:flex;flex-direction:column;overflow:hidden}.editor-header{display:flex;align-items:center;justify-content:space-between;padding:8px;border-bottom:1px solid var(--border);background:var(--bg-primary);gap:4px}.editor-close-btn{width:40px;height:40px;border-radius:50%;background:transparent;border:none;color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center}.editor-title{flex:1;font-size:18px;font-weight:600;color:var(--text-primary)}.editor-header-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.editor-draft-btn{padding:8px 12px;border-radius:8px;background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer}.editor-publish-btn{padding:8px 16px;border-radius:8px;background:var(--accent);border:none;color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.editor-publish-btn:disabled{background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-secondary);cursor:not-allowed}.editor-menu-btn{width:36px;height:36px;border-radius:50%;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center}.editor-tabs{display:flex;padding:0 16px;border-bottom:1px solid var(--border);background:var(--bg-primary);overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.editor-tabs::-webkit-scrollbar{display:none}.editor-tab{padding:12px 16px;background:transparent;border:none;font-size:14px;font-weight:500;color:var(--text-tertiary);cursor:pointer;white-space:nowrap;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .2s}.editor-tab.active{color:var(--text-primary);border-bottom-color:var(--text-primary)}.editor-content{flex:1;overflow-y:auto;padding:0;scrollbar-width:none;-ms-overflow-style:none;position:relative}.editor-content::-webkit-scrollbar{display:none}.editor-tab-content{display:none;padding:20px 16px}.editor-tab-content.active{display:block}.editor-image-section{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.editor-image-header{display:flex;align-items:center;gap:8px}.editor-image-label{font-size:13px;color:var(--text-secondary)}.editor-image-count{font-size:12px;color:var(--text-tertiary);margin-right:auto}.editor-image-gen-btn{display:flex;align-items:center;gap:4px;padding:6px 10px;font-size:12px;font-weight:500;color:var(--accent);background:transparent;border:1px solid var(--accent);border-radius:16px;cursor:pointer;transition:all .2s}.editor-image-gen-btn:hover:not(:disabled){background:var(--accent);color:#fff}.editor-image-gen-btn:disabled{opacity:.4;cursor:not-allowed}.editor-image-gen-btn svg{flex-shrink:0}.editor-autofill-btn{display:flex;align-items:center;gap:4px;padding:6px 10px;font-size:12px;font-weight:500;color:var(--accent);background:transparent;border:1px solid var(--accent);border-radius:16px;cursor:pointer;transition:all .2s}.editor-autofill-btn:hover{background:var(--accent);color:#fff}.editor-autofill-btn svg{flex-shrink:0}.editor-images-row{display:flex;gap:8px;overflow-x:auto;padding:4px 0;scrollbar-width:none;align-items:center}.editor-images-row::-webkit-scrollbar{display:none}.editor-images-container{display:flex;gap:8px;flex-shrink:0}.editor-image-item{width:100px;height:100px;border-radius:12px;background:var(--bg-tertiary);overflow:hidden;position:relative;flex-shrink:0}.editor-image-item img{width:100%;height:100%;object-fit:cover}.editor-image-item.main:before{content:"";position:absolute;inset:0;border:2px solid var(--accent);border-radius:12px;pointer-events:none}.editor-image-item .image-delete-btn{position:absolute;top:4px;right:4px;width:20px;height:20px;border-radius:50%;background:#0009;border:none;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:1}.editor-image-add{width:100px;height:100px;border-radius:12px;background:var(--bg-tertiary);border:2px dashed var(--accent);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--accent);flex-shrink:0;transition:all .15s}.editor-image-add:active{transform:scale(.95)}.editor-image-add.hidden{display:none}.editor-image-item .main-badge{position:absolute;bottom:4px;left:4px;background:var(--accent);color:#fff;font-size:10px;font-weight:600;padding:2px 6px;border-radius:4px}#editorImagePreviewModal{z-index:10000}.image-preview-content{position:relative;background:var(--bg-secondary);border-radius:16px;max-width:90vw;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.image-preview-container{flex:1;display:flex;align-items:center;justify-content:center;padding:20px;min-height:200px;max-height:60vh;overflow:hidden}.image-preview-container img{max-width:100%;max-height:100%;object-fit:contain;border-radius:8px}.image-preview-actions{display:flex;gap:12px;padding:16px 20px;background:var(--bg-tertiary);justify-content:center;flex-wrap:wrap}.preview-action-btn{display:flex;align-items:center;gap:8px;padding:10px 16px;border-radius:8px;border:none;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s}.preview-action-btn.set-main{background:var(--accent);color:#fff}.preview-action-btn.set-main.disabled{background:var(--bg-secondary);color:var(--text-tertiary);cursor:default}.preview-action-btn.download{background:var(--bg-secondary);color:var(--text-primary);width:44px;height:44px;padding:0;justify-content:center}.preview-action-btn.delete{background:#ef444426;color:#ef4444;width:44px;height:44px;padding:0;justify-content:center}.preview-action-btn:not(.disabled):active{transform:scale(.95)}.image-preview-close{position:absolute;top:12px;right:12px;width:36px;height:36px;border-radius:50%;background:#00000080;border:none;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer}.editor-field{margin-bottom:20px;position:relative}.editor-field.half{flex:1;min-width:120px}.editor-field input,.editor-field textarea,.editor-field select{width:100%;padding:12px 14px;border-radius:10px;border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-primary);font-size:15px;font-family:inherit;resize:none;transition:border-color .2s}.editor-field input:focus,.editor-field textarea:focus,.editor-field select:focus{outline:none;border-color:var(--accent)}.editor-field textarea{min-height:100px;scrollbar-width:none;-ms-overflow-style:none}.editor-field textarea::-webkit-scrollbar{display:none}.editor-field input.multi-line{height:auto;min-height:60px;white-space:pre-wrap;word-wrap:break-word}.editor-field-count{position:absolute;right:12px;bottom:12px;font-size:11px;color:var(--text-tertiary);pointer-events:none}.editor-field-desc{font-size:13px;color:var(--text-tertiary);margin-top:6px;margin-bottom:10px}.editor-toggle{position:relative;display:inline-block;width:48px;height:28px}#imageSelectionModal.modal-overlay{position:fixed!important;inset:0!important;background:var(--bg-primary)!important;padding:0!important;z-index:10050!important;transform:translate(100%);transition:transform .3s ease,visibility 0s .3s;visibility:hidden}#imageSelectionModal.modal-overlay.active{transform:translate(0);visibility:visible;transition:transform .3s ease,visibility 0s 0s}#imageDetailModal.modal-overlay{z-index:10100!important}#imageSelectionModal>.image-modal{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;border-radius:0!important;background:var(--bg-primary);display:flex;flex-direction:column;overflow:hidden;margin:0!important}#imageSelectionModal *{max-width:100%!important}#imageSelectionModal .image-modal-header{display:flex;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border);flex-shrink:0}#imageSelectionModal .image-modal-title{flex:1;text-align:center;font-size:17px;font-weight:600;color:var(--text-primary)}#imageSelectionModal .image-modal-tabs{display:flex;border-bottom:1px solid var(--border);flex-shrink:0}#imageSelectionModal .image-modal-tab{flex:1;padding:12px;background:transparent;border:none;font-size:14px;font-weight:500;color:var(--text-tertiary);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}#imageSelectionModal .image-modal-tab.active{color:var(--text-primary);border-bottom-color:var(--text-primary)}#imageSelectionModal .image-modal-content{flex:1;overflow-y:auto;overflow-x:hidden;padding:16px;width:100%!important;max-width:100%!important;box-sizing:border-box;display:flex;flex-direction:column;min-height:0}#imageSelectionModal .image-tab-content{display:none;width:100%!important;max-width:100%!important;flex:1;box-sizing:border-box;min-height:0}#imageSelectionModal .image-tab-content.active{display:flex;flex-direction:column}#imageSelectionModal #imageTabGenerate.active{flex:1;overflow:hidden}#imageSelectionModal #imageTabUpload.active{justify-content:flex-start;align-items:stretch}#imageSelectionModal #imageTabGallery.active{flex:1;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}#imageSelectionModal #imageTabGallery.active::-webkit-scrollbar{display:none}#imageSelectionModal .generated-images-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;width:100%!important;max-width:100%!important}.image-upload-area{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;border:2px dashed var(--border);border-radius:12px;background:var(--bg-secondary);cursor:pointer;transition:all .2s;gap:12px;color:var(--text-tertiary);width:100%;box-sizing:border-box}.image-upload-area:hover{border-color:var(--accent);background:var(--bg-tertiary)}.image-upload-area span{font-size:14px}.image-upload-hint{font-size:12px!important;opacity:.7}#imageTabGenerate{display:none;flex-direction:column;height:100%}#imageTabGenerate.active{display:flex}.image-generate-form{display:flex;flex-direction:column;gap:16px;flex:1;width:100%!important;max-width:100%!important;box-sizing:border-box;overflow-y:auto;padding-top:8px;padding-bottom:0;scrollbar-width:none;-ms-overflow-style:none}.image-generate-form::-webkit-scrollbar{display:none}#imageSelectionModal .editor-field,#imageSelectionModal .editor-field textarea,#imageSelectionModal .editor-field input{width:100%!important;max-width:100%!important;box-sizing:border-box}#imageSelectionModal .image-model-carousel,#imageSelectionModal .image-gen-bottom-bar{width:100%!important;max-width:100%!important}.image-gen-bottom-bar{display:flex;flex-direction:column;gap:10px;padding:12px 0;border-top:1px solid var(--border);background:var(--bg-primary);margin-top:auto;width:100%;box-sizing:border-box}.image-gen-info-row{display:flex;align-items:center;gap:10px}.image-gen-cost{display:flex;align-items:center;justify-content:space-between;flex:1;padding:10px 14px;background:var(--bg-secondary);border-radius:8px;font-size:14px;color:var(--text-secondary)}.image-gen-cost span:last-child{font-weight:700;color:var(--accent)}.image-gen-count-select{width:70px;padding:10px 8px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);font-size:14px;cursor:pointer;flex-shrink:0}.image-gen-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:14px 20px;background:var(--accent);border:none;border-radius:8px;color:#fff;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s}.image-gen-btn:active{transform:scale(.98)}.image-model-carousel{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:4px 0 8px;align-content:start;width:100%}.image-model-card{width:100%;border-radius:12px;overflow:hidden;cursor:pointer;position:relative;border:2px solid transparent;transition:border-color .2s,transform .2s}.image-model-card.selected{border-color:var(--accent)}.image-model-card:active{transform:scale(.96)}.image-model-card-loader{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary)}.image-model-card-loader .spinner{width:24px;height:24px;border-width:2px}.image-model-card-image{width:100%;aspect-ratio:1;object-fit:cover;display:block;opacity:0;transition:opacity .3s ease}.image-model-card-overlay{position:absolute;bottom:0;left:0;right:0;padding:6px 8px;background:linear-gradient(transparent,#000c);color:#fff;font-size:11px;font-weight:600;text-align:center}.image-count-options{display:flex;gap:8px}.image-count-btn{flex:1;padding:10px 12px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;color:var(--text-secondary);font-size:14px;cursor:pointer;transition:all .2s}.image-count-btn.selected{background:var(--accent);border-color:var(--accent);color:#fff}.image-count-btn:active{transform:scale(.96)}.generated-images-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;width:100%;align-content:start}.generated-image-item{aspect-ratio:1;border-radius:12px;overflow:hidden;cursor:pointer;position:relative}.generated-image-item img{width:100%;height:100%;object-fit:cover}.generated-image-item:hover:after{content:"";position:absolute;inset:0;background:#0000004d}.gallery-empty{grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 20px;color:var(--text-tertiary);gap:12px}.gallery-empty span{font-size:14px}.gallery-loading{grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 20px;color:var(--text-tertiary);gap:12px}.gallery-loading span{font-size:14px}.image-detail-modal{position:relative;width:90%;max-width:500px;max-height:90%;display:flex;flex-direction:column;align-items:center;gap:16px}.image-detail-header{width:100%;display:flex;justify-content:space-between;align-items:center}.image-detail-header-left{display:flex;gap:8px}.image-detail-btn-small{width:40px;height:40px;border-radius:50%;background:#00000080;border:none;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.image-detail-btn-small:hover{background:#000000b3}.image-detail-btn-small.danger:hover{background:#ef4444cc}.image-detail-close{width:40px;height:40px;border-radius:50%;background:#00000080;border:none;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center}.image-detail-modal img{max-width:100%;max-height:60vh;border-radius:12px;object-fit:contain}.image-detail-actions{width:100%}.image-detail-apply-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 20px;border-radius:12px;background:var(--accent);border:none;color:#fff;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s}.image-detail-apply-btn:hover{opacity:.9}.image-detail-btn{display:flex;align-items:center;gap:8px;padding:12px 20px;border-radius:24px;background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-primary);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.image-detail-btn:hover{background:var(--bg-tertiary)}.image-detail-btn.danger{color:#ef4444}.image-detail-btn.danger:hover{background:#ef44441a}.editor-fullscreen{background:var(--bg-primary)!important;padding:0!important;transform:translate(100%);opacity:0;visibility:hidden;transition:transform .3s ease,opacity .3s ease,visibility .3s}.editor-fullscreen.active{display:flex!important;transform:translate(0);opacity:1;visibility:visible;align-items:stretch;justify-content:stretch}.editor-fullscreen .character-editor{max-width:100%;width:100%;height:100%;border-radius:0;flex:1}.editor-fullscreen .editor-tabs{padding:0}.editor-fullscreen .editor-tab{flex:1;text-align:center;padding:12px 8px}.editor-fullscreen .editor-content{padding:0}.editor-field-row{display:flex;gap:12px;margin-bottom:20px}.editor-field-row .editor-field{margin-bottom:0}.editor-field-row .editor-field.half{flex:1}.editor-section{background:var(--bg-secondary);border-radius:16px;padding:16px;margin-bottom:16px}.editor-section-header{display:flex;align-items:center;gap:8px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border)}.editor-section-title{font-size:15px;font-weight:600;color:var(--text-primary)}.editor-section-content .editor-field:last-child{margin-bottom:0}.editor-section-content .editor-field-row:last-child{margin-bottom:0}.editor-intro-section{margin-top:24px;margin-bottom:16px}.editor-intro-header{margin-bottom:12px}.editor-intro-header label{font-size:14px;font-weight:600;color:var(--text-primary)}.intro-preview-area{background:var(--bg-secondary);border-radius:12px;min-height:200px;max-height:400px;overflow-y:auto;padding:16px;border:1px solid var(--border)}.intro-preview-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:150px;color:var(--text-tertiary);gap:8px}.intro-preview-empty span{font-size:13px}.intro-block{margin-bottom:12px;position:relative;animation:fadeIn .3s ease}.intro-block:last-child{margin-bottom:0}.intro-block.narration{padding:12px 16px;background:#f3f4f6;border-left:3px solid var(--accent);border-radius:0 8px 8px 0;color:#4b5563;font-style:italic;white-space:pre-wrap}.intro-block.dialogue{background:#e5e5e5;padding:12px 16px;border-radius:4px 16px 16px;max-width:85%;color:#1a1a1a;white-space:pre-wrap}.intro-block.thought{padding:12px 16px;background:#8b5cf61a;border-left:3px solid var(--accent);border-radius:0 8px 8px 0;color:#a78bfa;font-style:italic;white-space:pre-wrap}.intro-block.thought:before{content:"💭 "}.intro-block-actions{position:absolute;top:4px;right:4px;display:flex;gap:4px}.intro-block-btn{width:24px;height:24px;border-radius:4px;background:var(--bg-primary);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.intro-block-btn:hover{color:var(--text-primary);background:var(--bg-tertiary)}.intro-block-btn.delete:hover{color:#ef4444;background:#ef44441a}.editor-intro-composer{background:var(--bg-secondary);border-radius:12px;padding:12px;border:1px solid var(--border)}.intro-type-selector{display:flex;gap:8px;margin-bottom:12px}.intro-type-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 12px;border-radius:8px;background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.intro-type-btn:hover{background:var(--bg-primary);color:var(--text-primary)}.intro-type-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.intro-type-btn.active[data-type=thought]{background:var(--accent);border-color:var(--accent)}.editor-intro-composer textarea{width:100%;padding:12px;border-radius:8px;background:var(--bg-primary);border:1px solid var(--border);color:var(--text-primary);font-size:14px;resize:none;margin-bottom:12px}.editor-intro-composer textarea:focus{outline:none;border-color:var(--accent)}.intro-composer-actions{display:flex;justify-content:flex-end}.intro-add-btn{display:flex;align-items:center;gap:6px;padding:10px 16px;border-radius:8px;background:var(--accent);border:none;color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.intro-add-btn:hover{background:var(--accent-hover)}.intro-add-btn:disabled{opacity:.5;cursor:not-allowed}.intro-chat-tab{flex-direction:column;padding:0!important;position:absolute;inset:0}.intro-chat-tab.active{display:flex}.intro-chat-preview{flex:1;overflow-y:auto;padding:16px;background:var(--bg-primary);display:flex;flex-direction:column;gap:12px}.intro-chat-empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-tertiary);font-size:14px}.intro-block-wrapper{position:relative;margin:0;max-width:85%}.intro-block-wrapper.user-block-wrapper{display:flex;flex-direction:column;align-items:flex-end;margin-left:auto}.intro-block-wrapper.user-block-wrapper .message.user{max-width:100%}.intro-message-delete{display:none}.intro-input-bar{background:var(--bg-primary);border-top:1px solid rgba(0,0,0,.08);padding:10px 16px;padding-bottom:calc(10px + env(safe-area-inset-bottom,0px));flex-shrink:0}.intro-type-row{display:flex;align-items:center;gap:12px;margin-bottom:10px}.intro-type-tabs{display:flex;gap:6px;flex:1}.intro-type-tab{flex:1;padding:6px 10px;border-radius:8px;font-size:13px;font-weight:500;background:transparent;border:1px solid rgba(0,0,0,.15);color:var(--text-secondary);cursor:pointer;transition:all .2s}.intro-type-tab.active{background:#0000001a;border-color:#0003;color:var(--text-primary)}.intro-input-row{display:flex;gap:8px;align-items:flex-end}.intro-insert-btn.user-marker-btn{padding:6px 10px;border-radius:8px;font-size:12px;font-weight:500;background:transparent;border:1px solid rgba(0,0,0,.15);color:var(--text-secondary);cursor:pointer;transition:all .15s;white-space:nowrap;flex-shrink:0}.intro-insert-btn.user-marker-btn:hover{border-color:#0000004d;color:var(--text-primary)}.intro-insert-btn.asterisk-btn{width:36px;height:36px;padding:0;border-radius:8px;font-size:18px;font-weight:400;background:transparent;border:1px solid rgba(0,0,0,.15);color:var(--text-secondary);cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center;flex-shrink:0}.intro-insert-btn.asterisk-btn:hover{border-color:#0000004d;color:var(--text-primary)}.intro-insert-btns{display:none}.intro-insert-btn{padding:6px 10px;border-radius:8px;font-size:11px;font-weight:500;background:transparent;border:1px solid rgba(0,0,0,.15);color:var(--text-secondary);cursor:pointer;transition:all .15s;white-space:nowrap}.intro-insert-btn:hover{border-color:#0000004d;color:var(--text-primary)}.intro-insert-btn:active{background:#0000000d}.intro-image-btn{width:36px;height:36px;border-radius:8px;background:transparent;border:1px solid rgba(0,0,0,.15);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:all .15s}.intro-image-btn:hover{border-color:#0000004d;color:var(--text-primary)}.intro-input-row textarea{flex:1;padding:8px 14px;border-radius:8px;border:1px solid rgba(0,0,0,.1);background:#0000000d;color:var(--text-primary);font-size:14px;resize:none;height:36px;min-height:36px;max-height:100px;line-height:20px;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}.intro-input-row textarea::-webkit-scrollbar{display:none}.intro-input-row textarea:focus{outline:none;border-color:#0003}.intro-send-btn,.intro-add-btn{width:36px;height:36px;border-radius:8px;background:#0000001a;border:none;color:var(--text-primary);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:all .2s}.intro-send-btn:hover,.intro-add-btn:hover{background:#00000026}.intro-send-btn:disabled,.intro-add-btn:disabled{opacity:.3;cursor:not-allowed}.intro-add-btn.editing{background:#00000026;color:#10b981}.intro-add-btn.editing:hover{background:#0003}.intro-block-wrapper{position:relative;cursor:pointer;border-radius:8px}.intro-block-actions-overlay{display:none;position:absolute;top:50%;right:8px;transform:translateY(-50%);gap:4px;padding:4px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;box-shadow:0 2px 8px #0003;z-index:10}.intro-block-wrapper.selected .intro-block-actions-overlay{display:flex}.intro-action-btn{width:28px;height:28px;border-radius:6px;background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s}.intro-action-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.intro-action-btn.delete:hover{background:#fee2e2;color:#ef4444;border-color:#fca5a5}.user-marker{background:#8b5cf633;color:#a78bfa;padding:1px 4px;border-radius:4px;font-weight:500}.intro-image-wrapper{display:flex;justify-content:center;padding:8px 0}.intro-image-block{max-width:280px;border-radius:12px;overflow:hidden;background:var(--bg-tertiary)}.intro-image-block img{width:100%;height:auto;display:block;cursor:pointer}.intro-image-block-chat,.situational-image-block-chat{display:flex;justify-content:center;padding:8px 0}.intro-image-block-chat img,.situational-image-block-chat img{width:100%;max-width:100%;max-height:70vh;border-radius:12px;object-fit:contain;cursor:pointer}.intro-image-select-modal{background:var(--bg-secondary);border-radius:16px;width:90%;max-width:320px;max-height:70vh;overflow:hidden;display:flex;flex-direction:column}.intro-image-select-header{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid var(--border)}.intro-image-select-header span{font-size:16px;font-weight:600}.intro-image-select-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:16px;overflow-y:auto}.intro-image-section-title{grid-column:1 / -1;font-size:12px;font-weight:600;color:var(--text-secondary);padding:8px 0 4px;border-bottom:1px solid var(--border);margin-bottom:4px}.intro-image-section-title:first-child{padding-top:0}.intro-image-select-item{aspect-ratio:1;border-radius:8px;overflow:hidden;cursor:pointer;border:2px solid transparent;transition:all .15s}.intro-image-select-item:hover{border-color:var(--accent)}.intro-image-select-item img{width:100%;height:100%;object-fit:cover}.intro-image-bottom-sheet{max-height:80vh!important}.intro-image-select-body{max-height:calc(80vh - 80px);overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none;padding:16px 20px}.intro-image-select-body::-webkit-scrollbar{display:none}.intro-image-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.intro-image-item{aspect-ratio:1;border-radius:8px;overflow:hidden;cursor:pointer;background:var(--bg-tertiary);border:2px solid transparent;transition:all .15s}.intro-image-item:hover{border-color:var(--accent);transform:scale(1.02)}.intro-image-item img{width:100%;height:100%;object-fit:cover}.intro-image-empty{grid-column:1 / -1;text-align:center;padding:40px 20px;color:var(--text-secondary);font-size:14px}#autofillConfirmModal,#storyAutofillModal{display:none;position:fixed;inset:0;z-index:1000;transform:translate(100%);transition:transform .3s ease,visibility .3s ease;visibility:hidden;background:#00000080}#autofillConfirmModal.active,#storyAutofillModal.active{transform:translate(0);visibility:visible}.autofill-modal{position:absolute;inset:0;width:100%;height:100%;background:var(--bg-secondary);display:flex;flex-direction:column;overflow:hidden}.autofill-modal-header{display:flex;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.autofill-modal-title{flex:1;text-align:center;font-size:17px;font-weight:600;color:var(--text-primary)}.story-autofill-tabs{display:flex;border-bottom:1px solid var(--border);flex-shrink:0}.story-autofill-tab{flex:1;padding:12px;background:transparent;border:none;font-size:14px;font-weight:500;color:var(--text-tertiary);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.story-autofill-tab.active{color:var(--text-primary);border-bottom-color:var(--text-primary)}.story-autofill-tab-content{display:none;flex-direction:column;flex:1;overflow:hidden}.story-autofill-tab-content.active{display:flex}.autofill-desc-section{margin-top:-8px}.autofill-desc-textarea{width:100%;padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--bg-tertiary);color:var(--text-primary);font-size:14px;line-height:1.5;resize:none;font-family:inherit}.autofill-desc-textarea:focus{outline:none;border-color:var(--text-secondary)}.autofill-desc-textarea::placeholder{color:var(--text-tertiary)}.autofill-modal-content{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:20px}.autofill-desc{font-size:13px;color:var(--text-secondary);line-height:1.5;margin:0}.autofill-option-section{background:var(--bg-tertiary);border-radius:12px;padding:14px 16px}.autofill-option-row{display:flex;justify-content:space-between;align-items:center}.autofill-option-label{font-size:14px;font-weight:500;color:var(--text-primary)}.autofill-tag-section{margin-bottom:20px}.autofill-tag-label{display:block;font-size:13px;font-weight:500;color:var(--text-secondary);margin-bottom:12px}.autofill-tag-label .optional-label{font-weight:400;color:var(--text-tertiary);font-size:12px}.autofill-tag-chips{display:flex;flex-wrap:wrap;gap:8px}.autofill-tag-chip{padding:8px 14px;border-radius:20px;border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.autofill-tag-chip:hover{background:var(--bg-tertiary);border-color:var(--text-tertiary)}.autofill-tag-chip.selected{background:var(--accent);border-color:var(--accent);color:#fff}.autofill-model-section{transition:opacity .2s,pointer-events .2s}.autofill-model-section.disabled{opacity:.4;pointer-events:none}.autofill-model-label{display:block;font-size:13px;font-weight:500;color:var(--text-secondary);margin-bottom:12px}.autofill-bottom-bar{position:sticky;bottom:0;left:0;right:0;padding:12px 16px;padding-bottom:calc(12px + env(safe-area-inset-bottom));background:var(--bg-secondary);border-top:1px solid var(--border);flex-shrink:0}.autofill-submit-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 20px;background:var(--accent);color:#fff;border:none;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s}.autofill-submit-btn:active{transform:scale(.98)}.autofill-cost{background:#00000040;padding:2px 8px;border-radius:8px;font-size:12px;font-weight:600}.tab-status{margin-left:4px;display:inline-flex;align-items:center}.tab-required{color:#ef4444;font-size:12px;font-weight:600}.editor-tab .tab-check{color:var(--accent);font-size:12px}.editor-tab .tab-check.hidden{display:none}.tab-status:has(.tab-check:not(.hidden)) .tab-required{display:none}.field-status{display:inline-flex;align-items:center;margin-left:2px}.field-required{color:#ef4444;font-weight:600}.field-status .field-check{color:var(--accent);font-size:inherit;position:static;transform:none}.field-status .field-check.hidden{display:none}.field-status:has(.field-check:not(.hidden)) .field-required{display:none}.editor-field-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.editor-field-header label{margin-bottom:0}.char-counter{font-size:12px;color:var(--text-tertiary);font-weight:400}.required{color:#ef4444;font-weight:600;margin-left:2px}.editor-field-hint{font-size:12px;color:var(--text-tertiary);margin-top:6px;margin-bottom:0;line-height:1.4}.editor-field{position:relative}.editor-field-row{display:flex;gap:12px}.editor-field-row .editor-field{flex:1}.editor-section-desc{font-size:13px;color:var(--text-tertiary);margin:0 0 12px;padding:0 4px}.visibility-options{display:flex;flex-direction:column;gap:10px}.visibility-option{display:block;cursor:pointer}.visibility-option input[type=radio]{display:none}.visibility-card{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--bg-tertiary);border:2px solid var(--border);border-radius:12px;transition:all .2s}.visibility-icon{width:24px;height:24px;flex-shrink:0;color:var(--text-tertiary);transition:color .2s}.visibility-content{flex:1;display:flex;flex-direction:column;gap:2px}.visibility-radio{width:20px;height:20px;border:2px solid var(--border);border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all .2s}.visibility-radio-inner{width:10px;height:10px;border-radius:50%;background:transparent;transition:background .2s}.visibility-option input[type=radio]:checked+.visibility-card{border-color:var(--accent);background:rgba(var(--accent-rgb),.1)}.visibility-option input[type=radio]:checked+.visibility-card .visibility-icon{color:var(--accent)}.visibility-option input[type=radio]:checked+.visibility-card .visibility-radio{border-color:var(--accent)}.visibility-option input[type=radio]:checked+.visibility-card .visibility-radio-inner{background:#fff}.visibility-option input[type=radio]:checked+.visibility-card .visibility-title{color:#fff}.visibility-title{font-size:15px;font-weight:600;color:var(--text-tertiary);transition:color .2s}.visibility-desc{font-size:13px;color:var(--text-tertiary)}.example-dialogue-list{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.example-dialogue-item{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:12px;padding:12px 14px;cursor:pointer;transition:all .2s}.example-dialogue-item:hover{border-color:var(--accent)}.example-dialogue-preview{font-size:14px;color:var(--text-secondary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.5}.example-add-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px;background:var(--bg-tertiary);border:2px dashed var(--border);border-radius:12px;color:var(--text-secondary);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.example-add-btn:hover{border-color:var(--accent);color:var(--accent)}.example-add-btn:disabled{opacity:.5;cursor:not-allowed}.editor-field label{display:block;font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:8px}.editor-field input,.editor-field textarea,.editor-field select{min-height:46px;padding:12px 14px;font-size:16px;border-radius:10px;border:1px solid var(--border);background:var(--bg-tertiary);color:var(--text-primary);transition:border-color .2s,box-shadow .2s;width:100%;box-sizing:border-box}.editor-field textarea{min-height:auto;resize:none;line-height:1.5}.editor-field input:focus,.editor-field textarea:focus,.editor-field select:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.15);outline:none}.editor-field input::placeholder,.editor-field textarea::placeholder{color:var(--text-tertiary)}.editor-field.valid input,.editor-field.valid textarea{border-color:var(--accent)}.editor-field.valid .field-check{display:block}.editor-setting-item{display:flex;align-items:center;justify-content:space-between;padding:16px 0;border-bottom:1px solid var(--border)}.editor-setting-item:last-child{border-bottom:none}.editor-setting-item.no-border{border-bottom:none;padding-bottom:0}.editor-setting-info{display:flex;flex-direction:column;gap:4px}.editor-setting-label{font-size:15px;font-weight:500;color:var(--text-primary)}.editor-setting-desc{font-size:13px;color:var(--text-tertiary)}.editor-toggle{position:relative;display:inline-block;width:48px;height:28px;flex-shrink:0}.editor-toggle input{opacity:0;width:0;height:0}.editor-toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:var(--bg-tertiary);transition:.3s;border-radius:28px}.editor-toggle-slider:before{position:absolute;content:"";height:22px;width:22px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%}.editor-toggle input:checked+.editor-toggle-slider{background-color:var(--accent)}.editor-toggle input:checked+.editor-toggle-slider:before{transform:translate(20px)}.editor-section-header{display:flex;justify-content:space-between;align-items:center}.editor-section-header .char-counter{margin-left:auto;margin-right:12px}.editor-section-header .editor-toggle{margin-left:0}.editor-section.no-border{border-bottom:none;margin-bottom:0;padding-bottom:8px}.editor-section.no-header-border .editor-section-header{border-bottom:none;padding-bottom:0;margin-bottom:8px}.editor-section.no-border+.editor-section.no-border{margin-top:16px}.fullscreen-modal{position:fixed;inset:0;z-index:1000;display:flex;transform:translate(100%);transition:transform .3s ease;pointer-events:none}.fullscreen-modal.active{transform:translate(0);pointer-events:auto}.example-dialogue-modal{background:var(--bg-primary);width:100%;height:100%;display:flex;flex-direction:column}.example-dialogue-modal-header{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;border-bottom:1px solid rgba(0,0,0,.1);background:transparent;flex-shrink:0}.example-title-wrapper{display:flex;align-items:center;gap:8px;flex:1;justify-content:center}.example-title-wrapper.left-align{justify-content:flex-start;margin-left:8px}.example-title{font-size:16px;font-weight:600;color:var(--text-primary)}.example-char-count{font-size:12px;color:var(--text-tertiary)}.example-dialogue-modal-header .editor-save-btn{padding:8px 16px;background:var(--accent);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.example-dialogue-modal-header .editor-save-btn:hover{background:var(--accent-hover)}.example-dialogue-modal-content{flex:1;overflow:hidden;display:flex;flex-direction:column}#exampleDialoguePreview{flex:1;overflow-y:auto;padding:16px;background:var(--bg-primary);display:flex;flex-direction:column;gap:12px}.example-dialogue-item{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--bg-secondary);border-radius:8px;border:1px solid var(--border)}.example-dialogue-item-title{font-size:14px;font-weight:500;color:var(--text-primary)}.example-dialogue-item-actions{display:flex;gap:8px}.example-delete-btn{padding:6px 12px;background:transparent;border:1px solid #ef4444;color:#ef4444;border-radius:6px;font-size:12px;cursor:pointer;transition:all .2s}.example-delete-btn:hover{background:#ef4444;color:#fff}.editor-image-label .field-status{display:inline-flex;align-items:center;margin-left:2px}.editor-image-label .field-required{color:#ef4444;font-weight:600}.editor-image-label .field-check{color:var(--accent);font-size:inherit}.editor-image-label:has(.field-check:not(.hidden)) .field-required{display:none}#imageTabTransform{display:flex;flex-direction:column;height:100%}#imageTabTransform .image-transform-form{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:16px;min-height:0}#imageTabTransform .image-gen-bottom-bar{flex-shrink:0}.image-transform-form{padding:16px;display:flex;flex-direction:column;gap:16px}.transform-source-container{display:flex;justify-content:center;padding:8px 0}.transform-description{text-align:center;color:var(--text-tertiary);font-size:13px;margin:0;padding:0 16px}#editorImageActionSheet,#libraryBottomSheet,#sourceImageSheet,#libraryImageDetailModal{z-index:10200!important}#editorImageActionSheet .bottom-sheet-body,#sourceImageSheet .bottom-sheet-body{display:flex;flex-direction:column;gap:8px}.bottom-sheet-btn{width:100%;padding:16px;display:flex;align-items:center;gap:12px;background:var(--bg-secondary);border:none;border-radius:12px;font-size:15px;color:var(--text-primary);cursor:pointer;transition:background .2s}.bottom-sheet-btn:hover{background:var(--bg-tertiary)}.bottom-sheet-btn svg{color:var(--text-secondary);flex-shrink:0}.generated-images-grid.select-mode .generated-image-item{cursor:pointer}.generated-images-grid.select-mode .generated-image-item:hover{outline:3px solid var(--accent);outline-offset:-3px}.library-sheet{max-height:70vh;display:flex;flex-direction:column;padding-bottom:calc(16px + env(safe-area-inset-bottom))}.library-info-notice{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--bg-tertiary);border-radius:8px;margin:0 20px 12px;font-size:13px;color:var(--text-secondary)}.library-images-container{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;overflow-y:auto;flex:1;padding:0 16px 16px}.library-loading{display:flex;justify-content:center;align-items:center;padding:40px;grid-column:1 / -1}.library-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:40px 20px;grid-column:1 / -1;color:var(--text-tertiary);font-size:14px}.library-image-item{position:relative;aspect-ratio:1;border-radius:8px;overflow:hidden;cursor:pointer;background:var(--bg-tertiary)}.library-image-item img{width:100%;height:100%;object-fit:cover}.library-dday-badge{position:absolute;bottom:4px;right:4px;background:#000000b3;color:#fff;font-size:10px;padding:2px 6px;border-radius:4px;font-weight:500}.library-dday-badge.urgent{background:#ef4444e6}.library-preview-content{position:relative;background:var(--bg-secondary);border-radius:16px;max-width:90vw;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.library-preview-container{position:relative;padding:48px 16px 16px;display:flex;align-items:center;justify-content:center}.library-preview-container img{max-width:100%;max-height:65vh;object-fit:contain;border-radius:8px}.library-preview-dday{position:absolute;top:56px;right:24px;background:#0009;color:#fff;font-size:12px;padding:4px 10px;border-radius:12px;font-weight:500;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.library-preview-dday.urgent{background:#ef4444e6}.library-preview-actions{display:flex;justify-content:center;gap:12px;padding:16px;background:var(--bg-primary)}.library-action-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border-radius:8px;border:none;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s}.library-action-btn.apply{background:var(--accent);color:#fff;padding:10px 20px}.library-action-btn.download{background:var(--bg-secondary);color:var(--text-primary);width:44px;height:44px;padding:0}.library-action-btn:active{transform:scale(.95)}.library-preview-close{position:absolute;top:12px;right:12px;width:36px;height:36px;border-radius:50%;background:#00000080;border:none;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s}.library-preview-close:hover{background:#000000b3}.gen-mode-options{display:flex;gap:10px;margin-bottom:16px}.gen-mode-option{flex:1;cursor:pointer}.gen-mode-option input[type=radio]{display:none}.gen-mode-card{display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--bg-tertiary);border:2px solid var(--border);border-radius:12px;transition:all .2s}.gen-mode-content{flex:1;display:flex;flex-direction:column;gap:2px}.gen-mode-title{font-size:14px;font-weight:600;color:var(--text-secondary);transition:color .2s}.gen-mode-desc{font-size:11px;color:var(--text-tertiary);line-height:1.3}.gen-mode-radio{width:18px;height:18px;border:2px solid var(--border);border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all .2s}.gen-mode-radio-inner{width:8px;height:8px;border-radius:50%;background:transparent;transition:background .2s}.gen-mode-option input[type=radio]:checked+.gen-mode-card{border-color:var(--accent);background:rgba(var(--accent-rgb),.1)}.gen-mode-option input[type=radio]:checked+.gen-mode-card .gen-mode-title{color:var(--text-primary)}.gen-mode-option input[type=radio]:checked+.gen-mode-card .gen-mode-radio{border-color:var(--accent)}.gen-mode-option input[type=radio]:checked+.gen-mode-card .gen-mode-radio-inner{background:var(--accent)}.transform-section{margin-bottom:12px}.transform-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.transform-section-header.centered{justify-content:center}.transform-section-title{font-size:14px;font-weight:600;color:var(--text-primary)}.transform-section-hint{font-size:12px;color:var(--text-tertiary)}.transform-source-box{width:160px;height:160px;aspect-ratio:1/1;border:2px dashed var(--accent);border-radius:16px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;overflow:hidden;background:rgba(var(--accent-rgb),.08);margin:0 auto}.transform-source-box:hover{background:rgba(var(--accent-rgb),.12);transform:scale(1.02)}.transform-source-box:active{transform:scale(.98)}.transform-source-box .transform-source-preview{width:100%;height:100%;object-fit:cover}.transform-source-placeholder{display:flex;flex-direction:column;align-items:center;gap:10px;color:var(--accent)}.transform-source-placeholder svg{opacity:.7}.transform-source-placeholder span{font-size:13px;font-weight:500}.transform-prompt-input{width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:var(--bg-tertiary);color:var(--text-primary);font-size:14px;resize:none;transition:border-color .2s}.transform-prompt-input:focus{outline:none;border-color:var(--accent)}.transform-prompt-input::placeholder{color:var(--text-tertiary)}.transform-help-text{margin-top:8px;font-size:12px;color:var(--text-tertiary);line-height:1.4}.transform-results-section{margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}.transform-results-count{font-size:12px;color:var(--accent);font-weight:500}.transform-results-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}.transform-result-item{position:relative;aspect-ratio:1;border-radius:8px;overflow:hidden;cursor:pointer;transition:transform .2s}.transform-result-item:hover{transform:scale(1.02)}.transform-result-item img{width:100%;height:100%;object-fit:cover}.editor-section-actions{display:flex;align-items:center;gap:8px}.editor-inline-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;font-size:12px;font-weight:500;color:var(--accent);background:transparent;border:1px solid var(--accent);border-radius:16px;cursor:pointer;transition:all .2s;white-space:nowrap}.editor-inline-btn:hover{background:var(--accent);color:#fff}.editor-inline-btn:disabled{opacity:.5;cursor:not-allowed}.editor-inline-btn.loading{pointer-events:none;opacity:.7}.editor-inline-btn svg{width:14px;height:14px}.situational-image-item{display:flex;align-items:center;gap:12px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:12px;padding:12px 14px;cursor:pointer;transition:all .2s}.situational-image-item:hover{border-color:var(--accent)}.situational-image-thumb{width:48px;height:48px;border-radius:8px;overflow:hidden;flex-shrink:0;background:var(--bg-secondary)}.situational-image-thumb img{width:100%;height:100%;object-fit:cover}.situational-image-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.situational-image-index{font-size:12px;font-family:monospace;color:var(--accent);background:var(--accent-bg, rgba(139, 92, 246, .1));padding:2px 6px;border-radius:4px;width:fit-content}.situational-image-desc{font-size:14px;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.situational-image-actions{display:flex;gap:8px;flex-shrink:0}#situationalImageModal{z-index:10000}.situational-modal{background:var(--bg-primary);width:100%;height:100%;display:flex;flex-direction:column}.situational-modal-header{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;border-bottom:1px solid rgba(0,0,0,.1);flex-shrink:0}.situational-modal-title{font-size:16px;font-weight:600;color:var(--text-primary)}.situational-modal-header .editor-save-btn{padding:8px 16px;background:var(--accent);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.situational-modal-header .editor-save-btn:hover{background:var(--accent-hover)}.situational-modal-body{flex:1;overflow-y:auto;padding:20px 16px;display:flex;flex-direction:column;gap:16px;scrollbar-width:none;-ms-overflow-style:none}.situational-modal-body::-webkit-scrollbar{display:none}.situational-modal-body .editor-field{margin-bottom:0}.situational-image-preview{width:100%;aspect-ratio:1;max-width:180px;margin:0 auto;border:2px dashed var(--accent);border-radius:16px;overflow:hidden;cursor:pointer;display:flex;align-items:center;justify-content:center;background:rgba(var(--accent-rgb),.08);transition:all .2s ease}.situational-image-preview:hover{background:rgba(var(--accent-rgb),.12);transform:scale(1.02)}.situational-image-preview:active{transform:scale(.98)}.situational-image-preview img{width:100%;height:100%;object-fit:cover}.situational-image-placeholder{display:flex;flex-direction:column;align-items:center;gap:10px;color:var(--accent)}.situational-image-placeholder svg{opacity:.7}.situational-image-placeholder span{font-size:13px;font-weight:500}.editor-field-footer{display:flex;justify-content:space-between;align-items:center;margin-top:6px}.editor-field-footer .editor-field-hint{margin:0;font-size:12px;color:var(--text-tertiary)}.editor-field-footer .char-counter{font-size:12px;color:var(--text-tertiary)}.custom-desc-section .editor-inline-btn.wide{width:100%;padding:12px 16px;border-radius:8px;background:var(--bg-tertiary);border:1px dashed var(--border);color:var(--text-secondary);font-size:14px;cursor:pointer;transition:all .2s}.custom-desc-section .editor-inline-btn.wide:hover{background:var(--bg-secondary);border-color:var(--accent);color:var(--accent)}.editor-section-desc.has-custom-desc,.editor-section-desc.no-custom-desc{display:flex;align-items:center;gap:8px;padding:8px 0}.status-badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.status-badge.success{background:#22c55e1a;color:#22c55e}.status-badge.warning{background:#eab3081a;color:#eab308}.status-text{font-size:12px;color:var(--text-tertiary)}.fullscreen-editor-modal{display:none;position:fixed;inset:0;width:100%;height:100%;z-index:1000;background:var(--bg-primary)}.fullscreen-editor-modal.active{display:flex;flex-direction:column}.fullscreen-editor-modal.modal{max-width:100%;max-height:100%;border-radius:0;border:none}.fullscreen-editor-modal .modal-content.fullscreen{flex:1;width:100%;height:100%;max-width:100%;max-height:100%;border-radius:0;display:flex;flex-direction:column;background:var(--bg-primary)}.fullscreen-editor-modal .modal-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border);background:var(--bg-primary);flex-shrink:0}.fullscreen-editor-modal .modal-header h3{flex:1;text-align:center;font-size:16px;font-weight:600;color:var(--text-primary);margin:0}.fullscreen-editor-modal .modal-back-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:#666;cursor:pointer;border-radius:8px;transition:all .2s}.fullscreen-editor-modal .modal-back-btn:hover{background:var(--bg-tertiary);color:#333}.fullscreen-editor-modal .modal-save-btn{padding:8px 16px;background:var(--accent);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.fullscreen-editor-modal .modal-save-btn:hover{background:var(--primary-hover)}.editor-tabs-inline{display:flex;border-bottom:1px solid var(--border);background:var(--bg-secondary);flex-shrink:0}.editor-inline-tab{flex:1;padding:12px 16px;background:none;border:none;font-size:14px;font-weight:500;color:var(--text-tertiary);cursor:pointer;transition:all .2s;position:relative}.editor-inline-tab.active{color:var(--accent)}.editor-inline-tab.active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--accent)}.fullscreen-editor-modal .modal-body.no-padding{flex:1;overflow:hidden;display:flex;flex-direction:column}.custom-desc-tab-content{display:none;flex:1;overflow:hidden}.custom-desc-tab-content.active{display:flex;flex-direction:column}#customDescEditTab,#creatorCommentEditTab{position:relative}#customDescTextarea,#creatorCommentTextarea{flex:1;width:100%;height:100%;padding:16px 16px 48px;border:none;resize:none;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:14px;line-height:1.6;color:var(--text-primary);background:var(--bg-primary)}#customDescTextarea:focus,#creatorCommentTextarea:focus{outline:none}#customDescTextarea::placeholder,#creatorCommentTextarea::placeholder{color:var(--text-tertiary)}.custom-desc-char-counter{position:absolute;bottom:16px;right:16px;font-size:12px;color:var(--text-tertiary);background:var(--bg-primary);padding:4px 8px;border-radius:4px}#customDescPreviewTab{overflow-y:auto}.html-preview{padding:16px;min-height:100%;color:var(--text-primary)}.html-preview .preview-empty{text-align:center;color:var(--text-tertiary);padding:40px 16px}.html-preview p{display:block;margin-block-start:1em;margin-block-end:1em}.html-preview div{display:block}.html-preview span{display:inline}.html-preview strong,.html-preview b{font-weight:700}.html-preview em,.html-preview i{font-style:italic}.html-preview br{display:block}.html-preview hr{display:block;margin-block-start:.5em;margin-block-end:.5em;border-style:inset;border-width:1px}.html-preview a{color:var(--accent);text-decoration:underline}.html-preview img{max-width:100%;height:auto}.custom-desc-footer{padding:12px 16px;border-top:1px solid var(--border);background:var(--bg-secondary);flex-shrink:0}.custom-desc-footer .editor-hint{margin:0;font-size:12px;color:var(--text-tertiary);text-align:center}.detail-custom-desc{padding:12px 0;line-height:1.6;color:var(--text-primary)}.detail-custom-desc p{display:block;margin-block-start:1em;margin-block-end:1em}.detail-custom-desc div{display:block}.detail-custom-desc span{display:inline}.detail-custom-desc strong,.detail-custom-desc b{font-weight:700}.detail-custom-desc em,.detail-custom-desc i{font-style:italic}.detail-custom-desc br{display:block}.detail-custom-desc hr{display:block;margin-block-start:.5em;margin-block-end:.5em;border-style:inset;border-width:1px}.detail-custom-desc img{max-width:100%;height:auto;border-radius:8px;margin:8px 0}.detail-custom-desc a{color:var(--accent);text-decoration:underline}.detail-prompt{background:var(--bg-tertiary);padding:12px;border-radius:8px;font-size:13px;line-height:1.6;white-space:pre-wrap;word-break:break-word}.collapsible-section{border-radius:12px;background:var(--bg-secondary);overflow:hidden;margin-top:16px;margin-bottom:12px}.editor-section.collapsible-section{padding:0;margin-bottom:12px}.editor-section.collapsible-section.no-border{margin-bottom:12px;padding-bottom:0}.collapsible-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .2s}.collapsible-header:hover,.collapsible-header:active{background:var(--bg-tertiary)}.section-header-left,.section-header-right{display:flex;align-items:center;gap:8px}.section-count,.section-limit-count{font-size:13px;color:var(--text-tertiary);font-weight:400}.collapse-icon{transition:transform .25s ease;color:var(--text-tertiary)}.collapsible-section.expanded .collapse-icon{transform:rotate(180deg)}.collapsible-content{max-height:0;overflow:hidden}.collapsible-content.expanded{max-height:5000px;padding:0 16px 16px}.collapsible-content .editor-section-desc{padding:12px 0 8px;margin:0}.collapsible-content .lorebook-list,.collapsible-content .situational-list,.collapsible-content .advanced-list{padding:0}.collapsible-content .section-add-btn,.collapsible-content .example-add-btn{margin:8px 0;width:100%}.advanced-list{display:flex;flex-direction:column;gap:10px;margin-bottom:8px}.advanced-list-item{display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:12px;cursor:pointer;transition:all .2s}.advanced-list-item:hover{border-color:var(--accent)}.advanced-list-item.dragging{opacity:.5;border-color:var(--accent)}.advanced-list-item-drag{cursor:grab;color:var(--text-tertiary);flex-shrink:0;padding:4px;opacity:.6;transition:opacity .2s}.advanced-list-item:hover .advanced-list-item-drag{opacity:1}.advanced-list-item-number{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);border-radius:6px;font-size:12px;font-weight:600;color:var(--text-secondary);flex-shrink:0}.advanced-list-item-thumb{width:40px;height:40px;border-radius:8px;overflow:hidden;flex-shrink:0;background:var(--bg-secondary)}.advanced-list-item-thumb img{width:100%;height:100%;object-fit:cover}.advanced-list-item-content{flex:1;min-width:0}.advanced-list-item-title{font-size:14px;font-weight:500;color:var(--text-primary);margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.advanced-list-item-desc{font-size:13px;color:var(--text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.advanced-list-item-actions{display:flex;gap:8px;flex-shrink:0}.advanced-delete-btn{padding:6px 12px;background:transparent;border:1px solid #ef4444;color:#ef4444;border-radius:6px;font-size:12px;cursor:pointer;transition:all .2s}.advanced-delete-btn:hover{background:#ef4444;color:#fff}.section-add-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:calc(100% - 32px);padding:12px;background:transparent;border:1px dashed var(--border);border-radius:10px;color:var(--text-secondary);font-size:14px;cursor:pointer;transition:all .2s}.section-add-btn:hover{border-color:var(--accent);color:var(--accent);background:rgba(var(--accent-rgb),.05)}.section-add-btn:active{transform:scale(.98)}.section-add-btn svg{width:16px;height:16px}.lorebook-list{display:flex;flex-direction:column;gap:8px}.lorebook-item{display:flex;align-items:center;gap:12px;padding:14px;background:var(--bg-tertiary);border-radius:10px;cursor:pointer;transition:all .2s ease}.lorebook-item:hover{background:#00000014}.lorebook-item:active{transform:scale(.98)}.lorebook-item.disabled{opacity:.5}.lorebook-item-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.lorebook-item-name{font-size:15px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lorebook-item-keywords{display:flex;flex-wrap:wrap;gap:4px}.lorebook-keyword-tag{display:inline-flex;align-items:center;padding:3px 8px;background:#0000000f;border-radius:4px;font-size:12px;color:var(--text-tertiary)}.lorebook-item-arrow{width:20px;height:20px;color:var(--text-tertiary);flex-shrink:0}.empty-hint{color:var(--text-tertiary);font-size:13px;text-align:center;padding:16px 0;line-height:1.5}.situational-list{display:flex;flex-direction:column;gap:8px}.situational-item{display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--bg-tertiary);border-radius:10px;cursor:pointer;transition:all .2s ease}.situational-item:hover{background:#00000014}.situational-item:active{transform:scale(.98)}.situational-item-thumb{width:44px;height:44px;border-radius:8px;background:var(--bg-secondary);overflow:hidden;flex-shrink:0}.situational-item-thumb img{width:100%;height:100%;object-fit:cover}.situational-item-info{flex:1;min-width:0}.situational-item-desc{font-size:14px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.situational-item-arrow{width:20px;height:20px;color:var(--text-tertiary);flex-shrink:0}.lorebook-modal{width:100%;height:100%;display:flex;flex-direction:column;background:var(--bg-primary)}.lorebook-modal-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border);background:var(--bg-primary)}.lorebook-modal-title{font-size:17px;font-weight:600;color:var(--text-primary)}.lorebook-modal-header .editor-save-btn{padding:8px 16px;background:var(--accent);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.lorebook-modal-header .editor-save-btn:hover{background:var(--accent-hover)}.lorebook-modal-body{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:16px;scrollbar-width:none;-ms-overflow-style:none}.lorebook-modal-body::-webkit-scrollbar{display:none}.lorebook-modal-body .editor-field{margin-bottom:0}.keyword-input-row{display:flex;gap:8px;align-items:center}.keyword-input-row input{flex:1}.keyword-add-btn{width:46px;height:46px;display:flex;align-items:center;justify-content:center;background:var(--accent);border:none;border-radius:10px;color:#fff;cursor:pointer;flex-shrink:0;transition:all .2s}.keyword-add-btn:hover{background:var(--accent-hover, #5558e3)}.keyword-add-btn:active{transform:scale(.95)}.keyword-tags-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;min-height:0}.keyword-tags-list:empty{display:none}.keyword-tag{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-primary);border-radius:8px;font-size:13px}.keyword-tag-remove{display:flex;align-items:center;justify-content:center;width:18px;height:18px;background:transparent;border-radius:50%;cursor:pointer;transition:all .2s;color:var(--text-tertiary)}.keyword-tag-remove:hover{background:#ef444426;color:#ef4444}.keyword-tag-remove svg{width:14px;height:14px}.hashtag-count-badge{font-size:12px;font-weight:500;color:var(--text-tertiary);margin-left:6px}.hashtag-input-wrapper{position:relative}.hashtag-input-row{display:flex;gap:8px;align-items:center}.hashtag-input-row input{flex:1}.hashtag-add-btn{width:46px;height:46px;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:10px;color:var(--text-secondary);cursor:pointer;flex-shrink:0;transition:all .2s}.hashtag-add-btn:hover{background:var(--bg-secondary);border-color:var(--text-secondary)}.hashtag-add-btn:active{transform:scale(.95)}.hashtag-suggestions{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;box-shadow:0 4px 16px #00000026;max-height:280px;overflow-y:auto;z-index:100}.hashtag-suggestions.hidden{display:none}.suggestion-item{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;cursor:pointer;transition:background .15s}.suggestion-item:first-child{border-radius:10px 10px 0 0}.suggestion-item:last-child{border-radius:0 0 10px 10px}.suggestion-item:only-child{border-radius:10px}.suggestion-item:hover,.suggestion-item.selected{background:var(--bg-tertiary)}.suggestion-item .tag-name{font-size:14px;color:var(--text-primary)}.suggestion-item .tag-count{font-size:12px;color:var(--text-tertiary)}.suggestion-item.new-tag{border-top:1px solid var(--border);margin-top:4px;padding-top:12px}.suggestion-item.new-tag .tag-name{color:var(--accent)}.suggestion-item .tag-badge{font-size:10px;font-weight:600;padding:2px 6px;background:var(--accent);color:#fff;border-radius:4px}.suggestion-empty{padding:16px;text-align:center;color:var(--text-tertiary);font-size:13px}.hashtag-tags-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;min-height:0}.hashtag-tags-list:empty{display:none}.hashtag-tag{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-primary);border-radius:8px;font-size:13px}.hashtag-tag-text{color:var(--accent)}.hashtag-tag-remove{display:flex;align-items:center;justify-content:center;width:18px;height:18px;background:transparent;border-radius:50%;cursor:pointer;transition:all .2s;color:var(--text-tertiary)}.hashtag-tag-remove:hover{background:#ef444426;color:#ef4444}.hashtag-tag-remove svg{width:14px;height:14px}.lorebook-delete-section{margin-top:auto;padding-top:20px;border-top:1px solid var(--border)}.lorebook-delete-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px;background:transparent;border:1px solid var(--error-color, #ef4444);border-radius:8px;color:var(--error-color, #ef4444);font-size:14px;cursor:pointer;transition:all .2s}.lorebook-delete-btn:hover{background:var(--error-color, #ef4444);color:#fff}.wizard-method-modal{position:fixed;inset:0;background:var(--bg-primary);z-index:1001;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease;height:100%;height:-webkit-fill-available}.wizard-method-modal[style*=flex],.wizard-method-modal.active{opacity:1;visibility:visible}.wizard-method-container{width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden}.wizard-method-header{display:flex;align-items:center;justify-content:flex-end;padding:16px 20px;flex-shrink:0}.wizard-method-close{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);border:none;border-radius:50%;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.wizard-method-close:hover{background:var(--bg-tertiary);color:var(--text-primary)}.wizard-method-body{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 24px 24px;overflow:hidden;min-height:0}.wizard-method-hero{text-align:center;margin-bottom:20px;flex-shrink:0}@media(max-height:600px){.wizard-method-body{justify-content:flex-start;padding-top:10px}.wizard-method-hero{margin-bottom:20px}.wizard-method-title{font-size:24px}.wizard-method-cards{gap:12px}.wizard-method-card{padding:16px 20px}}.wizard-method-title{font-size:26px;font-weight:700;color:var(--text-primary);margin:0 0 10px;letter-spacing:-.5px}.wizard-method-subtitle{font-size:15px;color:var(--text-tertiary);margin:0;font-weight:400}.wizard-method-cards{width:100%;max-width:400px;display:flex;flex-direction:column;gap:16px}.wizard-method-card{position:relative;width:100%;padding:24px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:20px;cursor:pointer;transition:all .2s ease;text-align:left;display:flex;flex-direction:column;gap:16px}.wizard-method-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000001f}.wizard-method-card:active{transform:translateY(0)}.wizard-method-card--primary{background:linear-gradient(135deg,rgba(var(--accent-rgb),.08),rgba(var(--accent-rgb),.03));border-color:var(--accent)}.wizard-method-card--primary:hover{box-shadow:0 8px 24px rgba(var(--accent-rgb),.2)}.wizard-method-card-badge{position:absolute;top:-10px;left:20px;padding:6px 14px;background:var(--accent);color:#fff;font-size:12px;font-weight:600;border-radius:20px;letter-spacing:.3px}.wizard-method-card-icon{width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);border-radius:16px;color:var(--text-secondary);transition:all .2s ease}.wizard-method-card--primary .wizard-method-card-icon{background:rgba(var(--accent-rgb),.15);color:var(--accent)}.wizard-method-card-content{flex:1}.wizard-method-card-title{font-size:18px;font-weight:700;color:var(--text-primary);margin:0 0 6px;letter-spacing:-.3px}.wizard-method-card-desc{font-size:14px;color:var(--text-tertiary);margin:0;line-height:1.5}.wizard-method-card-footer{display:flex;align-items:center;justify-content:space-between;gap:8px}.wizard-method-card-cost{font-size:13px;font-weight:600;color:var(--accent)}.wizard-method-card:not(.wizard-method-card--primary) .wizard-method-card-cost{color:var(--text-tertiary)}.wizard-method-card-arrow{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);border-radius:50%;color:var(--text-tertiary);transition:all .2s ease;flex-shrink:0}.wizard-method-card:hover .wizard-method-card-arrow{background:var(--accent);color:#fff;transform:translate(4px)}.wizard-fullscreen{position:fixed;inset:0;background:var(--bg-primary);z-index:1002;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.wizard-fullscreen[style*=flex],.wizard-fullscreen.active{opacity:1;visibility:visible}.wizard-container{width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden}.wizard-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;flex-shrink:0}.wizard-back-btn,.wizard-close-btn{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:#666;cursor:pointer;border-radius:50%;transition:all .15s ease;flex-shrink:0}.wizard-back-btn:hover,.wizard-close-btn:hover{background:var(--bg-secondary);color:#333}.wizard-progress-wrap{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;max-width:200px;margin:0 auto}.wizard-progress-dots{display:flex;align-items:center;gap:8px}.wizard-dot{width:8px;height:8px;background:var(--bg-tertiary);border-radius:50%;transition:all .3s ease}.wizard-dot.active{width:24px;background:var(--accent);border-radius:4px}.wizard-dot.completed{background:var(--accent)}.wizard-step-indicator{font-size:12px;color:var(--text-tertiary);font-weight:500}.wizard-progress{height:3px;background:var(--bg-secondary);flex-shrink:0}.wizard-progress-bar{height:100%;background:linear-gradient(90deg,var(--accent) 0%,rgba(var(--accent-rgb),.7) 100%);border-radius:0 2px 2px 0;transition:width .4s cubic-bezier(.4,0,.2,1)}.wizard-step-content{flex:1;overflow-y:auto;padding:32px 24px 24px;-webkit-overflow-scrolling:touch}.wizard-step{max-width:440px;margin:0 auto}.wizard-step-title{font-size:26px;font-weight:700;text-align:center;margin:0 0 8px;color:var(--text-primary);letter-spacing:-.5px}.wizard-step-subtitle{font-size:15px;color:var(--text-tertiary);text-align:center;margin:0 0 36px;line-height:1.6}.wizard-gender-options{display:flex;gap:16px;justify-content:center}.wizard-gender-card{flex:1;max-width:160px;padding:40px 24px;background:var(--bg-secondary);border:2px solid transparent;border-radius:20px;cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;align-items:center;gap:12px}.wizard-gender-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001a}.wizard-gender-card.selected{border-color:var(--accent);background:rgba(var(--accent-rgb),.05)}.wizard-gender-card.selected:hover{transform:none;box-shadow:none}.wizard-gender-icon{display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:color .2s ease}.wizard-gender-card.selected .wizard-gender-icon{color:var(--accent)}.wizard-gender-label{font-size:18px;font-weight:600;color:var(--text-primary)}.wizard-textarea{width:100%;min-height:140px;padding:18px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:16px;color:var(--text-primary);font-size:16px;line-height:1.6;resize:none;font-family:inherit;transition:border-color .2s ease,box-shadow .2s ease}.wizard-textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.1)}.wizard-textarea::placeholder{color:var(--text-tertiary)}.wizard-example-section{margin-top:24px}.wizard-example-label{font-size:13px;font-weight:500;color:var(--text-tertiary);display:block;margin-bottom:12px}.wizard-example-chips{display:flex;flex-wrap:wrap;gap:10px}.wizard-example-chip{padding:10px 16px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:24px;font-size:14px;color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.wizard-example-chip:hover{border-color:var(--accent);color:var(--accent);background:rgba(var(--accent-rgb),.05)}.wizard-tag-grid{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px}.wizard-tag-chip{padding:10px 16px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:24px;font-size:14px;color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.wizard-tag-chip:hover{border-color:var(--text-tertiary)}.wizard-tag-chip.selected{background:var(--accent);border-color:var(--accent);color:#fff}.wizard-custom-tags{margin-bottom:16px}.wizard-custom-tags-label{font-size:13px;font-weight:500;color:var(--text-tertiary);display:block;margin-bottom:10px}.wizard-custom-tags-list{display:flex;flex-wrap:wrap;gap:8px}.wizard-custom-tag-item{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;background:rgba(var(--accent-rgb),.12);border-radius:20px;font-size:14px;color:var(--accent)}.wizard-custom-tag-remove{background:none;border:none;color:var(--accent);cursor:pointer;padding:0;font-size:18px;line-height:1;opacity:.6;transition:opacity .15s ease}.wizard-custom-tag-remove:hover{opacity:1}.wizard-custom-input{display:flex;gap:10px;margin-bottom:16px}.wizard-input{flex:1;min-width:0;padding:14px 18px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:14px;color:var(--text-primary);font-size:15px;transition:border-color .2s ease,box-shadow .2s ease}.wizard-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.1)}.wizard-input::placeholder{color:var(--text-tertiary)}.wizard-add-btn{padding:14px 20px;background:var(--bg-tertiary);border:none;border-radius:14px;color:var(--text-primary);font-size:15px;font-weight:600;cursor:pointer;transition:all .15s ease;flex-shrink:0;white-space:nowrap}.wizard-add-btn:hover{background:var(--accent);color:#fff}.wizard-model-carousel{display:flex;gap:14px;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;margin:0 -24px;padding:8px 24px 16px}.wizard-model-carousel::-webkit-scrollbar{display:none}.wizard-model-loading,.wizard-model-empty{text-align:center;color:var(--text-tertiary);padding:48px 20px;width:100%;font-size:15px}.wizard-model-card{flex-shrink:0;width:120px;background:var(--bg-secondary);border:2px solid transparent;border-radius:16px;overflow:hidden;cursor:pointer;transition:all .2s ease}.wizard-model-card:hover{transform:translateY(-4px);box-shadow:0 8px 20px #0000001a}.wizard-model-card.selected{border-color:var(--accent)}.wizard-model-card.selected:hover{transform:none;box-shadow:none}.wizard-model-image{width:100%;height:120px;object-fit:cover;background:var(--bg-tertiary)}.wizard-model-info{padding:12px}.wizard-model-name{font-size:13px;font-weight:600;color:var(--text-primary);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wizard-model-cost{font-size:12px;color:var(--text-tertiary);display:block;margin-top:4px}.wizard-model-card.no-image .wizard-model-image{display:flex;align-items:center;justify-content:center;color:var(--text-tertiary)}.wizard-footer{display:flex;align-items:center;justify-content:center;gap:8px;padding:16px 24px;padding-bottom:calc(16px + env(safe-area-inset-bottom));flex-shrink:0;background:var(--bg-primary);border-top:1px solid var(--border)}.wizard-prev-btn{padding:14px 20px;background:var(--bg-secondary);border:none;border-radius:12px;color:var(--text-secondary);font-size:15px;font-weight:600;cursor:pointer;transition:all .15s ease;flex-shrink:0}.wizard-prev-btn:hover:not(:disabled){background:var(--bg-tertiary);color:var(--text-primary)}.wizard-prev-btn:disabled{opacity:.4;cursor:not-allowed}.wizard-next-btn{flex:1;padding:14px 32px;background:var(--accent);border:none;border-radius:12px;color:#fff;font-size:15px;font-weight:700;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:6px}.wizard-next-btn:hover:not(:disabled){opacity:.9}.wizard-next-btn:disabled{opacity:.4;cursor:not-allowed}.wizard-btn-carbon-icon{flex-shrink:0;opacity:.9}.wizard-carbon-icon{vertical-align:middle;margin-right:2px;opacity:.7}.wizard-model-cost{font-size:12px;color:var(--text-tertiary);display:flex;align-items:center;gap:2px;margin-top:4px}.wizard-step-content{scrollbar-width:none;-ms-overflow-style:none}.wizard-step-content::-webkit-scrollbar{display:none}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.wizard-step{animation:fadeInUp .4s ease}#myPageTab{scrollbar-width:none;-ms-overflow-style:none}#myPageTab::-webkit-scrollbar{display:none}.sns-profile-header{background:var(--bg-primary);padding:20px 16px 8px}.sns-profile-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.sns-profile-left{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.sns-profile-avatar{position:relative;cursor:pointer;flex-shrink:0}.sns-avatar-image{width:56px;height:56px;border-radius:50%;background:var(--bg-tertiary, #2a2a2a);display:flex;align-items:center;justify-content:center;color:var(--text-tertiary, rgba(0, 0, 0, .4));border:2px solid var(--bg-secondary);overflow:hidden}.avatar-loading-spinner{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.sns-avatar-image img{width:100%;height:100%;object-fit:cover}.sns-avatar-edit,.avatar-edit-badge{position:absolute;bottom:0;right:0;width:22px;height:22px;background:var(--accent);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;border:2px solid var(--bg-primary)}.avatar-preview-container{display:flex;justify-content:center;padding:20px 0}.avatar-preview-circle{width:120px;height:120px;border-radius:50%;background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;overflow:hidden;border:3px solid var(--border)}.sns-profile-stats{display:flex;gap:16px;flex-shrink:0}.sns-stat-item{text-align:center;cursor:pointer}.sns-stat-value{display:block;font-size:15px;font-weight:700;color:var(--text-primary)}.sns-stat-label{font-size:11px;color:var(--text-secondary);margin-top:2px}.sns-profile-info{min-width:0;flex:1}.sns-nickname{font-size:16px;font-weight:700;color:var(--text-primary);margin:0 0 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sns-user-id{font-size:13px;color:var(--text-secondary);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sns-bio{font-size:14px;color:var(--text-primary);line-height:1.4;margin:0}.sns-profile-actions{display:flex;gap:8px}.sns-action-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;border:none}.sns-action-secondary{background:#00000014;color:var(--text-primary)}.sns-action-secondary:hover{background:#0000001f}.sns-action-icon{flex:0;width:36px;padding:8px;background:#00000014;color:#00000080}.sns-action-icon:hover{background:#0000001f}.sns-carbon-section{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#0000000a;margin:4px 16px 0;border-radius:10px;cursor:pointer;transition:all .2s}.sns-carbon-section:hover{background:#0000000f}.sns-carbon-section:after{content:"";position:absolute;left:0;right:0;bottom:-12px;height:1px;background:var(--border-light, rgba(128, 128, 128, .15))}#myPageTab .sns-carbon-section{position:relative;margin-bottom:12px}.sns-carbon-left{display:flex;align-items:center;gap:10px}.sns-carbon-icon{display:flex;align-items:center;justify-content:center}.sns-carbon-value{font-size:15px;font-weight:500;color:var(--text-primary)}.sns-feed-section{padding:20px 16px}.sns-feed-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.sns-feed-header h3{font-size:16px;font-weight:600;color:var(--text-primary);margin:0}.sns-view-all-btn{display:flex;align-items:center;gap:4px;background:none;border:none;color:var(--accent);font-size:14px;font-weight:500;cursor:pointer}.sns-feed-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.sns-feed-empty{grid-column:1 / -1;text-align:center;padding:40px 20px;color:var(--text-secondary)}.sns-feed-empty svg{margin-bottom:12px;opacity:.5}.carbon-full-modal{position:fixed;inset:0;background:var(--bg-primary);z-index:1000;transform:translate(100%);transition:transform .3s ease;display:flex;flex-direction:column}.carbon-full-modal.open{transform:translate(0)}.carbon-full-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:transparent;border-bottom:1px solid var(--border-light, rgba(128, 128, 128, .15))}.carbon-full-header h2{font-size:16px;font-weight:600;margin:0}.carbon-back-btn{width:36px;height:36px;background:none;border:none;color:#333;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .2s}.carbon-back-btn:hover{background:#00000014;color:#111}.carbon-full-content{flex:1;overflow-y:auto;padding:16px}.carbon-balance-row{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#0000000a;border-radius:10px;margin-bottom:16px}.carbon-balance-left{display:flex;align-items:center;gap:10px}.carbon-balance-icon{display:flex;align-items:center;justify-content:center}.carbon-balance-value{font-size:15px;font-weight:500;color:var(--text-primary)}.carbon-balance-row .carbon-recharge-btn,button.carbon-recharge-btn{padding:5px 14px!important;background:var(--accent)!important;color:#fff!important;border:none!important;border-radius:6px!important;font-size:12px!important;font-weight:600!important;cursor:pointer;transition:all .2s;flex:0 0 auto!important;width:auto!important;min-width:unset!important;max-width:none!important;white-space:nowrap!important;line-height:1.2!important;height:auto!important;display:inline-block!important}.carbon-recharge-btn:hover{background:var(--accent-hover)}.carbon-filter-tabs{display:flex;gap:8px;margin-bottom:16px}.carbon-filter-tab{flex:1;padding:8px 12px;background:#0000000f;border:none;border-radius:8px;color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.carbon-filter-tab.active{background:var(--accent);color:#fff}.carbon-history-list{display:flex;flex-direction:column}.carbon-history-item{display:flex;align-items:center;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--border-light, rgba(128, 128, 128, .15))}.carbon-history-item:last-child{border-bottom:none}.carbon-history-left{display:flex;flex-direction:column;gap:4px}.carbon-history-desc{font-size:13px;color:var(--text-secondary)}.carbon-history-date{font-size:11px;color:var(--text-tertiary, rgba(0, 0, 0, .4))}.carbon-history-amount{font-size:13px;font-weight:500;color:var(--text-primary);white-space:nowrap}.carbon-history-empty{text-align:center;padding:48px 20px;color:var(--text-secondary)}.carbon-history-empty svg{margin-bottom:16px;opacity:.5}.carbon-history-empty p{margin:0;font-size:14px}.settings-item-danger,.settings-item-danger .settings-item-icon{color:var(--danger)}.settings-item-danger:hover{background:#ef44441a}.bottom-sheet-overlay{position:fixed;inset:0;z-index:1100;visibility:hidden;pointer-events:none;transition:visibility 0s .3s}.bottom-sheet-overlay.open{visibility:visible;pointer-events:auto;transition:visibility 0s 0s}.bottom-sheet-backdrop{position:absolute;inset:0;background:#0000;transition:background .3s ease}.bottom-sheet-overlay.open .bottom-sheet-backdrop{background:#00000080}.bottom-sheet{position:absolute;bottom:0;left:0;right:0;background:var(--bg-primary);border-radius:20px 20px 0 0;max-height:60vh;transform:translateY(100%);transition:transform .3s ease;display:flex;flex-direction:column}.bottom-sheet-overlay.open .bottom-sheet{transform:translateY(0)}.bottom-sheet-handle{width:36px;height:4px;background:#0003;border-radius:2px;margin:12px auto 8px}.bottom-sheet-header{padding:8px 20px 16px;border-bottom:1px solid var(--border-light, rgba(128, 128, 128, .15))}.bottom-sheet-header h3{font-size:16px;font-weight:600;color:var(--text-primary);margin:0;text-align:center}.bottom-sheet-body{padding:20px;overflow-y:auto;flex:1}.bottom-sheet-notice{font-size:11px;color:var(--text-secondary);text-align:center;margin:16px 0 0}.carbon-package-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.carbon-package-card{position:relative;background:#0000000a;border-radius:12px;padding:16px;text-align:center;cursor:pointer;transition:all .2s;border:1px solid transparent}.carbon-package-card:hover{background:#00000014}.carbon-package-card:active{transform:scale(.98)}.carbon-package-card.popular{border-color:var(--accent);background:#8b5cf614}.carbon-package-card .carbon-package-badge{position:absolute;top:-8px;left:50%;transform:translate(-50%);background:var(--accent);color:#fff;font-size:10px;font-weight:600;padding:2px 8px;border-radius:10px;white-space:nowrap}.carbon-package-card .carbon-package-amount{font-size:24px;font-weight:700;color:var(--text-primary);line-height:1}.carbon-package-card .carbon-package-unit{font-size:12px;color:var(--text-secondary);margin-top:2px}.carbon-package-card .carbon-package-bonus{font-size:11px;color:var(--success);font-weight:500;margin-top:4px}.carbon-package-card .carbon-package-price{font-size:14px;font-weight:600;color:var(--text-primary);margin-top:8px;padding-top:8px;border-top:1px solid rgba(0,0,0,.08)}.carbon-package-list-v2{display:flex;flex-direction:column;gap:10px}.carbon-package-item{display:flex;justify-content:space-between;align-items:center;position:relative;padding:14px 16px;background:#0000000a;border-radius:12px;cursor:pointer;transition:all .2s;border:1px solid transparent}.carbon-package-item:hover{background:#00000014}.carbon-package-item:active{transform:scale(.99)}.carbon-package-item.popular{border-color:var(--accent);background:#8b5cf61a}.carbon-package-item.best{border-color:#f59e0b;background:#f59e0b1a}.carbon-package-item .carbon-package-badge{position:absolute;top:-8px;left:16px;font-size:10px;font-weight:600;padding:2px 8px;border-radius:8px;white-space:nowrap}.carbon-package-item.popular .carbon-package-badge{background:var(--accent);color:#fff}.carbon-package-item.best .carbon-package-badge{background:#f59e0b;color:#fff}.carbon-package-left{display:flex;align-items:baseline;gap:4px}.carbon-package-left .carbon-amount{font-size:18px;font-weight:700;color:var(--text-primary)}.carbon-package-left .carbon-unit{font-size:12px;color:var(--text-secondary)}.carbon-package-left .carbon-bonus{font-size:12px;color:var(--success);font-weight:600;margin-left:4px}.carbon-package-right .carbon-price{font-size:15px;font-weight:600;color:var(--text-primary)}.settings-full-modal{position:fixed;inset:0;background:var(--bg-primary);z-index:1000;transform:translate(100%);transition:transform .3s ease;display:flex;flex-direction:column}.settings-full-modal.open{transform:translate(0)}.settings-full-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border-light, rgba(128, 128, 128, .15))}.settings-full-header h2{font-size:16px;font-weight:600;margin:0}.settings-back-btn{width:36px;height:36px;background:none;border:none;color:#333;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .2s}.settings-back-btn:hover{background:#00000014;color:#111}.settings-full-content{flex:1;overflow-y:auto;padding:8px 0;scrollbar-width:none;-ms-overflow-style:none}.settings-full-content::-webkit-scrollbar{display:none}.settings-section{margin-bottom:24px}.settings-section-title{font-size:12px;font-weight:500;color:var(--text-tertiary, rgba(0, 0, 0, .4));text-transform:uppercase;letter-spacing:.5px;padding:8px 20px 12px;border-bottom:1px solid var(--border-light, rgba(128, 128, 128, .15))}.settings-section-list{display:flex;flex-direction:column}.settings-row{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;cursor:pointer;transition:background .2s}.settings-row:hover{background:#0000000a}.settings-row span{font-size:14px;color:var(--text-primary)}.settings-row.danger span{color:var(--danger)}.settings-row.danger:hover{background:#ef444414}.settings-row-label{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--text-primary)}.settings-row-label svg{color:var(--text-tertiary);flex-shrink:0}.settings-row.danger .settings-row-label{color:var(--danger)}.settings-row.danger .settings-row-label svg{color:var(--danger)}.settings-row-hint{font-size:11px;color:var(--text-tertiary);max-width:140px;text-align:right}.profile-manager-list{display:flex;flex-direction:column;gap:8px}.profile-manager-item{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:var(--bg-secondary);border-radius:12px;cursor:pointer;transition:background .2s}.profile-manager-item:hover{background:var(--bg-tertiary)}.profile-manager-item.selected{background:#8b5cf61a}.profile-manager-item.selected .profile-manager-name{color:var(--accent)}.profile-manager-info{display:flex;align-items:center;gap:10px}.profile-manager-name{font-size:14px;font-weight:500;color:var(--text-primary)}.profile-manager-gender{font-size:12px;color:var(--text-tertiary, rgba(0, 0, 0, .4))}.profile-manager-actions{display:flex;gap:8px}.profile-action-btn{width:32px;height:32px;background:#0000000f;border:none;border-radius:8px;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.profile-action-btn:hover{background:#0000001f}.profile-action-btn.danger{color:var(--danger)}.profile-action-btn.danger:hover{background:#ef444426}.profile-empty{text-align:center;padding:32px 20px;color:var(--text-secondary);font-size:14px}.profile-add-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px;margin-top:16px;background:#0000000f;border:none;border-radius:10px;color:var(--text-primary);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.profile-add-btn:hover{background:#0000001a}.gender-selector-clean{display:flex;gap:8px}.gender-btn-clean{flex:1;padding:10px 16px;background:#0000000f;border:1px solid transparent;border-radius:8px;color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.gender-btn-clean:hover{background:#0000001a}.gender-btn-clean.selected{background:var(--accent);color:#fff;border-color:var(--accent)}.chat-settings-section{margin-bottom:20px}.chat-settings-label{font-size:12px;font-weight:500;color:var(--text-tertiary, rgba(0, 0, 0, .4));margin-bottom:8px}.chat-settings-label-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.chat-settings-label-row span:first-child{font-size:12px;font-weight:500;color:var(--text-tertiary, rgba(0, 0, 0, .4))}.chat-settings-value{font-size:13px;font-weight:600;color:var(--accent)}.chat-settings-profile-row{display:flex;align-items:center;justify-content:space-between;padding:14px;background:#0000000a;border-radius:10px;cursor:pointer;transition:background .2s}.chat-settings-profile-row:hover{background:#00000014}.chat-settings-profile-info{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.chat-settings-profile-header{display:flex;align-items:center;gap:8px}.chat-settings-profile-name{font-size:14px;font-weight:500;color:var(--text-primary)}.chat-settings-profile-gender{font-size:12px;color:var(--text-tertiary, rgba(0, 0, 0, .4))}.chat-settings-profile-desc{font-size:12px;color:var(--text-secondary, rgba(0, 0, 0, .6));line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-settings-select-wrapper{position:relative;display:flex;align-items:center}.chat-settings-select-wrapper svg{position:absolute;right:14px;pointer-events:none}.chat-settings-select{width:100%;padding:12px 36px 12px 14px;background:#0000000a;border:1px solid var(--border-light, rgba(128, 128, 128, .15));border-radius:10px;color:var(--text-primary);font-size:14px;cursor:pointer;appearance:none;-webkit-appearance:none}.chat-settings-select:focus{outline:none;border-color:var(--accent)}.chat-settings-slider{width:100%;height:4px;background:#0000001a;border-radius:2px;appearance:none;-webkit-appearance:none;cursor:pointer}.chat-settings-slider::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:18px;height:18px;background:var(--accent);border-radius:50%;cursor:pointer;box-shadow:0 2px 6px #8b5cf666}.chat-settings-slider::-moz-range-thumb{width:18px;height:18px;background:var(--accent);border-radius:50%;border:none;cursor:pointer;box-shadow:0 2px 6px #8b5cf666}.chat-settings-slider-labels{display:flex;justify-content:space-between;margin-top:6px;font-size:11px;color:var(--text-tertiary, rgba(0, 0, 0, .4))}.inline-profile-list{background:var(--bg-secondary);border-radius:10px;overflow:hidden}.inline-profile-item{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;cursor:pointer;transition:background .15s;border-bottom:1px solid var(--border-light, rgba(128, 128, 128, .1))}.inline-profile-item:last-child{border-bottom:none}.inline-profile-item:hover{background:#0000000a}.inline-profile-item.selected{background:#8b5cf614}.inline-profile-item.add-profile{gap:8px;justify-content:flex-start;border-bottom:none;border-top:1px solid var(--border-light, rgba(128, 128, 128, .15))}.inline-profile-info{display:flex;align-items:center;gap:8px}.inline-profile-name{font-size:14px;color:var(--text-primary)}.inline-profile-gender{font-size:12px;color:var(--text-tertiary, rgba(0, 0, 0, .4))}.mypage-settings-section{padding:8px 16px 20px}.mypage-settings-group{margin-bottom:20px}.mypage-settings-group:last-child{margin-bottom:0}.mypage-settings-title{font-size:12px;font-weight:500;color:var(--text-tertiary, rgba(0, 0, 0, .4));text-transform:uppercase;letter-spacing:.5px;padding:8px 4px 10px}.mypage-settings-row{display:flex;align-items:center;justify-content:space-between;padding:14px 12px;cursor:pointer;transition:background .2s;border-radius:10px}.mypage-settings-row:hover{background:#0000000a}.mypage-settings-row span{font-size:14px;color:var(--text-primary)}.mypage-settings-row.danger span{color:var(--danger)}.mypage-settings-row.danger:hover{background:#ef444414}
