@import "https://fonts.googleapis.com/css2?family=Cinzel:wght@400;600&family=Crimson+Text:wght@400;600&display=swap";:root{--color-gold-light:#f4e4bc;--color-gold-primary:#d4af37;--color-gold-dark:#8b6914;--color-gold-darker:#6a5515;--color-beige-light:#c4b998;--color-beige-medium:#9a8c6a;--color-beige-dark:#6a5d3a;--color-bg-black:#0a0a0a;--color-bg-blue-black:#1a1a2e;--color-bg-brown-black:#1a1611;--color-bg-brown-darker:#0f0d0a;--color-bg-brown-dark:#2a2416;--color-bg-brown-medium:#3a3322;--color-bg-brown-lighter:#221f18;--color-danger-darkest:#440808;--color-danger-dark:#611;--color-danger-medium:#a33;--color-danger-light:#f66;--color-danger-primary:#dc2626;--color-danger-hover:#b91c1c;--primary-color:var(--color-gold-primary);--primary-hover:var(--color-gold-light);--secondary-color:var(--color-gold-dark);--secondary-hover:var(--color-bg-brown-medium);--danger-color:var(--color-danger-primary);--danger-hover:var(--color-danger-hover);--success-color:#059669;--warning-color:#d97706;--bg-primary:var(--color-bg-black);--bg-secondary:var(--color-bg-brown-black);--bg-input:var(--color-bg-brown-black);--bg-tertiary:var(--color-bg-blue-black);--bg-card:var(--color-bg-brown-black);--bg-card-gradient-start:var(--color-bg-brown-black);--bg-card-gradient-end:var(--color-bg-brown-darker);--text-primary:var(--color-gold-primary);--text-secondary:var(--color-beige-light);--text-normal:var(--color-beige-light);--text-light:var(--color-beige-medium);--text-muted:var(--color-beige-dark);--border-color:var(--color-gold-dark);--border-color-dark:var(--color-bg-brown-medium);--border-color-light:var(--color-gold-primary);--border-radius:.5rem;--border-radius-sm:.25rem;--border-radius-lg:.625rem;--border-width:1px;--border-width-thick:2px;--border-width-thicker:3px;--box-shadow:0 1px 3px 0 #0000001a, 0 1px 2px 0 #0000000f;--box-shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -2px #0000000d;--font-family:"Crimson Text", serif;--font-family-heading:"Cinzel", serif;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-md:1.05rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--spacing-xs:.25rem;--spacing-sm:.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);font-size:var(--font-size-base);color:var(--text-primary);background-color:var(--bg-secondary);line-height:1.5}body:before{content:"";background:radial-gradient(ellipse at top, var(--bg-tertiary) 0%, var(--bg-primary) 100%), url("data:image/svg+xml,%3csvg%20width='120'%20height='120'%20xmlns='http://www.w3.org/2000/svg'%3e%3cdefs%3e%3cpattern%20id='bg-pattern'%20x='0'%20y='0'%20width='120'%20height='120'%20patternUnits='userSpaceOnUse'%3e%3c!--%20Subtle%20cross%20pattern%20--%3e%3cg%20opacity='0.03'%3e%3cline%20x1='60'%20y1='0'%20x2='60'%20y2='120'%20stroke='%238b6914'%20stroke-width='0.5'/%3e%3cline%20x1='0'%20y1='60'%20x2='120'%20y2='60'%20stroke='%238b6914'%20stroke-width='0.5'/%3e%3ccircle%20cx='60'%20cy='60'%20r='3'%20fill='%23d4af37'/%3e%3ccircle%20cx='60'%20cy='60'%20r='20'%20fill='none'%20stroke='%238b6914'%20stroke-width='0.5'/%3e%3c/g%3e%3c/pattern%3e%3c/defs%3e%3crect%20width='120'%20height='120'%20fill='url(%23bg-pattern)'/%3e%3c/svg%3e");z-index:-2;background-size:auto,120px 120px;position:fixed;inset:0}.stone-texture{opacity:.1;z-index:-1;background:repeating-linear-gradient(90deg,#0000,#0000 2px,#d4af3708 2px 4px);position:fixed;inset:0}.page-wrapper{min-height:100vh}.container{max-width:1200px;padding:var(--spacing-md);min-height:100vh;margin:0 auto}.main{position:relative}.header-full-width{width:100%;padding:var(--spacing-lg) 0;margin-bottom:var(--spacing-2xl);border-bottom:var(--border-width-thicker) solid var(--border-color);background:linear-gradient(#000000e6 0%,#000000b3 100%);box-shadow:0 4px 20px #000c}.header-content{max-width:1200px;padding:0 var(--spacing-md);margin:0 auto}.header-with-actions{justify-content:space-between;align-items:center;display:flex}.header-actions-container{align-items:center;gap:var(--spacing-md);flex-wrap:wrap;display:flex}.header-separator{background:linear-gradient(180deg, transparent 0%, var(--border-color) 50%, transparent 100%);width:2px;height:32px;margin:0 var(--spacing-xs)}.header{margin-bottom:var(--spacing-2xl);padding:var(--spacing-lg) 0;border-bottom:var(--border-width-thicker) solid var(--border-color);background:linear-gradient(#000000e6 0%,#000000b3 100%);justify-content:space-between;align-items:center;display:flex;box-shadow:0 4px 20px #000c}.header:after{content:"";bottom:calc(-1 * var(--border-width-thicker));height:var(--border-width);background:linear-gradient(90deg, transparent, var(--primary-color), transparent);animation:3s infinite shimmer;position:absolute;left:0;right:0}.header h1,.header-content h1{font-family:var(--font-family-heading);font-size:var(--font-size-3xl);text-shadow:2px 2px 4px #000,0 0 20px #d4af3780;letter-spacing:3px;margin-bottom:var(--spacing-sm);background:linear-gradient(180deg, var(--color-gold-light) 0%, var(--primary-color) 50%, var(--secondary-color) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-weight:600;position:relative}.description{color:var(--text-secondary);margin-bottom:var(--spacing-md);line-height:1.6}.author{font-size:var(--font-size-sm);color:var(--text-light);font-style:italic}.btn.btn-action{white-space:nowrap;padding:var(--spacing-md) var(--spacing-xl);font-size:var(--font-size-md);letter-spacing:.5px;min-width:8.125rem;font-weight:600}.form-label{font-family:var(--font-family-heading);color:var(--primary-color);font-size:var(--font-size-lg);margin-bottom:var(--spacing-sm);text-transform:uppercase;letter-spacing:1px;display:block}.form-input,.form-textarea,.form-select{background:var(--bg-secondary);border:var(--border-width-thick) solid var(--border-color-dark);width:100%;color:var(--text-secondary);padding:var(--spacing-sm);font-family:var(--font-family);font-size:var(--font-size-base);border-radius:var(--border-radius);transition:all .3s}.form-input:focus,.form-textarea:focus{border-color:var(--border-color);outline:none;box-shadow:0 0 10px #d4af3733}.form-textarea{resize:vertical;line-height:1.6}.textarea-char-count{color:var(--text-muted);pointer-events:none;font-size:.75rem}.form-overlay{z-index:1000;padding:var(--spacing-md);background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.editor-form{background:var(--bg-primary);border-radius:var(--border-radius);padding:var(--spacing-lg);max-width:600px;max-height:80vh;box-shadow:var(--box-shadow-lg);width:100%;overflow-y:auto}.editor-form h4{margin-bottom:var(--spacing-lg);color:var(--text-primary);border-bottom:1px solid var(--border-color);padding-bottom:var(--spacing-sm)}.login-form{flex-direction:column;display:flex}.login-form .form-group{margin-bottom:var(--spacing-lg)}.login-form label{color:var(--text-primary);font-size:var(--font-size-sm);margin-bottom:var(--spacing-xs);text-transform:uppercase;letter-spacing:.5px;font-weight:600;display:block}.login-form .form-input{width:100%;padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-secondary);border:var(--border-width) solid var(--border-color-dark);border-radius:var(--border-radius);color:var(--text-secondary);font-family:var(--font-family);font-size:var(--font-size-base);transition:all .3s}.login-form .form-input:focus{border-color:var(--border-color);outline:none;box-shadow:0 0 15px #d4af374d}.login-form .form-input:disabled{opacity:.6;cursor:not-allowed}.alert{padding:var(--spacing-md);border-radius:var(--border-radius);margin-bottom:var(--spacing-md);font-size:var(--font-size-sm)}.alert-error{border:var(--border-width) solid var(--color-danger-dark);color:var(--color-danger-light);background:#dc262626}.alert-success{border:var(--border-width) solid var(--success-color);color:#6ee7b7;background:#05966926}.alert-warning{border:var(--border-width) solid var(--warning-color);color:#fbbf24;background:#d9770626}.user-widget{align-items:center;gap:var(--spacing-sm);color:var(--text-secondary);font-size:var(--font-size-base);display:flex}.btn.btn-login{padding:var(--spacing-md) var(--spacing-xl);font-size:var(--font-size-base);border-width:var(--border-width-thick);font-weight:600;box-shadow:0 2px 8px #d4af374d}.btn.btn-login:hover:not(:disabled){box-shadow:0 4px 12px #d4af3766}.btn.user-settings-btn{letter-spacing:1px}.user-settings-btn{position:relative}.notification-dot{background:var(--color-danger-primary);border:2px solid var(--color-bg-brown-dark);border-radius:50%;width:10px;height:10px;animation:2s ease-in-out infinite pulse-dot;position:absolute;top:-2px;right:-2px}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.2)}}.markdown-content h1{font-size:var(--font-size-2xl);margin-bottom:var(--spacing-md);color:var(--primary-color);border-bottom:2px solid var(--border-color);padding-bottom:var(--spacing-sm)}.markdown-content h2{font-size:var(--font-size-xl);margin-bottom:var(--spacing-sm);margin-top:var(--spacing-lg);color:var(--text-primary)}.markdown-content h3{font-size:var(--font-size-lg);margin-bottom:var(--spacing-sm);margin-top:var(--spacing-md);color:var(--text-primary)}.markdown-content p{margin-bottom:var(--spacing-md);line-height:1.6}.markdown-content strong{color:var(--text-primary);font-weight:600}.markdown-content em{color:var(--text-secondary);font-style:italic}.markdown-content blockquote{margin:var(--spacing-md) 0;padding:var(--spacing-md) var(--spacing-lg);border-left:var(--border-width-thicker) solid var(--border-color);color:var(--text-secondary);background:linear-gradient(90deg,#d4af370d 0%,#0000 100%);font-style:italic;position:relative}.markdown-content blockquote:before{content:"\"";left:var(--spacing-xs);font-size:var(--font-size-3xl);color:var(--border-color);opacity:.3;font-family:var(--font-family-heading);line-height:1;position:absolute;top:0}.markdown-content blockquote p{margin:0}.markdown-content blockquote p:not(:last-child){margin-bottom:var(--spacing-sm)}.markdown-content ul,.markdown-content ol,ul,ol{margin:var(--spacing-md) 0;padding-left:var(--spacing-xl);color:var(--text-secondary);line-height:1.8}.markdown-content li,li{margin-bottom:var(--spacing-sm);padding-left:var(--spacing-xs)}.markdown-content ul ul,.markdown-content ol ol,.markdown-content ul ol,.markdown-content ol ul,ul ul,ol ol,ul ol,ol ul{margin:var(--spacing-xs) 0}.image-card{background:var(--bg-primary);border-radius:var(--border-radius);box-shadow:var(--box-shadow);margin-bottom:var(--spacing-md);overflow:hidden}.image-card h4{margin-bottom:var(--spacing-sm);color:var(--text-primary)}.image-container{margin-top:var(--spacing-sm);text-align:center;background:var(--bg-secondary);padding:var(--spacing-sm);border-radius:var(--border-radius)}.image-container img{transition:transform .2s}.image-container img:hover{transform:scale(1.02)}.image-preview{text-align:center;margin-top:var(--spacing-sm)}.image-preview img{border:1px solid var(--border-color);border-radius:var(--border-radius)}.loading{padding:var(--spacing-2xl);color:var(--text-secondary);justify-content:center;align-items:center;display:flex}.error{padding:var(--spacing-lg);border:1px solid var(--danger-color);border-radius:var(--border-radius);color:var(--danger-color);margin-bottom:var(--spacing-lg);background:#dc26261a}.auth-link-section{text-align:center;margin:var(--spacing-md) 0}.auth-link-text{color:var(--text-secondary)}.auth-link-button{color:var(--color-primary);font:inherit;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline;transition:color .2s}.auth-link-button:hover:not(:disabled){color:var(--primary-hover)}.auth-link-button:disabled{opacity:.5;cursor:not-allowed}.user-settings-modal{flex-direction:column;max-width:600px;max-height:90vh;display:flex}.user-settings-modal .modal-body{flex:1;min-height:0;overflow-y:auto}.user-info-section{margin-bottom:var(--spacing-xl)}.user-info-section h3{font-family:var(--font-family-heading);font-size:var(--font-size-lg);color:var(--primary-color);margin-bottom:var(--spacing-md);text-transform:uppercase;letter-spacing:1px}.user-info-grid{gap:var(--spacing-md);grid-template-columns:1fr;display:grid}.user-info-item{background:var(--bg-secondary);padding:var(--spacing-md);border-radius:var(--border-radius);border:var(--border-width) solid var(--border-color-dark)}.user-info-item label{font-size:var(--font-size-xs);color:var(--text-light);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--spacing-xs);display:block}.user-info-value{font-size:var(--font-size-lg);color:var(--primary-color);font-weight:600}.user-info-input{font-size:var(--font-size-lg);color:var(--primary-color);padding:var(--spacing-sm) var(--spacing-md);margin-top:var(--spacing-xs);background:#0000004d;font-weight:600}.user-info-input:focus{background:#00000080}.user-actions-section h3{font-family:var(--font-family-heading);font-size:var(--font-size-lg);color:var(--primary-color);margin-bottom:var(--spacing-md);text-transform:uppercase;letter-spacing:1px}.action-item{justify-content:space-between;align-items:center;gap:var(--spacing-md);padding:var(--spacing-lg);background:var(--bg-secondary);border-radius:var(--border-radius);border:var(--border-width) solid var(--border-color-dark);margin-bottom:var(--spacing-md);display:flex}.action-item.danger-zone{border-color:var(--color-danger-dark);background:linear-gradient(135deg, #4408084d 0%, var(--bg-secondary) 100%)}.action-item.confirm-delete{flex-direction:column;align-items:flex-start}.action-description{flex:1}.action-description strong{color:var(--text-primary);font-size:var(--font-size-md);margin-bottom:var(--spacing-xs);display:block}.action-description p{color:var(--text-light);font-size:var(--font-size-sm);margin:0}.confirm-actions{gap:var(--spacing-sm);width:100%;margin-top:var(--spacing-md);display:flex}.site-footer{margin-top:var(--spacing-2xl);padding:var(--spacing-xl) 0;border-top:var(--border-width) solid var(--border-color-dark);background:linear-gradient(#0000 0%,#00000080 100%)}.footer-content{max-width:1200px;padding:0 var(--spacing-md);text-align:center;margin:0 auto}.footer-links{justify-content:center;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);flex-wrap:wrap;display:flex}.footer-link{color:var(--text-light);font-size:var(--font-size-sm);font-family:var(--font-family);cursor:pointer;padding:var(--spacing-xs) var(--spacing-sm);background:0 0;border:none;transition:all .2s}.footer-link:hover{color:var(--primary-color);text-decoration:underline}.footer-separator{color:var(--text-muted);-webkit-user-select:none;user-select:none}.footer-copyright{color:var(--text-muted);font-size:var(--font-size-xs)}.contact-info{background:var(--bg-secondary);padding:var(--spacing-md);border-radius:var(--border-radius);border:var(--border-width) solid var(--border-color-dark);margin:var(--spacing-md) 0}.info-footnote{margin-top:var(--spacing-xl);padding-top:var(--spacing-md);border-top:var(--border-width) solid var(--border-color-dark);color:var(--text-muted);font-size:var(--font-size-xs)}.queue-header{padding-bottom:var(--spacing-md);border-bottom:var(--border-width) solid var(--border-color);justify-content:space-between;align-items:center;display:flex}.queue-header h2{font-family:var(--font-family-heading);font-size:var(--font-size-2xl);color:var(--primary-color);margin:0}.queue-list{gap:var(--spacing-md);flex-direction:column;display:flex}.queue-item{background:linear-gradient(135deg, var(--bg-card-gradient-start) 0%, var(--bg-card-gradient-end) 100%);border:var(--border-width-thick) solid var(--border-color);border-radius:var(--border-radius-lg);padding:var(--spacing-lg);transition:all .3s}.queue-item:hover{border-color:var(--border-color-light);box-shadow:0 4px 12px #d4af3733}.queue-item-header{justify-content:space-between;align-items:flex-start;gap:var(--spacing-md);display:flex}.queue-item-info{flex:1}.queue-item-title{font-family:var(--font-family-heading);font-size:var(--font-size-xl);color:var(--primary-color);margin:0 0 var(--spacing-sm) 0}.queue-item-meta{gap:var(--spacing-xs);color:var(--text-light);font-size:var(--font-size-sm);flex-wrap:wrap;display:flex}.meta-separator{color:var(--text-muted)}.queue-item-details{margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:var(--border-width) solid var(--border-color-dark)}.queue-item-description{color:var(--text-secondary);line-height:1.6}.queue-item-description h4{font-family:var(--font-family-heading);color:var(--primary-color);font-size:var(--font-size-md);margin-bottom:var(--spacing-sm)}.queue-item-actions{gap:var(--spacing-sm);margin-top:var(--spacing-md);display:flex}.empty-queue{text-align:center;padding:var(--spacing-2xl);color:var(--text-secondary)}.user-management-toolbar{align-items:center;gap:var(--spacing-md);display:flex}.user-search-input{flex:1;min-width:300px}.text-center{text-align:center}.text-right{text-align:right}.text-sm{font-size:var(--font-size-sm)}.mb-0{margin-bottom:0}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.hidden{display:none}.flex{display:flex}.flex-column{flex-direction:column}.flex-1{flex:1}.flex-between{justify-content:space-between}.flex-center{align-items:center}.flex-between-center{justify-content:space-between;align-items:center;display:flex}.flex-center-gap{align-items:center;gap:var(--spacing-xs);display:flex}.gap-xs{gap:var(--spacing-xs)}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}@media (width<=768px){.container{padding:var(--spacing-sm)}.header{gap:var(--spacing-lg);padding:var(--spacing-md) 0;flex-direction:column;align-items:stretch}.header-full-width{padding:var(--spacing-md) 0}.header-content h1,.header h1{font-size:var(--font-size-2xl)}.header-with-actions{gap:var(--spacing-md);flex-direction:column;align-items:stretch}.header-separator{display:none}.user-dropdown-container,.user-settings-btn,.btn-action{width:100%}.card-actions{flex-direction:column}.create-btn{bottom:var(--spacing-md);right:var(--spacing-md);left:var(--spacing-md);border-radius:var(--border-radius)}.form-overlay{padding:var(--spacing-sm)}.editor-form{max-height:90vh;padding:var(--spacing-md)}.form-row{gap:var(--spacing-sm);flex-direction:column}.form-actions{flex-direction:column}.card-actions{gap:var(--spacing-xs);flex-direction:column}.flex.gap-md{gap:var(--spacing-sm);flex-direction:column}.user-info-grid{grid-template-columns:1fr}.action-item{flex-direction:column;align-items:flex-start}.action-item .btn{width:100%}.confirm-actions{flex-direction:column}.confirm-actions .btn{width:100%}.footer-links{gap:var(--spacing-xs);flex-direction:column}.footer-separator{display:none}.user-management-toolbar{flex-direction:column;align-items:stretch}.user-search-input{min-width:unset;width:100%}.queue-header{align-items:stretch;gap:var(--spacing-md);flex-direction:column}}.markdown-renderer-wrapper{position:relative}.btn-expand-text{margin-top:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--color-gold-dark);color:var(--color-gold-primary);cursor:pointer;border-radius:var(--border-radius);font-size:.875rem;font-family:var(--font-primary);background:0 0;transition:all .2s;display:inline-block}.btn-expand-text:hover{background:var(--color-gold-dark);color:var(--bg-primary);border-color:var(--color-gold-primary)}.btn-expand-text:active{transform:translateY(1px)}.markdown-content{transition:max-height .3s}.markdown-content table{border-collapse:collapse;width:100%;margin:var(--spacing-md) 0;overflow-x:auto}.markdown-content table th,.markdown-content table td{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-gold-dark);text-align:left}.markdown-content table th{background:var(--color-bg-brown-medium);color:var(--color-gold-primary);font-weight:600;font-family:var(--font-heading)}.markdown-content table tbody{display:table-row-group}.markdown-content table tr{display:table-row}.markdown-content table tr:nth-child(2n){background:var(--color-bg-brown-darker)}.markdown-content table tr:hover{background:var(--color-bg-brown-lighter)}@media (width<=768px){.markdown-content table{font-size:.875rem}.markdown-content table th,.markdown-content table td{padding:var(--spacing-xs) var(--spacing-sm)}}.ai-settings-modal{flex-direction:column;max-width:650px;max-height:90vh;display:flex}.ai-settings-modal .modal-body{flex:1;min-height:0;overflow-y:auto}.ai-settings-info{border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius);padding:var(--spacing-md);margin-bottom:var(--spacing-xl);background:#d4af371a}.ai-settings-info .info-text{color:var(--text-light);font-size:var(--font-size-sm);margin:0;line-height:1.5}.advanced-options-section{margin-bottom:var(--spacing-lg);border-bottom:none;padding:0}.advanced-toggle{align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-md);border:var(--border-width) solid var(--border-color-dark);border-radius:var(--border-radius);color:var(--text-normal);font-size:var(--font-size-base);cursor:pointer;background:#0003;font-weight:500;transition:background-color .2s;display:flex}.advanced-toggle:hover{background:#0000004d}.advanced-toggle .toggle-icon{font-size:var(--font-size-sm);color:var(--text-muted)}.advanced-toggle .custom-badge{font-size:var(--font-size-xs);background:var(--color-gold-dark);color:var(--text-on-primary);border-radius:var(--border-radius-sm);margin-left:auto;padding:2px 8px}.advanced-content{margin-top:var(--spacing-md);padding:var(--spacing-lg);border:var(--border-width) solid var(--border-color-dark);border-radius:var(--border-radius);background:#00000026}.auto-settings-note{border:var(--border-width) solid #d4af3733;border-radius:var(--border-radius);padding:var(--spacing-md);margin-bottom:var(--spacing-lg);background:#d4af3714}.auto-settings-note p{color:var(--text-light);font-size:var(--font-size-sm);margin:0;line-height:1.5}.checkbox-label{align-items:center;gap:var(--spacing-sm);cursor:pointer;display:flex!important}.checkbox-label input[type=checkbox]{width:auto;margin:0}.ai-attribution{justify-content:flex-end;align-items:center;gap:var(--spacing-xs);margin-top:var(--spacing-md);padding-top:var(--spacing-sm);border-top:1px solid var(--border-color-dark);font-size:var(--font-size-xs);color:var(--text-muted);display:flex}.ai-attribution .model-name{color:var(--text-light);font-weight:500}.settings-section{margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-lg);border-bottom:var(--border-width) solid var(--border-color-dark)}.settings-section:last-of-type{border-bottom:none}.settings-section h3{color:var(--text-normal);font-size:var(--font-size-lg);margin-bottom:var(--spacing-md);font-weight:600}.form-group label{color:var(--text-normal);font-size:var(--font-size-sm);margin-bottom:var(--spacing-xs);font-weight:500;display:block}.form-input{width:100%;padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-input);border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius);color:var(--text-normal);font-size:var(--font-size-base);font-family:var(--font-family);transition:all .2s}.form-input:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 2px #d4af371a}.form-input:disabled{opacity:.6;cursor:not-allowed}.form-input-error{border-color:#dc3545}.form-input-error:focus{border-color:#dc3545;box-shadow:0 0 0 2px #dc35451a}.form-error{color:#dc3545;font-size:var(--font-size-sm);margin-top:var(--spacing-xs);display:block}.form-hint{color:var(--text-dim);font-size:var(--font-size-sm);margin-top:var(--spacing-xs);display:block}select.form-input{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='%23d4af37' d='M4 6l4 4 4-4z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--spacing-sm) center;padding-right:calc(var(--spacing-md) + 24px);cursor:pointer;background-size:16px}select.form-input:disabled{cursor:not-allowed;opacity:.6}select.form-input option{background:var(--bg-secondary);color:var(--text-secondary);padding:var(--spacing-sm)}select.form-input option:hover,select.form-input option:focus,select.form-input option:checked{background:var(--color-bg-brown-medium);color:var(--text-primary)}.form-help{color:var(--text-muted);font-size:var(--font-size-xs);margin-top:var(--spacing-xs);margin-bottom:0;line-height:1.4}.form-help a{color:var(--primary-color);font-weight:500;text-decoration:none;transition:all .2s}.form-help a:hover{color:var(--primary-hover);text-decoration:underline}.form-range{background:var(--bg-input);border-radius:var(--border-radius);-webkit-appearance:none;width:100%;height:6px;margin:var(--spacing-sm) 0;outline:none}.form-range::-webkit-slider-thumb{appearance:none;background:var(--primary-color);cursor:pointer;border-radius:50%;width:18px;height:18px;transition:all .2s}.form-range::-webkit-slider-thumb:hover{background:var(--primary-hover);transform:scale(1.1)}.form-range::-moz-range-thumb{background:var(--primary-color);cursor:pointer;border:none;border-radius:50%;width:18px;height:18px;transition:all .2s}.form-range::-moz-range-thumb:hover{background:var(--primary-hover);transform:scale(1.1)}.loading-state{padding:var(--spacing-xl);text-align:center;color:var(--text-muted)}.ai-assistant-panel{border:var(--border-width-thick) solid #8a2be24d;border-radius:var(--border-radius-lg);margin:var(--spacing-lg) 0;background:linear-gradient(135deg,#8a2be21a 0%,#4b00821a 100%);transition:all .3s;overflow:hidden}.ai-assistant-panel.ai-assistant-disabled{border-color:var(--border-color);background:#8080801a}.ai-panel-header{padding:var(--spacing-md) var(--spacing-lg);cursor:pointer;background:#8a2be226;justify-content:space-between;align-items:center;transition:background .2s;display:flex}.ai-panel-header:hover{background:#8a2be233}.ai-panel-header h4{color:var(--text-normal);font-size:var(--font-size-lg);margin:0;font-weight:600}.ai-panel-toggle{color:var(--text-light);font-size:var(--font-size-lg);cursor:pointer;background:0 0;border:none;padding:0;transition:transform .3s}.ai-panel-body{padding:var(--spacing-lg)}.ai-settings-prompt{color:var(--text-light);margin:0;line-height:1.6}.ai-settings-prompt a{color:var(--primary-color);font-weight:500;text-decoration:none}.ai-settings-prompt a:hover{text-decoration:underline}.ai-operations-grid{gap:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.btn.btn-ai{border:var(--border-width) solid #8a2be280;color:var(--text-normal);padding:var(--spacing-md);border-radius:var(--border-radius);cursor:pointer;text-align:left;font-weight:500;font-size:var(--font-size-sm);background:linear-gradient(135deg,#8a2be2cc 0%,#4b0082cc 100%);transition:all .2s;box-shadow:0 0 8px #8a2be233}@keyframes ai-spinner-rotate{to{transform:rotate(360deg)}}.ai-loading{padding:var(--spacing-2xl);align-items:center;gap:var(--spacing-md);flex-direction:column;display:flex}.ai-spinner{border:4px solid #8a2be233;border-top-color:#8a2be2;border-radius:50%;width:40px;height:40px;animation:1s linear infinite ai-spin}@keyframes ai-spin{to{transform:rotate(360deg)}}.ai-loading p{color:var(--text-light);font-size:var(--font-size-sm);margin:0}.btn-ai-corner{border:var(--border-width) solid #8a2be299;border-radius:var(--border-radius);color:var(--text-normal);cursor:pointer;z-index:1;background:linear-gradient(135deg,#8a2be2f2 0%,#4b0082f2 100%);min-width:32px;min-height:32px;padding:6px 10px;font-size:14px;transition:all .2s;position:absolute;top:0;right:0;box-shadow:0 0 8px #8a2be240}@keyframes ai-button-pulse{0%,to{box-shadow:0 0 8px #8a2be240}50%{box-shadow:0 0 16px #8a2be273}}.btn-ai-corner:not(:hover){animation:3s ease-in-out infinite ai-button-pulse}.btn-ai-corner:hover{background:linear-gradient(135deg,#8a2be2 0%,indigo 100%);animation:none;transform:translateY(-2px)scale(1.05);box-shadow:0 4px 16px #8a2be280}.btn-ai-corner:focus-visible{outline-offset:2px;outline:2px solid #8a2be2}.btn-ai-inline{border:var(--border-width) solid #8a2be280;border-radius:var(--border-radius);color:var(--text-normal);cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#8a2be2e6 0%,#4b0082e6 100%);padding:6px 12px;font-size:14px;transition:all .2s;box-shadow:0 0 6px #8a2be233}.btn-ai-inline:hover{background:linear-gradient(135deg,#8a2be2 0%,indigo 100%);transform:translateY(-1px);box-shadow:0 2px 10px #8a2be266}.btn-ai-inline:focus-visible{outline-offset:2px;outline:2px solid #8a2be2}@media (prefers-reduced-motion:reduce){.btn-ai-corner{animation:none!important}.btn-ai.btn-loading:disabled:after{border:2px solid #ffffff80;animation:none!important}.btn-ai:hover:not(:disabled),.btn-ai-corner:hover,.btn-ai-inline:hover{transform:none}}.form-group-with-ai{position:relative}.form-group-with-ai .form-label{padding-right:50px}.input-with-ai-button{gap:var(--spacing-sm);align-items:center;display:flex}.input-with-ai-button .form-input{flex:1}.subsection-actions{gap:var(--spacing-sm);align-items:center;display:flex}.ai-assistant-modal{max-width:800px;max-height:90vh;overflow-y:auto}.ai-context-preview{border:var(--border-width) solid var(--border-color-dark);border-radius:var(--border-radius);padding:var(--spacing-md);margin-bottom:var(--spacing-lg);background:#0003}.ai-context-preview h4{margin-top:0;margin-bottom:var(--spacing-sm);color:var(--text-light);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.5px}.context-preview-content{font-size:var(--font-size-sm);line-height:1.6}.context-preview-content strong{color:var(--text-normal)}.waypoint-context-badge{border:var(--border-width) solid var(--border-color-gold);border-left:var(--border-width-thicker) solid var(--color-gold-dark);border-radius:var(--border-radius);padding:var(--spacing-sm) var(--spacing-md);margin:var(--spacing-md) 0;font-size:var(--font-size-sm);color:var(--text-normal);background:linear-gradient(135deg,#2a2416cc 0%,#3a332299 100%)}.waypoint-goal{margin-top:var(--spacing-xs);color:var(--text-secondary);padding-left:var(--spacing-md);font-style:italic}.ai-customize-section{margin-bottom:var(--spacing-lg)}.customize-toggle{border:var(--border-width) solid var(--border-color-dark);border-radius:var(--border-radius);padding:var(--spacing-sm) var(--spacing-md);color:var(--text-normal);cursor:pointer;text-align:left;width:100%;font-size:var(--font-size-sm);margin-bottom:var(--spacing-md);background:#0003;font-weight:500;transition:all .2s}.customize-toggle:hover{border-color:var(--primary-color);background:#0000004d}.customize-content{animation:.2s ease-out slideDown}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.ai-generate-section{margin-bottom:var(--spacing-lg)}.btn-block{text-align:center;width:100%}.ai-result-section{border:var(--border-width) solid #8a2be24d;border-radius:var(--border-radius);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg);background:#0003}.ai-result-section h4{margin-top:0;margin-bottom:var(--spacing-md);color:var(--text-normal);align-items:center;gap:var(--spacing-sm);display:flex}.ai-result-preview{font-size:var(--font-size-sm);line-height:1.6}.ai-result-preview h5{margin-top:var(--spacing-md);margin-bottom:var(--spacing-sm);color:var(--text-normal)}.ai-result-preview h6{margin-top:var(--spacing-sm);margin-bottom:var(--spacing-xs);color:var(--text-light);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.5px}.suggestion-card{border:var(--border-width) solid var(--border-color-dark);border-radius:var(--border-radius);padding:var(--spacing-md);margin-bottom:var(--spacing-md);background:#0003}.suggestion-card h5{margin-top:0;margin-bottom:var(--spacing-sm);color:var(--text-normal)}.suggestion-card p{margin:var(--spacing-xs) 0;color:var(--text-light)}.tags-preview{border:var(--border-width) solid var(--border-color-dark);border-radius:var(--border-radius);padding:var(--spacing-md);color:var(--text-normal);font-family:var(--font-mono);font-size:var(--font-size-sm);background:#0003}.ai-result{border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius);background:#0000004d;overflow:hidden}.ai-result-header{padding:var(--spacing-md);border-bottom:var(--border-width) solid var(--border-color);background:#8a2be21a;justify-content:space-between;align-items:center;display:flex}.ai-result-header h5{color:var(--text-normal);font-size:var(--font-size-base);margin:0;font-weight:600}.ai-result-content{padding:var(--spacing-lg)}.ai-result-preview{border:var(--border-width) solid var(--border-color-dark);border-radius:var(--border-radius);padding:var(--spacing-md);max-height:400px;color:var(--text-light);background:#0003;line-height:1.6;overflow-y:auto}.ai-result-preview p{margin:0 0 var(--spacing-sm) 0}.ai-result-preview p:last-child{margin-bottom:0}.ai-result-preview ul{margin:var(--spacing-sm) 0;padding-left:var(--spacing-xl)}.ai-result-preview li{margin-bottom:var(--spacing-sm)}.ai-result-preview strong{color:var(--text-normal)}.ai-result-preview em{color:var(--primary-color)}.ai-result-actions{padding:var(--spacing-md);border-top:var(--border-width) solid var(--border-color-dark);gap:var(--spacing-sm);background:#0003;justify-content:flex-end;display:flex}.alert-close{color:var(--text-muted);font-size:var(--font-size-xl);cursor:pointer;margin-left:var(--spacing-md);background:0 0;border:none;padding:0;line-height:1;transition:color .2s}.alert-close:hover{color:var(--text-normal)}@media (width<=768px){.ai-operations-grid{grid-template-columns:1fr}.btn-ai{padding:var(--spacing-sm)}.ai-result-preview{max-height:300px}.btn-ai-corner{min-width:44px;min-height:44px;padding:8px 12px;font-size:16px}.form-group-with-ai .form-label{padding-right:60px}}.confirm-dialog-title{color:var(--text-primary,#f9fafb);margin-bottom:.75rem;font-size:1.5rem;font-weight:600}.confirm-dialog-message{color:var(--text-secondary,#9ca3af);margin-bottom:1.5rem;line-height:1.5}.confirm-dialog-actions{justify-content:center;gap:.75rem;display:flex}.confirm-dialog-actions .btn{min-width:100px}.confirm-dialog-input-group{text-align:left;margin:1.5rem 0}.confirm-dialog-input-label{color:var(--text-secondary,#9ca3af);margin-bottom:.5rem;font-size:.875rem;display:block}.confirm-dialog-input-label strong{color:var(--color-danger-primary,#dc2626);font-weight:600}.confirm-dialog-input{background:var(--bg-secondary,#1f2937);border:1px solid var(--border-color,#374151);width:100%;color:var(--text-primary,#f9fafb);border-radius:4px;padding:.5rem;font-size:.875rem}.confirm-dialog-input:focus{border-color:var(--color-danger-primary,#dc2626);outline:none}.confirm-dialog-actions .btn:disabled{opacity:.5;cursor:not-allowed}.conversation-modal{flex-direction:column;width:90vw;max-width:1400px;height:85vh;padding:0;display:flex}.conversation-modal .modal-header{padding:var(--spacing-lg) var(--spacing-xl);border-bottom:var(--border-width) solid var(--border-color);border-radius:var(--border-radius-lg) var(--border-radius-lg) 0 0;margin-bottom:0}.conversation-modal .modal-header h2{font-family:var(--font-family-heading);font-size:var(--font-size-2xl);color:var(--primary-color);text-shadow:2px 2px 4px #00000080;margin:0}.conversation-modal-body{background:var(--border-color-dark);flex:1;gap:1px;margin-bottom:0;display:flex;overflow:hidden}.conversation-panel{background:linear-gradient(135deg, var(--bg-card-gradient-start) 0%, var(--bg-card-gradient-end) 100%);flex-direction:column;flex:0 0 40%;display:flex;overflow:hidden}.messages-container{padding:var(--spacing-lg);gap:var(--spacing-md);flex-direction:column;flex:1;display:flex;overflow-y:auto}.message{gap:var(--spacing-xs);flex-direction:column;display:flex}.message-label{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-weight:600}.message-user{align-items:flex-end}.message-user .message-label{color:var(--primary-color)}.message-user .message-content{border:var(--border-width) solid #d4af374d;background:#d4af371a;margin-left:3rem}.message-assistant{align-items:flex-start}.message-assistant .message-label{color:var(--text-secondary)}.message-assistant .message-content{border:var(--border-width) solid var(--border-color-dark);background:#0000004d;margin-right:3rem}.message-content{padding:var(--spacing-md);border-radius:var(--border-radius);color:var(--text-secondary);line-height:1.6}.message-content strong{color:var(--text-primary)}.message-content em{color:var(--primary-color);font-style:normal}.typing-indicator{gap:var(--spacing-xs);padding:var(--spacing-xs) 0;display:flex}.typing-indicator span{background:var(--text-muted);border-radius:50%;width:8px;height:8px;animation:1.4s infinite typing}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-10px)}}.input-container{padding:var(--spacing-md) var(--spacing-lg);border-top:var(--border-width) solid var(--border-color);gap:var(--spacing-md);background:#0003;display:flex}.message-input{padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-secondary);border:var(--border-width-thick) solid var(--border-color-dark);border-radius:var(--border-radius);color:var(--text-secondary);font-size:var(--font-size-sm);font-family:var(--font-family);resize:vertical;flex:1;min-height:60px;transition:all .3s}.message-input:focus{border-color:var(--border-color);outline:none;box-shadow:0 0 10px #d4af3733}.message-input:disabled{opacity:.5;cursor:not-allowed}.preview-panel{background:linear-gradient(135deg, var(--bg-card-gradient-start) 0%, var(--bg-card-gradient-end) 100%);padding:var(--spacing-lg) var(--spacing-xl);flex:0 0 60%;overflow-y:auto}.preview-panel h3{margin:0 0 var(--spacing-lg) 0;color:var(--primary-color);font-family:var(--font-family-heading);font-size:var(--font-size-xl);text-transform:uppercase;letter-spacing:1px}.preview-placeholder{height:100%;color:var(--text-muted);justify-content:center;align-items:center;font-style:italic;display:flex}.preview-field{margin-bottom:var(--spacing-lg)}.preview-field label{color:var(--primary-color);margin-bottom:var(--spacing-sm);font-weight:600;font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.5px;display:block}.preview-value{color:var(--text-secondary);line-height:1.6}.preview-row{gap:var(--spacing-md);margin-bottom:var(--spacing-lg);grid-template-columns:1fr 1fr;display:grid}.preview-tags{gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.tag{padding:var(--spacing-xs) var(--spacing-md);border:var(--border-width) solid var(--border-color);font-size:var(--font-size-sm);color:var(--text-secondary);background:#d4af3726;border-radius:16px}.preview-sections{gap:var(--spacing-md);flex-direction:column;display:flex}.preview-section{padding:var(--spacing-md);border:var(--border-width) solid var(--border-color-dark);border-radius:var(--border-radius);background:#0003}.preview-section strong{color:var(--primary-color);margin-bottom:var(--spacing-sm);display:block}.preview-section p{margin:0 0 var(--spacing-sm) 0;color:var(--text-secondary);font-size:var(--font-size-sm)}.preview-connections{gap:var(--spacing-sm);margin-top:var(--spacing-sm);flex-wrap:wrap;display:flex}.connection-badge{padding:var(--spacing-xs) var(--spacing-md);border:var(--border-width) solid #8a2be266;color:var(--text-secondary);border-radius:var(--border-radius);font-size:var(--font-size-xs);background:#8a2be233;font-weight:600}.preview-encounter{padding:var(--spacing-md);border:var(--border-width) solid var(--border-color-dark);border-radius:var(--border-radius);margin-bottom:var(--spacing-md);background:#0000004d}.preview-encounter strong{color:#c93;margin-bottom:var(--spacing-sm);display:block}.preview-encounter p{margin:0 0 var(--spacing-sm) 0;color:var(--text-secondary);font-size:var(--font-size-sm)}.creatures-list{gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.creature-badge{padding:var(--spacing-xs) var(--spacing-md);border:var(--border-width) solid #dc262666;color:var(--text-secondary);border-radius:var(--border-radius);font-size:var(--font-size-xs);background:#dc262633;font-weight:600}.preview-items{gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.item-badge{padding:var(--spacing-xs) var(--spacing-md);border:var(--border-width) solid #d9770666;color:var(--text-secondary);border-radius:var(--border-radius);font-size:var(--font-size-xs);background:#d9770633;font-weight:600}.editable-field{position:relative}.editable-field label{align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-xs);display:flex}.btn-edit-field{color:var(--primary-color);cursor:pointer;padding:var(--spacing-xs);opacity:.6;background:0 0;border:none;font-size:1rem;transition:all .2s}.btn-edit-field:hover{opacity:1;transform:scale(1.1)}.preview-value.editing{border:var(--border-width) solid var(--primary-color);border-radius:var(--border-radius);padding:var(--spacing-sm);background:#0000004d}.edit-controls{gap:var(--spacing-sm);flex-direction:column;display:flex}.edit-input{width:100%;padding:var(--spacing-sm);background:var(--bg-secondary);border:var(--border-width-thick) solid var(--border-color-dark);border-radius:var(--border-radius);color:var(--text-secondary);font-family:var(--font-family);font-size:inherit;transition:all .3s}.edit-input:focus{border-color:var(--border-color);outline:none;box-shadow:0 0 10px #d4af3733}.edit-buttons{gap:var(--spacing-sm);display:flex}.edit-hint{font-size:var(--font-size-xs);color:var(--text-muted);margin-top:var(--spacing-xs);font-style:italic}.editable-tag{align-items:center;gap:var(--spacing-xs);display:inline-flex}.tag-remove{color:inherit;cursor:pointer;padding:0 var(--spacing-xs);opacity:.7;background:0 0;border:none;font-size:1.2rem;line-height:1;transition:opacity .2s}.tag-remove:hover{opacity:1}.read-only{opacity:.9}.conversation-modal .modal-footer{padding:var(--spacing-md) var(--spacing-xl);border-top:var(--border-width) solid var(--border-color);border-radius:0 0 var(--border-radius-lg) var(--border-radius-lg);background:#0000004d;margin-top:0}.wizard-modal-overlay{padding:var(--spacing-lg)}.wizard-modal{flex-direction:column;width:100%;max-width:900px;max-height:90vh;display:flex;overflow:hidden}.wizard-header{flex-shrink:0}.wizard-steps{padding:var(--spacing-md) var(--spacing-xl);border-bottom:var(--border-width) solid var(--border-color);justify-content:space-between;gap:var(--spacing-sm);background:#0003;flex-shrink:0;display:flex}.wizard-step{align-items:center;gap:var(--spacing-sm);opacity:.5;flex:1;transition:opacity .2s;display:flex}.wizard-step.active{opacity:1}.wizard-step.completed{opacity:.8}.wizard-step-number{background:var(--bg-tertiary);border:2px solid var(--border-color);width:28px;height:28px;font-weight:700;font-size:var(--font-size-sm);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.wizard-step.active .wizard-step-number{background:var(--primary-color);border-color:var(--primary-color);color:var(--bg-primary)}.wizard-step.completed .wizard-step-number{background:var(--success-color);border-color:var(--success-color);color:#fff}.wizard-step-info{flex-direction:column;display:flex}.wizard-step-label{font-weight:600;font-size:var(--font-size-sm);color:var(--text-primary)}.wizard-step-description{font-size:var(--font-size-xs);color:var(--text-secondary)}.wizard-content{padding:var(--spacing-xl);flex:1;overflow-y:auto}.wizard-error{margin-bottom:var(--spacing-lg);justify-content:space-between;align-items:center;display:flex}.wizard-error .alert-dismiss{color:inherit;font-size:var(--font-size-lg);cursor:pointer;margin-left:var(--spacing-md);background:0 0;border:none;padding:0}.wizard-actions{margin-top:var(--spacing-xl);padding-top:var(--spacing-lg);border-top:var(--border-width) solid var(--border-color);justify-content:space-between;display:flex}.wizard-loading{padding:var(--spacing-3xl);justify-content:center;align-items:center;gap:var(--spacing-lg);color:var(--text-secondary);flex-direction:column;display:flex}.loading-spinner{border:3px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;width:40px;height:40px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.wizard-error-state{padding:var(--spacing-3xl);justify-content:center;align-items:center;gap:var(--spacing-lg);text-align:center;flex-direction:column;display:flex}.wizard-error-state .alert{width:100%;max-width:600px}.wizard-error-state .text-muted{color:var(--text-secondary);margin:0}.wizard-error-state .btn{margin-top:var(--spacing-md)}.wizard-setup-form{gap:var(--spacing-lg);flex-direction:column;display:flex}.wizard-form-section{border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius-md);padding:var(--spacing-lg);background:#00000026}.wizard-form-section h3{font-size:var(--font-size-lg);color:var(--primary-color);margin:0 0 var(--spacing-md) 0;padding-bottom:var(--spacing-sm);border-bottom:var(--border-width) solid var(--border-color)}.form-row{gap:var(--spacing-md);grid-template-columns:1fr 1fr;display:grid}.premise-header{margin-bottom:var(--spacing-sm);justify-content:space-between;align-items:center;display:flex}.premise-textarea{resize:vertical;min-height:100px}.premise-suggestions{margin-top:var(--spacing-lg);padding:var(--spacing-md);border-radius:var(--border-radius-md);background:#0000001a}.premise-suggestions h4{margin:0 0 var(--spacing-sm) 0;color:var(--primary-color)}.suggestions-hint{font-size:var(--font-size-sm);color:var(--text-secondary);margin-bottom:var(--spacing-md)}.suggestions-list{gap:var(--spacing-sm);flex-direction:column;display:flex}.suggestion-card{border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius-md);padding:var(--spacing-md);text-align:left;cursor:pointer;color:var(--text-primary);font-size:var(--font-size-sm);background:#ffffff0d;line-height:1.5;transition:all .2s}.suggestion-card:hover{border-color:var(--primary-color);background:#ffffff1a}.wizard-plot-step,.wizard-generate-step,.wizard-review-step{gap:var(--spacing-lg);flex-direction:column;display:flex}.wizard-step-header{justify-content:space-between;align-items:flex-start;gap:var(--spacing-md);display:flex}.step-header-info h3{color:var(--primary-color);margin:0}.step-description{margin:var(--spacing-xs) 0 0 0;color:var(--text-secondary);font-size:var(--font-size-sm)}.step-header-actions{gap:var(--spacing-sm);flex-shrink:0;display:flex}.refine-input-section{gap:var(--spacing-md);padding:var(--spacing-md);border-radius:var(--border-radius-md);background:#00000026;display:flex}.refine-input-section textarea{resize:none;flex:1}.plot-points-list{gap:var(--spacing-md);flex-direction:column;display:flex}.plot-point-card{gap:var(--spacing-md);padding:var(--spacing-md);border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius-md);background:#00000026;transition:border-color .2s;display:flex}.plot-point-card:hover{border-color:var(--primary-color)}.plot-point-card.editing{border-color:var(--primary-color);background:#00000040}.plot-point-number{background:var(--primary-color);width:32px;height:32px;color:var(--bg-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:flex}.plot-point-content{flex:1;min-width:0}.plot-point-header{justify-content:space-between;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-xs);display:flex}.plot-point-title{font-size:var(--font-size-md);color:var(--text-primary);margin:0}.plot-point-actions{gap:var(--spacing-xs);display:flex}.plot-point-summary{color:var(--text-secondary);font-size:var(--font-size-sm);margin:0;line-height:1.5}.plot-point-flow{margin-top:var(--spacing-sm);font-size:var(--font-size-xs);color:var(--text-muted)}.plot-point-title-input{margin-bottom:var(--spacing-sm)}.plot-point-edit-actions{gap:var(--spacing-sm);margin-top:var(--spacing-md);display:flex}.add-plot-point-btn{align-self:center}.generate-start-section{padding:var(--spacing-3xl);justify-content:center;align-items:center;gap:var(--spacing-xl);text-align:center;flex-direction:column;display:flex}.generate-summary{color:var(--text-secondary)}.generate-summary p{margin:var(--spacing-sm) 0}.generate-summary strong{color:var(--primary-color)}.generate-note{font-size:var(--font-size-sm);font-style:italic}.generation-progress{margin-bottom:var(--spacing-lg)}.progress-bar-container{background:var(--bg-tertiary);height:8px;margin-bottom:var(--spacing-sm);border-radius:4px;overflow:hidden}.progress-bar{background:var(--primary-color);height:100%;transition:width .3s}.progress-stats{font-size:var(--font-size-sm);color:var(--text-secondary);justify-content:space-between;display:flex}.batches-list{gap:var(--spacing-md);flex-direction:column;display:flex}.batch-card{padding:var(--spacing-md);border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius-md);background:#00000026}.batch-pending{opacity:.6}.batch-generating{border-color:var(--primary-color)}.batch-completed{border-color:var(--success-color)}.batch-error{border-color:var(--danger-color)}.batch-header{align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-sm);display:flex}.batch-status-icon{font-size:var(--font-size-lg)}.batch-generating .batch-status-icon{animation:1s infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.batch-label{flex:1;font-weight:600}.batch-status{font-size:var(--font-size-sm);color:var(--text-secondary)}.batch-plot-points{gap:var(--spacing-sm);margin-bottom:var(--spacing-sm);flex-wrap:wrap;display:flex}.batch-plot-point{font-size:var(--font-size-sm);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm);background:#0003}.batch-error .error-message{color:var(--danger-color);margin-bottom:var(--spacing-sm)}.batch-sections{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:var(--border-width) dashed var(--border-color)}.section-preview{border-radius:var(--border-radius-sm);margin-bottom:var(--spacing-sm);background:#0000001a}.section-preview-header{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);cursor:pointer;transition:background .2s;display:flex}.section-preview-header:hover{background:#ffffff0d}.section-preview-toggle{color:var(--text-secondary);font-size:var(--font-size-xs)}.section-preview-title{flex:1;font-weight:600}.section-preview-meta{font-size:var(--font-size-xs);color:var(--text-muted)}.section-preview-content{padding:var(--spacing-md);padding-top:0}.section-preview-description{margin-bottom:var(--spacing-md);font-size:var(--font-size-sm);color:var(--text-secondary)}.section-preview-encounters,.section-preview-items{margin-top:var(--spacing-sm)}.section-preview-encounters h5,.section-preview-items h5{margin:0 0 var(--spacing-xs) 0;font-size:var(--font-size-sm);color:var(--primary-color)}.section-preview-encounters ul,.section-preview-items ul{padding-left:var(--spacing-lg);font-size:var(--font-size-sm);color:var(--text-secondary);margin:0}.encounter-creatures{color:var(--text-muted)}.review-summary{border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius-md);padding:var(--spacing-lg);background:#00000026}.review-summary h4{margin:0 0 var(--spacing-md) 0;color:var(--primary-color)}.summary-stats{gap:var(--spacing-xl);flex-wrap:wrap;display:flex}.stat{flex-direction:column;align-items:center;display:flex}.stat-value{font-size:var(--font-size-2xl);color:var(--primary-color);font-weight:700}.stat-label{font-size:var(--font-size-sm);color:var(--text-secondary)}.connections-section{border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius-md);padding:var(--spacing-lg);background:#00000026}.connections-header{margin-bottom:var(--spacing-md);justify-content:space-between;align-items:center;display:flex}.connections-header h4{color:var(--primary-color);margin:0}.connections-list{gap:var(--spacing-sm);flex-direction:column;display:flex}.connection-card{align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);border-radius:var(--border-radius-sm);background:#0000001a;display:flex}.connection-card.editing{flex-direction:column;align-items:stretch}.connection-flow{align-items:center;gap:var(--spacing-sm);flex-shrink:0;font-weight:600;display:flex}.connection-arrow{color:var(--primary-color)}.connection-details{font-size:var(--font-size-sm);flex:1}.connection-condition{color:var(--text-primary);font-style:italic}.connection-description{color:var(--text-secondary);margin-left:var(--spacing-sm)}.connection-actions{gap:var(--spacing-xs);display:flex}.connection-edit-form{width:100%}.connection-edit-actions{gap:var(--spacing-sm);margin-top:var(--spacing-md);display:flex}.add-connection-form{border-radius:var(--border-radius-sm);padding:var(--spacing-md);margin-bottom:var(--spacing-md);background:#0000001a}.add-connection-actions{gap:var(--spacing-sm);margin-top:var(--spacing-md);display:flex}.no-connections{color:var(--text-secondary);text-align:center;padding:var(--spacing-lg);font-style:italic}@media (width<=768px){.wizard-steps{gap:var(--spacing-sm);flex-direction:column}.wizard-step-info{display:none}.form-row{grid-template-columns:1fr}.wizard-step-header{flex-direction:column}.step-header-actions{justify-content:flex-end;width:100%}.summary-stats{justify-content:space-around}.connection-card{flex-direction:column;align-items:flex-start}.connection-actions{justify-content:flex-end;width:100%}}.printable-adventure{margin-top:0;padding-top:0}.print-controls{background:var(--surface-color);border-bottom:1px solid var(--border-color);justify-content:center;gap:1rem;max-width:1200px;margin-bottom:1rem;margin-left:auto;margin-right:auto;padding:1rem;display:flex}.print-waypoint-title{color:var(--primary-color);border-bottom:2px solid var(--secondary-color);margin-top:2rem;margin-bottom:.5rem;padding-bottom:.5rem;font-family:Cinzel,serif}.print-waypoint-group:first-child .print-waypoint-title{margin-top:0}.print-waypoint-goal{color:var(--text-secondary);font-style:italic;font-size:var(--font-size-md);margin-bottom:1.5rem}.creature-statblock{background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--border-radius);margin:1rem 0;padding:1rem}.creature-header{border-bottom:2px solid var(--border-color);margin-bottom:.5rem;padding-bottom:.5rem;font-size:1.2em}.creature-description{margin:.5rem 0;font-style:italic}.creature-stats{border-top:1px dotted var(--border-color);border-bottom:1px dotted var(--border-color);flex-wrap:wrap;gap:1rem;margin:.5rem 0;padding:.5rem 0;display:flex}.creature-abilities{margin:.5rem 0}.abilities-grid{grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:.5rem;margin-top:.25rem;display:grid}.creature-actions{border-top:1px dotted var(--border-color);margin-top:.5rem;padding-top:.5rem}.action-item{margin:.25rem 0 .25rem 1rem}@media print{@page{margin:2cm}body{font-size:12pt;line-height:1.5;color:#000!important;background:#fff!important}.no-print,.header-full-width,.header,.stone-texture,body:before,.footer,button,.btn,.modal-overlay{display:none!important}.container{width:100%!important;max-width:100%!important;min-height:auto!important;margin:0!important;padding:0!important}h1{page-break-after:avoid;margin-bottom:.5cm;font-size:24pt;color:#000!important;-webkit-text-fill-color:black!important;text-shadow:none!important;background:0 0!important}h2{page-break-after:avoid;border-bottom:2px solid #000;margin-top:1cm;padding-bottom:.2cm;font-size:18pt;color:#000!important}h3{page-break-after:avoid;margin-top:.5cm;font-size:14pt;color:#000!important}p,li{color:#000!important}.print-header{text-align:center;margin-bottom:1cm}.print-meta{border:1px solid #ccc;flex-wrap:wrap;justify-content:center;gap:1cm;margin-bottom:1cm;padding:.5cm;display:flex}.print-divider{border-top:1px solid #000;margin:1cm 0}.print-section{page-break-inside:avoid;border:1px solid #eee;margin-bottom:1cm;padding:.5cm}.print-waypoint-group.page-break{page-break-before:always}.print-waypoint-title{border-bottom:3px solid #000;margin-top:0;margin-bottom:.3cm;padding-bottom:.2cm;font-size:20pt;color:#000!important}.print-waypoint-goal{margin-bottom:.5cm;font-size:11pt;font-style:italic;color:#444!important}.section-header{border-bottom:1px solid #ccc;margin-bottom:.5cm}.section-id{float:right;font-family:monospace;font-size:.9em;color:#666!important}.section-items,.section-encounters,.section-connections{border-top:1px dotted #ccc;margin-top:.5cm;padding-top:.5cm}.creature-statblock{page-break-inside:avoid;margin:.3cm 0;padding:.3cm;background:#fff!important;border:1px solid #333!important}.creature-header{margin-bottom:.2cm;padding-bottom:.1cm;font-size:11pt;color:#000!important;border-bottom:2px solid #333!important}.creature-description{margin:.2cm 0;font-size:9pt;color:#333!important}.creature-stats{flex-wrap:wrap;gap:.5cm;margin:.2cm 0;padding:.2cm 0;display:flex;border-top:1px dotted #666!important;border-bottom:1px dotted #666!important}.creature-stats div{font-size:9pt;color:#000!important}.creature-abilities{margin:.2cm 0;font-size:9pt}.abilities-grid{grid-template-columns:repeat(6,1fr);gap:.2cm;margin-top:.1cm;display:grid}.abilities-grid span{font-size:8pt;color:#000!important}.creature-actions{margin-top:.2cm;padding-top:.2cm;border-top:1px dotted #666!important}.action-item{margin:.1cm 0 .1cm .3cm;font-size:9pt;color:#000!important}.encounter-item h4{margin:.3cm 0 .2cm;font-size:11pt;color:#000!important}.print-footer{text-align:center;border-top:1px solid #ccc;margin-top:2cm;padding-top:.5cm;font-size:9pt;color:#666!important}}.spell-level{margin:6px 0}.spell-name.interactive{color:#1976d2;cursor:help;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.spell-name.interactive:hover{color:#1565c0}.spell-name.print sup{color:#666;font-size:10px}.special-abilities-section,.actions-section,.legendary-actions-section{padding:var(--spacing-md);border-radius:var(--border-radius);border:var(--border-width) solid var(--border-color);margin:20px 0}.abilities-list .ability-entry,.actions-list .action-entry{padding:var(--spacing-md);border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius);margin-bottom:var(--spacing-md)}.ability-header,.action-header{justify-content:space-between;align-items:center;display:flex}.ability-actions,.action-actions{gap:8px;display:flex}.ability-description,.action-description{white-space:pre-wrap;margin-top:8px}.spell-appendix{border-top:var(--border-width-thick) solid #333;margin-top:32px;padding-top:24px}.spell-appendix h2{margin-bottom:16px}.spell-entry{page-break-inside:avoid;gap:12px;margin:16px 0;display:flex}.spell-number{min-width:30px;font-weight:700}.spell-title{margin:0 0 6px;font-size:18px}.spellcasting-stats{border-radius:4px;flex-wrap:wrap;gap:12px;margin-top:8px;padding:8px;display:flex}.spellcasting-stats .stat-item{font-size:13px}.spell-slots{color:#555;margin-top:8px;font-size:13px}.spell-slots .slot-info{margin-right:8px}@media print{.spell-tooltip,.damage-type-tooltip,.condition-tooltip,.complex-defense-tooltip{display:none!important}.defense-segment.has-tooltip{cursor:default;text-decoration:none}.spell-name.interactive{color:inherit;text-decoration:none}.spell-appendix{page-break-before:always}.creature-special-abilities{margin-top:.2cm;padding-top:.2cm;border-top:1px dotted #666!important}.ability-item{margin:.1cm 0 .1cm .3cm;font-size:9pt;color:#000!important}.spell-appendix h2{font-size:14pt;color:#000!important}.spell-entry{margin:.3cm 0;font-size:9pt}.spell-title{margin-bottom:.1cm;font-size:10pt}.spell-stats p{margin:.05cm 0;color:#000!important}}.entry-editor{margin-top:var(--spacing-md);padding:var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--border-radius);background:#2a24164d}.entry-editor h6{margin-top:0;margin-bottom:var(--spacing-md);color:var(--color-gold-primary)}.section-header{margin-bottom:var(--spacing-md);justify-content:space-between;align-items:center;display:flex}.section-header h5{color:var(--color-gold-primary);margin:0}.create-adventure-page{min-height:100vh;padding:var(--spacing-xl) var(--spacing-lg);background:linear-gradient(to bottom, var(--bg-primary), var(--bg-secondary))}.create-adventure-container{max-width:800px;margin:0 auto}.create-adventure-header{text-align:center;margin-bottom:var(--spacing-xl)}.create-adventure-header h1{font-family:var(--font-heading);color:var(--text-light);margin-bottom:var(--spacing-sm);font-size:2.5rem}.page-subtitle{color:var(--text-secondary);font-size:var(--font-size-md)}.creation-steps{justify-content:center;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-xl);padding:var(--spacing-lg);border-radius:var(--border-radius-lg);background:#0003;display:flex}.step{align-items:center;gap:var(--spacing-sm);flex-direction:column;display:flex}.step-number{border:2px solid var(--border-color);width:40px;height:40px;color:var(--text-secondary);background:#ffffff1a;border-radius:50%;justify-content:center;align-items:center;font-weight:600;transition:all .3s;display:flex}.step.active .step-number{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.step.completed .step-number{background:var(--color-success);border-color:var(--color-success);color:#fff}.step-label{font-size:var(--font-size-sm);color:var(--text-secondary);text-align:center}.step.active .step-label{color:var(--text-normal);font-weight:600}.step-divider{background:var(--border-color);width:60px;height:2px}.creation-step-content{border:var(--border-width) solid var(--border-color-dark);border-radius:var(--border-radius-lg);padding:var(--spacing-xl);background:#0000004d}.creation-step-content h2{font-family:var(--font-heading);color:var(--text-light);margin-bottom:var(--spacing-sm);font-size:1.75rem}.step-description{color:var(--text-secondary);margin-bottom:var(--spacing-lg);line-height:1.6}.waypoints-setup{margin:var(--spacing-lg) 0}.waypoints-list{gap:var(--spacing-md);margin-bottom:var(--spacing-lg);flex-direction:column;display:flex}.waypoint-card{border:var(--border-width) solid var(--border-color-gold);border-left:var(--border-width-thicker) solid var(--color-gold-dark);border-radius:var(--border-radius);padding:var(--spacing-md);background:linear-gradient(135deg,#2a241699 0%,#3a332266 100%);transition:all .3s}.waypoint-card:hover{border-color:var(--color-gold-primary);transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.waypoint-card-header{align-items:flex-start;gap:var(--spacing-md);display:flex}.waypoint-order{background:var(--color-gold-dark);width:32px;height:32px;color:var(--text-light);font-weight:600;font-size:var(--font-size-sm);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.waypoint-info{flex:1}.waypoint-info h4{margin:0 0 var(--spacing-xs) 0;color:var(--text-light);font-size:var(--font-size-md)}.waypoint-goal-preview{color:var(--text-secondary);font-size:var(--font-size-sm);margin:0;font-style:italic}.waypoint-card-actions{gap:var(--spacing-xs);display:flex}.empty-state-hint{margin-top:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--text-muted)}.skip-option{margin-top:var(--spacing-lg);padding:var(--spacing-md);border-radius:var(--border-radius);text-align:center;background:#0003}.skip-option p{font-size:var(--font-size-sm);margin:0}@media (width<=768px){.create-adventure-page{padding:var(--spacing-lg) var(--spacing-md)}.create-adventure-header h1{font-size:2rem}.creation-steps{padding:var(--spacing-md)}.step-divider{width:40px}.creation-step-content{padding:var(--spacing-lg)}}.demo-mode-banner{border:var(--border-width) solid #d4af3766;border-radius:var(--border-radius);padding:var(--spacing-md);margin-bottom:var(--spacing-lg);align-items:center;gap:var(--spacing-md);background:linear-gradient(135deg,#d4af3726 0%,#b8860b26 100%);display:flex;box-shadow:0 2px 10px #d4af3733}.banner-icon{font-size:var(--font-size-xl)}.banner-text{color:var(--text-primary);font-size:var(--font-size-base);line-height:1.5}.btn-link{color:var(--primary-color);font-family:var(--font-family);font-size:inherit;cursor:pointer;padding:0 var(--spacing-xs);background:0 0;border:none;text-decoration:underline;transition:color .2s}.btn-link:hover{color:var(--secondary-color)}.adventures-toolbar{gap:var(--spacing-md);margin-bottom:var(--spacing-xl);padding:var(--spacing-md);background:linear-gradient(135deg, var(--color-bg-brown-dark) 0%, var(--bg-secondary) 100%);border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius);align-items:center;display:flex;box-shadow:0 4px 15px #000000b3}.search-section{flex:1;min-width:0}.search-container{max-width:600px;margin:var(--spacing-2xl) auto;padding:0 1rem;position:relative}.search-wrapper{background:linear-gradient(135deg, var(--color-bg-brown-dark) 0%, var(--bg-secondary) 100%);border-radius:var(--border-radius-lg);padding:3px;position:relative;box-shadow:inset 0 2px 5px #00000080,0 4px 15px #000000b3}.search-wrapper:before{content:"";border-radius:var(--border-radius-lg);background:linear-gradient(135deg, var(--secondary-color), var(--primary-color), var(--secondary-color));-webkit-mask-composite:xor;pointer-events:none;padding:2px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.search-box{width:100%;padding:var(--spacing-md) var(--spacing-2xl) var(--spacing-md) var(--spacing-lg);background:var(--bg-secondary);color:var(--primary-color);font-size:var(--font-size-lg);font-family:var(--font-family);border-radius:var(--border-radius);border:none;transition:all .3s}.search-box::placeholder{color:var(--text-muted)}.search-box:focus{background:var(--color-bg-brown-lighter);outline:none;box-shadow:0 0 20px #d4af374d}.search-icon{color:var(--secondary-color);pointer-events:none;position:absolute;top:50%;right:15px;transform:translateY(-50%)}.adventures-grid{gap:var(--spacing-lg);margin-bottom:var(--spacing-2xl);grid-template-columns:repeat(auto-fill,minmax(350px,1fr));display:grid}.adventure-card{background:linear-gradient(135deg, var(--bg-card-gradient-start) 0%, var(--bg-card-gradient-end) 100%);border:var(--border-width-thick) solid var(--border-color);border-radius:var(--border-radius-lg);padding:var(--spacing-lg);cursor:pointer;transition:all .3s;position:relative;overflow:hidden;box-shadow:0 4px 15px #000000b3,inset 0 1px #d4af371a}.adventure-card:before{content:"";background:linear-gradient(90deg, transparent, var(--primary-color), transparent);opacity:0;height:4px;transition:opacity .3s;position:absolute;top:0;left:0;right:0}.adventure-card:hover{border-color:var(--border-color-light);transform:translateY(-5px);box-shadow:0 8px 25px #d4af374d,inset 0 1px #d4af3733}.adventure-card:hover:before{opacity:1}.adventure-card:after{content:"";opacity:.6;pointer-events:none;background-image:url("data:image/svg+xml,%3csvg%20width='40'%20height='40'%20xmlns='http://www.w3.org/2000/svg'%3e%3c!--%20L-shaped%20corner%20--%3e%3cline%20x1='5'%20y1='5'%20x2='20'%20y2='5'%20stroke='%238b6914'%20stroke-width='1'/%3e%3cline%20x1='5'%20y1='5'%20x2='5'%20y2='20'%20stroke='%238b6914'%20stroke-width='1'/%3e%3c!--%20Inner%20accent%20--%3e%3cline%20x1='8'%20y1='8'%20x2='17'%20y2='8'%20stroke='%23d4af37'%20stroke-width='0.5'%20opacity='0.6'/%3e%3cline%20x1='8'%20y1='8'%20x2='8'%20y2='17'%20stroke='%23d4af37'%20stroke-width='0.5'%20opacity='0.6'/%3e%3c!--%20Tick%20marks%20--%3e%3cg%20stroke='%239a8c6a'%20stroke-width='0.4'%20opacity='0.5'%3e%3cline%20x1='10'%20y1='5'%20x2='10'%20y2='7'/%3e%3cline%20x1='13'%20y1='5'%20x2='13'%20y2='7'/%3e%3cline%20x1='16'%20y1='5'%20x2='16'%20y2='7'/%3e%3cline%20x1='5'%20y1='10'%20x2='7'%20y2='10'/%3e%3cline%20x1='5'%20y1='13'%20x2='7'%20y2='13'/%3e%3cline%20x1='5'%20y1='16'%20x2='7'%20y2='16'/%3e%3c/g%3e%3c!--%20Corner%20dot%20--%3e%3ccircle%20cx='5'%20cy='5'%20r='1.5'%20fill='%23d4af37'%20opacity='0.8'/%3e%3c/svg%3e");background-repeat:no-repeat;background-size:contain;width:30px;height:30px;transition:opacity .3s;position:absolute;top:4px;left:4px}.adventure-card:hover:after{opacity:.9}.adventure-title{font-family:var(--font-family-heading);font-size:var(--font-size-2xl);color:var(--primary-color);margin-bottom:var(--spacing-sm);text-shadow:2px 2px 4px #00000080}.card-btn{padding:var(--spacing-sm);background:linear-gradient(135deg, var(--color-bg-brown-dark) 0%, var(--bg-secondary) 100%);border:var(--border-width) solid var(--border-color);color:var(--primary-color);font-family:var(--font-family);font-size:var(--font-size-sm);cursor:pointer;border-radius:var(--border-radius-sm);text-transform:uppercase;letter-spacing:1px;flex:1;transition:all .3s}.card-btn:hover{background:linear-gradient(135deg, var(--color-bg-brown-medium) 0%, var(--color-bg-brown-dark) 100%);border-color:var(--border-color-light);transform:translateY(-1px);box-shadow:0 2px 8px #d4af374d}.card-btn.play{background:linear-gradient(135deg, var(--secondary-color) 0%, var(--color-gold-darker) 100%);color:var(--bg-secondary);font-weight:600}.card-btn.play:hover{background:linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%)}.card-btn.delete:hover{background:linear-gradient(135deg, var(--color-danger-dark) 0%, var(--color-danger-darkest) 100%);border-color:var(--color-danger-medium);color:var(--color-danger-light)}.card-header{margin-bottom:var(--spacing-md)}.card-content{margin-bottom:var(--spacing-md)}.card-content .description{color:var(--text-secondary);font-size:var(--font-size-base);margin-bottom:var(--spacing-sm);line-height:1.6}.card-content .author{color:var(--text-muted);font-size:var(--font-size-sm);font-style:italic}.card-meta,.card-meta-secondary{gap:var(--spacing-sm);margin-bottom:var(--spacing-sm);flex-wrap:wrap;display:flex}.card-meta span,.card-meta-secondary span{padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);letter-spacing:.5px;white-space:nowrap;border:var(--border-width) solid;font-weight:600}.card-meta .system{border-color:var(--border-color);color:var(--primary-color);background:linear-gradient(135deg,#d4af3726 0%,#b8860b26 100%)}.card-meta .difficulty{color:#10b981;background:linear-gradient(135deg,#05966926 0%,#04785726 100%);border-color:#05966966}.card-meta .duration{color:#f59e0b;background:linear-gradient(135deg,#d9770626 0%,#b4530926 100%);border-color:#d9770666}.card-meta-secondary .party,.card-meta-secondary .style{color:#a78bfa;background:linear-gradient(135deg,#8b5cf626 0%,#6d28d926 100%);border-color:#8b5cf666}.card-tags{gap:var(--spacing-xs);margin-bottom:var(--spacing-sm);flex-wrap:wrap;display:flex}.card-tags .tag{padding:var(--spacing-xs) var(--spacing-sm);background:linear-gradient(135deg, var(--color-bg-brown-dark) 0%, var(--color-bg-brown-darker) 100%);border:var(--border-width) solid var(--border-color-dark);border-radius:var(--border-radius-sm);color:var(--text-light);font-size:var(--font-size-xs);letter-spacing:.5px;transition:all .2s}.card-tags .tag:hover{border-color:var(--border-color);color:var(--primary-color)}.card-actions{gap:var(--spacing-sm);margin-top:var(--spacing-md);display:flex}@media (width<=768px){.adventures-toolbar{gap:var(--spacing-sm);padding:var(--spacing-sm);flex-direction:column}.search-box{max-width:none;margin-left:0}.adventures-grid{grid-template-columns:1fr}.card-header-top{flex-direction:column}.card-meta,.card-meta-secondary{font-size:var(--font-size-xs)}.card-actions{flex-wrap:wrap}}.section-description-textarea,.adventure-details-description-textarea{min-height:200px}.creature-header{margin-bottom:var(--spacing-sm);justify-content:space-between;align-items:center;display:flex}.image-preview-img{object-fit:contain;max-width:200px;max-height:150px}.input-narrow{max-width:80px}.form-tip{color:var(--text-secondary);font-size:var(--font-size-sm)}.image-preview-large{object-fit:contain;border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius);max-width:100%;max-height:300px}.image-preview-error{padding:var(--spacing-md);text-align:center;color:var(--text-secondary);border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius);display:none}.view-mode .form-input:disabled,.view-mode .form-textarea:disabled,.view-mode .form-input[disabled],.view-mode .form-textarea[disabled]{opacity:1;cursor:default;background:#0003}.view-mode .section-content-display{padding:var(--spacing-lg);border-radius:var(--border-radius);border-left:3px solid var(--primary-color);background:#0003;line-height:1.7}.view-mode .encounter-card{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:var(--spacing-md);margin-bottom:var(--spacing-md)}.view-mode .encounter-card h4{color:var(--primary-color);margin-bottom:var(--spacing-sm)}.view-mode .creatures-list{margin-top:var(--spacing-sm);padding:var(--spacing-sm);border-radius:var(--border-radius-sm);background:#0003}.view-mode .creature-item{margin-left:var(--spacing-md);margin-top:var(--spacing-xs);padding:var(--spacing-xs);border-left:2px solid var(--border-color-dark)}.view-mode .item-card,.view-mode .connection-card,.view-mode .image-card{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.view-mode .connection-card.clickable{cursor:pointer;transition:all .2s}.view-mode .connection-card.clickable:hover{background:var(--bg-tertiary);border-color:var(--primary-color);box-shadow:0 2px 8px #2563eb33}.view-mode .section-image{border-radius:var(--border-radius);max-width:100%;height:auto;margin-top:var(--spacing-xs)}.view-mode .text-muted{color:var(--text-secondary)}.view-mode .text-sm{font-size:var(--font-size-sm)}.inventory-search-modal{max-width:900px;max-height:90vh;overflow-y:auto}.inventory-search-modal .search-form{gap:var(--spacing-md);flex-direction:column;display:flex}.item-editor-modal{max-width:900px;max-height:90vh;overflow-y:auto}.item-editor-modal .form-row-three{gap:var(--spacing-md);grid-template-columns:1fr 1fr 1fr;display:grid}.inventory-search-modal .form-row{gap:var(--spacing-md);grid-template-columns:1fr 1fr;display:grid}.creatures-grid,.items-grid{gap:var(--spacing-lg);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.search-loading,.search-empty{text-align:center;padding:var(--spacing-lg);color:var(--text-secondary)}.search-empty p{margin:var(--spacing-sm) 0}.pagination-controls{justify-content:space-between;align-items:center;gap:var(--spacing-md);padding:var(--spacing-lg) 0;border-top:var(--border-width) solid var(--border-color);display:flex}.pagination-info{color:var(--text-secondary);font-size:var(--font-size-sm)}.button-group{gap:var(--spacing-sm);display:flex}@media (width<=1024px){.creatures-grid,.items-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.inventory-search-modal .form-row{grid-template-columns:1fr}.item-editor-modal .form-row-three{grid-template-columns:1fr 1fr}}@media (width<=768px){.creatures-grid,.items-grid,.item-editor-modal .form-row-three{grid-template-columns:1fr}.pagination-controls{gap:var(--spacing-sm);flex-direction:column}.button-group{flex-direction:column;width:100%}.button-group .btn{width:100%}}.required-indicator{color:var(--danger-color);margin-left:2px;font-weight:600}.form-required-note{font-size:var(--font-size-sm);color:var(--text-secondary);margin:var(--spacing-sm) 0 var(--spacing-md) 0;font-style:italic}.advanced-options-toggle{align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-md);margin:var(--spacing-lg) 0 var(--spacing-md) 0;border:var(--border-width) solid var(--border-color-dark);border-radius:var(--border-radius);color:var(--text-primary);cursor:pointer;font-size:var(--font-size-md);border-left:var(--border-width-thicker) solid var(--color-gold-dark);background:linear-gradient(135deg,#1a1611cc 0%,#2a241699 100%);font-weight:500;transition:all .3s;display:flex}.advanced-options-toggle:hover{border-left-color:var(--primary-color);background:linear-gradient(135deg,#2a2416e6 0%,#3a3322b3 100%);transform:translate(2px)}.advanced-options-toggle .toggle-icon{text-align:center;width:16px;font-size:.8em;transition:transform .2s;display:inline-block}.advanced-options-section{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:var(--border-width) solid var(--border-color)}.create-section-prompt{margin-top:var(--spacing-2xl);padding:var(--spacing-xl);text-align:center;border:2px dashed var(--border-color-dark);border-radius:var(--border-radius);background:linear-gradient(135deg,#1a161199 0%,#2a241666 100%)}.btn-create-section{justify-content:center;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-lg) var(--spacing-2xl);font-size:var(--font-size-lg);background:linear-gradient(135deg, var(--secondary-color) 0%, var(--primary-color) 100%);border:var(--border-width) solid var(--primary-color);font-weight:600;transition:all .3s;display:inline-flex;box-shadow:0 4px 12px #d4af3766}.btn-create-section:hover{transform:translateY(-2px);box-shadow:0 6px 16px #d4af3799}.btn-create-section .btn-icon{font-size:1.2em}.version-history-modal{max-width:600px;max-height:80vh}.version-history-modal .modal-body{max-height:60vh;overflow-y:auto}.snapshot-list{gap:var(--spacing-sm);flex-direction:column;display:flex}.snapshot-item{padding:var(--spacing-md);background:var(--bg-secondary);border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius);cursor:pointer;justify-content:space-between;align-items:center;transition:all .3s;display:flex}.snapshot-item:hover{background:var(--bg-tertiary);border-color:var(--primary-color);box-shadow:0 2px 8px #d4af3733}.snapshot-item.selected{background:var(--bg-tertiary);border-color:var(--primary-color)}.snapshot-info{gap:var(--spacing-xs);flex-direction:column;display:flex}.snapshot-time-relative{color:var(--text-primary);font-size:.95em;font-weight:500}.snapshot-type{gap:var(--spacing-xs);display:flex}.badge-auto{color:var(--text-muted);border:var(--border-width) solid var(--border-color);background:#64646433}.badge-manual{color:var(--primary-color);border:var(--border-width) solid var(--primary-color);background:#d4af3733}.badge-autosave{color:#4682b4;border:var(--border-width) solid #4682b4;background:#4682b433}.snapshot-actions{gap:var(--spacing-xs);display:flex}.snapshot-actions-footer{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:var(--border-width) solid var(--border-color);justify-content:space-between;align-items:center;display:flex}@media (width<=768px){.editor-actions{flex-wrap:wrap}}@media (width<=768px){.image-form-modal{max-width:95%}.radio-group{flex-direction:column}.storage-label{align-items:flex-start;gap:var(--spacing-xs);flex-direction:column}.upload-dropzone{padding:var(--spacing-lg);min-height:180px}.dropzone-icon{font-size:36px}}.spell-card-header{gap:var(--spacing-sm);margin-bottom:var(--spacing-sm);display:flex}.spell-card-checkbox{flex-shrink:0}.spell-card-title{justify-content:space-between;align-items:flex-start;gap:var(--spacing-sm);flex:1;display:flex}.spell-card-title h4{font-size:var(--font-size-md);margin:0}.spell-card-body{gap:var(--spacing-xs);margin-bottom:var(--spacing-sm);flex-wrap:wrap;display:flex}.spell-school,.spell-casting-time{font-size:var(--font-size-xs);background:var(--bg-tertiary);color:var(--text-secondary);border-radius:4px;padding:2px 6px}.spell-card-description{font-size:var(--font-size-sm);color:var(--text-secondary);margin:0;line-height:1.4}.spell-card-actions{margin-top:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:1px solid var(--border-color);justify-content:flex-end;display:flex}.selected-count{color:var(--color-gold-primary);font-weight:500}.badge.concentration{color:#3b82f6;font-size:var(--font-size-xs);background:#3b82f633;border-radius:4px;padding:2px 4px}.badge.ritual{color:#a855f7;font-size:var(--font-size-xs);background:#a855f733;border-radius:4px;padding:2px 4px}.encounter-form-modal{max-width:900px;max-height:90vh;overflow-y:auto}.encounter-form-modal .modal-header{align-items:center;gap:var(--spacing-md);display:flex}.encounter-form-modal .modal-header h2{flex:1;margin:0}.encounter-form-modal .unsaved-indicator{font-size:var(--font-size-sm);color:var(--warning-color);padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--warning-color);border-radius:var(--border-radius);background:#eab3081a;font-weight:500}.encounter-form-modal .modal-footer{padding-top:var(--spacing-lg);border-top:var(--border-width) solid var(--border-color);margin-top:var(--spacing-lg);justify-content:space-between;align-items:center;display:flex}@media (width<=768px){.encounter-form-modal{max-width:95%}.encounter-form-modal .modal-footer{gap:var(--spacing-md);flex-direction:column-reverse}.encounter-form-modal .modal-footer .btn{width:100%}}.autocomplete-wrapper{width:100%;position:relative}.autocomplete-empty{padding:var(--spacing-md);text-align:center;color:var(--text-muted)}.form-row{gap:var(--spacing-md);align-items:flex-start;display:flex}.form-row .flex-1{flex:1}.waypoint-selector-group{min-width:200px;max-width:250px}.waypoint-selector-group select{width:100%}@media (width<=768px){.form-row{flex-direction:column}.waypoint-selector-group{min-width:100%;max-width:none}}.btn-icon-ai{color:var(--primary-color);transition:all .2s}.btn-icon-ai:hover{color:var(--secondary-color);transform:scale(1.1)}.plot-ai-modal,.waypoint-ai-modal{max-width:700px;max-height:90vh;overflow-y:auto}.ai-modal-tabs{gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:var(--border-width) solid var(--border-color);display:flex}.ai-modal-tab{padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-secondary);border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius);color:var(--text-secondary);cursor:pointer;font-size:var(--font-size-sm);transition:all .2s}.ai-modal-tab:hover:not(:disabled){background:var(--bg-tertiary);border-color:var(--primary-color);color:var(--text-primary)}.ai-modal-tab.active{background:linear-gradient(135deg, var(--secondary-color) 0%, var(--primary-color) 100%);border-color:var(--primary-color);color:var(--bg-secondary);font-weight:600}.ai-modal-tab:disabled{opacity:.5;cursor:not-allowed}.ai-tab-content{min-height:300px}.tab-description{color:var(--text-secondary);margin-bottom:var(--spacing-lg);font-size:var(--font-size-sm)}.premise-list{gap:var(--spacing-md);margin-bottom:var(--spacing-lg);flex-direction:column;display:flex}.premise-card{padding:var(--spacing-md);background:var(--bg-secondary);border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius);cursor:pointer;transition:all .2s}.premise-card:hover{background:var(--bg-tertiary);border-color:var(--primary-color)}.premise-card.selected{border-color:var(--primary-color);background:#d4af371a;box-shadow:0 0 0 2px #d4af3733}.premise-card h5{margin:0 0 var(--spacing-sm) 0;color:var(--primary-color);font-size:var(--font-size-md)}.premise-card p{margin:0 0 var(--spacing-sm) 0;color:var(--text-primary);line-height:1.5}.premise-hooks{font-size:var(--font-size-sm);color:var(--text-secondary);padding-top:var(--spacing-sm);border-top:var(--border-width) solid var(--border-color)}.waypoint-number{background:var(--primary-color);width:24px;height:24px;color:var(--bg-secondary);font-size:var(--font-size-sm);border-radius:50%;justify-content:center;align-items:center;font-weight:600;display:flex}.result-instruction{color:var(--text-secondary);font-size:var(--font-size-sm);margin-bottom:var(--spacing-md)}.result-actions{justify-content:flex-end;gap:var(--spacing-sm);margin-top:var(--spacing-lg);padding-top:var(--spacing-md);border-top:var(--border-width) solid var(--border-color);display:flex}.refine-explanation{padding:var(--spacing-md);border:var(--border-width) solid var(--color-gold-dark);border-radius:var(--border-radius);margin-bottom:var(--spacing-lg);background:#d4af371a}@media (width<=768px){.plot-ai-modal,.waypoint-ai-modal{max-width:95%}.ai-modal-tabs{flex-wrap:wrap}.ai-modal-tab{min-width:calc(50% - var(--spacing-xs));text-align:center;flex:1}.result-actions{flex-direction:column}.result-actions .btn{width:100%}}.add-outline-btn{width:100%;margin-bottom:var(--spacing-md)}@media (width<=768px){.waypoint-ai-modal-large{max-width:95%}.scene-outlines-list{max-height:300px}.scene-outline-card{flex-wrap:wrap}.scene-outline-header{flex-direction:column}.scene-outline-actions{margin-top:var(--spacing-xs)}}.btn-close{color:var(--text-secondary);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--border-radius);background:0 0;border:none;font-size:1.5rem;line-height:1;transition:all .2s}.btn-close:hover{background:var(--bg-tertiary);color:var(--text-primary)}.player-layout{gap:var(--spacing-lg);grid-template-columns:1fr 350px;min-height:80vh;display:grid}.player-main{border:2px solid var(--secondary-color);border-radius:var(--border-radius-lg);padding:var(--spacing-xl);box-shadow:var(--box-shadow);background:linear-gradient(135deg,#1a1611e6 0%,#0f0d0ae6 100%);position:relative}.player-main:before,.player-main:after{content:"✦";color:var(--secondary-color);font-size:var(--font-size-2xl);position:absolute}.player-main:before{top:1rem;left:1rem}.player-main:after{bottom:1rem;right:1rem}.player-sidebar{gap:var(--spacing-md);flex-direction:column;display:flex}.sidebar-toggle-btn{width:100%;margin-bottom:var(--spacing-md);font-weight:600}.sidebar-section-jump{margin-bottom:var(--spacing-md)}.sidebar-section-jump .section-jump-select{width:100%;font-weight:600;font-size:var(--font-size-base);padding:var(--spacing-md) var(--spacing-md);border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius);background:var(--bg-secondary);box-shadow:var(--box-shadow);color:var(--text-secondary);font-family:var(--font-family);transition:all .3s}.player-actions{gap:var(--spacing-sm);display:flex}.section-jump-controls{align-items:center;gap:var(--spacing-sm);flex-shrink:0;display:flex}.section-jump-label{color:var(--text-secondary);font-size:var(--font-size-sm);white-space:nowrap}.section-jump-select{background:var(--bg-secondary);border:var(--border-width) solid var(--border-color-dark);color:var(--text-secondary);padding:var(--spacing-xs) var(--spacing-sm);font-family:var(--font-family);font-size:var(--font-size-sm);border-radius:var(--border-radius);cursor:pointer;min-width:200px;transition:all .3s}.section-jump-select:focus{border-color:var(--border-color);outline:none;box-shadow:0 0 10px #d4af3733}.section-jump-select:hover{border-color:var(--border-color)}.section-content{color:var(--text-secondary);line-height:1.8;font-size:var(--font-size-lg);margin-bottom:var(--spacing-xl)}.section-content h1,.section-content h2,.section-content h3{color:var(--primary-color);margin:var(--spacing-lg) 0 1rem 0;text-shadow:2px 2px 4px #00000080;font-family:Cinzel,serif}.section-content p{margin-bottom:1rem}.section-content em{color:var(--color-gold-light);font-style:italic}.section-content strong{color:var(--primary-color);font-weight:600}.connections-section{margin-top:var(--spacing-2xl);padding-top:var(--spacing-xl);border-top:2px solid var(--border-color-dark)}.connections-title{font-family:Cinzel,serif;font-size:var(--font-size-xl);color:var(--primary-color);text-shadow:2px 2px 4px #00000080;margin-bottom:1rem}.connection-buttons{flex-wrap:wrap;gap:1rem;display:flex}.connection-btn:before{content:"➤";margin-right:.5rem;transition:transform .3s;display:inline-block}.connection-btn{padding:var(--spacing-sm) 1.5rem;font-size:1rem}.encounter-card,.item-card{border-radius:var(--border-radius);box-shadow:var(--box-shadow);padding:var(--spacing-md)}.encounters-section,.items-section,.images-section{margin-bottom:var(--spacing-lg)}.encounters-section h3,.items-section h3,.images-section h3{margin-bottom:var(--spacing-md);color:var(--text-primary);font-size:var(--font-size-lg)}.encounter-creature{padding:var(--spacing-sm) 0;color:var(--text-secondary);border-bottom:1px solid var(--border-color-dark)}.encounter-creature:last-of-type{border-bottom:none}.creature-header-row{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.creature-name{color:var(--primary-color);font-weight:600;font-size:var(--font-size-md)}.creature-count{background:var(--secondary-color);color:var(--bg-secondary);border-radius:var(--border-radius-sm);font-weight:700;font-size:var(--font-size-sm);padding:.2rem .5rem}.creature-count-badge{background:linear-gradient(135deg, var(--secondary-color) 0%, var(--primary-color) 100%);color:var(--bg-secondary);border-radius:var(--border-radius-sm);font-weight:700;font-size:var(--font-size-sm);padding:.3rem .6rem;box-shadow:0 2px 4px #0000004d}.creature-stats{gap:1rem;margin-bottom:.3rem;font-size:.95rem;display:flex}.creature-stats .stat{color:var(--text-secondary)}.creature-stats-grid{gap:var(--spacing-md);margin-bottom:var(--spacing-sm);padding:var(--spacing-sm);border-radius:var(--border-radius-sm);background:#0003;flex-wrap:wrap;display:flex}.stat-item{color:var(--text-secondary);font-size:var(--font-size-sm)}.stat-item strong{color:var(--primary-color);margin-right:.25rem}.abilities-section{margin:var(--spacing-sm) 0;padding:var(--spacing-sm);border-radius:var(--border-radius-sm);border-left:var(--border-width-thick) solid var(--secondary-color);background:#0003}.abilities-section>strong{color:var(--primary-color);margin-bottom:var(--spacing-xs);font-size:var(--font-size-sm);display:block}.abilities-grid .ability{font-size:var(--font-size-sm);color:var(--text-secondary);border-radius:calc(var(--border-radius) / 2);text-align:center;background:#0000004d;padding:.25rem}.abilities-grid .ability strong{color:var(--primary-color);margin-right:.25rem}.creature-detail{margin:var(--spacing-xs) 0;font-size:var(--font-size-sm);color:var(--text-secondary);padding-left:var(--spacing-sm);border-left:var(--border-width) solid var(--border-color-dark)}.creature-detail strong{color:var(--text-primary);margin-right:.25rem}.creature-description{margin-top:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:var(--border-width) solid var(--border-color-dark);color:var(--text-secondary);font-style:italic;line-height:1.5}.creature-abilities{color:var(--text-light);font-size:.85rem;font-style:italic}.encounter-chance{border-top:1px solid var(--border-color-dark);color:var(--text-light);font-size:var(--font-size-sm);margin-top:.8rem;padding-top:.8rem;font-style:italic}.creatures{margin-top:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:1px solid var(--border-color)}.creatures h5{margin-bottom:var(--spacing-sm);color:var(--text-secondary);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.5px}.creature-info{padding:var(--spacing-sm);border-radius:calc(var(--border-radius) / 2)}.creature-info:last-child{margin-bottom:0}.item-card{cursor:pointer}.item-card:hover{border-color:var(--primary-color);box-shadow:0 0 15px #d4af374d}.item-entry{padding:var(--spacing-sm) 0;color:var(--text-secondary);border-bottom:1px solid var(--border-color-dark)}.item-entry:last-child{border-bottom:none}.item-header{align-items:center;gap:.5rem;margin-bottom:.3rem;display:flex}.item-name{color:var(--primary-color);font-weight:600}.item-chance-text{color:var(--text-light)}.items-grid{gap:var(--spacing-md);display:grid}.item-card-modern{border:var(--border-width) solid var(--border-color-dark);border-radius:var(--border-radius);padding:var(--spacing-md);background:linear-gradient(135deg,#0000004d 0%,#0003 100%);transition:all .3s;position:relative;overflow:hidden}.item-card-modern:before{content:"";background:linear-gradient(90deg, var(--secondary-color), var(--primary-color));opacity:0;height:3px;transition:opacity .3s;position:absolute;top:0;left:0;right:0}.item-card-modern:hover{border-color:var(--border-color);background:linear-gradient(135deg,#0006 0%,#0000004d 100%);transform:translateY(-2px);box-shadow:0 4px 12px #d4af3733}.item-card-modern:hover:before{opacity:1}.item-card-header{justify-content:space-between;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm);flex-wrap:wrap;display:flex}.item-name-modern{font-weight:600;font-size:var(--font-size-md);color:var(--primary-color);font-family:var(--font-family-heading);letter-spacing:.5px;flex:1;min-width:0}.item-type-badge{padding:var(--spacing-xs) var(--spacing-sm);border:var(--border-width) solid var(--secondary-color);border-radius:calc(var(--border-radius) / 2);color:var(--text-secondary);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;background:linear-gradient(135deg,#d4af3726 0%,#8b691426 100%);align-items:center;font-weight:500;display:inline-flex}.item-amount-pill{align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);border:var(--border-width) solid var(--border-color-dark);margin-bottom:var(--spacing-sm);background:#d4af371a;border-radius:999px;width:fit-content;display:inline-flex}.amount-icon{color:var(--primary-color);font-weight:700;font-size:var(--font-size-md);line-height:1}.amount-value{color:var(--text-primary);font-weight:600;font-size:var(--font-size-sm)}.item-description-modern{color:var(--text-secondary);font-size:var(--font-size-sm);margin-bottom:var(--spacing-sm);line-height:1.6}.item-description-modern p:last-child{margin-bottom:0}.item-chance-badge{align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);border:var(--border-width) solid var(--warning-color);border-radius:calc(var(--border-radius) / 2);margin-top:var(--spacing-sm);background:linear-gradient(135deg,#d9770626 0%,#b4530926 100%);width:fit-content;display:inline-flex}.chance-icon{font-size:var(--font-size-sm);line-height:1}.chance-text{color:#fbbf24;font-size:var(--font-size-xs);letter-spacing:.3px;font-weight:500}.section-image{object-fit:contain;border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius);cursor:pointer;width:100%;max-height:200px}.creature-actions>strong{margin-bottom:var(--spacing-sm);color:var(--color-gold-primary);display:block}.creature-actions .action-entry:last-child{margin-bottom:0}.creature-actions .action-header strong{color:var(--color-gold-primary);font-size:1em}.creature-actions .action-usage{color:var(--text-secondary);margin-left:var(--spacing-xs);font-size:.85em}.creature-actions .action-stats{gap:var(--spacing-sm);margin-bottom:var(--spacing-xs);flex-wrap:wrap;font-size:.9em;display:flex}.creature-actions .attack-bonus,.creature-actions .attack-damage,.creature-actions .attack-save{border:1px solid var(--color-gold-dark);color:var(--text-primary);background:#daa52026;border-radius:3px;padding:2px 6px}.creature-actions .action-description{font-size:.85em;line-height:1.4}@media (width<=1024px){.player-layout{gap:var(--spacing-md);grid-template-columns:1fr}.player-sidebar{order:-1}.player-actions{flex-direction:column;align-items:stretch}}@media (width<=768px){.section-jump-controls{width:100%}.section-jump-select{flex:1;min-width:0}}.creature-special-abilities,.creature-legendary-actions{border-top:1px solid #bfa67c33;margin-top:.75rem;padding-top:.75rem}.btn{padding:var(--spacing-sm) var(--spacing-md);background:linear-gradient(135deg, var(--color-bg-brown-dark) 0%, var(--bg-secondary) 100%);color:var(--primary-color);border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius);font-size:var(--font-size-sm);font-family:var(--font-family);letter-spacing:1px;cursor:pointer;justify-content:center;align-items:center;font-weight:500;text-decoration:none;transition:all .2s;display:inline-flex}.btn:hover{background:linear-gradient(135deg, var(--color-bg-brown-medium) 0%, var(--color-bg-brown-dark) 100%);border-color:var(--border-color-light);transform:translateY(-1px);box-shadow:0 2px 8px #d4af374d}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg, var(--secondary-color) 0%, var(--color-gold-darker) 100%);color:var(--bg-secondary);font-weight:600}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%)}.btn-secondary{background-color:var(--secondary-color)}.btn-secondary:hover:not(:disabled){background:linear-gradient(135deg, var(--color-bg-brown-medium) 0%, var(--color-bg-brown-dark) 100%);border-color:var(--border-color-light);transform:translateY(-1px);box-shadow:0 2px 8px #d4af374d}.btn-danger{background:linear-gradient(135deg, var(--color-danger-dark) 0%, var(--color-danger-darkest) 100%);color:var(--color-danger-light);border-color:var(--color-danger-medium)}.btn-danger:hover:not(:disabled){background:linear-gradient(135deg, var(--color-danger-medium) 0%, var(--color-danger-dark) 100%);border-color:var(--color-danger-light);color:#fff;transform:translateY(-1px);box-shadow:0 2px 8px #dc262666}.btn-ai{border:var(--border-width) solid #8a2be280;color:var(--text-normal);padding:var(--spacing-md);border-radius:var(--border-radius);cursor:pointer;text-align:left;font-weight:500;font-size:var(--font-size-sm);background:linear-gradient(135deg,#8a2be2cc 0%,#4b0082cc 100%);transition:all .2s}.btn-ai:hover:not(:disabled){background:linear-gradient(135deg,#8a2be2 0%,indigo 100%);transform:translateY(-2px);box-shadow:0 4px 12px #8a2be266}.btn-ai:disabled{opacity:.6;cursor:not-allowed;position:relative}.btn-ai.btn-loading:disabled:after{content:"";border:2px solid #ffffff4d;border-top-color:#fffc;border-radius:50%;width:14px;height:14px;margin:-7px 0 0 -7px;animation:.8s linear infinite spinner;position:absolute;top:50%;left:50%}@keyframes spinner{to{transform:rotate(360deg)}}.btn-ai:focus-visible{outline-offset:2px;outline:2px solid #8a2be2}.btn-xs{font-size:var(--font-size-xs);padding:2px 6px}.btn-sm{font-size:var(--font-size-xs);padding:4px 8px}.btn-lg{white-space:nowrap;padding:var(--spacing-md) var(--spacing-xl);font-size:var(--font-size-md);letter-spacing:.5px;min-width:8.125rem;font-weight:600}@media (prefers-reduced-motion:reduce){.btn{transition:none}.btn:hover{transform:none}.btn-ai.btn-loading:disabled:after{animation:none!important}}.btn-icon{color:var(--text-secondary);cursor:pointer;padding:var(--spacing-xs);font-size:var(--font-size-md);border-radius:var(--border-radius-sm);background:0 0;border:none;justify-content:center;align-items:center;line-height:1;transition:all .2s;display:inline-flex}.btn-icon:hover:not(:disabled){color:var(--primary-color);background:#ffffff1a}.btn-icon:disabled{opacity:.5;cursor:not-allowed}.btn-icon-content{justify-content:center;align-items:center;display:inline-flex}.btn-icon-sm{font-size:var(--font-size-sm);padding:2px}.btn-icon-md{padding:var(--spacing-xs);font-size:var(--font-size-md)}.btn-icon-lg{padding:var(--spacing-sm);font-size:var(--font-size-lg)}.btn-icon-ghost{color:var(--text-secondary);background:0 0;border:none}.btn-icon-ghost:hover:not(:disabled){color:var(--primary-color);background:var(--bg-tertiary)}.btn-icon-primary{background:var(--primary-color);color:var(--bg-secondary);border:var(--border-width) solid var(--primary-color)}.btn-icon-primary:hover:not(:disabled){background:var(--secondary-color);border-color:var(--secondary-color);color:var(--bg-secondary)}.btn-icon-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:var(--border-width) solid var(--border-color)}.btn-icon-secondary:hover:not(:disabled){background:var(--bg-secondary);border-color:var(--primary-color);color:var(--primary-color)}.btn-icon-danger{color:var(--danger-color);background:0 0;border:none}.btn-icon-danger:hover:not(:disabled){color:var(--danger-color);background:#dc35451a}.btn-icon-ghost-danger{color:var(--text-secondary);background:0 0;border:none}.btn-icon-ghost-danger:hover:not(:disabled){color:var(--danger-color);background:#dc35451a}.card{border:2px solid var(--secondary-color);border-radius:var(--border-radius-lg);padding:var(--spacing-md);background:linear-gradient(135deg,#1a1611f2 0%,#0f0d0af2 100%);transition:all .3s;position:relative}.card-header{color:var(--primary-color);border-bottom:1px solid var(--border-color-dark);text-transform:uppercase;letter-spacing:1px;margin-bottom:.8rem;padding-bottom:.5rem;font-family:Cinzel,serif;font-size:1rem}.card-header h3{font-size:var(--font-size-xl);margin-bottom:var(--spacing-sm);font-weight:600}.card-title{font-size:var(--font-size-lg);color:var(--primary-color);margin:0;font-weight:600}.card-subtitle{color:var(--text-secondary);font-size:var(--font-size-sm);margin-top:var(--spacing-xs)}.card-meta{gap:var(--spacing-sm);color:var(--text-light);font-size:var(--font-size-sm);letter-spacing:1px;flex-wrap:wrap;display:flex}.card-meta>span{border:1px solid var(--border-color);padding:var(--spacing-xs) var(--spacing-sm);border-radius:calc(var(--border-radius) / 2);font-size:var(--font-size-sm);font-weight:500}.card-content{padding:var(--spacing-lg)}.card-actions{gap:var(--spacing-sm);padding-top:var(--spacing-lg);margin-top:var(--spacing-md);border-top:var(--border-width) solid var(--border-color-dark);display:flex}.card-header-top{justify-content:space-between;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-sm);display:flex}.card.clickable{cursor:pointer}.card.clickable:hover{border-color:var(--primary-color);transform:translateY(-2px);box-shadow:0 4px 16px #d4af3733}@media (width<=768px){.card-actions{flex-direction:column}.card-actions .btn{width:100%}}@media (width<=640px){.card-actions{gap:var(--spacing-xs)}}.modal-overlay{z-index:2000;padding:var(--spacing-md);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000d9;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:linear-gradient(135deg, var(--bg-card-gradient-start) 0%, var(--bg-card-gradient-end) 100%);border:var(--border-width-thick) solid var(--border-color);border-radius:var(--border-radius-lg);padding:var(--spacing-xl);flex-direction:column;width:100%;max-height:90vh;display:flex;position:relative;box-shadow:0 20px 60px #000000e6,inset 0 1px #d4af3733}.modal-small{max-width:400px}.modal-medium{max-width:500px}.modal-large{max-width:900px}.modal-full{width:95vw;max-width:95vw}.modal-header{margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-md);border-bottom:var(--border-width) solid var(--border-color);justify-content:space-between;align-items:center;display:flex}.modal-header h2{font-family:var(--font-family-heading);font-size:var(--font-size-2xl);color:var(--primary-color);text-shadow:2px 2px 4px #00000080;margin:0}.modal-close-btn{color:var(--text-secondary);font-size:var(--font-size-3xl);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:32px;height:32px;padding:0;line-height:1;transition:all .2s;display:flex}.modal-close-btn:hover{color:var(--primary-color);transform:rotate(90deg)}.modal-body{margin-bottom:var(--spacing-lg);flex:1;min-height:0;overflow:hidden auto}.modal-footer{gap:var(--spacing-sm);padding-top:var(--spacing-md);border-top:var(--border-width) solid var(--border-color-dark);justify-content:flex-end;display:flex}.modal-actions{gap:var(--spacing-sm);margin-top:var(--spacing-xl);justify-content:flex-end;display:flex}@media (width<=768px){.modal-content,.modal-small,.modal-medium,.modal-large{padding:var(--spacing-lg);max-width:95%}.modal-full{width:98vw;max-width:98vw}.modal-header h2{font-size:var(--font-size-xl)}.modal-actions,.modal-footer{flex-direction:column}.modal-actions .btn,.modal-footer .btn{width:100%}}@media (width<=480px){.modal-overlay{padding:var(--spacing-sm)}}.form-group{margin-bottom:var(--spacing-lg)}.form-group.has-error .form-label{color:var(--color-danger-medium)}.form-group .form-label{color:var(--text-normal);font-size:var(--font-size-sm);margin-bottom:var(--spacing-xs);font-weight:500;font-family:var(--font-family);text-transform:none;letter-spacing:normal;display:block}.required-mark{color:var(--color-danger-medium);margin-left:2px}.form-control-wrapper{position:relative}.form-error-message{color:var(--color-danger-medium);font-size:var(--font-size-sm);margin-top:var(--spacing-xs);display:block}.form-help-text{color:var(--text-muted);font-size:var(--font-size-xs);margin-top:var(--spacing-xs);line-height:1.4}.form-help-text a{color:var(--primary-color);font-weight:500;text-decoration:none;transition:color .2s}.form-help-text a:hover{color:var(--primary-hover);text-decoration:underline}.form-row{gap:var(--spacing-md);display:flex}.form-row .form-group{flex:1}.form-actions{gap:var(--spacing-sm);margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:var(--border-width) solid var(--border-color);justify-content:flex-end;display:flex}.form-checkbox-label{align-items:center;gap:var(--spacing-sm);color:var(--text-secondary);font-size:var(--font-size-base);cursor:pointer;-webkit-user-select:none;user-select:none;display:flex}.form-checkbox-label input[type=checkbox]{cursor:pointer;width:auto;accent-color:var(--primary-color)}@media (width<=640px){.form-row{flex-direction:column;gap:0}.form-actions{flex-direction:column}.form-actions .btn{width:100%}}@media (prefers-reduced-motion:reduce){.form-help-text a{transition:none}}.badge{border-radius:var(--border-radius,4px);white-space:nowrap;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.875rem;font-weight:500;line-height:1.2;transition:all .2s;display:inline-flex}.badge-sm{padding:.125rem .375rem;font-size:.75rem}.badge-md{padding:.25rem .5rem;font-size:.875rem}.badge-lg{padding:.375rem .75rem;font-size:1rem}.badge-default{background-color:var(--bg-secondary,#f3f4f6);color:var(--text-primary,#1f2937);border:1px solid var(--border-color,#e5e7eb)}.badge-primary{background-color:var(--primary-color,#3b82f6);color:#fff}.badge-success{background-color:var(--success-color,#10b981);color:#fff}.badge-warning{background-color:var(--warning-color,#f59e0b);color:#fff}.badge-danger{background-color:var(--danger-color,#ef4444);color:#fff}.badge-info{background-color:var(--info-color,#06b6d4);color:#fff}.badge-clickable{cursor:pointer;-webkit-user-select:none;user-select:none}.badge-clickable:hover{opacity:.85;transform:translateY(-1px)}.badge-clickable:active{transform:translateY(0)}.badge-clickable:focus{outline:2px solid var(--primary-color,#3b82f6);outline-offset:2px}.badge-icon{align-items:center;font-size:1em;display:inline-flex}.tag{background-color:var(--bg-secondary,#f3f4f6);color:var(--text-primary,#1f2937);border:1px solid var(--border-color,#e5e7eb);border-radius:var(--border-radius,4px);white-space:nowrap;align-items:center;padding:.25rem .5rem;font-size:.875rem;font-weight:500;display:inline-flex}.status-badge{border-radius:var(--border-radius,4px);white-space:nowrap;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.875rem;font-weight:500;display:inline-flex}.status-badge-pending{color:#92400e;background-color:#fef3c7;border:1px solid #fbbf24}.status-badge-draft{color:#1e40af;background-color:#dbeafe;border:1px solid #60a5fa}.status-badge-success,.status-badge-approved{color:#065f46;background-color:#d1fae5;border:1px solid #34d399}.checkbox-wrapper{align-items:flex-start;gap:var(--spacing-sm);cursor:pointer;-webkit-user-select:none;user-select:none;display:inline-flex}.checkbox-wrapper.checkbox-disabled{cursor:not-allowed;opacity:.5}.checkbox-input-wrapper{flex-shrink:0;position:relative}.checkbox-input{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.checkbox-custom{background:var(--bg-secondary);border:var(--border-width-thick) solid var(--border-color);border-radius:var(--border-radius-sm);justify-content:center;align-items:center;width:20px;height:20px;transition:border-color .15s,background .15s;display:flex}.checkbox-icon{color:#0000;width:12px;height:12px;transition:none}.checkbox-wrapper:hover:not(.checkbox-disabled) .checkbox-custom{border-color:var(--primary-color)}.checkbox-wrapper:hover:not(.checkbox-disabled) .checkbox-input:not(:checked)+.checkbox-custom{background:var(--bg-tertiary)}.checkbox-wrapper:hover:not(.checkbox-disabled) .checkbox-input:checked+.checkbox-custom{filter:brightness(1.1)}.checkbox-input:focus-visible+.checkbox-custom{border-color:var(--primary-color);box-shadow:0 0 0 3px #d4af3733}.checkbox-input:checked+.checkbox-custom{background:var(--primary-color);border-color:var(--primary-color)}.checkbox-input:checked+.checkbox-custom .checkbox-icon{color:var(--bg-primary)}.checkbox-disabled .checkbox-input:checked+.checkbox-custom{background:var(--text-muted);border-color:var(--text-muted)}.checkbox-label-wrapper{flex-direction:column;gap:2px;padding-top:1px;display:flex}.checkbox-label{color:var(--text-primary);font-size:var(--font-size-base);line-height:1.4}.checkbox-description{color:var(--text-muted);font-size:var(--font-size-sm);line-height:1.4}.checkbox-sm .checkbox-custom{width:16px;height:16px}.checkbox-sm .checkbox-icon{width:10px;height:10px}.checkbox-sm .checkbox-label{font-size:var(--font-size-sm)}.checkbox-lg .checkbox-custom{width:24px;height:24px}.checkbox-lg .checkbox-icon{width:14px;height:14px}.checkbox-lg .checkbox-label{font-size:var(--font-size-md)}.toggle-wrapper{align-items:center;gap:var(--spacing-sm);cursor:pointer;-webkit-user-select:none;user-select:none;flex-wrap:wrap;display:inline-flex}.toggle-wrapper.toggle-disabled{cursor:not-allowed;opacity:.5}.toggle-input-wrapper{flex-shrink:0;align-self:center;position:relative}.toggle-input{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.toggle-track{background:var(--bg-tertiary);border:var(--border-width) solid var(--border-color);border-radius:11px;align-items:center;width:40px;height:22px;padding:2px;transition:all .2s;display:flex}.toggle-thumb{background:var(--text-muted);border-radius:50%;width:16px;height:16px;transition:all .2s;box-shadow:0 1px 3px #0000004d}.toggle-wrapper:hover:not(.toggle-disabled) .toggle-track{border-color:var(--primary-color)}.toggle-wrapper:hover:not(.toggle-disabled) .toggle-thumb{background:var(--text-secondary)}.toggle-input:focus-visible+.toggle-track{border-color:var(--primary-color);box-shadow:0 0 0 3px #d4af3733}.toggle-input:checked+.toggle-track{background:var(--primary-color);border-color:var(--primary-color)}.toggle-input:checked+.toggle-track .toggle-thumb{background:var(--bg-primary);transform:translate(18px)}.toggle-disabled .toggle-input:checked+.toggle-track{background:var(--text-muted);border-color:var(--text-muted)}.toggle-label-wrapper{display:contents}.toggle-label{color:var(--text-primary);font-size:var(--font-size-base);align-self:center;line-height:1.4}.toggle-description{width:100%;color:var(--text-muted);font-size:var(--font-size-sm);margin-top:calc(var(--spacing-xs) * -1);line-height:1.4}.toggle-sm .toggle-track{border-radius:9px;width:32px;height:18px}.toggle-sm .toggle-thumb{width:12px;height:12px}.toggle-sm .toggle-input:checked+.toggle-track .toggle-thumb{transform:translate(14px)}.toggle-sm .toggle-label{font-size:var(--font-size-sm)}.toggle-lg .toggle-track{border-radius:14px;width:50px;height:28px;padding:3px}.toggle-lg .toggle-thumb{width:20px;height:20px}.toggle-lg .toggle-input:checked+.toggle-track .toggle-thumb{transform:translate(22px)}.toggle-lg .toggle-label{font-size:var(--font-size-md)}@media (prefers-reduced-motion:reduce){.checkbox-custom,.checkbox-icon,.toggle-track,.toggle-thumb{transition:none}}.text-input{width:100%;padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-input);color:var(--text-primary);border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius);font-size:var(--font-size-base);font-family:var(--font-family);transition:border-color .2s,box-shadow .2s}.text-input::placeholder{color:var(--text-muted)}.text-input:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 2px #d4af371a}.text-input:disabled{opacity:.6;cursor:not-allowed;background:var(--bg-tertiary)}.text-input:read-only{background:var(--bg-tertiary)}.text-input-error{border-color:var(--color-danger-medium)}.text-input-error:focus{border-color:var(--color-danger-medium);box-shadow:0 0 0 2px #dc35451a}.text-input-sm{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm)}.text-input-lg{padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-md)}@media (prefers-reduced-motion:reduce){.text-input{transition:none}}.textarea-wrapper{width:100%;position:relative}.textarea{width:100%;padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-input);color:var(--text-primary);border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius);font-size:var(--font-size-base);font-family:var(--font-family);line-height:1.5;transition:border-color .2s,box-shadow .2s}.textarea::placeholder{color:var(--text-muted)}.textarea:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 2px #d4af371a}.textarea:disabled{opacity:.6;cursor:not-allowed;background:var(--bg-tertiary)}.textarea:read-only{background:var(--bg-tertiary)}.textarea-resize-none{resize:none}.textarea-resize-vertical{resize:vertical}.textarea-resize-horizontal{resize:horizontal}.textarea-resize-both{resize:both}.textarea-error{border-color:var(--color-danger-medium)}.textarea-error:focus{border-color:var(--color-danger-medium);box-shadow:0 0 0 2px #dc35451a}.textarea-char-count{bottom:var(--spacing-sm);right:var(--spacing-sm);font-size:var(--font-size-xs);color:var(--text-muted);pointer-events:none;background:var(--bg-input);border-radius:var(--border-radius-sm);padding:2px 4px;position:absolute}.textarea-char-count.near-limit{color:var(--color-warning-medium)}.textarea-char-count.over-limit{color:var(--color-danger-medium);font-weight:600}@media (prefers-reduced-motion:reduce){.textarea{transition:none}}.spinner{border:3px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;animation:.8s linear infinite spinner-rotate;display:inline-block}.spinner-sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.spinner-xs{border-width:2px;width:16px;height:16px}.spinner-sm{border-width:2px;width:24px;height:24px}.spinner-md{border-width:3px;width:40px;height:40px}.spinner-lg{border-width:4px;width:56px;height:56px}.spinner-xl{border-width:5px;width:72px;height:72px}.spinner-container{padding:var(--spacing-xl);justify-content:center;align-items:center;display:flex}.loading-state{justify-content:center;align-items:center;gap:var(--spacing-md);padding:var(--spacing-2xl);text-align:center;flex-direction:column;display:flex}.loading-message{color:var(--text-secondary);font-size:var(--font-size-sm);margin:0}.spinner-inline{vertical-align:middle;width:14px;height:14px;margin-right:var(--spacing-xs);border:2px solid #ffffff4d;border-top-color:currentColor;border-radius:50%;animation:.8s linear infinite spinner-rotate;display:inline-block}@keyframes spinner-rotate{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner,.spinner-inline{border-top-color:var(--primary-color);border-right-color:var(--primary-color);opacity:.7;animation:none}}.empty-state{text-align:center;padding:var(--spacing-2xl);color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;display:flex}.empty-state-icon{margin-bottom:var(--spacing-md);opacity:.8;font-size:3rem}.empty-state-title{margin:0 0 var(--spacing-sm) 0;font-size:var(--font-size-lg);color:var(--text-primary);font-weight:600}.empty-state-description{margin:0 0 var(--spacing-lg) 0;font-size:var(--font-size-base);color:var(--text-muted);max-width:400px;line-height:1.5}.empty-state-action{margin-top:var(--spacing-sm)}.empty-state-sm{padding:var(--spacing-lg)}.empty-state-sm .empty-state-icon{margin-bottom:var(--spacing-sm);font-size:2rem}.empty-state-sm .empty-state-title{font-size:var(--font-size-base)}.empty-state-sm .empty-state-description{font-size:var(--font-size-sm);margin-bottom:var(--spacing-md)}.empty-state-lg{padding:var(--spacing-3xl)}.empty-state-lg .empty-state-icon{margin-bottom:var(--spacing-lg);font-size:4rem}.empty-state-lg .empty-state-title{font-size:var(--font-size-xl)}.empty-state-lg .empty-state-description{font-size:var(--font-size-md);max-width:500px}.search-bar{gap:var(--spacing-sm);align-items:stretch;width:100%;display:flex}.search-bar-input-wrapper{flex:1;align-items:center;display:flex;position:relative}.search-bar-icon{left:var(--spacing-md);pointer-events:none;font-size:var(--font-size-sm);opacity:.6;position:absolute}.search-bar-input{width:100%;padding:var(--spacing-sm) var(--spacing-md);padding-left:calc(var(--spacing-md) + 1.5em);padding-right:calc(var(--spacing-md) + 1.5em);background:var(--bg-input);color:var(--text-primary);border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius);font-size:var(--font-size-base);font-family:var(--font-family);transition:border-color .2s,box-shadow .2s}.search-bar-input::placeholder{color:var(--text-muted)}.search-bar-input:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 2px #d4af371a}.search-bar-input:disabled{opacity:.6;cursor:not-allowed}.search-bar-clear{right:var(--spacing-sm);width:24px;height:24px;color:var(--text-muted);font-size:var(--font-size-sm);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:background-color .2s,color .2s;display:flex;position:absolute}.search-bar-clear:hover{background:var(--bg-tertiary);color:var(--text-primary)}.search-bar-spinner{right:var(--spacing-sm);border:2px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite search-bar-spin;position:absolute}@keyframes search-bar-spin{to{transform:rotate(360deg)}}.search-bar-with-button .search-bar-input{border-top-right-radius:0;border-bottom-right-radius:0}.search-bar-with-button .btn{white-space:nowrap;border-top-left-radius:0;border-bottom-left-radius:0}.search-bar-sm .search-bar-input{padding:var(--spacing-xs) var(--spacing-sm);padding-left:calc(var(--spacing-sm) + 1.5em);padding-right:calc(var(--spacing-sm) + 1.5em);font-size:var(--font-size-sm)}.search-bar-sm .search-bar-icon{left:var(--spacing-sm);font-size:var(--font-size-xs)}.search-bar-sm .search-bar-clear{right:var(--spacing-xs);width:20px;height:20px}.search-bar-lg .search-bar-input{padding:var(--spacing-md) var(--spacing-lg);padding-left:calc(var(--spacing-lg) + 1.5em);padding-right:calc(var(--spacing-lg) + 1.5em);font-size:var(--font-size-md)}.search-bar-lg .search-bar-icon{left:var(--spacing-lg)}.search-bar-lg .search-bar-clear{right:var(--spacing-md);width:28px;height:28px}@media (width<=480px){.search-bar-with-button{flex-direction:column}.search-bar-with-button .search-bar-input,.search-bar-with-button .btn{border-radius:var(--border-radius)}}@media (prefers-reduced-motion:reduce){.search-bar-input{transition:none}.search-bar-spinner{opacity:.7;animation:none}}.confirm-dialog{text-align:center;max-width:400px;padding:2rem}.confirm-dialog-icon{margin-bottom:1rem;font-size:3rem}.confirm-dialog-icon.warning{color:var(--color-warning)}.confirm-dialog-icon.danger{color:var(--color-danger-light)}.confirm-dialog-icon.info{color:var(--primary-color)}.confirm-dialog h3{font-size:var(--font-size-xl);margin-bottom:var(--spacing-md);color:var(--text-primary)}.confirm-dialog p{color:var(--text-secondary);margin-bottom:var(--spacing-lg);line-height:1.6}.confirm-dialog .modal-actions{margin-top:var(--spacing-lg);justify-content:center}.dropdown-container{display:inline-block;position:relative}.dropdown-trigger{cursor:pointer}.dropdown-menu{background:var(--bg-primary);border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius);z-index:1000;min-width:200px;margin-top:4px;position:absolute;top:100%;right:0;overflow:hidden;box-shadow:0 4px 12px #0000004d}.dropdown-menu-left{left:0;right:auto}.dropdown-menu-right{left:auto;right:0}.dropdown-item{width:100%;padding:var(--spacing-md);border:none;border-bottom:var(--border-width) solid var(--border-color);color:var(--text-primary);text-align:left;cursor:pointer;font-size:var(--font-size-md);background:0 0;transition:background .2s;display:block}.dropdown-item:last-child{border-bottom:none}.dropdown-item:hover{background:var(--bg-secondary)}.dropdown-item:active{background:var(--bg-tertiary)}.dropdown-menu.user-menu{background:linear-gradient(135deg, var(--color-bg-brown-dark) 0%, var(--bg-secondary) 100%);border:var(--border-width-thick) solid var(--border-color);min-width:180px;box-shadow:0 10px 25px #000c,0 0 15px #d4af3733}.dropdown-menu.user-menu .dropdown-item{padding:var(--spacing-md) var(--spacing-lg);color:var(--text-secondary);font-family:var(--font-family);font-size:var(--font-size-base);border-bottom:var(--border-width) solid var(--border-color-dark);font-weight:500}.dropdown-menu.user-menu .dropdown-item:last-child{border-bottom:none}.dropdown-menu.user-menu .dropdown-item:hover{background:linear-gradient(135deg, var(--color-bg-brown-medium) 0%, var(--color-bg-brown-dark) 100%);color:var(--primary-color)}.dropdown-menu.user-menu .dropdown-item-danger:hover{background:linear-gradient(135deg, var(--color-danger-dark) 0%, var(--color-danger-darkest) 100%);color:var(--color-danger-light)}.dropdown-separator{background:linear-gradient(90deg, transparent, var(--border-color), transparent);height:1px;margin:var(--spacing-xs) 0}.dropdown-badge{min-width:1.25rem;height:1.25rem;padding:0 var(--spacing-xs);font-size:var(--font-size-xs);background:var(--color-danger-primary);color:var(--text-primary);margin-left:var(--spacing-sm);border-radius:999px;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.split-button-container{display:inline-flex;position:relative}.split-button-group{border-radius:var(--border-radius);box-shadow:var(--box-shadow);display:flex;overflow:hidden}.split-button-main{padding:var(--spacing-sm) var(--spacing-md);background:linear-gradient(135deg, var(--secondary-color) 0%, var(--color-gold-darker) 100%);color:var(--bg-secondary);border:var(--border-width) solid #0003;font-family:var(--font-family);font-size:var(--font-size-base);cursor:pointer;justify-content:center;align-items:center;gap:var(--spacing-sm);border-top-left-radius:var(--border-radius);border-bottom-left-radius:var(--border-radius);flex-shrink:0;width:100px;transition:all .2s;display:flex;position:relative}.split-button-main:hover:not(:disabled){background:linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%)}.split-button-main:active:not(:disabled){transform:translateY(1px)}.split-button-main:disabled{opacity:.5;cursor:not-allowed}.split-button-toggle{padding:var(--spacing-sm);background:linear-gradient(135deg, var(--secondary-color) 0%, var(--color-gold-darker) 100%);color:var(--bg-secondary);border:var(--border-width) solid #0003;font-size:var(--font-size-sm);cursor:pointer;border-top-right-radius:var(--border-radius);border-bottom-right-radius:var(--border-radius);border-left:1px solid #0000004d;justify-content:center;align-items:center;min-width:32px;transition:all .2s;display:flex}.split-button-toggle:hover:not(:disabled){background:linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%)}.split-button-toggle:disabled{opacity:.7;cursor:not-allowed;filter:brightness(.95)}.split-button-toggle.active{background:linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%)}.indicator{gap:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--text-light)}.split-button-main .indicator{pointer-events:none;justify-content:center;align-items:center;display:flex}.indicator.indicator-unsaved{color:var(--warning-color);text-shadow:0 0 10px var(--warning-color)}.indicator.indicator-autosave{color:var(--success-color);text-shadow:0 0 10px var(--success-color);animation:2s ease-in-out infinite pulse}.split-button-container .dropdown-menu{top:calc(100% + var(--spacing-xs));background:var(--color-bg-brown-black);border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius);min-width:150px;box-shadow:var(--box-shadow-lg);z-index:1000;animation:.15s ease-out slideDown;position:absolute;right:0;overflow:hidden}.split-button-container .menu-item{padding:var(--spacing-sm) var(--spacing-md);color:var(--text-secondary);font-family:var(--font-family);font-size:var(--font-size-sm);cursor:pointer;align-items:center;gap:var(--spacing-sm);text-align:left;background:0 0;border:none;width:100%;transition:all .2s;display:flex}.split-button-container .menu-item:hover:not(:disabled){background:var(--color-bg-brown-medium);color:var(--text-primary)}.split-button-container .menu-item:disabled{opacity:.5;cursor:not-allowed}.split-button-container .menu-item+.menu-item{border-top:var(--border-width) solid var(--border-color-dark)}.split-button-container .menu-divider{background:var(--border-color);height:1px;margin:var(--spacing-xs) 0}.split-button-container .chevron-down{stroke:currentColor;stroke-width:2px;fill:none;stroke-linecap:round;stroke-linejoin:round;width:12px;height:12px}.collapsible-section{margin:var(--spacing-md) 0}.collapsible-header{align-items:center;gap:var(--spacing-sm);border:var(--border-width) solid var(--border-color-dark);border-radius:var(--border-radius);border-left:var(--border-width-thicker) solid var(--color-gold-dark);background:linear-gradient(135deg,#1a1611cc 0%,#2a241699 100%);transition:all .3s;display:flex}.collapsible-header:hover{border-left-color:var(--primary-color);background:linear-gradient(135deg,#2a2416e6 0%,#3a3322b3 100%)}.collapsible-toggle{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);color:var(--text-primary);cursor:pointer;font-size:var(--font-size-md);text-align:left;background:0 0;border:none;flex:1;font-weight:500;display:flex}.collapsible-toggle .toggle-icon{text-align:center;-webkit-user-select:none;user-select:none;flex-shrink:0;width:16px;font-size:.8em;transition:transform .2s;display:inline-block}.collapsible-toggle .collapsible-title{flex:1}.collapsible-action{padding-right:var(--spacing-md);flex-shrink:0}.collapsible-content{border-radius:var(--border-radius)}.autocomplete-container,.autocomplete-wrapper{width:100%;position:relative}.autocomplete-input{width:100%}.autocomplete-dropdown{background:var(--bg-secondary);border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius);max-height:300px;margin-top:var(--spacing-xs);z-index:2100;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 4px 8px #00000080}.autocomplete-option{padding:var(--spacing-sm) var(--spacing-md);cursor:pointer;border-bottom:var(--border-width) solid var(--border-color-dark);transition:background-color .2s}.autocomplete-option:last-child{border-bottom:none}.autocomplete-option:hover,.autocomplete-option.highlighted{background:var(--hover-color)}.autocomplete-option-label{color:var(--text-normal);font-weight:500}.autocomplete-option-id{color:var(--text-muted);font-size:var(--font-size-sm);margin-top:var(--spacing-xs);font-family:Courier New,monospace}.autocomplete-option-main{align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-xs);display:flex}.autocomplete-option-meta{font-size:var(--font-size-sm);color:var(--text-muted)}.autocomplete-option-desc{font-size:var(--font-size-sm);color:var(--text-muted);margin-top:var(--spacing-xs);line-height:1.4}.autocomplete-option-desc p{margin:0}.autocomplete-option-desc code{background:var(--bg-secondary);border-radius:3px;padding:1px 4px;font-size:.9em}.autocomplete-loading,.autocomplete-empty{padding:var(--spacing-md);text-align:center;color:var(--text-muted)}.autocomplete-loading{font-style:italic}.autocomplete-empty{opacity:.7}.search-loading-indicator{font-size:var(--font-size-lg);position:absolute;top:50%;right:12px;transform:translateY(-50%)}.creature-type-badge,.rarity-badge{font-size:var(--font-size-xs);background:var(--bg-secondary);color:var(--text-muted);border:1px solid var(--border-color);border-radius:3px;padding:2px 6px}.rarity-common{background:#80808033;border-color:#888}.rarity-uncommon{color:#1eff00;background:#1eff0033;border-color:#1eff00}.rarity-rare{color:#0070dd;background:#0070dd33;border-color:#0070dd}.rarity-very-rare{color:#a335ee;background:#a335ee33;border-color:#a335ee}.rarity-legendary{color:#ff8000;background:#ff800033;border-color:#ff8000}.rarity-artifact{color:#e6cc80;background:#e6cc8033;border-color:#e6cc80}.quick-search-container{margin-bottom:var(--spacing-md)}.quick-search-input{width:100%;padding-right:40px}.quick-search-row{gap:var(--spacing-sm);align-items:stretch;display:flex}.quick-search-row .autocomplete-wrapper{flex-direction:column;flex:1;display:flex}.quick-search-row .quick-search-input{height:100%;min-height:42px}.quick-search-row .btn{white-space:nowrap;height:auto;min-height:42px;padding:var(--spacing-sm) var(--spacing-md);justify-content:center;align-items:center;margin-top:0;display:flex}.chips-input-container{width:100%}.chips-input-wrapper{align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm);background:var(--bg-secondary);border:var(--border-width-thick) solid var(--border-color-dark);border-radius:var(--border-radius);flex-wrap:wrap;min-height:45px;transition:all .3s;display:flex}.chips-input-wrapper:focus-within{border-color:var(--border-color);box-shadow:0 0 10px #d4af3733}.chip{align-items:center;gap:var(--spacing-xs);padding:4px var(--spacing-sm);background:var(--bg-tertiary);border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);color:var(--text-primary);transition:all .2s;display:inline-flex}.chip-remove{color:var(--text-secondary);cursor:pointer;font-size:var(--font-size-lg);background:0 0;border:none;padding:0;line-height:1;transition:color .2s}.chip-remove:hover{color:var(--color-danger-light)}.chips-input{min-width:120px;color:var(--text-primary);font-size:var(--font-size-base);background:0 0;border:none;outline:none;flex:1;padding:4px}.chips-input:focus{outline:none}.chips-input-loading{padding:4px var(--spacing-sm);color:var(--text-muted);font-size:var(--font-size-sm);font-style:italic}.chips-input-dropdown{background:var(--bg-secondary);border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius);max-height:200px;margin-top:var(--spacing-xs);z-index:2100;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 4px 8px #00000080}.chips-input-item{padding:var(--spacing-sm) var(--spacing-md);cursor:pointer;border-bottom:var(--border-width) solid var(--border-color-dark);transition:background .2s}.chips-input-item:hover,.chips-input-item.selected{background:var(--hover-color)}.chips-input-item.chips-input-custom{color:var(--text-secondary);border-top:var(--border-width) solid var(--border-color);font-style:italic}.chips-input-custom-label{font-size:var(--font-size-xs);color:var(--text-muted);text-transform:uppercase}.chips-input-empty{padding:var(--spacing-md);text-align:center;color:var(--text-muted);font-size:var(--font-size-sm)}.inline-editor{width:100%}.inline-editor.display{border-radius:var(--border-radius-sm);cursor:pointer;border:1px solid #0000;min-height:1.5em;margin:-5px -8px;padding:4px 8px;transition:all .2s;position:relative}.inline-editor.display:hover{background:#ffffff0d;border-color:#fff3}.inline-editor.display:after{content:"✎";opacity:0;color:var(--text-secondary);font-size:.8em;transition:opacity .2s;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.inline-editor.display:hover:after{opacity:.5}.inline-editor.display.empty{color:var(--text-secondary);border:1px dashed var(--border-color);background:#ffffff05;margin:0;font-style:italic}.inline-editor.editing textarea,.inline-editor.editing input{resize:vertical;background:var(--bg-tertiary);border:1px solid var(--primary-color);border-radius:var(--border-radius-sm);width:100%;min-height:60px;color:var(--text-primary);font-family:inherit;font-size:inherit;line-height:inherit;padding:6px 8px}.inline-editor.editing textarea{box-sizing:content-box}.inline-editor.editing input{height:auto;min-height:auto}.inline-editor-actions{gap:var(--spacing-xs);margin-top:var(--spacing-xs);display:flex}.tooltip-portal{z-index:1001;margin-top:4px;position:absolute;top:100%;left:0}.tooltip-header{border-bottom:var(--border-width) solid var(--border-color-dark);justify-content:space-between;align-items:flex-start;margin-bottom:8px;padding-bottom:8px;display:flex}.tooltip-header h4{margin:0;font-size:15px;font-weight:600}.tooltip-header .close-btn{cursor:pointer;color:var(--text-muted);background:0 0;border:none;padding:0;font-size:20px;line-height:1}.tooltip-header .close-btn:hover{color:var(--danger-color)}.tooltip-content{font-size:13px}.tooltip-content .description{margin:8px 0;line-height:1.4}.tooltip-content .effects,.tooltip-content .common-sources,.tooltip-content .removal{margin:8px 0}.tooltip-content ul{margin:4px 0;padding-left:20px}.tooltip-content li{margin:2px 0;line-height:1.3}.tooltip-content strong{color:var(--text-primary);font-weight:600}.info-modal{max-width:700px}.info-modal-body{max-height:60vh;padding-right:var(--spacing-sm);overflow-y:auto}.info-content{color:var(--text-secondary);line-height:1.7}.info-content h3{font-family:var(--font-family-heading);font-size:var(--font-size-xl);color:var(--primary-color);margin-bottom:var(--spacing-lg);text-transform:uppercase;letter-spacing:1px}.info-content h4{font-family:var(--font-family-heading);font-size:var(--font-size-lg);color:var(--text-primary);margin-top:var(--spacing-lg);margin-bottom:var(--spacing-md)}.info-content p{margin-bottom:var(--spacing-md)}.info-content ul{margin:var(--spacing-md) 0;padding-left:var(--spacing-xl)}.info-content li{margin-bottom:var(--spacing-sm)}.info-content a{color:var(--primary-color);text-decoration:underline;transition:color .2s}.info-content a:hover{color:var(--primary-hover)}@media (width<=768px){.info-modal{max-width:95%}.info-modal-body{max-height:70vh}}.entry-card{padding:var(--spacing-md);border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius);border-left:var(--border-width-thicker) solid var(--color-gold-dark);margin-bottom:var(--spacing-md);background:#1a161180}.entry-card:first-child{margin-top:var(--spacing-md)}.entry-card-header{margin-bottom:var(--spacing-sm);justify-content:space-between;align-items:center;display:flex}.entry-card-header strong{color:var(--color-gold-primary);font-size:1.1em}.entry-card-actions{gap:var(--spacing-xs);display:flex}.entry-card-description{margin-top:var(--spacing-sm);color:var(--text-secondary);font-size:.9em;line-height:1.5}.action-details{gap:var(--spacing-md);margin-bottom:var(--spacing-sm);color:var(--text-secondary);flex-wrap:wrap;display:flex}.attack-bonus,.attack-damage,.attack-save,.attack-usage{border:1px solid var(--color-gold-dark);background:#daa52026;border-radius:4px;padding:2px 8px;font-size:.9em}.ability-header strong{color:var(--color-gold-primary)}.create-adventure-modal{max-width:650px}.brainstorm-section{margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:var(--border-width) solid var(--border-color)}.brainstorm-header h3{margin:0 0 var(--spacing-xs) 0;font-size:var(--font-size-lg);color:var(--primary-color)}.brainstorm-description{color:var(--text-secondary);font-size:var(--font-size-sm);margin:0 0 var(--spacing-md) 0}.brainstorm-options-toggle{color:var(--text-secondary);cursor:pointer;padding:var(--spacing-xs) 0;font-size:var(--font-size-sm);margin-bottom:var(--spacing-md);align-items:center;gap:var(--spacing-xs);background:0 0;border:none;transition:color .2s;display:flex}.brainstorm-options-toggle:hover{color:var(--text-primary)}.brainstorm-options-toggle .toggle-icon{font-size:.65rem}.brainstorm-extra-fields{margin-bottom:var(--spacing-md)}.premise-results{margin-top:var(--spacing-sm)}@media (width<=768px){.create-adventure-modal{max-width:95%}}.breadcrumb{margin-bottom:var(--spacing-md);position:relative}.breadcrumb:after{content:"";height:1px;margin-top:var(--spacing-sm);background:linear-gradient(90deg, var(--color-gold-dark), transparent 70%);opacity:.25;display:block}.breadcrumb-list{flex-wrap:wrap;align-items:center;gap:0;margin:0;padding:0;list-style:none;display:flex}.breadcrumb-item{align-items:center;gap:0;animation:.35s ease-out backwards breadcrumb-item-enter;display:flex}.breadcrumb-item:first-child{animation-delay:0s}.breadcrumb-item:nth-child(2){animation-delay:80ms}.breadcrumb-item:nth-child(3){animation-delay:.16s}@keyframes breadcrumb-item-enter{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:translate(0)}}.breadcrumb-link,.breadcrumb-text{font-family:Cinzel,serif;font-size:var(--font-size-sm);letter-spacing:1.5px;text-transform:uppercase}.breadcrumb-link{color:var(--color-beige-medium);cursor:pointer;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm);white-space:nowrap;background:0 0;border:none;text-decoration:none;transition:color .25s,background .25s,text-shadow .25s;position:relative}.breadcrumb-link:hover{color:var(--primary-color);text-shadow:0 0 12px #d4af3733;background:linear-gradient(135deg,#d4af371a 0%,#8b691414 100%)}.breadcrumb-link:focus-visible{outline:1px solid var(--secondary-color);outline-offset:2px}.breadcrumb-link:after{content:"";bottom:2px;left:var(--spacing-sm);right:var(--spacing-sm);background:linear-gradient(90deg, var(--primary-color), transparent);transform-origin:0;height:1px;transition:transform .3s;position:absolute;transform:scaleX(0)}.breadcrumb-link:hover:after{transform:scaleX(1)}.breadcrumb-link-current{color:var(--primary-color);border:var(--border-width) solid #8b691480;text-shadow:0 0 10px #d4af3726;background:linear-gradient(135deg,#d4af3714 0%,#8b69140f 100%);font-weight:600}.breadcrumb-link-current:hover{border-color:var(--secondary-color);background:linear-gradient(135deg,#d4af3724 0%,#8b69141a 100%)}.breadcrumb-text{color:var(--color-beige-medium);padding:var(--spacing-xs) var(--spacing-sm);white-space:nowrap}.breadcrumb-item-current .breadcrumb-text{color:var(--primary-color);border:var(--border-width) solid #8b691480;border-radius:var(--border-radius-sm);text-shadow:0 0 10px #d4af3726;background:linear-gradient(135deg,#d4af3714 0%,#8b69140f 100%);font-weight:600}.breadcrumb-separator{background:var(--color-gold-dark);color:#0000;opacity:.4;width:5px;height:5px;margin:0 var(--spacing-sm);flex-shrink:0;font-size:0;line-height:0;display:inline-block;overflow:hidden;transform:rotate(45deg)}.breadcrumb-chevron{opacity:.55;margin-left:.35em;font-size:.6em;transition:transform .2s,opacity .2s;display:inline-block}.breadcrumb-link:hover .breadcrumb-chevron{opacity:.85}.breadcrumb-dropdown{align-items:center;display:flex}.breadcrumb-dropdown-menu{background:linear-gradient(170deg, var(--color-bg-brown-dark) 0%, var(--color-bg-brown-black) 100%);border:var(--border-width) solid var(--color-gold-dark);border-radius:var(--border-radius);min-width:230px;max-height:340px;padding:var(--spacing-xs) 0;animation:.2s ease-out breadcrumb-dropdown-enter;overflow-y:auto;box-shadow:0 12px 32px #000000b3,0 0 1px #d4af374d,inset 0 1px #d4af370d}@keyframes breadcrumb-dropdown-enter{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.breadcrumb-dropdown-menu::-webkit-scrollbar{width:4px}.breadcrumb-dropdown-menu::-webkit-scrollbar-track{background:0 0}.breadcrumb-dropdown-menu::-webkit-scrollbar-thumb{background:var(--color-gold-dark);opacity:.5;border-radius:2px}.breadcrumb-dropdown-item{font-family:Cinzel,serif;font-size:var(--font-size-sm);letter-spacing:.5px;color:var(--color-beige-light);padding:var(--spacing-sm) var(--spacing-md);border-bottom:none;transition:color .2s,background .2s,padding-left .2s;position:relative}.breadcrumb-dropdown-item:hover{color:var(--primary-color);padding-left:calc(var(--spacing-md) + 4px);background:linear-gradient(90deg,#d4af371a,#0000 90%)}.breadcrumb-dropdown-item-active{color:var(--primary-color);font-weight:600}.breadcrumb-dropdown-item-active:before{content:"";left:var(--spacing-sm);background:var(--primary-color);width:4px;height:4px;position:absolute;top:50%;transform:translateY(-50%)rotate(45deg)}.breadcrumb-dropdown-item-active,.breadcrumb-dropdown-item-active:hover{padding-left:calc(var(--spacing-md) + 8px)}@media (width<=768px){.breadcrumb-link,.breadcrumb-text{font-size:var(--font-size-xs);letter-spacing:1px;padding:calc(var(--spacing-xs) * .75) var(--spacing-xs)}.breadcrumb-separator{width:4px;height:4px;margin:0 var(--spacing-xs)}.breadcrumb-dropdown-menu{min-width:190px}}.plot-ai-modal{max-width:700px;max-height:90vh;overflow-y:auto}.waypoint-preview-list{gap:var(--spacing-md);margin-bottom:var(--spacing-lg);flex-direction:column;display:flex}.waypoint-preview-card{padding:var(--spacing-md);background:var(--bg-secondary);border:var(--border-width) solid var(--border-color);border-left:3px solid var(--primary-color);border-radius:var(--border-radius)}.waypoint-preview-header{align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm);display:flex}.waypoint-number{background:var(--primary-color);width:24px;height:24px;color:var(--bg-secondary);font-size:var(--font-size-sm);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:600;display:flex}.waypoint-preview-header h5{color:var(--text-primary);font-size:var(--font-size-md);margin:0}.waypoint-goal{color:var(--text-secondary);font-size:var(--font-size-sm);margin:0;line-height:1.5}.current-waypoints-preview{padding:var(--spacing-md);background:var(--bg-secondary);border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius);margin-bottom:var(--spacing-lg)}.current-waypoints-preview h5{margin:0 0 var(--spacing-sm) 0;color:var(--text-secondary);font-size:var(--font-size-sm);text-transform:uppercase}.waypoint-summary-list{padding-left:var(--spacing-lg);margin:0;list-style:none}.waypoint-summary-list li{margin-bottom:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--text-primary)}.waypoint-summary-list li strong{color:var(--primary-color)}.ai-feedback{padding:var(--spacing-md);border:var(--border-width) solid var(--color-gold-dark);border-radius:var(--border-radius);margin-bottom:var(--spacing-lg);background:#d4af371a}.plot-assist-examples .help-text{color:var(--text-secondary);font-size:var(--font-size-sm);margin:0}.ai-attribution{text-align:right;font-size:var(--font-size-xs);color:var(--text-muted);margin-top:var(--spacing-sm)}.ai-attribution .model-name{font-weight:600}@media (width<=768px){.plot-ai-modal{max-width:95%}}.waypoint-ai-modal{max-width:700px;max-height:90vh;overflow-y:auto}.waypoint-ai-modal-large{max-width:800px}.waypoint-context-card{padding:var(--spacing-lg);border:var(--border-width) solid var(--border-color-dark);border-left:3px solid var(--primary-color);border-radius:var(--border-radius);margin-bottom:var(--spacing-lg);background:linear-gradient(135deg,#1a1611cc 0%,#2a241699 100%)}.waypoint-context-header{margin-bottom:var(--spacing-sm)}.waypoint-badge{font-size:var(--font-size-xs);color:var(--text-secondary);background:var(--bg-tertiary);border-radius:var(--border-radius);margin-bottom:var(--spacing-xs);padding:2px 8px;display:inline-block}.waypoint-context-card h3{color:var(--primary-color);font-size:var(--font-size-lg);margin:0}.waypoint-goal-text{color:var(--text-secondary);margin:0;line-height:1.5}.existing-scenes-note{margin:var(--spacing-md) 0 0 0;padding-top:var(--spacing-sm);border-top:var(--border-width) solid var(--border-color);color:var(--text-secondary);font-size:var(--font-size-sm);font-style:italic}.scene-preview-list{gap:var(--spacing-md);margin-bottom:var(--spacing-lg);flex-direction:column;display:flex}.scene-preview-card{padding:var(--spacing-md);background:var(--bg-secondary);border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius)}.scene-preview-header h5{margin:0 0 var(--spacing-sm) 0;color:var(--text-primary);font-size:var(--font-size-md)}.scene-description-preview{margin-bottom:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--text-secondary)}.scene-content-summary{gap:var(--spacing-xs);margin-bottom:var(--spacing-sm);flex-wrap:wrap;display:flex}.content-badge{font-size:var(--font-size-xs);border-radius:var(--border-radius);background:var(--bg-tertiary);color:var(--text-secondary);padding:2px 8px}.content-badge.encounters{color:#dc2626;background:#dc26261a;border:1px solid #dc26264d}.content-badge.items{color:#3b82f6;background:#2563eb1a;border:1px solid #2563eb4d}.encounter-preview{padding:var(--spacing-xs) var(--spacing-sm);background:var(--bg-tertiary);border-radius:var(--border-radius);font-size:var(--font-size-sm);margin-bottom:var(--spacing-xs)}.encounter-preview strong{color:var(--text-primary)}.creature-list{color:var(--text-secondary);margin-left:var(--spacing-xs)}.outlines-header{margin-bottom:var(--spacing-md);justify-content:space-between;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.outlines-header-left{align-items:center;gap:var(--spacing-md);display:flex}.outlines-header-left h4{margin:0}.outlines-header-right{gap:var(--spacing-sm);display:flex}.ai-notes-banner{background:var(--color-info-bg,#e8f4fd);border:1px solid var(--color-info-border,#b3d9f2);border-radius:var(--border-radius);padding:var(--spacing-sm) var(--spacing-md);margin-bottom:var(--spacing-md);font-size:var(--font-size-sm)}.scene-outlines-list{gap:var(--spacing-sm);margin-bottom:var(--spacing-md);flex-direction:column;max-height:400px;display:flex;overflow-y:auto}.add-outline-btn{width:100%}.expand-progress{background:var(--color-surface-elevated);border-radius:var(--border-radius);padding:var(--spacing-md);margin-bottom:var(--spacing-md);text-align:center}.expand-progress p{margin:0 0 var(--spacing-sm) 0;font-size:var(--font-size-sm);color:var(--text-secondary)}.progress-bar{background:var(--color-border);border-radius:4px;width:100%;height:8px;overflow:hidden}.progress-fill{background:var(--color-primary);height:100%;transition:width .3s}@media (width<=768px){.waypoint-ai-modal,.waypoint-ai-modal-large{max-width:95%}.scene-outlines-list{max-height:300px}}.scene-outline-card{align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius);transition:border-color .2s,background-color .2s;display:flex}.scene-outline-card:hover{border-color:var(--color-border-hover,var(--color-primary-light))}.scene-outline-card.selected{border-color:var(--color-primary);background:var(--color-primary-bg,#4f46e50d)}.scene-outline-card.editing{background:var(--color-surface-elevated,#f8f9fa)}.scene-outline-select{flex-shrink:0;padding-top:2px}.scene-outline-select input[type=checkbox]{cursor:pointer;width:18px;height:18px}.scene-outline-number{background:var(--color-primary);color:#fff;width:24px;height:24px;font-size:var(--font-size-sm);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:600;display:flex}.scene-outline-content{flex:1;min-width:0}.scene-outline-header{justify-content:space-between;align-items:flex-start;gap:var(--spacing-sm);margin-bottom:var(--spacing-xs);display:flex}.scene-outline-title{font-size:var(--font-size-base);word-break:break-word;margin:0;font-weight:600}.scene-outline-actions{gap:var(--spacing-xs);flex-shrink:0;display:flex}.scene-outline-summary{margin:0 0 var(--spacing-xs) 0;color:var(--text-secondary);font-size:var(--font-size-sm);line-height:1.5}.scene-outline-tags{gap:var(--spacing-xs);margin-bottom:var(--spacing-xs);flex-wrap:wrap;display:flex}.scene-outline-tag{background:var(--color-surface-elevated,#f0f0f0);font-size:var(--font-size-xs);color:var(--text-secondary);border-radius:12px;padding:2px 8px;display:inline-block}.scene-outline-tag.tag-combat{color:#991b1b;background:#fee2e2}.scene-outline-tag.tag-puzzle{color:#1e40af;background:#dbeafe}.scene-outline-tag.tag-social,.scene-outline-tag.tag-NPC{color:#92400e;background:#fef3c7}.scene-outline-tag.tag-trap{color:#9d174d;background:#fce7f3}.scene-outline-tag.tag-lore,.scene-outline-tag.tag-exploration{color:#065f46;background:#d1fae5}.scene-outline-tag.tag-stealth{color:#3730a3;background:#e0e7ff}.scene-outline-tag.tag-chase{color:#c2410c;background:#ffedd5}.scene-outline-role{margin-top:var(--spacing-xs)}.role-badge{background:var(--color-primary-bg,#4f46e51a);color:var(--color-primary);font-size:var(--font-size-xs);text-transform:capitalize;border-radius:4px;padding:2px 8px;font-weight:500;display:inline-block}.scene-outline-title-input{width:100%;margin-bottom:var(--spacing-xs);font-weight:600}.scene-outline-summary-input{resize:vertical;width:100%;min-height:60px}.scene-outline-edit-actions{gap:var(--spacing-sm);margin-top:var(--spacing-sm);display:flex}@media (width<=768px){.scene-outline-card{flex-wrap:wrap}.scene-outline-header{flex-direction:column}.scene-outline-actions{margin-top:var(--spacing-xs)}}.creature-card{border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius);padding:var(--spacing-md);background:var(--bg-secondary);gap:var(--spacing-md);flex-direction:column;height:100%;transition:all .3s;display:flex}.creature-card:hover{border-color:var(--primary-color);transform:translateY(-2px);box-shadow:0 4px 12px #2563eb33}.creature-card .card-header{justify-content:space-between;align-items:flex-start;gap:var(--spacing-md);display:flex}.creature-card .card-title-section{gap:var(--spacing-xs);flex-direction:column;flex:1;display:flex}.creature-card .card-title{font-size:var(--font-size-md);color:var(--text-primary);margin:0;font-weight:600}.creature-card .card-source{font-size:var(--font-size-sm);color:var(--text-secondary);background:var(--bg-tertiary);border-radius:4px;width:fit-content;padding:2px 6px;display:inline-block}.creature-card .card-cr{color:var(--primary-color);font-weight:700;font-size:var(--font-size-md);padding:var(--spacing-xs) var(--spacing-sm);white-space:nowrap;background:#2563eb1a;border-radius:4px}.creature-card .card-body{gap:var(--spacing-md);flex-direction:column;flex:1;display:flex}.creature-card .creature-metadata{gap:var(--spacing-xs);font-size:var(--font-size-sm);flex-wrap:wrap;display:flex}.creature-card .meta-item{background:var(--bg-tertiary);padding:var(--spacing-xs) var(--spacing-sm);color:var(--text-secondary);border-radius:4px}.creature-card .creature-stats{gap:var(--spacing-xs);font-size:var(--font-size-sm);flex-direction:column;display:flex}.creature-card .stat-row{justify-content:space-between;display:flex}.creature-card .stat-label{color:var(--text-secondary);font-weight:500}.creature-card .stat-value{font-size:var(--font-size-sm);color:var(--text-primary);font-weight:600}.creature-card .card-description{font-size:var(--font-size-sm);color:var(--text-secondary);margin:0;line-height:1.4}.creature-card .ability-scores{grid-template-columns:repeat(6,1fr);gap:4px;display:grid}.creature-card .ability-item{padding:var(--spacing-xs);background:var(--bg-tertiary);font-size:var(--font-size-xs);text-align:center;border-radius:4px;flex-direction:column;align-items:center;display:flex}.creature-card .ability-label{color:var(--text-secondary);text-transform:uppercase;font-size:10px;font-weight:600}.creature-card .ability-value{color:var(--primary-color);font-weight:700;font-size:var(--font-size-sm)}.creature-card .ability-modifier{color:var(--text-secondary);font-size:10px;font-weight:500}.creature-card .card-footer{gap:var(--spacing-sm);border-top:var(--border-width) solid var(--border-color);padding-top:var(--spacing-md);display:flex}.item-card{border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius);padding:var(--spacing-md);background:var(--bg-secondary);gap:var(--spacing-md);flex-direction:column;transition:all .2s;display:flex}.item-card:hover{border-color:var(--primary-color);transform:translateY(-2px);box-shadow:0 4px 12px #2563eb33}.item-card .card-header{justify-content:space-between;align-items:flex-start;gap:var(--spacing-md);display:flex}.item-card .card-title{font-size:var(--font-size-md);color:var(--text-primary);margin:0;font-weight:600}.item-card .item-rarity{font-size:var(--font-size-xs);padding:var(--spacing-xs) var(--spacing-sm);text-transform:uppercase;letter-spacing:.5px;border-radius:4px;font-weight:600}.item-card .rarity-common{color:#64748b;background:#64748b33}.item-card .rarity-uncommon{color:#22c55e;background:#22c55e33}.item-card .rarity-rare{color:#3b82f6;background:#3b82f633}.item-card .rarity-very-rare{color:#a855f7;background:#a855f733}.item-card .rarity-legendary{color:#eab308;background:#eab30833}.item-card .card-body{gap:var(--spacing-md);flex-direction:column;flex:1;display:flex}.item-card .item-metadata{gap:var(--spacing-xs);font-size:var(--font-size-sm);flex-wrap:wrap;display:flex}.item-card .meta-item{background:var(--bg-tertiary);padding:var(--spacing-xs) var(--spacing-sm);color:var(--text-secondary);border-radius:4px}.item-card .attunement-required{color:#ef4444;background:#ef444433;font-weight:600}.item-card .item-description{font-size:var(--font-size-sm);color:var(--text-secondary);margin:0;line-height:1.4}.item-card .item-properties{gap:var(--spacing-xs);flex-wrap:wrap;display:flex}.item-card .property-badge{font-size:var(--font-size-xs);background:var(--bg-tertiary);color:var(--text-secondary);border-radius:4px;padding:2px 6px}.item-card .card-footer{gap:var(--spacing-sm);border-top:var(--border-width) solid var(--border-color);padding-top:var(--spacing-md);display:flex}.spell-search-modal{max-width:900px;max-height:90vh;overflow-y:auto}.spell-search-filters{margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-lg);border-bottom:1px solid var(--border-color)}.spell-search-filters .form-row{gap:var(--spacing-md);grid-template-columns:2fr 1fr 1fr;display:grid}.spell-search-results{min-height:300px}.spells-grid{gap:var(--spacing-md);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));display:grid}.spell-card{padding:var(--spacing-md);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius);cursor:pointer;transition:all .2s}.spell-card:hover{border-color:var(--primary-color);box-shadow:0 2px 8px #2563eb33}.spell-card.selected{border-color:var(--primary-color);background:#2563eb1a}.spell-card-header{align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-sm);display:flex}.spell-card-checkbox{align-items:center;display:flex}.spell-card-title{flex:1}.spell-card-title h4{font-size:var(--font-size-base);margin:0;font-weight:600}.spell-card-body{margin-bottom:var(--spacing-sm)}.spell-card-description{color:var(--text-secondary);font-size:var(--font-size-sm);margin:0;line-height:1.4}.spell-card-actions{justify-content:flex-end;gap:var(--spacing-sm);display:flex}@media (width<=1024px){.spell-search-filters .form-row{grid-template-columns:1fr}}@media (width<=768px){.spells-grid{grid-template-columns:1fr}}.spellcasting-section-wrapper{margin-top:var(--spacing-lg)}.spellcasting-section{margin-top:var(--spacing-md);padding:var(--spacing-lg);border:1px solid var(--border-color);border-radius:var(--border-radius);border-left:3px solid var(--color-gold-dark);background:#1a161180}.spellcasting-section .section-header{padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border-color)}.spellcasting-stats{margin-bottom:var(--spacing-lg)}.spellcasting-stats .form-row{gap:var(--spacing-md);margin-bottom:var(--spacing-md);grid-template-columns:repeat(4,1fr);display:grid}.component-checkboxes{gap:var(--spacing-md);padding:var(--spacing-sm) 0;align-items:center;display:flex}.checkbox-label{align-items:center;gap:var(--spacing-xs);cursor:pointer;font-weight:500;display:flex}.checkbox-label input[type=checkbox]{cursor:pointer}.spell-slots-section{margin-bottom:var(--spacing-lg);padding:var(--spacing-md);background:var(--bg-secondary);border-radius:var(--border-radius);border:1px solid var(--border-color)}.spell-slots-section>.form-label{margin-bottom:var(--spacing-md);color:var(--text-secondary);font-weight:600;display:block}.spell-slots-grid{gap:var(--spacing-sm);grid-template-columns:repeat(9,1fr);display:grid}.spell-slot-input{align-items:center;gap:var(--spacing-xs);flex-direction:column;display:flex}.slot-label{font-size:var(--font-size-xs);color:var(--text-secondary);text-transform:uppercase;font-weight:600}.slot-input{text-align:center;width:50px;padding:var(--spacing-xs);font-weight:600}.spells-by-level{gap:var(--spacing-md);flex-direction:column;display:flex}.spell-level-group{padding:var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--border-radius);background:#2a24164d}.spell-level-header{margin-bottom:var(--spacing-sm)}.spell-level-name{color:var(--color-gold-primary);font-weight:600}.spell-level-content{align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.spell-chips{gap:var(--spacing-xs);flex-wrap:wrap;display:flex}.chip-gold{border-color:var(--color-gold-dark);background:#daa52026}.chip-gold:hover{background:#daa52033}.spell-add-controls{gap:var(--spacing-sm);flex:1;align-items:center;min-width:200px;display:flex}.spell-browse-btn{white-space:nowrap}.spell-autocomplete{flex:1;min-width:150px;position:relative}.spell-autocomplete-input{width:100%}.spell-autocomplete-loading{right:var(--spacing-sm);color:var(--text-secondary);font-size:var(--font-size-sm);position:absolute;top:50%;transform:translateY(-50%)}.spell-autocomplete-dropdown{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--border-radius);z-index:1000;max-height:300px;margin-top:4px;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 4px 12px #0000004d}.spell-autocomplete-item{padding:var(--spacing-sm) var(--spacing-md);cursor:pointer;justify-content:space-between;align-items:center;transition:background .2s;display:flex}.spell-autocomplete-item:hover,.spell-autocomplete-item.selected{background:var(--bg-secondary)}.spell-autocomplete-item .spell-name{font-weight:500}.spell-level-badge{font-size:var(--font-size-xs);border:1px solid var(--color-gold-dark);color:var(--color-gold-primary);background:#daa52026;border-radius:4px;padding:2px 6px}@media (width<=1024px){.spellcasting-stats .form-row{grid-template-columns:repeat(2,1fr)}.spell-slots-grid{grid-template-columns:repeat(5,1fr)}}@media (width<=768px){.spellcasting-stats .form-row{grid-template-columns:1fr}.spell-slots-grid{grid-template-columns:repeat(3,1fr)}.spell-add-controls{flex-direction:column;align-items:stretch}.spell-browse-btn{width:100%}}.help-tooltip-container{vertical-align:middle;margin-left:4px;display:inline-block;position:relative}.help-icon{background:var(--bg-tertiary);width:18px;height:18px;color:var(--text-secondary);border:1px solid var(--border-color);cursor:help;border-radius:50%;justify-content:center;align-items:center;padding:0;font-family:sans-serif;font-size:12px;line-height:1;transition:all .2s;display:inline-flex}.help-icon:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.help-tooltip-content{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:var(--spacing-sm) var(--spacing-md);white-space:normal;max-width:350px;font-size:var(--font-size-sm);color:var(--text-primary);z-index:1000;pointer-events:none;line-height:1.4;position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%);box-shadow:0 4px 12px #0000004d}.help-tooltip-content:after{content:"";border:6px solid #0000;border-top-color:var(--border-color);position:absolute;top:100%;left:50%;transform:translate(-50%)}.encounter-editor-form{background:var(--bg-primary);border-radius:var(--border-radius);padding:var(--spacing-lg);margin-top:var(--spacing-lg)}.encounter-editor-form .form-header{margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:var(--border-width) solid var(--border-color)}.encounter-editor-form .form-header h4{margin:0 0 var(--spacing-xs) 0}.encounter-editor-form .form-subtitle{color:var(--text-secondary);font-size:var(--font-size-sm);margin:0}.encounter-editor-form .abilities-section{background:var(--bg-secondary);padding:var(--spacing-md);border-radius:var(--border-radius);border:var(--border-width) solid var(--border-color)}.encounter-editor-form .abilities-section h5{margin:0 0 var(--spacing-md) 0;font-size:var(--font-size-md)}.encounter-editor-form .abilities-grid{gap:var(--spacing-md);grid-template-columns:repeat(6,1fr);display:grid}.encounter-editor-form .ability-input{gap:var(--spacing-xs);flex-direction:column;display:flex}.encounter-editor-form .ability-label{font-weight:600;font-size:var(--font-size-xs);color:var(--text-secondary);text-transform:uppercase}.encounter-editor-form .ability-input-field{padding:var(--spacing-sm);border:var(--border-width) solid var(--border-color);background:var(--bg-primary);color:var(--text-primary);text-align:center;font-weight:600;font-size:var(--font-size-md);border-radius:4px}.encounter-editor-form .form-row-text{gap:var(--spacing-md);grid-template-columns:1fr 1fr;display:grid}.creatures-management,.loot-management{background:var(--bg-secondary);border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius);padding:var(--spacing-md);margin:var(--spacing-lg) 0}.creatures-management .creatures-header,.loot-management .creatures-header{margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:var(--border-width) solid var(--border-color);justify-content:space-between;align-items:center;display:flex}.creatures-management .creatures-header h5,.loot-management .creatures-header h5{font-size:var(--font-size-md);margin:0}.creatures-management .creatures-list,.loot-management .loot-list{gap:var(--spacing-sm);flex-direction:column;display:flex}.creatures-management .creature-entry,.loot-management .loot-entry{gap:var(--spacing-sm);padding:var(--spacing-md);background:var(--bg-primary);border:var(--border-width) solid var(--border-color);border-radius:4px;flex-direction:column;transition:all .2s;display:flex}.creatures-management .creature-entry>:first-child,.loot-management .loot-entry>:first-child{justify-content:space-between;align-items:center;width:100%;display:flex}.creatures-management .creature-entry:hover,.loot-management .loot-entry:hover{border-color:var(--primary-color);box-shadow:0 2px 8px #2563eb26}.creatures-management .creature-entry-error{background:#dc35450d;border-color:#dc3545}.creatures-management .creature-info,.loot-management .loot-info{gap:var(--spacing-md);flex:1;align-items:center;display:flex}.creatures-management .creature-name,.loot-management .loot-name{color:var(--text-primary);font-weight:600}.creature-count-wrapper{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.creature-count-label{align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-xs);color:var(--text-secondary);text-transform:uppercase;margin:0;font-weight:600;display:flex}.creature-count-input{text-align:center;border:var(--border-width) solid var(--border-color);background:var(--bg-secondary);width:100px;color:var(--text-primary);font-weight:600;font-size:var(--font-size-sm);border-radius:4px;padding:4px 8px;transition:border-color .2s}.creature-count-input:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 2px #2563eb1a}.creatures-management .creature-stat,.loot-management .loot-stat{font-size:var(--font-size-sm);color:var(--text-secondary);background:var(--bg-secondary);border-radius:4px;padding:2px 8px}.loot-management .markdown-content{padding:0 var(--spacing-sm);font-size:var(--font-size-sm);color:var(--text-secondary);margin:0;line-height:1.5}.creature-action-buttons{gap:var(--spacing-sm);display:flex}.creatures-management .creature-no-match{gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm);background:#d977061a;border:1px solid #d977064d;border-radius:4px;align-items:center;display:flex}.creatures-management .creature-no-match .text-muted{color:var(--warning-color)}.creature-editor-modal{max-width:800px;max-height:90vh;overflow-y:auto}.creature-editor-modal .abilities-section{background:var(--bg-secondary);padding:var(--spacing-md);border-radius:var(--border-radius);border:var(--border-width) solid var(--border-color);margin:var(--spacing-md) 0}.creature-editor-modal .abilities-section h5{margin:0 0 var(--spacing-md) 0;font-size:var(--font-size-md)}.creature-editor-modal .abilities-grid{gap:var(--spacing-md);grid-template-columns:repeat(6,1fr);display:grid}.creature-editor-modal .ability-input{gap:var(--spacing-xs);flex-direction:column;display:flex}.creature-editor-modal .ability-label{font-weight:600;font-size:var(--font-size-xs);color:var(--text-secondary);text-transform:uppercase}.creature-editor-modal .ability-input-field{padding:var(--spacing-sm);border:var(--border-width) solid var(--border-color);background:var(--bg-primary);color:var(--text-primary);text-align:center;font-weight:600;font-size:var(--font-size-md);border-radius:4px}.creature-editor-modal .form-row-text{gap:var(--spacing-md);grid-template-columns:1fr 1fr;display:grid}@media (width<=1024px){.encounter-editor-form .form-row,.encounter-editor-form .form-row-text{grid-template-columns:1fr}.encounter-editor-form .abilities-grid,.creature-editor-modal .abilities-grid{grid-template-columns:repeat(3,1fr)}.creature-editor-modal .form-row-text{grid-template-columns:1fr}}@media (width<=768px){.creatures-management .creature-entry,.loot-management .loot-entry{align-items:flex-start;gap:var(--spacing-sm);flex-direction:column}.creatures-management .creature-action-buttons,.creature-action-buttons{flex-wrap:wrap;width:100%}.creatures-management .creature-action-buttons .btn,.creature-action-buttons .btn{flex:1}.creature-count-wrapper,.creature-count-input{width:100%}.encounter-editor-form .abilities-grid{grid-template-columns:repeat(2,1fr)}.encounter-editor-form .form-row-text{grid-template-columns:1fr}.creature-editor-modal .abilities-grid{grid-template-columns:repeat(2,1fr)}.creature-editor-modal .form-row-text{grid-template-columns:1fr}}.image-form-modal{max-width:600px;max-height:90vh;overflow-y:auto}.storage-stats{padding:var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--border-radius);margin-bottom:var(--spacing-lg);background:#0000004d}.storage-label{margin-bottom:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--text-secondary);justify-content:space-between;align-items:center;display:flex}.storage-count{color:var(--text-secondary)}.storage-bar{background:var(--bg-tertiary);border-radius:4px;height:8px;overflow:hidden}.storage-bar-fill{background:linear-gradient(90deg, var(--primary-color), var(--secondary-color));height:100%;transition:width .3s}.radio-group{gap:var(--spacing-md);display:flex}.radio-option{align-items:center;gap:var(--spacing-sm);cursor:pointer;padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius);transition:all .2s;display:flex}.radio-option:hover{background:var(--bg-tertiary);border-color:var(--primary-color)}.radio-option input[type=radio]{cursor:pointer}.radio-option input[type=radio]:checked+span{color:var(--primary-color);font-weight:600}.upload-dropzone{border:2px dashed var(--border-color);border-radius:var(--border-radius);padding:var(--spacing-xl);text-align:center;background:#0003;justify-content:center;align-items:center;min-height:200px;transition:all .3s;display:flex}.upload-dropzone.dragging{border-color:var(--primary-color);background:#d4af371a;transform:scale(1.02)}.upload-dropzone.has-file{border-color:var(--success-color,#22c55e);background:#22c55e1a}.dropzone-content{align-items:center;gap:var(--spacing-md);flex-direction:column;display:flex}.dropzone-icon{opacity:.6;font-size:48px}.dropzone-text{color:var(--text-primary);font-size:var(--font-size-md);margin:0}.dropzone-or{color:var(--text-secondary);font-size:var(--font-size-sm);margin:0}.dropzone-button{cursor:pointer}.upload-progress-container{align-items:center;gap:var(--spacing-md);width:100%;padding:var(--spacing-md);flex-direction:column;display:flex}.upload-filename{color:var(--text-primary);font-size:var(--font-size-md);word-break:break-all;margin:0}.upload-progress-bar{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:12px;width:100%;height:24px;overflow:hidden}.upload-progress-fill{background:linear-gradient(90deg, var(--primary-color), var(--secondary-color));justify-content:center;align-items:center;height:100%;transition:width .3s;display:flex}.upload-progress-text{color:var(--text-secondary);font-size:var(--font-size-sm);margin:0;font-weight:600}.upload-success{align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);flex-direction:column;display:flex}.success-icon{color:var(--success-color,#22c55e);font-size:48px}.success-text{color:var(--success-color,#22c55e);font-size:var(--font-size-md);margin:0;font-weight:600}@media (width<=768px){.image-form-modal{max-width:95%}.radio-group{flex-direction:column}.storage-label{align-items:flex-start;gap:var(--spacing-xs);flex-direction:column}.upload-dropzone{padding:var(--spacing-lg);min-height:180px}.dropzone-icon{font-size:36px}}.section-subsection{margin-bottom:var(--spacing-2xl);padding:var(--spacing-lg);border:1px solid var(--border-color-dark);border-radius:var(--border-radius);background:#0000004d}.section-subsection h4{color:var(--primary-color);font-family:Cinzel,serif;font-size:var(--font-size-lg);margin-bottom:var(--spacing-md)}.subsection-header{margin-bottom:var(--spacing-md);justify-content:space-between;align-items:center;display:flex}.editor-card{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--border-radius);margin-bottom:var(--spacing-md);overflow:hidden}.editor-card .card-header{padding:var(--spacing-md);background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;display:flex}.editor-card .card-header h5{font-size:var(--font-size-base);margin:0;font-weight:600}.editor-card .card-content{padding:var(--spacing-md)}.editor-card .card-content p{margin-bottom:var(--spacing-sm)}.editor-card .card-content p:last-child{margin-bottom:0}.editor-card-error{border-color:#dc3545;box-shadow:0 0 0 1px #dc354540}.editor-card-error .card-header{background:#dc354514}.card-error-badge{color:#dc3545;margin-left:var(--spacing-xs);font-size:.85em;font-weight:500}@media (width<=768px){.section-subsection{padding:var(--spacing-md)}}.editor-sidebar .section-tabs{gap:var(--spacing-sm);flex-direction:column;display:flex}.editor-sidebar .section-tab{padding:var(--spacing-md);border-radius:var(--border-radius);border:var(--border-width) solid var(--border-color-dark);cursor:pointer;border-left:var(--border-width-thicker) solid var(--color-gold-dark);background:linear-gradient(135deg,#1a1611cc 0%,#2a241699 100%);transition:all .3s;box-shadow:0 2px 4px #0000004d}.editor-sidebar .section-tab:hover{border-left-color:var(--primary-color);background:linear-gradient(135deg,#2a2416e6 0%,#3a3322b3 100%);transform:translate(2px)}.editor-sidebar .section-tab.active{background:linear-gradient(135deg, var(--secondary-color) 0%, var(--primary-color) 100%);color:var(--bg-secondary);border-color:var(--primary-color);border-left-color:var(--primary-color);font-weight:600;box-shadow:0 4px 12px #d4af3766}.editor-sidebar .adventure-details-tab{background:linear-gradient(135deg, var(--secondary-color) 0%, var(--primary-color) 100%);border:var(--border-width) solid var(--primary-color);border-left:var(--border-width-thicker) solid var(--primary-color);color:var(--bg-secondary);font-weight:600}.editor-sidebar .adventure-details-tab.active{box-shadow:0 4px 12px #d4af3780}.editor-sidebar .adventure-details-tab:hover{color:var(--primary-hover);transform:translate(2px)}.editor-sidebar .section-tab-container{margin-bottom:var(--spacing-sm)}.editor-sidebar .expand-arrow{text-align:center;-webkit-user-select:none;user-select:none;width:16px;font-size:.7em;transition:transform .2s;display:inline-block}.editor-sidebar .expand-arrow.expanded{transform:rotate(90deg)}.editor-sidebar .section-subsections{padding:var(--spacing-sm) var(--spacing-sm) var(--spacing-sm) calc(var(--spacing-lg) + 8px);background:var(--bg-tertiary);border-left:2px solid var(--border-color);margin-left:var(--spacing-md);margin-top:var(--spacing-sm);border-radius:0 0 var(--border-radius) var(--border-radius)}.editor-sidebar .subsection-group{margin-bottom:var(--spacing-sm)}.editor-sidebar .subsection-header{color:var(--text-secondary);margin-bottom:var(--spacing-xs);font-size:.85em;font-weight:600}.editor-sidebar .subsection-item{cursor:pointer;border-radius:var(--border-radius-sm);color:var(--text-primary);margin-bottom:2px;padding:4px 8px;font-size:.85em;transition:background .2s}.editor-sidebar .subsection-item:hover{background:var(--bg-secondary);color:var(--primary-color)}.editor-sidebar .subsection-count{color:var(--text-secondary);margin-bottom:4px;padding:4px 8px;font-size:.85em}.editor-sidebar .waypoint-group{margin-bottom:var(--spacing-md)}.editor-sidebar .waypoint-header{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);border:var(--border-width) solid var(--border-color-dark);border-left:var(--border-width-thicker) solid var(--color-gold-dark);border-radius:var(--border-radius);cursor:pointer;background:linear-gradient(135deg,#2a2416e6 0%,#3a3322b3 100%);transition:all .3s;display:flex;box-shadow:0 2px 4px #0000004d}.editor-sidebar .waypoint-header:hover{border-left-color:var(--primary-color);background:linear-gradient(135deg,#3a3322f2 0%,#4a422cbf 100%);transform:translate(2px)}.editor-sidebar .waypoint-header.active{background:linear-gradient(135deg, var(--secondary-color) 0%, var(--primary-color) 100%);color:var(--bg-secondary);border-color:var(--primary-color);border-left-color:var(--primary-color);font-weight:600;box-shadow:0 4px 12px #d4af3766}.editor-sidebar .waypoint-header.active .waypoint-title{color:var(--bg-secondary)}.editor-sidebar .waypoint-header.active .waypoint-count{color:var(--bg-secondary);background:#0003}.editor-sidebar .waypoint-title{color:var(--primary-color);cursor:pointer;flex:1;font-weight:600;transition:color .2s}.editor-sidebar .waypoint-title:hover{color:var(--secondary-color)}.editor-sidebar .waypoint-count{color:var(--text-secondary);background:var(--bg-tertiary);border-radius:var(--border-radius-sm);padding:2px 8px;font-size:.85em}.editor-sidebar .waypoint-actions{gap:var(--spacing-xs);display:flex}.editor-sidebar .waypoint-sections{padding-left:var(--spacing-lg);padding-top:var(--spacing-sm);border-left:2px solid var(--border-color);margin-left:var(--spacing-md)}.editor-sidebar .waypoint-empty{padding:var(--spacing-md);color:var(--text-secondary);text-align:center;font-style:italic}.editor-sidebar .sections-header{margin-top:var(--spacing-md);margin-bottom:var(--spacing-sm);justify-content:space-between;align-items:center;display:flex}.editor-sidebar .sections-header strong{color:var(--text-secondary);font-size:.9em}.editor-sidebar .btn.waypoint-add-section{width:100%;margin-top:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border:1px dashed var(--border-color);color:var(--text-secondary);background:0 0;transition:all .2s}.editor-sidebar .waypoint-add-section:hover{border-color:var(--primary-color);color:var(--primary-color);background:#d4af371a}.editor-sidebar .editor-empty-state{padding:var(--spacing-lg);text-align:center;color:var(--text-secondary)}.editor-sidebar .editor-empty-state p{margin-bottom:var(--spacing-md)}.editor-sidebar .editor-empty-state button{margin:0 var(--spacing-xs)}.editor-sidebar .hidden-item{opacity:.5;font-style:italic}.modal-medium.working-memory-modal{max-width:700px;max-height:80vh}.memory-toolbar{gap:var(--spacing-md);padding:var(--spacing-md) 0;border-bottom:1px solid var(--border-color);margin-bottom:var(--spacing-md);align-items:center;display:flex}.memory-count-badge{background:var(--bg-tertiary);color:var(--text-secondary);font-size:var(--font-size-sm);border-radius:12px;margin-left:auto;padding:4px 10px;font-weight:500}.memory-alert{margin-bottom:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius);font-size:var(--font-size-sm)}.memory-alert-error{color:var(--color-danger);background:#dc35451a;border:1px solid #dc35454d}.memory-alert-success{color:var(--color-success);background:#28a7451a;border:1px solid #28a7454d}.memory-loading{text-align:center;padding:var(--spacing-xl);color:var(--text-secondary)}.memory-empty{text-align:center;padding:var(--spacing-xl)}.memory-empty p{margin:0 0 var(--spacing-sm) 0;color:var(--text-secondary)}.memory-empty-hint{font-size:var(--font-size-sm);color:var(--text-tertiary)}.memory-list-container{gap:var(--spacing-sm);flex-direction:column;display:flex}.memory-item{transition:all .2s}.memory-item .card-content{width:100%;margin-bottom:0;padding:0}.memory-item:hover{border-color:var(--color-gold)}.memory-item.locked{background:linear-gradient(135deg,#ffc10714 0%,#ffc10708 100%);border-color:#ffc10766}.memory-item-editing{background:var(--bg-tertiary);border:1px solid var(--color-gold);border-radius:var(--border-radius);padding:var(--spacing-md);margin-bottom:var(--spacing-sm)}.memory-item-row{align-items:center;gap:var(--spacing-md);width:100%;display:flex}.memory-lock-btn{cursor:pointer;padding:var(--spacing-xs);color:var(--text-tertiary);background:0 0;border:none;flex-shrink:0;font-size:1.2em;line-height:1;transition:all .2s}.memory-lock-btn:hover{color:var(--text-primary);transform:scale(1.1)}.memory-lock-btn.locked{color:var(--color-warning)}.memory-lock-btn:disabled{opacity:.4;cursor:not-allowed}.memory-item-content-wrapper{flex:1;width:100%;min-width:0}.memory-item-content{width:100%;display:block}.memory-item-content .inline-editor{color:var(--text-primary);font-size:var(--font-size-base);word-break:break-word;width:100%;line-height:1.5;display:block}.memory-item-content .inline-editor.display{width:100%;margin:0;padding:4px 8px}.memory-item-content.inline-editor.editing{width:100%;display:block}.memory-item-content .inline-editor.editing textarea{box-sizing:border-box;width:100%;display:block}textarea.inline-editor-input{resize:none;width:100%}.memory-delete-btn{flex-shrink:0;justify-content:center;align-items:center;min-width:24px;height:24px;padding:0;font-size:1.5em;line-height:1;display:flex}.memory-delete-btn:disabled{opacity:.4;cursor:not-allowed}.btn-icon{cursor:pointer;padding:var(--spacing-xs);color:var(--text-tertiary);border-radius:var(--border-radius);background:0 0;border:none;font-size:1em;transition:all .2s}.btn-icon:hover{background:var(--bg-tertiary);color:var(--text-primary)}.btn-icon.active{color:var(--color-warning)}.btn-icon-danger:hover{color:var(--color-danger);background:#dc35451a}.memory-item-form{gap:var(--spacing-md);flex-direction:column;width:100%;display:flex}.memory-item-input{width:100%;padding:var(--spacing-md);background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--border-radius);color:var(--text-primary);font-size:var(--font-size-base);resize:vertical;min-height:60px;font-family:inherit}.memory-item-input:focus{border-color:var(--color-gold);outline:none}.memory-item-input::placeholder{color:var(--text-tertiary)}.memory-item-form-footer{justify-content:space-between;align-items:center;gap:var(--spacing-md);display:flex}.memory-item-form-meta{align-items:center;gap:var(--spacing-md);display:flex}.memory-lock-toggle{align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;display:flex}.memory-lock-toggle input{cursor:pointer}.memory-word-count{font-size:var(--font-size-xs);color:var(--text-tertiary)}.memory-word-count.over-limit{color:var(--color-warning);font-weight:600}.memory-item-form-actions{gap:var(--spacing-sm);display:flex}.memory-form-error{color:var(--color-danger);font-size:var(--font-size-sm)}.btn-ghost{border:1px solid var(--border-color);color:var(--text-secondary);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius);cursor:pointer;font-size:var(--font-size-sm);background:0 0;transition:all .2s}.btn-ghost:hover{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--text-tertiary)}@media (width<=640px){.working-memory-modal{max-width:95vw;max-height:90vh}.memory-toolbar{flex-direction:column;align-items:stretch}.memory-toolbar .btn{width:100%}.memory-count-badge{align-self:center;margin-left:0}.memory-item-row{gap:var(--spacing-sm)}.memory-item-form-footer{align-items:stretch;gap:var(--spacing-sm);flex-direction:column}.memory-item-form-actions{justify-content:flex-end}}.overview-main{border:2px solid var(--secondary-color);border-radius:var(--border-radius-lg);padding:var(--spacing-2xl);box-shadow:var(--box-shadow);background:linear-gradient(135deg,#1a1611e6 0%,#0f0d0ae6 100%);position:relative}.overview-main:before,.overview-main:after{content:"✦";color:var(--secondary-color);font-size:var(--font-size-2xl);position:absolute}.overview-main:before{top:1rem;left:1rem}.overview-main:after{bottom:1rem;right:1rem}.overview-header{text-align:center;margin-bottom:var(--spacing-2xl);padding-bottom:var(--spacing-lg);border-bottom:2px solid var(--border-color)}.overview-title{color:var(--primary-color);margin:0 0 var(--spacing-sm) 0;text-shadow:2px 2px 4px #00000080;font-family:Cinzel,serif;font-size:2.5rem}.overview-author{font-size:var(--font-size-lg);color:var(--text-secondary);margin:0;font-style:italic}.overview-description{margin-bottom:var(--spacing-xl);padding:var(--spacing-lg);border-radius:var(--border-radius);border-left:4px solid var(--secondary-color);color:var(--text-secondary);line-height:1.8;font-size:var(--font-size-lg);background:#0003}.overview-description p{margin-bottom:1rem}.overview-description p:last-child{margin-bottom:0}.overview-metadata{gap:var(--spacing-md);margin-bottom:var(--spacing-xl);padding:var(--spacing-lg);border-radius:var(--border-radius);background:#0003;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.metadata-item{gap:var(--spacing-xs);flex-direction:column;display:flex}.metadata-label{font-size:var(--font-size-sm);color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.metadata-value{font-size:var(--font-size-md);color:var(--text-secondary)}.overview-section-title{font-family:Cinzel,serif;font-size:var(--font-size-lg);color:var(--primary-color);margin:0 0 var(--spacing-md) 0;text-shadow:1px 1px 2px #00000080}.overview-tags,.overview-warnings{margin-bottom:var(--spacing-xl)}.tags-container,.warnings-container{gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.overview-tag{border:1px solid var(--secondary-color);color:var(--text-secondary);border-radius:var(--border-radius);font-size:var(--font-size-sm);background:linear-gradient(135deg,#d4af3733 0%,#daa52033 100%);padding:.4rem .8rem;transition:all .3s}.overview-warning{color:var(--text-secondary);border-radius:var(--border-radius);font-size:var(--font-size-sm);background:#8b000033;border:1px solid #8b000080;padding:.4rem .8rem}.overview-legal{margin-bottom:var(--spacing-xl);padding:var(--spacing-md);border-radius:var(--border-radius);border:1px solid var(--border-color-dark);background:#0003}.legal-item{align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--text-secondary);display:flex}.legal-item:last-child{margin-bottom:0}.legal-label{color:var(--text-primary);font-weight:600}.legal-value{color:var(--text-secondary)}.legal-notice{color:var(--primary-color)}.attribution-section{margin-top:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:1px solid var(--border-color-dark)}.attribution-text{margin:var(--spacing-xs) 0;padding-left:var(--spacing-md);color:var(--text-secondary);font-size:var(--font-size-sm);font-style:italic}.overview-actions{padding-top:var(--spacing-lg);border-top:2px solid var(--border-color);justify-content:center;display:flex}.btn-large{font-size:var(--font-size-lg);min-width:250px;padding:1rem 3rem;font-weight:600}.overview-sidebar{gap:var(--spacing-lg);flex-direction:column;display:flex}.sidebar-title{font-family:Cinzel,serif;font-size:var(--font-size-lg);color:var(--primary-color);margin:0 0 var(--spacing-md) 0;text-shadow:1px 1px 2px #00000080}.sidebar-sections-nav{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:var(--spacing-md);box-shadow:var(--box-shadow)}.sections-list{gap:var(--spacing-xs);flex-direction:column;display:flex}.section-list-item{align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-sm);border-radius:var(--border-radius-sm);border-left:2px solid var(--border-color-dark);background:#0003;transition:all .3s;display:flex}.section-list-item:hover{border-left-color:var(--secondary-color);background:#0000004d}.section-number{color:var(--primary-color);font-weight:600;font-size:var(--font-size-sm);min-width:1.5rem}.section-list-item .section-title{color:var(--text-secondary);font-size:var(--font-size-sm);line-height:1.4}.sidebar-images{gap:var(--spacing-md);flex-direction:column;display:flex}.overview-image-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:var(--spacing-md);box-shadow:var(--box-shadow)}.overview-image{border-radius:var(--border-radius);cursor:pointer;width:100%;transition:all .3s}.overview-image:hover{box-shadow:0 0 15px #d4af374d}.image-title{color:var(--text-primary);margin:var(--spacing-sm) 0 var(--spacing-xs) 0;font-weight:600}.image-description{font-size:var(--font-size-sm);color:var(--text-secondary);margin:0}@media (width<=1024px){.overview-sidebar{order:-1}.overview-title{font-size:2rem}.overview-metadata{grid-template-columns:1fr}}@media (width<=768px){.overview-main{padding:var(--spacing-lg)}.overview-title{font-size:1.75rem}.btn-large{min-width:200px;padding:.8rem 2rem}}.editor-banner{margin-bottom:var(--spacing-lg)}.editor-layout{gap:var(--spacing-lg);grid-template-columns:1fr 300px;min-height:80vh;display:grid}.editor-main,.editor-sidebar{background:var(--bg-primary);border-radius:var(--border-radius);box-shadow:var(--box-shadow);padding:var(--spacing-lg)}.editor-actions{gap:var(--spacing-sm);display:flex}@keyframes highlight-pulse{0%{border-color:var(--primary-color);box-shadow:0 0 #2563ebb3}50%{border-color:var(--primary-color);box-shadow:0 0 20px 10px #2563eb4d}to{border-color:var(--border-color);box-shadow:0 0 #2563eb00}}.highlight{animation:2s ease-out highlight-pulse}@media (width<=1024px){.editor-layout{gap:var(--spacing-md);grid-template-columns:1fr}.editor-sidebar{order:-1}.editor-actions{flex-direction:column;align-items:stretch}}.expandable-text{margin:.25rem 0}.expand-toggle-btn{color:var(--primary-color);cursor:pointer;background:0 0;border:none;margin-left:.5rem;padding:.25rem .5rem;font-size:.85rem;text-decoration:underline;transition:color .2s}.expand-toggle-btn:hover{color:var(--accent-color)}.expand-toggle-btn:focus{outline:2px solid var(--primary-color);outline-offset:2px}.spell-tooltip{z-index:1000;background:#fff;border:1px solid #ccc;border-radius:4px;max-width:400px;padding:16px;font-size:14px;position:relative;box-shadow:0 4px 12px #00000026}.spell-tooltip.loading,.spell-tooltip.error{color:#666;padding:8px 12px;font-style:italic}.spell-header{border-bottom:1px solid #eee;justify-content:space-between;align-items:center;margin-bottom:8px;padding-bottom:8px;display:flex}.spell-header h4{margin:0;font-size:16px}.spell-tooltip .close-btn{cursor:pointer;color:#666;background:0 0;border:none;padding:0;font-size:24px}.spell-tooltip .close-btn:hover{color:#d32f2f}.spell-meta,.spell-casting{flex-wrap:wrap;gap:12px;margin:8px 0;font-size:13px;display:flex}.spell-meta .badge{background:#e3f2fd;border-radius:12px;padding:2px 8px;font-size:11px}.spell-components,.spell-description,.spell-higher-level{margin:12px 0;line-height:1.6}.spell-higher-level{border-top:1px solid #eee;padding-top:12px;font-style:italic}.spell-list{margin:8px 0}@media print{.spell-list.print-mode{margin:.1cm 0;font-size:9pt}}.defenses-list{margin:4px 0}.defenses-container{display:inline}.defense-segment{display:inline;position:relative}.defense-segment.has-tooltip{cursor:help;text-underline-offset:2px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.defense-segment.has-tooltip:hover{-webkit-text-decoration-color:var(--primary-color);text-decoration-color:var(--primary-color)}.defense-segment.active{font-weight:500}.damage-type-tooltip{background:linear-gradient(135deg, var(--color-bg-brown-dark) 0%, var(--bg-secondary) 100%);border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius);z-index:1002;min-width:250px;max-width:350px;color:var(--text-secondary);padding:12px;font-size:14px;position:relative;box-shadow:0 4px 12px #0006}.damage-type-tooltip.error{color:#d32f2f;padding:8px 12px;font-style:italic}.condition-tooltip{background:linear-gradient(135deg, var(--color-bg-brown-dark) 0%, var(--bg-secondary) 100%);border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius);z-index:1002;min-width:280px;max-width:400px;color:var(--text-secondary);padding:12px;font-size:14px;position:relative;box-shadow:0 4px 12px #0006}.condition-tooltip.error{color:#d32f2f;padding:8px 12px;font-style:italic}.complex-defense-tooltip{background:linear-gradient(135deg, var(--color-bg-brown-dark) 0%, var(--bg-secondary) 100%);border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius);z-index:1002;min-width:300px;max-width:450px;color:var(--text-secondary);padding:12px;font-size:14px;position:relative;box-shadow:0 4px 12px #0000004d}.condition-icon{margin-right:4px;font-size:18px}.journal-textarea{min-height:300px;font-family:var(--font-family);line-height:1.6}.journal-page{max-width:900px;margin:0 auto;padding:2rem 1rem}.journal-header{margin-bottom:2rem}.journal-intro{margin-bottom:1.5rem}.journal-intro h1{color:var(--text-primary);margin-bottom:.5rem;font-size:2rem}.journal-intro p{color:var(--text-secondary);font-size:1rem}.search-section{margin-bottom:1.5rem}.journal-form{margin-bottom:2rem;padding:1.5rem}.journal-form-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}.journal-form-header h2{color:var(--text-primary);margin:0;font-size:1.5rem}.form-actions{border-top:1px solid var(--border-color);justify-content:flex-end;gap:1rem;margin-top:1.5rem;padding-top:1.5rem;display:flex}.journal-entries{flex-direction:column;gap:1.5rem;display:flex}.journal-entry-card{padding:1.5rem;transition:box-shadow .2s}.journal-entry-card:hover{box-shadow:0 4px 12px #00000026}.journal-entry-header{justify-content:space-between;align-items:flex-start;margin-bottom:1rem;display:flex}.journal-entry-header h3{color:var(--text-primary);flex:1;margin:0;font-size:1.25rem}.journal-entry-actions{gap:.5rem;display:flex}.journal-entry-content{color:var(--text-primary);white-space:pre-wrap;margin-bottom:1rem;line-height:1.6}.journal-entry-tags{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.journal-entry-footer{border-top:1px solid var(--border-color);padding-top:1rem}.journal-entry-footer small{color:var(--text-secondary);font-size:.875rem}@media (width<=768px){.journal-page{padding:1rem .5rem}.journal-intro h1{font-size:1.5rem}.journal-form,.journal-entry-card{padding:1rem}.form-actions{flex-direction:column}.form-actions button{width:100%}}
