@import"https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/static/pretendard.min.css";@import"https://fonts.googleapis.com/css2?family=Nanum+Gothic:wght@400;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;700&display=swap";*{margin:0;padding:0;box-sizing:border-box}button,input,select,textarea,option{font-family:inherit}[data-safe-area=top],[data-safe-area=both]{padding-top:env(safe-area-inset-top,0)}[data-safe-area=bottom],[data-safe-area=both]{padding-bottom:env(safe-area-inset-bottom,0)}.keyboard-visible .auth-fullscreen-modal [data-safe-area=bottom],.keyboard-visible .auth-fullscreen-modal [data-safe-area=both]{padding-bottom:0!important}.keyboard-visible #nicknameModal [data-safe-area=bottom],.keyboard-visible #profileFormModal [data-safe-area=bottom],.keyboard-visible .profile-form-footer{padding-bottom:16px!important}.keyboard-visible .prompt-total-bar{padding-bottom:6px!important}input::placeholder,textarea::placeholder{color:var(--text-secondary);opacity:1}input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{color:var(--text-secondary)}input[type=file]{pointer-events:auto!important}:root{--accent: #FBB03B;--accent-hover: #FCC25E;--accent-rgb: 251, 176, 59;--chat-bubble-user: #2d3748;--chat-bubble-user-text: #ffffff;--bg-primary: #111111;--bg-secondary: #1a1c20;--bg-elevated: #20242a;--bg-tertiary: #232830;--text-primary: #e0e3e8;--text-secondary: #9ca3af;--text-tertiary: #959ca8;--text-tag: #9BA8C2;--border: #3a4150;--text-on-accent: #ffffff;--success: #22c55e;--warning: #f59e0b;--danger: #ef4444;--primary: #FBB03B;--overlay-light: rgba(200, 210, 225, .06);--overlay-light-hover: rgba(200, 210, 225, .1);--overlay-light-active: rgba(200, 210, 225, .14);--overlay-light-border: rgba(200, 210, 225, .08);--overlay-dark: rgba(0, 0, 0, .5);--overlay-dark-heavy: rgba(0, 0, 0, .8);--purple-500: #FBB03B;--purple-600: #E89B1D;--purple-400: #FCC25E;--purple-700: #D4870A;--purple-rgb: 251, 176, 59;--purple-bg: rgba(251, 176, 59, .08);--purple-bg-hover: rgba(251, 176, 59, .12);--purple-border: rgba(251, 176, 59, .25);--purple-text: #FDD17A;--input-bg: rgba(255, 255, 255, .06);--input-border: rgba(255, 255, 255, .1);--input-focus-border: rgba(var(--accent-rgb), .5);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .15);--shadow-md: 0 4px 12px rgba(0, 0, 0, .3);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .5);--shadow-accent: 0 2px 8px rgba(var(--accent-rgb), .25);--card-footer-bg: var(--bg-secondary);--chat-font-family: "Pretendard", -apple-system, BlinkMacSystemFont, sans-serif;--chat-font-size: 15px;--chat-line-height: 1.6;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}::selection{background:#fbb03b4d;color:inherit}::-moz-selection{background:#fbb03b4d;color:inherit}input,textarea{caret-color:var(--accent)}[data-theme=light]{--bg-primary: #ffffff;--bg-secondary: #f3f4f6;--bg-tertiary: #e5e7eb;--bg-elevated: #f8f9fa;--text-primary: #1a1a1a;--text-secondary: #4b5563;--text-tertiary: #5f6673;--text-tag: #6B7A94;--border: #d1d5db;--text-on-accent: #ffffff;--accent: #FBB03B;--accent-hover: #E89B1D;--accent-rgb: 251, 176, 59;--chat-bubble-user: #eef0fe;--chat-bubble-user-text: #1a1a1a;--overlay-light: rgba(0, 0, 0, .04);--overlay-light-hover: rgba(0, 0, 0, .06);--overlay-light-active: rgba(0, 0, 0, .1);--overlay-light-border: rgba(0, 0, 0, .1);--overlay-dark: rgba(0, 0, 0, .4);--overlay-dark-heavy: rgba(0, 0, 0, .7);--purple-500: #FBB03B;--purple-600: #E89B1D;--purple-400: #FCC25E;--purple-700: #D4870A;--purple-rgb: 251, 176, 59;--purple-bg: rgba(251, 176, 59, .08);--purple-bg-hover: rgba(251, 176, 59, .12);--purple-border: rgba(251, 176, 59, .3);--purple-text: #D4870A;--input-bg: rgba(0, 0, 0, .03);--input-border: rgba(0, 0, 0, .15);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .08);--shadow-md: 0 4px 12px rgba(0, 0, 0, .12);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .16);--shadow-accent: 0 2px 8px rgba(var(--accent-rgb), .2);--success: #16a34a;--warning: #d97706;--danger: #dc2626;--card-footer-bg: #e9ebee}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:#0a0a0f}.setup-card{background:#14141cf2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:20px;padding:48px 36px;width:100%;max-width:380px;border:1px solid var(--overlay-light-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:#fff;letter-spacing:-.5px}.app-tagline{color:#fff6;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:#fff6;margin-bottom:8px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.form-group input,.form-group textarea{width:100%;padding:14px 16px;background:var(--overlay-light);border:1px solid var(--overlay-light-hover);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:var(--overlay-light-border)}.form-group input::placeholder{color:var(--text-tertiary)}.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:#ffffff80;border:1px solid rgba(255,255,255,.1)}.btn-secondary:hover{background:#ffffff0d;color:#fffc}.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;overflow:hidden}.chat-list{flex:1;overflow-y:auto;padding:8px;padding-bottom:calc(8px + env(safe-area-inset-bottom,0));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:none;-webkit-user-select:none;-webkit-touch-callout:none;user-select:none}.chat-item:last-child{border-bottom:none}.chat-item:hover{background:transparent}.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(128,128,128,.3);border-top-color:var(--text-primary);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:var(--purple-bg);color:var(--purple-600)}.chat-mode-badge.character{display:none}.session-count-badge{font-size:10px;padding:2px 8px;border-radius:8px;background:var(--overlay-light-hover);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:none;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}.carbon-icon{vertical-align:-.15em;flex-shrink:0}.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 12px;scrollbar-width:none;-ms-overflow-style:none;overflow-anchor:none}.ai-disclaimer{text-align:center;font-size:11px;color:var(--text-secondary);padding:0 0 8px;opacity:.7}.messages-container::-webkit-scrollbar{display:none}.chat-content{flex:1;display:flex;flex-direction:column;overflow:hidden}.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:last-child{margin-bottom:8px}.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(--chat-bubble-user);color:var(--chat-bubble-user-text);padding:10px 14px;border-radius:16px 16px 4px;display:inline-block;max-width:100%;width:fit-content}.message.assistant .message-content{background:transparent;padding:0}.message-content [class^=sh-]{contain:layout style;overflow:hidden;max-width:100%;max-height:600px;overflow-y:auto;position:relative}.action-text{color:var(--text-tertiary);font-style:italic}.message.user .action-text{color:var(--text-tertiary);font-style:normal}.chat-codeblock-title{font-size:11px;font-weight:600;color:var(--text-secondary);background:#ffffff14;padding:6px 12px;border-radius:8px 8px 0 0;border-top:1px solid rgba(255,255,255,.08);margin-top:8px}.chat-codeblock{font-family:inherit;font-size:var(--chat-font-size);line-height:1.6;color:var(--text-primary);background:#0000004d;padding:10px 12px;border-radius:0 0 8px 8px;margin:0 0 8px;white-space:pre-wrap;word-break:break-word;overflow-x:auto;box-shadow:inset 0 1px 3px #0000004d,0 2px 6px #0003}.chat-codeblock-title+.chat-codeblock{border-radius:0 0 8px 8px}.chat-codeblock:not(.chat-codeblock-title+.chat-codeblock){border-radius:8px;margin-top:8px}.message.assistant .chat-codeblock-title,.message.assistant .chat-codeblock{width:calc(100% / .85);box-sizing:border-box}#messagesContainer.novel-mode .message.assistant .chat-codeblock-title,#messagesContainer.novel-mode .message.assistant .chat-codeblock{width:100%}.cb-hl-num{color:#fbbf24}.cb-hl-str{color:#fde68a}.cb-hl-bracket{color:#86efac}.cb-hl-bar-fill{color:#34d399}.cb-hl-bar-empty{color:#ffffff26}.md-inline-code{background:#ffffff1a;padding:2px 6px;border-radius:4px;font-family:SF Mono,Monaco,Cascadia Code,monospace;font-size:.9em;color:#fde68a}.md-link{color:var(--primary);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s}.md-link:hover{border-bottom-color:var(--primary)}.md-header{display:inline;font-weight:700;color:#fff;line-height:1.4}.md-h1{font-size:1.35em}.md-h2{font-size:1.2em}.md-h3{font-size:1.1em}.md-h4{font-size:1em}.md-h5{font-size:.95em}.md-h6{font-size:.9em;color:var(--text-secondary)}.md-table-wrapper{overflow-x:auto;margin:6px 0}.md-table{border-collapse:collapse;width:100%;font-size:.9em}.md-table th,.md-table td{border:1px solid rgba(255,255,255,.12);padding:5px 10px}.md-table th{background:#ffffff0f;font-weight:600;color:#fff}.md-table td{color:var(--text-primary)}.md-list{list-style:none;padding-left:0;margin:4px 0}.md-list li{position:relative;padding-left:16px;margin:2px 0;line-height:1.5}.md-list li:before{content:"•";position:absolute;left:2px;color:var(--text-tertiary)}.md-checklist{list-style:none;padding-left:0;margin:4px 0}.md-checklist-item{display:flex;align-items:center;gap:6px;margin:2px 0;line-height:1.5}.md-checkbox{font-size:1.1em;color:var(--text-tertiary);flex-shrink:0}.md-checkbox.checked{color:var(--primary)}.md-checklist-item.checked{color:var(--text-secondary);text-decoration:line-through}.bold-text{font-weight:700;color:var(--text-primary);background:#a855f726;padding:0 4px;border-radius:3px}.message.user .bold-text{background:#ffffff26}.underline-text{text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:3px;text-decoration-thickness:2px}.highlight-text{background:rgba(var(--accent-rgb),.12);padding:0 4px;border-radius:3px}.strikethrough-text{text-decoration:line-through;color:var(--text-secondary)}.markdown-image{width:100%;height:auto;border-radius:8px;margin:4px 0}.hide-images .situational-image-block-chat,.hide-images .markdown-image{display:none!important}.ai-content-block{margin-bottom:20px}.ai-content-block:last-child{margin-bottom:0}.narration-block{color:var(--text-tertiary);font-style:normal;padding:8px 12px;background:var(--bg-secondary);border-radius:8px;margin:0;line-height:1.7;font-size:14px;white-space:pre-wrap}.message.user.user-quote-from-ai .action-text{color:var(--text-tertiary);font-style:normal}.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(--chat-bubble-user);color:var(--chat-bubble-user-text);padding:10px 14px;border-radius:16px 16px 4px;font-size:var(--chat-font-size, 15px);line-height:var(--chat-line-height, 1.6);white-space:pre-wrap;word-break:break-word}.user-quote-content .action-text{color:var(--text-tertiary);font-style:normal}.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:var(--bg-tertiary);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:var(--bg-elevated);padding:10px 14px;border-radius:4px 12px 12px;display:inline-block;max-width:100%}.dialogue-text{color:var(--text-primary);line-height:1.5;font-size:14px;white-space:pre-wrap}.plain-text-block{line-height:1.5;color:var(--text-primary);font-size:14px}.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:13px}.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,#FBB03B,var(--purple-600));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:var(--purple-bg);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:13px;font-style:normal;white-space:pre-wrap}.thought-text:before{content:"'";color:#fbb03b}.thought-text:after{content:"'";color:#fbb03b}.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);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:var(--shadow-lg)}.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 var(--overlay-light-border);flex-shrink:0}.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:var(--overlay-light-hover);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:var(--overlay-light);border:1px solid var(--border);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:var(--overlay-light-hover);border-color:var(--border);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.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:var(--overlay-light-border);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 var(--text-on-accent);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-profile-container{display:block}.memory-profile-row{display:flex;align-items:center;gap:8px}.memory-profile-left{display:flex;align-items:center;gap:8px;flex-shrink:0}.memory-profile-desc{flex:1;min-width:0;font-size:12px;color:var(--text-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.memory-profile-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.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:none;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:var(--text-tertiary);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:0 12px 12px;padding-bottom:calc(12px + env(safe-area-inset-bottom));background:none;flex-shrink:0;margin-top:-20px}.input-wrapper{display:flex;flex-direction:column;background:var(--bg-tertiary);border:none;border-radius:16px;padding:12px 16px 4px;box-shadow:0 0 16px #0000004d}.input-wrapper textarea{flex:none;width:100%;padding:0;background:transparent;border:none;color:var(--text-primary);font-size:14px;resize:none;height:24px;overflow-y:hidden;font-family:inherit;line-height:1.4;overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch}.input-wrapper textarea:focus{outline:none}.input-actions{display:flex;justify-content:space-between;align-items:center;gap:4px;margin-top:8px;margin-left:-10px;margin-right:-10px}.input-actions-left,.input-actions-right{display:flex;align-items:center;gap:4px}.suggest-reply-btn{display:inline-flex;align-items:center;gap:2px;padding:6px 10px;background:var(--bg-tertiary);border:1px solid rgba(255,255,255,.15);border-radius:16px;color:var(--text-secondary);font-size:12px;cursor:pointer;transition:all .15s ease;flex-shrink:0}.suggest-reply-btn svg{width:13px;height:13px}.action-insert-btn{width:32px;height:32px;background:none;border:none;border-radius:50%;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(--bg-tertiary)}.send-btn{width:28px;height:28px;background:var(--accent);border:none;border-radius:50%;color:#fff;font-size:16px;cursor:pointer;transition:background .2s;display:flex;align-items:center;justify-content:center;flex-shrink:0}.send-btn:disabled{background:var(--accent);opacity:.4;cursor:not-allowed}.send-btn:disabled svg{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.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:var(--overlay-light-hover)}.timeline-section,.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:8px;gap:4px;flex-shrink:0;border-bottom:1px solid var(--border-light, rgba(128, 128, 128, .15));background:var(--bg-primary)}.memory-tab{padding:10px 14px;background:transparent;border:none;font-size:13px;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:16px;scrollbar-width:none;-ms-overflow-style:none}.memory-content::-webkit-scrollbar{display:none}.memory-section{margin-bottom:10px}.memory-section.narrative{padding:12px;background:var(--bg-tertiary);border-radius:10px;border-bottom:none;margin-bottom:10px}.memory-section-title{font-size:12px;color:var(--text-secondary);margin-bottom:6px;padding:0;display:flex;align-items:center;gap:6px;font-weight:600}.memory-item{padding:4px 0;background:none;border-radius:0;font-size:13px;margin-bottom:0;line-height:1.6;color:var(--text-primary)}.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:5px 0;background:none;font-size:13px;display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.state-key{color:var(--text-secondary);flex-shrink:0;white-space:nowrap;min-width:36px;font-size:13px}.state-value{color:var(--text-primary);text-align:right;word-break:break-word;flex:1;font-weight:500}.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)}}.loading-message{padding-bottom:8px}.loading-message .loading-content{display:flex;align-items:center;gap:12px}.loading-avatar-wrapper{width:36px;height:36px;border-radius:50%;overflow:hidden;flex-shrink:0;background:var(--bg-tertiary)}.loading-avatar-img{width:100%;height:100%;object-fit:cover}.loading-avatar-placeholder{width:100%;height:100%;background:var(--bg-tertiary)}.loading-text-wrapper{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.loading-badge{display:flex;align-items:center;gap:4px;margin-left:2px}.loading-badge span{width:4px;height:4px;background:var(--text-tertiary);border-radius:50%;animation:badge-bounce 1.4s infinite ease-in-out both}.loading-badge span:nth-child(1){animation-delay:-.32s}.loading-badge span:nth-child(2){animation-delay:-.16s}.loading-badge span:nth-child(3){animation-delay:0s}@keyframes badge-bounce{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}.loading-status-text{font-size:13px;color:var(--text-secondary);animation:loading-text-pulse 2s ease-in-out infinite;display:block}@keyframes loading-text-pulse{0%,to{opacity:.6}50%{opacity:1}}.message.streaming .streaming-last-block{animation:block-fade-in .15s ease-out}@keyframes block-fade-in{0%{opacity:.7}to{opacity:1}}.streaming-content .narration-block,.streaming-content .dialogue-text,.streaming-content .thought-text,.streaming-content .helper-text{transition:opacity .1s ease-out}.message.streaming .streaming-content{white-space:pre-wrap;word-break:break-word;min-height:36px}.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-meta-banner{display:none;justify-content:flex-start;align-items:center;gap:12px;width:100%;padding:6px 12px;margin-top:8px;background:var(--bg-secondary);border-radius:10px;font-size:11px;color:var(--text-secondary);box-sizing:border-box}.meta-banner-item{display:inline-flex;align-items:center;gap:4px}.message-meta-banner svg{width:12px;height:12px;opacity:.5;flex-shrink:0}.message-actions{display:none;justify-content:space-between;align-items:center;gap:10px;margin-top:4px;margin-bottom:4px;width:100%}.message-actions-right{display:flex;gap:10px;align-items:center;margin-left:auto}.message.assistant.show-actions .message-actions{display:flex}.message-action-btn{display:inline-flex;align-items:center;gap:2px;padding:6px 10px;background:var(--bg-primary);border:1px solid rgba(255,255,255,.15);border-radius:16px;color:var(--text-primary);font-size:12px;cursor:pointer;transition:all .15s ease}.message-action-btn:active{opacity:.7}.message-action-btn.icon-only{width:32px;height:32px;padding:0;border-radius:50%;justify-content:center}.message-action-btn svg{width:16px;height:16px}.scene-cost{font-size:10px;color:var(--text-tertiary);margin-left:2px}.message-action-btn.disabled,.message-action-btn:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.message .scene-image-container{margin:8px 0 4px}.message.scene-image{padding:8px}.scene-image-container{position:relative;max-width:100%;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}.scene-image-container.scene-image-loading{background:var(--bg-secondary);display:flex;align-items:center;justify-content:center}.scene-image-loading-content{display:flex;flex-direction:column;align-items:center;gap:16px;padding:32px}.sparkle-icon{width:48px;height:48px;color:var(--accent);animation:sparkle-rotate 2s ease-in-out infinite}@keyframes sparkle-rotate{0%,to{transform:rotate(0) scale(1);opacity:.8}25%{transform:rotate(90deg) scale(1.1);opacity:1}50%{transform:rotate(180deg) scale(1);opacity:.8}75%{transform:rotate(270deg) scale(1.1);opacity:1}}.scene-image-loading-text{color:var(--text-secondary);font-size:14px;font-weight:500;text-align:center}.scene-image-loading-subtext{color:var(--text-tertiary);font-size:12px;text-align:center;margin-top:-8px}.scene-image-container.scene-image-error{background:var(--bg-secondary);border:1px solid rgba(239,68,68,.3);display:flex;align-items:center;justify-content:center}.scene-image-error-text{color:var(--text-secondary);font-size:13px;text-align:center;margin-top:8px}.error-icon{width:40px;height:40px;color:#ef4444cc}.scene-image-retry-btn{margin-top:12px;padding:8px 16px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);font-size:13px;cursor:pointer;transition:all .2s}.scene-image-retry-btn:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.scene-image-retry-btn:active{transform:scale(.95)}.event-item{padding:8px 12px;margin-bottom:6px;border-left:2px solid var(--accent);background:var(--bg-tertiary);border-radius:0 8px 8px 0}.event-item:last-child{margin-bottom:0}.event-item-title{font-size:13px;font-weight:500;color:var(--text-primary)}.event-item-desc{font-size:12px;color:var(--text-secondary);margin-top:2px;line-height:1.5}.images-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 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 var(--overlay-light-active);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),var(--purple-600));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-content{flex:1;min-width:0}.profile-manager-header{display:flex;align-items:center;gap:8px;margin-bottom:2px}.profile-manager-name{font-size:14px;font-weight:600;color:var(--text-primary)}.profile-manager-desc{font-size:12px;color:var(--text-secondary);margin-top:4px;line-height:1.4}.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-sheet{display:flex;flex-direction:column;max-height:80vh}.profile-selector-body{flex:1;overflow-y:auto;padding-bottom:0!important}.profile-selector-footer{padding:16px 20px;padding-bottom:calc(16px + env(safe-area-inset-bottom,0));border-top:1px solid var(--border-light, rgba(128, 128, 128, .15));background:var(--bg-primary);flex-shrink:0}.profile-selector-footer .profile-add-btn{margin-top:0}.keyboard-visible .profile-selector-footer{padding-bottom:16px!important}.profile-selector-list{display:flex;flex-direction:column;gap:8px}.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}.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}.conversation-start-banner{margin:20px 0;padding:0}.conversation-divider{display:flex;align-items:center;gap:12px;margin-top:6px;margin-bottom:26px}.conversation-divider-line{flex:1;height:1px;border-top:1px dashed var(--border)}.conversation-divider-text{font-size:12px;color:var(--text-tertiary);white-space:nowrap}.profile-banner{display:flex;align-items:center;justify-content:space-between;background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:12px 16px;cursor:pointer;transition:background .2s}.profile-banner:hover{background:var(--bg-tertiary)}.profile-banner-info{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}.profile-banner-header{display:flex;align-items:center;gap:8px}.profile-banner-name{font-size:14px;font-weight:600;color:var(--text-primary)}.profile-banner-gender{font-size:11px;padding:2px 6px;border-radius:4px;background:var(--bg-tertiary);color:var(--text-tertiary)}.profile-banner-desc{font-size:12px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-banner-edit-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--bg-primary);border:1px solid var(--border);border-radius:8px;color:var(--text-secondary);cursor:pointer;transition:all .2s;flex-shrink:0;margin-left:12px}.profile-banner-edit-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.profile-banner.no-profile{background:rgba(var(--accent-rgb),.08);border-color:rgba(var(--accent-rgb),.2)}.profile-banner.no-profile .profile-banner-name{color:var(--accent)}.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),var(--purple-600));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:#ffffff05}.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:#ffffff4d;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:#fff6}.toast.success{background:linear-gradient(135deg,#22c55ef2,#16a34af2)}.toast.success .toast-progress{background:#fff6}.toast.warning{background:linear-gradient(135deg,#f59e0bf2,#d97706f2)}.toast.warning .toast-progress{background:#fff6}.toast.error{background:linear-gradient(135deg,#ef4444f2,#dc2626f2)}.toast.error .toast-progress{background:#fff6}@keyframes toastProgress{0%{width:100%}to{width:0%}}@media(max-width:480px){.sidebar.open{left:0}.chat-header{padding:12px 16px;flex-shrink:0;background:#000;border-bottom:none}.chat-title{font-size:14px;max-width:120px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.messages-container{padding:16px 12px 24px;flex:1;overflow-y:auto}.input-area{padding:0 12px 12px;padding-bottom:calc(12px + env(safe-area-inset-bottom));flex-shrink:0;background:transparent}.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:flex;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:rgba(var(--accent-rgb),.15)}.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:rgba(var(--accent-rgb),.1)}.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;flex:1;min-height:0;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}.tab-content::-webkit-scrollbar{display:none}.tab-content.active{display:flex}.bottom-nav{flex-shrink:0;display:none;justify-content:space-around;background:var(--bg-primary);border-top:1px solid var(--overlay-light-hover);padding:6px 0;padding-bottom:calc(6px + 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-secondary);font-size:10px;cursor:pointer;padding:6px 20px;border-radius:12px;transition:all .2s ease}.nav-item.active{color:#fff}.nav-item.active svg{fill:#fff;stroke:none}.nav-item svg{transition:transform .2s ease;fill:var(--text-tertiary)}.nav-item.active svg{transform:scale(1.1)}.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{flex:1;min-height:0;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none;padding:0;padding-top:calc(56px + env(safe-area-inset-top,0));background:var(--bg-primary)}.chats-container::-webkit-scrollbar{display:none}.chats-header{display:flex;justify-content:space-between;align-items:center;padding:calc(12px + env(safe-area-inset-top,0)) 16px 10px;background:var(--bg-primary);border-bottom:1px solid var(--overlay-light-hover);position:fixed;top:0;left:0;right:0;z-index:50}.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),var(--purple-600));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(--accent)}.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-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;overflow:hidden}.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(200,210,225,.08)}.back-btn{background:none;border:none;color:var(--text-primary);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-search-modal{position:absolute;inset:0;background:var(--bg-primary);z-index:50;display:flex;flex-direction:column}.chat-search-header{display:flex;align-items:center;gap:8px;padding:12px 12px 12px 4px;border-bottom:1px solid var(--border-light, rgba(128, 128, 128, .12));flex-shrink:0}.chat-search-back-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:transparent;border:none;border-radius:50%;color:var(--text-primary);cursor:pointer;flex-shrink:0}.chat-search-input-wrap{flex:1;display:flex;align-items:center;background:var(--bg-secondary);border-radius:10px;padding:0 12px;min-width:0}.chat-search-input{flex:1;min-width:0;height:38px;border:none;background:transparent;color:var(--text-primary);font-size:14px;outline:none}.chat-search-input::placeholder{color:var(--text-tertiary)}.chat-search-clear-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:none;color:var(--text-tertiary);cursor:pointer;flex-shrink:0}.chat-search-content{flex:1;overflow-y:auto;padding:8px 0}.chat-search-empty,.chat-search-no-results{display:flex;align-items:center;justify-content:center;padding:40px 20px;color:var(--text-tertiary);font-size:14px}.chat-search-result-item{display:flex;flex-direction:column;gap:4px;padding:12px 16px;cursor:pointer;transition:background .15s}.chat-search-result-item:active{background:var(--bg-secondary)}.chat-search-result-top{display:flex;align-items:center;gap:6px}.chat-search-result-role{font-size:12px;font-weight:600;color:var(--text-secondary)}.chat-search-result-meta{font-size:11px;color:var(--text-tertiary)}.chat-search-result-text{font-size:14px;color:var(--text-primary);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.chat-search-result-text mark{background:#ffc10766;color:inherit;padding:0 1px;border-radius:2px}mark.search-highlight{background:#ffc1074d;color:inherit;padding:0 1px;border-radius:2px}mark.search-highlight-current{background:#ffc107b3}.chat-search-detail{position:absolute;inset:0;background:var(--bg-primary);display:flex;flex-direction:column;z-index:1}.chat-search-detail-header{display:flex;align-items:center;gap:8px;padding:12px 12px 12px 4px;border-bottom:1px solid var(--border-light, rgba(128, 128, 128, .12));flex-shrink:0}.chat-search-detail-header button:first-child{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:transparent;border:none;border-radius:50%;color:var(--text-primary);cursor:pointer;flex-shrink:0}.chat-search-detail-turn{flex:1;font-size:14px;font-weight:600;color:var(--text-secondary)}.chat-search-detail-content{flex:1;overflow-y:auto;padding:16px;font-size:14px;line-height:1.7;color:var(--text-primary);-webkit-user-select:text;user-select:text}.chat-search-detail-bottom{display:flex;align-items:center;gap:8px;padding:10px 12px;padding-bottom:calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--border-light, rgba(128, 128, 128, .12));flex-shrink:0}.chat-search-detail-bottom-btn{display:flex;align-items:center;gap:5px;padding:8px 14px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;color:var(--text-secondary);font-size:13px;cursor:pointer;white-space:nowrap}.chat-search-detail-bottom-btn:active{background:var(--bg-tertiary)}.chat-search-branch-btn{margin-left:auto}.chat-overlay .messages-container{flex:1;overflow-y:auto;padding:16px 12px 24px;overflow-anchor:none}.chat-overlay .input-area{padding:0 12px 12px;padding-bottom:calc(12px + env(safe-area-inset-bottom));background:transparent}.keyboard-visible .chat-overlay .input-area{padding-bottom:12px}.chat-overlay .input-area{overscroll-behavior:contain}.chat-overlay .input-area textarea{touch-action:manipulation;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.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),var(--purple-600));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{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}.app-container{display:flex;flex-direction:column;height:100vh;overflow:hidden}@media(min-width:481px){html{background:#000;height:100%}body{max-width:580px;margin:0 auto;box-shadow:0 0 40px #000c;transform:translateZ(0);position:relative;min-height:100vh;overflow-x:hidden}html:before,html:after{content:"";position:fixed;top:0;bottom:0;width:calc((100vw - 580px)/2);background:#000;z-index:99999;pointer-events:none}html:before{left:0}html:after{right:0}body.nicepay-active{transform:none!important}body.nicepay-active .nicepay-layer,body.nicepay-active .nicepay-modal,body.nicepay-active .nicepay_layer,body.nicepay-active #nicepay_layer,body.nicepay-active #AUTHNICE_LAYER,body.nicepay-active .AUTHNICE_LAYER,body.nicepay-active [class*=nicepay],body.nicepay-active [id*=nicepay],body.nicepay-active [class*=AUTHNICE],body.nicepay-active [id*=AUTHNICE],body.nicepay-active>div[style*="position: fixed"],body.nicepay-active>div[style*=z-index]{position:fixed!important;inset:0!important;width:100vw!important;max-width:none!important;margin:0!important;z-index:999999!important;transform:none!important}body.nicepay-active [class*=nicepay] iframe,body.nicepay-active [id*=nicepay] iframe,body.nicepay-active [class*=AUTHNICE] iframe,body.nicepay-active [id*=AUTHNICE] iframe,body.nicepay-active>div iframe{width:100%!important;height:100%!important;max-width:none!important;border:none!important}}.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}.bottom-sheet-handle{width:36px;height:4px;background:#fff3;border-radius:2px;margin:12px auto 8px}.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}.bottom-sheet-item{display:flex;align-items:center;gap:12px;padding:16px;border-radius:12px;cursor:pointer;transition:background .2s;position:relative;font-size:15px;color:var(--text-primary)}.bottom-sheet-item:hover{background:var(--bg-tertiary)}.bottom-sheet-item.selected{background:rgba(var(--accent-rgb),.1);color:var(--accent)}.bottom-sheet-item .check-icon{margin-left:auto}.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:#6a7a8a}.token-input-cached{height:100%;background:#a5baca}.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:#6a7a8a}.token-input-item.cached .token-input-dot{background:#a5baca}.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:color-mix(in srgb,var(--accent) 60%,transparent)}.token-timing-gen{height:100%;background:var(--accent)}.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-section.cost-section{background:color-mix(in srgb,var(--accent) 5%,transparent);margin:0 -16px -16px;padding:14px 16px;border-bottom:none;border-radius:0 0 12px 12px}.token-cost-icon{margin-right:4px}.token-cost-value{display:flex;align-items:center;gap:4px;font-size:20px;font-weight:700;color:var(--text-primary);font-variant-numeric:tabular-nums}.token-cost-krw{text-align:right;font-size:12px;color:var(--text-secondary);margin-top:2px}.fullscreen-modal-overlay{position:fixed;inset:0;background:#00000080;z-index:9999;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}.fullscreen-modal-overlay.open{opacity:1;visibility:visible}.fullscreen-modal{position:fixed;inset:0;width:100%;height:100%;max-width:580px;margin:0 auto;background:var(--bg-secondary);display:flex;flex-direction:column;transform:translateY(100%);transition:transform .3s ease-out;z-index:9999}#legalModal{z-index:250000}.fullscreen-modal.open{transform:none}.fullscreen-modal-overlay.open .fullscreen-modal{transform:translateY(0)}.fullscreen-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--border-light, rgba(128, 128, 128, .1));flex-shrink:0}.fullscreen-modal-title{font-size:18px;font-weight:600;color:var(--text-primary)}.fullscreen-modal-close{width:32px;height:32px;border:none;background:transparent;font-size:24px;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:background .2s}.fullscreen-modal-close:hover{background:var(--bg-tertiary)}.fullscreen-modal-back{width:36px;height:36px;border:none;background:transparent;color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:background .2s}.fullscreen-modal-back svg{width:22px;height:22px;stroke:var(--text-primary);stroke-width:2.5}.fullscreen-modal-back:hover{background:var(--bg-tertiary)}.fullscreen-modal-back:active{background:var(--bg-hover)}.fullscreen-modal-header h2{font-size:18px;font-weight:600;color:var(--text-primary);margin:0}.fullscreen-modal-content,.fullscreen-modal-body{flex:1;overflow-y:auto;padding:16px}.token-info-modal .fullscreen-modal-body{padding:8px 16px 16px}.token-section-group{margin-bottom:8px;background:var(--bg-tertiary);border-radius:12px;overflow:hidden}.token-section-header-main{display:flex;align-items:center;padding:14px 16px;cursor:pointer;-webkit-user-select:none;user-select:none;gap:8px}.token-section-title-main{flex:1;font-size:15px;font-weight:600;color:var(--text-primary)}.token-section-value-main{font-size:14px;font-weight:600;color:var(--text-primary);font-variant-numeric:tabular-nums}.token-section-toggle{font-size:10px;color:var(--text-tertiary);transition:transform .2s}.token-section-group:not(.expanded) .token-section-toggle{transform:rotate(-90deg)}.token-section-content{display:none;padding:0 16px 16px}.token-section-group.expanded .token-section-content{display:block}.token-context-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0}.token-context-label{font-size:14px;color:var(--text-secondary)}.token-context-value{font-size:14px;font-weight:600;color:var(--text-primary)}.token-context-detail{display:flex;gap:8px;flex-wrap:wrap;padding:4px 0 8px}.token-context-type{font-size:11px;padding:3px 8px;background:var(--bg-secondary);border-radius:10px;color:var(--text-tertiary)}.token-context-names{font-size:12px;color:var(--text-tertiary);padding:4px 0}.token-timeline-bar{display:flex;height:8px;background:var(--bg-secondary);border-radius:4px;overflow:hidden;margin-bottom:16px}.token-timeline-pre,.token-timeline-gen,.token-timeline-post{height:100%;flex-shrink:0}.token-timeline-pre{background:#5a6a7a}.token-timeline-gen{background:#8595a5}.token-timeline-post{background:#b0c5d5}.token-timing-phase{margin-bottom:12px;padding:12px;background:var(--bg-secondary);border-radius:10px}.token-timing-phase:last-child{margin-bottom:0}.token-timing-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.token-timing-dot.pre{background:#5a6a7a}.token-timing-dot.gen{background:#8595a5}.token-timing-dot.post{background:#b0c5d5}.token-timing-dot-small{width:6px;height:6px;border-radius:50%;flex-shrink:0;display:inline-block}.token-timing-item.first .token-timing-dot-small{background:#6a7a8a}.token-timing-item.streaming .token-timing-dot-small{background:#a5baca}.token-timing-phase-header{display:flex;align-items:center;gap:8px}.token-timing-phase-name{flex:1;font-size:14px;font-weight:500;color:var(--text-primary)}.token-timing-phase-value{font-size:13px;font-weight:600;color:var(--text-primary);font-variant-numeric:tabular-nums}.token-timing-phase-details{margin-top:10px;padding-top:10px;border-top:1px solid var(--border-light, rgba(128, 128, 128, .1))}.token-timing-detail-row{display:flex;justify-content:space-between;align-items:center;padding:4px 0;font-size:12px}.token-timing-detail-row span:first-child{color:var(--text-tertiary)}.token-timing-detail-row span:last-child{color:var(--text-secondary);font-variant-numeric:tabular-nums}.token-timing-bar-container{margin-top:10px}.token-timing-bar-container .token-timing-bar{display:flex;height:8px;background:var(--bg-tertiary);border-radius:4px;overflow:hidden}.token-timing-bar-container .token-timing-first,.token-timing-bar-container .token-timing-streaming{height:100%;flex-shrink:0}.token-timing-bar-container .token-timing-first{background:#6a7a8a}.token-timing-bar-container .token-timing-streaming{background:#a5baca}.confirm-modal-overlay{position:fixed;inset:0;z-index:100000;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:#00000080}.confirm-modal{position:relative;background:var(--bg-secondary);border-radius:16px;padding:24px;max-width:320px;width:calc(100% - 48px);text-align:left;transform:scale(.95);transition:transform .2s}.confirm-modal-overlay.open .confirm-modal{transform:scale(1)}.confirm-modal-title{font-size:16px;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 20px}.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:11px 16px;border-radius:10px;font-size:14px;font-weight:500;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(--primary-hover)}.report-modal{max-width:340px}.report-type-options{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.report-type-option{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;background:var(--bg-tertiary);cursor:pointer;font-size:14px;color:var(--text-primary);transition:background .15s}.report-type-option:hover{background:var(--bg-hover)}.report-type-option input[type=radio]{accent-color:var(--accent);width:16px;height:16px;margin:0}.report-details-textarea{width:100%;padding:10px 12px;border-radius:10px;border:1px solid var(--border);background:var(--bg-tertiary);color:var(--text-primary);font-size:13px;font-family:inherit;resize:none;margin-bottom:16px;box-sizing:border-box}.report-details-textarea::placeholder{color:var(--text-tertiary)}.report-details-textarea:focus{outline:none;border-color:var(--accent)}.chats-filters{display:none;gap:20px;padding:12px 16px;background:var(--bg-primary);border-top:1px solid var(--overlay-light-hover);border-bottom:1px solid var(--overlay-light-hover)}.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:calc(8px + env(safe-area-inset-top,0)) 16px 8px;background:var(--bg-primary)}.home-tabs-left{display:flex;align-items:center;gap:20px}.ranking-period-select{padding:5px 28px 5px 8px;font-size:12px;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;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url('data:image/svg+xml;charset=UTF-8,<svg width="10" height="6" viewBox="0 0 10 6" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1 1L5 5L9 1" stroke="%236b7280" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>');background-repeat:no-repeat;background-position:right 8px center;background-size: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}.safety-filter-banner{display:flex;align-items:center;padding:10px 16px;margin:0 12px -20px;border-radius:4px;background:var(--bg-elevated);cursor:pointer;transition:background .2s;-webkit-user-select:none;user-select:none;position:relative;z-index:3}.safety-filter-banner:active{background:var(--bg-tertiary)}.safety-banner-icon{width:16px;height:16px;flex-shrink:0;margin-right:6px;display:flex;align-items:center;justify-content:center}.safety-banner-icon svg{width:100%;height:100%}.safety-banner-text{flex:1;font-size:14px;font-weight:500;color:var(--text-secondary)}.safety-banner-action{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:400;color:var(--text-secondary)}.safety-banner-action svg{width:16px;height:16px}.safety-filter-banner.enabled .safety-banner-icon{color:var(--accent)}.safety-filter-banner.disabled .safety-banner-icon{color:var(--danger)}.home-content-grid{display:grid;grid-template-columns:repeat(2,1fr);align-content:start;gap:8px;padding:28px 12px 100px;overflow-y:auto;flex:1;scrollbar-width:none;-ms-overflow-style:none;overscroll-behavior:contain}.home-content-grid::-webkit-scrollbar{display:none}.ptr-indicator{height:0;overflow:hidden;display:flex;align-items:center;justify-content:center;flex-shrink:0;opacity:0}.ptr-indicator .spinner{width:20px;height:20px}.home-card-wrapper{display:flex;flex-direction:column;cursor:pointer;min-width:0;border-radius:12px;box-shadow:none;background:transparent}.home-card-wrapper:active{transform:scale(.98)}.home-card{position:relative;overflow:hidden;width:100%;aspect-ratio:1 / 1;flex-shrink:0;border-radius:12px;background:transparent}.home-card-inner{position:absolute;inset:0}.home-card-image{width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .15s ease}.home-card-image.loaded{opacity:1}.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-original-banner{position:absolute;top:0;left:0;padding:4px 45px 4px 8px;background:linear-gradient(to right,rgba(0,0,0,.6) 0%,rgba(0,0,0,.3) 40%,transparent 100%);font-size:11px;font-style:italic;font-weight:600;color:#ffffffeb;letter-spacing:.5px;z-index:2;border-radius:12px 0 0}.home-card-creator-chip{position:absolute;bottom:0;left:0;padding:4px 45px 4px 8px;background:linear-gradient(to right,rgba(0,0,0,.6) 0%,rgba(0,0,0,.3) 40%,transparent 100%);font-family:Pretendard,sans-serif;font-size:11px;font-weight:600;color:#ffffffeb;letter-spacing:0;display:flex;align-items:center;gap:3px;max-width:70%;overflow:hidden;z-index:2;border-radius:0 0 0 12px}.home-card-creator-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-card-creator-chip .home-card-verified{width:12px;height:12px;flex-shrink:0}.home-card-plays{display:flex;align-items:center;gap:3px;font-size:13px;color:var(--text-secondary);flex-shrink:0}.home-card-plays svg{opacity:.6}.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:#ffffffe6;letter-spacing:.3px}.home-card-info{padding:10px 0 8px;background:transparent;overflow:hidden}.home-card-title-row{display:flex;align-items:center;gap:8px;margin-bottom:4px}.home-card-title{font-size:15px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.home-card-desc{font-size:12px;color:var(--text-secondary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.4;margin-bottom:6px;min-height:calc(12px * 1.4 * 2)}.home-card-tags{display:flex;flex-wrap:nowrap;gap:3px;overflow:hidden;align-items:center}.home-card-tag{display:inline-block;padding:3px 5px;background:#0009;border-radius:4px;font-size:10px;color:#fff9;white-space:nowrap;flex-shrink:0}.home-card-tag.safety-on,.home-card-tag.safety-off{background:#0009;padding:3px;border-radius:4px;box-shadow:none;display:inline-flex;align-items:center;justify-content:center;line-height:0}.home-card-tag.safety-on svg,.home-card-tag.safety-off svg{width:12px;height:12px}.home-card-tag.safety-on{color:var(--accent)}.home-card-tag.safety-off{color:var(--danger)}.home-card-verified{width:14px;height:14px;flex-shrink:0}.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;transform:translate(100%);transition:transform .25s ease-out}.modal-overlay.active .search-modal{transform:translate(0)}.search-header{display:flex;align-items:center;gap:8px;padding:12px 16px}.search-back-btn{background:none;border:none;color:var(--text-primary);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.search-input-wrap{flex:1;min-width:0;display:flex;align-items:center;background:var(--bg-tertiary);padding:10px 14px;border-radius:10px;border:1px solid var(--accent)}.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-tertiary)}.search-clear-btn{background:none;border:none;color:var(--text-tertiary);cursor:pointer;padding:2px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.search-clear-btn:hover{color:var(--text-secondary)}.search-content{flex:1;overflow-y:auto}.search-initial-view{padding:16px}.search-section{margin-bottom:32px}.search-section-title{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:12px}.search-section-content{display:flex;flex-wrap:wrap;gap:8px}.search-empty-message{color:var(--text-tertiary);font-size:13px;padding:8px 0}.search-tag-list{display:flex;flex-wrap:wrap;gap:8px}.search-tag{display:inline-flex;align-items:center;padding:6px 10px;background:var(--bg-tertiary);border:none;border-radius:8px;font-size:12px;color:var(--text-secondary);cursor:pointer;transition:all .2s}.search-tag:active{transform:scale(.95)}.search-tag.recent{padding-right:6px;gap:4px}.search-tag-delete{display:flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;color:var(--text-tertiary)}.search-suggestion-view{padding:0}.search-query-row{display:flex;align-items:center;gap:12px;padding:14px 16px;cursor:pointer}.search-query-row svg{color:var(--text-secondary);flex-shrink:0}.search-query-row span{font-size:15px;color:var(--text-primary)}.search-tag-row{display:flex;align-items:center;gap:12px;padding:14px 16px;cursor:pointer}.search-tag-icon{width:40px;height:40px;border-radius:50%;background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;color:var(--text-secondary);font-size:16px;font-weight:600;flex-shrink:0}.search-tag-info{flex:1;min-width:0}.search-tag-name{font-size:15px;font-weight:500;color:var(--text-primary)}.search-tag-count{font-size:12px;color:var(--text-tertiary);margin-top:2px}.search-results-view{padding:16px}.search-results{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.search-results-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.search-results-title{font-size:14px;font-weight:600;color:var(--text-primary)}.search-results-count{font-size:12px;color:var(--text-tertiary)}.search-no-results{text-align:center;color:var(--text-secondary);padding:40px 20px;grid-column:1 / -1}.search-no-results-icon{font-size:48px;margin-bottom:12px;opacity:.5}.search-no-results-text{font-size:14px}#contentDetailModal.modal-overlay{background:transparent!important;padding:0!important;overflow:hidden!important;align-items:stretch!important;justify-content:stretch!important}.content-detail-modal{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;width:0;height:0}.content-detail-modal .detail-content{flex:1 0 auto}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-header-right{display:flex;align-items:center;gap:4px}.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{position:absolute;left:50%;transform:translate(-50%);max-width:60%;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;pointer-events:none}.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%;flex-shrink:0;overflow:hidden;margin-top:calc(-48px - env(safe-area-inset-top));padding-bottom:160px}.detail-image-backdrop{position:absolute;inset:0;background-size:cover;background-position:center 20%;filter:blur(40px) saturate(1.2) brightness(.55);transform:scale(1.3);z-index:0}.detail-image{width:calc(100% - 32px);margin:0 16px;margin-top:calc(52px + env(safe-area-inset-top));min-height:200px;max-height:70vh;background:linear-gradient(135deg,var(--bg-tertiary) 0%,var(--bg-secondary) 100%);display:flex;align-items:center;justify-content:center;font-size:80px;position:relative;z-index:1;border-radius:12px;overflow:hidden}.detail-image img{width:100%;height:auto;display:block}.detail-image .img-loading-wrapper{width:100%;height:100%;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background:linear-gradient(90deg,var(--bg-tertiary) 0%,var(--bg-secondary) 20%,var(--bg-tertiary) 40%,var(--bg-tertiary) 100%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite}.detail-image .img-loading-wrapper.loaded{animation:none;background:transparent}.detail-image .img-loading-wrapper img{width:100%;height:100%;object-fit:cover;display:block;opacity:0;filter:blur(8px);transform:scale(1.02);transition:opacity .4s ease,filter .4s ease,transform .4s ease}.detail-image .img-loading-wrapper img.loaded{opacity:1;filter:blur(0);transform:scale(1)}.detail-image-gradient{position:absolute;bottom:-6px;left:0;right:0;height:300px;background:linear-gradient(to bottom,transparent 0%,color-mix(in srgb,var(--bg-primary) 40%,transparent) 40%,color-mix(in srgb,var(--bg-primary) 80%,transparent) 70%,var(--bg-primary) 100%);z-index:0;pointer-events:none}.detail-content{padding:0 16px 50px;flex:1 0 auto;overflow-wrap:break-word;word-break:break-word;margin-top:-145px;position:relative;z-index: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:22px;font-weight:700;margin-top:4px;margin-bottom:2px;letter-spacing:-.3px;line-height:1.3}.detail-badges{display:flex;justify-content:flex-start;gap:8px;margin-bottom:0}.detail-badge{padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600}.detail-badge.unfilter{background:linear-gradient(135deg,#fbb03b,#e89b1d);color:#fff}.detail-badge.type{background:var(--accent);color:#fff}#detailTypeBadge{display:none}.detail-description{font-size:14px;line-height:1.7;color:var(--text-primary);margin-bottom:0}.detail-char-meta{font-size:13px;color:var(--text-tertiary);display:block;margin-bottom:10px;letter-spacing:.2px}.detail-short-desc{display:block;color:var(--text-secondary);line-height:1.6}.detail-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px;margin-bottom:0}.detail-tag-chip{display:inline-block;padding:4px 10px;background:transparent;border:1px solid var(--border);border-radius:14px;font-size:12px;color:var(--text-tertiary);letter-spacing:.1px}.detail-meta-row{display:flex;justify-content:flex-start;align-items:center;gap:12px;margin-top:14px;margin-bottom:12px}.detail-badge.play{display:inline-flex;align-items:center;gap:4px;background:var(--bg-tertiary);color:var(--text-secondary)}.detail-badge.play svg{opacity:.6}.detail-divider{height:1px;background:var(--border);opacity:.4;margin:24px -16px}.detail-section-title{font-size:16px;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:16px;font-weight:700;color:var(--text-primary);margin-bottom:12px}.detail-char-section-content{font-size:14px;line-height:1.6;color:var(--text-secondary);white-space:pre-line;overflow-wrap:break-word;word-break:break-word}.detail-accordion-wrapper{position:relative;overflow:hidden;transition:max-height .3s ease}.detail-accordion-wrapper.collapsed{max-height:350px}.detail-accordion-desc.collapsed{max-height:500px}.detail-accordion-wrapper.expanded{max-height:none}.detail-accordion-wrapper.collapsed:after{content:"";position:absolute;bottom:0;left:0;right:0;height:80px;background:linear-gradient(transparent,var(--bg-primary, #0a0a0a));pointer-events:none}.detail-accordion-toggle{display:flex;align-items:center;justify-content:center;gap:4px;width:100%;padding:12px 0;background:transparent;border:none;color:var(--text-tertiary);font-size:13px;cursor:pointer;transition:color .2s}.detail-accordion-toggle:hover{color:var(--text-secondary)}.detail-accordion-toggle svg{transition:transform .3s ease}.detail-accordion-wrapper.expanded+.detail-accordion-toggle svg{transform:rotate(180deg)}.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:100%}.detail-intro-messages .ai-content-block.user-block{margin-left:auto}.detail-intro-messages .dialogue-block,.detail-intro-messages .thought-block,.detail-intro-messages .plain-text-block{max-width:85%}.detail-intro-messages .intro-block-wrapper.user-block-wrapper{display:flex;flex-direction:column;align-items:flex-end;margin-left:auto}.detail-intro-messages .intro-block-wrapper.user-block-wrapper .message.user{max-width:100%}.detail-intro-messages .intro-block-wrapper.user-block-wrapper .message.user .message-content{background:var(--chat-bubble-user);color:var(--chat-bubble-user-text);border-radius:16px 16px 4px}.detail-intro-messages .message.user{max-width:85%;margin-left:auto;display:flex;flex-direction:row-reverse;align-items:flex-end;gap:8px}.detail-intro-messages .message.user .message-content{background:var(--chat-bubble-user);color:var(--chat-bubble-user-text);padding:10px 14px;border-radius:16px 16px 4px}.detail-intro-messages .narration-block{background:transparent;padding:4px 4px 4px 14px;border-radius:0;position:relative}.detail-intro-messages .narration-block:before{content:"";position:absolute;left:0;top:7px;bottom:7px;width:2px;border-radius:1px;background:#ffffff14}.detail-intro-messages.novel-mode{gap:0}.detail-intro-messages.novel-mode .ai-content-block{max-width:100%;margin-bottom:0}.detail-intro-messages.novel-mode .intro-image-block-chat{margin:0}.detail-intro-messages.novel-mode .ai-content-block+.ai-content-block{margin-top:.6em}.detail-intro-messages.novel-mode .narration-block,.detail-intro-messages.novel-mode .dialogue-text,.detail-intro-messages.novel-mode .thought-text,.detail-intro-messages.novel-mode .plain-text-block{font-family:var(--chat-font-family);font-size:var(--chat-font-size);line-height:var(--chat-line-height)}.detail-intro-messages.novel-mode .narration-block{background:transparent;padding:0 4px;margin:0;border-radius:0;color:var(--text-tertiary);font-style:normal}.detail-intro-messages.novel-mode .narration-block:before{display:none}.detail-intro-messages.novel-mode .action-text{color:var(--text-tertiary);font-style:normal}.detail-intro-messages.novel-mode .dialogue-block{display:block;padding:0 4px;margin:14px 0}.detail-intro-messages.novel-mode .dialogue-block .dialogue-avatar{display:none}.detail-intro-messages.novel-mode .dialogue-block .dialogue-content{display:inline}.detail-intro-messages.novel-mode .dialogue-block .dialogue-speaker{display:inline;font-size:inherit;font-weight:600;color:var(--accent);margin-bottom:0}.detail-intro-messages.novel-mode .dialogue-block .dialogue-speaker:after{content:" | ";font-weight:400;color:var(--text-tertiary)}.detail-intro-messages.novel-mode .dialogue-block .dialogue-bubble{background:transparent;padding:0;border-radius:0;display:inline}.detail-intro-messages.novel-mode .dialogue-block .dialogue-text{display:inline;color:var(--text-primary);font-weight:400}.detail-intro-messages.novel-mode .thought-block{background:transparent;border:none;padding:0 4px;margin:.8em 0}.detail-intro-messages.novel-mode .thought-block .thought-text{color:var(--text-secondary);font-style:italic}.detail-intro-messages.novel-mode .plain-text-block{padding:0 4px;color:var(--text-tertiary)}.detail-intro-narration{font-size:13px;line-height:1.7;color:var(--text-secondary);font-style:italic;padding:12px;background:var(--bg-secondary);border-radius:8px;white-space:pre-wrap}.detail-intro-dialogue{background:var(--bg-secondary);border-radius:12px;padding:12px}.intro-dialogue-content{white-space:pre-wrap}.intro-dialogue-header{font-size:12px;font-weight:600;color:var(--accent);margin-bottom:6px}.intro-dialogue-content{font-size:14px;line-height:1.6;color:var(--text-primary)}.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{padding-bottom:100%;height:0}.detail-similar-scroll .home-card-image{height:100%}.detail-actions{position:sticky;bottom:-1px;display:flex;align-items:stretch;padding:0;padding-bottom:env(safe-area-inset-bottom);background:var(--bg-secondary);z-index:10;flex-shrink:0;margin-top:auto}.detail-like-btn{width:32px;height:32px;border:none;background:transparent;color:#fff;display:flex;align-items:center;justify-content:center;padding:0;cursor:pointer;transition:all .2s}.detail-like-btn svg{width:20px;height:20px}.detail-like-btn span{display:none}.detail-like-btn.liked{color:#ef4444}.detail-like-btn.liked svg{fill:#ef4444}.detail-main-actions{flex:1;display:flex;gap:0}.detail-action-btn{flex:1;padding:14px 16px;border-radius:0;font-size:15px;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);color:var(--text-primary);border-right:1px solid var(--border)}.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}#globalLoadingOverlay .loading-text{margin-top:12px;font-size:14px;color:#ffffffe6;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}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.img-loading-wrapper{position:relative;width:100%;height:100%;background:linear-gradient(90deg,var(--bg-tertiary) 0%,var(--bg-secondary) 20%,var(--bg-tertiary) 40%,var(--bg-tertiary) 100%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite}.img-loading-wrapper.loaded{animation:none;background:transparent}.img-loading-wrapper .spinner{display:none}.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)}.lazy-avatar-wrapper{position:relative;border-radius:50%;overflow:hidden;background:var(--bg-tertiary)}.lazy-avatar-small{width:36px;height:36px}.lazy-avatar-medium{width:48px;height:48px}.lazy-avatar-large{width:64px;height:64px}.lazy-avatar-wrapper .avatar-skeleton{position:absolute;inset:0;border-radius:50%}.lazy-avatar-wrapper .lazy-avatar-img{width:100%;height:100%;object-fit:cover;border-radius:50%;opacity:0;transition:opacity .3s ease}.lazy-avatar-wrapper .lazy-avatar-img.loaded{opacity:1}.lazy-avatar-wrapper .avatar-fallback{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:var(--bg-tertiary);color:var(--text-tertiary)}.lazy-avatar-wrapper .avatar-fallback svg{width:50%;height:50%}.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}.skeleton-card{pointer-events:none}.skeleton-card .home-card-inner{background:var(--bg-tertiary);border-radius:12px}.skeleton-title{height:16px;width:75%;border-radius:4px;margin-bottom:8px}.skeleton-desc{height:13px;width:100%;border-radius:4px;margin-bottom:4px}.skeleton-tags{height:11px;width:45%;border-radius:4px;margin-top:10px}.settings-row-value.shimmer{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;color:transparent;min-width:50px;border-radius:4px;display:inline-block}.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)}.user-var-placeholder{background:#8b5cf633;color:var(--purple-400);padding:1px 4px;border-radius:3px;font-size:.9em}.feed-container{height:100%;display:flex;flex-direction:column;background:var(--bg-primary)}.feed-header{display:none}.feed-content{flex:1;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}.feed-content::-webkit-scrollbar{display:none}.feed-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 24px;text-align:center;gap:12px}.feed-empty-state p{font-size:16px;font-weight:500;color:var(--text-primary);margin:0}.feed-empty-sub{font-size:14px;color:var(--text-tertiary)}.feed-login-btn{margin-top:8px;padding:10px 24px;background:var(--accent);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s}.feed-login-btn:hover{background:var(--accent-hover)}.feed-list{display:flex;flex-direction:column;gap:8px;padding:8px 0}.feed-item{background:var(--bg-primary);cursor:pointer;transition:background .2s}.feed-item:hover{background:#ffffff05}.feed-item-header{display:flex;align-items:center;gap:8px;padding:12px 16px;background:transparent}.feed-item-avatar{width:32px;height:32px;border-radius:50%;background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;color:var(--text-tertiary);overflow:hidden;flex-shrink:0}.feed-item-avatar img{width:100%;height:100%;object-fit:cover}.feed-item-creator{font-size:14px;font-weight:600;color:var(--text-primary)}.feed-item-time{font-size:12px;color:var(--text-tertiary);display:block;margin-top:12px}.feed-item-follow-btn{margin-left:auto;padding:6px 12px;background:var(--overlay-light-hover);border:none;border-radius:6px;font-size:12px;font-weight:600;color:var(--text-primary);cursor:pointer;transition:all .2s}.feed-item-follow-btn:hover{background:var(--overlay-light-active)}.feed-item-follow-btn.unfollowed{background:var(--accent);color:#fff}.feed-item-follow-btn:disabled{opacity:.6;cursor:not-allowed}.feed-item-image{width:100%;aspect-ratio:1 / 1;background:var(--bg-secondary);overflow:hidden}.feed-item-image img{width:100%;height:100%;object-fit:cover}.feed-item-no-image{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--text-tertiary)}.feed-item-content{padding:12px 16px 16px;background:transparent}.feed-item-title{font-size:15px;font-weight:600;color:var(--text-primary);margin:4px 0 8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.feed-item-desc{font-size:13px;color:var(--text-secondary);margin:0;line-height:1.5}.feed-item-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.feed-item-tag{font-size:13px;color:var(--accent);cursor:pointer;transition:opacity .2s}.feed-item-tag:hover{opacity:.7}.feed-loading{display:flex;justify-content:center;padding:20px}.feed-end{text-align:center;padding:20px;font-size:13px;color:var(--text-tertiary)}.model-selector-btn{display:flex;align-items:center;padding:6px 10px;background:transparent;border:1px solid var(--accent);border-radius:16px;color:var(--accent);font-size:12px;font-weight:500;cursor:pointer;transition:all .15s ease;flex-shrink:0}.model-selector-btn:active{transform:scale(.98)}.model-option{display:flex;align-items:center;padding:14px 16px;background:var(--overlay-light);border:1px solid var(--overlay-light-hover);border-radius:12px;margin-bottom:10px;cursor:pointer;transition:all .15s ease}.model-option:hover{background:var(--overlay-light-hover);border-color:#ffffff26}.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:var(--overlay-light-hover);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:#0abab526;color:var(--accent);font-weight:500}.model-option.selected .model-option-carbon.free{background:#0abab540;color:var(--accent-hover)}.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,.15)}.memory-accordion-item:last-child{border-bottom:none}.memory-accordion-header{display:flex;align-items:center;padding:12px 16px;cursor:pointer;gap:8px;transition:background .15s}.memory-accordion-header:hover{background:#ffffff08}.accordion-title{flex:1;font-weight:500;font-size:14px;color:var(--text-primary)}.accordion-count{font-size:11px;padding:2px 8px;border-radius:10px;font-weight:500;background:rgba(var(--accent-rgb, 139, 92, 246),.1);color:var(--accent)}.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:transparent}.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-tertiary);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-outfit{display:flex;gap:8px;margin-top:8px;font-size:12px;line-height:1.4}.outfit-label{color:var(--text-muted);flex-shrink:0}.outfit-value{color:var(--text-secondary)}.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:var(--overlay-light);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:var(--overlay-light-border)}.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:#ffffff08;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-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:#ffffff80!important}.event-meta .event-participants{color:#ffffff8c!important}.memory-load-more-btn{display:block;width:100%;margin:0;padding:14px 12px;background:#ffffff05;border:none;border-top:1px dashed var(--overlay-light-hover);border-radius:0;color:#ffffff73;font-size:13px;cursor:pointer;transition:all .15s}.memory-load-more-btn:hover{background:#ffffff0d;color:#ffffffb3}.image-view-modal{position:relative;display:flex;flex-direction:column;align-items:center;max-width:90vw;max-height:90vh}.image-view-close-overlay{position:absolute;top:8px;right:8px;z-index:10;width:36px;height:36px;background:#00000080;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.image-view-close-overlay:hover{background:#000000b3}.image-view-close-overlay svg{width:20px;height:20px}.image-view-image-wrapper{position:relative;padding-top:16px}.image-view-image-wrapper img{max-width:100%;max-height:60vh;border-radius:12px;object-fit:contain}.image-view-simple-name{text-align:center;margin-top:12px;color:var(--text-secondary);font-size:14px}.image-view-modal--character{width:min(400px,90vw);max-width:min(400px,90vw);align-self:flex-start;height:calc(100vh - 40px);max-height:calc(100vh - 40px);display:flex;flex-direction:column}.image-view-modal--character .image-view-image-wrapper{position:relative;flex-shrink:0;width:100%;aspect-ratio:1 / 1;max-height:45vh;border-radius:12px;overflow:hidden;padding-top:0;background:linear-gradient(90deg,var(--bg-tertiary) 0%,var(--bg-secondary) 20%,var(--bg-tertiary) 40%,var(--bg-tertiary) 100%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite}.image-view-modal--character .image-view-image-wrapper.loaded{animation:none;background:transparent}.image-view-modal--character .image-view-image-wrapper img{width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .3s ease}.image-view-modal--character .image-view-image-wrapper.loaded img{opacity:1}.image-view-info{width:100%;padding:12px 4px 0;text-align:left;display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.image-view-info-header{display:flex;align-items:baseline;gap:8px;margin-bottom:8px;flex-wrap:wrap;flex-shrink:0}.image-view-name{font-size:18px;font-weight:600;color:var(--text-primary)}.image-view-meta{font-size:14px;color:var(--text-secondary)}.image-view-description{font-size:14px;line-height:1.6;color:var(--text-secondary);flex:1;overflow-y:auto;white-space:pre-wrap;word-break:break-word;margin:0;scrollbar-width:none;-ms-overflow-style:none}.image-view-description::-webkit-scrollbar{display:none}.image-view-description.detail-custom-desc{white-space:normal;overflow-y:auto}#messagesContainer .message-content,#messagesContainer .narration-block,#messagesContainer .dialogue-text,#messagesContainer .thought-text,#messagesContainer .plain-text-block{font-family:var(--chat-font-family);font-size:var(--chat-font-size);line-height:var(--chat-line-height)}#messagesContainer.novel-mode .message{max-width:100%;padding:0}#messagesContainer.novel-mode .message.assistant{gap:0}#messagesContainer.novel-mode .message.assistant .message-content{max-width:100%;width:100%}#messagesContainer.novel-mode .message.user{justify-content:flex-start;flex-direction:row;margin-left:0;padding:24px 0;position:relative;margin-top:8px;margin-bottom:20px}#messagesContainer.novel-mode .message.user .message-content{background:transparent;color:var(--text-primary);padding:4px;border-radius:0;text-align:left;max-width:100%;font-size:var(--chat-font-size);font-style:normal;line-height:1.5;position:relative}#messagesContainer.novel-mode .message.user:before,#messagesContainer.novel-mode .message.user:after{content:"";position:absolute;left:-12px;width:calc(100% + 24px);height:1px;background:var(--text-tertiary);opacity:.15}#messagesContainer.novel-mode .message.user:before{top:6px}#messagesContainer.novel-mode .message.user:after{bottom:6px}.novel-divider{display:flex;align-items:center;justify-content:center;gap:16px;padding:20px 16px;margin:8px 0}.novel-divider:before,.novel-divider:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--border),transparent);max-width:120px}.novel-divider-icon{color:var(--text-tertiary);opacity:.5;display:flex;align-items:center;justify-content:center}#messagesContainer.novel-mode .narration-block{background:transparent;padding:0 4px;margin:0;border-radius:0;color:var(--text-tertiary);font-style:normal}#messagesContainer.novel-mode .action-text{color:var(--text-tertiary);font-style:normal}#messagesContainer.novel-mode .dialogue-block{display:block;padding:0 4px;margin:14px 0}#messagesContainer.novel-mode .dialogue-block .dialogue-avatar{display:none}#messagesContainer.novel-mode .dialogue-block .dialogue-content{display:inline}#messagesContainer.novel-mode .dialogue-block .dialogue-speaker{display:inline;font-size:inherit;font-weight:600;color:var(--accent);margin-bottom:0}#messagesContainer.novel-mode .dialogue-block .dialogue-speaker:after{content:" | ";font-weight:400;color:var(--text-tertiary)}#messagesContainer.novel-mode .dialogue-block .dialogue-bubble{background:transparent;padding:0;border-radius:0;display:inline}#messagesContainer.novel-mode .dialogue-block .dialogue-text{display:inline;color:var(--text-primary);font-weight:400}#messagesContainer.novel-mode .thought-block{background:transparent;border:none;padding:0 4px;margin:.8em 0}#messagesContainer.novel-mode .thought-block .thought-text{color:var(--text-secondary);font-style:italic}#messagesContainer.novel-mode .plain-text-block{padding:0 4px;color:var(--text-tertiary)}#messagesContainer.novel-mode .message+.message{margin-top:0}#messagesContainer.novel-mode .ai-content-block{margin-bottom:0}#messagesContainer.novel-mode .ai-content-block+.ai-content-block{margin-top:.6em}#messagesContainer.novel-mode .message-meta{display:none}#messagesContainer.novel-mode .message-actions{margin-top:4px}#messagesContainer.novel-mode .user-quote-wrapper{width:100%;margin-right:0;padding:0;justify-content:center}#messagesContainer.novel-mode .user-quote-block{max-width:100%;flex-direction:column;align-items:center}#messagesContainer.novel-mode .user-quote-content{background:transparent;color:var(--text-primary);padding:4px 0;border-radius:0;text-align:center;font-size:var(--chat-font-size);line-height:1.5}#messagesContainer.novel-mode .user-quote-content .action-text{color:var(--text-tertiary);font-style:normal}#messagesContainer.dialogue-mode .message.assistant .message-content{max-width:100%}#messagesContainer.dialogue-mode .narration-block{background:transparent;padding:4px 4px 4px 14px;border-radius:0;position:relative}#messagesContainer.dialogue-mode .narration-block:before{content:"";position:absolute;left:0;top:7px;bottom:7px;width:2px;border-radius:1px;background:#ffffff14}#messagesContainer.dialogue-mode .dialogue-block,#messagesContainer.dialogue-mode .thought-block,#messagesContainer.dialogue-mode .helper-block,#messagesContainer.dialogue-mode .plain-text-block{max-width:85%}#messagesContainer.dialogue-mode .message.assistant .chat-codeblock-title,#messagesContainer.dialogue-mode .message.assistant .chat-codeblock{width:100%}#messagesContainer.dialogue-mode .user-quote-wrapper{width:100%;margin-right:0}.legal-content{padding:24px;line-height:1.7}.legal-content h2{font-size:18px;font-weight:600;color:var(--text-primary);margin:32px 0 16px;padding-bottom:8px;border-bottom:1px solid var(--border)}.legal-content h2:first-child{margin-top:0}.legal-content h3{font-size:16px;font-weight:600;color:var(--text-primary);margin:24px 0 12px}.legal-content p{color:var(--text-secondary);margin-bottom:16px;font-size:15px}.legal-content ul,.legal-content ol{color:var(--text-secondary);margin-bottom:16px;padding-left:24px;font-size:15px}.legal-content li{margin-bottom:8px}.legal-content .highlight{color:var(--accent);font-weight:500}.legal-content table{width:100%;border-collapse:collapse;margin:16px 0;font-size:14px}.legal-content th,.legal-content td{border:1px solid var(--border);padding:12px;text-align:left;color:var(--text-secondary)}.legal-content th{background:var(--bg-tertiary);color:var(--text-primary);font-weight:600}.legal-content .contact-info,.legal-content .addendum{background:var(--bg-tertiary);border-radius:12px;padding:20px;margin-top:32px}.legal-content .contact-info p{margin-bottom:8px}.legal-content .contact-info p:last-child{margin-bottom:0}.legal-content .addendum h3{margin-top:0}.legal-update-date{color:var(--text-tertiary);font-size:14px;margin-bottom:24px}.terms-link-btn{background:none;border:none;padding:0;color:var(--text-tertiary);font-size:inherit;cursor:pointer;text-decoration:underline}.terms-link-btn:hover{color:var(--text-secondary)}.update-sheet-overlay{position:fixed;inset:0;z-index:10001;display:flex;align-items:flex-end;justify-content:center;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.update-sheet-overlay.open{opacity:1;visibility:visible}.update-sheet-backdrop{position:absolute;inset:0;background:#0009}.update-sheet{position:relative;background:var(--bg-secondary);border-radius:24px 24px 0 0;padding:32px 24px calc(24px + env(safe-area-inset-bottom,0px)) 24px;width:100%;max-width:500px;transform:translateY(100%);transition:transform .3s cubic-bezier(.32,.72,0,1)}.update-sheet-overlay.open .update-sheet{transform:translateY(0)}.update-sheet-title{font-size:18px;font-weight:700;color:var(--text-primary);margin:0 0 16px;text-align:center;white-space:nowrap}.update-sheet-desc{font-size:14px;color:var(--text-secondary);line-height:1.6;margin:0 0 24px;text-align:center}.update-sheet-buttons{display:flex;gap:12px}.update-sheet-buttons.single{justify-content:center}.update-sheet-buttons.single .update-sheet-btn{max-width:200px}.update-sheet-btn{flex:1;padding:16px 20px;border-radius:14px;font-size:15px;font-weight:600;cursor:pointer;transition:all .15s ease;border:none}.update-sheet-btn.secondary{background:var(--bg-tertiary);color:var(--text-secondary)}.update-sheet-btn.secondary:active{background:var(--bg-hover);transform:scale(.98)}.update-sheet-btn.primary{background:var(--accent);color:#fff}.update-sheet-btn.primary:active{background:var(--accent-hover);transform:scale(.98)}.filter-badge{display:flex;align-items:center;gap:4px;padding:6px 12px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:16px;font-size:13px;color:var(--text-secondary);cursor:pointer;transition:all .2s;white-space:nowrap}.filter-badge:hover{background:var(--bg-tertiary);border-color:var(--accent);color:var(--accent)}.filter-badge:active{transform:scale(.95)}.home-tabs-right{display:flex;align-items:center;gap:8px}.onboarding-modal{position:fixed;inset:0;z-index:100000;background:var(--bg-primary);display:flex;flex-direction:column}.onboarding-content{flex:1;overflow-y:auto;padding:24px;width:100%}@media(min-width:768px){.onboarding-content{padding:24px 15%}}@media(min-width:1200px){.onboarding-content{padding:24px 20%}}.onboarding-header{text-align:left;margin-bottom:48px}.onboarding-header h2{font-size:22px;font-weight:600;color:var(--text-primary);margin:0}.onboarding-subtitle{font-size:13px;color:var(--text-tertiary);line-height:1.5;margin:8px 0 0}.onboarding-form{display:flex;flex-direction:column;gap:32px}.onboarding-field{display:flex;flex-direction:column;gap:8px}.onboarding-label{font-size:14px;font-weight:600;color:var(--text-primary)}.onboarding-input{width:100%;padding:14px 16px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;font-size:15px;color:var(--text-primary);transition:all .2s;touch-action:manipulation;-webkit-overflow-scrolling:touch}.onboarding-input:focus{outline:none;border-color:var(--accent);background:var(--bg-tertiary)}.onboarding-input::placeholder{color:var(--text-tertiary)}.onboarding-input[type=date]{padding-right:16px;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.onboarding-input[type=date]::-webkit-calendar-picker-indicator{display:none;opacity:0;width:0;height:0;pointer-events:none}.onboarding-input[type=date]::-webkit-inner-spin-button,.onboarding-input[type=date]::-webkit-clear-button{display:none}.onboarding-hint{font-size:13px;color:var(--text-tertiary);margin:0;line-height:1.4}.onboarding-gender-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.onboarding-gender-option{position:relative;cursor:pointer}.onboarding-gender-option input[type=radio]{position:absolute;opacity:0;pointer-events:none}.onboarding-gender-label{display:flex;align-items:center;justify-content:center;padding:12px;height:44px;background:var(--bg-secondary);border:2px solid var(--border);border-radius:8px;font-size:15px;font-weight:500;color:var(--text-secondary);transition:all .2s}.onboarding-gender-option:hover .onboarding-gender-label{background:var(--bg-tertiary);border-color:var(--accent)}.onboarding-gender-option input[type=radio]:checked+.onboarding-gender-label{background:var(--accent-alpha-10);border-color:var(--accent);color:var(--accent)}.onboarding-bottom-bar{padding:16px 24px calc(env(safe-area-inset-bottom) + 16px);background:var(--surface);border-top:1px solid var(--border);width:100%}.keyboard-visible .onboarding-bottom-bar{padding-bottom:16px}@media(min-width:768px){.onboarding-bottom-bar{padding-left:15%;padding-right:15%}}@media(min-width:1200px){.onboarding-bottom-bar{padding-left:20%;padding-right:20%}}.onboarding-submit-btn{width:100%;padding:16px;background:var(--accent);color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}.onboarding-submit-btn:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px)}.onboarding-submit-btn:disabled{opacity:.5;cursor:not-allowed}.onboarding-button-group{display:flex;gap:12px}.onboarding-back-btn{flex:1;padding:16px;background:transparent;color:var(--text-secondary);border:1px solid var(--border);border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}.onboarding-back-btn:hover{background:var(--bg-secondary);border-color:var(--text-tertiary)}.onboarding-button-group .onboarding-submit-btn{flex:1}.onboarding-progress{display:flex;justify-content:center;align-items:center;gap:8px;padding:calc(24px + env(safe-area-inset-top,0)) 0 16px}.progress-dot{width:8px;height:8px;border-radius:50%;background:var(--border);transition:all .3s}.progress-dot.active{width:24px;border-radius:4px;background:var(--accent)}.onboarding-footer-hint{font-size:13px;color:var(--text-tertiary);text-align:center;margin:0 0 12px}.onboarding-step{display:none;flex-direction:column;position:absolute;top:calc(48px + env(safe-area-inset-top,0));left:0;right:0;bottom:0;transition:transform .4s cubic-bezier(.4,0,.2,1)}.onboarding-step[data-step="1"]{transform:none}.onboarding-step[data-step="2"]{transform:translate(100%)}.onboarding-step.active{display:flex}.onboarding-step.active.prev{transform:translate(-100%)}#imagePositionModal{opacity:0;transition:opacity .2s ease}#imagePositionModal.open{opacity:1}.image-position-backdrop{position:fixed;inset:0;background:#000;z-index:1}.image-position-content{position:fixed;inset:0;display:flex;flex-direction:column;background:#000;z-index:2}.image-position-header{position:relative;flex-shrink:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:12px 16px;padding-top:calc(12px + env(safe-area-inset-top,0));background:#000000f2;border-bottom:none}.image-position-header h3{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.image-position-back{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:none;border:none;color:#fff;cursor:pointer;border-radius:50%;transition:background .15s}.image-position-back:hover{background:#ffffff1a}.image-position-confirm{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:none;border:none;color:#fff;cursor:pointer;border-radius:50%;transition:background .15s}.image-position-confirm:hover{background:#ffffff1a}.image-position-close{display:none}.image-position-body{flex:1;position:relative;display:flex;align-items:center;justify-content:center;padding:0;overflow:hidden;min-height:0}.image-position-wrapper{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden;cursor:grab;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:pan-x}.image-position-wrapper.dragging{cursor:grabbing}.image-position-wrapper.no-drag{cursor:default}.image-position-img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;pointer-events:none;-webkit-user-drag:none;flex-shrink:0}.image-position-overlay{position:absolute;pointer-events:none}.image-position-overlay:before{content:"";position:absolute;top:0;left:0;right:0;height:var(--crop-top, 0);background:#000000b3}.image-position-overlay:after{content:"";position:absolute;bottom:0;left:0;right:0;height:var(--crop-bottom, 0);background:#000000b3}.image-position-crop-area{position:absolute;top:var(--crop-top, 0);left:0;right:0;height:var(--crop-height, 100%);border:none;box-shadow:none;pointer-events:none}.image-position-guide{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 24px;background:#000c;border-radius:16px;color:#fff;font-size:13px;opacity:0;transition:opacity .3s ease;pointer-events:none}.image-position-guide.visible{opacity:1}.image-position-guide svg{opacity:.8}.image-position-actions{position:relative;flex-shrink:0;z-index:10;display:flex;justify-content:center;gap:32px;padding:24px 20px;padding-bottom:calc(24px + env(safe-area-inset-bottom,0));background:#000000f2;border-top:none}.image-position-btn{flex:none;display:flex;align-items:center;justify-content:center;width:52px;height:52px;padding:0;border:none;border-radius:50%;cursor:pointer;transition:all .15s ease;background:#ffffff1a;color:#fff}.image-position-btn:hover{background:#fff3}.image-position-btn:active{transform:scale(.95)}.image-position-btn span:last-child:not(:first-child){display:none}.image-position-btn.primary{background:#fff;color:#000}.image-position-btn.primary:hover{background:#ffffffe6}.image-position-btn.danger{color:#ff6b6b}.image-position-btn.danger:hover{background:#ff6b6b33}.image-position-btn svg{flex-shrink:0}.avatar-drag-area{position:relative;width:200px;height:200px;margin:0 auto;border-radius:50%;overflow:hidden;background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center}.avatar-drag-area.has-image{border-radius:12px;height:auto;max-height:300px;cursor:grab;user-select:none;-webkit-user-select:none}.avatar-drag-area.has-image.dragging{cursor:grabbing}.avatar-drag-area.has-image.no-drag{cursor:default}.avatar-drag-placeholder{display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.avatar-drag-area img{display:block;width:100%;max-height:300px;object-fit:contain;pointer-events:none}.avatar-drag-overlay{position:absolute;pointer-events:none}.avatar-drag-overlay:before{content:"";position:absolute;top:0;left:0;right:0;height:var(--crop-top, 0);background:#0009;transition:height .05s ease-out}.avatar-drag-overlay:after{content:"";position:absolute;bottom:0;left:0;right:0;height:var(--crop-bottom, 0);background:#0009;transition:height .05s ease-out}.avatar-drag-guide{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 20px;background:#000000b3;border-radius:10px;color:#fff;font-size:12px;opacity:0;transition:opacity .3s ease;pointer-events:none}.avatar-drag-guide.visible{opacity:1}.avatar-drag-guide svg{opacity:.8}@media(hover:none)and (pointer:coarse){.chat-action-btn:hover,.chat-action-btn.danger:hover{border-color:var(--border-light, rgba(128, 128, 128, .15));background:var(--bg-tertiary)}}.notices-modal-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid rgba(128,128,128,.08);background:var(--bg-primary);position:sticky;top:0;z-index:10}.notices-modal-header h2{font-size:17px;font-weight:700;color:var(--text-primary);margin:0}.notices-back-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--text-primary);cursor:pointer;border-radius:50%}.notices-back-btn:active{background:var(--bg-tertiary)}.notices-modal-content{padding:8px 0;overflow-y:auto;flex:1}.notices-loading{display:flex;justify-content:center;padding:40px 0}.notices-empty{text-align:center;padding:60px 20px;color:var(--text-secondary);font-size:14px}.notices-list-item{display:flex;align-items:center;padding:14px 20px;cursor:pointer;transition:background .15s}.notices-list-item:active{background:var(--bg-tertiary)}.notices-list-item-info{flex:1;min-width:0}.notices-list-item-title-row{display:flex;align-items:center;gap:6px;margin-bottom:4px}.notices-pin-badge{display:inline-flex;align-items:center;padding:1px 6px;border-radius:4px;font-size:11px;font-weight:600;background:var(--accent-primary, #3182f6);color:#fff;flex-shrink:0}.notices-list-item-title{font-size:15px;font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notices-list-item-date{font-size:13px;color:var(--text-tertiary)}.notices-list-item-arrow{flex-shrink:0;margin-left:8px}.notices-sentinel{display:flex;justify-content:center;padding:20px 0}.notice-detail-content{padding:24px 20px;overflow-y:auto;flex:1}.notice-detail-title{font-size:17px;font-weight:700;color:var(--text-primary);margin:0 0 3px;line-height:1.4}.notice-detail-date{font-size:12px;color:var(--text-tertiary);margin-bottom:16px}.notice-detail-body{font-size:15px;line-height:1.8;color:var(--text-primary);word-break:break-word}.notice-detail-body img{max-width:100%;border-radius:8px;margin:12px 0}.notice-detail-body h1,.notice-detail-body h2,.notice-detail-body h3{margin:20px 0 10px;line-height:1.4}.notice-detail-body p{margin:10px 0}.notice-detail-body ul,.notice-detail-body ol{padding-left:20px;margin:10px 0}.notice-detail-body a{color:var(--accent-primary, #3182f6);text-decoration:underline}.spinner-small{width:24px;height:24px;border:3px solid var(--border);border-top-color:var(--accent-primary, #3182f6);border-radius:50%;animation:spin .8s linear infinite}.splash-screen{position:fixed;inset:0;background:#111;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.fade-out{opacity:0;visibility:hidden;pointer-events:none}.splash-auth{position:absolute;bottom:0;left:0;right:0;padding:24px 20px calc(env(safe-area-inset-bottom,20px) + 24px);z-index:10;display:flex;flex-direction:column;gap:12px;animation:slide-up .5s ease-out}@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-family:inherit;font-size:16px;font-weight:600;border:none;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.splash-auth-btn svg{width:20px;height:20px;flex-shrink:0}.splash-auth-btn:active{transform:scale(.98)}.splash-auth-google{background:#ffffff1f;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);color:#fff;border:1px solid rgba(255,255,255,.15)}.splash-auth-google:hover{background:#ffffff2e;box-shadow:0 4px 20px #ffffff1a}.splash-auth-kakao{background:#fee500;color:#000;border:none}.splash-auth-kakao:hover{background:#ffeb3b;box-shadow:0 4px 20px #fee5004d}.splash-auth-email-link{background:transparent;border:none;color:#fff9;font-size:14px;padding:12px;cursor:pointer;transition:color .2s ease}.splash-auth-email-link:hover{color:#ffffffe6}.splash-business-info-link{background:transparent;border:none;color:#ffffff59;font-size:12px;padding:8px;cursor:pointer;transition:color .2s ease}.splash-business-info-link:hover{color:#ffffffb3}.auth-fullscreen-modal{position:fixed;inset:0;z-index:200000;pointer-events:none}.auth-fullscreen-modal.open{pointer-events:auto}.auth-fullscreen-modal .auth-modal-backdrop{position:absolute;inset:0;background:#0009;opacity:0;transition:opacity .3s ease;transform:translateZ(0);backface-visibility:hidden}.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);transform:translate(100%);transition:transform .35s cubic-bezier(.32,.72,0,1);display:flex;flex-direction:column;overflow:hidden;will-change:transform;backface-visibility:hidden;-webkit-backface-visibility: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;background:var(--bg-primary);border-bottom:1px solid var(--overlay-light-border);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);cursor:pointer;padding:8px;transition:color .2s}.auth-back-btn:hover{color:var(--text-primary)}.auth-back-btn svg{width:24px;height:24px}.auth-modal-title{font-size:18px;font-weight:600;color:var(--text-primary);margin:0}.email-auth-sheet{flex:1;background:var(--bg-primary);padding:24px;overflow-y:auto;display:flex;flex-direction:column;transform:translateZ(0);-webkit-overflow-scrolling:touch}.email-auth-header{text-align:center;padding:24px 0 20px}.email-auth-header h2{font-size:22px;font-weight:700;color:var(--text-primary);margin:0 0 8px}.email-auth-subtitle{font-size:14px;color:var(--text-tertiary);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);margin-bottom:8px}.auth-field input{width:100%;padding:16px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;color:var(--text-primary);font-size:16px;box-sizing:border-box;-webkit-appearance:none;touch-action:manipulation;-webkit-overflow-scrolling:touch}.auth-field input:focus{outline:none;border-color:var(--accent)}.auth-field input::placeholder{color:var(--text-tertiary)}.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);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center}.password-toggle:hover{color:var(--text-secondary)}.auth-terms{margin:4px 0;padding:16px;background:var(--bg-secondary);border-radius:12px}.terms-checkbox,.terms-item{display:flex;align-items:center;gap:12px;cursor:pointer;padding:8px 0;color:var(--text-primary);font-size:15px}.terms-checkbox{font-weight:600;padding-bottom:12px;border-bottom:1px solid var(--border);margin-bottom:4px}.terms-checkbox input,.terms-item input{display:none}.checkmark{width:22px;height:22px;min-width:22px;border:2px solid #444;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .2s}input:checked+.checkmark{background:var(--accent);border-color:var(--accent)}input:checked+.checkmark:after{content:"✓";color:#fff;font-size:14px;font-weight:700}.terms-item{font-size:14px;color:var(--text-secondary)}.terms-link{margin-left:auto;color:var(--accent);text-decoration:none;font-size:13px;flex-shrink:0}.forgot-password-btn{background:none;border:none;color:var(--text-tertiary);font-size:14px;cursor:pointer;padding:8px 0;text-align:left;transition:color .2s}.forgot-password-btn:hover{color:var(--accent)}.email-auth-actions{margin-top:24px}.auth-primary-btn{width:100%;padding:16px;background:var(--accent);border:none;border-radius:12px;color:var(--text-on-accent);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(--bg-tertiary);color:var(--text-tertiary);cursor:not-allowed}.auth-secondary-btn{width:100%;padding:14px;background:transparent;border:none;color:var(--text-secondary);font-size:14px;cursor:pointer;margin-top:12px;transition:color .2s}.auth-secondary-btn:hover{color:var(--text-primary)}.auth-secondary-btn span{color:var(--accent);font-weight:600}.splash-orbit{display:none}.auth-fullscreen-modal.open .auth-modal-backdrop,.auth-fullscreen-modal.open .auth-modal-content,.auth-fullscreen-modal.open .auth-field input{transition:none}.auth-field{contain:layout style}.keyboard-visible .auth-fullscreen-modal,.keyboard-visible .auth-fullscreen-modal .auth-modal-backdrop,.keyboard-visible .auth-fullscreen-modal .auth-modal-content,.keyboard-visible .email-auth-sheet,.keyboard-visible .auth-field input{transition:none!important}.keyboard-visible .auth-fullscreen-modal .auth-modal-backdrop{display:none!important;opacity:0!important;pointer-events:none!important}.keyboard-visible .email-auth-sheet{padding-bottom:16px!important}.keyboard-visible .splash-auth{padding-bottom:16px!important;background:linear-gradient(to top,rgba(5,5,5,1) 0%,rgba(5,5,5,.9) 60%,transparent 100%)!important}body.auth-modal-open .splash-auth{display:none!important}.keyboard-visible .email-auth-content,.keyboard-visible .auth-fullscreen-modal,.keyboard-visible .auth-modal-content,.keyboard-visible .auth-fullscreen-modal *[data-safe-area]{padding-bottom:0!important}.auth-text-btn{background:transparent;border:none;padding:12px 16px;cursor:pointer;font-family:inherit}.creator-container{padding:0;padding-top:calc(106px + env(safe-area-inset-top,0));min-height:100%}.creator-header{display:none;justify-content:space-between;align-items:center;padding:calc(12px + env(safe-area-inset-top,0)) 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-primary);cursor:pointer;display:flex;align-items:center;justify-content:center}.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-commission-banner{background:var(--bg-secondary);padding:12px 16px;height:44px;box-sizing:border-box;position:fixed;top:calc(56px + env(safe-area-inset-top,0));left:0;right:0;z-index:52;cursor:pointer;transition:background .2s}.creator-commission-banner:hover{background:var(--bg-tertiary)}.commission-banner-content{display:flex;justify-content:space-between;align-items:center;max-width:600px;margin:0 auto}.commission-banner-info{display:flex;align-items:center;gap:8px}.commission-label{font-size:13px;color:var(--text-secondary)}.commission-value-wrap{display:flex;align-items:center;gap:4px}.commission-value-wrap .carbon-icon{opacity:.9}.commission-value{font-size:15px;font-weight:700;color:var(--text-primary)}.commission-spinner{width:14px;height:14px;border:2px solid rgba(128,128,128,.3);border-top-color:var(--text-primary);border-radius:50%;animation:commission-spin .8s linear infinite}@keyframes commission-spin{to{transform:rotate(360deg)}}.commission-chevron{color:var(--text-tertiary);opacity:.6}#myWorksTab.banner-visible .creator-filters{top:calc(100px + env(safe-area-inset-top,0))}#myWorksTab.banner-visible .creator-container{padding-top:calc(150px + env(safe-area-inset-top,0))}.creator-filters{display:none;align-items:center;justify-content:space-between;padding:14px 16px 12px;background:var(--bg-primary);border-top:none;border-bottom:1px solid var(--overlay-light-hover);position:fixed;top:calc(56px + env(safe-area-inset-top,0));left:0;right:0;z-index:53}#myWorksTab.active .creator-filters{display:flex}.creator-filter-left{display:flex;gap:20px}.creator-filter-right{display:flex;align-items:center;gap:6px}.creator-type-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-type-btn.active{color:var(--text-primary)}.creator-type-btn:active{transform:scale(.97)}.creator-status-btn,.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-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;padding-bottom:calc(120px + env(safe-area-inset-bottom));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 var(--overlay-light-hover);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;flex-direction:column;padding:12px 16px;border-bottom:1px solid var(--overlay-light-border)}.creator-item:last-child{border-bottom:none}.creator-item:active{background:var(--bg-tertiary)}.creator-item-main{display:flex;align-items:center;gap:12px}.moderation-banner{display:flex;align-items:center;justify-content:space-between;padding:7px 10px;border-radius:8px;font-size:12px;margin-top:8px}.moderation-banner.restricted{background:#ef44441a;color:#ef4444}.moderation-banner.reviewing{background:#eab3081a;color:#eab308}.moderation-banner-text{font-weight:500}.moderation-banner-detail{display:flex;align-items:center;gap:2px;color:var(--text-tertiary);font-size:12px}.moderation-detail-body{padding:8px 24px 24px;text-align:center}.moderation-detail-icon{width:48px;height:48px;border-radius:50%;background:#ef44441f;color:#ef4444;display:flex;align-items:center;justify-content:center;margin:0 auto 12px}.moderation-detail-title{font-size:17px;font-weight:600;color:var(--text-primary);margin:0 0 16px}.moderation-detail-reason-label{font-size:12px;color:var(--text-tertiary);margin-bottom:6px;text-align:left}.moderation-detail-reason{background:var(--bg-tertiary);border-radius:10px;padding:12px 14px;font-size:13px;color:var(--text-secondary);line-height:1.5;text-align:left;margin-bottom:16px}.moderation-detail-guide{font-size:13px;color:var(--text-secondary);line-height:1.5;margin:0 0 12px}.moderation-detail-criteria{display:inline-flex;align-items:center;gap:4px;font-size:13px;color:var(--text-tertiary);cursor:pointer;margin-bottom:20px}.moderation-detail-criteria:active{opacity:.7}.moderation-detail-btn{width:100%;padding:13px;border-radius:12px;border:none;background:var(--accent);color:#fff;font-size:15px;font-weight:600;cursor:pointer}.moderation-detail-btn:active{opacity:.85}.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-type-badge{font-size:10px;padding:2px 6px;border-radius:4px;font-weight:600;flex-shrink:0;line-height:1.2}.creator-item-type-badge.character{background:#6366f126;color:#818cf8}.creator-item-type-badge.story{background:#f472b626;color:#f472b6}.creator-item-badges{display:flex;align-items:center;gap:6px;margin-top:6px}.creator-item-plays-badge{display:inline-flex;align-items:center;gap:3px;padding:2px 6px;background:var(--overlay-light-hover);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:6px}.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:#0abab526;color:var(--accent)}.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,.creator-action-btn.stats:active{color:var(--accent)}.creator-item.skeleton-item{pointer-events:none}.creator-item-image-skeleton{width:48px;height:48px;border-radius:12px}.creator-item .skeleton-name{width:80px;height:14px;border-radius:4px;margin-bottom:6px}.creator-item .skeleton-badge{width:50px;height:12px;border-radius:4px}.creator-item .skeleton-btn{width:32px;height:32px;border-radius:8px}.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:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .2s}.stats-back-btn:hover{background:var(--overlay-light-hover)}.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:var(--overlay-light);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:var(--overlay-light-border);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:var(--overlay-light);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:var(--overlay-light-hover);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:var(--overlay-light-hover);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:var(--overlay-light);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-item.carbon{background:#3b82f61a;color:#3b82f6}.stats-summary-item.carbon .stats-summary-value{color:#3b82f6}.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:var(--overlay-light-hover);color:var(--text-primary)}.stats-period-menu button.active{background:var(--accent);color:#fff}.stats-info-section{background:var(--overlay-light);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 var(--overlay-light-border)}.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:var(--overlay-light);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:var(--overlay-light-hover);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:var(--overlay-light-border);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:var(--overlay-light);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:var(--overlay-light-hover);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,var(--accent),#0D9488)}.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:#0abab526;color:var(--accent)}.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:var(--overlay-light-hover)}.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:var(--overlay-light-hover);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:var(--overlay-light);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:var(--overlay-light);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:var(--overlay-light-border);border:none;color:var(--text-primary);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.stats-edit-btn:hover{background:var(--overlay-light-hover)}.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:calc(8px + env(safe-area-inset-top,0)) 8px 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 30px}.editor-tab-content.active{display:block}#editorTabInfo{padding-bottom:60px}.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 select{padding-right:36px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url('data:image/svg+xml;charset=UTF-8,<svg width="12" height="6" viewBox="0 0 12 6" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1 1L6 5L11 1" stroke="%236b7280" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>');background-repeat:no-repeat;background-position:right 12px center;background-size:9px;cursor:pointer}.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}.safety-filter-setting{flex-direction:column;align-items:flex-start!important;gap:12px;border-bottom:none}.safety-radio-group{width:100%;display:flex;flex-direction:column;gap:8px}.safety-radio-option{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:10px;border:1px solid var(--border);background:var(--bg-tertiary);cursor:pointer;transition:all .2s}.safety-radio-option:has(input:checked){border-color:var(--accent);background:rgba(var(--accent-rgb),.06)}.safety-radio-option input{display:none}.safety-radio-indicator{width:18px;height:18px;border-radius:50%;border:2px solid var(--text-tertiary);flex-shrink:0;position:relative;transition:all .2s}.safety-radio-option:has(input:checked) .safety-radio-indicator{border-color:var(--accent)}.safety-radio-indicator:after{content:"";position:absolute;top:3px;left:3px;width:8px;height:8px;border-radius:50%;background:var(--accent);transform:scale(0);transition:transform .2s}.safety-radio-option:has(input:checked) .safety-radio-indicator:after{transform:scale(1)}.safety-radio-option svg{flex-shrink:0;transition:color .2s}.safety-radio-option[data-value=safe] svg{color:var(--accent)}.safety-radio-option[data-value=adult] svg{color:var(--danger)}.safety-radio-text{flex:1;font-size:14px;color:var(--text-secondary);font-weight:500}.safety-radio-option:has(input:checked) .safety-radio-text{color:var(--text-primary)}#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:calc(12px + env(safe-area-inset-top,0)) 16px 12px;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}#imageDescriptionField{margin-bottom:8px}#imageDescriptionField textarea{min-height:80px}#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 calc(12px + env(safe-area-inset-bottom,0));border-top:1px solid var(--border);background:var(--bg-primary);margin-top:auto;width:100%;box-sizing:border-box}.keyboard-visible .image-gen-bottom-bar{padding-bottom:12px!important}.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-filters{display:flex;flex-direction:column;gap:8px;margin-bottom:4px}.model-filter-tabs{display:flex;gap:6px}.model-filter-tabs.gender-tabs{background:var(--bg-secondary);border-radius:8px;padding:4px}.model-filter-tabs.category-tabs{gap:8px}.model-filter-tab{flex:1;padding:8px 12px;border:none;background:transparent;color:var(--text-secondary);font-size:13px;font-weight:500;border-radius:6px;cursor:pointer;transition:all .2s}.gender-tabs .model-filter-tab.active{background:var(--accent);color:#fff}.category-tabs .model-filter-tab{flex:none;padding:6px 14px;background:var(--bg-secondary);border-radius:16px}.category-tabs .model-filter-tab.active{background:var(--text-primary);color:var(--bg-primary)}.image-model-carousel{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;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-model-card.split-card{aspect-ratio:1}.image-model-card-split{display:flex;width:100%;height:100%}.split-image-wrap{flex:1;overflow:hidden;position:relative}.split-image-wrap:first-child{border-right:1px solid var(--bg-primary)}.split-image-wrap .image-model-card-image{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position: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;align-items:flex-start}.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:rgba(var(--accent-rgb),.1);border-left:3px solid var(--accent);border-radius:0 8px 8px 0;color:var(--text-secondary);font-style:italic;white-space:pre-wrap}.intro-block.dialogue{background:var(--bg-secondary);padding:12px 16px;border-radius:4px 16px 16px;max-width:85%;color:var(--text-primary);white-space:pre-wrap}.intro-block.thought{padding:12px 16px;background:var(--purple-bg);border-left:3px solid var(--purple-600);border-radius:0 8px 8px 0;color:var(--purple-400);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}.intro-codeblock-wrapper{margin:8px 0;width:calc(100% / .85)}.narration-block-wrapper .intro-codeblock-wrapper{width:100%}.intro-codeblock-wrapper .chat-codeblock-title,.intro-codeblock-wrapper .chat-codeblock{width:100%;box-sizing:border-box}.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(--purple-600);border-color:var(--purple-600)}.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:60px 16px 16px;background:var(--bg-primary);display:flex;flex-direction:column;gap:12px;scrollbar-width:none;-ms-overflow-style:none}.intro-chat-preview::-webkit-scrollbar{display:none}.intro-chat-preview .narration-block{background:transparent;padding:4px 4px 4px 14px;border-radius:0;position:relative}.intro-chat-preview .narration-block:before{content:"";position:absolute;left:0;top:7px;bottom:7px;width:2px;border-radius:1px;background:#ffffff14}.intro-chat-preview .narration-block,.intro-chat-preview .dialogue-text,.intro-chat-preview .thought-text,.intro-chat-preview .plain-text-block,.intro-chat-preview .message-content{font-family:var(--chat-font-family);font-size:var(--chat-font-size);line-height:var(--chat-line-height)}.intro-chat-preview .dialogue-speaker,.intro-chat-preview .thought-speaker{font-size:var(--chat-font-size)}.intro-display-mode-toggle{position:absolute;top:12px;left:50%;transform:translate(-50%);z-index:5;pointer-events:none}.intro-mode-btn-group{display:flex;background:var(--bg-tertiary);border-radius:20px;padding:3px;pointer-events:auto}.intro-mode-btn{padding:6px 20px;border:none;border-radius:17px;font-size:13px;font-weight:500;color:var(--text-tertiary);background:transparent;cursor:pointer;transition:all .2s;white-space:nowrap}.intro-mode-btn.active{background:var(--accent);color:#fff;font-weight:600}.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.narration-block-wrapper,.intro-block-wrapper.intro-image-wrapper{max-width:100%}.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 var(--overlay-light-hover);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 var(--overlay-light-border);color:var(--text-secondary);cursor:pointer;transition:all .2s}.intro-type-tab.active{background:var(--overlay-light-hover);border-color:var(--border);color:var(--text-primary)}.intro-type-tab .intro-tab-avatar{width:18px;height:18px;border-radius:50%;object-fit:cover;vertical-align:middle;margin-right:4px}.intro-story-char-row{display:flex;gap:6px;overflow-x:auto;padding:4px 16px 6px;margin-left:-16px;margin-right:-16px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.intro-story-char-row::-webkit-scrollbar{display:none}.intro-story-char-btn{flex-shrink:0;display:flex;align-items:center;gap:4px;padding:5px 12px;border-radius:16px;font-size:12px;font-weight:500;background:transparent;border:1px solid var(--overlay-light-border);color:var(--text-secondary);cursor:pointer;transition:all .15s;white-space:nowrap}.intro-story-char-btn.active{background:var(--overlay-light-hover);border-color:var(--accent);color:var(--accent)}.intro-story-char-btn .char-btn-avatar{width:18px;height:18px;border-radius:50%;object-fit:cover}.intro-input-wrapper{display:flex;flex-direction:column;background:var(--bg-tertiary);border:none;border-radius:16px;padding:12px 16px 4px}.intro-input-wrapper textarea{flex:none;width:100%;padding:0;background:transparent;border:none;color:var(--text-primary);font-size:14px;resize:none;height:24px;max-height:200px;overflow-y:hidden;font-family:inherit;line-height:1.4;overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.intro-input-wrapper textarea::-webkit-scrollbar{display:none}.intro-input-wrapper textarea:focus{outline:none}.intro-input-actions{display:flex;justify-content:space-between;align-items:center;gap:4px;margin-top:8px;margin-left:-10px;margin-right:-10px}.intro-input-actions-left,.intro-input-actions-right{display:flex;align-items:center;gap:4px}.intro-input-actions .intro-insert-btn.user-marker-btn{width:32px;height:32px;padding:0;background:none;border:none;border-radius:50%;color:var(--text-secondary);font-size:11px;font-weight:600;cursor:pointer;transition:all .2s;flex-shrink:0;display:flex;align-items:center;justify-content:center}.intro-input-actions .intro-insert-btn.user-marker-btn:hover{background:var(--bg-tertiary)}.intro-input-actions .intro-insert-btn.asterisk-btn{width:32px;height:32px;padding:0;background:none;border:none;border-radius:50%;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}.intro-input-actions .intro-insert-btn.asterisk-btn:hover{background:var(--bg-tertiary)}.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 var(--overlay-light-border);color:var(--text-secondary);cursor:pointer;transition:all .15s;white-space:nowrap}.intro-insert-btn:hover{border-color:var(--border);color:var(--text-primary)}.intro-insert-btn:active{background:var(--overlay-light)}.intro-image-btn{display:inline-flex;align-items:center;gap:2px;padding:6px 10px;background:var(--bg-tertiary);border:1px solid rgba(255,255,255,.15);border-radius:16px;color:var(--text-secondary);font-size:12px;cursor:pointer;transition:all .15s ease;flex-shrink:0}.intro-image-btn svg{width:13px;height:13px}.intro-send-btn,.intro-add-btn{width:28px;height:28px;padding:0;background:var(--accent);border:none;border-radius:50%;color:#fff;font-size:16px;cursor:pointer;transition:background .2s;display:flex;align-items:center;justify-content:center;flex-shrink:0;flex-grow:0;aspect-ratio:1}.intro-add-btn svg{width:16px;height:16px;flex-shrink:0}.intro-send-btn:disabled,.intro-add-btn:disabled{background:var(--accent);opacity:.4;cursor:not-allowed}.intro-add-btn.editing{background:#10b981;color:#fff}.intro-add-btn.editing:hover{background:#059669}.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:var(--purple-bg-hover);color:var(--purple-400);padding:1px 4px;border-radius:4px;font-weight:500}.char-marker{background:var(--primary-bg);color:var(--primary);padding:1px 4px;border-radius:4px;font-weight:500}.intro-image-wrapper{display:flex;justify-content:center;padding:8px 0}.intro-image-block{width:100%;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{position:relative;width:100%;border-radius:12px;overflow:hidden;background:var(--bg-tertiary);margin:8px 0}.intro-image-block-chat .skeleton,.situational-image-block-chat .skeleton{position:absolute;inset:0;min-height:200px;background:linear-gradient(90deg,var(--bg-tertiary) 25%,var(--bg-secondary) 50%,var(--bg-tertiary) 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite}.intro-image-block-chat img,.situational-image-block-chat img{position:relative;display:block;width:100%;height:auto;cursor:pointer;opacity:0;transition:opacity .3s ease}.intro-image-block-chat img.loaded,.situational-image-block-chat img.loaded{opacity:1}#introChatPreview.novel-mode{gap:0}#introChatPreview.novel-mode .intro-image-wrapper{padding:0}#introChatPreview.novel-mode .intro-block-wrapper{max-width:100%}#introChatPreview.novel-mode .intro-block-wrapper.user-block-wrapper{margin-left:0;position:relative;padding-top:24px;padding-bottom:24px;margin-top:8px;margin-bottom:20px}#introChatPreview.novel-mode .intro-block-wrapper.user-block-wrapper .message.user{max-width:100%}#introChatPreview.novel-mode .intro-block-wrapper.user-block-wrapper .message.user .message-content{background:transparent;color:var(--text-primary);padding:4px;border-radius:0;text-align:left}#introChatPreview.novel-mode .intro-block-wrapper.user-block-wrapper:before,#introChatPreview.novel-mode .intro-block-wrapper.user-block-wrapper:after{content:"";position:absolute;left:-12px;width:calc(100% + 24px);height:1px;background:var(--text-tertiary);opacity:.15}#introChatPreview.novel-mode .intro-block-wrapper.user-block-wrapper:before{top:6px}#introChatPreview.novel-mode .intro-block-wrapper.user-block-wrapper:after{bottom:6px}#introChatPreview.novel-mode .narration-block{background:transparent;padding:0 4px;margin:0;border-radius:0;color:var(--text-tertiary);font-style:normal}#introChatPreview.novel-mode .narration-block:before{display:none}#introChatPreview.novel-mode .action-text{color:var(--text-tertiary);font-style:normal}#introChatPreview.novel-mode .dialogue-block{display:block;padding:0 4px;margin:1.2em 0}#introChatPreview.novel-mode .dialogue-block .dialogue-avatar{display:none}#introChatPreview.novel-mode .dialogue-block .dialogue-content{display:inline}#introChatPreview.novel-mode .dialogue-block .dialogue-speaker{display:inline;font-size:inherit;font-weight:600;color:var(--accent);margin-bottom:0}#introChatPreview.novel-mode .dialogue-block .dialogue-speaker:after{content:" | ";font-weight:400;color:var(--text-tertiary)}#introChatPreview.novel-mode .dialogue-block .dialogue-bubble{background:transparent;padding:0;border-radius:0;display:inline}#introChatPreview.novel-mode .dialogue-block .dialogue-text{display:inline;color:var(--text-primary);font-weight:400}#introChatPreview.novel-mode .thought-block{background:transparent;border:none;padding:0 4px;margin:.8em 0}#introChatPreview.novel-mode .thought-block .thought-text{color:var(--text-secondary);font-style:italic}#introChatPreview.novel-mode .plain-text-block{padding:0 4px;color:var(--text-tertiary)}#introChatPreview.novel-mode .intro-codeblock-wrapper{width:100%}.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}.style-header{margin-bottom:20px}.style-header-title{font-size:18px;font-weight:700;color:var(--text-primary);margin:0;line-height:1.4}.style-group{background:var(--bg-secondary);border-radius:12px;padding:16px;margin-bottom:10px}.style-group-label{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:10px}.style-sub-label{font-weight:400;font-size:12px;color:var(--text-tertiary)}.style-chips{display:flex;flex-wrap:nowrap;gap:6px}.style-chip{padding:8px 0;border-radius:8px;border:1px solid var(--border);background:transparent;color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;flex:1;min-width:0;text-align:center}.style-chip:hover{border-color:var(--text-tertiary)}.style-chip.selected{border-color:var(--accent);background:var(--accent);color:var(--text-on-accent)}.style-chip.disabled{opacity:.35;pointer-events:none}.style-desc{font-size:12px;color:var(--accent);margin-top:8px;padding:0 2px}.style-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.style-grid-chip{padding:10px 12px;border-radius:8px;border:1px solid var(--border);background:transparent;color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;text-align:center}.style-grid-chip:hover{border-color:var(--text-tertiary)}.style-grid-chip.selected{border-color:var(--accent);background:var(--accent);color:var(--text-on-accent)}.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:var(--text-tertiary);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;align-items:flex-start}.editor-field-row .editor-field{flex:1}.editor-field-row .editor-field>label{display:block;min-height:32px;line-height:32px}.editor-field-row .editor-field .editor-field-header{min-height:32px;display:flex;align-items:center}.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:10px;padding:12px 14px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:10px;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:18px;height:18px;border:2px solid var(--text-tertiary);border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all .2s}.visibility-radio-inner{width:8px;height:8px;border-radius:50%;background:var(--accent);transform:scale(0);transition:transform .2s}.visibility-option input[type=radio]:checked+.visibility-card{border-color:var(--accent);background:rgba(var(--accent-rgb),.06)}.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{transform:scale(1)}.visibility-option input[type=radio]:checked+.visibility-card .visibility-title{color:var(--text-primary)}.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 select{padding-right:36px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url('data:image/svg+xml;charset=UTF-8,<svg width="12" height="6" viewBox="0 0 12 6" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1 1L6 5L11 1" stroke="%236b7280" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>');background-repeat:no-repeat;background-position:right 12px center;background-size:9px;cursor:pointer}.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:12px;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;max-width:none;margin:0}.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 var(--overlay-light-hover);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,#storyCharImageActionSheet .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-scroll-loader{display:flex;justify-content:center;align-items:center;padding:16px;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-detail-fullscreen{position:fixed;inset:0;background:#000;z-index:10001}.library-detail-content{display:flex;flex-direction:column;height:100%}.library-detail-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;padding-top:calc(12px + env(safe-area-inset-top));background:transparent}.library-detail-back{width:40px;height:40px;border-radius:50%;background:#ffffff1a;border:none;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s}.library-detail-back:active{background:#fff3}.library-detail-dday{background:#ffffff26;color:#fff;font-size:13px;padding:6px 12px;border-radius:16px;font-weight:500;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.library-detail-dday.urgent{background:#ef4444e6}.library-detail-body{flex:1;display:flex;align-items:center;justify-content:center;padding:16px;overflow:hidden}.library-detail-body img{max-width:100%;max-height:100%;object-fit:contain;border-radius:8px}.library-detail-actions{display:flex;gap:12px;padding:16px;padding-bottom:calc(16px + env(safe-area-inset-bottom));background:#000c}.library-detail-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 20px;border-radius:12px;border:none;font-size:15px;font-weight:500;cursor:pointer;transition:all .15s}.library-detail-btn.download{background:#ffffff26;color:#fff}.library-detail-btn.apply{background:var(--accent);color:#fff}.library-detail-btn:active{transform:scale(.97)}.library-detail-actions.vertical{flex-direction:column}.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%;min-height:100px;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, var(--purple-bg));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;visibility:hidden}#situationalImageModal.active{visibility:visible}.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 var(--overlay-light-hover);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:#0abab51a;color:var(--accent)}.status-badge.warning{background:#eab3081a;color:#eab308}.status-text{font-size:12px;color:var(--text-tertiary)}.fullscreen-editor-modal{position:fixed;inset:0;width:100%;height:100%;z-index:1000;background:var(--bg-primary);display:flex;flex-direction:column;transform:translateY(100%);visibility:hidden;transition:transform .3s ease-out,visibility .3s}.fullscreen-editor-modal.active{transform:translateY(0);visibility:visible}.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:var(--text-secondary);cursor:pointer;border-radius:8px;transition:all .2s}.fullscreen-editor-modal .modal-back-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.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;padding:0 20px}.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:12px 0 32px;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);scrollbar-width:none;-ms-overflow-style:none}#customDescTextarea::-webkit-scrollbar,#creatorCommentTextarea::-webkit-scrollbar{display:none}#customDescTextarea:focus,#creatorCommentTextarea:focus{outline:none}#customDescTextarea::placeholder,#creatorCommentTextarea::placeholder{color:var(--text-tertiary)}.custom-desc-char-counter{position:absolute;bottom:8px;right:8px;font-size:12px;color:var(--text-tertiary);background:var(--bg-primary);padding:4px 8px;border-radius:4px}#customDescPreviewTab,#creatorCommentPreviewTab{overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}#customDescPreviewTab::-webkit-scrollbar,#creatorCommentPreviewTab::-webkit-scrollbar{display:none}.html-preview{padding:0;color:var(--text-primary)}.html-preview [class^=sh-]{contain:layout style;overflow:hidden;max-width:100%;position:relative;border-radius:12px}.html-preview .preview-empty{text-align:center;color:var(--text-tertiary);padding:40px 16px}.html-preview>:first-child{margin-block-start:0}.html-preview>:last-child{margin-block-end:0}.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:0;line-height:1.6;color:var(--text-primary);overflow:hidden;max-width:100%}.detail-custom-desc [class^=sh-]{contain:layout style;overflow:hidden;max-width:100%;overflow-y:auto;position:relative;border-radius:12px;scrollbar-width:none;-ms-overflow-style:none}.detail-custom-desc [class^=sh-]::-webkit-scrollbar{display:none}.detail-custom-desc p{display:block;margin-block-start:1em;margin-block-end:1em}.detail-custom-desc>:first-child{margin-block-start:0}.detail-custom-desc>:last-child{margin-block-end:0}.detail-custom-desc [class^=sh-]>div:first-of-type{margin-top:0}.detail-custom-desc [class^=sh-]>div:last-of-type{margin-bottom:0}.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:none}.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%}.lorebook-info-card{background:none;border:none;border-radius:0;padding:0 4px;margin-bottom:16px}.lorebook-info-title{display:none}.lorebook-info-title svg{stroke:var(--accent);flex-shrink:0}.lorebook-info-desc{font-size:12.5px;color:var(--text-secondary);margin:0 0 10px;line-height:1.5}.lorebook-info-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.lorebook-info-list li{font-size:11px;color:var(--text-tertiary);padding-left:14px;position:relative;line-height:1.4}.lorebook-info-list li:before{content:"";position:absolute;left:0;top:6px;width:5px;height:5px;border-radius:50%;background:var(--accent);opacity:.6}.lorebook-info-list li strong{color:var(--text-secondary);font-weight:600}.advanced-list{display:flex;flex-direction:column-reverse;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:var(--overlay-light-hover)}.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:var(--overlay-light-border);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:var(--overlay-light-hover)}.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;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;box-sizing:border-box}.keyword-input-row input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.15);outline:none}.keyword-input-row input::placeholder{color:var(--text-tertiary)}.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}.lorebook-import-btn{margin-top:8px}.lorebook-import-modal{display:flex;flex-direction:column;height:100%;background:var(--bg-secondary)}.lorebook-import-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border);background:var(--bg-secondary)}.lorebook-import-title{font-size:17px;font-weight:600;color:var(--text-primary)}.lorebook-import-desc{padding:16px 16px 8px;font-size:14px;color:var(--text-secondary);margin:0}.lorebook-import-list{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:8px 16px}.lorebook-import-item{display:flex;align-items:center;gap:12px;padding:12px;border-radius:12px;cursor:pointer;transition:background .15s}.lorebook-import-item:active{background:var(--bg-hover)}.lorebook-import-thumb{width:48px;height:48px;border-radius:10px;overflow:hidden;flex-shrink:0;background:var(--bg-tertiary)}.lorebook-import-thumb img{width:100%;height:100%;object-fit:cover}.lorebook-import-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.lorebook-import-name{font-size:15px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lorebook-import-count{font-size:13px;color:var(--text-secondary);display:flex;align-items:center;gap:6px}.lorebook-import-status{font-size:11px;padding:2px 6px;border-radius:4px;font-weight:500;background:var(--bg-tertiary);color:var(--text-secondary)}.lorebook-import-arrow{flex-shrink:0;color:var(--text-tertiary)}.lorebook-import-empty{flex:1;display:flex;align-items:center;justify-content:center;padding:40px 20px}.lorebook-import-empty p{font-size:15px;color:var(--text-secondary);text-align:center;margin:0}.lorebook-import-loading{flex:1;display:flex;align-items:center;justify-content:center;padding:40px}.char-import-btn{margin-bottom:6px}.char-import-modal{display:flex;flex-direction:column;height:100%;background:var(--bg-secondary)}#charImportWorksView{display:flex;flex-direction:column;flex:1;min-height:0}#charImportSelectView{flex:1;display:flex;flex-direction:column;min-height:0}.char-import-type-badge{font-size:11px;padding:2px 6px;border-radius:4px;font-weight:500}.char-import-type-character{background:var(--accent-soft);color:var(--accent)}.char-import-type-story{background:var(--bg-tertiary);color:var(--text-secondary)}.char-import-select-header{display:flex;align-items:center;justify-content:space-between;padding:16px 16px 8px}.char-import-select-header .lorebook-import-desc{padding:0;margin:0}.char-import-select-all{display:flex;align-items:center;gap:6px;font-size:14px;color:var(--text-secondary);cursor:pointer}.char-import-select-all input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent)}.char-import-select-item{display:flex;align-items:center;gap:12px;padding:12px;border-radius:12px;cursor:pointer;transition:background .15s}.char-import-select-item:active{background:var(--bg-hover)}.char-import-select-item.selected{background:var(--accent-soft)}.char-import-select-item input[type=checkbox]{width:18px;height:18px;flex-shrink:0;accent-color:var(--accent)}.char-import-select-footer{padding:12px 16px;border-top:1px solid var(--border);background:var(--bg-secondary);flex-shrink:0}.char-import-confirm-btn{width:100%;padding:14px;border:none;border-radius:12px;background:var(--accent);color:#fff;font-size:16px;font-weight:600;cursor:pointer;transition:opacity .15s}.char-import-confirm-btn:disabled{opacity:.4;cursor:default}.lorebook-csv-body{padding:16px;display:flex;flex-direction:column;gap:16px}.lorebook-csv-desc{font-size:14px;color:var(--text-secondary);margin:0}.lorebook-csv-template-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:10px 16px;border:1px dashed var(--border);border-radius:10px;background:none;color:var(--accent);font-size:14px;font-weight:500;cursor:pointer}.lorebook-csv-template-btn:active{background:var(--bg-tertiary)}.lorebook-csv-upload-area{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:40px 20px;border:2px dashed var(--border);border-radius:12px;color:var(--text-tertiary);cursor:pointer;transition:border-color .2s,background .2s}.lorebook-csv-upload-area span{font-size:13px;text-align:center}.lorebook-csv-upload-area.dragover{border-color:var(--accent);background:rgba(var(--accent-rgb),.05)}.lorebook-csv-upload-area:active{background:var(--bg-tertiary)}.lorebook-csv-preview-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.lorebook-csv-preview-header span{font-size:14px;font-weight:600;color:var(--text-primary)}.lorebook-csv-reset-btn{background:none;border:none;font-size:13px;color:var(--accent);cursor:pointer;padding:4px 8px}.lorebook-csv-preview-list{max-height:360px;overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;gap:4px;margin-bottom:16px}.lorebook-csv-preview-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--bg-tertiary);border-radius:8px}.lorebook-csv-preview-num{font-size:12px;font-weight:600;color:var(--text-tertiary);min-width:20px;text-align:center}.lorebook-csv-preview-info{flex:1;min-width:0}.lorebook-csv-preview-name{font-size:14px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lorebook-csv-preview-keywords{font-size:12px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.lorebook-csv-import-btn{width:100%;padding:12px;border:none;border-radius:10px;background:var(--accent);color:#fff;font-size:15px;font-weight:600;cursor:pointer}.lorebook-csv-import-btn:active{opacity:.85}.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:none;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}.creator-apply-modal{background:var(--bg-primary);width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden}.creator-apply-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.creator-apply-header h2{font-size:17px;font-weight:600;color:var(--text-primary);margin:0;flex:1;text-align:center}.creator-apply-body{flex:1;padding:20px 16px;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}.creator-apply-body::-webkit-scrollbar{display:none}.creator-apply-footer{padding:16px;border-top:1px solid var(--border);background:var(--bg-primary);flex-shrink:0}.creator-apply-desc{font-size:14px;color:var(--text-secondary);margin:0 0 12px;text-align:center;line-height:1.5}.creator-apply-desc.status-eligible,.creator-apply-desc.status-pending,.creator-apply-desc.status-certified{color:var(--accent)}.creator-apply-conditions{display:flex;flex-direction:column;gap:12px;margin-bottom:12px}.creator-apply-card{background:var(--bg-secondary);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:8px}.creator-apply-card-label{font-size:13px;color:var(--text-tertiary)}.creator-apply-card-value{display:flex;align-items:baseline;gap:4px}.creator-apply-card-value .value-current{font-size:28px;font-weight:700;color:var(--text-primary)}.creator-apply-card-value .value-current.met{color:var(--accent)}.creator-apply-card-value .value-current.unmet{color:var(--text-tertiary)}.creator-apply-card-value .value-divider{font-size:16px;color:var(--text-tertiary)}.creator-apply-card-status{display:flex;align-items:center;gap:8px}.creator-apply-card-status .status-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:6px;font-size:13px;font-weight:500}.creator-apply-card-status .status-badge.pending{background:var(--bg-tertiary);color:var(--text-secondary)}.creator-apply-card-status .status-badge.completed{background:#0abab526;color:var(--accent)}.creator-apply-card-hint{font-size:13px;color:var(--accent)}.creator-apply-card-verify{padding:14px 16px}.creator-apply-card-top{margin-bottom:20px}.creator-apply-card-row{display:flex;justify-content:space-between;align-items:center;width:100%}.creator-apply-card-row .creator-apply-card-label{font-size:15px;color:var(--text-primary)}.verify-btn{padding:6px 12px;background:var(--accent);color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:opacity .2s}.verify-btn:hover{opacity:.9}.verify-label{font-size:13px!important}.terms-link{color:var(--accent);text-decoration:none}.terms-link:hover{text-decoration:underline}.creator-apply-agreement{display:flex;align-items:flex-start;gap:12px;padding:16px;background:var(--bg-secondary);border-radius:12px;margin-bottom:24px;cursor:pointer}.creator-apply-agreement input{display:none}.creator-apply-agreement .checkmark{width:22px;height:22px;border:2px solid var(--border);border-radius:6px;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all .2s}.creator-apply-agreement input:checked+.checkmark{background:var(--accent);border-color:var(--accent)}.creator-apply-agreement input:checked+.checkmark:after{content:"";width:6px;height:10px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.creator-apply-agreement .agreement-text{font-size:14px;color:var(--text-secondary);line-height:1.5}.creator-apply-agreement .agreement-link{color:var(--accent);text-decoration:underline}.creator-apply-submit{width:100%;padding:14px;background:var(--accent);border:none;border-radius:12px;color:#fff;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}.creator-apply-submit:disabled{background:var(--bg-tertiary);color:var(--text-tertiary);cursor:not-allowed}.creator-apply-benefits{background:var(--bg-secondary);border-radius:12px;padding:16px;margin-bottom:12px}.creator-apply-benefits .benefits-title{display:block;font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:12px}.creator-apply-benefits .benefits-list{margin:0;padding:0;list-style:none}.creator-apply-benefits .benefits-list li{display:flex;align-items:flex-start;gap:8px;font-size:13px;color:var(--text-secondary);line-height:1.5;margin-bottom:8px}.creator-apply-benefits .benefits-list li:before{content:"";width:16px;height:16px;background:var(--accent);mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/contain no-repeat;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/contain no-repeat;flex-shrink:0;margin-top:2px}.creator-apply-benefits .benefits-list li:last-child{margin-bottom:0}.commission-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}.commission-fullscreen-modal.open{transform:translate(0)}.commission-fullscreen-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--bg-primary);border-bottom:1px solid var(--border-light, rgba(128, 128, 128, .15));flex-shrink:0}.commission-back-btn{width:36px;height:36px;background:none;border:none;color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .2s}.commission-back-btn:hover{background:var(--overlay-light-hover)}.commission-fullscreen-header h3{font-size:17px;font-weight:600;color:var(--text-primary);margin:0}.commission-fullscreen-body{flex:1;overflow-y:auto;padding-bottom:100px}.commission-verify-section{padding:60px 24px 40px;text-align:center}.commission-verify-section .verify-icon{margin-bottom:24px}.commission-verify-section h4{font-size:17px;font-weight:700;color:var(--text-primary);margin:0 0 8px}.commission-verify-section p{font-size:13px;color:var(--text-secondary);line-height:1.5;margin:0 0 24px}.verify-action-btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 24px;background:var(--accent);color:#fff;border:none;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:opacity .2s}.verify-action-btn:hover{opacity:.9}.commission-stats-section{padding:8px 0}.commission-balance-card{background:var(--bg-secondary);border-radius:16px;padding:28px 24px;margin:16px 16px 24px;text-align:center}.commission-balance-card .balance-label{display:block;font-size:13px;color:var(--text-secondary);margin-bottom:12px}.commission-balance-card .balance-value-wrap{display:flex;align-items:center;justify-content:center;gap:8px}.commission-balance-card .balance-value{font-size:36px;font-weight:700;color:var(--text-primary)}.commission-stat-list{margin:0 16px;background:var(--bg-secondary);border-radius:12px;overflow:hidden}.commission-stat-item{display:flex;justify-content:space-between;align-items:center;padding:16px 20px}.commission-stat-item:not(:last-child){border-bottom:1px solid var(--border-light, rgba(128, 128, 128, .1))}.commission-stat-item .stat-label{font-size:14px;color:var(--text-secondary)}.commission-stat-item .stat-value{font-size:16px;font-weight:600;color:var(--text-primary)}.commission-withdraw-section{position:fixed;bottom:0;left:0;right:0;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:var(--bg-primary);border-top:1px solid var(--border-light, rgba(128, 128, 128, .15));z-index:10}.commission-withdraw-section .withdraw-hint{font-size:12px;color:var(--text-tertiary);text-align:center;margin:0 0 10px}.commission-withdraw-btn{width:100%;padding:14px;background:var(--accent);border:none;border-radius:12px;color:#fff;font-size:16px;font-weight:600;cursor:pointer;transition:opacity .2s}#creatorSearchModal .search-results{display:flex;flex-direction:column;gap:0}#creatorSearchModal .search-results-view{padding:0}.editor-template-selector{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-radius:10px;border:1px solid var(--border);background:var(--bg-tertiary);cursor:pointer;transition:border-color .2s;margin-bottom:4px}.editor-template-selector:active{border-color:var(--accent)}.editor-template-name{font-size:14px;color:var(--text-primary)}#editorTemplateSheet{z-index:10200!important}#editorTemplateSheet .bottom-sheet-body{scrollbar-width:none;-ms-overflow-style:none}#editorTemplateSheet .bottom-sheet-body::-webkit-scrollbar{display:none}.editor-template-card{display:flex;align-items:center;gap:14px;padding:18px 4px;cursor:pointer;border-bottom:1px solid var(--border-light, rgba(128, 128, 128, .1));transition:background .15s}.editor-template-card:last-child{border-bottom:none}.editor-template-card:active{background:var(--bg-tertiary)}.editor-template-card-content{flex:1;min-width:0}.editor-template-card-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.editor-template-card-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.editor-template-card-name{font-size:15px;color:var(--text-primary)}.editor-template-card-desc{font-size:13px;color:var(--text-secondary);line-height:1.5}.editor-template-card-check{flex-shrink:0;width:24px;height:24px;border-radius:6px;border:2px solid var(--border);display:flex;align-items:center;justify-content:center;transition:all .15s}.editor-template-card.selected .editor-template-card-check{background:var(--accent);border-color:var(--accent)}.editor-template-card-check svg{opacity:0;transition:opacity .15s}.editor-template-card.selected .editor-template-card-check svg{opacity:1}.prompt-total-bar{position:fixed;bottom:0;left:0;right:0;z-index:1100;display:flex;align-items:center;justify-content:center;gap:6px;padding:6px 16px;padding-bottom:max(6px,env(safe-area-inset-bottom));background:var(--bg-secondary);border-top:1px solid var(--border);font-size:12px}.prompt-total-label{color:var(--text-tertiary)}.prompt-total-count{color:var(--text-secondary);font-weight:500;font-variant-numeric:tabular-nums}.prompt-total-bar.over-limit .prompt-total-count{color:#ef4444;font-weight:600}.story-char-list{display:flex;flex-direction:column;gap:8px}.story-char-list:not(:empty){margin-top:12px}.story-char-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}.story-char-item:hover{border-color:var(--accent)}.story-char-item.dragging{opacity:.5;border-color:var(--accent)}.story-char-item-drag{cursor:grab;color:var(--text-tertiary);flex-shrink:0;padding:4px;opacity:.6;transition:opacity .2s}.story-char-item:hover .story-char-item-drag{opacity:1}.story-char-thumb{width:40px;height:40px;border-radius:50%;overflow:hidden;flex-shrink:0;object-fit:cover}.story-char-thumb-empty{display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);color:var(--text-tertiary)}.story-char-item-content{flex:1;min-width:0}.story-char-item-name{font-size:14px;font-weight:500;color:var(--text-primary);margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.story-char-item-desc{font-size:13px;color:var(--text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.story-char-item-actions{display:flex;gap:8px;flex-shrink:0}.story-char-image-area{width:100%}.story-char-image-add{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:120px;height:120px;background:var(--bg-tertiary);border:2px dashed var(--accent);border-radius:12px;color:var(--accent);font-size:12px;font-weight:500;cursor:pointer;transition:all .15s}.story-char-image-add:active{transform:scale(.95)}.story-char-image-wrap{position:relative;display:inline-block;width:120px}.story-char-modal-img{width:120px;height:120px;object-fit:cover;border-radius:12px;border:1px solid var(--border)}.story-char-image-remove{position:absolute;top:6px;right:6px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#0009;border:none;border-radius:50%;color:#fff;cursor:pointer;transition:background .2s}.story-char-image-remove:hover{background:#ef4444cc}#storyCharEditModal .lorebook-modal-body{padding-bottom:calc(40px + env(safe-area-inset-bottom))}#storyCharImageActionSheet{z-index:1200}.lorebook-modal-body .editor-section,.situational-modal-body .editor-section,.lorebook-modal-body .editor-section .editor-field,.situational-modal-body .editor-section .editor-field{margin-bottom:0}.lorebook-modal-body .editor-section .editor-field label,.situational-modal-body .editor-section .editor-field label{display:none}.lorebook-modal-body .editor-section .editor-section-desc,.situational-modal-body .editor-section .editor-section-desc{margin:8px 0 0}.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:var(--text-secondary);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:var(--text-primary)}.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:600px;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:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:8px 0 16px}.wizard-model-loading,.wizard-model-empty{text-align:center;color:var(--text-tertiary);padding:48px 20px;grid-column:1 / -1;font-size:15px}.wizard-model-card{width:100%;position:relative;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%;aspect-ratio:1 / 1;object-fit:cover;background:var(--bg-tertiary);display:block}.wizard-model-info{position:absolute;bottom:0;left:0;right:0;padding:24px 10px 8px;background:linear-gradient(transparent,#000000b3)}.wizard-model-name{font-size:13px;font-weight:600;color:#fff;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wizard-model-cost{font-size:12px;color:#fffc;display:block;margin-top:2px}.wizard-model-card.no-image .wizard-model-image{display:flex;align-items:center;justify-content:center;color:var(--text-tertiary)}.wizard-model-card.no-image .wizard-model-info{background:linear-gradient(transparent,#00000080)}.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)}.keyboard-visible .wizard-footer{padding-bottom:16px}.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:calc(20px + env(safe-area-inset-top,0)) 16px 8px 16px;position:sticky;top:0;z-index:10}.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);display:flex;align-items:center;justify-content:center;color:var(--text-tertiary);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:var(--overlay-light-hover);color:var(--text-primary)}.sns-action-secondary:hover{background:var(--overlay-light-active)}.sns-action-icon{flex:0;width:36px;padding:8px;background:var(--overlay-light-hover);color:var(--text-secondary)}.sns-action-icon:hover{background:var(--overlay-light-active)}.sns-carbon-section{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--overlay-light-hover);margin:4px 16px 0;border-radius:10px;transition:all .2s}.sns-carbon-actions{display:flex;gap:8px}.sns-carbon-action-btn{padding:6px 14px;border-radius:16px;border:1px solid var(--border-color);background:transparent;color:var(--text-secondary);font-size:12px;font-weight:500;cursor:pointer;transition:all .15s}.sns-carbon-action-btn:active{transform:scale(.95)}.sns-carbon-action-btn.sns-carbon-action-primary{background:var(--accent);border-color:var(--accent);color:#fff}.sns-carbon-action-btn.sns-carbon-action-primary:active{opacity:.85}#myPageTab .sns-carbon-section:after{content:"";position:absolute;left:-16px;right:-16px;bottom:-12px;height:1px;background:var(--border-color)}#myPageTab .sns-carbon-section{position:sticky;top:calc(136px + env(safe-area-inset-top,0));z-index:9;margin-top:0;margin-bottom:12px;background:var(--bg-secondary);box-shadow:-16px 0 0 var(--bg-primary),16px 0 0 var(--bg-primary),0 -30px 0 var(--bg-primary),0 12px 0 var(--bg-primary),-16px -30px 0 var(--bg-primary),16px -30px 0 var(--bg-primary),-16px 12px 0 var(--bg-primary),16px 12px 0 var(--bg-primary)}.sns-carbon-left{display:flex;align-items:flex-end;gap:6px}.sns-carbon-icon{display:flex;align-items:center;justify-content:center;margin-bottom:-1px}.sns-carbon-value{font-size:18px;font-weight:700;color:var(--text-primary)}.sns-carbon-label{font-size:12px;font-weight:500;color:var(--text-tertiary);margin-bottom:1px}.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:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .2s}.carbon-back-btn:hover{background:var(--overlay-light-hover)}.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:var(--overlay-light);border-radius:10px;margin-bottom:16px}.carbon-balance-left{display:flex;align-items:center;gap:6px}.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:var(--overlay-light-border);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{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-item.is-expandable{cursor:pointer}.carbon-history-item.is-expandable:active{background:var(--overlay-light-hover)}.carbon-history-main{display:flex;align-items:center;justify-content:space-between}.carbon-history-left{display:flex;flex-direction:column;gap:4px}.carbon-history-right{display:flex;align-items:center;gap:6px}.carbon-history-desc{font-size:13px;color:var(--text-secondary)}.carbon-history-date{font-size:11px;color:var(--text-tertiary)}.carbon-history-amount{display:flex;align-items:center;gap:3px;font-size:13px;font-weight:500;color:var(--text-primary);white-space:nowrap}.carbon-history-amount.expire{color:var(--text-tertiary)}.carbon-expand-icon{transition:transform .25s ease;flex-shrink:0}.carbon-history-item.expanded .carbon-expand-icon{transform:rotate(180deg)}.carbon-history-detail{max-height:0;overflow:hidden;transition:max-height .3s ease}.carbon-detail-rows{padding:12px 0 4px}.carbon-detail-row{display:flex;justify-content:space-between;align-items:center;padding:4px 0}.carbon-detail-label{font-size:12px;color:var(--text-tertiary)}.carbon-detail-value{font-size:12px;font-weight:500;color:var(--text-primary)}.carbon-detail-value.bonus{color:var(--accent)}.carbon-detail-divider{height:1px;background:var(--border-light, rgba(128, 128, 128, .15));margin:8px 0}.carbon-ledger-entry{padding:8px 0}.carbon-ledger-entry.expired{opacity:.5}.carbon-ledger-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.carbon-ledger-type{font-size:12px;font-weight:500;color:var(--text-secondary)}.carbon-ledger-expiry{font-size:11px;color:var(--text-tertiary)}.carbon-ledger-expiry.expired{color:var(--danger, #ef4444)}.carbon-ledger-balance{display:flex;align-items:center;gap:8px}.carbon-ledger-bar-track{flex:1;height:4px;background:var(--bg-tertiary);border-radius:2px;overflow:hidden}.carbon-ledger-bar-fill{height:100%;background:var(--accent);border-radius:2px;transition:width .3s ease}.carbon-ledger-bar-fill.expired{background:var(--text-tertiary)}.carbon-ledger-amount{font-size:11px;color:var(--text-tertiary);white-space:nowrap}.carbon-detail-guide{padding:8px 0;border-top:1px solid var(--border-light, rgba(128, 128, 128, .15));margin-top:4px}.carbon-detail-guide p{margin:0;font-size:11px;color:var(--text-tertiary);line-height:1.6}.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:var(--text-tertiary);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:var(--overlay-light);border-radius:12px;padding:16px;text-align:center;cursor:pointer;transition:all .2s;border:1px solid transparent}.carbon-package-card:hover{background:var(--overlay-light-hover)}.carbon-package-card.popular{border-color:var(--accent);background:var(--purple-bg)}.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 var(--overlay-light-hover)}.carbon-recharge-sheet{max-height:85vh}.carbon-recharge-header{padding:20px 20px 16px;text-align:center;border-bottom:1px solid var(--overlay-light-border)}.carbon-recharge-header h3{font-size:17px;font-weight:600;color:var(--text-primary);margin:0}.carbon-recharge-body{padding:16px 20px 32px;overflow-y:auto}.carbon-package-list{display:flex;flex-direction:column;gap:10px}.carbon-package-card{position:relative;display:flex;align-items:center;justify-content:space-between;width:100%;padding:16px 20px;background:var(--bg-secondary);border:1px solid var(--overlay-light-border);border-radius:14px;cursor:pointer;transition:all .2s ease;text-align:left}.carbon-package-card:hover{background:var(--overlay-light-hover);border-color:var(--text-tertiary)}.carbon-package-card:active{transform:scale(.98)}.carbon-package-left{display:flex;align-items:center;gap:10px}.carbon-package-left .carbon-icon{width:24px;height:24px;flex-shrink:0}.carbon-package-left .amount{font-size:18px;font-weight:700;color:var(--text-primary);letter-spacing:-.3px;line-height:1}.carbon-discount-badge{background:var(--accent);color:#fff;font-size:10px;font-weight:600;padding:3px 7px;border-radius:6px;letter-spacing:-.2px}.carbon-package-card .carbon-package-price{font-size:15px;font-weight:600;color:#fff;line-height:1}.carbon-recharge-sheet-new{max-height:85vh;padding:0 24px;padding-bottom:calc(32px + env(safe-area-inset-bottom,0));background:var(--bg-secondary)}.carbon-recharge-title{font-size:20px;font-weight:600;color:var(--text-primary);text-align:center;margin:24px 0 20px}.carbon-balance-display{display:flex;align-items:center;justify-content:center;gap:6px;margin-bottom:28px}.carbon-balance-display img{width:18px;height:18px}.carbon-balance-display span:first-of-type{font-size:16px;font-weight:600;color:var(--text-primary)}.carbon-balance-display .balance-label{font-size:14px;font-weight:400;color:var(--text-tertiary)}.carbon-package-list-new{display:flex;flex-direction:column;gap:10px}.carbon-product-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:14px 16px;background:var(--bg-tertiary);border:none;border-radius:12px;cursor:pointer;transition:all .2s ease}.carbon-product-item:hover{background:var(--overlay-light-hover)}.carbon-product-item:active{transform:scale(.98)}.carbon-product-info{display:flex;align-items:center;gap:8px}.carbon-product-info .carbon-icon{width:20px;height:20px;flex-shrink:0}.carbon-product-info .carbon-amount{font-size:17px;font-weight:600;color:var(--text-primary)}.carbon-product-info .bonus{font-size:14px;font-weight:600;color:var(--accent)}.carbon-product-price{background:var(--accent);color:#fff;padding:8px 0;border-radius:8px;font-size:14px;font-weight:600;width:90px;text-align:center;flex-shrink:0}.carbon-legal-notice{margin-top:24px;padding-top:16px}.carbon-legal-notice p{font-size:11px;color:var(--text-tertiary);line-height:1.7;margin:0}.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(--overlay-light-border);min-height:56px;flex-shrink:0}.settings-full-header h2{font-size:17px;font-weight:600;color:var(--text-primary);margin:0;text-align:center;flex:1}.settings-back-btn{width:36px;height:36px;background:none;border:none;color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .2s;flex-shrink:0}.settings-back-btn:hover{background:var(--overlay-light-hover)}.settings-full-content{flex:1;overflow-y:auto;display:flex;flex-direction:column;padding-bottom:0;scrollbar-width:none;-ms-overflow-style:none}.settings-full-content::-webkit-scrollbar{display:none}.settings-full-content .settings-section{margin-bottom:0}.settings-full-content .settings-section-title{font-size:12px;font-weight:500;color:var(--text-tertiary);padding:16px 20px 8px;margin:0}.settings-full-content .settings-section-list{display:flex;flex-direction:column}.settings-full-content .settings-row{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;gap:12px}.settings-row-left{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.settings-row-left svg{width:20px;height:20px;color:var(--text-tertiary);flex-shrink:0}.settings-row-left>.settings-row-title{font-size:14px;font-weight:400;color:var(--text-primary)}.settings-row-text{display:flex;flex-direction:column;gap:2px;min-width:0}.settings-row-text .settings-row-title{font-size:14px;font-weight:400;color:var(--text-primary)}.settings-row-desc{font-size:12px;color:var(--text-tertiary)}.account-info-row{padding:14px 20px}.account-info-left{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.account-icon{width:20px;height:20px;color:var(--text-tertiary);flex-shrink:0}.account-info-text{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.account-email{font-size:14px;font-weight:400;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-nickname{font-size:12px;color:var(--text-tertiary)}.password-change-btn{background:var(--overlay-light-border);border:none;color:var(--text-primary);font-size:13px;font-weight:500;cursor:pointer;padding:8px 14px;border-radius:8px;white-space:nowrap;flex-shrink:0;transition:background .2s}.password-change-btn:hover{background:var(--overlay-light-active)}.settings-toggle{position:relative;display:inline-block;width:50px;height:30px;flex-shrink:0}.settings-toggle input{opacity:0;width:0;height:0}.settings-toggle .toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:var(--overlay-light-hover);transition:.25s ease;border-radius:30px}.settings-toggle .toggle-slider:before{position:absolute;content:"";height:26px;width:26px;left:2px;bottom:2px;background-color:#fff;transition:.25s ease;border-radius:50%;box-shadow:0 2px 4px #0003}.settings-toggle input:checked+.toggle-slider{background-color:var(--accent)}.settings-toggle input:checked+.toggle-slider:before{transform:translate(20px)}.settings-select{appearance:none;-webkit-appearance:none;background-color:var(--overlay-light-border);color:var(--text-secondary);font-size:13px;font-weight:500;padding:6px 24px 6px 10px;border:none;border-radius:6px;cursor:pointer;max-width:90px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2.5'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;transition:background-color .2s}.settings-select:hover{background-color:var(--overlay-light-active)}.settings-select:focus{outline:none;background-color:var(--overlay-light-active)}.settings-select option{background:var(--bg-tertiary);color:var(--text-primary);padding:8px}.settings-buttons{display:flex;flex-direction:column;gap:12px;padding:32px 20px calc(32px + env(safe-area-inset-bottom,0));margin-top:auto;border-top:1px solid var(--overlay-light)}.settings-logout-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:48px;border:1px solid rgba(239,68,68,.5);background:#ef444414;color:#ef5350;font-size:15px;font-weight:500;border-radius:12px;cursor:pointer;transition:all .2s}.settings-logout-btn:hover{background:#ef444426;border-color:#ef4444b3}.settings-logout-btn svg{width:18px;height:18px}.settings-delete-btn{width:100%;height:40px;border:none;background:transparent;color:var(--text-tertiary);font-size:14px;font-weight:400;cursor:pointer;transition:color .2s}.settings-delete-btn:hover{color:#ef4444cc}.business-info-overlay{position:fixed;inset:0;z-index:100000;display:flex;align-items:flex-end;justify-content:center;opacity:0;transition:opacity .2s ease;pointer-events:none}.business-info-overlay.open{opacity:1;pointer-events:auto}.business-info-backdrop{position:absolute;inset:0;background:#00000073}.business-info-modal{position:relative;width:100%;background:var(--bg-secondary);border-radius:16px 16px 0 0;transform:translateY(100%);transition:transform .28s cubic-bezier(.32,.72,0,1);overflow:hidden}.business-info-overlay.open .business-info-modal{transform:translateY(0)}.business-info-header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 14px;border-bottom:1px solid var(--border)}.business-info-header h3{margin:0;font-size:16px;font-weight:600;color:var(--text-primary)}.business-info-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:var(--bg-tertiary);border-radius:50%;color:var(--text-secondary);cursor:pointer;transition:background .15s}.business-info-close:active{background:var(--border)}.business-info-body{padding:16px 20px 28px;display:flex;flex-direction:column;gap:0}.business-info-row{display:flex;align-items:baseline;padding:10px 0;border-bottom:1px solid var(--border-light, rgba(128, 128, 128, .08));gap:12px}.business-info-row:last-child{border-bottom:none}.business-info-label{flex-shrink:0;width:90px;font-size:12px;color:var(--text-tertiary);font-weight:500}.business-info-value{font-size:13px;color:var(--text-primary);word-break:keep-all}.theme-row{cursor:default}.theme-row:hover{background:transparent}.theme-selector{display:flex;gap:4px;background:var(--bg-tertiary);padding:4px;border-radius:10px}.theme-option{width:38px;height:34px;border:none;background:transparent;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-tertiary);transition:all .2s ease}.theme-option:hover{color:var(--text-secondary);background:var(--overlay-light-hover)}.theme-option.active{background:var(--accent);color:#fff;box-shadow:var(--shadow-accent)}#deleteAccountModal{position:fixed;inset:0;background:#0009;display:none;align-items:center;justify-content:center;z-index:1100;padding:16px}#deleteAccountModal.active{display:flex}.delete-account-modal{max-width:320px;width:calc(100% - 48px);background:var(--bg-secondary);border-radius:16px;overflow:hidden}.delete-modal-content{padding:28px 24px 20px;text-align:center}.delete-modal-content h3{margin:0 0 12px;font-size:18px;font-weight:600;color:var(--text-primary)}.delete-modal-desc{margin:0 0 24px;font-size:14px;color:var(--text-secondary);line-height:1.5}.delete-account-modal .delete-confirm-input{margin:0}.delete-account-modal .delete-confirm-input input{width:100%;padding:14px 16px;background:var(--surface-secondary);border:1px solid var(--border);border-radius:12px;font-size:15px;color:var(--text-primary);box-sizing:border-box;text-align:center;transition:border-color .2s}.delete-account-modal .delete-confirm-input input::placeholder{color:var(--text-tertiary)}.delete-account-modal .delete-confirm-input input:focus{outline:none;border-color:var(--danger)}.delete-input-hint{display:block;margin-top:8px;font-size:12px;color:var(--text-tertiary)}.delete-modal-actions{display:flex;border-top:1px solid var(--border)}.delete-cancel-btn,.delete-confirm-btn{flex:1;padding:16px;border:none;font-size:15px;font-weight:500;cursor:pointer;transition:background .2s}.delete-cancel-btn{background:transparent;color:var(--text-secondary);border-right:1px solid var(--border)}.delete-cancel-btn:hover{background:var(--overlay-light-hover)}.delete-confirm-btn{background:transparent;color:var(--danger);font-weight:600}.delete-confirm-btn:disabled{color:var(--text-tertiary);cursor:not-allowed}.delete-confirm-btn:not(:disabled):hover{background:#ff3b3014}.profile-manager-sheet{display:flex;flex-direction:column;max-height:85vh}.profile-manager-body{flex:1;overflow-y:auto;padding-bottom:0!important}.profile-manager-footer{padding:16px 20px;padding-bottom:calc(16px + env(safe-area-inset-bottom,0));border-top:1px solid var(--border-light, rgba(128, 128, 128, .15));background:var(--bg-primary);flex-shrink:0}.profile-manager-footer .profile-add-btn{margin-top:0}.keyboard-visible .profile-manager-footer{padding-bottom:16px!important}.profile-manager-list{display:flex;flex-direction:column;gap:8px}.profile-manager-item{display:flex;align-items:center;justify-content:space-between;padding:12px;background:var(--bg-tertiary);border-radius:10px;transition:all .15s}.profile-manager-item .profile-manager-content{flex:1;cursor:pointer}.profile-manager-item:not(.is-primary):hover{background:var(--bg-secondary)}.profile-manager-item.is-primary .profile-manager-content{cursor:default}.profile-manager-item.selected,.profile-manager-item.is-primary{background:var(--purple-bg)}.profile-manager-item.selected .profile-manager-name,.profile-manager-item.is-primary .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:11px;padding:2px 6px;border-radius:4px;background:var(--bg-secondary);color:var(--text-tertiary)}.profile-manager-actions{display:flex;gap:8px}.profile-action-btn{width:32px;height:32px;background:var(--overlay-light-border);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:var(--overlay-light-active)}.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:var(--overlay-light-border);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:var(--overlay-light-hover)}.gender-selector-clean{display:flex;gap:8px}.gender-btn-clean{flex:1;padding:10px 16px;background:var(--overlay-light-border);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:var(--overlay-light-hover)}.gender-btn-clean.selected{background:var(--accent);color:#fff;border-color:var(--accent)}.profile-form-modal{position:fixed;inset:0;z-index:1200;background:var(--bg-primary);display:flex;flex-direction:column;transform:translateY(100%);transition:transform .3s ease-out}.profile-form-modal.open{transform:translateY(0)}.profile-form-content{flex:1;overflow-y:auto;padding:24px;padding-top:calc(24px + env(safe-area-inset-top,0));display:flex;flex-direction:column;max-width:580px;margin:0 auto;width:100%;box-sizing:border-box}.profile-form-header{text-align:left;margin-bottom:40px}.profile-form-header h2{font-size:22px;font-weight:600;color:var(--text-primary);margin:0}.profile-form-subtitle{font-size:13px;color:var(--text-tertiary);line-height:1.5;margin:8px 0 0}.profile-form-body{display:flex;flex-direction:column;gap:28px;flex:1}.profile-form-field{display:flex;flex-direction:column;gap:8px}.profile-form-field-grow{flex:1;min-height:0}.profile-form-field-grow .profile-form-textarea{flex:1;min-height:120px}.profile-form-label{font-size:14px;font-weight:600;color:var(--text-primary)}.profile-form-input{width:100%;padding:14px 16px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:12px;font-size:15px;color:var(--text-primary);transition:all .2s;box-sizing:border-box;font-family:Pretendard,-apple-system,BlinkMacSystemFont,system-ui,sans-serif}.profile-form-input:focus{outline:none;border-color:var(--accent);background:var(--bg-tertiary);box-shadow:0 0 0 3px #0abab526}.profile-form-input::placeholder{color:var(--text-tertiary)}.profile-form-textarea{resize:none;line-height:1.5}.profile-form-char-count{font-size:12px;color:var(--text-tertiary);text-align:right}.profile-form-gender-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.profile-form-gender-option{position:relative;cursor:pointer}.profile-form-gender-option input[type=radio]{position:absolute;opacity:0;pointer-events:none}.profile-form-gender-label{display:flex;align-items:center;justify-content:center;padding:12px;height:44px;background:var(--bg-tertiary);border:2px solid var(--border);border-radius:12px;font-size:14px;font-weight:500;color:var(--text-secondary);transition:all .2s}.profile-form-gender-option:hover .profile-form-gender-label{border-color:var(--accent)}.profile-form-gender-option input[type=radio]:checked+.profile-form-gender-label{background:#0abab51a;border-color:var(--accent);color:var(--accent)}.profile-form-footer{padding:16px 24px;padding-bottom:calc(16px + env(safe-area-inset-bottom,0));background:var(--bg-primary);border-top:1px solid var(--border-light, rgba(128, 128, 128, .15));flex-shrink:0}.keyboard-visible .profile-form-footer{padding-bottom:16px!important}.profile-form-buttons{display:flex;gap:12px;max-width:580px;margin:0 auto;width:100%}.profile-form-cancel-btn{flex:1;padding:16px;background:var(--bg-tertiary);color:var(--text-secondary);border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}.profile-form-cancel-btn:hover{background:var(--bg-secondary)}.profile-form-save-btn{flex:1;padding:16px;background:var(--accent);color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}.profile-form-save-btn:hover{background:var(--accent-hover)}#profileFormModal .btn{padding:12px 14px;border-radius:10px;font-size:15px;font-weight:600}#profileFormModal .char-count{margin-top:6px;font-size:12px;color:var(--text-tertiary)}.chat-settings-section{margin-bottom:4px}.chat-settings-label{font-size:12px;font-weight:500;color:var(--text-tertiary);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)}.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:var(--overlay-light);border-radius:10px;cursor:pointer;transition:background .2s}.chat-settings-profile-row:hover{background:var(--overlay-light-hover)}.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)}.chat-settings-profile-desc{font-size:12px;color:var(--text-secondary);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:var(--overlay-light);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:var(--overlay-light-hover);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)}.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:var(--overlay-light)}.inline-profile-item.selected{background:var(--purple-bg)}.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)}.chat-settings-info-banner{display:flex;align-items:center;gap:8px;margin:12px 16px;padding:10px 14px;background:var(--overlay-light);border-radius:10px;font-size:13px;color:var(--text-tertiary);line-height:1.4}.chat-settings-info-banner svg{flex-shrink:0;opacity:.7}.chat-settings-section{padding:12px 16px}.chat-settings-section-header{display:flex;align-items:center;gap:8px;color:var(--text-tertiary);font-size:12px;font-weight:500;margin-bottom:12px;padding-left:4px}.chat-settings-section-header svg{opacity:.6}#chatSettingsModal .settings-full-content{padding-bottom:env(safe-area-inset-bottom,0)}.billing-type-selector{display:flex;gap:10px}.billing-type-card{flex:1;display:flex;flex-direction:column;align-items:center;padding:14px 12px;background:var(--bg-secondary);border:1px solid transparent;border-radius:12px;cursor:pointer;transition:all .2s ease}.billing-type-card:hover{background:var(--bg-tertiary)}.billing-type-card.active{border-color:var(--accent);background:var(--bg-secondary)}.billing-card-title{font-weight:600;font-size:14px;color:var(--text-primary);margin-bottom:4px}.billing-card-desc{font-size:11px;color:var(--text-secondary);text-align:center}.billing-type-card.active .billing-card-title{color:var(--accent)}.usage-options-section{margin-top:16px;display:flex;flex-direction:column;gap:16px}.usage-option-group{display:flex;flex-direction:column;gap:8px}.usage-option-label{font-size:13px;font-weight:500;color:var(--text-primary);display:flex;align-items:center;justify-content:space-between}.usage-option-value{font-size:13px;font-weight:600;color:var(--accent)}.usage-radio-group{display:flex;gap:0;background:var(--bg-tertiary);border-radius:10px;padding:3px}.usage-radio-btn{flex:1;padding:8px 0;border:none;border-radius:8px;background:transparent;font-size:13px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;text-align:center}.usage-radio-btn.active{background:var(--accent);color:#fff;box-shadow:0 1px 3px #00000026}.usage-slider-wrap{display:flex;flex-direction:column;gap:4px}.usage-slider{-webkit-appearance:none;appearance:none;width:100%;height:4px;background:var(--bg-tertiary);border-radius:2px;outline:none}.usage-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:var(--accent);cursor:pointer;box-shadow:0 1px 3px #0003}.usage-slider-labels{display:flex;justify-content:space-between;font-size:11px;color:var(--text-tertiary)}.token-billing-badge{display:inline-block;font-size:10px;font-weight:600;color:var(--accent);background:color-mix(in srgb,var(--accent) 15%,transparent);padding:1px 6px;border-radius:4px;vertical-align:middle;margin-left:4px}.chat-display-mode-selector{display:flex;gap:10px}.display-mode-card{flex:1;position:relative;display:flex;flex-direction:column;padding:12px;background:var(--bg-secondary);border:1px solid transparent;border-radius:12px;cursor:pointer;transition:all .2s ease;min-height:120px}.display-mode-card:hover{background:var(--bg-tertiary)}.display-mode-card.active{border-color:var(--accent);background:var(--bg-secondary)}.card-check{position:absolute;top:10px;right:10px;color:var(--accent)}.card-title{font-size:13px;font-weight:500;color:var(--text-primary);margin-bottom:12px}.card-preview{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center}.dialogue-card-preview{display:flex!important;flex-direction:column!important;gap:6px!important;padding:8px 12px!important;align-items:stretch!important;justify-content:center!important;width:100%!important}.dialogue-card-preview .preview-bubble{display:block!important;height:12px!important;min-height:12px!important;border-radius:6px!important;width:60%!important;flex-shrink:0!important}.dialogue-card-preview .preview-bubble.left{background-color:var(--overlay-light-hover)!important;align-self:flex-start!important;border-bottom-left-radius:2px!important}.dialogue-card-preview .preview-bubble.right{background-color:var(--accent)!important;align-self:flex-end!important;border-bottom-right-radius:2px!important;width:50%!important}.novel-card-preview{gap:5px;padding:4px 8px;align-items:flex-start!important;justify-content:center;text-align:left;width:100%}.novel-card-preview .preview-narration{font-size:10px;color:var(--text-tertiary);line-height:1.5}.novel-card-preview .preview-dialogue{font-size:10px;color:var(--text-primary);line-height:1.5}.novel-card-preview .preview-speaker{font-weight:600;color:var(--accent)}.novel-card-preview .preview-pipe{color:var(--text-tertiary);font-weight:400}.novel-card-preview .preview-user-line{font-size:10px;color:var(--text-primary);line-height:1.5;padding:3px 0;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}.text-settings-card{background:var(--bg-secondary);border-radius:12px;overflow:hidden}.text-settings-row{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid var(--border-light, rgba(128, 128, 128, .1))}.text-settings-row:last-child{border-bottom:none}.text-settings-label{display:flex;flex-direction:column;gap:2px}.text-settings-label.inline{flex-direction:row;align-items:center;gap:0}.text-settings-label .label-title{font-size:14px;font-weight:500;color:var(--text-primary)}.text-settings-label .label-desc{font-size:12px;color:var(--text-tertiary)}.text-settings-label .label-value{font-size:14px;color:var(--accent);font-weight:500;margin-left:8px}.text-settings-select{appearance:none;background:var(--bg-tertiary);border:1px solid var(--border-light, rgba(128, 128, 128, .2));border-radius:8px;padding:10px 36px 10px 14px;font-size:14px;color:var(--text-primary);cursor:pointer;min-width:140px;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='%23888' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.text-settings-select:focus{outline:none;border-color:var(--accent)}.text-settings-stepper{display:flex;align-items:center;gap:4px}.stepper-btn-minimal{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:8px;color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.stepper-btn-minimal:hover{background:var(--overlay-light-hover);color:var(--text-primary)}.stepper-btn-minimal:active{background:var(--overlay-light-active)}.typing-speed-slider-wrapper{flex:1;max-width:120px;display:flex;align-items:center;gap:6px}.typing-speed-label{font-size:11px;color:var(--text-tertiary);flex-shrink:0}.typing-speed-slider{-webkit-appearance:none;appearance:none;width:100%;height:4px;background:var(--bg-tertiary);border-radius:2px;outline:none;cursor:pointer}.typing-speed-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;background:var(--accent);border-radius:50%;cursor:pointer;transition:transform .15s ease}.typing-speed-slider::-webkit-slider-thumb:hover{transform:scale(1.1)}.typing-speed-slider::-moz-range-thumb{width:16px;height:16px;background:var(--accent);border:none;border-radius:50%;cursor:pointer}.volume-slider-wrapper{flex:1;max-width:120px;display:flex;align-items:center}.volume-slider{-webkit-appearance:none;appearance:none;width:100%;height:4px;background:var(--bg-tertiary);border-radius:2px;outline:none;cursor:pointer}.volume-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;background:var(--accent);border-radius:50%;cursor:pointer;transition:transform .15s ease}.volume-slider::-webkit-slider-thumb:hover{transform:scale(1.15)}.volume-slider::-moz-range-thumb{width:16px;height:16px;background:var(--accent);border:none;border-radius:50%;cursor:pointer}.volume-slider:disabled{opacity:.4;cursor:not-allowed}.volume-slider:disabled::-webkit-slider-thumb{cursor:not-allowed}.bgm-volume-row.disabled{opacity:.5;pointer-events:none}.mypage-settings-list{padding:8px 0 24px}.mypage-settings-list .settings-section{margin-bottom:8px}.mypage-settings-list .settings-section-title{font-size:12px;font-weight:500;color:var(--text-tertiary);padding:16px 20px 8px;border-bottom:none}.mypage-settings-list .settings-section-list{display:flex;flex-direction:column}.mypage-settings-list .settings-row{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;cursor:pointer;transition:background .2s}.mypage-settings-list .settings-row:hover{background:transparent}.mypage-settings-list .settings-row:active{background:var(--overlay-light-hover)}.mypage-settings-list .settings-row-toggle{cursor:default}.mypage-settings-list .settings-row-toggle:hover{background:transparent}.mypage-settings-list .settings-row-label{display:flex;align-items:center;gap:12px;font-size:14px;color:var(--text-primary)}.mypage-settings-list .settings-row-label svg{color:var(--text-tertiary);flex-shrink:0}.settings-row-right{display:flex;align-items:center;gap:4px}.settings-row-value{font-size:13px;color:var(--text-secondary);max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-row-badge{font-size:12px;font-weight:500;padding:4px 10px;border-radius:12px}.settings-row-badge.pending{background:var(--overlay-light-border);color:var(--text-tertiary)}.settings-row-badge.verified{background:#0abab526;color:var(--accent)}.settings-row-badge.certified{background:#fbb03b26;color:#fbb03b}.commission-card{background:var(--bg-secondary);border-radius:12px;padding:16px}.commission-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.commission-card-title{font-size:15px;font-weight:600;color:var(--text-primary)}.commission-card-body{display:flex;gap:16px;margin-bottom:16px}.commission-stat{flex:1;display:flex;flex-direction:column;gap:4px}.commission-stat-label{font-size:12px;color:var(--text-tertiary)}.commission-stat-value{display:flex;align-items:center;gap:4px;font-size:20px;font-weight:700;color:var(--text-primary)}.commission-stat-value.small{font-size:16px;font-weight:600}.carbon-icon-inline{vertical-align:middle;flex-shrink:0}.commission-withdraw-btn{width:100%;padding:12px;border:none;border-radius:8px;background:var(--accent);color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:opacity .2s}.commission-withdraw-btn:disabled{background:var(--bg-tertiary);color:var(--text-tertiary);cursor:not-allowed}.commission-withdraw-btn:not(:disabled):hover{opacity:.9}.toggle-switch{position:relative;display:inline-block;width:44px;height:24px;flex-shrink:0}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:var(--bg-tertiary);transition:.3s;border-radius:24px}.toggle-slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:var(--text-tertiary);transition:.3s;border-radius:50%}.toggle-switch input:checked+.toggle-slider{background-color:var(--accent)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(20px);background-color:#fff}.primary-badge{font-size:10px;font-weight:600;padding:2px 6px;background:var(--accent);color:#fff;border-radius:4px}.set-primary-btn{width:32px;height:32px;background:var(--overlay-light-border);border:none;border-radius:8px;color:var(--text-tertiary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.set-primary-btn:hover{background:var(--overlay-light-active);color:var(--accent)}.fullscreen-modal{position:fixed;inset:0;background:var(--bg-primary);z-index:1100;transform:translate(100%);transition:transform .3s ease;display:flex;flex-direction:column;pointer-events:none}.fullscreen-modal.open{transform:translate(0);pointer-events:auto}.fullscreen-modal-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));flex-shrink:0}.fullscreen-modal-header h2{font-size:16px;font-weight:600;margin:0}.fullscreen-modal-back{width:36px;height:36px;background:none;border:none;color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .2s}.fullscreen-modal-back:hover{background:var(--overlay-light-hover)}.fullscreen-modal-content{flex:1;overflow-y:auto;padding:16px}.liked-characters-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--text-secondary);text-align:center;grid-column:1 / -1}.empty-state svg{margin-bottom:16px;opacity:.5}.empty-state p{margin:0;font-size:14px}.blocked-content-list{display:flex;flex-direction:column;gap:8px}.blocked-item{display:flex;align-items:center;gap:12px;padding:12px;background:var(--bg-secondary);border-radius:12px}.blocked-item-image{width:48px;height:48px;border-radius:8px;overflow:hidden;flex-shrink:0}.blocked-item-image img{width:100%;height:100%;object-fit:cover}.blocked-item-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.blocked-item-title{font-size:14px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.blocked-item-author{font-size:12px;color:var(--text-tertiary)}.blocked-item-unblock{padding:6px 12px;background:var(--overlay-light-border);border:none;border-radius:6px;color:var(--text-secondary);font-size:12px;font-weight:500;cursor:pointer;transition:all .2s;flex-shrink:0}.blocked-item-unblock:hover{background:var(--overlay-light-active);color:var(--text-primary)}.model-selector-desc{font-size:13px;color:var(--text-secondary);margin:0 0 16px}.model-selector-list{display:flex;flex-direction:column;gap:8px}.model-selector-item{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:var(--bg-secondary);border-radius:12px;cursor:pointer;transition:all .2s;border:1px solid transparent}.model-selector-item:hover{background:var(--bg-tertiary)}.model-selector-item.selected{border-color:var(--accent);background:var(--purple-bg)}.model-item-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.model-item-name{font-size:14px;font-weight:500;color:var(--text-primary)}.model-item-desc{font-size:12px;color:var(--text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.model-item-right{display:flex;align-items:center;gap:12px}.model-item-carbon{display:flex;align-items:center;gap:4px;font-size:13px;color:var(--text-secondary)}.model-item-carbon img{opacity:.8}.prompt-template-list{display:flex;flex-direction:column;gap:8px}.prompt-template-item{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--bg-secondary);border-radius:12px;cursor:pointer;transition:all .2s;border:1px solid transparent}.prompt-template-item:hover{background:var(--bg-tertiary)}.prompt-template-item.selected{border-color:var(--accent);background:var(--purple-bg)}.prompt-template-icon{width:36px;height:36px;background:var(--overlay-light-border);border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--accent);flex-shrink:0}.prompt-template-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.prompt-template-name{font-size:14px;font-weight:500;color:var(--text-primary)}.prompt-template-desc{font-size:12px;color:var(--text-tertiary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}#notificationPermissionModal{z-index:10000}.notification-permission-modal{background:var(--bg-secondary);border-radius:20px;padding:28px 24px;text-align:center;max-width:300px;width:90%;animation:modalFadeIn .25s ease}.notification-permission-icon{width:56px;height:56px;margin:0 auto 20px;background:var(--purple-bg);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:28px}.notification-permission-modal h3{font-size:18px;font-weight:600;color:var(--text-primary);margin-bottom:8px}.notification-permission-modal p{font-size:14px;color:var(--text-secondary);margin-bottom:24px;line-height:1.5}.notification-permission-buttons{display:flex;flex-direction:column;gap:8px}.notification-allow-btn{background:var(--accent);color:#fff;border:none;border-radius:12px;padding:14px;font-size:15px;font-weight:600;cursor:pointer;transition:background .2s}.notification-allow-btn:hover{background:var(--accent-hover)}.notification-allow-btn:active{opacity:.9}.notification-deny-btn{background:transparent;color:var(--text-tertiary);border:none;padding:12px;font-size:14px;font-weight:500;cursor:pointer;transition:color .2s}.notification-deny-btn:hover{color:var(--text-secondary)}.prompt-template-full-modal{position:fixed;inset:0;background:var(--bg-primary);z-index:1100;transform:translate(100%);transition:transform .3s ease,visibility 0s .3s;display:flex;flex-direction:column;visibility:hidden}.prompt-template-full-modal.open{transform:translate(0);visibility:visible;transition:transform .3s ease,visibility 0s 0s}.prompt-template-full-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border-color);flex-shrink:0}.prompt-template-full-header h2{font-size:17px;font-weight:600;color:var(--text-primary);margin:0}.prompt-template-back-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--text-primary);cursor:pointer;border-radius:50%;transition:background .2s}.prompt-template-back-btn:active{background:var(--bg-secondary)}.prompt-template-full-content{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px;scrollbar-width:none;-ms-overflow-style:none}.prompt-template-full-content::-webkit-scrollbar{display:none}.prompt-template-card{background:var(--bg-secondary);border-radius:16px;padding:16px;display:flex;align-items:center;gap:14px;border:1px solid transparent;cursor:pointer;transition:border-color .2s,background .2s}.prompt-template-card:active{background:var(--bg-tertiary)}.prompt-template-card.selected{border-color:var(--accent)}.prompt-template-card-icon{width:40px;height:40px;background:var(--bg-tertiary);border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--text-secondary)}.prompt-template-card-icon svg{width:20px;height:20px}.prompt-template-card-info{flex:1;min-width:0}.prompt-template-card-name{display:block;font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:4px}.prompt-template-card-desc{display:block;font-size:12px;color:var(--text-secondary);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.prompt-template-card-radio{width:18px;height:18px;border-radius:50%;border:1px solid var(--accent);flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:border-color .2s,background .2s}.prompt-template-card.selected .prompt-template-card-radio{background:var(--accent);border-color:var(--accent)}.prompt-template-card.selected .prompt-template-card-radio:after{content:"";width:6px;height:6px;background:#fff;border-radius:50%}.model-selector-full-modal{position:fixed;inset:0;background:var(--bg-primary);z-index:1100;transform:translate(100%);transition:transform .3s ease,visibility 0s .3s;display:flex;flex-direction:column;visibility:hidden}.model-selector-full-modal.open{transform:translate(0);visibility:visible;transition:transform .3s ease,visibility 0s 0s}.model-selector-full-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border-color);flex-shrink:0}.model-selector-full-header h2{font-size:17px;font-weight:600;color:var(--text-primary);margin:0}.model-selector-back-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--text-primary);cursor:pointer;border-radius:50%;transition:background .2s}.model-selector-back-btn:active{background:var(--bg-secondary)}.model-selector-full-content{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px;scrollbar-width:none;-ms-overflow-style:none}.model-selector-full-content::-webkit-scrollbar{display:none}.model-selector-card{background:var(--bg-secondary);border-radius:16px;padding:16px;display:flex;align-items:center;gap:14px;border:1px solid transparent;cursor:pointer;transition:border-color .2s,background .2s}.model-selector-card:active{background:var(--bg-tertiary)}.model-selector-card.selected{border-color:var(--model-color, var(--accent))}.model-selector-card-icon{width:40px;height:40px;background:var(--bg-tertiary);border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--text-secondary)}.model-selector-card-icon svg{width:20px;height:20px}.model-selector-card-info{flex:1;min-width:0}.model-selector-card-name{display:block;font-size:14px;font-weight:400;color:var(--text-primary);margin-bottom:4px}.model-selector-card-desc{display:block;font-size:12px;color:var(--text-secondary);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.model-selector-card-right{display:flex;align-items:center;gap:12px;flex-shrink:0}.model-selector-card-carbon{display:flex;align-items:center;gap:4px;font-size:13px;font-weight:500;color:var(--text-secondary)}.model-selector-card-carbon img{width:14px;height:14px}.model-selector-card-carbon.free{background:var(--accent);color:var(--text-primary);font-weight:500;padding:2px 8px;border-radius:6px}.model-selector-card-radio{width:18px;height:18px;border-radius:50%;border:1px solid var(--model-color, var(--accent));flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:border-color .2s,background .2s}.model-selector-card.selected .model-selector-card-radio{background:var(--model-color, var(--accent));border-color:var(--model-color, var(--accent))}.model-selector-card.selected .model-selector-card-radio:after{content:"";width:6px;height:6px;background:#fff;border-radius:50%}.chat-settings-prompt-row{background:var(--bg-secondary);border-radius:12px;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;transition:background .2s}.chat-settings-prompt-row:active{background:var(--bg-tertiary)}.prompt-row-label{font-size:14px;color:var(--text-primary)}.prompt-row-value{display:flex;align-items:center;gap:6px;color:var(--text-secondary);font-size:14px}.prompt-row-value svg{color:var(--text-tertiary)}.session-prompt-modal{position:fixed;inset:0;background:var(--bg-primary);z-index:1200;transform:translate(100%);transition:transform .3s ease;display:flex;flex-direction:column}.session-prompt-modal.open{transform:translate(0)}.session-prompt-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border-color);flex-shrink:0}.session-prompt-header h2{font-size:17px;font-weight:600;color:var(--text-primary);margin:0}.session-prompt-back-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--text-primary);cursor:pointer;border-radius:50%;transition:background .2s}.session-prompt-back-btn:active{background:var(--bg-secondary)}.session-prompt-content{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px}.lock-screen{position:fixed;inset:0;background:var(--bg-primary);z-index:999999;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:opacity .3s ease}.lock-screen.fade-out{opacity:0}.lock-screen-content{display:flex;flex-direction:column;align-items:center;padding:0 40px;max-width:320px;width:100%}.lock-screen-logo{margin-bottom:32px}.lock-screen-logo img{border-radius:24px}.lock-screen-title{font-size:24px;font-weight:600;color:var(--text-primary);margin:0 0 8px}.lock-screen-subtitle{font-size:15px;color:var(--text-tertiary);margin:0 0 48px}.lock-screen-biometric-btn{display:flex;align-items:center;justify-content:center;width:72px;height:72px;background:transparent;border:2px solid var(--border);border-radius:50%;cursor:pointer;transition:all .2s ease;color:var(--accent);margin-bottom:16px}.lock-screen-biometric-btn:active{transform:scale(.95);background:var(--bg-secondary)}.lock-screen-biometric-btn svg{width:32px;height:32px}.lock-screen-biometric-label{font-size:13px;color:var(--text-tertiary);margin-bottom:40px}.lock-screen-divider{display:flex;align-items:center;width:100%;margin:0 0 32px;color:var(--text-tertiary);font-size:12px}.lock-screen-divider:before,.lock-screen-divider:after{content:"";flex:1;height:1px;background:var(--border)}.lock-screen-divider span{padding:0 16px}.lock-screen-label{display:none}.lock-screen-pin-dots{display:flex;gap:16px;margin-bottom:32px}.lock-screen-pin-input{position:absolute;opacity:0;pointer-events:none}.lock-screen-submit-btn{width:100%;height:50px;background:var(--accent);border:none;border-radius:12px;color:#fff;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease}.lock-screen-submit-btn:active:not(:disabled){transform:scale(.98)}.lock-screen-submit-btn:disabled{opacity:.35;cursor:not-allowed}.pin-dot{width:14px;height:14px;border-radius:50%;background:var(--border);transition:all .15s ease}.pin-dot.filled{background:var(--accent);transform:scale(1.15)}.pin-setup-content{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 40px;min-height:calc(100vh - 60px)}.pin-setup-step{display:flex;flex-direction:column;align-items:center;width:100%;max-width:280px;animation:pinFadeIn .25s ease}@keyframes pinFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.pin-setup-label{font-size:20px;font-weight:600;color:var(--text-primary);margin:0 0 48px;text-align:center}.pin-input{position:absolute;opacity:0;pointer-events:none}.pin-dots{display:flex;gap:16px;margin:0 0 48px;justify-content:center}.pin-setup-step .btn-primary{width:100%;height:50px;font-size:16px;font-weight:600;border-radius:12px;transition:all .2s ease}.pin-setup-step .btn-primary:active:not(:disabled){transform:scale(.98)}.pin-setup-step .btn-primary:disabled{opacity:.35}.security-section{margin-bottom:24px}.security-section-title{font-size:13px;font-weight:500;color:var(--text-tertiary);padding:0 4px 12px;text-transform:uppercase;letter-spacing:.5px}.security-row{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:var(--bg-secondary);border-radius:12px;cursor:pointer;transition:background .15s ease}.security-row:active{background:var(--bg-tertiary)}.security-row-label{display:flex;align-items:center;gap:12px}.security-row-label>span:first-child{display:none}.security-row-label svg{color:var(--text-secondary);flex-shrink:0;width:22px;height:22px}.security-row-text{display:flex;flex-direction:column;gap:2px}.security-row-title{font-size:16px;font-weight:500;color:var(--text-primary)}.security-row-desc{font-size:13px;color:var(--text-tertiary)}.security-hint{font-size:12px;color:var(--text-tertiary);margin:8px 0 0;padding-left:4px}#identityVerifyModal.identity-verify-fullscreen{position:fixed;inset:0;background:var(--bg-primary);z-index:200000;transform:translate(100%);transition:transform .3s ease;display:flex;flex-direction:column;pointer-events:none}#identityVerifyModal.identity-verify-fullscreen.active{transform:translate(0);pointer-events:auto}.identity-verify-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));flex-shrink:0}.identity-verify-header h2{font-size:18px;font-weight:600;color:var(--text-primary);margin:0}.identity-verify-back{width:36px;height:36px;border:none;background:transparent;color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:background .2s}.identity-verify-back:hover{background:var(--bg-tertiary)}.identity-verify-back:active{background:var(--bg-hover)}.identity-verify-content{flex:1;overflow-y:auto;padding:24px 20px;max-width:400px;margin:0 auto;width:100%;box-sizing:border-box}.identity-verify-icon{width:64px;height:64px;margin:0 auto 20px;background:linear-gradient(135deg,var(--accent-color),var(--accent-secondary, #667eea));border-radius:50%;display:flex;align-items:center;justify-content:center}.identity-verify-icon svg{width:32px;height:32px;color:#fff}.identity-verify-title{text-align:center;font-size:16px;font-weight:600;color:var(--text-primary);margin:0 0 8px}.identity-verify-desc{text-align:center;font-size:13px;color:var(--text-secondary);margin:0 0 24px;line-height:1.5}.identity-verify-form{display:flex;flex-direction:column;gap:16px}.identity-verify-field{display:flex;flex-direction:column;gap:6px}.identity-verify-field label{font-size:13px;font-weight:500;color:var(--text-secondary)}.identity-verify-field input{width:100%;padding:12px 14px;font-size:15px;color:var(--text-primary);background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;outline:none;transition:border-color .2s;box-sizing:border-box}.identity-verify-field input:focus{border-color:var(--accent-color)}.identity-verify-field input::placeholder{color:var(--text-tertiary)}.identity-verify-notice{display:flex;align-items:flex-start;gap:8px;padding:12px;background:var(--bg-secondary);border-radius:10px;font-size:12px;color:var(--text-tertiary);line-height:1.5}.identity-verify-notice svg{flex-shrink:0;width:16px;height:16px;margin-top:1px}.identity-verify-submit{width:100%;padding:14px;font-size:15px;font-weight:600;color:#fff;background:var(--accent-color);border:none;border-radius:10px;cursor:pointer;transition:opacity .2s,transform .1s;margin-top:8px}.identity-verify-submit:hover:not(:disabled){opacity:.9}.identity-verify-submit:active:not(:disabled){transform:scale(.98)}.identity-verify-submit:disabled{opacity:.5;cursor:not-allowed}@media(hover:none)and (pointer:coarse){.mypage-settings-list .settings-row:hover{background:transparent}}.userpage-modal{position:fixed;inset:0;background:var(--bg-primary);transform:translate(100%);transition:transform .3s ease;display:flex;flex-direction:column}.userpage-modal.open{transform:translate(0)}.userpage-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}.userpage-header h2{font-size:16px;font-weight:600;margin:0;color:var(--text-primary)}.userpage-back-btn{width:36px;height:36px;background:none;border:none;color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .2s}.userpage-back-btn:hover{background:var(--overlay-light-hover)}.userpage-content{flex:1;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}.userpage-content::-webkit-scrollbar{display:none}.userpage-profile-section{padding:20px 16px;background:var(--bg-primary)}.userpage-profile-top{display:flex;align-items:center;gap:16px;margin-bottom:16px}.userpage-profile-left{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.userpage-avatar{flex-shrink:0}.userpage-avatar-image{width:56px;height:56px;border-radius:50%;background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;color:var(--text-tertiary, rgba(255, 255, 255, .4));border:2px solid var(--bg-secondary);overflow:hidden}.userpage-avatar-image img{width:100%;height:100%;object-fit:cover}.userpage-profile-stats{display:flex;gap:16px;flex-shrink:0}.userpage-stat-item{text-align:center;cursor:pointer;padding:4px;border-radius:8px;transition:background .2s}.userpage-stat-item:hover{background:#ffffff0f}.userpage-stat-value{display:block;font-size:15px;font-weight:700;color:var(--text-primary)}.userpage-stat-label{font-size:11px;color:var(--text-secondary);margin-top:2px}.userpage-profile-info{min-width:0;flex:1}.userpage-nickname{font-size:16px;font-weight:700;color:var(--text-primary);margin:0 0 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:4px}.userpage-nickname .verified-badge{flex-shrink:0}.userpage-follow-btn{display:block;width:calc(100% - 32px);margin:-8px 16px 12px;padding:10px 16px;background:var(--accent);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.userpage-follow-btn:hover:not(:disabled){background:var(--accent-hover, var(--purple-700))}.userpage-follow-btn:disabled{opacity:.6;cursor:not-allowed}.userpage-follow-btn.following{background:var(--overlay-light-hover);color:var(--text-primary)}.userpage-follow-btn.following:hover:not(:disabled){background:#ef44441a;color:var(--danger)}.userpage-feed-section{padding:0 16px 20px}.userpage-feed-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-top:16px;border-top:1px solid var(--border-light, rgba(128, 128, 128, .15))}.userpage-feed-header h3{font-size:14px;font-weight:600;color:var(--text-primary);margin:0}.userpage-feed-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.userpage-feed-empty{grid-column:1 / -1;text-align:center;padding:40px 20px;color:var(--text-secondary)}.userpage-feed-empty svg{margin-bottom:12px;opacity:.5}.userpage-feed-empty p{margin:0;font-size:14px}.follow-list{display:flex;flex-direction:column}.follow-list-item{display:flex;align-items:center;gap:12px;cursor:pointer;border-bottom:1px solid var(--border-light, rgba(128, 128, 128, .1));transition:background .2s;margin:0 -20px;padding:12px 20px}.follow-list-item:last-child{border-bottom:none}.follow-list-item:hover{background:var(--overlay-light)}.follow-list-avatar{width:44px;height:44px;border-radius:50%;background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;color:var(--text-tertiary);overflow:hidden;flex-shrink:0}.follow-list-avatar img{width:100%;height:100%;object-fit:cover}.follow-list-info{display:flex;flex-direction:column;gap:2px;min-width:0}.follow-list-name{font-size:14px;font-weight:500;color:var(--text-primary);display:flex;align-items:center;gap:4px}.follow-list-count{font-size:12px;color:var(--text-tertiary)}.follow-list-empty{text-align:center;padding:40px 20px;color:var(--text-secondary)}.follow-list-empty p{margin:0;font-size:14px}.verified-badge-small{flex-shrink:0}.detail-creator-section{padding:0}.detail-creator-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.detail-creator-left{display:flex;align-items:center;gap:10px;cursor:pointer;flex:1;min-width:0}.detail-creator-avatar{width:32px;height:32px;border-radius:50%;background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;color:var(--text-tertiary);overflow:hidden;flex-shrink:0}.detail-creator-avatar img{width:100%;height:100%;object-fit:cover}.detail-creator-info{display:flex;flex-direction:column;gap:2px;min-width:0}.detail-creator-name{font-size:14px;font-weight:500;color:var(--text-primary);display:flex;align-items:center;gap:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.detail-creator-label{font-size:11px;color:var(--text-tertiary)}.detail-follow-btn{padding:6px 14px;background:var(--accent);color:#fff;border:none;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s;flex-shrink:0}.detail-follow-btn:hover:not(:disabled){background:var(--accent-hover, var(--purple-700))}.detail-follow-btn:disabled{opacity:.6;cursor:not-allowed}.detail-follow-btn.following{background:var(--overlay-light-hover);color:var(--text-primary)}.detail-follow-btn.following:hover:not(:disabled){background:#ef44441a;color:var(--danger)}
