*{margin:0;padding:0;box-sizing:border-box}body,html{font-family:Microsoft YaHei,PingFang SC,Helvetica Neue,Arial,sans-serif;font-size:14px;color:#333;background:#f0f0f0}#__next,body,html{height:100%}.app-container{display:flex;flex-direction:column;height:100vh}.main-content{display:flex;flex:1 1;overflow:hidden;padding:5px;gap:5px}.left-panel{width:220px;min-width:180px;display:flex;flex-direction:column;background:#fafafa;border:1px solid #d0d0d0;border-radius:4px}.search-box{display:flex;align-items:center;gap:4px;padding:6px;border-bottom:1px solid #e0e0e0}.search-box label{font-size:13px;color:#555;white-space:nowrap}.search-box input{flex:1 1;padding:4px 6px;border:1px solid silver;border-radius:3px;font-size:13px;outline:none}.search-box input:focus{border-color:#1565c0}.character-list-wrap{flex:1 1;overflow-y:auto;padding:2px}.character-list{list-style:none}.character-item{padding:6px 8px;cursor:pointer;border-radius:3px;font-size:13px;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.character-item:hover{background:#e3f2fd}.character-item.selected{background:#bbdefb;color:#1565c0;font-weight:700}.btn-group{display:flex;gap:4px;padding:6px;border-top:1px solid #e0e0e0;flex-wrap:wrap}.btn{padding:4px 10px;border:1px solid silver;border-radius:3px;background:#f5f5f5;cursor:pointer;font-size:12px;color:#333;transition:background .15s}.btn:hover{background:#e0e0e0}.btn:active{background:#d0d0d0}.btn-primary{background:#1565c0;color:#fff;border-color:#1565c0}.btn-primary:hover{background:#1976d2}.btn-danger{color:#c62828}.btn-danger:hover{background:#ffebee}.center-panel{flex:1 1;display:flex;flex-direction:column;background:#fff;border:1px solid #d0d0d0;border-radius:4px;min-width:0;min-height:0}.editor-header{padding:10px}.editor-header-row{display:flex;gap:12px;align-items:flex-start}.editor-header-main{flex:1 1;min-width:0}.editor-header-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.editor-header-top label{font-size:13px;font-weight:700;color:#333}.name-input{width:100%;padding:6px 8px;border:1px solid silver;border-radius:3px;font-size:15px;outline:none;font-family:inherit}.name-input:focus{border-color:#1565c0}.name-row{display:flex;gap:8px;align-items:center}.name-row .name-input{flex:1 1}.gender-toggle{display:flex;gap:2px;flex-shrink:0}.gender-btn{width:36px;height:32px;border:1px solid #d0d0d0;border-radius:4px;background:#fff;cursor:pointer;font-size:16px;line-height:1;display:flex;align-items:center;justify-content:center;transition:all .15s;color:#999}.gender-btn:hover{border-color:#1565c0;background:#e3f2fd}.gender-btn.active-male{background:#1565c0;color:#fff;border-color:#1565c0}.gender-btn.active-female{background:#e91e63;color:#fff;border-color:#e91e63}.traits-actions{margin-bottom:10px}.traits-random-btn{padding:4px 12px;border:1px solid #d0d0d0;border-radius:14px;background:#f5f5f5;cursor:pointer;font-size:12px;color:#555;transition:all .15s}.traits-random-btn:hover{background:#e3f2fd;border-color:#1565c0;color:#1565c0}.mobile-menu-btn{display:flex;align-items:center;justify-content:center;padding:6px 10px;border:1px solid #d0d0d0;border-radius:4px;background:#fff;cursor:pointer;font-size:18px;line-height:1;color:#555;flex-shrink:0;transition:background .15s;align-self:stretch}.mobile-menu-btn:hover{background:#e3f2fd;border-color:#1565c0}.lang-badge{display:flex;align-items:center;gap:0;font-size:12px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.lang-badge-item{padding:1px 5px;cursor:pointer;color:#999;transition:color .15s;border-radius:2px}.lang-badge-item:hover{color:#1565c0;background:#e3f2fd}.lang-badge-item.active{color:#1565c0;font-weight:700}.lang-badge-sep{color:#ddd;margin:0 1px}.section-cards{flex:1 1;min-height:0;height:0;overflow-y:auto;padding:0 16px 16px;display:flex;flex-direction:column;gap:16px}.section-card{flex-shrink:0;border:1px solid #e0e0e0;border-radius:8px;background:#fafafa;overflow:hidden}.section-card-header{padding:10px 16px;font-size:14px;font-weight:700;color:#1565c0;background:#f0f7ff;border-bottom:1px solid #e0e0e0}.section-card-body{padding:16px 18px}.section-textarea{width:100%;padding:12px 14px;border:1px solid #d0d0d0;border-radius:4px;font-size:13px;line-height:1.7;resize:vertical;outline:none;font-family:Microsoft YaHei,PingFang SC,monospace;min-height:100px;transition:border-color .15s}.section-textarea:focus{border-color:#1565c0}.zodiac-hint{font-size:12px;color:#999;margin-bottom:12px}.zodiac-grid{display:flex;flex-wrap:wrap;gap:8px}.zodiac-btn{padding:8px 16px;border:1px solid #d0d0d0;border-radius:18px;background:#fff;cursor:pointer;font-size:13px;color:#555;transition:all .15s;-webkit-user-select:none;-moz-user-select:none;user-select:none}.zodiac-btn:hover{border-color:#1565c0;color:#1565c0;background:#e3f2fd}.zodiac-btn-active{background:#1565c0;color:#fff;border-color:#1565c0}.zodiac-btn-active:hover{background:#1976d2}@media (max-width:768px){.zodiac-btn{padding:6px 12px;font-size:12px;border-radius:14px}.zodiac-grid{gap:6px}}.traits-section{margin-bottom:14px}.traits-label{font-size:13px;font-weight:700;color:#555;margin-bottom:6px}.traits-hint{font-size:11px;color:#999;margin-bottom:10px}.traits-grid{display:flex;flex-wrap:wrap;gap:10px}.trait-btn{padding:8px 18px;border:1px solid #d0d0d0;border-radius:18px;background:#fff;cursor:pointer;font-size:13px;color:#555;transition:all .15s;-webkit-user-select:none;-moz-user-select:none;user-select:none}.trait-btn:hover{border-color:#1565c0;color:#1565c0;background:#e3f2fd}.trait-btn-active{background:#1565c0;color:#fff;border-color:#1565c0}.trait-btn-active:hover{background:#1976d2;color:#fff}.nav-item{padding:6px 10px;cursor:pointer;border-radius:3px;font-size:13px;color:#1565c0;transition:background .15s}.nav-item:hover{background:#e3f2fd}.nav-item:before{content:"▸ ";color:#90caf9}.type-hint{font-size:12px;color:#999;margin-bottom:12px}.type-category-toggle{display:flex;align-items:center;gap:8px;margin-bottom:14px}.type-category-label{font-size:12px;color:#888;font-weight:700}.type-cat-btn{padding:4px 14px;border:1px solid #d0d0d0;border-radius:14px;background:#f5f5f5;cursor:pointer;font-size:12px;color:#666;transition:all .15s}.type-cat-btn:hover{background:#e3f2fd;border-color:#1565c0;color:#1565c0}.type-cat-btn-active{background:#1565c0;color:#fff;border-color:#1565c0}.type-cat-btn-active:hover{background:#1976d2;color:#fff}.type-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px}.type-btn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 8px;border:1px solid #d0d0d0;border-radius:8px;background:#fff;cursor:pointer;transition:all .15s;text-align:center}.type-btn:hover{border-color:#1565c0;background:#e3f2fd}.type-btn-active{background:#1565c0;color:#fff;border-color:#1565c0}.type-btn-active:hover{background:#1976d2}.type-btn-label{font-size:13px;font-weight:700}.type-btn-desc{font-size:10px;line-height:1.4;opacity:.8;max-width:100%}.type-btn-active .type-btn-desc{opacity:.9}.mbti-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:8px;gap:8px}.mbti-btn{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 4px;border:1px solid #d0d0d0;border-radius:8px;background:#fff;cursor:pointer;transition:all .15s;text-align:center}.mbti-btn:hover{border-color:#1565c0;background:#e3f2fd}.mbti-btn-active{background:#1565c0;color:#fff;border-color:#1565c0}.mbti-btn-active:hover{background:#1976d2}.mbti-btn-code{font-size:13px;font-weight:700;font-family:Courier New,monospace;letter-spacing:1px}.mbti-btn-label{font-size:10px;opacity:.8;line-height:1.2}.mbti-btn-desc{font-size:9px;opacity:.6;line-height:1.3}.mbti-btn-active .mbti-btn-desc,.mbti-btn-active .mbti-btn-label{opacity:.95}@media (max-width:900px){.type-grid{grid-template-columns:repeat(2,1fr)}.mbti-grid{grid-template-columns:repeat(3,1fr)}}.right-panel{width:180px;min-width:140px;display:flex;flex-direction:column;background:#fafafa;border:1px solid #d0d0d0;border-radius:4px}.tag-header{padding:8px 10px;font-weight:700;font-size:13px;color:#333;border-bottom:1px solid #e0e0e0}.tag-list{flex:1 1;overflow-y:auto;padding:4px}.tag-item{padding:4px 8px;cursor:pointer;border-radius:3px;font-size:13px;color:#1565c0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tag-item:hover{background:#e3f2fd}.tag-item.level-1{padding-left:8px}.tag-item.level-2{padding-left:20px}.tag-item.level-3{padding-left:32px}.status-bar{padding:4px 10px;background:#e8e8e8;border-top:1px solid #d0d0d0;font-size:12px;color:#666}mark{background:#ff0;color:#000;padding:0}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:silver;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#a0a0a0}.empty-state{height:100%;color:#999;font-size:14px}.empty-state,.modal-overlay{display:flex;align-items:center;justify-content:center}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.3);z-index:100}.modal-box{background:#fff;border-radius:6px;padding:20px 24px;min-width:280px;box-shadow:0 4px 20px rgba(0,0,0,.15)}.modal-box p{margin-bottom:16px;font-size:14px}.modal-actions{display:flex;gap:8px;justify-content:flex-end}.status-bar{display:flex;align-items:center;justify-content:space-between}.btn-settings{background:transparent;border:none;cursor:pointer;font-size:15px;padding:0 6px;line-height:1;color:#888;transition:color .15s}.btn-settings:hover{color:#333}.modal-settings{min-width:780px;width:780px}.settings-heading{font-size:16px;font-weight:700;margin-bottom:16px;color:#333}.settings-section{margin-bottom:14px}.settings-label{display:block;font-size:13px;font-weight:700;color:#555;margin-bottom:6px}.lang-toggle{display:flex;gap:0;border:1px solid silver;border-radius:4px;overflow:hidden}.lang-btn{flex:1 1;padding:6px 12px;border:none;background:#f5f5f5;cursor:pointer;font-size:13px;color:#555;transition:background .15s}.lang-btn:not(:last-child){border-right:1px solid silver}.lang-btn:hover{background:#e3f2fd}.lang-btn-active{background:#1565c0;color:#fff}.lang-btn-active:hover{background:#1976d2}.apikey-row{display:flex;gap:4px}.apikey-input{flex:1 1;width:100%;padding:6px 8px;border:1px solid silver;border-radius:3px;font-size:13px;font-family:inherit;outline:none}.apikey-input:focus{border-color:#1565c0}.test-result-row{display:flex;align-items:center;gap:10px;margin-top:12px}.test-result{font-size:13px;font-weight:700;padding:2px 10px;border-radius:4px}.test-ok{color:#2e7d32;background:#e8f5e9}.test-fail{color:#c62828;background:#ffebee}.toolbar{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}.toolbar-btn{padding:4px 10px;border:1px solid #d0d0d0;border-radius:4px;background:#f8f9fa;cursor:pointer;font-size:12px;color:#555;transition:all .15s;white-space:nowrap}.toolbar-btn:hover{background:#e3f2fd;border-color:#1565c0;color:#1565c0}.modal-gen{min-width:420px;max-width:560px}.gen-hint{font-size:13px;color:#666;margin-bottom:10px;line-height:1.5}.gen-textarea{width:100%;padding:10px 12px;border:1px solid silver;border-radius:4px;font-size:13px;line-height:1.6;resize:vertical;outline:none;font-family:Microsoft YaHei,PingFang SC,monospace;min-height:100px}.gen-textarea:focus{border-color:#1565c0}.gen-textarea:disabled{background:#f5f5f5;cursor:not-allowed}.gen-textarea.gen-result{background:#f8f9fa;cursor:default}.cover-page{height:100vh;flex-direction:column;justify-content:center;background:linear-gradient(135deg,#0d1b2a,#1b2838 40%,#1a3a4a);overflow:hidden;position:relative}.cover-lang,.cover-page{display:flex;align-items:center}.cover-lang{position:absolute;top:16px;right:20px;gap:0;font-size:13px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.cover-lang-item{padding:2px 8px;cursor:pointer;color:#8fa3b8;transition:color .15s;border-radius:3px}.cover-lang-item:hover{color:#e8edf2;background:hsla(0,0%,100%,.1)}.cover-lang-item.active{color:#90caf9;font-weight:700}.cover-lang-sep{color:hsla(0,0%,100%,.2);margin:0 2px}.cover-container{text-align:center;padding:40px;max-width:420px;width:100%}.cover-icon{font-size:64px;margin-bottom:16px;filter:drop-shadow(0 4px 12px rgba(0,0,0,.3))}.cover-title{font-size:36px;font-weight:800;color:#e8edf2;margin-bottom:8px;letter-spacing:2px;text-shadow:0 2px 8px rgba(0,0,0,.3)}.cover-desc{font-size:14px;color:#8fa3b8;margin-bottom:40px;line-height:1.5}.cover-modules{display:flex;flex-direction:column;gap:12px;margin-bottom:36px}.cover-option{display:flex;align-items:center;gap:12px;padding:16px 20px;border:1px solid hsla(0,0%,100%,.12);border-radius:12px;background:hsla(0,0%,100%,.06);cursor:pointer;transition:all .2s;text-align:left}.cover-option:hover{background:hsla(0,0%,100%,.1);border-color:hsla(0,0%,100%,.2)}.cover-option-active{background:rgba(21,101,192,.2);border-color:#1565c0;box-shadow:0 0 0 1px #1565c0}.cover-option input[type=radio]{accent-color:#1565c0;width:16px;height:16px;flex-shrink:0}.cover-option-icon{font-size:24px;flex-shrink:0}.cover-option-text{font-size:16px;font-weight:600;color:#e8edf2}.cover-start-btn{display:inline-block;padding:14px 48px;border:none;border-radius:30px;background:linear-gradient(135deg,#1565c0,#1976d2);color:#fff;font-size:16px;font-weight:700;cursor:pointer;transition:all .2s;letter-spacing:1px;box-shadow:0 4px 16px rgba(21,101,192,.3)}.cover-start-btn:hover{transform:translateY(-2px);box-shadow:0 6px 24px rgba(21,101,192,.4);background:linear-gradient(135deg,#1976d2,#1e88e5)}.cover-start-btn:active{transform:translateY(0)}.mobile-backdrop{display:none}@media (min-width:769px){.mobile-menu-btn{display:none!important}}@media (max-width:768px){body,html{font-size:14px}.app-container{height:100dvh}.mobile-menu-btn{display:flex;align-items:center;justify-content:center}.mobile-backdrop{display:block;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:150}.main-content{flex-direction:column;padding:0;gap:0}.cover-container{padding:24px}.cover-title{font-size:28px}.cover-icon{font-size:48px}.left-panel{position:fixed;top:0;left:0;width:280px;max-width:80vw;height:100vh;height:100dvh;z-index:200;transform:translateX(-100%);transition:transform .2s ease;box-shadow:2px 0 12px rgba(0,0,0,.15);border-radius:0}.left-panel.mobile-open{transform:translateX(0)}.right-panel{display:none}.center-panel{border-radius:0;border-left:none;border-right:none}.editor-header{padding:6px 8px}.editor-header-row{gap:6px}.section-cards{padding:0 8px 12px;gap:10px}.section-card-body{padding:10px 12px}.section-textarea{font-size:14px;padding:10px 12px;min-height:80px}.name-input{font-size:15px;padding:6px 8px}.mbti-grid,.type-grid{grid-template-columns:repeat(2,1fr)}.traits-grid{gap:6px}.trait-btn{padding:6px 12px;font-size:12px;border-radius:14px}.type-btn{padding:10px 6px}.type-btn-label{font-size:12px}.type-btn-desc{font-size:9px}.mbti-btn{padding:8px 4px}.mbti-btn-code{font-size:12px}.mbti-btn-label{font-size:9px}.mbti-btn-desc{display:none}.modal-box{margin:0;width:100%;height:100%;border-radius:0;display:flex;flex-direction:column;padding:16px}.modal-box,.modal-gen{min-width:0!important;max-width:none!important}.modal-actions{margin-top:auto;padding-top:12px}.modal-settings{width:100%!important;min-width:0!important}.btn-group{gap:3px;justify-content:center}.btn{font-size:12px;padding:5px 8px;flex:1 1;text-align:center}.toolbar{gap:4px}.status-bar,.toolbar-btn{font-size:11px;padding:3px 8px}.gender-btn{width:32px;height:28px;font-size:14px}.lang-badge-item{font-size:11px;padding:1px 4px}.nav-item{font-size:12px;padding:5px 8px}}@media (min-width:1024px){body,html{font-size:15px}.section-textarea{font-size:14px;padding:14px 16px}.trait-btn{font-size:14px;padding:8px 22px}.type-btn{padding:16px 12px}.type-btn-label{font-size:14px}.type-btn-desc{font-size:11px}.name-input{font-size:16px;padding:8px 12px}.btn,.toolbar-btn{font-size:13px;padding:5px 14px}.section-card-header{font-size:15px;padding:12px 18px}.section-card-body{padding:18px 20px}.section-cards{gap:18px;padding:0 20px 20px}.editor-header{padding:14px 16px}.editor-header-row{gap:16px}.gender-btn{width:40px;height:36px;font-size:18px}.character-item{font-size:14px;padding:8px 10px}.type-grid{gap:12px}.mbti-grid{gap:10px}.mbti-btn{padding:12px 6px}.mbti-btn-code{font-size:15px}.mbti-btn-label{font-size:11px}.mbti-btn-desc{font-size:10px}.search-box input{font-size:14px;padding:6px 8px}.apikey-input{font-size:14px;padding:8px 10px}.left-panel{width:240px;min-width:200px;transition:width .2s,min-width .2s,padding .2s;overflow:hidden}.left-panel.mobile-open{width:0;min-width:0;padding:0;border:none}}@media (max-width:480px){.cover-title{font-size:24px}.cover-icon{font-size:40px}.cover-container{padding:16px}.cover-option{padding:12px 16px}.cover-start-btn{width:100%;padding:14px 24px}.mbti-grid,.type-grid{grid-template-columns:1fr 1fr}.btn-group{justify-content:center}.toolbar-btn{font-size:11px;padding:3px 8px}}