:root{--primary-teal:#009688;--primary-teal-light:#4db6ac;--primary-teal-dark:#00695c;--secondary-grey:#607d8b;--surface-white:#fff;--background-grey:#fafafa;--text-primary:#212121;--text-secondary:#757575;--text-disabled:#bdbdbd;--divider:#e0e0e0;--error:#f44336;--shadow-1:0 1px 3px #0000001f,0 1px 2px #0000003d;--shadow-2:0 3px 6px #00000029,0 3px 6px #0000003b;--shadow-3:0 10px 20px #00000030,0 6px 6px #0000003b;--gradient-primary:linear-gradient(135deg,var(--primary-teal) 0%,var(--primary-teal-light) 100%)}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#fafafa;background:var(--background-grey);color:#212121;color:var(--text-primary);font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6;margin:0}*{box-sizing:border-box}h1,h2,h3,h4,h5,h6{color:#212121;color:var(--text-primary);font-weight:500;line-height:1.2;margin:0 0 16px}h1{font-size:2.125rem}h2{font-size:1.5rem}h3{font-size:1.25rem}.container{margin:0 auto;max-width:1500px;padding:24px}.header{background:linear-gradient(135deg,#009688,#4db6ac);background:var(--gradient-primary);box-shadow:0 3px 6px #00000029,0 3px 6px #0000003b;box-shadow:var(--shadow-2);padding:16px 0;position:-webkit-sticky;position:sticky;top:0;z-index:100}.header,.header h1{color:#fff;color:var(--surface-white)}.header h1{font-size:1.5rem;font-weight:500;margin:0}.card{background:#fff;background:var(--surface-white);border-radius:12px;box-shadow:0 1px 3px #0000001f,0 1px 2px #0000003d;box-shadow:var(--shadow-1);margin-bottom:16px;padding:24px;transition:all .3s ease}.card:hover{box-shadow:0 10px 20px #00000030,0 6px 6px #0000003b;box-shadow:var(--shadow-3);transform:translateY(-2px)}.button{align-items:center;background:linear-gradient(135deg,#009688,#4db6ac);background:var(--gradient-primary);border:none;border-radius:6px;box-shadow:0 1px 3px #0000001f,0 1px 2px #0000003d;box-shadow:var(--shadow-1);color:#fff;color:var(--surface-white);cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;justify-content:center;letter-spacing:.75px;min-height:36px;outline:none;padding:12px 24px;text-decoration:none;text-transform:uppercase;transition:all .3s ease}.button:hover{box-shadow:0 3px 6px #00000029,0 3px 6px #0000003b;box-shadow:var(--shadow-2);transform:translateY(-1px)}.button:disabled{background:#bdbdbd;background:var(--text-disabled);box-shadow:none;cursor:not-allowed;transform:none}.button-secondary{background-color:#607d8b;background-color:var(--secondary-grey)}.button-danger{background-color:#f44336;background-color:var(--error)}.form-group{margin-bottom:24px}.form-group label{color:#212121;color:var(--text-primary);display:block;font-size:14px;font-weight:500;margin-bottom:8px}.form-group input,.form-group select,.form-group textarea{background-color:#fff;background-color:var(--surface-white);border:1px solid #e0e0e0;border:1px solid var(--divider);border-radius:4px;color:#212121;color:var(--text-primary);font-size:16px;outline:none;padding:16px 12px;transition:border-color .3s ease;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#009688;border-color:var(--primary-teal);box-shadow:0 0 0 2px #00968833}.form-group input:hover,.form-group select:hover,.form-group textarea:hover{border-color:#757575;border-color:var(--text-secondary)}.form-group input::placeholder,.form-group textarea::placeholder{color:#bdbdbd;color:var(--text-disabled)}.form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:32px}.loading{color:#757575;color:var(--text-secondary);font-size:16px;padding:40px 20px;text-align:center}.error-message{background-color:#ffebee;border-left:4px solid #f44336;border-left:4px solid var(--error);border-radius:4px;box-shadow:0 1px 3px #0000001f,0 1px 2px #0000003d;box-shadow:var(--shadow-1);color:#c62828;margin-bottom:16px;padding:16px}.spinner{animation:spin 1s linear infinite;border:3px solid #00968833;border-radius:50%;border-top-color:#009688;border-top:3px solid var(--primary-teal);height:40px;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.chat-container{background:var(--background-grey);display:flex;flex-direction:column;min-height:100vh}.container .chat-container{margin:0;padding:0;width:100%}.chat-top-bar{align-items:center;background:var(--surface-white);border-bottom:1px solid var(--divider);display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;padding:16px 24px;position:-webkit-sticky;position:sticky;top:110px;z-index:10}.conversation-tabs{display:flex;flex:1 1;gap:8px;overflow-x:auto;padding:4px 0}.conversation-tabs::-webkit-scrollbar{height:2px}.conversation-tabs::-webkit-scrollbar-track{background:#0000}.conversation-tabs::-webkit-scrollbar-thumb{background:var(--text-disabled);border-radius:1px}.chat-controls{align-items:center;display:flex;flex-shrink:0;gap:12px}.chat-main{display:flex;flex:1 1;flex-direction:column;min-height:0}.chat-title{align-items:center;color:var(--text-primary);display:flex;font-size:1.25rem;font-weight:600;gap:12px;margin:0}.campaign-badge{background:var(--primary-teal);border-radius:16px;color:var(--surface-white);font-size:.75rem;font-weight:500;padding:4px 12px}.model-selector{align-items:center;display:flex;gap:8px;margin-left:auto}.model-selector label{color:var(--text-secondary);font-size:.875rem;font-weight:500;white-space:nowrap}.model-dropdown{background:var(--surface-white);border:1px solid var(--divider);border-radius:6px;color:var(--text-primary);cursor:pointer;font-size:.875rem;font-weight:500;min-width:140px;padding:6px 12px;transition:border-color .2s ease}.model-dropdown:focus,.model-dropdown:hover:not(:disabled){border-color:var(--primary-teal)}.model-dropdown:focus{box-shadow:0 0 0 2px #1abc9c1a;outline:none}.model-dropdown:disabled{background:var(--background-grey);color:var(--text-secondary);cursor:not-allowed}.chat-error{background:#ffebee;border-bottom:1px solid #ffcdd2;border-left:4px solid var(--error);color:#c62828;font-size:14px;padding:16px 24px}.chat-messages{background:var(--background-grey);display:flex;flex:1 1;flex-direction:column;gap:16px;min-height:calc(100vh - 250px);padding:24px}.message{animation:slideInMessage .3s ease;display:flex;max-width:75%}@keyframes slideInMessage{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message.user{align-self:flex-end;margin-left:auto}.message.assistant{align-self:flex-start;margin-right:auto}.message-content{display:flex;flex-direction:column;gap:6px}.message.user .message-content{align-items:flex-end}.message.assistant .message-content{align-items:flex-start}.message-text{word-wrap:break-word;border-radius:18px;box-shadow:var(--shadow-1);font-size:14px;line-height:1.5;padding:12px 16px}.message.user .message-text{background:var(--gradient-primary);border-bottom-right-radius:4px;color:var(--surface-white)}.message.assistant .message-text{background:var(--surface-white);border:1px solid #0096881a;border-bottom-left-radius:4px;color:var(--text-primary)}.message.assistant .message-text:hover{border-color:#00968833;box-shadow:var(--shadow-2)}.message.loading .message-text{background:var(--background-grey);border:1px solid var(--divider);color:var(--text-secondary)}.message-time{color:var(--text-disabled);font-size:11px;font-weight:400;padding:0 8px}.message-meta{align-items:center;display:flex;gap:8px}.import-job-button{background:none;border:none;border-radius:4px;color:var(--text-secondary);cursor:pointer;font-size:16px;opacity:.7;padding:4px;transition:all .2s ease}.import-job-button:hover:not(:disabled){background:#0096881a;opacity:1;transform:scale(1.1)}.import-job-button:disabled{cursor:not-allowed;opacity:.4}.loading-dots{align-items:center;display:inline-flex;gap:4px}.loading-dots span{animation:loadingBounce 1.4s infinite both;background:var(--text-secondary);border-radius:50%;height:6px;width:6px}.loading-dots span:first-child{animation-delay:-.32s}.loading-dots span:nth-child(2){animation-delay:-.16s}@keyframes loadingBounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.chat-input-form{background:var(--surface-white);border-top:1px solid var(--divider);bottom:0;box-shadow:0 -2px 8px #0000001a;padding:20px 24px;position:-webkit-sticky;position:sticky}.input-container{align-items:flex-end;display:flex;gap:12px}.chat-input{background-color:var(--surface-white);border:2px solid var(--divider);border-radius:24px;color:var(--text-primary);flex:1 1;font-family:inherit;font-size:16px;max-height:120px;min-height:44px;outline:none;padding:12px 16px;resize:none;transition:all .3s ease}.chat-input:focus{border-color:var(--primary-teal);box-shadow:0 0 0 2px #00968833}.chat-input:disabled{background:var(--background-grey);cursor:not-allowed;opacity:.6}.send-button{background:var(--primary-teal);border:none;border-radius:24px;box-shadow:var(--shadow-1);color:var(--surface-white);cursor:pointer;font-size:14px;font-weight:500;letter-spacing:.75px;min-width:80px;padding:12px 24px;text-transform:uppercase;transition:all .3s ease;white-space:nowrap}.send-button:hover:not(:disabled){background:var(--primary-teal-dark);box-shadow:var(--shadow-2)}.send-button:disabled{background:var(--text-disabled);box-shadow:none;cursor:not-allowed}.no-campaign-message{align-items:center;background:var(--surface-white);border-radius:12px;box-shadow:var(--shadow-1);color:var(--text-secondary);display:flex;flex-direction:column;justify-content:center;margin:24px;min-height:60vh;padding:48px;text-align:center}.no-campaign-message h2{color:var(--text-primary);font-weight:500;margin-bottom:16px}.no-campaign-message p{font-size:1rem;line-height:1.6;margin-bottom:32px;max-width:400px}.create-campaign-link{background:var(--primary-teal);border-radius:4px;box-shadow:var(--shadow-1);color:var(--surface-white);font-size:14px;font-weight:500;letter-spacing:.75px;padding:12px 24px;text-decoration:none;text-transform:uppercase;transition:all .3s ease}.create-campaign-link:hover{background:var(--primary-teal-dark);box-shadow:var(--shadow-2);color:#fff;text-decoration:none;transform:translateY(-1px)}.conversation-tab{align-items:center;background:var(--surface-white);border:1px solid var(--divider);border-radius:20px;display:flex;min-width:-webkit-fit-content;min-width:fit-content;overflow:hidden;transition:all .2s ease;white-space:nowrap}.conversation-tab:hover{background:#0096881a;border-color:#0096884d}.conversation-tab.active{background:var(--primary-teal);border-color:var(--primary-teal);box-shadow:var(--shadow-1)}.conversation-button{background:none;border:none;color:var(--text-secondary);cursor:pointer;flex:1 1;font-size:.875rem;padding:8px 16px;text-align:left;transition:all .2s ease;white-space:nowrap}.conversation-tab.active .conversation-button{color:var(--surface-white);font-weight:500}.conversation-button:disabled{cursor:not-allowed;opacity:.6}.delete-conversation-button{align-items:center;background:none;border:none;border-radius:50%;color:var(--text-disabled);cursor:pointer;display:flex;font-size:16px;font-weight:700;height:24px;justify-content:center;margin-right:4px;opacity:0;padding:4px 8px;transition:all .2s ease;width:24px}.conversation-tab:hover .delete-conversation-button{opacity:1}.delete-conversation-button:hover:not(:disabled){background:#ef44441a;color:#ef4444}.conversation-tab.active .delete-conversation-button{color:#ffffffb3}.conversation-tab.active .delete-conversation-button:hover:not(:disabled){background:#ffffff1a;color:var(--surface-white)}.delete-conversation-button:disabled{cursor:not-allowed;opacity:.4}.new-chat-button{background:var(--primary-teal);border:1px solid var(--primary-teal);border-radius:20px;box-shadow:var(--shadow-1);color:var(--surface-white);cursor:pointer;font-size:.875rem;font-weight:500;padding:8px 16px;transition:all .2s ease;white-space:nowrap}.new-chat-button:hover:not(:disabled){background:var(--primary-teal-dark);box-shadow:var(--shadow-2);transform:translateY(-1px)}.new-chat-button:disabled{cursor:not-allowed;opacity:.6}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:12px;box-shadow:var(--shadow-3);max-width:90vw;min-width:400px;padding:24px}.modal-content h3{color:#333;font-size:1.25rem;margin:0 0 20px}.modal-actions{display:flex;gap:12px;justify-content:flex-end}.modal-actions button{border-radius:8px;cursor:pointer;font-size:.9rem;padding:10px 20px;transition:all .2s ease}.modal-actions button[type=button]{background:#f3f4f6;border:1px solid #d1d5db;color:#374151}.modal-actions button[type=button]:hover:not(:disabled){background:#e5e7eb}.modal-actions button[type=submit]{background:#4f46e5;border:1px solid #4f46e5;color:#fff}.modal-actions button[type=submit]:hover:not(:disabled){background:#4338ca;transform:translateY(-1px)}.modal-actions button:disabled{cursor:not-allowed;opacity:.6}.delete-button{background:#ef4444!important;border-color:#ef4444!important;color:#fff!important}.delete-button:hover:not(:disabled){background:#dc2626!important}.import-job-modal{max-height:80vh;max-width:800px;overflow-y:auto}.import-job-details{background:var(--background-grey);border-left:4px solid var(--primary-teal);border-radius:8px;margin-bottom:20px;padding:16px}.import-job-details p{margin:8px 0}.lore-updates-section,.pending-lore-section{margin-bottom:24px}.lore-updates-section h4,.pending-lore-section h4{border-bottom:2px solid var(--divider);color:var(--text-primary);font-size:18px;margin:0 0 16px;padding-bottom:8px}.lore-updates-list,.pending-lore-list{display:flex;flex-direction:column;gap:16px}.lore-update-item,.pending-lore-item{background:var(--surface-white);border:1px solid var(--divider);border-left:4px solid var(--primary-teal);border-radius:8px;padding:16px}.lore-update-item h5,.pending-lore-item h5{color:var(--text-primary);font-size:16px;margin:0 0 8px}.pending-lore-item .lore-type-badge{background:var(--primary-teal);border-radius:12px;color:var(--surface-white);display:inline-block;font-size:10px;font-weight:600;letter-spacing:.5px;margin-bottom:8px;padding:4px 8px;text-transform:uppercase}.lore-update-item p,.pending-lore-item p{color:var(--text-secondary);line-height:1.5;margin:8px 0}.description-update,.details-update{margin:12px 0}.description-update strong,.details-update strong{color:var(--text-primary);display:block;margin-bottom:8px}.description-update details{margin-top:8px}.description-update summary{color:var(--primary-teal);cursor:pointer;font-weight:500;margin-bottom:8px}.details-update ul{margin:8px 0;padding-left:20px}.details-update li{line-height:1.4;margin:4px 0}.apply-button{background:var(--primary-teal)!important;border-color:var(--primary-teal)!important;color:#fff!important}.apply-button:hover:not(:disabled){background:var(--primary-teal-dark)!important;transform:translateY(-1px)}.conversation-loading{align-items:center;color:#666;display:flex;font-style:italic;justify-content:center;padding:20px}.markdown-content{line-height:1.6}.markdown-content p{margin:0 0 8px}.markdown-content p:last-child{margin-bottom:0}.markdown-content h1,.markdown-content h2,.markdown-content h3,.markdown-content h4,.markdown-content h5,.markdown-content h6{color:var(--primary-teal);font-weight:600;margin:12px 0 8px}.markdown-content h1:first-child,.markdown-content h2:first-child,.markdown-content h3:first-child,.markdown-content h4:first-child,.markdown-content h5:first-child,.markdown-content h6:first-child{margin-top:0}.markdown-content ol,.markdown-content ul{margin:8px 0;padding-left:20px}.markdown-content li{margin:4px 0}.markdown-content code{background:#0096881a;border-radius:4px;color:var(--primary-teal-dark);font-family:Courier New,monospace;font-size:.9em;padding:2px 6px}.markdown-content pre{background:var(--background-grey);border-left:4px solid var(--primary-teal);border-radius:8px;margin:8px 0;overflow-x:auto;padding:12px}.markdown-content pre code{background:none;color:var(--text-primary);padding:0}.markdown-content blockquote{background:#0096880d;border-left:4px solid var(--primary-teal);color:var(--text-secondary);font-style:italic;margin:8px 0;padding:8px 16px}.markdown-content strong{color:var(--text-primary);font-weight:600}.markdown-content em{color:var(--text-secondary);font-style:italic}.markdown-content hr{background:var(--divider);border:none;height:2px;margin:16px 0}.markdown-content table{border-collapse:collapse;margin:8px 0;width:100%}.markdown-content td,.markdown-content th{border:1px solid var(--divider);padding:8px 12px;text-align:left}.markdown-content th{background:var(--background-grey);color:var(--primary-teal);font-weight:600}@media (max-width:768px){.chat-top-bar{align-items:stretch;flex-direction:column;gap:12px;padding:16px}.conversation-tabs{overflow-x:auto;padding:4px 0}.chat-controls{align-items:center;flex-direction:row;justify-content:space-between}.delete-conversation-button{opacity:1}.message{max-width:85%}.chat-title{font-size:1.125rem}.model-dropdown{min-width:120px}.chat-messages{min-height:calc(100vh - 300px);padding:16px}.chat-input-form{padding:16px}.input-container{flex-direction:column;gap:8px}.send-button{align-self:flex-end;padding:10px 20px}}.auth-container{align-items:center;background:var(--background-grey);display:flex;justify-content:center;min-height:100vh;padding:24px}.auth-card{background:var(--surface-white);border-radius:12px;box-shadow:var(--shadow-3);max-width:440px;overflow:hidden;padding:48px;position:relative;width:100%}.auth-card:before{background:linear-gradient(90deg,var(--primary-teal),var(--primary-teal-light));content:"";height:4px;left:0;position:absolute;right:0;top:0}.auth-card h2{color:var(--text-primary);font-size:24px;font-weight:500;margin-bottom:32px;text-align:center}.auth-form{gap:24px}.auth-form,.auth-form .form-group{display:flex;flex-direction:column}.auth-form .form-group label{color:var(--text-primary);font-size:14px;font-weight:500;margin-bottom:8px}.auth-form .form-group input{background-color:var(--surface-white);border:1px solid var(--divider);border-radius:4px;color:var(--text-primary);font-size:16px;outline:none;padding:16px 12px;transition:all .3s ease}.auth-form .form-group input:focus{border-color:var(--primary-teal);box-shadow:0 0 0 2px #00968833}.auth-form .form-group input:hover{border-color:var(--text-secondary)}.auth-form .form-group input:disabled{background-color:var(--background-grey);cursor:not-allowed;opacity:.6}.field-hint{color:var(--text-secondary);font-size:12px;line-height:1.4;margin-top:6px}.auth-button{background-color:var(--primary-teal);border:none;border-radius:4px;box-shadow:var(--shadow-1);color:var(--surface-white);cursor:pointer;font-size:14px;font-weight:500;letter-spacing:.75px;outline:none;padding:16px 24px;text-transform:uppercase;transition:all .3s ease}.auth-button:hover:not(:disabled){background-color:var(--primary-teal-dark);box-shadow:var(--shadow-2)}.auth-button:disabled{background-color:var(--text-disabled);box-shadow:none;cursor:not-allowed}.auth-links{border-top:1px solid var(--divider);margin-top:32px;padding-top:24px;text-align:center}.auth-links p{color:var(--text-secondary);font-size:14px;margin:0}.link-button{background:none;border:none;color:var(--primary-teal);cursor:pointer;font-size:inherit;font-weight:500;padding:4px 0;position:relative;text-decoration:none;transition:color .3s ease}.link-button:hover{color:var(--primary-teal-dark)}.link-button:after{background-color:var(--primary-teal);bottom:0;content:"";height:2px;left:0;position:absolute;transition:width .3s ease;width:0}.link-button:hover:after{width:100%}@media (max-width:480px){.auth-container{padding:16px}.auth-card{padding:32px 24px}.auth-card h2{font-size:20px;margin-bottom:24px}.auth-form{gap:20px}}.App{background-color:var(--background-grey);display:flex;flex-direction:column;min-height:100vh}.header .container{align-items:center;display:flex;justify-content:space-between;padding:16px 24px}.header-right{gap:16px}.header-right,.navigation{align-items:center;display:flex}.navigation{gap:8px}.nav-link{border-radius:4px;color:var(--surface-white);font-size:14px;font-weight:500;letter-spacing:.5px;padding:12px 16px;text-decoration:none;text-transform:uppercase;transition:all .3s ease}.nav-link:hover{background-color:#ffffff1a}.nav-link.active{background-color:#ffffff26}.main-content{flex:1 1}.main-content>.container{padding:24px}.dashboard-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:32px}.stat-card{background:var(--surface-white);border-radius:16px;box-shadow:var(--shadow-1);padding:32px 24px;text-align:center;transition:all .3s ease}.stat-card:hover{box-shadow:var(--shadow-3);transform:translateY(-4px)}.stat-card h3{color:var(--text-secondary);font-size:14px;font-weight:500;letter-spacing:1px;margin:0 0 16px;text-transform:uppercase}.stat-card .stat-number{color:var(--primary-teal);font-size:3rem;font-weight:300;line-height:1;margin:0}.quick-actions{display:flex;flex-wrap:wrap;gap:16px;margin-top:24px}.action-button{flex:1 1;min-width:200px}.logout-nav-button{background:#ffffff1a;border:1px solid #fff3;border-radius:4px;color:var(--surface-white);cursor:pointer;font-family:inherit;font-size:14px;font-weight:500;letter-spacing:.5px;padding:8px 16px;text-transform:uppercase;transition:all .3s ease}.logout-nav-button:hover{background:#fff3;border-color:#fff6}.logout-button{background-color:var(--error);border:none;border-radius:4px;box-shadow:var(--shadow-1);color:var(--surface-white);cursor:pointer;font-size:14px;font-weight:500;letter-spacing:.75px;padding:12px 24px;text-transform:uppercase;transition:all .3s ease}.logout-button:hover{background-color:#d32f2f;box-shadow:var(--shadow-2)}.campaign-container{width:100%}.campaign-list{margin-bottom:24px}.campaign-form-modal{background:var(--surface-white);border-radius:12px;box-shadow:var(--shadow-3);max-height:90vh;max-width:540px;overflow-y:auto;padding:32px;width:90%}.campaign-form-modal h2{color:var(--text-primary);font-size:24px;font-weight:500;margin:0 0 24px;text-align:center}.campaign-selector{align-items:center;display:flex;gap:12px}.campaign-selector-label{color:var(--surface-white);font-size:14px;font-weight:500;letter-spacing:.5px;text-transform:uppercase;white-space:nowrap}.campaign-selector-dropdown{background:var(--surface-white);border:1px solid #fff3;border-radius:4px;box-shadow:var(--shadow-1);color:var(--text-primary);cursor:pointer;font-size:14px;min-width:200px;padding:8px 16px;transition:all .3s ease}.campaign-selector-dropdown:focus{border-color:var(--primary-teal);box-shadow:0 0 0 2px #ffffff4d;outline:none}.campaign-selector-empty,.campaign-selector-loading{color:var(--text-disabled);font-size:14px;font-style:italic;padding:8px 16px}.lore-container{margin:0 auto;max-width:1200px;padding:24px}.lore-list{width:100%}.lore-filters{background-color:var(--surface-white);border-radius:8px;box-shadow:var(--shadow-1);margin-bottom:24px;padding:20px}.lore-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));margin-top:24px}.lore-card{background:var(--surface-white);border-radius:16px;box-shadow:var(--shadow-1);display:flex;flex-direction:column;min-height:200px;padding:24px;position:relative;transition:all .4s ease}.lore-card:hover{box-shadow:var(--shadow-3);transform:translateY(-6px)}.lore-card-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;margin-bottom:16px}.lore-card-header h3{color:var(--text-primary);flex:1 1;font-size:18px;font-weight:500;margin:0}.lore-type{border-radius:20px;box-shadow:var(--shadow-1);font-size:12px;font-weight:600;letter-spacing:.5px;padding:8px 16px;text-transform:uppercase;white-space:nowrap}.lore-type-0{background:linear-gradient(135deg,#e3f2fd,#bbdefb);border:1px solid #90caf9;color:#1565c0}.lore-type-1{background:linear-gradient(135deg,#f3e5f5,#e1bee7);border:1px solid #ce93d8;color:#7b1fa2}.lore-type-2{background:linear-gradient(135deg,#e8f5e8,#c8e6c9);border:1px solid #a5d6a7;color:#2e7d32}.lore-type-3{background:linear-gradient(135deg,#fff3e0,#ffcc02);border:1px solid #ffb74d;color:#ef6c00}.lore-type-4{background:linear-gradient(135deg,#ffebee,#ffcdd2);border:1px solid #ef9a9a;color:#c62828}.lore-type-5{background:linear-gradient(135deg,#e0f2f1,#b2dfdb);border:1px solid #80cbc4;color:var(--primary-teal-dark)}.lore-type-6{background:linear-gradient(135deg,#f0f4c3,#e6ee9c);border:1px solid #dce775;color:#827717}.lore-description{color:var(--text-secondary);flex:1 1;font-size:14px;line-height:1.6;margin:0 0 20px;word-break:break-all}.lore-form-overlay{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background-color:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.lore-form-modal{background:var(--surface-white);border-radius:12px;box-shadow:var(--shadow-3);margin:20px;max-height:90vh;max-width:540px;overflow-y:auto;padding:32px;width:100%}.lore-form-modal h2{color:var(--text-primary);font-size:24px;font-weight:500;margin:0 0 24px}.sessions-container{width:100%}.session-list{margin-bottom:24px}.generic-list{width:100%}.import-container{margin:0 auto;max-width:1200px;padding:24px}.import-job-card{background:var(--surface-white);border-left:4px solid var(--primary-teal);border-radius:12px;box-shadow:var(--shadow-1);padding:20px;transition:all .3s ease}.import-job-card:hover{box-shadow:var(--shadow-2);transform:translateY(-2px)}.import-job-card h3{color:var(--text-primary);font-weight:500}.import-job-status{border-radius:12px;display:inline-block;font-size:12px;font-weight:500;padding:4px 8px}.import-job-status.in-progress{background-color:#fff3cd;border:1px solid #ffeaa7;color:#856404}.import-job-status.in-review{background-color:#d1ecf1;border:1px solid #bee5eb;color:#0c5460}.import-job-status.imported{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.import-job-status.failed{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.lore-detail-page{background:var(--surface-white);border-radius:5px;box-shadow:var(--shadow-1);min-height:calc(90vh - 80px);padding:0}.lore-breadcrumb{background:var(--background-grey);padding:16px 24px}.breadcrumb-link{background:none;border:none;color:var(--primary-teal);cursor:pointer;font-size:14px;font-weight:500;padding:8px 0;text-decoration:none;transition:color .3s ease}.breadcrumb-link:hover{color:var(--primary-teal-dark);text-decoration:underline}.lore-detail-container{margin:0 auto;max-width:1200px;padding:24px}.lore-main-content{flex:1 1;max-width:calc(100% - 320px);min-width:0}.lore-main-content-full{max-width:100%}.lore-article-header{border-bottom:3px solid var(--divider);margin-bottom:32px;padding-bottom:16px}.lore-title{color:var(--text-primary)}.lore-title,.lore-title-edit{font-size:2.5rem;font-weight:400;line-height:1.2;margin:0 0 16px}.lore-title-edit{background:var(--surface-white);border:2px solid var(--primary-teal);border-radius:4px;padding:8px 12px;width:100%}.lore-subtitle{align-items:center;display:flex;gap:16px;margin-bottom:8px;margin-top:.5rem}.lore-type-badge{border:1px solid;border-radius:16px;display:inline-block;font-size:12px;padding:6px 12px}.lore-type-badge,.lore-type-edit{font-weight:600;letter-spacing:.5px;text-transform:uppercase}.lore-type-edit{background:var(--surface-white);border:2px solid var(--primary-teal);border-radius:6px;color:var(--text-primary);cursor:pointer;font-size:14px;outline:none;padding:8px 16px;transition:all .3s ease}.lore-type-edit:focus{box-shadow:0 0 0 2px #00968833}.lore-article-content{color:var(--text-primary);font-size:16px;line-height:1.7;margin-bottom:32px}.lore-paragraph{margin:0 0 16px;text-align:justify;text-indent:0}.lore-description-edit{background:var(--surface-white);border:2px solid var(--primary-teal);border-radius:4px;font-family:inherit;font-size:16px;line-height:1.7;min-height:300px;padding:16px;resize:vertical;width:100%}.lore-edit-actions{border-top:1px solid var(--divider);display:flex;gap:12px;margin-top:24px;padding-top:24px}.lore-properties-sidebar{flex-shrink:0;width:280px}.properties-box{background:var(--background-grey);border:1px solid var(--divider);border-radius:8px;overflow:hidden;position:-webkit-sticky;position:sticky;top:100px}.properties-header{align-items:center;background:var(--surface-white);border-bottom:1px solid var(--divider);cursor:pointer;display:flex;justify-content:space-between;padding:16px;transition:background-color .3s ease;-webkit-user-select:none;user-select:none}.properties-header:hover{background:#f8f9fa}.properties-header h3{color:var(--text-primary);font-size:16px;font-weight:600;margin:0}.properties-toggle{color:var(--text-secondary);font-size:12px;transition:transform .3s ease}.properties-toggle.expanded{transform:rotate(180deg)}.properties-content{background:var(--surface-white);padding:16px}.property-row{gap:8px;margin-bottom:12px}.property-value{font-size:14px}.property-edit-controls{gap:8px}.property-edit-input{font-size:13px;padding:6px 8px}.property-remove-btn{font-size:10px;height:24px;width:24px}.add-property-section{border-top:1px solid var(--divider);margin-top:20px;padding-top:16px}.add-property-section h4{color:var(--text-secondary);font-size:13px;letter-spacing:.5px;margin:0 0 12px;text-transform:uppercase}.add-property-form{flex-direction:column;gap:8px}.property-key-input,.property-value-input{font-size:13px;padding:8px}.button-small{font-size:12px;min-height:32px;padding:8px 16px}.lore-properties-section{border-top:2px solid var(--divider);margin-top:48px;padding-top:32px}.description-section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px;transition:color .3s ease;-webkit-user-select:none;user-select:none}.description-section-header h2{color:var(--text-primary);font-size:1.75rem;font-weight:400;margin:0}.properties-section-header{align-items:center;cursor:pointer;display:flex;justify-content:space-between;margin-bottom:24px;transition:color .3s ease;-webkit-user-select:none;user-select:none}.properties-section-header:hover{color:var(--primary-teal)}.properties-section-header h2{color:var(--text-primary);font-size:1.75rem;font-weight:400;margin:0}.properties-section-content{grid-gap:16px 32px;display:grid;gap:16px 32px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:32px}.property-row{align-items:flex-start;border-bottom:1px solid #e0e0e080;display:flex;gap:16px;padding:12px 0}.property-label{color:var(--text-secondary);flex-shrink:0;font-size:14px;font-weight:600;letter-spacing:.5px;max-width:-webkit-min-content;max-width:min-content;min-width:120px;text-transform:uppercase}.property-value{color:var(--text-primary);flex:1 1;font-size:15px;line-height:1.5;word-break:break-word}.property-edit-controls{align-items:center;display:flex;flex:1 1;gap:12px}.property-edit-input{border:1px solid var(--divider);border-radius:4px;flex:1 1;font-size:14px;padding:8px 12px}.property-remove-btn{align-items:center;background:var(--error);border:none;border-radius:50%;color:var(--surface-white);cursor:pointer;display:flex;font-size:12px;height:28px;justify-content:center;transition:all .3s ease;width:28px}.property-remove-btn:hover{background:#d32f2f;transform:scale(1.1)}.add-property-section{background:var(--background-grey);border:1px solid var(--divider);border-radius:8px;grid-column:1/-1;margin-top:24px;padding:24px}.add-property-section h4{color:var(--text-primary);font-size:16px;font-weight:600;margin:0 0 16px}.add-property-form{display:flex;gap:12px}.property-key-input,.property-value-input{border:1px solid var(--divider);border-radius:4px;flex:1 1;font-size:14px;padding:10px 12px}.button-small{font-size:13px;min-height:40px;padding:10px 20px;white-space:nowrap}.properties-info-icon{align-items:center;display:inline-flex;justify-content:center;position:relative;transition:all .3s ease}.properties-info-icon:hover{color:var(--primary-teal)!important}.properties-tooltip{animation:tooltipFadeIn .3s ease forwards;background:var(--text-primary);border-radius:8px;box-shadow:var(--shadow-3);color:var(--surface-white);left:30px;opacity:0;padding:16px;position:absolute;top:-10px;transform:translateY(-5px);transition:all .3s ease;visibility:hidden;width:320px;z-index:1000}@keyframes tooltipFadeIn{0%{opacity:0;transform:translateY(-5px);visibility:hidden}to{opacity:1;transform:translateY(0);visibility:visible}}.properties-tooltip-content{font-size:14px;line-height:1.5;text-align:left}.properties-tooltip-content strong{color:var(--primary-teal);font-weight:600}.properties-tooltip-arrow{border-bottom:8px solid #0000;border-right:8px solid var(--text-primary);border-top:8px solid #0000;height:0;left:-8px;position:absolute;top:15px;width:0}@media (max-width:768px){.properties-tooltip{left:-140px;top:35px;width:280px}.properties-tooltip-arrow{border-bottom:8px solid var(--text-primary);border-left:8px solid #0000;border-right:8px solid #0000;border-top:none;left:50%;top:-8px;transform:translateX(-50%)}}.lore-history-section{border-top:2px solid var(--divider);margin-top:48px;padding-top:32px}.history-section-header{align-items:center;cursor:pointer;display:flex;justify-content:space-between;margin-bottom:24px;transition:color .3s ease;-webkit-user-select:none;user-select:none}.history-section-header:hover{color:var(--primary-teal)}.history-section-header h2{color:var(--text-primary);font-size:1.75rem;font-weight:400;margin:0}.history-toggle{color:var(--text-secondary);font-size:18px;transition:transform .3s ease}.history-toggle.expanded{transform:rotate(180deg)}.history-section-content{margin-bottom:32px}.history-row{background:#0096880d;border-left:4px solid var(--primary-teal);border-radius:0 8px 8px 0;margin-bottom:24px;padding:20px;position:relative}.history-entry-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.history-session-badge{background:var(--primary-teal);border-radius:16px;color:var(--surface-white);display:inline-block;font-size:12px;font-weight:600;letter-spacing:.5px;padding:4px 12px;text-transform:uppercase}.history-details{color:var(--text-primary);font-size:15px;line-height:1.6;white-space:pre-wrap}.history-edit-controls{display:flex;flex-direction:column;gap:12px}.history-session-input{display:flex;flex-direction:column;gap:4px}.history-session-input label{color:var(--text-secondary);font-size:13px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.history-session-number-input{border:1px solid var(--divider);border-radius:4px;font-size:14px;padding:8px 12px;width:120px}.history-details-input{display:flex;flex-direction:column;gap:4px}.history-details-input label{color:var(--text-secondary);font-size:13px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.history-details-edit{border:1px solid var(--divider);border-radius:4px;font-family:inherit;font-size:14px;line-height:1.5;min-height:80px;padding:12px;resize:vertical;width:100%}.add-history-section{background:#00968805;border:2px dashed #00968833;border-radius:8px;margin-top:32px;padding:24px}.add-history-section h4{color:var(--text-primary);font-size:16px;font-weight:600;margin:0 0 16px}.add-history-form{display:flex;flex-direction:column;gap:16px}.history-form-row{display:flex;flex-direction:column;gap:8px}.history-session-input{border:2px solid var(--divider);border-radius:6px;font-size:14px;max-width:200px;padding:10px 12px;transition:border-color .3s ease;width:100%}.history-session-input:focus{border-color:var(--primary-teal);box-shadow:0 0 0 2px #0096881a;outline:none}.history-details-input{border:2px solid var(--divider);border-radius:6px;font-family:inherit;font-size:14px;line-height:1.5;min-height:100px;padding:12px;resize:vertical;transition:border-color .3s ease;width:100%}.history-details-input:focus{border-color:var(--primary-teal);box-shadow:0 0 0 2px #0096881a;outline:none}.history-info-icon{align-items:center;display:flex;justify-content:center;transition:all .3s ease}.history-info-icon:hover{color:var(--primary-teal)!important}.history-tooltip{animation:tooltipFadeIn .3s ease forwards;background:var(--text-primary);border-radius:8px;box-shadow:var(--shadow-3);color:var(--surface-white);left:30px;opacity:0;padding:16px;position:absolute;top:-10px;transform:translateY(-5px);transition:all .3s ease;visibility:hidden;width:320px;z-index:1000}.history-tooltip-content{font-size:14px;line-height:1.5;text-align:left}.history-tooltip-content strong{color:var(--primary-teal);font-weight:600}.history-tooltip-arrow{border-bottom:8px solid #0000;border-right:8px solid var(--text-primary);border-top:8px solid #0000;height:0;left:-8px;position:absolute;top:15px;width:0}@media (max-width:1024px){.lore-detail-container{flex-direction:column;gap:24px}.lore-main-content{max-width:100%}.properties-section-content{grid-template-columns:1fr}.add-property-form{align-items:stretch;flex-direction:column}.history-tooltip{left:-140px;top:35px;width:280px}.history-tooltip-arrow{border-bottom:8px solid var(--text-primary);border-left:8px solid #0000;border-right:8px solid #0000;border-top:none;left:50%;top:-8px;transform:translateX(-50%)}}
/*# sourceMappingURL=main.87450f9b.css.map*/